.login-page[data-v-a34328e7]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);position:relative;overflow:hidden}.mesh-bg[data-v-a34328e7]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mesh-orb[data-v-a34328e7]{position:absolute;border-radius:50%;filter:blur(80px);opacity:.45}[data-theme=dark] .mesh-orb[data-v-a34328e7]{opacity:.25}.mesh-orb--1[data-v-a34328e7]{width:500px;height:500px;background:radial-gradient(circle,var(--color-accent) 0%,transparent 70%);top:-150px;left:-100px;animation:drift1-a34328e7 14s ease-in-out infinite alternate}.mesh-orb--2[data-v-a34328e7]{width:400px;height:400px;background:radial-gradient(circle,#a855f7 0%,transparent 70%);bottom:-100px;right:-80px;animation:drift2-a34328e7 18s ease-in-out infinite alternate}.mesh-orb--3[data-v-a34328e7]{width:300px;height:300px;background:radial-gradient(circle,#06b6d4 0%,transparent 70%);top:50%;left:40%;animation:drift3-a34328e7 10s ease-in-out infinite alternate}@keyframes drift1-a34328e7{0%{transform:translate(0) scale(1)}to{transform:translate(60px,40px) scale(1.1)}}@keyframes drift2-a34328e7{0%{transform:translate(0) scale(1)}to{transform:translate(-40px,-60px) scale(1.15)}}@keyframes drift3-a34328e7{0%{transform:translate(0) scale(1)}to{transform:translate(30px,-50px) scale(.9)}}.grid-overlay[data-v-a34328e7]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(var(--color-border-light) 1px,transparent 1px),linear-gradient(90deg,var(--color-border-light) 1px,transparent 1px);background-size:48px 48px;opacity:.5;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 30%,transparent 100%);mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 30%,transparent 100%)}.login-container[data-v-a34328e7]{display:flex;width:820px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;position:relative;z-index:1;box-shadow:var(--shadow-lg);animation:panelEnter-a34328e7 .5s cubic-bezier(.22,1,.36,1) both}@keyframes panelEnter-a34328e7{0%{opacity:0;transform:scale(.97) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}.brand-col[data-v-a34328e7]{width:340px;flex-shrink:0;background:var(--color-accent);padding:48px 40px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.brand-col[data-v-a34328e7]:after{content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;background:#ffffff12;border-radius:50%}.brand-col[data-v-a34328e7]:before{content:"";position:absolute;left:-40px;bottom:-80px;width:280px;height:280px;background:#00000014;border-radius:50%}.brand-lockup[data-v-a34328e7]{position:relative;z-index:1}.brand-icon[data-v-a34328e7]{width:54px;height:54px;background:#ffffff26;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:24px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2)}.brand-name[data-v-a34328e7]{font-family:var(--font-heading);font-size:48px;font-weight:800;color:#fff;letter-spacing:-2px;line-height:1;margin-bottom:8px}.brand-tagline[data-v-a34328e7]{font-size:12px;font-weight:500;color:#ffffffa6;letter-spacing:2px;text-transform:uppercase}.brand-footer[data-v-a34328e7]{position:relative;z-index:1}.version-tag[data-v-a34328e7]{font-size:11px;font-weight:600;color:#fff6;letter-spacing:1.5px;text-transform:uppercase}.form-col[data-v-a34328e7]{flex:1;padding:48px 40px;display:flex;align-items:center}.form-inner[data-v-a34328e7]{width:100%;max-width:320px}.form-header[data-v-a34328e7]{margin-bottom:36px}.form-title[data-v-a34328e7]{font-family:var(--font-heading);font-size:26px;font-weight:700;color:var(--color-text);letter-spacing:-.5px;margin-bottom:4px}.form-subtitle[data-v-a34328e7]{font-size:14px;color:var(--color-text-tertiary)}.field[data-v-a34328e7]{margin-bottom:28px;position:relative}.field label[data-v-a34328e7]{display:block;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:8px;transition:color var(--transition-fast)}.field--focused label[data-v-a34328e7],.field--filled label[data-v-a34328e7]{color:var(--color-accent-text)}.field input[data-v-a34328e7]{width:100%;border:none;border-bottom:1.5px solid var(--color-border);background:none;padding:8px 0;font-family:var(--font-body);font-size:15px;color:var(--color-text);outline:none;transition:border-color var(--transition-fast)}.field input[data-v-a34328e7]::placeholder{color:var(--color-text-tertiary);font-size:14px}.field-line[data-v-a34328e7]{position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--color-accent);transition:width var(--transition-base);border-radius:1px}.field--focused .field-line[data-v-a34328e7]{width:100%}.error-msg[data-v-a34328e7]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-danger);margin:-12px 0 20px}.login-btn[data-v-a34328e7]{width:100%;height:48px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-family:var(--font-heading);font-size:15px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:all var(--transition-fast);margin-top:8px;position:relative;overflow:hidden}.login-btn[data-v-a34328e7]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff0;transition:background var(--transition-fast)}.login-btn[data-v-a34328e7]:hover:not(:disabled):after{background:#ffffff14}.login-btn[data-v-a34328e7]:active:not(:disabled){transform:scale(.99)}.login-btn[data-v-a34328e7]:disabled{opacity:.6;cursor:not-allowed}.btn-loading[data-v-a34328e7]{display:flex;align-items:center;justify-content:center;gap:5px}.dot[data-v-a34328e7]{width:6px;height:6px;background:#fff;border-radius:50%;animation:dotBounce-a34328e7 .9s ease-in-out infinite}.dot[data-v-a34328e7]:nth-child(2){animation-delay:.15s}.dot[data-v-a34328e7]:nth-child(3){animation-delay:.3s}@keyframes dotBounce-a34328e7{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(-5px);opacity:1}}.user-avatar[data-v-b2f49ed3]{border-radius:50%;overflow:hidden;background:var(--color-accent-subtle);color:var(--color-accent-text);flex-shrink:0;display:flex;align-items:center;justify-content:center}.avatar-img[data-v-b2f49ed3]{width:100%;height:100%;object-fit:cover;display:block}.avatar-default[data-v-b2f49ed3]{width:60%;height:60%}.admin-layout[data-v-82db7c9c]{min-height:100vh;display:flex}.sidebar[data-v-82db7c9c]{width:var(--sidebar-width);background:var(--color-surface-sidebar);border-right:1px solid var(--color-border-light);display:flex;flex-direction:column;align-items:center;flex-shrink:0;position:fixed;top:0;left:0;bottom:0;z-index:20;padding:12px 0}.sidebar-logo[data-v-82db7c9c]{margin-bottom:20px;padding:4px 0 12px;border-bottom:1px solid var(--color-border-light);width:100%;display:flex;justify-content:center}.logo-mark[data-v-82db7c9c]{width:36px;height:36px;background:var(--color-accent);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;transition:transform var(--transition-fast)}.logo-mark[data-v-82db7c9c]:hover{transform:scale(1.05)}.sidebar-nav[data-v-82db7c9c]{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;padding:0 10px}.sidebar-bottom[data-v-82db7c9c]{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;padding:12px 10px 0;border-top:1px solid var(--color-border-light)}.nav-item-wrap[data-v-82db7c9c]{position:relative;width:100%}.nav-item[data-v-82db7c9c]{display:flex;align-items:center;justify-content:center;width:100%;height:40px;border-radius:var(--radius-md);color:var(--color-text-sidebar);transition:all var(--transition-fast);position:relative}.nav-item--btn[data-v-82db7c9c]{border:none;background:none;cursor:pointer;font-size:inherit}.nav-item[data-v-82db7c9c]:hover{color:var(--color-text-sidebar-active);background:var(--color-surface-hover)}.nav-item--active[data-v-82db7c9c]{color:var(--color-accent-text);background:var(--color-accent-subtle)}.nav-item--active[data-v-82db7c9c]:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--color-accent);border-radius:0 2px 2px 0}.nav-icon[data-v-82db7c9c]{width:18px;height:18px;flex-shrink:0}.nav-tooltip[data-v-82db7c9c]{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%) translate(-4px);background:var(--color-text);color:var(--color-text-inverse);font-family:var(--font-body);font-size:12px;font-weight:500;white-space:nowrap;padding:5px 10px;border-radius:var(--radius-sm);opacity:0;pointer-events:none;transition:opacity var(--transition-fast),transform var(--transition-fast);z-index:100}.nav-tooltip[data-v-82db7c9c]:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:var(--color-text)}.nav-item-wrap:hover .nav-tooltip[data-v-82db7c9c]{opacity:1;transform:translateY(-50%) translate(0)}.nav-avatar-link[data-v-82db7c9c]{border-radius:50%;padding:4px}.nav-avatar-link.nav-item--active[data-v-82db7c9c]{background:var(--color-accent-subtle)}.nav-avatar-link.nav-item--active[data-v-82db7c9c]:before{display:none}.main-area[data-v-82db7c9c]{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh}.content[data-v-82db7c9c]{flex:1;background:var(--color-bg)}.page-enter-active[data-v-82db7c9c],.page-leave-active[data-v-82db7c9c]{transition:opacity .18s ease,transform .18s ease}.page-enter-from[data-v-82db7c9c]{opacity:0;transform:translateY(6px)}.page-leave-to[data-v-82db7c9c]{opacity:0;transform:translateY(-6px)}.dashboard[data-v-6695b829]{min-height:calc(100vh + -0px);display:flex;align-items:center;justify-content:center;padding:40px 32px;background:var(--color-bg)}.dash-inner[data-v-6695b829]{width:100%;max-width:640px;animation:fadeUp-6695b829 .4s cubic-bezier(.22,1,.36,1) both}@keyframes fadeUp-6695b829{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dash-hero[data-v-6695b829]{margin-bottom:40px}.time-chip[data-v-6695b829]{display:inline-flex;align-items:center;font-family:var(--font-heading);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--color-accent-text);background:var(--color-accent-subtle);padding:4px 12px;border-radius:100px;margin-bottom:16px}.greeting[data-v-6695b829]{font-family:var(--font-heading);font-size:52px;font-weight:800;color:var(--color-text);letter-spacing:-2px;line-height:1;margin-bottom:10px}.date-line[data-v-6695b829]{font-size:14px;color:var(--color-text-tertiary);font-weight:400}.stat-strip[data-v-6695b829]{display:flex;gap:10px;margin-bottom:28px;flex-wrap:wrap}.stat-card[data-v-6695b829]{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);flex:1;min-width:140px;position:relative;transition:all var(--transition-fast)}.stat-card[data-v-6695b829]:hover{border-color:var(--color-border);transform:translateY(-1px)}.stat-card--accent[data-v-6695b829]{border-color:var(--color-accent-subtle);background:var(--color-accent-subtle)}.stat-icon[data-v-6695b829]{color:var(--color-accent-text);display:flex;flex-shrink:0}.stat-content[data-v-6695b829]{display:flex;flex-direction:column;gap:1px}.stat-label[data-v-6695b829]{font-size:10px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--color-text-tertiary)}.stat-value[data-v-6695b829]{font-size:13px;font-weight:600;color:var(--color-text)}.stat-dot[data-v-6695b829]{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:7px;height:7px;background:var(--color-success);border-radius:50%}.stat-dot--pulse[data-v-6695b829]{animation:pulse-6695b829 2s ease-in-out infinite}@keyframes pulse-6695b829{0%,to{box-shadow:0 0 #05966966}50%{box-shadow:0 0 0 6px #05966900}}.module-grid[data-v-6695b829]{display:flex;flex-direction:column;gap:8px}.module-card[data-v-6695b829]{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);transition:all var(--transition-fast);cursor:pointer;animation:cardIn-6695b829 .4s cubic-bezier(.22,1,.36,1) both}.module-card[data-v-6695b829]:nth-child(1){animation-delay:.08s}.module-card[data-v-6695b829]:nth-child(2){animation-delay:.14s}.module-card[data-v-6695b829]:nth-child(3){animation-delay:.2s}@keyframes cardIn-6695b829{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.module-card[data-v-6695b829]:hover{border-color:var(--color-accent);transform:translate(4px);box-shadow:var(--shadow-sm)}.module-icon-wrap[data-v-6695b829]{width:44px;height:44px;background:var(--color-accent-subtle);color:var(--color-accent-text);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--transition-fast)}.module-card:hover .module-icon-wrap[data-v-6695b829]{background:var(--color-accent);color:#fff}.module-text[data-v-6695b829]{flex:1}.module-text h3[data-v-6695b829]{font-family:var(--font-heading);font-size:15px;font-weight:700;color:var(--color-text);margin-bottom:1px;letter-spacing:-.3px}.module-text p[data-v-6695b829]{font-size:12px;color:var(--color-text-tertiary)}.module-arrow[data-v-6695b829]{color:var(--color-text-tertiary);transition:all var(--transition-fast)}.module-card:hover .module-arrow[data-v-6695b829]{color:var(--color-accent-text);transform:translate(2px)}.todo-sidebar[data-v-3c83ed2d]{width:230px;background:var(--color-surface);border-right:1px solid var(--color-border-light);overflow-y:auto;padding:20px 0;flex-shrink:0}.section[data-v-3c83ed2d]{margin-bottom:24px}.section-head[data-v-3c83ed2d]{display:flex;align-items:center;justify-content:space-between;padding:0 16px 0 20px;margin-bottom:6px}.section-label[data-v-3c83ed2d]{font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.8px;margin:0 0 6px;padding:0 20px}.section-head .section-label[data-v-3c83ed2d]{padding:0;margin:0}.section-btn[data-v-3c83ed2d]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.section-btn[data-v-3c83ed2d]:hover{background:var(--color-surface-hover);color:var(--color-accent-text)}.filter-group[data-v-3c83ed2d]{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px}.filter-chip[data-v-3c83ed2d]{display:flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--color-border);border-radius:20px;background:none;font-family:var(--font-body);font-size:12px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.filter-chip[data-v-3c83ed2d]:hover{border-color:var(--color-text-tertiary)}.filter-chip.active[data-v-3c83ed2d]{background:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent-text)}.chip-dot[data-v-3c83ed2d]{width:7px;height:7px;border-radius:50%;flex-shrink:0}.tree-list[data-v-3c83ed2d]{display:flex;flex-direction:column;gap:1px}.tree-item[data-v-3c83ed2d]{display:flex;align-items:center;gap:8px;width:100%;padding:7px 20px;border:none;background:none;font-family:var(--font-body);font-size:13px;color:var(--color-text-secondary);cursor:pointer;text-align:left;transition:all var(--transition-fast)}.tree-item[data-v-3c83ed2d]:hover{background:var(--color-surface-hover);color:var(--color-text)}.tree-item.active[data-v-3c83ed2d]{background:var(--color-accent-subtle);color:var(--color-accent-text)}.tree-item--nested[data-v-3c83ed2d]{padding-left:36px}.todo-list[data-v-ea66a36c]{flex:1;min-width:340px;background:var(--color-surface);border-right:1px solid var(--color-border-light);display:flex;flex-direction:column;overflow:hidden}.list-header[data-v-ea66a36c]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border-light);flex-shrink:0}.header-info[data-v-ea66a36c]{display:flex;align-items:center;gap:10px}.list-title[data-v-ea66a36c]{font-family:var(--font-heading);font-size:16px;font-weight:600;color:var(--color-text);margin:0}.list-count[data-v-ea66a36c]{font-size:12px;font-weight:500;color:var(--color-text-tertiary);background:var(--color-surface-hover);padding:2px 8px;border-radius:10px}.btn-create[data-v-ea66a36c]{display:flex;align-items:center;gap:6px;padding:7px 14px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-create[data-v-ea66a36c]:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.list-body[data-v-ea66a36c]{flex:1;overflow-y:auto}.list-empty[data-v-ea66a36c]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--color-text-tertiary);gap:12px}.list-empty p[data-v-ea66a36c]{font-size:14px}.item-row[data-v-ea66a36c]{display:flex;align-items:flex-start;gap:12px;padding:14px 20px;border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:background var(--transition-fast)}.item-row[data-v-ea66a36c]:hover{background:var(--color-surface-hover)}.item-row--active[data-v-ea66a36c]{background:var(--color-accent-subtle)}.check-btn[data-v-ea66a36c]{padding:2px 0 0;border:none;background:none;cursor:pointer;flex-shrink:0}.check-circle[data-v-ea66a36c]{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:2px solid var(--color-border);transition:all var(--transition-fast)}.check-circle[data-v-ea66a36c]:hover{border-color:var(--color-accent)}.check-circle--done[data-v-ea66a36c]{background:var(--color-status-completed);border-color:var(--color-status-completed)}.check-circle--paused[data-v-ea66a36c]{border-color:var(--color-status-paused);border-style:dashed}.item-content[data-v-ea66a36c]{flex:1;min-width:0}.item-title[data-v-ea66a36c]{font-size:14px;color:var(--color-text);margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.item-title--done[data-v-ea66a36c]{text-decoration:line-through;color:var(--color-text-tertiary)}.item-badges[data-v-ea66a36c]{display:flex;flex-wrap:wrap;gap:5px}.badge[data-v-ea66a36c]{font-size:11px;font-weight:500;padding:1px 7px;border-radius:4px;line-height:1.6}.badge--priority[data-v-ea66a36c]{background:var(--color-surface-hover);color:var(--color-text-tertiary)}.badge--priority.priority-4[data-v-ea66a36c],.badge--priority.priority-5[data-v-ea66a36c]{background:#d977061a;color:var(--color-warning)}.badge--importance[data-v-ea66a36c]{background:var(--color-surface-hover);color:var(--color-text-tertiary)}.badge--due[data-v-ea66a36c]{color:var(--color-text-tertiary)}.badge--due.overdue[data-v-ea66a36c]{color:var(--color-danger)}.badge--tag[data-v-ea66a36c]{background:color-mix(in srgb,var(--tag-color) 12%,transparent);color:var(--tag-color)}.todo-detail[data-v-4584b3c1]{width:360px;background:var(--color-surface);overflow-y:auto;flex-shrink:0}.todo-detail--empty[data-v-4584b3c1]{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-tertiary);gap:12px;font-size:14px}.detail-header[data-v-4584b3c1]{display:flex;align-items:flex-start;justify-content:space-between;padding:20px;border-bottom:1px solid var(--color-border-light);gap:12px}.detail-title[data-v-4584b3c1]{font-family:var(--font-heading);font-size:17px;font-weight:600;color:var(--color-text);margin:0;flex:1;word-break:break-word;line-height:1.4}.detail-actions[data-v-4584b3c1]{display:flex;gap:6px;flex-shrink:0}.act-btn[data-v-4584b3c1]{display:flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid var(--color-border);background:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:12px;cursor:pointer;transition:all var(--transition-fast)}.act-btn--edit[data-v-4584b3c1]{color:var(--color-accent-text)}.act-btn--edit[data-v-4584b3c1]:hover{border-color:var(--color-accent);background:var(--color-accent-subtle)}.act-btn--danger[data-v-4584b3c1]{color:var(--color-danger)}.act-btn--danger[data-v-4584b3c1]:hover{border-color:var(--color-danger);background:#dc26260f}.detail-body[data-v-4584b3c1]{padding:20px}.prop[data-v-4584b3c1]{display:flex;align-items:center;margin-bottom:16px;font-size:13px}.prop-label[data-v-4584b3c1]{width:80px;color:var(--color-text-tertiary);font-weight:500;flex-shrink:0}.prop-value[data-v-4584b3c1]{color:var(--color-text)}.prop-value.overdue[data-v-4584b3c1]{color:var(--color-danger)}.prop-select[data-v-4584b3c1]{padding:5px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-family:var(--font-body);font-size:13px;outline:none;transition:border-color var(--transition-fast)}.prop-select[data-v-4584b3c1]:focus{border-color:var(--color-accent)}.level-dots[data-v-4584b3c1]{display:flex;align-items:center;gap:4px}.dot[data-v-4584b3c1]{width:8px;height:8px;border-radius:50%;background:var(--color-border);transition:background var(--transition-fast)}.dot.filled[data-v-4584b3c1]{background:var(--color-accent)}.level-num[data-v-4584b3c1]{margin-left:6px;font-size:12px;color:var(--color-text-tertiary)}.detail-tags[data-v-4584b3c1]{display:flex;flex-wrap:wrap;gap:6px}.detail-tag[data-v-4584b3c1]{padding:3px 10px;border-radius:4px;font-size:12px;font-weight:500;background:color-mix(in srgb,var(--tag-color) 12%,transparent);color:var(--tag-color)}.desc-section[data-v-4584b3c1]{margin-top:20px;padding-top:16px;border-top:1px solid var(--color-border-light)}.desc-block[data-v-4584b3c1]{margin-top:8px;font-size:13px;color:var(--color-text-secondary);line-height:1.7;white-space:pre-wrap;background:var(--color-bg);padding:12px 16px;border-radius:var(--radius-md)}.overlay[data-v-3aa6e7d9]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn-3aa6e7d9 .15s ease}@keyframes fadeIn-3aa6e7d9{0%{opacity:0}to{opacity:1}}.modal[data-v-3aa6e7d9]{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);width:540px;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-overlay);animation:slideUp-3aa6e7d9 .2s ease}@keyframes slideUp-3aa6e7d9{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-head[data-v-3aa6e7d9]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.modal-head h3[data-v-3aa6e7d9]{font-family:var(--font-heading);font-size:18px;font-weight:600;color:var(--color-text);margin:0}.close-btn[data-v-3aa6e7d9]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.close-btn[data-v-3aa6e7d9]:hover{background:var(--color-surface-hover);color:var(--color-text)}.modal-body[data-v-3aa6e7d9]{padding:20px 24px 24px}.field[data-v-3aa6e7d9]{margin-bottom:16px}.field label[data-v-3aa6e7d9]{display:block;font-size:13px;font-weight:500;color:var(--color-text-secondary);margin-bottom:5px}.req[data-v-3aa6e7d9]{color:var(--color-danger)}.field input[data-v-3aa6e7d9],.field textarea[data-v-3aa6e7d9],.field select[data-v-3aa6e7d9]{width:100%;padding:9px 12px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;color:var(--color-text);background:var(--color-surface);outline:none;box-sizing:border-box;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.field input[data-v-3aa6e7d9]::placeholder,.field textarea[data-v-3aa6e7d9]::placeholder{color:var(--color-text-tertiary)}.field input[data-v-3aa6e7d9]:focus,.field textarea[data-v-3aa6e7d9]:focus,.field select[data-v-3aa6e7d9]:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.field-row[data-v-3aa6e7d9]{display:flex;gap:16px}.field-row .field[data-v-3aa6e7d9]{flex:1}.tag-picker[data-v-3aa6e7d9]{display:flex;flex-wrap:wrap;gap:8px}.tag-chip[data-v-3aa6e7d9]{display:flex;align-items:center;gap:6px;padding:5px 12px;border:1.5px solid var(--color-border);border-radius:20px;font-size:12px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.tag-chip.selected[data-v-3aa6e7d9]{border-color:var(--chip-color);background:color-mix(in srgb,var(--chip-color) 10%,transparent);color:var(--chip-color)}.chip-dot[data-v-3aa6e7d9]{width:7px;height:7px;border-radius:50%}.modal-foot[data-v-3aa6e7d9]{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:16px;border-top:1px solid var(--color-border-light)}.btn-secondary[data-v-3aa6e7d9]{padding:8px 18px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;cursor:pointer;transition:all var(--transition-fast)}.btn-secondary[data-v-3aa6e7d9]:hover{background:var(--color-surface-hover)}.btn-primary[data-v-3aa6e7d9]{padding:8px 20px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-primary[data-v-3aa6e7d9]:hover{background:var(--color-accent-hover)}.overlay[data-v-4046f033]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn-4046f033 .15s ease}@keyframes fadeIn-4046f033{0%{opacity:0}to{opacity:1}}.modal[data-v-4046f033]{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);width:480px;max-height:70vh;overflow-y:auto;box-shadow:var(--shadow-overlay);animation:slideUp-4046f033 .2s ease}@keyframes slideUp-4046f033{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-head[data-v-4046f033]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border-light)}.modal-head h3[data-v-4046f033]{font-family:var(--font-heading);font-size:17px;font-weight:600;color:var(--color-text);margin:0}.close-btn[data-v-4046f033]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.close-btn[data-v-4046f033]:hover{background:var(--color-surface-hover);color:var(--color-text)}.modal-body[data-v-4046f033]{padding:20px 24px 24px}.add-row[data-v-4046f033]{display:flex;gap:8px;margin-bottom:20px}.add-row input[data-v-4046f033],.add-row select[data-v-4046f033]{flex:1;padding:8px 12px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;color:var(--color-text);background:var(--color-surface);outline:none}.add-row input[data-v-4046f033]:focus,.add-row select[data-v-4046f033]:focus{border-color:var(--color-accent)}.btn-primary-sm[data-v-4046f033]{padding:8px 16px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;flex-shrink:0;transition:background var(--transition-fast)}.btn-primary-sm[data-v-4046f033]:hover{background:var(--color-accent-hover)}.cat-list[data-v-4046f033]{border:1px solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden}.cat-row[data-v-4046f033]{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--color-border-light);transition:background var(--transition-fast)}.cat-row[data-v-4046f033]:last-child{border-bottom:none}.cat-row[data-v-4046f033]:hover{background:var(--color-surface-hover)}.cat-row--child[data-v-4046f033]{padding-left:36px}.cat-name[data-v-4046f033]{font-size:13px;color:var(--color-text)}.inline-edit[data-v-4046f033]{padding:4px 10px;border:1.5px solid var(--color-accent);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;color:var(--color-text);background:var(--color-surface);outline:none;width:160px}.row-actions[data-v-4046f033]{display:flex;gap:8px}.link-btn[data-v-4046f033]{border:none;background:none;font-family:var(--font-body);font-size:12px;color:var(--color-accent-text);cursor:pointer;transition:opacity var(--transition-fast)}.link-btn[data-v-4046f033]:hover{opacity:.75}.link-btn--danger[data-v-4046f033]{color:var(--color-danger)}.empty[data-v-4046f033]{padding:24px;text-align:center;color:var(--color-text-tertiary);font-size:13px}.overlay[data-v-2817cf2e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn-2817cf2e .15s ease}@keyframes fadeIn-2817cf2e{0%{opacity:0}to{opacity:1}}.modal[data-v-2817cf2e]{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);width:440px;max-height:70vh;overflow-y:auto;box-shadow:var(--shadow-overlay);animation:slideUp-2817cf2e .2s ease}@keyframes slideUp-2817cf2e{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-head[data-v-2817cf2e]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border-light)}.modal-head h3[data-v-2817cf2e]{font-family:var(--font-heading);font-size:17px;font-weight:600;color:var(--color-text);margin:0}.close-btn[data-v-2817cf2e]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.close-btn[data-v-2817cf2e]:hover{background:var(--color-surface-hover);color:var(--color-text)}.modal-body[data-v-2817cf2e]{padding:20px 24px 24px}.add-row[data-v-2817cf2e]{display:flex;gap:8px;margin-bottom:20px}.add-row input[data-v-2817cf2e]{flex:1;padding:8px 12px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;color:var(--color-text);background:var(--color-surface);outline:none}.add-row input[data-v-2817cf2e]:focus{border-color:var(--color-accent)}.color-picker[data-v-2817cf2e]{width:38px!important;height:38px;flex:none!important;padding:3px!important;border:1.5px solid var(--color-border)!important;border-radius:var(--radius-sm)!important;cursor:pointer;background:var(--color-surface)!important}.btn-primary-sm[data-v-2817cf2e]{padding:8px 16px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;flex-shrink:0;transition:background var(--transition-fast)}.btn-primary-sm[data-v-2817cf2e]:hover{background:var(--color-accent-hover)}.tag-list[data-v-2817cf2e]{border:1px solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden}.tag-row[data-v-2817cf2e]{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--color-border-light);transition:background var(--transition-fast)}.tag-row[data-v-2817cf2e]:last-child{border-bottom:none}.tag-row[data-v-2817cf2e]:hover{background:var(--color-surface-hover)}.tag-dot[data-v-2817cf2e]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.tag-name[data-v-2817cf2e]{flex:1;font-size:13px;color:var(--color-text)}.inline-edit[data-v-2817cf2e]{flex:1;padding:4px 10px;border:1.5px solid var(--color-accent);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;color:var(--color-text);background:var(--color-surface);outline:none}.row-actions[data-v-2817cf2e]{display:flex;gap:8px;margin-left:auto}.link-btn[data-v-2817cf2e]{border:none;background:none;font-family:var(--font-body);font-size:12px;color:var(--color-accent-text);cursor:pointer;transition:opacity var(--transition-fast)}.link-btn[data-v-2817cf2e]:hover{opacity:.75}.link-btn--danger[data-v-2817cf2e]{color:var(--color-danger)}.empty[data-v-2817cf2e]{padding:24px;text-align:center;color:var(--color-text-tertiary);font-size:13px}.todo-page[data-v-45fb06bd]{display:flex;height:100vh}.news-list[data-v-396daf57]{width:420px;min-width:360px;background:var(--color-surface);border-right:1px solid var(--color-border-light);display:flex;flex-direction:column;overflow:hidden}.list-header[data-v-396daf57]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border-light);flex-shrink:0}.header-info[data-v-396daf57]{display:flex;align-items:center;gap:10px}.list-title[data-v-396daf57]{font-family:var(--font-heading);font-size:16px;font-weight:600;color:var(--color-text);margin:0}.list-count[data-v-396daf57]{font-size:12px;font-weight:500;color:var(--color-text-tertiary);background:var(--color-surface-hover);padding:2px 8px;border-radius:10px}.header-actions[data-v-396daf57]{display:flex;align-items:center;gap:6px}.btn-icon[data-v-396daf57]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:var(--color-surface-hover);color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-icon[data-v-396daf57]:hover{background:var(--color-surface-active);color:var(--color-text)}.btn-create[data-v-396daf57]{display:flex;align-items:center;gap:6px;padding:7px 14px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-create[data-v-396daf57]:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.filter-bar[data-v-396daf57]{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid var(--color-border-light);flex-shrink:0}.search-input[data-v-396daf57]{flex:1;padding:7px 12px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;color:var(--color-text);background:var(--color-surface);outline:none}.search-input[data-v-396daf57]:focus{border-color:var(--color-accent)}.filter-select[data-v-396daf57]{padding:7px 10px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:12px;color:var(--color-text-secondary);background:var(--color-surface);outline:none;max-width:110px}.filter-select[data-v-396daf57]:focus{border-color:var(--color-accent)}.list-body[data-v-396daf57]{flex:1;overflow-y:auto}.list-empty[data-v-396daf57]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--color-text-tertiary);gap:12px}.list-empty p[data-v-396daf57]{font-size:14px}.article-row[data-v-396daf57]{padding:14px 20px;border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:background var(--transition-fast)}.article-row[data-v-396daf57]:hover{background:var(--color-surface-hover)}.article-row--active[data-v-396daf57]{background:var(--color-accent-subtle)}.article-title[data-v-396daf57]{font-size:14px;font-weight:500;color:var(--color-text);margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.article-meta[data-v-396daf57]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.meta-tag[data-v-396daf57]{font-size:11px;font-weight:500;padding:1px 7px;border-radius:4px;background:var(--color-accent-subtle);color:var(--color-accent-text)}.meta-source[data-v-396daf57]{font-size:11px;color:var(--color-info)}.meta-author[data-v-396daf57],.meta-date[data-v-396daf57]{font-size:11px;color:var(--color-text-tertiary)}.article-summary[data-v-396daf57]{font-size:12px;color:var(--color-text-secondary);line-height:1.5;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pagination[data-v-396daf57]{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;border-top:1px solid var(--color-border-light);flex-shrink:0}.page-btn[data-v-396daf57]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:14px;cursor:pointer;transition:all var(--transition-fast)}.page-btn[data-v-396daf57]:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent-text)}.page-btn[data-v-396daf57]:disabled{opacity:.4;cursor:not-allowed}.page-info[data-v-396daf57]{font-size:12px;color:var(--color-text-tertiary)}.news-detail[data-v-dd9efe5e]{flex:1;min-width:0;background:var(--color-surface);display:flex;flex-direction:column;overflow:hidden}.detail-empty[data-v-dd9efe5e]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-tertiary);gap:16px}.detail-empty p[data-v-dd9efe5e]{font-size:14px}.detail-header[data-v-dd9efe5e]{display:flex;align-items:center;justify-content:flex-end;padding:12px 24px;border-bottom:1px solid var(--color-border-light);flex-shrink:0}.detail-actions[data-v-dd9efe5e]{display:flex;gap:8px}.action-btn[data-v-dd9efe5e]{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:12px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.action-btn[data-v-dd9efe5e]:hover{border-color:var(--color-accent);color:var(--color-accent-text)}.action-btn--danger[data-v-dd9efe5e]:hover{border-color:var(--color-danger);color:var(--color-danger)}.detail-body[data-v-dd9efe5e]{flex:1;overflow-y:auto;padding:28px 32px}.article-title[data-v-dd9efe5e]{font-family:var(--font-heading);font-size:24px;font-weight:700;color:var(--color-text);line-height:1.3;margin:0 0 16px}.article-info[data-v-dd9efe5e]{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--color-border-light)}.info-badge[data-v-dd9efe5e]{font-size:12px;font-weight:500;padding:2px 10px;border-radius:4px}.info-badge--category[data-v-dd9efe5e]{background:var(--color-accent-subtle);color:var(--color-accent-text)}.info-item[data-v-dd9efe5e]{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--color-text-secondary)}.info-item svg[data-v-dd9efe5e]{opacity:.5}.info-link[data-v-dd9efe5e]{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--color-accent-text);transition:opacity var(--transition-fast)}.info-link[data-v-dd9efe5e]:hover{opacity:.75}.article-summary[data-v-dd9efe5e]{font-size:14px;color:var(--color-text-secondary);line-height:1.7;padding:14px 16px;background:var(--color-surface-hover);border-radius:var(--radius-md);margin-bottom:24px;border-left:3px solid var(--color-accent);white-space:pre-wrap}.markdown-body[data-v-dd9efe5e]{font-size:15px;line-height:1.8;color:var(--color-text)}.markdown-body[data-v-dd9efe5e] h1,.markdown-body[data-v-dd9efe5e] h2,.markdown-body[data-v-dd9efe5e] h3,.markdown-body[data-v-dd9efe5e] h4{font-family:var(--font-heading);font-weight:600;color:var(--color-text);margin:24px 0 12px;line-height:1.3}.markdown-body[data-v-dd9efe5e] h1{font-size:22px}.markdown-body[data-v-dd9efe5e] h2{font-size:19px}.markdown-body[data-v-dd9efe5e] h3{font-size:16px}.markdown-body[data-v-dd9efe5e] p{margin:0 0 14px}.markdown-body[data-v-dd9efe5e] a{color:var(--color-accent-text);text-decoration:underline;text-underline-offset:2px}.markdown-body[data-v-dd9efe5e] code{font-size:13px;padding:2px 6px;background:var(--color-surface-hover);border-radius:4px}.markdown-body[data-v-dd9efe5e] pre{background:var(--color-surface-hover);padding:16px;border-radius:var(--radius-md);overflow-x:auto;margin:0 0 14px}.markdown-body[data-v-dd9efe5e] pre code{padding:0;background:none}.markdown-body[data-v-dd9efe5e] blockquote{margin:0 0 14px;padding:12px 16px;border-left:3px solid var(--color-border);color:var(--color-text-secondary)}.markdown-body[data-v-dd9efe5e] ul,.markdown-body[data-v-dd9efe5e] ol{margin:0 0 14px;padding-left:24px}.markdown-body[data-v-dd9efe5e] li{margin-bottom:4px}.markdown-body[data-v-dd9efe5e] img{max-width:100%;border-radius:var(--radius-md)}.markdown-body[data-v-dd9efe5e] table{width:100%;border-collapse:collapse;margin:0 0 14px}.markdown-body[data-v-dd9efe5e] th,.markdown-body[data-v-dd9efe5e] td{padding:8px 12px;border:1px solid var(--color-border);text-align:left}.markdown-body[data-v-dd9efe5e] th{background:var(--color-surface-hover);font-weight:600}.markdown-body[data-v-dd9efe5e] hr{border:none;border-top:1px solid var(--color-border-light);margin:24px 0}.overlay[data-v-cf7787ef]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn-cf7787ef .15s ease}@keyframes fadeIn-cf7787ef{0%{opacity:0}to{opacity:1}}.modal[data-v-cf7787ef]{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);width:680px;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-overlay);animation:slideUp-cf7787ef .2s ease}@keyframes slideUp-cf7787ef{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-head[data-v-cf7787ef]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border-light);flex-shrink:0}.modal-head h3[data-v-cf7787ef]{font-family:var(--font-heading);font-size:17px;font-weight:600;color:var(--color-text);margin:0}.close-btn[data-v-cf7787ef]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.close-btn[data-v-cf7787ef]:hover{background:var(--color-surface-hover);color:var(--color-text)}.modal-body[data-v-cf7787ef]{flex:1;overflow-y:auto;padding:20px 24px}.form-row[data-v-cf7787ef]{margin-bottom:16px}.form-row label[data-v-cf7787ef]{display:block;font-size:13px;font-weight:500;color:var(--color-text-secondary);margin-bottom:6px}.required[data-v-cf7787ef]{color:var(--color-danger)}.form-row input[data-v-cf7787ef],.form-row select[data-v-cf7787ef],.form-row textarea[data-v-cf7787ef]{width:100%;padding:9px 12px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;color:var(--color-text);background:var(--color-surface);outline:none;transition:border-color var(--transition-fast)}.form-row input[data-v-cf7787ef]:focus,.form-row select[data-v-cf7787ef]:focus,.form-row textarea[data-v-cf7787ef]:focus{border-color:var(--color-accent)}.form-row textarea[data-v-cf7787ef]{resize:vertical;line-height:1.6;font-family:"SF Mono","Fira Code",monospace,var(--font-body)}.form-grid[data-v-cf7787ef]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal-footer[data-v-cf7787ef]{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--color-border-light);flex-shrink:0}.btn-cancel[data-v-cf7787ef]{padding:8px 18px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.btn-cancel[data-v-cf7787ef]:hover{background:var(--color-surface-hover)}.btn-primary[data-v-cf7787ef]{padding:8px 20px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-primary[data-v-cf7787ef]:hover:not(:disabled){background:var(--color-accent-hover)}.btn-primary[data-v-cf7787ef]:disabled{opacity:.5;cursor:not-allowed}.overlay[data-v-603f54fe]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn-603f54fe .15s ease}@keyframes fadeIn-603f54fe{0%{opacity:0}to{opacity:1}}.modal[data-v-603f54fe]{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);width:480px;max-height:70vh;overflow-y:auto;box-shadow:var(--shadow-overlay);animation:slideUp-603f54fe .2s ease}@keyframes slideUp-603f54fe{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-head[data-v-603f54fe]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border-light)}.modal-head h3[data-v-603f54fe]{font-family:var(--font-heading);font-size:17px;font-weight:600;color:var(--color-text);margin:0}.close-btn[data-v-603f54fe]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.close-btn[data-v-603f54fe]:hover{background:var(--color-surface-hover);color:var(--color-text)}.modal-body[data-v-603f54fe]{padding:20px 24px 24px}.add-row[data-v-603f54fe]{display:flex;gap:8px;margin-bottom:20px}.add-row input[data-v-603f54fe]{flex:1;padding:8px 12px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;color:var(--color-text);background:var(--color-surface);outline:none}.add-row input[data-v-603f54fe]:focus{border-color:var(--color-accent)}.btn-primary-sm[data-v-603f54fe]{padding:8px 16px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;flex-shrink:0;transition:background var(--transition-fast)}.btn-primary-sm[data-v-603f54fe]:hover{background:var(--color-accent-hover)}.cat-list[data-v-603f54fe]{border:1px solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden}.cat-row[data-v-603f54fe]{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--color-border-light);transition:background var(--transition-fast)}.cat-row[data-v-603f54fe]:last-child{border-bottom:none}.cat-row[data-v-603f54fe]:hover{background:var(--color-surface-hover)}.cat-name[data-v-603f54fe]{font-size:13px;color:var(--color-text)}.inline-edit[data-v-603f54fe]{padding:4px 10px;border:1.5px solid var(--color-accent);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;color:var(--color-text);background:var(--color-surface);outline:none;width:160px}.row-actions[data-v-603f54fe]{display:flex;gap:8px}.link-btn[data-v-603f54fe]{border:none;background:none;font-family:var(--font-body);font-size:12px;color:var(--color-accent-text);cursor:pointer;transition:opacity var(--transition-fast)}.link-btn[data-v-603f54fe]:hover{opacity:.75}.link-btn--danger[data-v-603f54fe]{color:var(--color-danger)}.empty[data-v-603f54fe]{padding:24px;text-align:center;color:var(--color-text-tertiary);font-size:13px}.overlay[data-v-2ed09069]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn-2ed09069 .15s ease}@keyframes fadeIn-2ed09069{0%{opacity:0}to{opacity:1}}.modal[data-v-2ed09069]{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);width:480px;max-height:70vh;overflow-y:auto;box-shadow:var(--shadow-overlay);animation:slideUp-2ed09069 .2s ease}@keyframes slideUp-2ed09069{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-head[data-v-2ed09069]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border-light)}.modal-head h3[data-v-2ed09069]{font-family:var(--font-heading);font-size:17px;font-weight:600;color:var(--color-text);margin:0}.close-btn[data-v-2ed09069]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.close-btn[data-v-2ed09069]:hover{background:var(--color-surface-hover);color:var(--color-text)}.modal-body[data-v-2ed09069]{padding:20px 24px 24px}.add-row[data-v-2ed09069]{display:flex;gap:8px;margin-bottom:20px}.add-row input[data-v-2ed09069]{flex:1;padding:8px 12px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;color:var(--color-text);background:var(--color-surface);outline:none}.add-row input[data-v-2ed09069]:focus{border-color:var(--color-accent)}.btn-primary-sm[data-v-2ed09069]{padding:8px 16px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;flex-shrink:0;transition:background var(--transition-fast)}.btn-primary-sm[data-v-2ed09069]:hover{background:var(--color-accent-hover)}.src-list[data-v-2ed09069]{border:1px solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden}.src-row[data-v-2ed09069]{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--color-border-light);transition:background var(--transition-fast)}.src-row[data-v-2ed09069]:last-child{border-bottom:none}.src-row[data-v-2ed09069]:hover{background:var(--color-surface-hover)}.src-name[data-v-2ed09069]{font-size:13px;color:var(--color-text)}.inline-edit[data-v-2ed09069]{padding:4px 10px;border:1.5px solid var(--color-accent);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;color:var(--color-text);background:var(--color-surface);outline:none;width:160px}.row-actions[data-v-2ed09069]{display:flex;gap:8px}.link-btn[data-v-2ed09069]{border:none;background:none;font-family:var(--font-body);font-size:12px;color:var(--color-accent-text);cursor:pointer;transition:opacity var(--transition-fast)}.link-btn[data-v-2ed09069]:hover{opacity:.75}.link-btn--danger[data-v-2ed09069]{color:var(--color-danger)}.empty[data-v-2ed09069]{padding:24px;text-align:center;color:var(--color-text-tertiary);font-size:13px}.news-page[data-v-9f8d65ee]{display:flex;height:100vh}.ak-header[data-v-651b1ea5]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-border-light)}.ak-header .card-title[data-v-651b1ea5]{margin:0;padding:0;border:none}.btn-create[data-v-651b1ea5]{display:flex;align-items:center;gap:6px;padding:7px 14px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-create[data-v-651b1ea5]:hover{background:var(--color-accent-hover)}.ak-empty[data-v-651b1ea5]{text-align:center;padding:32px;color:var(--color-text-tertiary);font-size:13px}.ak-list[data-v-651b1ea5]{display:flex;flex-direction:column;gap:12px}.ak-row[data-v-651b1ea5]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid var(--color-border-light);border-radius:var(--radius-md);transition:background var(--transition-fast)}.ak-row[data-v-651b1ea5]:hover{background:var(--color-surface-hover)}.ak-info[data-v-651b1ea5]{flex:1;min-width:0}.ak-name[data-v-651b1ea5]{font-size:14px;font-weight:500;color:var(--color-text);margin-bottom:4px}.ak-key-row[data-v-651b1ea5]{display:flex;align-items:center;gap:6px;margin-bottom:6px}.ak-key[data-v-651b1ea5]{font-size:12px;color:var(--color-text-secondary);background:var(--color-surface-hover);padding:2px 8px;border-radius:4px;font-family:SF Mono,Fira Code,monospace}.icon-btn[data-v-651b1ea5]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:4px;transition:all var(--transition-fast)}.icon-btn[data-v-651b1ea5]:hover{background:var(--color-surface-active);color:var(--color-text)}.copied-tip[data-v-651b1ea5]{font-size:11px;color:var(--color-success);animation:fadeIn-651b1ea5 .15s ease}.ak-scopes[data-v-651b1ea5]{display:flex;flex-wrap:wrap;gap:4px}.scope-tag[data-v-651b1ea5]{font-size:11px;padding:1px 7px;border-radius:4px;background:var(--color-accent-subtle);color:var(--color-accent-text)}.no-scope[data-v-651b1ea5]{font-size:11px;color:var(--color-text-tertiary)}.ak-actions[data-v-651b1ea5]{display:flex;align-items:center;gap:12px;flex-shrink:0;margin-left:16px}.link-btn[data-v-651b1ea5]{border:none;background:none;font-family:var(--font-body);font-size:12px;color:var(--color-accent-text);cursor:pointer;transition:opacity var(--transition-fast)}.link-btn[data-v-651b1ea5]:hover{opacity:.75}.link-btn--danger[data-v-651b1ea5]{color:var(--color-danger)}.switch[data-v-651b1ea5]{position:relative;width:36px;height:20px;display:inline-block}.switch input[data-v-651b1ea5]{opacity:0;width:0;height:0}.slider[data-v-651b1ea5]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-border);border-radius:10px;cursor:pointer;transition:background var(--transition-fast)}.slider[data-v-651b1ea5]:before{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;background:#fff;border-radius:50%;transition:transform var(--transition-fast)}.switch input:checked+.slider[data-v-651b1ea5]{background:var(--color-accent)}.switch input:checked+.slider[data-v-651b1ea5]:before{transform:translate(16px)}.overlay[data-v-651b1ea5]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn-651b1ea5 .15s ease}@keyframes fadeIn-651b1ea5{0%{opacity:0}to{opacity:1}}.modal[data-v-651b1ea5]{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);width:480px;max-height:70vh;overflow-y:auto;box-shadow:var(--shadow-overlay);animation:slideUp-651b1ea5 .2s ease}@keyframes slideUp-651b1ea5{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-head[data-v-651b1ea5]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border-light)}.modal-head h3[data-v-651b1ea5]{font-family:var(--font-heading);font-size:17px;font-weight:600;color:var(--color-text);margin:0}.close-btn[data-v-651b1ea5]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.close-btn[data-v-651b1ea5]:hover{background:var(--color-surface-hover);color:var(--color-text)}.modal-body[data-v-651b1ea5]{padding:20px 24px}.modal-footer[data-v-651b1ea5]{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--color-border-light)}.form-row[data-v-651b1ea5]{margin-bottom:16px}.form-row label[data-v-651b1ea5]{display:block;font-size:13px;font-weight:500;color:var(--color-text-secondary);margin-bottom:6px}.form-row input[type=text][data-v-651b1ea5],.form-row input[data-v-651b1ea5]:not([type]){width:100%;padding:9px 12px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;color:var(--color-text);background:var(--color-surface);outline:none}.form-row input[data-v-651b1ea5]:focus{border-color:var(--color-accent)}.scope-checks[data-v-651b1ea5]{display:flex;flex-direction:column;gap:8px}.scope-check[data-v-651b1ea5]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text);cursor:pointer}.scope-check input[type=checkbox][data-v-651b1ea5]{width:16px;height:16px;accent-color:var(--color-accent)}.btn-cancel[data-v-651b1ea5]{padding:8px 18px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.btn-cancel[data-v-651b1ea5]:hover{background:var(--color-surface-hover)}.btn-primary[data-v-651b1ea5]{padding:8px 20px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-primary[data-v-651b1ea5]:hover:not(:disabled){background:var(--color-accent-hover)}.btn-primary[data-v-651b1ea5]:disabled{opacity:.5;cursor:not-allowed}.key-warning[data-v-651b1ea5]{font-size:13px;color:var(--color-warning);margin-bottom:12px}.key-display[data-v-651b1ea5]{display:flex;align-items:center;gap:10px;padding:12px;background:var(--color-surface-hover);border-radius:var(--radius-md)}.key-display code[data-v-651b1ea5]{flex:1;font-size:12px;font-family:SF Mono,Fira Code,monospace;color:var(--color-text);word-break:break-all}.btn-copy[data-v-651b1ea5]{padding:6px 14px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:12px;font-weight:500;cursor:pointer;flex-shrink:0;transition:background var(--transition-fast)}.btn-copy[data-v-651b1ea5]:hover{background:var(--color-accent-hover)}.profile-page[data-v-deba34c8]{padding:36px 40px;min-height:100vh;overflow-y:auto;background:var(--color-bg)}.page-header[data-v-deba34c8]{max-width:680px;margin:0 auto 36px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.page-eyebrow[data-v-deba34c8]{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-accent-text);margin-bottom:4px}.page-title[data-v-deba34c8]{font-family:var(--font-heading);font-size:36px;font-weight:800;color:var(--color-text);letter-spacing:-1.5px;line-height:1}.logout-btn[data-v-deba34c8]{padding:8px 16px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;align-self:center}.logout-btn[data-v-deba34c8]:hover{border-color:var(--color-danger);color:var(--color-danger)}.profile-content[data-v-deba34c8]{max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.card[data-v-deba34c8]{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:24px 28px}.card-title[data-v-deba34c8]{font-family:var(--font-heading);font-size:14px;font-weight:700;letter-spacing:-.2px;color:var(--color-text);margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--color-border-light)}.info-grid[data-v-deba34c8]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.info-item[data-v-deba34c8]{display:flex;flex-direction:column;gap:4px}.info-label[data-v-deba34c8]{font-size:12px;color:var(--color-text-tertiary);font-weight:500}.info-value[data-v-deba34c8]{font-size:14px;color:var(--color-text)}.password-form[data-v-deba34c8]{display:flex;flex-direction:column;gap:14px;max-width:400px}.form-row[data-v-deba34c8]{display:flex;flex-direction:column;gap:6px}.form-row label[data-v-deba34c8]{font-size:13px;font-weight:500;color:var(--color-text-secondary)}.form-row input[data-v-deba34c8]{padding:9px 12px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;color:var(--color-text);background:var(--color-surface);outline:none;transition:border-color var(--transition-fast)}.form-row input[data-v-deba34c8]:focus{border-color:var(--color-accent)}.form-error[data-v-deba34c8]{font-size:13px;color:var(--color-danger)}.form-success[data-v-deba34c8]{font-size:13px;color:var(--color-success)}.btn-primary[data-v-deba34c8]{align-self:flex-start;padding:8px 20px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-primary[data-v-deba34c8]:hover:not(:disabled){background:var(--color-accent-hover)}.btn-primary[data-v-deba34c8]:disabled{opacity:.5;cursor:not-allowed}.user-profile-row[data-v-deba34c8]{display:flex;gap:24px;align-items:flex-start}.avatar-area[data-v-deba34c8]{display:flex;flex-direction:column;align-items:center;gap:10px;flex-shrink:0}.avatar-actions[data-v-deba34c8]{display:flex;flex-direction:column;gap:6px;align-items:center}.btn-secondary[data-v-deba34c8]{padding:6px 14px;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:12px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-secondary[data-v-deba34c8]:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent-text)}.btn-secondary[data-v-deba34c8]:disabled{opacity:.5;cursor:not-allowed}.btn-ghost-danger[data-v-deba34c8]{padding:6px 14px;background:none;border:none;font-family:var(--font-body);font-size:12px;color:var(--color-text-tertiary);cursor:pointer;transition:color var(--transition-fast)}.btn-ghost-danger[data-v-deba34c8]:hover:not(:disabled){color:var(--color-danger)}.btn-ghost-danger[data-v-deba34c8]:disabled{opacity:.5;cursor:not-allowed}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root,[data-theme=light]{--font-body: "Manrope", -apple-system, BlinkMacSystemFont, sans-serif;--font-heading: "Syne", "Manrope", sans-serif;--color-bg: #F4F3F0;--color-surface: #FFFFFF;--color-surface-raised: #FFFFFF;--color-surface-overlay: rgba(255, 255, 255, .96);--color-surface-hover: #F0EFF6;--color-surface-active: #E8E7F3;--color-surface-sidebar: #FAFAF8;--color-text: #0D0C1E;--color-text-secondary: #5A5870;--color-text-tertiary: #9996B0;--color-text-inverse: #FAFAF8;--color-text-sidebar: #7C7A90;--color-text-sidebar-active: #0D0C1E;--color-accent: #4F46E5;--color-accent-hover: #4338CA;--color-accent-subtle: rgba(79, 70, 229, .08);--color-accent-text: #4F46E5;--color-accent-glow: rgba(79, 70, 229, .15);--color-border: #E4E3EF;--color-border-light: #EEEDF8;--color-divider: #ECEAF8;--color-success: #059669;--color-warning: #D97706;--color-danger: #DC2626;--color-info: #4F46E5;--color-status-pending: #D97706;--color-status-paused: #9E9DB8;--color-status-completed: #059669;--shadow-sm: 0 1px 3px rgba(13, 12, 30, .06);--shadow-md: 0 4px 16px rgba(13, 12, 30, .08);--shadow-lg: 0 12px 40px rgba(13, 12, 30, .1);--shadow-overlay: 0 24px 64px rgba(13, 12, 30, .14), 0 4px 16px rgba(13, 12, 30, .06);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition-base: .22s cubic-bezier(.4, 0, .2, 1);--transition-slow: .38s cubic-bezier(.4, 0, .2, 1);--header-height: 54px;--sidebar-width: 64px}[data-theme=dark]{--color-bg: #08080E;--color-surface: #101019;--color-surface-raised: #16162A;--color-surface-overlay: rgba(16, 16, 25, .97);--color-surface-hover: #1A1A2E;--color-surface-active: #22223A;--color-surface-sidebar: #0C0C18;--color-text: #EEEDF8;--color-text-secondary: #9896B8;--color-text-tertiary: #5C5A78;--color-text-inverse: #0D0C1E;--color-text-sidebar: #5C5A78;--color-text-sidebar-active: #EEEDF8;--color-accent: #7C6FEA;--color-accent-hover: #6D5FD8;--color-accent-subtle: rgba(124, 111, 234, .12);--color-accent-text: #A59FF4;--color-accent-glow: rgba(124, 111, 234, .2);--color-border: #1E1E38;--color-border-light: #171728;--color-divider: #1A1A30;--color-success: #10B981;--color-warning: #F59E0B;--color-danger: #EF4444;--color-info: #7C6FEA;--color-status-pending: #F59E0B;--color-status-paused: #5C5A78;--color-status-completed: #10B981;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .5);--shadow-overlay: 0 24px 64px rgba(0, 0, 0, .6), 0 4px 16px rgba(0, 0, 0, .3)}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--transition-base),color var(--transition-base)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}[data-theme=dark] body:after{opacity:.04}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;letter-spacing:-.02em}a{text-decoration:none;color:inherit}::selection{background:var(--color-accent);color:#fff}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}
