/* Design tokens. Light is the default; dark and high-contrast override the same variables. */
:root,[data-theme="light"]{color-scheme:light;
 --bg:#FBF1EA;--bg-2:#F5E3DB;--surface:#FFF7F2;--surface-2:#FFFFFF;--surface-3:#F8E8E1;--field:#FFF3EC;
 --text:#3C2829;--muted:#654C4B;--border:#E6D0C7;
 --rose:#B84C63;--rose-strong:#9F3852;--rose-soft:#F8DADF;--rose-tint:#FCEDEF;
 --gold:#835B1C;--gold-deco:#D2AA60;--gold-soft:#F6E7C8;
 --btn-a:#B94F66;--btn-b:#962F4A;--btn-text:#FFFFFF;--btn-glow:rgba(159,56,82,.38);
 --ring:#6F2740;--accent:var(--rose-soft);--accent-soft:var(--rose-soft);--accent-strong:var(--rose-strong);
 --ok-bg:#E1F2E3;--ok:#1F5B33;--warn-bg:#F8EACA;--warn:#6A470B;--bad-bg:#FADFE2;--bad:#8C2B3C;
 --nav-bg:rgba(255,248,243,.86);--nav-bg-top:rgba(255,248,243,.62);
 --sh-lo:rgba(158,98,92,.26);--sh-hi:rgba(255,255,255,.95);--hl:rgba(255,255,255,.88);--lo:rgba(165,100,95,.12);
 --clay:9px 11px 24px var(--sh-lo),-7px -7px 18px var(--sh-hi),inset 3px 4px 8px var(--hl),inset -3px -4px 8px var(--lo);
 --clay-sm:5px 6px 14px var(--sh-lo),-4px -4px 10px var(--sh-hi),inset 2px 2px 5px var(--hl),inset -2px -3px 5px var(--lo);
 --clay-lg:16px 22px 46px var(--sh-lo),-10px -10px 28px var(--sh-hi),inset 4px 5px 10px var(--hl),inset -4px -5px 10px var(--lo);
 --clay-in:inset 4px 5px 10px rgba(160,98,92,.2),inset -4px -4px 9px rgba(255,255,255,.95);
 --shadow-soft:var(--clay);--shadow-inset:var(--clay-in);--shadow-lift:var(--clay-lg);
 --card:linear-gradient(150deg,var(--surface-2),var(--surface));
 --mesh:radial-gradient(900px 520px at 88% -8%,rgba(248,196,204,.75),transparent 62%),radial-gradient(760px 520px at -6% 22%,rgba(252,222,190,.7),transparent 60%),radial-gradient(700px 480px at 70% 78%,rgba(246,208,218,.5),transparent 62%),linear-gradient(180deg,#FFF6EF,#FBEEE6 55%,#F7E3DB)}
[data-theme="dark"]{color-scheme:dark;
 --bg:#1A1216;--bg-2:#241A1F;--surface:#2A1E24;--surface-2:#35262E;--surface-3:#221920;--field:#21171D;
 --text:#F8ECE7;--muted:#D6C0BB;--border:#4B3640;
 --rose:#F0A0B3;--rose-strong:#F7B5C5;--rose-soft:#4B2B38;--rose-tint:#3A2530;
 --gold:#EBC87F;--gold-deco:#D9B46A;--gold-soft:#47381F;
 --btn-a:#F6B0C0;--btn-b:#E8839C;--btn-text:#3A1420;--btn-glow:rgba(232,131,156,.35);
 --ring:#FFD9A3;
 --ok-bg:#1F3A29;--ok:#A8E2B8;--warn-bg:#47381B;--warn:#F2D28C;--bad-bg:#4A2430;--bad:#FFB3C0;
 --nav-bg:rgba(42,30,36,.9);--nav-bg-top:rgba(42,30,36,.68);
 --sh-lo:rgba(0,0,0,.55);--sh-hi:rgba(255,255,255,.05);--hl:rgba(255,255,255,.08);--lo:rgba(0,0,0,.34);
 --clay-in:inset 4px 5px 10px rgba(0,0,0,.5),inset -3px -3px 8px rgba(255,255,255,.05);
 --mesh:radial-gradient(900px 520px at 90% -8%,rgba(176,84,118,.34),transparent 62%),radial-gradient(760px 520px at -6% 28%,rgba(120,80,60,.3),transparent 60%),radial-gradient(700px 480px at 70% 80%,rgba(150,70,110,.22),transparent 62%),linear-gradient(180deg,#1C1317,#171014)}
/* High contrast keeps the clay shapes but adds firm outlines and stronger text colours. */
html.a11y-high-contrast{--text:#000;--muted:#1b1b1b;--bg:#fff;--bg-2:#f3f3f3;--surface:#fff;--surface-2:#fff;--surface-3:#f1f1f1;--field:#fff;--border:#000;--rose-strong:#6a0f2a;--rose:#6a0f2a;--gold:#5a3d00;--btn-a:#7a1230;--btn-b:#5b0b22;--btn-text:#fff;--ring:#0036a8;--mesh:#fff;--nav-bg:#fff;--nav-bg-top:#fff;--rose-soft:#f6d7de;--gold-soft:#fff0c4}
html.a11y-high-contrast[data-theme="dark"]{--text:#fff;--muted:#f1f1f1;--bg:#000;--bg-2:#111;--surface:#0d0d0d;--surface-2:#141414;--surface-3:#000;--field:#000;--border:#fff;--rose-strong:#ffc2d1;--rose:#ffc2d1;--gold:#ffdf8a;--btn-a:#ffd0dc;--btn-b:#ffa6bf;--btn-text:#000;--ring:#7fb3ff;--mesh:#000;--nav-bg:#000;--nav-bg-top:#000;--rose-soft:#3a1424;--gold-soft:#3a2d00}
