/* Event and history pages. DESIGN.md rules: Archivo only, sentence case, flat, light only. No boxes, no shadows, no uppercase.
   Every color is a token below; the type ladder is the six --ev-* size vars (DESIGN.md hierarchy: 36/56, 24/30, body 16/16.5).
   Breakpoints: 560, 760, 1040. Nothing under 12.5px. Three list shapes: row, rowlink, tile. */
:root {
  --ev-ink: #1a1a1a;
  --ev-gray: #686862;      /* Caption Gray: captions, labels, method */
  --ev-quiet: #8b8b85;     /* Quiet Gray: axes, chevrons */
  --ev-rule: #e7e7e2;      /* hairlines */
  --ev-wash: #f1f1ec;
  --ev-line: #b9b9b2;      /* link underline, dashed guides */
  --ev-field: #d6d6d0;     /* form control border */
  --ev-bg: #ffffff;
  --ev-blue: #1d68a3;      /* what we measure or compute */
  --ev-blue-dk: #14507f;
  --ev-gold: #b7851a;      /* what people say */
  --ev-gold-text: #8a6200;
  --ev-win: #3a7a4b;
  --ev-loss: #bf3b31;
  --ev-body: 16px;
  --ev-small: 14px;
  --ev-label: 12.5px;
  --ev-h1: 36px;
  --ev-h2: 24px;
  --ev-wp-h: 220px;
}
@media (min-width: 760px) {
  :root { --ev-body: 16.5px; --ev-h1: 56px; --ev-h2: 30px; --ev-wp-h: 200px; }
}

.ev-card, .ev-lore, .ev-series {
  font-family: Archivo, system-ui, sans-serif;
  color: var(--ev-ink);
  background: var(--ev-bg);
}
.ev-card { padding: 12px 0; border-bottom: 1px solid var(--ev-rule); }
.ev-card-title, .ev-heading {
  margin: 0 0 4px;
  font-weight: 800;
  font-stretch: 78%;
  letter-spacing: 0;
  line-height: 1.15;
}
.ev-card-title { font-size: 20px; }
.ev-heading { font-size: var(--ev-h2); line-height: 1.1; }
.ev-card-title a, .ev-row-title { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.ev-card-title a:hover, .ev-row-title:hover { opacity: 0.7; }
.ev-what, .ev-felt, .ev-date { margin: 4px 0 0; font-size: 15px; line-height: 1.55; }
.ev-felt { color: var(--ev-gold-text); }
.ev-date { color: var(--ev-gray); font-size: var(--ev-small); }
.ev-list { list-style: none; margin: 0; padding: 0; }

/* Row: the one hairline list shape. */
.ev-row, .ev-brief li, .ev-fact, .ev-teams > li, .ev-timeline li, .ev-around li, .ev-game, .ev-sim, .ev-sagalist li, .ev-ld li, .ev-mq {
  border-bottom: 1px solid var(--ev-rule);
}
.ev-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; padding: 8px 0; }
.ev-row-date { min-width: 6.5rem; color: var(--ev-gray); font-size: var(--ev-small); }
.ev-row-felt { flex-basis: 100%; color: var(--ev-gold-text); font-size: var(--ev-small); }
@media (min-width: 760px) {
  .ev-row-felt { flex-basis: auto; }
}

/* Story page and front door. */
.ev-page { max-width: 44rem; margin: 0 auto; padding: 16px; font-family: Archivo, system-ui, sans-serif; font-size: var(--ev-body); line-height: 1.55; color: var(--ev-ink); background: var(--ev-bg); }
.ev-page select, .ev-page button, .ev-page input { font-family: inherit; }
.ev-title { margin: 8px 0; font-size: var(--ev-h1); font-weight: 800; font-stretch: 78%; line-height: 1.05; overflow-wrap: anywhere; text-wrap: balance; }
.ev-crumbs { margin: 0; font-size: var(--ev-small); color: var(--ev-gray); display: flex; flex-wrap: wrap; align-items: center; column-gap: 6px; }
.ev-crumbs a { color: inherit; display: inline-flex; align-items: center; min-height: 44px; padding: 0 2px; }
.ev-section { margin: 24px 0 0; }
.ev-facts { margin: 0; padding: 0; list-style: none; }
.ev-fact { padding: 8px 0; line-height: 1.55; }
.ev-src, .ev-asof { color: var(--ev-gray); font-size: var(--ev-small); line-height: 1.45; }
.ev-asof { margin: 8px 0 0; }
.ev-src a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.ev-fact .ev-src a, .ev-lede .ev-src a { display: inline-block; padding: 12px 0; margin: -12px 0; }
.ev-links a { color: inherit; }
.ev-footer { max-width: 44rem; margin: 32px auto 0; padding: 16px; font-family: Archivo, system-ui, sans-serif; font-size: var(--ev-small); line-height: 1.5; color: var(--ev-gray); }
.ev-footer a { color: inherit; display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px 0 0; }
.ev-foot-links { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 20px; }
a.brand { color: inherit; }

