:root,[data-theme=light]{--color-bg:#f6f4f1;--color-bg-surface:#fff;--color-bg-elevated:#faf9f7;--color-bg-inset:#efece8;--color-text:#2c2825;--color-text-secondary:#6b6560;--color-text-muted:#a09890;--color-border:#e3dfda;--color-border-strong:#d0cbc4;--color-accent:#d97a3e;--color-accent-hover:#c46a2e;--color-accent-active:#b05e28;--color-accent-tint:#fdf3ec;--color-accent-text:#fff;--color-danger:#d64545;--color-danger-tint:#fdf0f0;--color-success:#3a8f5c;--color-success-tint:#eef8f2;--color-warning:#c4880c;--color-warning-tint:#fef8ec;--shadow-sm:0 1px 2px rgba(44,40,37,.05);--shadow-card:0 1px 4px rgba(44,40,37,.06),0 0 0 1px rgba(44,40,37,.03);--shadow-elevated:0 8px 24px rgba(44,40,37,.1),0 2px 8px rgba(44,40,37,.04);--shadow-overlay:0 16px 48px rgba(44,40,37,.16),0 4px 12px rgba(44,40,37,.06)}[data-theme=dark]{--color-bg:#191715;--color-bg-surface:#231f1d;--color-bg-elevated:#2b2724;--color-bg-inset:#141210;--color-text:#ede8e3;--color-text-secondary:#9c9590;--color-text-muted:#6b6460;--color-border:#3a3532;--color-border-strong:#4a4440;--color-accent:#e0a04a;--color-accent-hover:#d08e38;--color-accent-active:#c07e2c;--color-accent-tint:#2e2418;--color-accent-text:#191715;--color-danger:#e05555;--color-danger-tint:#2e1a1a;--color-success:#4aaa6e;--color-success-tint:#1a2e20;--color-warning:#d4980c;--color-warning-tint:#2e2610;--shadow-sm:none;--shadow-card:0 0 0 1px var(--color-border);--shadow-elevated:0 0 0 1px var(--color-border);--shadow-overlay:0 0 0 1px var(--color-border)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#191715;--color-bg-surface:#231f1d;--color-bg-elevated:#2b2724;--color-bg-inset:#141210;--color-text:#ede8e3;--color-text-secondary:#9c9590;--color-text-muted:#6b6460;--color-border:#3a3532;--color-border-strong:#4a4440;--color-accent:#e0a04a;--color-accent-hover:#d08e38;--color-accent-active:#c07e2c;--color-accent-tint:#2e2418;--color-accent-text:#191715;--color-danger:#e05555;--color-danger-tint:#2e1a1a;--color-success:#4aaa6e;--color-success-tint:#1a2e20;--color-warning:#d4980c;--color-warning-tint:#2e2610;--shadow-sm:none;--shadow-card:0 0 0 1px var(--color-border);--shadow-elevated:0 0 0 1px var(--color-border);--shadow-overlay:0 0 0 1px var(--color-border)}}:root{--font-sans:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono","SF Mono","Fira Code",monospace;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.9375rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--font-weight-normal:500;--font-weight-medium:600;--font-weight-bold:700;--line-height-tight:1.3;--line-height-base:1.6;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.35s ease;--touch-min:44px;--content-max-width:960px;--sidebar-width:280px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;height:100%}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-base);min-height:100%}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-medium);line-height:var(--line-height-tight)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}button,input,select,textarea{background:none;border:none;color:inherit;font:inherit;outline:none}button{cursor:pointer;-webkit-tap-highlight-color:transparent}img,svg{display:block;max-width:100%}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::-moz-selection{background:var(--color-accent-tint);color:var(--color-text)}::selection{background:var(--color-accent-tint);color:var(--color-text)}.page-enter-active,.page-leave-active{transition:opacity var(--transition-base)}.page-enter-from,.page-leave-to{opacity:0}
