:root {
  --canvas: #d8d7d1;
  --paper: #ebe9e2;
  --white: #f4f2eb;
  --surf2: #e3e0d8;
  --surf3: #d9d6cd;
  --ink: #102a3d;
  --ink-soft: #344b5c;
  --muted: #5d6e79;
  --line: #bcb9b0;
  --line-dark: #98968e;
  --navy: #17324a;
  --navy-2: #21445f;
  --season-sky: #5b9fc7;
  --season-field: #56805a;
  --season-sun: #e6b83f;
  --season-haze: #e8dec3;
  --season-wash: rgba(91,159,199,.16);
  --season-ground: rgba(86,128,90,.08);
  --daypart-glow: rgba(230,184,63,.08);
  --daypart-sky: rgba(91,159,199,.08);
  --topbar-wash: rgba(91,159,199,.08);
  --hero-wash: rgba(23,50,74,.12);
  --panel-muted: #dfdcd4;
  --panel-translucent: rgba(235,233,226,.88);
  --chip-hover: #dcd9d1;
  --place: #8d650a;
  --law: #3977ef;
  --fire: #c55740;
  --medical: #2d9670;
  --traffic: #c8951d;
  --shadow-sm: 0 2px 0 rgba(16,42,61,.04);
  --shadow-lg: 0 10px 30px rgba(16,42,61,.08);
}