/* Marks, lead story, felt meter, front-door columns. Flat, no team color, no boxes. */
.ev-mark { width: 20px; height: 20px; object-fit: contain; vertical-align: -4px; margin-right: 8px; }
.ev-row .ev-mark { align-self: center; margin-right: 0; }
.ev-letters { display: inline-flex; align-items: center; justify-content: center; flex: none; box-sizing: border-box; overflow: hidden; border: 1px solid var(--ev-line); border-radius: 3px; font-size: var(--ev-label); font-weight: 800; line-height: 1; color: var(--ev-gray); }
.ev-lead { margin: 24px 0 0; padding: 14px 0 20px; border-top: 2px solid var(--ev-ink); border-bottom: 1px solid var(--ev-rule); }
.ev-lead-kicker { margin: 0 0 4px; font-size: var(--ev-small); color: var(--ev-gray); }
.ev-lead-title { margin: 0 0 8px; font-size: 36px; font-weight: 800; font-stretch: 78%; line-height: 1.05; display: flex; align-items: flex-start; gap: 14px; }
@media (min-width: 760px) { .ev-lead-title { font-size: 44px; } }
.ev-lead-title .ev-mark { width: 40px; height: 40px; flex: none; margin: 4px 0 0; vertical-align: baseline; }
.ev-lead-title a { color: inherit; text-decoration: underline; text-underline-offset: 3px; text-wrap: balance; }
.ev-lead-title a:hover { opacity: 0.7; }
.ev-lede { font-size: 18px; line-height: 1.5; }
.ev-lead .ev-what { max-width: 60ch; }
.ev-meter { margin: 8px 0 0; max-width: 24rem; }
.ev-meter-bar { display: flex; gap: 4px; height: 10px; }
.ev-meter-bar span { flex: 1; height: 100%; background: var(--ev-wash); border-radius: 2px; }
.ev-meter-bar span.on { background: var(--ev-gold); }
.ev-meter-words { margin: 6px 0 0; font-size: 15px; font-weight: 700; color: var(--ev-gold-text); }
.ev-seasons { margin: 0; display: flex; flex-wrap: wrap; gap: 4px 20px; }
.ev-seasons a { display: inline-flex; align-items: center; min-height: 44px; color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.ev-seasons a:hover { opacity: 0.7; }
@media (min-width: 760px) {
  .ev-cols { column-count: 2; column-gap: 32px; }
  .ev-cols .ev-row { break-inside: avoid; }
  .ev-cols .ev-row-date { min-width: 0; flex: 1 1 0; }
  .ev-cols .ev-row .ev-row-title { flex-basis: 100%; }
}
.ev-brief li { padding: 8px 0; font-size: 15px; border-bottom: 0; border-top: 1px solid var(--ev-rule); }
.ev-brief a { text-decoration: none; }
.ev-brief .ev-when { color: var(--ev-gray); margin-right: 8px; font-variant-numeric: tabular-nums; }

/* Links, hero, search, mobile. */
.ev-page a { color: inherit; text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--ev-line); }
.ev-page a:hover { opacity: 0.7; }
.ev-hero { display: flex; align-items: center; gap: 16px; margin: 12px 0 4px; }
.ev-hero-mark { width: 64px; height: 64px; object-fit: contain; flex: none; }
.ev-hero-text { min-width: 0; }
.ev-kicker { margin: 0 0 2px; font-size: var(--ev-small); color: var(--ev-gray); }
.ev-hero .ev-title { margin: 0; }
.ev-hero ~ .ev-lede { font-size: 18px; line-height: 1.5; }
.ev-deeper p { margin: 0; }
.ev-find { margin: 16px 0 0; }
.ev-find label { display: block; font-size: var(--ev-small); color: var(--ev-gray); margin-bottom: 4px; }
.ev-find input { width: 100%; max-width: 24rem; box-sizing: border-box; padding: 8px 10px; font: inherit; border: 1px solid var(--ev-field); border-radius: 3px; background: var(--ev-bg); color: var(--ev-ink); }
.ev-mark-none { width: 24px; height: 24px; flex: none; }
@media (max-width: 560px) {
  .ev-page { padding: 12px 16px; }
  .ev-hero { gap: 12px; }
  .ev-hero-mark { width: 44px; height: 44px; }
  .ev-row-date { min-width: 0; flex: 1 1 0; }
  .ev-row .ev-mark { width: 20px; height: 20px; }
  .ev-row .ev-row-title { flex-basis: 100%; }
  .ev-find input { max-width: none; }
  .ev-mark-none { width: 20px; height: 20px; }
}

/* Silhouette: how coverage rose and faded */
.ev-sil { margin: 4px 0 0; }
.ev-sil svg { display: block; width: 100%; height: auto; max-height: 190px; background: var(--ev-bg); }
.ev-sil-base { stroke: var(--ev-rule); stroke-width: 1; }
.ev-sil-area { fill: var(--ev-gold); fill-opacity: 0.88; }
.ev-sil-edge { fill: none; stroke: var(--ev-gold-text); stroke-width: 1.5; stroke-linejoin: round; }
.ev-sil-ghost { fill: none; stroke: var(--ev-line); stroke-width: 1.5; stroke-dasharray: 4 3; }
.ev-sil-end { stroke: var(--ev-gold-text); stroke-width: 2; }
.ev-sil-mark { fill: var(--ev-blue); cursor: pointer; outline: none; }
.ev-sil-mark:hover, .ev-sil-mark:focus { fill: var(--ev-blue-dk); stroke: var(--ev-blue); stroke-width: 6; stroke-opacity: 0.25; }
.ev-sil-label { font-size: 13px; fill: var(--ev-gray); font-family: inherit; }
.ev-sil-glabel { fill: var(--ev-quiet); }
.ev-sil-peak { fill: var(--ev-gold-text); stroke: var(--ev-bg); stroke-width: 1.5; }
.ev-sil-plabel { fill: var(--ev-ink); font-weight: 700; }
.ev-sil-cap { min-height: 1.4em; margin: 4px 0 0; font-size: 15px; color: var(--ev-ink); }
.ev-sil-cap a { color: inherit; margin-left: 4px; }
@media (max-width: 560px) { .ev-sil-label { font-size: 22px; } .ev-sil-mark { r: 7px; stroke: transparent; stroke-width: 18px; } .ev-sil svg { max-height: none; } }

