:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-sm:12px;--radius-control:12px;--radius-card:12px;--radius-panel:32px;--radius-pill:999px;--tap-duration:140ms;--state-duration:200ms;--panel-duration:320ms;--ease-soft:cubic-bezier(.2,.8,.2,1);--font-body:17px;--font-meta:13px;--font-caption:15px;--font-heading:34px;--font-section:21px;--reading-size:17px}
body{--bg:#000000;--s1:#1c1c1e;--s2:#2c2c2e;--text:#f2f2f7;--muted:#8e8e93;--line:#38383a;--control-border:#858b98;--soft:#ffffff0d;--glass:#23262df2;--overlay:#0008;--error:#ffb4b4;--success:#9cdda9;--warning:#f3cf8e;--disabled:#898d97;--ink:#17181c;--accent-fill:#a8b4fa;--on-accent:#17181c;--accent-text:#bac4ff;--accent-subtle:#a8b4fa1c;--accent-pressed:#94a1e5;--accent:var(--accent-fill)}
body.light{--bg:#f2f2f7;--s1:#fff;--s2:#e5e5ea;--text:#1c1c1e;--muted:#6c6c70;--line:#d1d1d6;--control-border:#737985;--soft:#17181c08;--glass:#fffffff2;--overlay:#20243140;--error:#a32635;--success:#276c3c;--warning:#77500c;--disabled:#737782;--accent-text:#414e9d;--accent-subtle:#a8b4fa24}
body[data-accent=sage]{--accent-fill:#a4c5a5;--accent-text:#b1d4b3;--accent-subtle:#a4c5a51c;--accent-pressed:#8bae8f}body.light[data-accent=sage]{--accent-text:#35613e}
body[data-accent=blue]{--accent-fill:#a2c7f5;--accent-text:#b4d4ff;--accent-subtle:#a2c7f51c;--accent-pressed:#8aafe0}body.light[data-accent=blue]{--accent-text:#275b96}
body[data-accent=peach]{--accent-fill:#f4c4a4;--accent-text:#f7cbb0;--accent-subtle:#f4c4a41c;--accent-pressed:#dbac8e}body.light[data-accent=peach]{--accent-text:#854722}
body[data-accent=rose]{--accent-fill:#eab4ca;--accent-text:#f2c0d6;--accent-subtle:#eab4ca1c;--accent-pressed:#d29cb3}body.light[data-accent=rose]{--accent-text:#843f60}
body[data-accent=stone]{--accent-fill:#c6c9d1;--accent-text:#d0d3dc;--accent-subtle:#c6c9d11c;--accent-pressed:#adb1bb}body.light[data-accent=stone]{--accent-text:#525864}
@media(prefers-reduced-transparency:reduce){body{--glass:var(--s2)}}body.reduced-transparency{--glass:var(--s2)}


/* Completion ink stays independent from page background and accent. */
:root{--on-success:#102b18}body.light{--on-success:#ffffff}
