/* shared design tokens and the base reset — loaded by every shell (solve page
   and wiki) before app.css and the page-specific stylesheet. Single source of
   truth: component stylesheets must not redefine these — every other
   stylesheet references colors exclusively through these custom properties
   (board.css's one stray literal aside, fixed below), so the dark-value
   blocks further down are the only place dark mode needs to be handled at
   all. There are two of them — the `prefers-color-scheme` media query for
   automatic dark mode, and `:root[data-theme="dark"]` for the manual
   override (`theme.js`) — kept with identical values; the media query is
   gated so an explicit light choice can veto OS dark. */
:root{
color-scheme:light dark;
--bg:#f7f2e8;--panel:#fffdf7;--ink:#2a2520;--muted:#7a7062;--line:#ddd5c6;--line2:#ccc2af;
--accent:#2b4a6f;--place:#4a7a4e;--elim:#96382e;--focus:#8a6316;--soft:#f1ece0;
--accent-ink:#fbf8ef;--accent-hi:color-mix(in srgb,var(--accent) 85%,#000);
--trivial:#7a7062;--orthogonality:#2b4a6f;--subset:#3c6b58;--fish:#46577a;--chain:#6a4a72;--forcing:#8a4636;
--serif:Palatino,"Palatino Linotype","Book Antiqua",Georgia,Cambria,"Times New Roman",serif;
--sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
:root[data-theme="light"]{color-scheme:light}
/* same warm/serif character, inverted: dark parchment rather than pure black,
   accent/family hues lightened for contrast on a dark panel instead of a
   light one. Every token above gets an override here — nothing is left to
   fall back to its light value under half-dark, half-light logic. */
@media (prefers-color-scheme:dark){
:root:not([data-theme="light"]){
--bg:#1b1814;--panel:#252019;--ink:#ece3d3;--muted:#a89a86;--line:#3d372b;--line2:#4d4436;
--accent:#82a9cf;--place:#7ec184;--elim:#e08277;--focus:#d6ac5b;--soft:#2a2419;
--accent-ink:#0f2333;
--trivial:#a89a86;--orthogonality:#82a9cf;--subset:#79c39d;--fish:#93a8cf;--chain:#c79bd0;--forcing:#e2937d;
}
}
/* explicit override, wins over OS preference either direction (see comment above) */
:root[data-theme="dark"]{
color-scheme:dark;
--bg:#1b1814;--panel:#252019;--ink:#ece3d3;--muted:#a89a86;--line:#3d372b;--line2:#4d4436;
--accent:#82a9cf;--place:#7ec184;--elim:#e08277;--focus:#d6ac5b;--soft:#2a2419;
--accent-ink:#0f2333;
--trivial:#a89a86;--orthogonality:#82a9cf;--subset:#79c39d;--fish:#93a8cf;--chain:#c79bd0;--forcing:#e2937d;
}
*{box-sizing:border-box}
/* shared component primitives (chips: recap rows, wiki links) */
.chip{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:0;font-size:12px;font-weight:600;color:var(--accent);border:none;background:color-mix(in srgb,var(--accent) 8%,transparent)}
.chip .dot{width:8px;height:8px;border-radius:0;background:var(--accent)}
[hidden]{display:none !important}
html,body{margin:0;padding:0}