.ev-day-bar { fill: var(--ev-gold); fill-opacity: 0.55; }
.ev-day-peak { fill-opacity: 0.95; }
.ev-oneday-line { margin: 4px 0 0; font-size: var(--ev-body); color: var(--ev-ink); }
.ev-sil-words { margin: 6px 0 0; font-size: var(--ev-body); color: var(--ev-ink); }
.ev-sil-words strong { color: var(--ev-gold-text); font-weight: 700; }
.ev-sims { display: grid; gap: 0; }
.ev-sim-link { display: flex; align-items: center; gap: 14px; padding: 8px 0; text-decoration: none !important; }
.ev-sim-title { font-weight: 600; text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--ev-line); }
.ev-mini { flex: none; width: 96px; height: 29px; }
.ev-mini path { fill: var(--ev-gold); fill-opacity: 0.88; }
.ev-sim-text { display: flex; flex-direction: column; min-width: 0; }
.ev-sim-why { font-size: var(--ev-label); color: var(--ev-gray); }

.ev-rarity { margin: 0 0 6px; font-weight: 700; color: var(--ev-gold-text); }
.ev-river { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 0 28px; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); }
.ev-river-item { border-top: 1px solid var(--ev-rule); }
.ev-page a.ev-river-link { display: flex; flex-direction: column; gap: 4px; padding: 12px 0 14px; text-decoration: none; }
.ev-river-fig { width: 100%; height: 48px; }
.ev-river-when { font-size: var(--ev-small); color: var(--ev-muted, #686862); }
.ev-river-title { display: flex; align-items: center; gap: 6px; font-weight: 700; line-height: 1.2; }
.ev-river-link:hover .ev-river-title { text-decoration: underline; text-underline-offset: 2px; }
.ev-river-felt { font-size: var(--ev-small); color: var(--ev-gold-text); }
.ev-river-title .ev-mark { margin-right: 0; flex: none; }

/* Actions and sharing */
.ev-actions { margin: 6px 0 0; font-size: 15px; color: var(--ev-gray); display: flex; flex-wrap: wrap; align-items: center; column-gap: 6px; }
.ev-actions a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px; }
.ev-share { margin: 16px 0 0; font-size: 15px; display: flex; flex-wrap: wrap; align-items: center; column-gap: 8px; }
.ev-share a, .ev-copy { display: inline-flex; align-items: center; min-height: 44px; }
.ev-copy, .ev-sharebtn { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--ev-line); }
.ev-sharebtn { font-size: 15px; min-height: 44px; }
.ev-copy:hover, .ev-sharebtn:hover { opacity: 0.7; }
.ev-sharebar { margin: 4px 0 0; }
.ev-sharebtn[hidden], .ev-share[hidden], .ev-filters[hidden] { display: none; }

.ev-status { font-weight: 700; color: var(--ev-gold-text); }
.ev-onrecord { margin: 6px 0 0; font-size: var(--ev-small); color: var(--ev-gray); }
.ev-context { margin: 0 0 16px; font-size: var(--ev-body); line-height: 1.55; color: var(--ev-ink); max-width: 60ch; }

/* Timeline rows (story pages): date, headline, and the outlet that reported it */
.ev-timeline .ev-tl { position: relative; display: flex; gap: 4px 14px; align-items: baseline; }
.ev-timeline .ev-when { flex: none; width: 6.5rem; }
.ev-tl-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ev-tl-title { font-weight: 600; overflow-wrap: anywhere; }
.ev-page .ev-tl-src { display: inline-flex; align-items: center; gap: 2px; font-size: var(--ev-small); color: var(--ev-gray); text-decoration: underline; text-underline-offset: 2px; }
.ev-page .ev-tl-src:hover { opacity: 0.7; }
.ev-tl-linked:hover .ev-tl-title { text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--ev-line); }
.ev-tl-linked .ev-tl-src::after { content: ""; position: absolute; inset: 0; }
.ev-timeline .ev-tl-end .ev-tl-title { font-weight: 400; color: var(--ev-gray); }
@media (max-width: 560px) {
  .ev-timeline .ev-tl { flex-direction: column; }
  .ev-timeline .ev-when { width: auto; }
}

/* tap targets: every link inside a story list is at least 44px tall */
.ev-list li > a, .ev-links a { display: inline-flex; align-items: center; min-height: 44px; }

