/* Stillroom semantic palette tokens. A theme switches colors, never page structure. */
:root, [data-theme="light"]{color-scheme:light;--bg:#faf9f7;--surface:#fff;--soft:#f3f0ed;--ink:#29282d;--muted:#726d77;--brand:#756180;--brand-hover:#604e6b;--lavender:#eee7f2;--rose:#f3e6e5;--sage:#e8eee8;--line:#e8e4e8;--green:#426852;--red:#a43f4e;--amber:#85622b;--shadow:0 14px 50px #30243c12;--on-brand:#fff;--radius:10px;--sans:Inter,'Segoe UI',Arial,sans-serif;--serif:Georgia,'Times New Roman',serif;--rail:226px}
[data-theme="dark"]{color-scheme:dark;--bg:#17161b;--surface:#211f27;--soft:#2a2732;--ink:#f5f2f5;--muted:#bab3c0;--brand:#c7b1d8;--brand-hover:#dbc6eb;--lavender:#373040;--rose:#3b2b32;--sage:#28372e;--line:#3a3542;--green:#a6d0b2;--red:#f1a5b0;--amber:#e2bf7f;--shadow:0 14px 50px #0003;--on-brand:#221b29}
[data-theme="rose"]{color-scheme:light;--bg:#fff8f8;--surface:#fffdfd;--soft:#f9e9eb;--ink:#392b33;--muted:#775f6a;--brand:#95516d;--brand-hover:#763b54;--lavender:#f5e2ea;--rose:#f9e1e6;--sage:#ecf2e9;--line:#eedee4;--green:#35684c;--red:#a53652;--amber:#856022;--shadow:0 14px 50px #70324712;--on-brand:#fff}
[data-theme="sage"]{color-scheme:light;--bg:#f7faf5;--surface:#fff;--soft:#edf3eb;--ink:#26372e;--muted:#64756b;--brand:#3f7256;--brand-hover:#2d593f;--lavender:#e7eee7;--rose:#f4e8e2;--sage:#dfeee0;--line:#dde8df;--green:#2e6847;--red:#a34347;--amber:#856228;--shadow:0 14px 50px #163a2410;--on-brand:#fff}
[data-theme="ocean"]{color-scheme:light;--bg:#f4f9fb;--surface:#fff;--soft:#e8f2f5;--ink:#25353e;--muted:#627782;--brand:#286981;--brand-hover:#1c5065;--lavender:#e5f0f6;--rose:#f4e8eb;--sage:#e1f1ed;--line:#dce8ed;--green:#286856;--red:#a33d4c;--amber:#836122;--shadow:0 14px 50px #163c5110;--on-brand:#fff}
[data-theme="lilac"]{color-scheme:light;--bg:#f8f6fc;--surface:#fff;--soft:#f0ecf9;--ink:#312a42;--muted:#706681;--brand:#7052a0;--brand-hover:#583c87;--lavender:#eae3f7;--rose:#f8eaf1;--sage:#eaf1e8;--line:#e5dff1;--green:#42684e;--red:#a33b58;--amber:#81612d;--shadow:0 14px 50px #33215b12;--on-brand:#fff}
[data-theme="sand"]{color-scheme:light;--bg:#fbf6ed;--surface:#fffdfa;--soft:#f3eadb;--ink:#392f28;--muted:#77695d;--brand:#89603f;--brand-hover:#6c472c;--lavender:#f0e8dc;--rose:#f7e7df;--sage:#e8ede1;--line:#e9dece;--green:#486b4b;--red:#a34842;--amber:#856022;--shadow:0 14px 50px #62432312;--on-brand:#fff}
[data-theme="slate"]{color-scheme:dark;--bg:#151d29;--surface:#1d2837;--soft:#273546;--ink:#f2f6fc;--muted:#b3c1d1;--brand:#9cccf7;--brand-hover:#c1dffb;--lavender:#283e54;--rose:#3a303d;--sage:#263f42;--line:#39495a;--green:#a5dcc4;--red:#ffadb7;--amber:#f2c887;--shadow:0 14px 50px #0005;--on-brand:#132332}
[data-theme="contrast"]{color-scheme:light;--bg:#fff;--surface:#fff;--soft:#f0f3fa;--ink:#10131b;--muted:#3e4656;--brand:#163da4;--brand-hover:#102d7d;--lavender:#e2e9ff;--rose:#fbe8ee;--sage:#def0e0;--line:#657182;--green:#17602f;--red:#a31225;--amber:#714b00;--shadow:0 3px 16px #0002;--on-brand:#fff}
/* Font sizing is proportional to the visitor's preferred base size. */
html{font-size:calc(16px * var(--font-scale,1))}
[data-typeface="editorial"]{--sans:Georgia,'Times New Roman',serif;--serif:Georgia,'Times New Roman',serif}
[data-typeface="readable"]{--sans:Verdana,'Segoe UI',Arial,sans-serif;--serif:Georgia,'Times New Roman',serif}
