:root{--font-body:system-ui, -apple-system, "Segoe UI", sans-serif;--font-heading:var(--font-body);--font-code:"JetBrains Mono", "Fira Code", "Cascadia Code", ui-monospace, monospace;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--sidebar-width:280px;--nav-height:56px;--border-radius:8px;--border-radius-sm:4px;--transition-fast:.15s ease;--transition-normal:.25s ease;--font-size-xs:calc(var(--font-size-base) * .75);--font-size-sm:calc(var(--font-size-base) * .875);--font-size-lg:calc(var(--font-size-base) * 1.125);--font-size-xl:calc(var(--font-size-base) * 1.5);--font-size-2xl:calc(var(--font-size-base) * 2);--font-size-3xl:calc(var(--font-size-base) * 2.5)}:root,[data-theme=light]{--bg-primary:#fff;--bg-secondary:#f7fafc;--bg-tertiary:#edf2f7;--text-primary:#2d3748;--text-secondary:#718096;--text-heading:#1a202c;--link-color:#3182ce;--link-hover:#2c5282;--accent-color:#4299e1;--accent-hover:#3182ce;--code-bg:#f0f4f8;--code-text:#e53e3e;--code-border:#e2e8f0;--sidebar-bg:#f7fafc;--sidebar-text:#2d3748;--sidebar-active-bg:#ebf4ff;--sidebar-active-text:#2c5282;--sidebar-hover-bg:#edf2f7;--border-color:#e2e8f0;--shadow-color:#00000014;--shadow:0 1px 3px var(--shadow-color);--progress-bg:#e2e8f0;--progress-fill:#48bb78;--success-color:#48bb78;--warning-color:#ed8936;--error-color:#e53e3e}[data-theme=dark]{--bg-primary:#1a202c;--bg-secondary:#2d3748;--bg-tertiary:#4a5568;--text-primary:#e2e8f0;--text-secondary:#a0aec0;--text-heading:#f7fafc;--link-color:#63b3ed;--link-hover:#90cdf4;--accent-color:#63b3ed;--accent-hover:#4299e1;--code-bg:#2d3748;--code-text:#fc8181;--code-border:#4a5568;--sidebar-bg:#2d3748;--sidebar-text:#e2e8f0;--sidebar-active-bg:#4a5568;--sidebar-active-text:#90cdf4;--sidebar-hover-bg:#4a5568;--border-color:#4a5568;--shadow-color:#0000004d;--shadow:0 1px 3px var(--shadow-color);--progress-bg:#4a5568;--progress-fill:#68d391;--success-color:#68d391;--warning-color:#f6ad55;--error-color:#fc8181}[data-theme=sepia]{--bg-primary:#f8f1e3;--bg-secondary:#f0e6d3;--bg-tertiary:#e8dbc6;--text-primary:#433422;--text-secondary:#7c6a55;--text-heading:#2d1f10;--link-color:#8b5e3c;--link-hover:#6d4a2e;--accent-color:#b07d4f;--accent-hover:#8b5e3c;--code-bg:#ede4d3;--code-text:#c0392b;--code-border:#d4c5a9;--sidebar-bg:#f0e6d3;--sidebar-text:#433422;--sidebar-active-bg:#e8dbc6;--sidebar-active-text:#6d4a2e;--sidebar-hover-bg:#e8dbc6;--border-color:#d4c5a9;--shadow-color:#4334221a;--shadow:0 1px 3px var(--shadow-color);--progress-bg:#d4c5a9;--progress-fill:#8b5e3c;--success-color:#6d9b5e;--warning-color:#c0862b;--error-color:#c0392b}[data-theme=high-contrast]{--bg-primary:#000;--bg-secondary:#1a1a1a;--bg-tertiary:#333;--text-primary:#fff;--text-secondary:#e0e0e0;--text-heading:#fff;--link-color:#0cf;--link-hover:#66e0ff;--accent-color:#ff0;--accent-hover:#ff6;--code-bg:#1a1a1a;--code-text:#f66;--code-border:#fff;--sidebar-bg:#1a1a1a;--sidebar-text:#fff;--sidebar-active-bg:#333;--sidebar-active-text:#ff0;--sidebar-hover-bg:#333;--border-color:#fff;--shadow-color:none;--shadow:none;--progress-bg:#333;--progress-fill:#0f0;--success-color:#0f0;--warning-color:#ff0;--error-color:red}:root,[data-font-size=medium]{--font-size-base:16px}[data-font-size=small]{--font-size-base:14px}[data-font-size=large]{--font-size-base:18px}[data-font-size=x-large]{--font-size-base:20px}:root,[data-line-height=comfortable]{--line-height:1.7}[data-line-height=compact]{--line-height:1.5}[data-line-height=spacious]{--line-height:1.9}:root,[data-content-width=standard]{--content-width:70ch}[data-content-width=narrow]{--content-width:55ch}[data-content-width=wide]{--content-width:85ch}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-base,16px);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:1rem;line-height:var(--line-height,1.7);color:var(--text-primary);background:var(--bg-primary);transition:color var(--transition-normal), background var(--transition-normal)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-heading);margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md);line-height:1.3}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4{font-size:1rem;font-weight:600}p{margin-bottom:var(--spacing-md)}a{color:var(--link-color);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--link-hover);text-decoration:underline}strong{font-weight:600}em{font-style:italic}ul,ol{margin-bottom:var(--spacing-md);padding-left:var(--spacing-xl)}li{margin-bottom:var(--spacing-xs)}li>ul,li>ol{margin-top:var(--spacing-xs);margin-bottom:0}code{font-family:var(--font-code);background:var(--code-bg);color:var(--code-text);border-radius:var(--border-radius-sm);padding:.15em .4em;font-size:.9em}pre{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--code-bg);border:1px solid var(--code-border);border-radius:var(--border-radius);line-height:1.5;overflow-x:auto}pre code{color:inherit;font-size:var(--font-size-sm);background:0 0;padding:0}.shiki,.shiki span{color:var(--shiki-light)!important;background-color:#0000!important}[data-theme=dark] .shiki,[data-theme=dark] .shiki span,[data-theme=high-contrast] .shiki,[data-theme=high-contrast] .shiki span{color:var(--shiki-dark)!important}blockquote{margin:var(--spacing-md) 0;padding:var(--spacing-md) var(--spacing-lg);border-left:4px solid var(--accent-color);background:var(--bg-secondary);border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0}blockquote p:last-child{margin-bottom:0}table{border-collapse:collapse;width:100%;margin-bottom:var(--spacing-lg)}th,td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--border-color)}th{color:var(--text-heading);background:var(--bg-secondary);font-weight:600}tr:hover td{background:var(--bg-secondary)}hr{margin:var(--spacing-xl) 0;border:none;border-top:1px solid var(--border-color)}img{border-radius:var(--border-radius);max-width:100%;height:auto}.mermaid-container{margin:var(--spacing-lg) 0;text-align:center}.mermaid-container svg{max-width:100%;height:auto}.mermaid-pending{padding:var(--spacing-lg);text-align:center;color:var(--text-secondary);background:var(--bg-secondary);border-radius:var(--border-radius)}.mermaid-error{padding:var(--spacing-md);color:var(--error-color);background:var(--bg-secondary);border:1px solid var(--error-color);border-radius:var(--border-radius);font-family:var(--font-code);font-size:var(--font-size-sm)}.task-list-item{margin-left:calc(var(--spacing-xl) * -1);list-style-type:none}.task-list-item input[type=checkbox]{margin-right:var(--spacing-sm)}::selection{background:var(--accent-color);color:var(--bg-primary)}:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}[data-theme=dark] ::-webkit-scrollbar{width:8px}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--bg-secondary)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.icon-button[data-v-b8f7bded]{width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:var(--border-radius-sm);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.icon-button[data-v-b8f7bded]:hover:not(:disabled){color:var(--text-primary);background:var(--bg-tertiary)}.icon-button.active[data-v-b8f7bded]{color:var(--accent-color)}.icon-button[data-v-b8f7bded]:disabled{opacity:.4;cursor:default}.icon-button.round[data-v-b8f7bded]{border-radius:50%}.modal-backdrop[data-v-ca9c29f8]{z-index:200;padding:var(--spacing-lg);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-container[data-v-ca9c29f8]{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);flex-direction:column;width:100%;max-height:85vh;display:flex;box-shadow:0 8px 32px #0003}.modal-container.sm[data-v-ca9c29f8]{max-width:400px}.modal-container.md[data-v-ca9c29f8],.modal-container[data-v-ca9c29f8]:not(.sm):not(.lg){max-width:540px}.modal-container.lg[data-v-ca9c29f8]{max-width:720px}.modal-header[data-v-ca9c29f8]{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.modal-header h2[data-v-ca9c29f8]{font-size:var(--font-size-lg);margin:0}.modal-close[data-v-ca9c29f8]{color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;display:flex}.modal-close[data-v-ca9c29f8]:hover{color:var(--text-primary);background:var(--bg-tertiary)}.modal-body[data-v-ca9c29f8]{padding:var(--spacing-lg);overflow-y:auto}.modal-enter-active[data-v-ca9c29f8],.modal-leave-active[data-v-ca9c29f8]{transition:opacity var(--transition-normal)}.modal-enter-active .modal-container[data-v-ca9c29f8],.modal-leave-active .modal-container[data-v-ca9c29f8]{transition:transform var(--transition-normal)}.modal-enter-from[data-v-ca9c29f8],.modal-leave-to[data-v-ca9c29f8]{opacity:0}.modal-enter-from .modal-container[data-v-ca9c29f8],.modal-leave-to .modal-container[data-v-ca9c29f8]{transform:scale(.95)translateY(10px)}@media (width<=767px){.modal-backdrop[data-v-ca9c29f8]{padding:var(--spacing-sm);align-items:flex-end}.modal-container[data-v-ca9c29f8]{border-bottom-right-radius:0;border-bottom-left-radius:0;max-height:90vh}}.option-button[data-v-79efb517]{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;color:var(--text-primary);font-family:inherit;font-size:var(--font-size-sm);transition:border-color var(--transition-fast);flex-direction:column;min-width:80px;display:flex}.option-button[data-v-79efb517]:hover{border-color:var(--accent-color)}.option-button.active[data-v-79efb517]{border-color:var(--accent-color);background:var(--sidebar-active-bg)}.settings-panel section[data-v-b0a5731b]{margin-bottom:var(--spacing-lg)}.settings-panel section[data-v-b0a5731b]:last-child{margin-bottom:0}.settings-panel h3[data-v-b0a5731b]{font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--spacing-sm);font-weight:600}.option-row[data-v-b0a5731b]{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.option-sublabel[data-v-b0a5731b]{font-size:var(--font-size-xs);color:var(--text-secondary)}.theme-swatch[data-v-b0a5731b]{border-radius:var(--border-radius-sm);border:1px solid var(--border-color);width:40px;height:24px;display:block}.theme-swatch[data-theme=light][data-v-b0a5731b]{background:#fff}.theme-swatch[data-theme=dark][data-v-b0a5731b]{background:#1a202c}.theme-swatch[data-theme=sepia][data-v-b0a5731b]{background:#f8f1e3}.theme-swatch[data-theme=high-contrast][data-v-b0a5731b]{background:#000;border-color:#fff}.notifications-panel[data-v-ce54afc4]{justify-content:center;align-items:center;min-height:200px;display:flex}.empty-state[data-v-ce54afc4]{text-align:center;color:var(--text-secondary)}.empty-state p[data-v-ce54afc4]{margin:var(--spacing-md) 0 var(--spacing-xs);color:var(--text-primary);font-weight:600}.empty-state span[data-v-ce54afc4]{font-size:var(--font-size-sm)}.profile-panel[data-v-ca8aaf59]{justify-content:center;align-items:center;min-height:200px;display:flex}.empty-state[data-v-ca8aaf59]{text-align:center;color:var(--text-secondary)}.empty-state p[data-v-ca8aaf59]{margin:var(--spacing-md) 0 var(--spacing-xs);color:var(--text-primary);font-weight:600}.empty-state span[data-v-ca8aaf59]{font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg);display:block}.sign-in-btn[data-v-ca8aaf59]{padding:var(--spacing-sm) var(--spacing-xl);background:var(--accent-color);color:var(--bg-primary);border-radius:var(--border-radius);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast);border:none;font-weight:600}.sign-in-btn[data-v-ca8aaf59]:hover:not(:disabled){background:var(--accent-hover)}.sign-in-btn[data-v-ca8aaf59]:disabled{opacity:.5;cursor:default}.app-header[data-v-476a7cbc]{z-index:50;padding:0 var(--spacing-lg);height:var(--nav-height);border-bottom:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-secondary) 90%, transparent);-webkit-backdrop-filter:blur(12px);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.header-left[data-v-476a7cbc]{align-items:center;gap:var(--spacing-lg);display:flex}.header-nav[data-v-476a7cbc]{gap:var(--spacing-md);display:flex}.nav-link[data-v-476a7cbc]{color:var(--text-secondary);font-size:var(--font-size-sm);transition:color var(--transition-fast);font-weight:500;text-decoration:none}.nav-link[data-v-476a7cbc]:hover{color:var(--text-primary);text-decoration:none}.nav-link.router-link-active[data-v-476a7cbc]{color:var(--accent-color)}@media (width<=767px){.hide-mobile[data-v-476a7cbc]{display:none}.header-left[data-v-476a7cbc]{gap:var(--spacing-md)}.header-nav[data-v-476a7cbc]{gap:var(--spacing-sm)}.nav-link[data-v-476a7cbc]{font-size:var(--font-size-xs)}}.app-logo[data-v-476a7cbc]{font-size:var(--font-size-xl);color:var(--accent-color);font-weight:700;line-height:1;text-decoration:none}.app-logo[data-v-476a7cbc]:hover{color:var(--accent-hover);text-decoration:none}.header-right[data-v-476a7cbc]{align-items:center;gap:var(--spacing-xs);display:flex}.app-body[data-v-476a7cbc]{padding-top:var(--nav-height)}