/* games around the story: flat list, results only */
.ev-games { list-style: none; margin: 0; padding: 0; }
.ev-game { display: flex; gap: 10px; align-items: baseline; padding: 8px 0; font-variant-numeric: tabular-nums; }
.ev-gdate { min-width: 48px; color: var(--ev-gray); }
.ev-w { color: var(--ev-win); font-weight: 800; }
.ev-l { color: var(--ev-loss); font-weight: 800; }
.ev-t { font-weight: 800; }
.ev-game-mark { color: var(--ev-gray); font-style: normal; border-bottom: 2px solid var(--ev-ink); }
.ev-brief li.ev-cov { display: flex; flex-direction: column; gap: 3px; }
.ev-cov-head { font-weight: 600; text-decoration: underline; text-decoration-color: var(--ev-line); text-underline-offset: 3px; }
.ev-cov-by { font-size: var(--ev-small); color: var(--ev-gray); }
.ev-now-line { margin: 0 0 6px; font-size: var(--ev-body); line-height: 1.55; }
.ev-now-k { color: var(--ev-gray); margin-right: 4px; }
.ev-now-asof { margin: 8px 0 12px; font-size: var(--ev-small); color: var(--ev-gray); }
.ev-now-link { margin: 0; }
.ev-around { list-style: none; margin: 6px 0 0; padding: 0; }
.ev-around li { padding: 8px 0; font-size: 15px; line-height: 1.45; display: flex; align-items: flex-start; border-bottom: 0; border-top: 1px solid var(--ev-rule); }
.ev-around li:first-child { border-top: 0; }
.ev-mark.ev-mark-sm { width: 20px; height: 20px; object-fit: contain; vertical-align: -3px; margin-right: 8px; }
.ev-around .ev-mark-sm { margin-top: 2px; flex: none; }
.ev-around li > a:first-child { margin-left: 24px; }

.ev-ladder { list-style: none; margin: 14px 0 4px; padding: 0; display: flex; align-items: flex-end; gap: 6px; max-width: 360px; }
.ev-lad-step { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; gap: 6px; min-width: 0; }
.ev-lad-bar { display: block; background: var(--ev-rule); border-radius: 2px; }
.ev-lad-on .ev-lad-bar { background: var(--ev-gold); }
.ev-lad-name { font-size: var(--ev-label); line-height: 1.2; color: var(--ev-gray); min-height: 2.4em; }
.ev-lad-top .ev-lad-name { color: var(--ev-gold-text); font-weight: 700; }

/* Wide screens: the story reads in one column and the team context sits beside it. */
@media (min-width: 1040px) {
  .ev-page:has(.ev-rail) { max-width: 68rem; }
  .ev-body { display: flex; gap: 56px; align-items: flex-start; }
  .ev-col { flex: 1 1 0; min-width: 0; max-width: 44rem; }
  .ev-rail { flex: 0 0 17rem; position: sticky; top: 16px; border-left: 1px solid var(--ev-rule); padding-left: 24px; }
  .ev-rail .ev-section:first-child, .ev-col .ev-section:first-child { margin-top: 0; }
  .ev-page:has(.ev-rail) + .ev-footer { max-width: 68rem; }
}
.ev-rail .ev-section:first-child { margin-top: 24px; }

/* History game pages: one scoreboard (the score is the one loud number), winner in ink, loser gray. Flat, no team color. */
.ev-score { display: grid; gap: 2px; margin: 18px 0 6px; font-size: var(--ev-body); }
.ev-score span { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; border-bottom: 1px solid var(--ev-rule); padding: 6px 0; }
.ev-score b { font-size: 46px; line-height: 1; font-weight: 900; font-stretch: 78%; }
.ev-rank { font-size: var(--ev-small); color: var(--ev-gray); }
.ev-board { display: grid; gap: 0; margin: 16px 0 8px; border-top: 1px solid var(--ev-rule); }
.ev-side { position: relative; display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--ev-rule); color: var(--ev-gray); }
.ev-side-mark { width: 44px; height: 44px; object-fit: contain; }
.ev-who { display: flex; flex-direction: column; min-width: 0; }
.ev-name { font-size: 20px; font-weight: 700; line-height: 1.2; overflow-wrap: anywhere; }
.ev-name a { color: inherit; text-decoration: none; }
.ev-name a:hover { opacity: 0.72; }
.ev-name a::after { content: ""; position: absolute; inset: 0; }
.ev-side b { font-size: 46px; line-height: 1; font-weight: 900; font-stretch: 78%; font-variant-numeric: tabular-nums; }
@media (min-width: 760px) { .ev-score b, .ev-side b { font-size: 56px; } }
.ev-win { color: var(--ev-ink); }
.ev-win .ev-rank { color: var(--ev-gray); }
.ev-wl { font-style: normal; font-size: 13px; font-weight: 800; margin-left: 8px; vertical-align: middle; }
.ev-stakes { margin: 10px 0 2px; font-size: var(--ev-body); }
.ev-venue { margin: 4px 0 10px; font-size: var(--ev-small); color: var(--ev-gray); }

