/* colour schemes (2026-10-24): data-scheme on <html> recolours the accent, highlight and header; light and dark each get their own steps.
   Names match SCHEMES in server.js. "classic" (or none) is BackstockTCG blue, so these rules only override. Each light rule is (0,2,0) and
   each dark rule (0,3,0), so dark always wins in dark mode whatever order the page loads this file in; every dark rule sets every key its
   light rule sets. --tag carries white text (buttons, badges) in both modes, so each accent keeps white text at 4.5:1 or better */
:root[data-scheme=forest]{--tag:#15803d;--pbg:#15803d;--pfg:#fff;--chart:#15803d;--hl:#dcf5e3;--hdr:#06301a}
:root[data-scheme=sunset]{--tag:#c2410c;--pbg:#c2410c;--pfg:#fff;--chart:#c2410c;--hl:#ffe9dc;--hdr:#3a1406}
:root[data-scheme=grape]{--tag:#9333ea;--pbg:#9333ea;--pfg:#fff;--chart:#9333ea;--hl:#efe4fd;--hdr:#24104a}
:root[data-scheme=berry]{--tag:#db2777;--pbg:#db2777;--pfg:#fff;--chart:#db2777;--hl:#fde3ef;--hdr:#3d0a22}
/* high contrast: black on white, black lines, a deep blue accent; in dark mode white on black */
:root[data-scheme=contrast]{--tag:#0033cc;--pbg:#0033cc;--pfg:#fff;--chart:#0033cc;--hl:#fff2a8;--hdr:#000;
  --bg:#fff;--card:#fff;--ink:#000;--mute:#222;--line:#000;--field:#fff;--tile:#fff;--bad:#a00000;--ok:#005a1e}
@media(prefers-color-scheme:dark){
  :root[data-scheme=forest]:not([data-theme=light]){--tag:#15803d;--pbg:#15803d;--pfg:#fff;--chart:#22a352;--hl:#143524;--hdr:#04190e}
  :root[data-scheme=sunset]:not([data-theme=light]){--tag:#c2410c;--pbg:#c2410c;--pfg:#fff;--chart:#ea6a2c;--hl:#3d2416;--hdr:#1f0b04}
  :root[data-scheme=grape]:not([data-theme=light]){--tag:#9333ea;--pbg:#9333ea;--pfg:#fff;--chart:#a867f0;--hl:#2c1d47;--hdr:#140928}
  :root[data-scheme=berry]:not([data-theme=light]){--tag:#db2777;--pbg:#db2777;--pfg:#fff;--chart:#e85496;--hl:#3d1a2c;--hdr:#200512}
  :root[data-scheme=contrast]:not([data-theme=light]){--tag:#2f6bff;--pbg:#2f6bff;--pfg:#fff;--chart:#2f6bff;--hl:#3a3000;--hdr:#000;
    --bg:#000;--card:#0a0a0a;--ink:#fff;--mute:#e0e0e0;--line:#fff;--field:#000;--tile:#111;--bad:#ff9b9b;--ok:#7dffa6}}
:root[data-scheme=forest][data-theme=dark]{--tag:#15803d;--pbg:#15803d;--pfg:#fff;--chart:#22a352;--hl:#143524;--hdr:#04190e}
:root[data-scheme=sunset][data-theme=dark]{--tag:#c2410c;--pbg:#c2410c;--pfg:#fff;--chart:#ea6a2c;--hl:#3d2416;--hdr:#1f0b04}
:root[data-scheme=grape][data-theme=dark]{--tag:#9333ea;--pbg:#9333ea;--pfg:#fff;--chart:#a867f0;--hl:#2c1d47;--hdr:#140928}
:root[data-scheme=berry][data-theme=dark]{--tag:#db2777;--pbg:#db2777;--pfg:#fff;--chart:#e85496;--hl:#3d1a2c;--hdr:#200512}
:root[data-scheme=contrast][data-theme=dark]{--tag:#2f6bff;--pbg:#2f6bff;--pfg:#fff;--chart:#2f6bff;--hl:#3a3000;--hdr:#000;
  --bg:#000;--card:#0a0a0a;--ink:#fff;--mute:#e0e0e0;--line:#fff;--field:#000;--tile:#111;--bad:#ff9b9b;--ok:#7dffa6}
/* the picker (profile and Store settings): a row of swatches */
.schpick{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;margin:8px 0}
.schpick label{position:relative;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;cursor:pointer;font-size:14px;background:var(--card);color:var(--ink)}
.schpick label:has(input:checked){border:2px solid var(--tag);padding:7px 9px;font-weight:700}
.schpick input{position:absolute;opacity:0;pointer-events:none}.schpick label:has(input:focus-visible){outline:3px solid var(--tag);outline-offset:2px}
.schpick .schsw{flex:none;width:26px;height:26px;border-radius:8px;border:1px solid #0003;background:linear-gradient(135deg,var(--a) 0 50%,var(--h) 50%)}
