/* TOWER v0.3 "Ops Deck" — theme tokens.
   light  = championships.pokemon.com component language (extracted 28.OCT: navy #0c2340,
            yellow #ffcd00, sky #59ade9, rounded 8–16, offset shadow -3px 3px 0)
   dark   = DevOps terminal canvas (#0a0e12/#10161c, terminal green, mono, sharp corners)
   hc     = high-contrast accessibility mode (kept from v0.1 gov pattern: black + yellow)
   Status semantics are FIXED per theme and never borrowed by decoration:
   --red = shelter-level alert · --warn = drone alert · --ok = healthy · --accent = brand only */
:root, :root[data-theme="light"] {
  --bg: #eef1f5; --panel: #ffffff; --ink: #0c2340; --text: #22303f; --muted: #5b6675;
  --line: #dfe4ea; --wash: #f4f6f9;
  --brand: #0c2340; --accent: #ffcd00; --sky: #59ade9;
  --red: #ba432a; --red-ink: #ffffff; --warn: #e8820c; --warn-ink: #221300; --ok: #2f9e44; --ok-ink: #ffffff;
  --radius: 14px; --radius-sm: 8px;
  --shadow: -3px 3px 0 rgba(12, 35, 64, .14);
  --font: "Noto Sans", system-ui, sans-serif;
  --font-display: "Oxanium", "Noto Sans", sans-serif;
  --map-quiet: #e9edf2; --map-na: #b9c6d8; --map-stroke: #97a5b6;
}
:root[data-theme="dark"] {
  --bg: #0a0e12; --panel: #10161c; --ink: #3fb950; --text: #cdd9e5; --muted: #8b98a5;
  --line: #1f2833; --wash: #141b22;
  --brand: #10161c; --accent: #3fb950; --sky: #58a6ff;
  --red: #f85149; --red-ink: #160706; --warn: #d29922; --warn-ink: #1a1200; --ok: #3fb950; --ok-ink: #06170b;
  --radius: 3px; --radius-sm: 2px;
  --shadow: none;
  --font: ui-monospace, "SF Mono", Menlo, Consolas, "JetBrains Mono", monospace;
  --font-display: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --map-quiet: #131b23; --map-na: #274058; --map-stroke: #33475c;
}
html, body { margin: 0; padding: 0; }
body { font-family: var(--font); color: var(--text); background: var(--bg); line-height: 1.45; }
h1, h2, h3 { font-family: var(--font-display); color: var(--ink); margin: .2em 0; }
:root[data-theme="light"] h1, :root[data-theme="light"] h2, :root[data-theme="light"] .logo { font-weight: 800; letter-spacing: .01em; }
:root[data-theme="dark"] h1, :root[data-theme="dark"] h2 { font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
a { color: var(--sky); text-decoration: none; }
a:hover { text-decoration: underline; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 1px; }
code { font-family: ui-monospace, Menlo, monospace; }

/* high contrast (orthogonal to theme): black/yellow, monospace, no decoration */
html[data-contrast="hc"] { --bg: #fff; --panel: #fff; --ink: #000; --text: #000; --muted: #000; --line: #000; --wash: #fff;
  --brand: #000; --accent: #ff0; --sky: #000; --red: #000; --red-ink: #ff0; --warn: #000; --warn-ink: #ff0; --ok: #000; --ok-ink: #ff0;
  --radius: 0; --shadow: none; --font: ui-monospace, monospace; --font-display: ui-monospace, monospace;
  --map-quiet: #fff; --map-na: #fff; --map-stroke: #000; }
html[data-contrast="hc"] .card, html[data-contrast="hc"] .segcard { border: 2px solid #000 !important; }
html[data-contrast="hc"] a { text-decoration: underline; }

@media print { .utility, .pillars, .masthead-search { display: none !important; } }

/* ---------- v0.4 fun theme: FAITHFUL championships look (verified against their live CSS 28.OCT).
   Evidence: body{background-color:#fff} · nav .nav_bar{#ffcd00} · buttons white bg + #0c203f ink,
   hover-invert · footer #0b215a + border-top 26px solid #ffcd00 · offset shadow -3px 3px 0 rgba(0,0,0,.15)
   · radius 8 buttons / 35 detail cards · navy icon chips (#071c3b squares). Light site, NOT navy canvas. ---------- */
:root[data-theme="fun"] {
  --bg: #ffffff; --panel: #ffffff; --ink: #0c203f; --text: #101828; --muted: #5b6675;
  --line: #e2e6ec; --wash: #f4f6f9;
  --brand: #0c203f; --accent: #ffcd00; --sky: #2b6cb8;
  --red: #ba432a; --red-ink: #ffffff; --warn: #e8820c; --warn-ink: #221300; --ok: #2f9e44; --ok-ink: #ffffff;
  --radius: 18px; --radius-sm: 8px;
  --shadow: -3px 3px 0 rgba(12, 32, 63, .15);
  --font: "Noto Sans", system-ui, sans-serif;
  --font-display: "Oxanium", "Exo 2", "Noto Sans", sans-serif;
  --map-quiet: #f2f5f8; --map-na: #b9c6d8; --map-stroke: #d9d9d6;
}
:root[data-theme="fun"] h1, :root[data-theme="fun"] h2, :root[data-theme="fun"] h3 {
  color: var(--ink); font-family: var(--font-display); font-weight: 800; text-transform: uppercase; letter-spacing: .02em;
}