/* Lists with a logo, a pair of lines, or a chevron: rowlink */
.ev-rowlink, .ev-list li > a.ev-rowlink { display: grid; grid-template-columns: 26px 1fr auto; align-items: center; gap: 12px; min-height: 44px; color: inherit; text-decoration: none; }
a.ev-rowlink:hover { opacity: 0.72; }
.ev-rowlink small { display: block; color: var(--ev-gray); font-size: var(--ev-small); font-weight: 400; }
.ev-rowlink b { font-weight: 700; }
.ev-row-mark { width: 26px; height: 26px; object-fit: contain; }
.ev-chev { color: var(--ev-quiet); font-size: 22px; }
.ev-teams > li { padding: 8px 0; }
.ev-rl-text, .ev-list li > a.ev-rl-text { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; text-align: left; }
.ev-rl-text .ev-line { font-size: 17px; }
.ev-rl-text small { color: var(--ev-gray); font-size: var(--ev-small); }
.ev-list li > a.ev-next, .ev-next { display: flex; align-items: center; min-height: 44px; margin-left: 38px; font-size: 15px; color: inherit; }
.ev-next em { font-style: normal; color: var(--ev-gray); font-size: var(--ev-small); margin-right: 4px; }
.ev-next .ev-wl { margin: 0 6px 0 0; }
a.ev-next:hover { opacity: 0.72; }
.ev-wp { display: block; width: 100%; height: 140px; margin: 6px 0; }
.ev-myteam, .ev-filters { margin: 14px 0; font-size: 15px; }
.ev-myteam select { min-height: 44px; font: inherit; font-size: 16px; margin-left: 8px; padding: 0 8px; border: 1px solid var(--ev-field); border-radius: 3px; background: var(--ev-bg); color: var(--ev-ink); }
.ev-tl-h { margin-top: 32px; }
.ev-month { margin: 20px 0 4px; font-size: 15px; font-weight: 700; color: var(--ev-gray); }
.ev-timeline li { display: grid; grid-template-columns: 5rem 1fr; gap: 8px; align-items: baseline; padding: 2px 0; }
.ev-timeline .ev-when { white-space: nowrap; color: var(--ev-gray); font-variant-numeric: tabular-nums; font-size: var(--ev-small); }
.ev-days li { grid-template-columns: 3.2rem 1fr; }
.ev-timeline .ev-line .ev-mark-sm { width: 20px; height: 20px; object-fit: contain; vertical-align: -4px; margin-right: 5px; }
@media (min-width: 560px) { .ev-timeline li { grid-template-columns: 6.8rem 1fr; } }
@media (max-width: 560px) { .ev-days li { grid-template-columns: 2.8rem 1fr; } }

/* Before and after (coach pages) */
.ev-ba { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 16px 0; border-top: 1px solid var(--ev-rule); border-bottom: 1px solid var(--ev-rule); }
.ev-ba-col { padding: 12px 16px 12px 0; }
.ev-ba-col + .ev-ba-col { padding-left: 16px; border-left: 1px solid var(--ev-rule); }
.ev-ba-h { margin: 0 0 6px; font-size: var(--ev-small); color: var(--ev-gray); font-weight: 700; }
.ev-ba-col p { margin: 0 0 8px; }
.ev-ba-role { display: block; font-size: var(--ev-small); color: var(--ev-gray); }
.ev-ba-col b { font-size: 18px; }
.ev-ba-col small { display: block; color: var(--ev-gray); font-size: var(--ev-small); }
@media (max-width: 560px) { .ev-ba { grid-template-columns: 1fr; } .ev-ba-col + .ev-ba-col { padding-left: 0; border-left: 0; border-top: 1px solid var(--ev-rule); } }
.ev-trend { width: 100%; border-collapse: collapse; margin: 8px 0 0; font-variant-numeric: tabular-nums; }
.ev-trend th, .ev-trend td { padding: 8px 12px 8px 0; border-bottom: 1px solid var(--ev-rule); text-align: left; font-weight: 400; vertical-align: baseline; }
.ev-trend td:nth-child(2) { font-weight: 700; }
.ev-trend td:last-child { color: var(--ev-gray); font-size: var(--ev-small); }
.ev-tr-now th, .ev-tr-now td:nth-child(2) { font-weight: 800; }

