/* Horse-Oracle — Today's Board (Races page). Theme 2.3.0 candidate (board v2).
   Reads the tokens in todays-board.tokens.css (already present in screen.css from 2.0.0 onward, plus the cloth tokens).
   Every selector is a single class under .tb so nothing here fights screen.css. */

@font-face{font-family:"Libre Caslon Text";src:url("../fonts/LibreCaslonText-var.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap;}
@font-face{font-family:"Libre Caslon Text";src:url("../fonts/LibreCaslonText-Italic-var.woff2") format("woff2");font-style:italic;font-weight:100 900;font-display:swap;}
@font-face{font-family:"Archivo";src:url("../fonts/Archivo-var.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap;}

.tb{
  --night:#101e16; --night-2:#1a2b21; --paper:#f5f1e7; --paper-2:#fefaf2;
  --gold:#c3a45a; --gold-2:#e4ce92; --gold-ink:#6a4d12;
  --ink:#14201b; --ink-2:#44524a; --ink-3:#5c6862; --rule:#d9d2c0;
  --on-night:#f3f5f2; --on-night-dim:#9fb5ac;
  --display:"Libre Caslon Text",Georgia,serif; --copy:"Libre Caslon Text",Georgia,serif;
  --fig:"Archivo","Arial Narrow",sans-serif; --fig-w:78%; --fig-wide:92%;
  --wrap:1200px; --gutter:clamp(16px,4vw,40px); --chip-r:5px; --tb-sticky-top:0px;
  --cloth-1:#c8102e; --num-1:#fff; --cloth-2:#fff; --num-2:#000;
  --cloth-3:#0033a0; --num-3:#fff; --cloth-4:#ffd100; --num-4:#000;
  --cloth-5:#00843d; --num-5:#fff; --cloth-6:#000; --num-6:#ffd100;
  --cloth-7:#ff6a13; --num-7:#000; --cloth-8:#f4a6c8; --num-8:#000;
  --cloth-9:#00b2a9; --num-9:#000; --cloth-10:#6d2077; --num-10:#fff;
  --cloth-11:#8a8d8f; --num-11:#000; --cloth-12:#a4d65e; --num-12:#000;
  --cloth-13:#6b4226; --num-13:#fff; --cloth-14:#7a1f2b; --num-14:#fff;
  --cloth-15:#c3b091; --num-15:#000; --cloth-16:#6a8fb3; --num-16:#000;
  --cloth-17:#1f2a44; --num-17:#fff; --cloth-18:#22543d; --num-18:#fff;
  --cloth-19:#c9ced6; --num-19:#000; --cloth-20:#d6247d; --num-20:#fff;
  background:var(--paper); color:var(--ink); font-family:var(--copy);
}
.tb *, .tb *::before, .tb *::after{ box-sizing:border-box; }
.tb-wrap{ max-width:var(--wrap); margin:0 auto; padding:0 var(--gutter); }
.tb-fig{ font-family:var(--fig); font-stretch:var(--fig-w); font-variant-numeric:tabular-nums lining-nums; }
.tb-vh{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.tb-label{ font-family:var(--fig); font-stretch:var(--fig-wide); font-weight:600; font-size:13.5px; line-height:1.3; color:var(--ink-3); }

/* ---------- Hero: the photograph is the bold element ---------- */
.tb-hero{ position:relative; min-height:clamp(440px,62vh,640px); display:flex; align-items:flex-end; background:var(--night); overflow:hidden; }
.tb-hero__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:62% 40%; }
.tb-hero__panel{ position:relative; margin:0 0 40px max(var(--gutter), calc((100% - var(--wrap)) / 2 + var(--gutter))); max-width:560px; background:var(--night); color:var(--on-night);
  padding:28px 32px 30px; border-top:3px solid var(--gold); }
.tb-hero__title{ font-family:var(--display); font-weight:700; font-size:clamp(38px,4.3vw,60px); line-height:1.04; letter-spacing:-.005em; margin:0; color:var(--on-night); }
.tb-hero__where{ margin:12px 0 0; font-size:19px; line-height:1.45; color:var(--on-night); }
.tb-hero__where em{ font-style:italic; color:var(--on-night-dim); }

/* ---------- The tote: race order across the foot of the photograph ---------- */
.tb-tote{ position:sticky; top:var(--tb-sticky-top); z-index:5; background:var(--night); color:var(--on-night); border-bottom:1px solid var(--night-2); }
.tb-tote__inner{ max-width:var(--wrap); margin:0 auto; padding:0 var(--gutter); display:flex; align-items:stretch; gap:0; }
.tb-tote__lead{ flex:0 0 auto; display:flex; flex-direction:column; justify-content:center; padding:12px 20px 12px 0; margin-right:4px; border-right:1px solid var(--night-2); }
.tb-tote__lead .tb-label{ color:var(--on-night-dim); }
.tb-tote__lead strong{ font-family:var(--fig); font-stretch:var(--fig-wide); font-weight:700; font-size:15px; color:var(--on-night); }
.tb-tote__list{ flex:1 1 auto; display:flex; list-style:none; margin:0; padding:0; overflow-x:auto; scrollbar-width:thin; }
.tb-tote__item{ flex:0 0 auto; }
.tb-tote__link{ display:flex; flex-direction:column; align-items:flex-start; min-width:88px; padding:12px 16px 12px; color:var(--on-night); text-decoration:none;
  border-top:3px solid transparent; border-right:1px solid var(--night-2); }
.tb-tote__link:hover{ background:var(--night-2); }
.tb-tote__link:focus-visible{ outline:2px solid var(--gold-2); outline-offset:-4px; }
.tb-tote__num{ font-family:var(--fig); font-stretch:var(--fig-w); font-weight:800; font-size:34px; line-height:1; font-variant-numeric:tabular-nums; }
.tb-tote__time{ margin-top:4px; font-family:var(--fig); font-stretch:var(--fig-w); font-weight:500; font-size:14px; color:var(--on-night-dim); font-variant-numeric:tabular-nums; white-space:nowrap; }
.tb-tote__state{ margin-top:2px; min-height:17px; font-family:var(--fig); font-stretch:var(--fig-wide); font-weight:700; font-size:13px; color:var(--gold-2); white-space:nowrap; }
.tb-tote__link.is-next{ border-top-color:var(--gold); background:var(--night-2); }
.tb-tote__link.is-off .tb-tote__num{ color:var(--on-night-dim); }
.tb-tote__link.is-off .tb-tote__state{ color:var(--on-night-dim); font-weight:500; }

/* ---------- The day, in a sentence ---------- */
.tb-day{ background:var(--paper-2); border-bottom:1px solid var(--rule); }
.tb-day__inner{ display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:24px 56px; padding-top:40px; padding-bottom:40px; align-items:start; }
.tb-day__lede{ margin:0; font-size:22px; line-height:1.5; max-width:40em; }
.tb-day__facts{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 28px; margin:0; }
.tb-day__facts div{ border-top:1px solid var(--rule); padding-top:10px; }
.tb-day__facts dt{ margin:0; }
.tb-day__facts dd{ margin:4px 0 0; font-family:var(--fig); font-stretch:var(--fig-w); font-weight:700; font-size:24px; line-height:1.1; font-variant-numeric:tabular-nums; }

/* ---------- Plain unavailable state ---------- */
.tb-empty{ padding-top:56px; padding-bottom:56px; border-bottom:1px solid var(--rule); }
.tb-empty p{ margin:0 0 10px; max-width:36em; font-size:20px; line-height:1.55; }
.tb-empty a{ color:var(--ink); text-decoration-color:var(--gold); text-underline-offset:3px; }

/* ---------- Race rows ---------- */
.tb-races{ list-style:none; margin:0 auto; padding-top:8px; padding-bottom:24px; }
.tb-race{ position:relative; display:grid; grid-template-columns:128px minmax(0,1fr) 340px; grid-template-rows:auto 1fr; gap:0 44px; padding:44px 0 48px; border-top:1px solid var(--rule); scroll-margin-top:calc(var(--tb-sticky-top) + 96px); }
.tb-race:first-child{ border-top:0; }
.tb-race.is-next::before{ content:""; position:absolute; left:calc(-1 * min(var(--gutter), 24px)); top:44px; bottom:48px; width:4px; background:var(--gold); }
.tb-race__when{ grid-row:1 / span 2; align-self:start; position:sticky; top:calc(var(--tb-sticky-top) + 100px); }
.tb-race__body{ grid-column:2 / 4; min-width:0; margin-top:32px; }
.tb-pick-empty{ display:none; }

.tb-race__when .tb-label{ display:block; }
.tb-race__num{ display:block; margin-top:2px; font-family:var(--fig); font-stretch:var(--fig-w); font-weight:800; font-size:76px; line-height:.86; font-variant-numeric:tabular-nums; }
.tb-race__time{ display:block; margin-top:12px; font-family:var(--fig); font-stretch:var(--fig-w); font-weight:600; font-size:20px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.tb-race__state{ display:block; margin-top:6px; font-family:var(--fig); font-stretch:var(--fig-wide); font-weight:700; font-size:14px; line-height:1.3; color:var(--gold-ink); }
.tb-race.is-off .tb-race__num{ color:var(--ink-3); }
.tb-race.is-off .tb-race__state{ color:var(--ink-3); font-weight:500; }

.tb-race__cond{ margin:0; font-style:italic; font-size:16.5px; line-height:1.5; color:var(--ink-2); }
.tb-race__headline{ margin:10px 0 0; font-family:var(--display); font-weight:700; font-size:clamp(26px,2.6vw,36px); line-height:1.16; max-width:24ch; text-wrap:balance; }
.tb-race__facts{ margin:22px 0 0; display:grid; gap:12px; }
.tb-race__fact{ display:grid; grid-template-columns:118px minmax(0,1fr); gap:12px; align-items:baseline; }
.tb-race__fact dt{ margin:0; }
.tb-race__fact dd{ margin:0; font-size:16.5px; line-height:1.5; }
.tb-race__link{ display:inline-block; margin-top:22px; font-family:var(--fig); font-stretch:var(--fig-wide); font-weight:700; font-size:15.5px; color:var(--ink);
  text-decoration:underline; text-decoration-color:var(--gold); text-decoration-thickness:2px; text-underline-offset:5px; }
.tb-race__link:hover{ text-decoration-color:var(--ink); }
.tb-race__link:focus-visible, .tb-empty a:focus-visible, .tb-read a:focus-visible{ outline:2px solid var(--ink); outline-offset:3px; border-radius:2px; }

/* The first-choice panel */
.tb-pick{ align-self:start; background:var(--paper-2); border:1px solid var(--rule); border-top:3px solid var(--gold); padding:20px 22px 22px; }
.tb-pick__head{ display:flex; align-items:center; gap:10px; }
.tb-pick__tag{ display:inline-block; padding:3px 9px 4px; border-radius:var(--chip-r); background:var(--gold); color:var(--ink);
  font-family:var(--fig); font-stretch:var(--fig-wide); font-weight:800; font-size:13.5px; line-height:1.2; }
.tb-pick__who{ display:flex; align-items:center; gap:12px; margin-top:16px; }
.tb-pick__name{ font-family:var(--display); font-weight:700; font-size:22px; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
.tb-pick__num{ display:flex; align-items:baseline; gap:12px; margin-top:12px; }
.tb-pick__pct{ font-family:var(--fig); font-stretch:var(--fig-w); font-weight:800; font-size:52px; line-height:.95; font-variant-numeric:tabular-nums; }
.tb-pick__plain{ font-size:17px; line-height:1.35; font-style:italic; color:var(--ink-2); }
.tb-pick__note{ margin:10px 0 0; font-size:15.5px; line-height:1.5; color:var(--ink-2); }
.tb-pick__ml{ margin:14px 0 0; padding-top:12px; border-top:1px solid var(--rule); font-family:var(--fig); font-stretch:var(--fig-w); font-weight:600; font-size:16px; font-variant-numeric:tabular-nums; color:var(--ink-2); }
.tb-pick__pair{ list-style:none; margin:14px 0 0; padding:0; display:grid; gap:10px; }
.tb-pick__pair li{ display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:center; }
.tb-pick__pair .tb-pick__name{ font-size:19px; }
.tb-pick__pair .tb-pick__pct{ font-size:32px; }
.tb-pick.is-scratched .tb-pick__name{ text-decoration:line-through; text-decoration-thickness:2px; color:var(--ink-2); }
.tb-pick.is-scratched .tb-chip{ opacity:.55; }
.tb-pick__scr{ margin:10px 0 0; font-style:italic; font-size:17px; color:var(--ink); }

/* Saddlecloth chips */
.tb-chip{ display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; min-width:34px; height:34px; padding:0 6px; border-radius:var(--chip-r);
  background:var(--cloth, var(--paper-2)); color:var(--num, var(--ink)); font-family:var(--fig); font-stretch:var(--fig-w); font-weight:800; font-size:19px; line-height:1;
  font-variant-numeric:tabular-nums; }
.tb-chip--sm{ min-width:26px; height:26px; font-size:15px; padding:0 4px; }
.tb-chip[data-cloth="2"], .tb-chip[data-cloth="19"], .tb-chip[data-cloth="15"]{ box-shadow:inset 0 0 0 1px var(--ink); }
.tb-chip[data-cloth="1"]{--cloth:var(--cloth-1);--num:var(--num-1)} .tb-chip[data-cloth="2"]{--cloth:var(--cloth-2);--num:var(--num-2)}
.tb-chip[data-cloth="3"]{--cloth:var(--cloth-3);--num:var(--num-3)} .tb-chip[data-cloth="4"]{--cloth:var(--cloth-4);--num:var(--num-4)}
.tb-chip[data-cloth="5"]{--cloth:var(--cloth-5);--num:var(--num-5)} .tb-chip[data-cloth="6"]{--cloth:var(--cloth-6);--num:var(--num-6)}
.tb-chip[data-cloth="7"]{--cloth:var(--cloth-7);--num:var(--num-7)} .tb-chip[data-cloth="8"]{--cloth:var(--cloth-8);--num:var(--num-8)}
.tb-chip[data-cloth="9"]{--cloth:var(--cloth-9);--num:var(--num-9)} .tb-chip[data-cloth="10"]{--cloth:var(--cloth-10);--num:var(--num-10)}
.tb-chip[data-cloth="11"]{--cloth:var(--cloth-11);--num:var(--num-11)} .tb-chip[data-cloth="12"]{--cloth:var(--cloth-12);--num:var(--num-12)}
.tb-chip[data-cloth="13"]{--cloth:var(--cloth-13);--num:var(--num-13)} .tb-chip[data-cloth="14"]{--cloth:var(--cloth-14);--num:var(--num-14)}
.tb-chip[data-cloth="15"]{--cloth:var(--cloth-15);--num:var(--num-15)} .tb-chip[data-cloth="16"]{--cloth:var(--cloth-16);--num:var(--num-16)}
.tb-chip[data-cloth="17"]{--cloth:var(--cloth-17);--num:var(--num-17)} .tb-chip[data-cloth="18"]{--cloth:var(--cloth-18);--num:var(--num-18)}
.tb-chip[data-cloth="19"]{--cloth:var(--cloth-19);--num:var(--num-19)} .tb-chip[data-cloth="20"]{--cloth:var(--cloth-20);--num:var(--num-20)}
.tb-nw{ white-space:nowrap; }
.tb-chips{ display:inline-flex; gap:5px; vertical-align:-5px; margin-right:6px; }

/* ---------- How to read it, and the words on this page ---------- */
.tb-read{ background:var(--paper-2); border-top:1px solid var(--rule); }
.tb-read__inner{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:40px 72px; padding-top:56px; padding-bottom:64px; }
.tb-read h2{ margin:0 0 18px; font-family:var(--display); font-weight:700; font-size:28px; line-height:1.2; }
.tb-read__how{ font-size:18px; line-height:1.6; max-width:36em; }
.tb-read__how ol{ margin:0; padding-left:1.4em; }
.tb-read__how li{ margin:0 0 10px; padding-left:.3em; }
.tb-read__how li::marker{ font-family:var(--fig); font-stretch:var(--fig-w); font-weight:700; color:var(--gold-ink); }
.tb-read__how p{ margin:16px 0 0; }
.tb-read a{ color:var(--ink); text-decoration-color:var(--gold); text-underline-offset:3px; }
.tb-words dl{ margin:0; }
.tb-words div{ padding:10px 0 11px; border-top:1px solid var(--rule); }
.tb-words dt{ font-family:var(--fig); font-stretch:var(--fig-wide); font-weight:700; font-size:15px; }
.tb-words dd{ margin:3px 0 0; font-size:16px; line-height:1.5; color:var(--ink-2); }

/* ---------- Tablet and phone ---------- */
@media (max-width:1080px){
  .tb-race{ grid-template-columns:112px minmax(0,1fr) 300px; gap:0 32px; }
}
@media (max-width:899px){
  .tb-hero{ min-height:clamp(380px,70vh,560px); }
  .tb-hero__img{ object-position:70% 30%; }
  .tb-hero__panel{ margin:0 var(--gutter) 24px; padding:22px 22px 24px; }
  .tb-hero__where{ font-size:17.5px; }
  .tb-tote__lead{ padding:10px 12px 10px var(--gutter); margin-right:0; max-width:78px; }
  .tb-tote__lead .tb-label{ font-size:12px; }
  .tb-tote__lead strong{ font-size:13.5px; }
  .tb-tote__inner{ padding:0; }
  .tb-tote__link{ min-width:74px; padding:10px 12px; }
  .tb-tote__num{ font-size:28px; }
  .tb-day__inner{ grid-template-columns:minmax(0,1fr); padding-top:28px; padding-bottom:30px; }
  .tb-day__lede{ font-size:19px; }
  .tb-day__facts dd{ font-size:21px; }
  .tb-race{ grid-template-columns:minmax(0,1fr); padding:28px 0 32px; }
  .tb-race.is-next::before{ left:calc(-1 * var(--gutter)); top:28px; bottom:32px; }
  .tb-race__when{ display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:14px; align-items:end; margin-bottom:14px; }
  .tb-race__when .tb-label{ grid-column:1; grid-row:1; }
  .tb-race__num{ grid-column:1; grid-row:2; font-size:56px; }
  .tb-race__time{ grid-column:2; grid-row:1; margin:0; font-size:18px; }
  .tb-race__state{ grid-column:2; grid-row:2; margin:0 0 4px; }
  .tb-race__headline{ font-size:23px; }
  .tb-race__story{ display:contents; }
  .tb-race__cond{ order:1; }
  .tb-race__headline{ order:2; }
  .tb-pick{ order:3; margin-top:18px; }
  .tb-race__facts{ order:4; }
  .tb-race__link{ order:5; justify-self:start; }
  .tb-race__fact{ grid-template-columns:minmax(0,1fr); gap:2px; }
  .tb-read__inner{ grid-template-columns:minmax(0,1fr); padding-top:40px; padding-bottom:48px; }
}
@media (max-width:420px){
  .tb-pick{ padding:18px 16px 20px; }
  .tb-pick__pct{ font-size:46px; }
  .tb-pick__pair li{ grid-template-columns:auto minmax(0,1fr) auto; }
}

/* ---------- v2: the race story ---------- */
.tb-pick__agree{ margin:10px 0 0; font-size:15.5px; line-height:1.5; color:var(--ink-2); }
.tb-pick--ml{ border-top-color:var(--ink); }
.tb-pick__tag--ml{ background:var(--paper); color:var(--ink); box-shadow:inset 0 0 0 1px var(--ink); }
.tb-pick__tag--sm{ padding:1px 6px 2px; font-size:12px; margin-left:8px; vertical-align:2px; }
.tb-inchip{ display:inline-flex; vertical-align:-4px; margin:0 1px; }
.tb-inchip .tb-chip--sm{ min-width:24px; height:24px; font-size:14px; }

/* Pace map: the angle. Lanes run back to front, left to right, the way the horses run on the diagram. */
.tb-map{ display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:20px 36px; padding:24px 26px 22px; background:var(--paper-2); border:1px solid var(--rule); }
.tb-lanes__head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.tb-lanes__scen{ font-family:var(--display); font-weight:700; font-size:21px; line-height:1.2; }
.tb-lanes__row{ list-style:none; margin:16px 0 0; padding:0; display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:0; }
.tb-lane{ position:relative; padding:10px 14px 14px; border-top:3px solid var(--rule); min-height:92px; }
.tb-lane + .tb-lane{ border-left:1px solid var(--rule); }
.tb-lane--front{ border-top-color:var(--ink); }
.tb-lane--front::after{ content:""; position:absolute; right:-1px; top:-9px; border:6px solid transparent; border-left:9px solid var(--ink); }
.tb-lane__name{ display:block; font-family:var(--fig); font-stretch:var(--fig-wide); font-weight:700; font-size:14px; color:var(--ink); }
.tb-lane__chips{ display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.tb-lane__chips .tb-chip--sm{ min-width:30px; height:30px; font-size:16px; }
.tb-lane__none{ font-style:italic; font-size:15.5px; color:var(--ink-3); }
.tb-lanes__note{ margin:12px 0 0; font-size:14.5px; line-height:1.5; color:var(--ink-3); max-width:46em; }
.tb-track{ margin:0; align-self:start; }
.tb-oval{ display:block; width:100%; height:auto; overflow:visible; }
.tb-oval__track{ fill:none; stroke:var(--rule); stroke-width:10; }
.tb-oval__zone-edge{ fill:none; stroke:var(--gold-ink); stroke-width:14; stroke-linecap:round; }
.tb-oval__zone{ fill:none; stroke:var(--gold); stroke-width:9; stroke-linecap:round; }
.tb-oval__post{ stroke:var(--ink); stroke-width:2.5; }
.tb-oval__gate{ fill:var(--ink); }
.tb-oval__arrow{ fill:none; stroke:var(--ink-3); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.tb-oval__lbl{ font-family:var(--fig); font-stretch:var(--fig-wide); font-weight:600; font-size:12px; fill:var(--ink-2); }
.tb-oval__lbl.is-on{ fill:var(--gold-ink); font-weight:800; }
.tb-oval__dir{ font-family:var(--fig); font-stretch:var(--fig-wide); font-weight:500; font-size:11.5px; fill:var(--ink-3); }
.tb-track__cap{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-top:8px; padding-top:10px; border-top:1px solid var(--rule); }
.tb-track__zone{ font-family:var(--display); font-weight:700; font-size:19px; color:var(--gold-ink); }

/* The four questions */
.tb-qs{ margin:28px 0 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 40px; }
.tb-q{ padding-top:12px; border-top:1px solid var(--rule); }
.tb-q--drama{ border-top:3px solid var(--gold); }
.tb-q__label{ font-family:var(--fig); font-stretch:var(--fig-wide); font-weight:700; font-size:15px; color:var(--ink); }
.tb-q--drama .tb-q__label{ color:var(--gold-ink); }
.tb-q__text{ margin:6px 0 0; font-size:17.5px; line-height:1.6; max-width:34em; }

/* The field */
.tb-field{ margin-top:30px; border-top:1px solid var(--ink); }
.tb-field__sum{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; padding:14px 0; cursor:pointer; list-style:none; }
.tb-field__sum::-webkit-details-marker{ display:none; }
.tb-field__sum::before{ content:"+"; display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border:1px solid var(--ink); border-radius:50%;
  font-family:var(--fig); font-weight:700; font-size:15px; line-height:1; align-self:center; }
.tb-field[open] > .tb-field__sum::before{ content:"\2212"; }
.tb-field__sum:focus-visible{ outline:2px solid var(--ink); outline-offset:3px; }
.tb-field__title{ font-family:var(--display); font-weight:700; font-size:20px; }
.tb-field__hint{ font-size:15.5px; color:var(--ink-2); }
.tb-field__wrap{ overflow-x:auto; }
.tb-tbl{ width:100%; border-collapse:collapse; font-size:16px; }
.tb-tbl th, .tb-tbl td{ padding:10px 10px; border-top:1px solid var(--rule); text-align:left; vertical-align:middle; }
.tb-tbl thead th{ border-top:0; padding-top:4px; padding-bottom:8px; font-family:var(--fig); font-stretch:var(--fig-wide); font-weight:600; font-size:13.5px; color:var(--ink-3); }
.tb-tbl .tb-c-no{ width:48px; padding-left:0; }
.tb-tbl .tb-c-ml, .tb-tbl .tb-c-win{ text-align:right; white-space:nowrap; font-family:var(--fig); font-stretch:var(--fig-w); font-weight:700; font-size:18px; font-variant-numeric:tabular-nums; }
.tb-tbl thead .tb-c-ml, .tb-tbl thead .tb-c-win{ font-size:13.5px; font-weight:600; font-stretch:var(--fig-wide); }
.tb-tbl .tb-c-win{ padding-right:0; }
.tb-tbl .tb-c-style, .tb-tbl .tb-c-last{ font-size:15px; color:var(--ink-2); }
.tb-tbl tbody th{ font-weight:400; }
.tb-tbl__line{ display:block; }
.tb-tbl__name{ font-family:var(--display); font-weight:700; font-size:17px; }
.tb-tbl__who{ display:block; margin-top:2px; font-size:14px; color:var(--ink-3); }
.tb-tbl__scr{ margin-left:8px; font-style:italic; font-size:15px; color:var(--ink); }
.tb-tbl tr.is-pick{ background:var(--paper-2); }
.tb-tbl tr.is-pick .tb-c-win{ color:var(--ink); }
.tb-tbl tr.is-scr .tb-tbl__name{ text-decoration:line-through; text-decoration-thickness:2px; color:var(--ink-2); }
.tb-tbl tr.is-scr .tb-chip{ opacity:.5; }
.tb-field__key{ margin:12px 0 0; font-size:14.5px; line-height:1.5; color:var(--ink-3); }
.tb-race__body > .tb-race__link{ margin-top:18px; }
.tb-race.is-entries .tb-race__body{ margin-top:16px; }

@media (max-width:1080px){
  .tb-map{ grid-template-columns:minmax(0,1fr) 240px; }
}
@media (max-width:899px){
  .tb-race__when{ position:static; grid-row:auto; }
  .tb-race__body{ grid-column:auto; order:4; margin-top:24px; }
  .tb-map{ grid-template-columns:minmax(0,1fr); padding:18px 16px; margin:0 calc(-1 * var(--gutter) + 6px); }
  .tb-track{ max-width:320px; }
  .tb-qs{ grid-template-columns:minmax(0,1fr); gap:18px; }
  .tb-lane{ padding:10px 8px 12px; min-height:0; }
  .tb-tbl .tb-c-last{ display:none; }
  .tb-tbl th, .tb-tbl td{ padding:9px 6px; }
  .tb-tbl .tb-c-no{ width:38px; }
  .tb-field__sum{ padding:12px 0; }
}

@media (prefers-reduced-motion:reduce){ .tb *{ scroll-behavior:auto !important; } }
@media print{
  .tb-tote{ position:static; }
  .tb-hero{ min-height:0; }
  .tb-hero__img{ display:none; }
  .tb-hero__panel{ margin:0; }
}