html[data-season="spring"] {
  --season-sky: #77a9c8;
  --season-field: #6f9868;
  --season-sun: #e1b94b;
  --season-haze: #e8e0c9;
  --season-wash: rgba(119,169,200,.19);
  --season-ground: rgba(111,152,104,.1);
}
html[data-season="summer"] {
  --season-sky: #4f99c6;
  --season-field: #4f7b54;
  --season-sun: #e9b936;
  --season-haze: #e6d8b5;
  --season-wash: rgba(79,153,198,.19);
  --season-ground: rgba(79,123,84,.1);
}
html[data-season="fall"] {
  --season-sky: #698ca6;
  --season-field: #8b6744;
  --season-sun: #c98532;
  --season-haze: #ded0b7;
  --season-wash: rgba(201,133,50,.17);
  --season-ground: rgba(139,103,68,.12);
}
html[data-season="winter"] {
  --season-sky: #7894aa;
  --season-field: #657782;
  --season-sun: #d1aa58;
  --season-haze: #dce1e1;
  --season-wash: rgba(120,148,170,.19);
  --season-ground: rgba(101,119,130,.1);
}
html[data-daypart="morning"] {
  --canvas: #d8d3c8;
  --paper: #eee9de;
  --white: #f8f4ea;
  --surf2: #e5ded1;
  --surf3: #d9d1c3;
  --ink: #17303f;
  --ink-soft: #3b505c;
  --muted: #66747b;
  --line: #bdb5a7;
  --line-dark: #979083;
  --navy: #1b3445;
  --navy-2: #27495d;
  --daypart-glow: rgba(237,174,83,.2);
  --daypart-sky: rgba(126,174,198,.11);
  --topbar-wash: rgba(237,174,83,.1);
  --hero-wash: rgba(237,174,83,.1);
  --panel-muted: #ddd6c9;
  --panel-translucent: rgba(238,233,222,.9);
  --chip-hover: #d8d0c2;
}
html[data-daypart="evening"] {
  --canvas: #172630;
  --paper: #21343f;
  --white: #f5f1e9;
  --surf2: #2a424e;
  --surf3: #35515f;
  --ink: #f4f1e9;
  --ink-soft: #d5e0e3;
  --muted: #a7bac1;
  --line: #415c68;
  --line-dark: #6b818a;
  --navy: #101d28;
  --navy-2: #1b3545;
  --daypart-glow: rgba(205,117,66,.22);
  --daypart-sky: rgba(76,111,143,.18);
  --topbar-wash: rgba(205,117,66,.1);
  --hero-wash: rgba(205,117,66,.11);
  --panel-muted: #29414c;
  --panel-translucent: rgba(33,52,63,.92);
  --chip-hover: #365361;
  --place: #efc76f;
  color-scheme: dark;
}
html[data-daypart="night"] {
  --canvas: #0c151b;
  --paper: #122129;
  --white: #edf3f4;
  --surf2: #192b34;
  --surf3: #21353e;
  --ink: #eef4f4;
  --ink-soft: #c6d3d6;
  --muted: #93a7ae;
  --line: #314751;
  --line-dark: #526b75;
  --navy: #07131b;
  --navy-2: #102631;
  --daypart-glow: rgba(232,185,73,.07);
  --daypart-sky: rgba(66,119,151,.2);
  --topbar-wash: rgba(66,119,151,.09);
  --hero-wash: rgba(66,119,151,.1);
  --panel-muted: #192a33;
  --panel-translucent: rgba(18,33,41,.94);
  --chip-hover: #263b45;
  --place: #f0ce78;
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; }
body {
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  color: var(--ink);
  background:
    radial-gradient(circle at 84% -8%, var(--daypart-glow), transparent 34rem),
    radial-gradient(circle at 9% 10%, var(--season-wash), transparent 27rem),
    radial-gradient(circle at 1px 1px, rgba(16,42,61,.04) 1px, transparent 0) 0 0 / 24px 24px,
    linear-gradient(180deg, var(--daypart-sky), transparent 430px),
    var(--canvas);
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 14px;
  line-height: 1.5;
}
a { color: inherit; }
button { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible { outline: 3px solid rgba(57,119,239,.32); outline-offset: 2px; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 100;
  color: #f1efe8;
  background: linear-gradient(110deg, var(--topbar-wash), transparent 42%), var(--navy);
  border-bottom: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 8px 28px rgba(16,42,61,.16);
}
.topbar::before {
  content: "";
  display: block;
  height: 6px;
  background: linear-gradient(90deg, var(--season-field) 0 28%, var(--season-sun) 28% 37%, var(--season-sky) 37% 100%);
}
.topbar-inner {
  width: min(1440px, 100%);
  min-height: 86px;
  margin: 0 auto;
  padding: 0 28px;
  display: flex;
  align-items: center;
  gap: 22px;
}
.logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #f1efe8;
  font-family: "IBM Plex Sans Condensed", sans-serif;
  letter-spacing: -.02em;
  text-decoration: none;
}
.logo-mark {
  width: 38px;
  height: 38px;
  position: relative;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 50%;
  background:
    radial-gradient(circle, var(--season-sun) 0 3px, transparent 4px 8px, rgba(117,182,218,.86) 9px 10px, transparent 11px 15px, rgba(117,182,218,.48) 16px 17px, transparent 18px),
    #f1efe8;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.55), 0 4px 13px rgba(5,17,26,.24);
}
.logo-mark::after {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(50% - 1px);
  width: 48%;
  height: 2px;
  transform: rotate(-28deg);
  transform-origin: left center;
  background: linear-gradient(90deg, var(--season-sun), transparent);
  animation: radar-sweep 4.8s linear infinite;
}
@keyframes radar-sweep { to { transform: rotate(332deg); } }
.logo-copy { display: flex; flex-direction: column; line-height: 1; }
.logo-name { font-size: 24px; font-weight: 700; letter-spacing: -.035em; }
.logo-radar { color: #75b6da; font-weight: 600; }
.logo-deck { margin-top: 5px; color: #a9bac5; font-family: "IBM Plex Mono", monospace; font-size: 8px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.edition-meta {
  padding-left: 21px;
  display: grid;
  grid-template-columns: auto auto;
  gap: 2px 14px;
  border-left: 1px solid rgba(255,255,255,.15);
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
  line-height: 1.45;
}
.edition-meta strong { grid-column: 1 / -1; color: #f1efe8; font-family: "IBM Plex Sans Condensed", sans-serif; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.edition-date { color: #a9bac5; }
.season-edition { color: #f0ca62; font-weight: 600; }
.desk-pill { padding: 4px 9px; color: #8de0b7; background: rgba(37,169,120,.12); border: 1px solid rgba(82,214,159,.32); border-radius: 3px; font-family: "IBM Plex Mono", monospace; font-size: 8px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.top-nav {
  height: 46px;
  margin-left: auto;
  padding: 3px;
  display: flex;
  align-items: stretch;
  gap: 2px;
  background: rgba(5,17,26,.42);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 5px;
}
.top-nav a {
  min-width: 100px;
  padding: 0 11px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  color: #b9c7d0;
  border-radius: 3px;
  font-family: "IBM Plex Sans Condensed", sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
}
.top-nav a:hover { color: #f1efe8; background: rgba(255,255,255,.07); }
.top-nav a.active { color: var(--navy); background: #eeece5; box-shadow: inset 0 -3px 0 var(--season-sky), 0 2px 8px rgba(5,17,26,.18); }
.nav-index { color: #78909f; font-family: "IBM Plex Mono", monospace; font-size: 7px; font-weight: 600; letter-spacing: 0; }
.top-nav a.active .nav-index { color: #627786; }

.hero-shell { padding: 24px 28px 12px; background: linear-gradient(180deg, var(--hero-wash), var(--season-ground) 64%, transparent); }
.desk-hero {
  width: min(1384px, 100%);
  min-height: 275px;
  margin: 0 auto;
  padding: 34px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 285px;
  gap: 46px;
  align-items: end;
  position: relative;
  overflow: hidden;
  background: var(--paper);
  border: 1px solid var(--line);
  border-top: 5px solid var(--season-sky);
  border-radius: 7px;
  box-shadow: var(--shadow-lg);
}
.desk-hero::before {
  content: "";
  position: absolute;
  width: 34%;
  height: 100%;
  right: 0;
  top: 0;
  background: linear-gradient(145deg, transparent 0 44%, var(--season-wash) 44% 62%, transparent 62%), linear-gradient(165deg, transparent 0 58%, var(--season-ground) 58%);
  pointer-events: none;
}
.desk-hero::after { content: ""; position: absolute; width: 38%; height: 5px; right: 0; bottom: 0; background: linear-gradient(90deg, var(--season-field), var(--season-sun), var(--season-sky)); }
.hero-copy, .hero-proof { position: relative; z-index: 1; }
.hero-kicker { display: flex; align-items: center; gap: 9px; color: var(--ink); font-family: "IBM Plex Mono", monospace; font-size: 9px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.hero-kicker::before { content: ""; width: 25px; height: 25px; background: var(--season-sun); border-radius: 2px; }
.desk-hero h1 { max-width: 930px; margin: 16px 0 14px; color: var(--ink); font-family: "IBM Plex Sans Condensed", sans-serif; font-size: clamp(42px, 5.3vw, 72px); font-weight: 700; line-height: .95; letter-spacing: -.04em; }
.hero-dek { max-width: 760px; margin: 0; color: var(--ink-soft); font-size: 15px; line-height: 1.65; }
.hero-legend { margin-top: 23px; display: flex; flex-wrap: wrap; gap: 10px 18px; color: var(--muted); font-family: "IBM Plex Mono", monospace; font-size: 8px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.hero-legend span { display: inline-flex; align-items: center; gap: 6px; }
.hero-legend i { width: 7px; height: 7px; border-radius: 50%; background: var(--law); }
.hero-legend span:nth-child(2) i { background: var(--season-sun); }
.hero-proof { padding: 21px; color: #edf3f4; background: var(--navy); border-top: 4px solid var(--season-sun); }
.proof-grid { display: grid; grid-template-columns: 1fr 1fr; }
.proof-stat { padding: 4px 13px 9px; border-left: 1px solid rgba(255,255,255,.14); }
.proof-stat:first-child { padding-left: 0; border-left: 0; }
.proof-number { display: block; font-family: "IBM Plex Sans Condensed", sans-serif; font-size: 38px; font-weight: 700; line-height: 1; }
.proof-label { display: block; margin-top: 5px; color: #b7c7d1; font-family: "IBM Plex Mono", monospace; font-size: 7px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.proof-note { margin: 15px 0 0; padding-top: 12px; color: #cad6dc; border-top: 1px solid rgba(255,255,255,.14); font-size: 10px; line-height: 1.55; }

.page-shell { width: min(1384px, calc(100% - 56px)); margin: 0 auto; padding: 24px 0 70px; }
.section-head { margin: 15px 0 18px; padding-bottom: 14px; display: flex; align-items: end; justify-content: space-between; gap: 28px; border-bottom: 1px solid var(--line-dark); }
.section-eyebrow { color: var(--law); font-family: "IBM Plex Mono", monospace; font-size: 8px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.section-head h2 { margin: 5px 0 0; font-family: "IBM Plex Sans Condensed", sans-serif; font-size: clamp(32px, 4vw, 48px); line-height: 1; letter-spacing: -.035em; }
.section-note { max-width: 530px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.loading, .empty-state { min-height: 210px; padding: 34px; display: grid; place-items: center; color: var(--muted); background: var(--paper); border: 1px solid var(--line); border-radius: 7px; text-align: center; }

.events { display: grid; gap: 22px; }
.event { --event-accent: var(--law); display: grid; grid-template-columns: minmax(280px, 385px) minmax(0, 1fr); overflow: hidden; background: var(--paper); border: 1px solid var(--line); border-top: 5px solid var(--event-accent); border-radius: 7px; box-shadow: var(--shadow-sm); scroll-margin-top: 110px; }
.event:nth-child(2) { --event-accent: var(--fire); }
.event:nth-child(3) { --event-accent: var(--season-field); }
.event-summary { padding: 25px 27px; background: linear-gradient(145deg, var(--season-wash), transparent 56%); border-right: 1px solid var(--line); }
.event-date { color: var(--event-accent); font-family: "IBM Plex Mono", monospace; font-size: 8px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.event h3 { margin: 9px 0 8px; font-family: "IBM Plex Sans Condensed", sans-serif; font-size: clamp(28px, 3vw, 39px); line-height: 1; letter-spacing: -.035em; }
.event-title-link { text-decoration: none; }
.event-title-link:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.event-location { color: var(--muted); font-size: 11px; font-weight: 600; }
.verified-pill { margin-top: 15px; padding: 5px 8px; display: inline-flex; align-items: center; gap: 6px; color: var(--event-accent); background: var(--panel-translucent); border: 1px solid var(--line); border-radius: 3px; font-family: "IBM Plex Mono", monospace; font-size: 7px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.verified-pill::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.dek { margin: 18px 0 0; color: var(--ink-soft); font-size: 13px; line-height: 1.6; }
.evidence-copy { margin-top: 21px; display: grid; gap: 14px; }
.evidence-copy div { padding-top: 12px; border-top: 1px solid var(--line); }
.evidence-copy strong { display: block; margin-bottom: 5px; color: var(--muted); font-family: "IBM Plex Mono", monospace; font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }
.evidence-copy p { margin: 0; color: var(--ink-soft); font-size: 10px; line-height: 1.55; }
.source-links { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; }
.source-link { margin-top: 18px; display: inline-flex; color: var(--event-accent); font-size: 10px; font-weight: 700; text-underline-offset: 3px; }
.timeline { position: relative; padding: 27px 29px 6px 44px; }
.timeline::before { content: ""; position: absolute; left: 32px; top: 35px; bottom: 31px; width: 1px; background: var(--line-dark); }
.step { position: relative; padding: 0 0 22px 15px; }
.step::before { content: ""; position: absolute; left: -18px; top: 8px; width: 9px; height: 9px; border-radius: 50%; background: var(--event-accent); box-shadow: 0 0 0 4px var(--paper); }
.step.reporting::before { border-radius: 1px; background: var(--season-sun); transform: rotate(45deg); }
.step-grid { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 15px; }
.step-time { padding-top: 2px; color: var(--muted); font-family: "IBM Plex Mono", monospace; font-size: 8px; text-transform: uppercase; }
.step-kind { margin-bottom: 4px; color: var(--event-accent); font-family: "IBM Plex Mono", monospace; font-size: 7px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.reporting .step-kind { color: var(--place); }
.step h4 { margin: 0; font-family: "IBM Plex Sans Condensed", sans-serif; font-size: 19px; line-height: 1.12; }
.step p { margin: 6px 0 0; color: var(--ink-soft); font-size: 11px; line-height: 1.55; }
.transcript { margin-top: 9px; padding: 8px 10px; background: var(--season-wash); border: 1px solid var(--line); border-radius: 4px; }
.transcript summary { cursor: pointer; color: var(--muted); font-family: "IBM Plex Mono", monospace; font-size: 8px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.transcript p { margin-top: 8px; font-family: "IBM Plex Mono", monospace; font-size: 9px; line-height: 1.6; }
.audio-row { margin-top: 10px; display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.audio-btn { min-height: 34px; padding: 0 11px; color: var(--navy); background: var(--season-sun); border: 1px solid var(--line-dark); border-radius: 3px; cursor: pointer; font-family: "IBM Plex Sans Condensed", sans-serif; font-size: 10px; font-weight: 700; }
.audio-btn:hover, .audio-btn.playing { color: #f1efe8; background: var(--navy-2); }
.audio-link, .audio-missing { color: var(--muted); font-family: "IBM Plex Mono", monospace; font-size: 7px; }
.method-note { margin-top: 22px; padding: 21px 24px; display: grid; grid-template-columns: 185px 1fr; gap: 25px; color: #d4e0e5; background: var(--navy); border-left: 5px solid var(--season-field); border-radius: 5px; }
.method-note strong { color: #f1efe8; font-family: "IBM Plex Sans Condensed", sans-serif; font-size: 14px; text-transform: uppercase; }
.method-note p { margin: 0; font-size: 10px; line-height: 1.65; }

.desk-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .7fr); gap: 22px; align-items: start; }
.panel { overflow: hidden; background: var(--paper); border: 1px solid var(--line); border-radius: 7px; box-shadow: var(--shadow-sm); }
.panel-head { padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--line); }
.panel-head h2, .panel-head h3 { margin: 0; font-family: "IBM Plex Sans Condensed", sans-serif; font-size: 24px; letter-spacing: -.025em; }
.panel-kicker { color: var(--muted); font-family: "IBM Plex Mono", monospace; font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }
.range-tabs { display: flex; gap: 4px; }
.range-tab { padding: 6px 8px; color: var(--muted); background: var(--surf2); border: 1px solid var(--line); border-radius: 3px; cursor: pointer; font-family: "IBM Plex Mono", monospace; font-size: 7px; font-weight: 700; }
.range-tab.active { color: var(--navy); background: var(--season-sun); }
.channel-strip { padding: 13px; display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 7px; background: var(--surf2); border-bottom: 1px solid var(--line); }
.channel-chip { min-width: 0; padding: 9px; background: var(--panel-translucent); border: 1px solid var(--line); border-top: 3px solid var(--season-sky); }
.channel-chip.active { border-top-color: var(--season-field); }
.channel-name { overflow: hidden; color: var(--ink); font-family: "IBM Plex Sans Condensed", sans-serif; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.channel-meta { margin-top: 3px; color: var(--muted); font-family: "IBM Plex Mono", monospace; font-size: 6px; text-transform: uppercase; }
.radio-list { display: grid; }
.radio-item { padding: 16px 18px; display: grid; grid-template-columns: 115px minmax(0, 1fr); gap: 18px; border-bottom: 1px solid var(--line); }
.radio-item:last-child { border-bottom: 0; }
.radio-meta { color: var(--muted); font-family: "IBM Plex Mono", monospace; font-size: 7px; line-height: 1.65; text-transform: uppercase; }
.radio-label { color: var(--law); font-weight: 700; }
.radio-item h3 { margin: 0 0 5px; font-family: "IBM Plex Sans Condensed", sans-serif; font-size: 18px; line-height: 1.15; }
.radio-item p { margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.55; }
.confidence-label { margin-top: 8px; color: var(--muted); font-family: "IBM Plex Mono", monospace; font-size: 6px; letter-spacing: .06em; text-transform: uppercase; }
.link-list { padding: 12px; display: grid; gap: 9px; }
.service-link { padding: 14px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 11px; align-items: center; color: inherit; background: var(--panel-translucent); border: 1px solid var(--line); border-radius: 4px; text-decoration: none; }
.service-link:hover { background: var(--chip-hover); border-color: var(--line-dark); }
.service-icon { width: 34px; height: 34px; display: grid; place-items: center; color: var(--navy); background: var(--season-sun); border-radius: 3px; font-family: "IBM Plex Mono", monospace; font-size: 8px; font-weight: 700; }
.service-link strong { display: block; font-family: "IBM Plex Sans Condensed", sans-serif; font-size: 15px; }
.service-link small { display: block; margin-top: 2px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.service-arrow { color: var(--muted); font-size: 15px; }
.source-note { margin: 12px; padding: 14px; color: var(--ink-soft); background: var(--surf2); border-left: 3px solid var(--season-sky); font-size: 9px; line-height: 1.6; }
.source-note strong { color: var(--ink); }

.race-status { padding: 19px; color: #edf3f4; background: var(--navy); border-top: 5px solid var(--season-sun); }
.race-status-label { color: #aac0cc; font-family: "IBM Plex Mono", monospace; font-size: 7px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.race-status h2 { margin: 8px 0 4px; font-family: "IBM Plex Sans Condensed", sans-serif; font-size: 30px; line-height: 1; }
.race-status p { margin: 0; color: #c9d6dc; font-size: 10px; line-height: 1.55; }
.race-grid { padding: 13px; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.race-card { min-height: 160px; padding: 18px; display: flex; flex-direction: column; color: inherit; background: var(--panel-translucent); border: 1px solid var(--line); border-top: 4px solid var(--season-sky); border-radius: 4px; text-decoration: none; }
.race-card:nth-child(2) { border-top-color: var(--fire); }
.race-card:nth-child(3) { border-top-color: var(--season-field); }
.race-card:nth-child(4) { border-top-color: var(--season-sun); }
.race-card:hover { background: var(--chip-hover); }
.race-card-kicker { color: var(--muted); font-family: "IBM Plex Mono", monospace; font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }
.race-card h3 { margin: 10px 0 6px; font-family: "IBM Plex Sans Condensed", sans-serif; font-size: 22px; line-height: 1; }
.race-card p { margin: 0 0 14px; color: var(--ink-soft); font-size: 10px; line-height: 1.55; }
.race-card span { margin-top: auto; color: var(--law); font-size: 9px; font-weight: 700; }

.review-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.review-toolbar[hidden] { display: none; }
.review-button { min-height: 34px; padding: 0 12px; color: var(--ink); background: var(--surf2); border: 1px solid var(--line-dark); border-radius: 3px; cursor: pointer; font-family: "IBM Plex Mono", monospace; font-size: 7px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.review-button:hover, .review-button.active { color: var(--navy); background: var(--season-sun); }
.review-button.primary { color: #edf3f4; background: var(--navy-2); border-color: var(--navy-2); }
.review-button.primary:hover { background: var(--season-field); }
.workspace-link { display: inline-flex; align-items: center; text-decoration: none; }
.candidate-list { display: grid; gap: 18px; }
.candidate-card { overflow: hidden; background: var(--paper); border: 1px solid var(--line); border-top: 5px solid var(--season-sky); border-radius: 7px; box-shadow: var(--shadow-sm); }
.candidate-card.strong { border-top-color: var(--season-field); }
.candidate-card.unmatched { border-top-color: var(--line-dark); }
.candidate-head { padding: 22px 24px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 22px; background: linear-gradient(140deg, var(--season-wash), transparent 62%); border-bottom: 1px solid var(--line); }
.candidate-kicker { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; color: var(--muted); font-family: "IBM Plex Mono", monospace; font-size: 7px; letter-spacing: .06em; text-transform: uppercase; }
.candidate-type { padding: 3px 6px; color: var(--navy); background: var(--season-sun); border-radius: 2px; font-weight: 700; }
.candidate-head h3 { margin: 9px 0 7px; font-family: "IBM Plex Sans Condensed", sans-serif; font-size: clamp(25px, 3vw, 37px); line-height: 1; letter-spacing: -.03em; }
.candidate-head h3 a { text-decoration-thickness: 1px; text-underline-offset: 4px; }
.candidate-head p { max-width: 780px; margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.55; }
.candidate-source-list { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 7px; }
.candidate-source-list a { padding: 4px 7px; color: var(--law); background: var(--panel-translucent); border: 1px solid var(--line); border-radius: 2px; font-family: "IBM Plex Mono", monospace; font-size: 7px; font-weight: 700; text-underline-offset: 2px; }
.candidate-score { min-width: 118px; padding: 14px; align-self: start; color: #edf3f4; background: var(--navy); border-top: 3px solid var(--season-sun); text-align: center; }
.candidate-score strong { display: block; font-family: "IBM Plex Sans Condensed", sans-serif; font-size: 33px; line-height: 1; }
.candidate-score span { display: block; margin-top: 5px; color: #b9cbd4; font-family: "IBM Plex Mono", monospace; font-size: 6px; letter-spacing: .06em; text-transform: uppercase; }
.candidate-actions { padding: 11px 24px; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; background: var(--surf2); border-bottom: 1px solid var(--line); }
.candidate-state { margin-right: auto; color: var(--muted); font-family: "IBM Plex Mono", monospace; font-size: 7px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.candidate-state::before { content: ""; width: 7px; height: 7px; margin-right: 6px; display: inline-block; border-radius: 50%; background: var(--traffic); }
.candidate-state.saved::before { background: var(--season-field); }
.candidate-state.published::before { background: var(--law); box-shadow: 0 0 0 3px rgba(46, 112, 146, .14); }
.candidate-state.dismissed::before { background: var(--line-dark); }
.match-list { padding: 16px; display: grid; gap: 12px; }
.match-card { padding: 17px; background: var(--panel-translucent); border: 1px solid var(--line); border-left: 4px solid var(--law); border-radius: 4px; }
.match-card strong { font-family: "IBM Plex Sans Condensed", sans-serif; font-size: 18px; }
.match-meta { margin: 3px 0 12px; color: var(--muted); font-family: "IBM Plex Mono", monospace; font-size: 7px; line-height: 1.5; text-transform: uppercase; }
.reason-list { margin-bottom: 12px; display: flex; flex-wrap: wrap; gap: 5px; }
.reason-chip { padding: 3px 6px; color: var(--law); background: var(--season-wash); border: 1px solid var(--line); border-radius: 2px; font-family: "IBM Plex Mono", monospace; font-size: 6px; font-weight: 700; text-transform: uppercase; }
.candidate-clips { display: grid; border-top: 1px solid var(--line); }
.candidate-clip { padding: 11px 0; display: grid; grid-template-columns: 100px minmax(0,1fr) auto; gap: 14px; align-items: start; border-bottom: 1px solid var(--line); }
.candidate-clip:last-child { border-bottom: 0; }
.clip-time { color: var(--muted); font-family: "IBM Plex Mono", monospace; font-size: 7px; line-height: 1.5; text-transform: uppercase; }
.clip-transcript { color: var(--ink-soft); font-size: 10px; line-height: 1.55; }
.private-audio-note { padding: 14px 18px; color: var(--ink-soft); background: var(--surf2); border-left: 4px solid var(--season-sun); font-size: 9px; line-height: 1.6; }
.private-audio-note strong { color: var(--ink); }

.site-footer { color: #ced9e0; background: var(--navy); border-top: 6px solid var(--season-field); }
.footer-inner { width: min(1384px, 100%); margin: 0 auto; padding: 28px; display: grid; grid-template-columns: minmax(220px,.8fr) minmax(0,1.5fr) auto; gap: 30px; align-items: start; }
.footer-brand { color: var(--white); font-family: "IBM Plex Sans Condensed", sans-serif; font-size: 18px; font-weight: 700; letter-spacing: -.02em; }
.footer-brand span { display: block; margin-top: 5px; color: #9eb3c0; font-family: "IBM Plex Mono", monospace; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.footer-standard { max-width: 640px; margin: 0; font-size: 10px; line-height: 1.65; }
.footer-nav { display: flex; flex-wrap: wrap; gap: 10px 14px; }
.footer-nav a { min-height: 44px; display: inline-flex; align-items: center; color: #ced9e0; font-size: 10px; font-weight: 600; text-decoration: none; }

@media (max-width: 1100px) {
  .edition-meta { display: none; }
  .top-nav a { min-width: 86px; }
  .event { grid-template-columns: 330px minmax(0,1fr); }
  .channel-strip { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .topbar { position: relative; }
  .topbar-inner { min-height: 56px; padding: 8px 12px 10px; flex-wrap: wrap; gap: 8px 10px; }
  .desk-pill { display: none; }
  .top-nav { width: 100%; height: auto; margin-left: 0; order: 3; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); }
  .top-nav a { min-width: 0; min-height: 44px; padding: 7px 9px; justify-content: center; font-size: 8px; text-align: center; }
  .hero-shell { padding: 10px 12px 4px; }
  .desk-hero { min-height: 0; padding: 22px; grid-template-columns: 1fr; gap: 24px; }
  .desk-hero h1 { font-size: clamp(38px, 9vw, 56px); }
  .hero-proof { max-width: 360px; }
  .page-shell { width: min(100% - 24px, 1384px); padding-top: 12px; }
  .section-head { display: block; }
  .section-note { margin-top: 9px; }
  .event { grid-template-columns: 1fr; }
  .event-summary { border-right: 0; border-bottom: 1px solid var(--line); }
  .desk-grid { grid-template-columns: 1fr; }
  .candidate-head { grid-template-columns: 1fr; }
  .candidate-score { width: 150px; }
  .footer-inner { grid-template-columns: 1fr; gap: 14px; padding: 24px 18px; }
}
@media (max-width: 560px) {
  .logo-mark { width: 30px; height: 30px; }
  .logo-name { font-size: 19px; }
  .logo-deck { font-size: 6px; }
  .top-nav { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .top-nav a { min-height: 44px; padding-inline: 7px; font-size: 9px; }
  .nav-index { display: none; }
  .hero-shell { padding-inline: 10px; }
  .desk-hero { padding: 18px; }
  .hero-kicker::before { width: 19px; height: 19px; }
  .hero-kicker { font-size: 7px; }
  .desk-hero h1 { margin-top: 12px; font-size: clamp(34px, 10.5vw, 46px); line-height: .98; }
  .hero-dek { font-size: 12px; line-height: 1.55; }
  .hero-proof { padding: 15px; }
  .proof-number { font-size: 31px; }
  .section-head h2 { font-size: 34px; }
  .event-summary { padding: 20px; }
  .timeline { padding: 22px 18px 3px 31px; }
  .timeline::before { left: 22px; }
  .step { padding-left: 8px; }
  .step::before { left: -13px; }
  .step-grid { grid-template-columns: 1fr; gap: 3px; }
  .method-note { grid-template-columns: 1fr; gap: 8px; padding: 18px; }
  .channel-strip { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .radio-item { grid-template-columns: 1fr; gap: 4px; }
  .race-grid { grid-template-columns: 1fr; }
  .race-card { min-height: 145px; }
  .candidate-head { padding: 18px; }
  .candidate-actions { padding-inline: 14px; }
  .candidate-clip { grid-template-columns: 1fr; gap: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