/* Win probability: labelled axes, a tint for who was ahead, the low point marked. Two drawings, switched at 760px. */
.ev-wpbox { display: grid; grid-template-columns: 2.8rem 1fr; gap: 6px; margin-top: 6px; }
.ev-wp-y { display: flex; flex-direction: column; justify-content: space-between; height: var(--ev-wp-h); font-size: 13px; color: var(--ev-gray); text-align: right; line-height: 1; }
.ev-wp-plot { position: relative; height: var(--ev-wp-h); }
.ev-wp-plot .ev-wp { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; }
.ev-wp-narrow { display: block; }
.ev-wp-wide { display: none; }
@media (min-width: 760px) { .ev-wp-narrow { display: none; } .ev-wp-wide { display: block; } }
.ev-wp-ahead { fill: var(--ev-blue); fill-opacity: 0.07; }
.ev-wp-behind { fill: var(--ev-gray); fill-opacity: 0.07; }
.ev-wp-mid { stroke: var(--ev-line); stroke-width: 1; stroke-dasharray: 3 4; vector-effect: non-scaling-stroke; }
.ev-wp-line { fill: none; stroke: var(--ev-blue); stroke-width: 2.5; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.ev-wp-side { position: absolute; left: 8px; font-size: 13px; color: var(--ev-gray); }
.ev-wp-top { top: 6px; }
.ev-wp-bot { bottom: 6px; }
.ev-wp-dot { position: absolute; z-index: 1; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: var(--ev-blue); border: 2px solid var(--ev-bg); box-sizing: content-box; }
.ev-wp-low { position: absolute; transform: translate(14px, -50%); font-size: 13px; font-weight: 700; white-space: nowrap; }
.ev-wp-low.ev-wp-left { transform: translate(calc(-100% - 14px), -50%); }
.ev-wp-x { display: flex; justify-content: space-between; margin: 2px 0 6px calc(2.8rem + 6px); font-size: 13px; color: var(--ev-gray); }

/* Box score leaders */
.ev-leaders { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 28px; }
.ev-ld-h { display: flex; align-items: center; gap: 8px; margin: 0 0 4px; font-size: 18px; font-weight: 700; }
.ev-ld { list-style: none; margin: 0; padding: 0; }
.ev-ld li { display: flex; flex-direction: column; padding: 8px 0; border-bottom: 0; border-top: 1px solid var(--ev-rule); }
.ev-ld-k { font-size: var(--ev-label); color: var(--ev-gray); }
.ev-ld small { font-size: var(--ev-small); color: var(--ev-gray); font-weight: 400; }
@media (max-width: 560px) { .ev-leaders { grid-template-columns: 1fr; } }

/* Season hub */
.ev-strip { display: flex; flex-wrap: wrap; gap: 8px 36px; margin: 12px 0 4px; }
.ev-strip dt { font-size: var(--ev-label); color: var(--ev-gray); }
.ev-strip dd { margin: 0; font-size: 18px; font-weight: 700; }
.ev-strip a { color: inherit; display: inline-flex; align-items: center; min-height: 44px; }
.ev-lede > a:only-child { display: inline-flex; align-items: center; min-height: 44px; }
.ev-heading a { display: inline-flex; align-items: center; min-height: 44px; }
.ev-myteam { margin: 8px 0; }
.ev-mqgrid { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
@media (min-width: 760px) { .ev-mqgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* Tile: a marquee game as two score rows */
.ev-mq { border-bottom: 0; border-top: 1px solid var(--ev-rule); }
.ev-mq a { display: flex; flex-direction: column; gap: 6px; padding: 12px 0 16px; color: inherit; text-decoration: none; min-height: 44px; }
.ev-mq a:hover { opacity: 0.72; }
.ev-mq-note { font-size: var(--ev-label); color: var(--ev-gray); line-height: 1.25; min-height: 2.5em; }
.ev-mq-row { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 8px; align-items: center; color: var(--ev-gray); }
.ev-mq-row.ev-win { color: var(--ev-ink); }
.ev-mq-row b { font-size: 28px; line-height: 1; font-weight: 900; font-stretch: 78%; font-variant-numeric: tabular-nums; }
.ev-mq-mark { width: 26px; height: 26px; object-fit: contain; }
.ev-mq-name { font-weight: 700; font-size: 15px; line-height: 1.15; overflow-wrap: break-word; hyphens: manual; }
.ev-mq-date { font-size: var(--ev-label); color: var(--ev-gray); }

/* One sticky text nav (months, sections); filters below it use the same underlined-text style. */
.ev-jump { position: sticky; top: 0; z-index: 5; display: flex; overflow-x: auto; background: var(--ev-bg); border-bottom: 1px solid var(--ev-rule); margin: 14px -16px 0; padding: 0 16px; scrollbar-width: none; }
.ev-jump::-webkit-scrollbar { display: none; }
.ev-jump a, .ev-filters a { flex: none; display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px 0 0; color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-decoration-color: var(--ev-line); text-underline-offset: 6px; }
.ev-jump a[aria-current], .ev-filters a[aria-current="true"] { font-weight: 700; text-decoration-thickness: 2px; text-decoration-color: var(--ev-ink); }
.ev-filters { display: flex; overflow-x: auto; white-space: nowrap; margin: 6px 0 0; scrollbar-width: none; }
.ev-month-sec, #bowls { scroll-margin-top: 56px; }
.ev-more summary { display: flex; align-items: center; min-height: 44px; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; font-size: 15px; }

/* Playoff page */
.ev-sagalist li { display: block; padding: 12px 0; border-bottom: 0; border-top: 1px solid var(--ev-rule); }
.ev-sg-meta { margin: 0 0 2px; font-size: var(--ev-small); color: var(--ev-gray); }
.ev-sg-link, .ev-list li > a.ev-sg-link { display: block; color: inherit; text-decoration: none; }
.ev-sg-link:hover { opacity: 0.72; }
.ev-board-sm { margin: 4px 0 0; border-top: 0; }
.ev-board-sm .ev-side { padding: 8px 0; }
.ev-deeper .ev-brief a { gap: 8px; }

/* Game scrubber (events/scrubber.py). Flat, tokens only. The readout box is reserved so the page never shifts. */
.ev-scrub-layer { position: absolute; inset: 0; pointer-events: none; z-index: 2; }
.ev-hit { position: absolute; inset: 0; z-index: 1; touch-action: pan-y; cursor: col-resize; -webkit-tap-highlight-color: transparent; }
.ev-hit:focus-visible { outline: 2px solid var(--ev-ink); outline-offset: 2px; }
.ev-cur { position: absolute; top: 0; bottom: 0; width: 0; border-left: 1px solid var(--ev-ink); pointer-events: none; z-index: 1; }
.ev-curdot { position: absolute; z-index: 1; width: 14px; height: 14px; margin: -7px 0 0 -7px; box-sizing: border-box; border: 2px solid var(--ev-ink); border-radius: 50%; background: var(--ev-bg); pointer-events: none; }
.ev-mk { position: absolute; width: 44px; height: 44px; margin: -22px 0 0 -22px; display: grid; place-items: center; pointer-events: auto; color: var(--ev-ink); text-decoration: none; font-size: var(--ev-label); font-weight: 700; line-height: 1; -webkit-tap-highlight-color: transparent; }
.ev-mk b { display: grid; place-items: center; width: 20px; height: 20px; box-sizing: border-box; border: 1.5px solid var(--ev-ink); border-radius: 50%; background: var(--ev-bg); font-weight: 700; }
.ev-mk:hover { opacity: 0.7; }
.ev-mk:focus-visible { outline: 2px solid var(--ev-ink); outline-offset: -4px; }
.ev-mk.on b { background: var(--ev-ink); color: var(--ev-bg); }
.ev-rd { min-height: 7.6em; margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--ev-rule); font-variant-numeric: tabular-nums; }
.ev-rd p { margin: 0; }
@media (min-width: 760px) { .ev-rd { min-height: 5.8em; } }
.ev-rd-top { font-size: var(--ev-body); line-height: 1.4; }
.ev-rd-top b { margin-right: 8px; }
.ev-rd-wp { margin-top: 2px; font-size: var(--ev-body); font-weight: 700; color: var(--ev-blue); line-height: 1.4; }
.ev-rd-play { margin-top: 4px; font-size: var(--ev-small); color: var(--ev-gray); line-height: 1.5; }
.ev-ctl { display: flex; flex-wrap: wrap; align-items: center; gap: 0 18px; margin: 2px 0 6px; }
.ev-ctl[hidden], .ev-stick[hidden], .ev-replay[hidden] { display: none; }
.ev-ctl button { font: inherit; font-size: var(--ev-small); min-height: 44px; padding: 0 2px; background: none; border: 0; color: var(--ev-ink); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.ev-ctl button:hover { opacity: 0.7; }
.ev-ctl button:focus-visible { outline: 2px solid var(--ev-ink); outline-offset: 2px; }
.ev-replay { display: inline-flex; align-items: center; gap: 4px 12px; }
.ev-ctl .ev-play { padding: 0 14px; border: 1px solid var(--ev-ink); border-radius: 3px; font-weight: 700; text-decoration: none; }
.ev-speeds { display: inline-flex; gap: 6px; }
.ev-speeds button { min-width: 44px; text-decoration-color: var(--ev-line); }
.ev-speeds button[aria-pressed="true"] { font-weight: 800; text-decoration-color: var(--ev-ink); text-decoration-thickness: 2px; }
.ev-hint { flex-basis: 100%; font-size: var(--ev-label); color: var(--ev-gray); line-height: 1.5; }
.ev-subhead { margin: 16px 0 0; font-size: 18px; font-weight: 800; font-stretch: 78%; line-height: 1.2; }
.ev-moments { list-style: none; margin: 4px 0 0; padding: 0; }
.ev-moments li { border-bottom: 1px solid var(--ev-rule); scroll-margin-top: 64px; }
.ev-mrow { display: grid; grid-template-columns: 28px 1fr; gap: 0 10px; align-items: start; min-height: 56px; padding: 10px 0; color: inherit; text-decoration: none; }
.ev-mrow:hover { opacity: 0.72; }
.ev-mrow > b { display: grid; place-items: center; width: 22px; height: 22px; margin-top: 1px; box-sizing: border-box; border: 1.5px solid var(--ev-ink); border-radius: 50%; font-size: var(--ev-label); font-weight: 700; }
.ev-mrow > span { display: block; }
.ev-mrow-t, .ev-mrow-s, .ev-mrow-p { display: block; }
.ev-moments .ev-mrow, .ev-moments .ev-mrow:hover { text-decoration: none; }
.ev-moments .ev-mrow-s, .ev-moments .ev-mrow-p { text-decoration: none; }
.ev-mrow-t { font-weight: 700; font-size: var(--ev-small); font-variant-numeric: tabular-nums; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--ev-line); }
.ev-mrow-s { color: var(--ev-blue); font-size: var(--ev-small); }
.ev-mrow-p { margin-top: 2px; color: var(--ev-gray); font-size: var(--ev-small); line-height: 1.5; }
.ev-stick { position: fixed; top: 0; left: 0; right: 0; z-index: 30; height: 48px; display: flex; align-items: center; justify-content: center; padding: 0 16px; background: var(--ev-bg); border-bottom: 1px solid var(--ev-rule); font-size: var(--ev-small); font-weight: 700; font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: reduce) { .ev-replay { display: none; } }

/* Big moments (Track B) */
.ev-moments .ev-mlist{list-style:none;margin:0;padding:0;counter-reset:m}
.ev-moments .ev-m{display:grid;grid-template-columns:2rem 1fr;gap:.25rem .5rem;padding:.7rem 0;border-top:1px solid var(--ev-rule);counter-increment:m}
.ev-moments .ev-m:first-child{border-top:0}
.ev-moments .ev-m::before{content:counter(m);font-weight:800;color:var(--ev-blue);grid-column:1;grid-row:1 / span 2}
.ev-moments .ev-m > *{grid-column:2;min-width:0}
.ev-moments .ev-m-when{font-weight:700}
.ev-moments .ev-m p{margin:.15rem 0 0;color:var(--ev-gray)}

/* Hub rows: swing line (events/history_pages.py _spark). Drawn only from a feed that passed its score checks. */
.ev-sub { display: flex; align-items: center; gap: 12px; min-height: 16px; }
.ev-spark { flex: none; width: 60px; height: 16px; overflow: visible; }
.ev-spark-mid { stroke: var(--ev-rule); stroke-width: 1; }
.ev-spark-line { fill: none; stroke: var(--ev-blue); stroke-width: 1.5; stroke-linejoin: round; stroke-linecap: round; }
.ev-crest { width: 14px; height: 14px; margin-right: 6px; vertical-align: -2px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.ev-jump, .ev-filters { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent); }
@media (min-width: 760px) { .ev-jump, .ev-filters { -webkit-mask-image: none; mask-image: none; } }
/* a phone shows every filter at once (two short rows) instead of a row that hides its last label */
@media (max-width: 759px) { .ev-filters { flex-wrap: wrap; overflow: visible; white-space: normal; -webkit-mask-image: none; mask-image: none; } }
.ev-name a { display: inline-flex; align-items: center; min-height: 44px; }
@media print {
  nav, header, .ev-jump, .ev-filters, .ev-share, .ev-sharebar, .ev-deeper, .ev-footer, footer, button, [data-scrub-controls] { display: none !important; }
  body, .ev-page { background: #fff; color: #000; }
  .ev-page { max-width: none; padding: 0; }
  a { color: inherit; text-decoration: none; }
  .ev-section { break-inside: avoid; }
}
.ev-bricks { display: flex; flex-wrap: wrap; gap: 2px; list-style: none; margin: 8px 0 4px; padding: 0; }
.ev-brick { box-sizing: border-box; width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; line-height: 1; color: #fff; border: 2px solid transparent; border-radius: 2px; }
.ev-b-w { background: #3a7a4b; }
.ev-b-l { background: #bf3b31; }
.ev-b-t { background: #686862; }
.ev-b-now { border-color: #111; box-shadow: none; outline: 2px solid #fff; outline-offset: -4px; }
.ev-b-later { background: transparent; color: #686862; border: 1px dashed #aaa; }
.ev-bricks-s { gap: 2px; flex-wrap: nowrap; }
.ev-bricks-s .ev-brick { width: 32px; height: 44px; flex-direction: column; border-radius: 3px; padding: 0; }
.ev-bricks-s .ev-brick a, .ev-bricks-s .ev-brick span { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; color: inherit; text-decoration: none; }
.ev-bricks-s .ev-brick b { font-size: 14px; }
.ev-bricks-s .ev-brick small { font-size: 13px; font-weight: 400; opacity: 0.9; }
@media (max-width: 380px) { .ev-bricks-s .ev-brick { width: 30px; } }
.ev-st { display: block; width: 100%; height: auto; max-width: 560px; margin: 8px 0 4px; overflow: visible; }
.ev-st-line { fill: none; stroke: #1d68a3; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.ev-st-dot { fill: #fff; stroke: #1d68a3; stroke-width: 2; }
.ev-st-now { fill: #1d68a3; }
.ev-st-cut { stroke: #aaa; stroke-width: 1; stroke-dasharray: 3 3; }
.ev-st-num, .ev-st-yr, .ev-st-rec { font: 13px Archivo, sans-serif; fill: #111; }
.ev-st-yr, .ev-st-rec { fill: #686862; }
.ev-tbl { margin: 8px 0 0; font-size: 15px; }
.ev-tbl summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.ev-tbl table { border-collapse: collapse; width: 100%; }
.ev-tbl th, .ev-tbl td { text-align: left; padding: 6px 8px 6px 0; border-top: 1px solid #e7e7e2; }
.ev-tbl caption { text-align: left; color: #686862; padding-bottom: 4px; }

/* The one History sub-nav (events/chrome.history_bar), the same bar the curated History pages carry: underlined text links, the current
   page bold with a 3px underline. Owner ruling 2026-10-12 (one front door, one header, one sub-nav). */
.ev-bar { border-bottom: 1px solid #d9d9d3; font-family: Archivo, "Helvetica Neue", Arial, sans-serif; }
.ev-bar .ev-in { max-width: 44rem; margin: 0 auto; padding: 0 16px; }
.ev-bar ul { display: flex; gap: 0 20px; overflow-x: auto; white-space: nowrap; font-size: 15px; list-style: none; margin: 0; padding: 0; }
.ev-bar li { border: 0; padding: 0; }
.ev-bar a { display: inline-flex; align-items: center; min-height: 44px; color: #222; text-underline-offset: 2px; }
.ev-bar a:hover { opacity: 0.7; }
.ev-bar a[aria-current] { font-weight: 700; text-decoration: none; border-bottom: 3px solid #222; }
