:root{--bg:#f9f6f2;--surface:#fff;--surface-2:#f0eae3;--surface-3:#ffffffb8;--ink:#1c1917;--ink-2:#44403c;--muted:#9c8072;--border:#e7ddd6;--brand:#c34718;--brand-light:#f5e0d6;--accent:#b76e79;--accent-light:#b76e791a;--accent-hover:#9a5563;--font-logo:"Playfair Display",serif;--font-title:"Cormorant Garamond",serif;--danger:#a52928;--radius:10px;--radius-sm:6px;--unit:6px;--font:"JetBrains Mono",monospace;--shadow-sm:0 1px 3px #1c19170f;--shadow-md:0 4px 12px #1c191714;--shadow-lg:0 8px 24px #1c19171a;--panel-blur:blur(12px);--ease-out:cubic-bezier(.16,1,.3,1);--ease-bounce:cubic-bezier(.34,1.56,.64,1);--duration-fast:.12s;--duration-normal:.2s;--duration-slow:.3s}[data-theme=dark]{--bg:#1a1a2e;--surface:#16213e;--surface-2:#1e2845;--surface-3:#16213eeb;--ink:#e8e8e8;--ink-2:#a0a0b0;--muted:#8888a0;--border:#b76e7926;--brand:#e05a2a;--brand-light:#e05a2a1f;--accent:#d4899a;--accent-light:#d4899a1f;--accent-hover:#e09aaa;--danger:#d4443c;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #00000059;--shadow-lg:0 8px 28px #0006;--panel-blur:blur(16px)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font);background:var(--bg);color:var(--ink-2);-webkit-font-smoothing:antialiased;scroll-behavior:smooth;transition:background var(--duration-slow),color var(--duration-slow);font-size:15px;line-height:1.5}body{min-height:100vh;transition:background var(--duration-slow),color var(--duration-slow)}*{scrollbar-width:thin;scrollbar-color:var(--muted)transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}::selection{background:var(--accent-light);color:var(--ink)}button{font-family:var(--font);cursor:pointer}input,select{font-family:var(--font)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
