/* =============================================================================
   BetSmart research desk — racing views (desk-racing.js)
   Tokens from styles.css only. Aqua (--accent) marks wins / in-form.
   ============================================================================= */

.rc-sub{ font-family:var(--mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-lo);
  font-weight:500; margin:0 0 var(--s3); display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 10px; }
.rc-sub small{ font-size:.66rem; letter-spacing:.04em; text-transform:none; color:var(--text-lo); font-weight:400; }
.rc-reg{ font-family:var(--mono); font-size:.6rem; letter-spacing:.08em; padding:.08rem .35rem; border-radius:4px;
  border:1px solid var(--line-strong); color:var(--text-mid); vertical-align:middle; }

/* ---------------------------------------------------------- meetings + times */
.rc-meets{ display:flex; gap:var(--s2); overflow-x:auto; scrollbar-width:none; padding-bottom:2px; margin-bottom:var(--s3); }
.rc-meets::-webkit-scrollbar{ display:none; }
.rc-meet{ flex:none; display:flex; flex-direction:column; align-items:flex-start; gap:1px; text-align:left;
  padding:.5rem .9rem; border:1px solid var(--line); border-radius:var(--r-md); background:var(--surface);
  transition:border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease); }
.rc-meet b{ font-weight:600; font-size:.92rem; line-height:1.2; }
.rc-meet span{ font-family:var(--mono); font-size:.66rem; color:var(--text-lo); letter-spacing:.04em; }
.rc-meet:hover{ border-color:var(--line-strong); }
.rc-meet[aria-selected="true"]{ border-color:var(--brand); background:color-mix(in srgb, var(--brand) 12%, var(--surface)); }
.rc-meet[aria-selected="true"] span{ color:var(--brand-soft); }

.rc-times{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:var(--s5); }
.rc-times button{ font-family:var(--mono); font-size:.84rem; font-weight:600; padding:.38rem .75rem; border-radius:100px;
  border:1px solid var(--line); background:var(--surface); color:var(--text-mid); }
.rc-times button:hover{ color:var(--text-hi); border-color:var(--line-strong); }
.rc-times button[aria-selected="true"]{ background:var(--brand); border-color:var(--brand); color:var(--on-brand); }

/* ---------------------------------------------------------- race header */
.rc-head{ display:grid; grid-template-columns:auto 1fr; gap:var(--s3) var(--s5); align-items:start;
  padding-bottom:var(--s5); margin-bottom:var(--s5); border-bottom:1px solid var(--line); }
.rc-when{ display:flex; flex-direction:column; gap:2px; min-width:92px; }
.rc-time{ font-size:2rem; font-weight:700; line-height:1; letter-spacing:-.04em; }
.rc-course{ font-size:.84rem; color:var(--text-mid); }
.rc-title h2{ font-size:clamp(1.25rem,2.4vw,1.7rem); line-height:1.15; }
.rc-meta{ display:flex; flex-wrap:wrap; gap:6px; margin-top:var(--s3); }
.rc-meta span{ font-family:var(--mono); font-size:.72rem; padding:.18rem .5rem; border-radius:6px; background:var(--surface-2);
  color:var(--text-mid); border:1px solid var(--line); }
.rc-meta .rc-hcap{ color:var(--brand-soft); border-color:color-mix(in srgb, var(--brand) 32%, transparent);
  background:color-mix(in srgb, var(--brand) 12%, transparent); }
@media (max-width:640px){
  .rc-head{ grid-template-columns:1fr; gap:var(--s2); }
  .rc-when{ flex-direction:row; align-items:baseline; gap:var(--s3); }
  .rc-time{ font-size:1.6rem; }
}

/* ---------------------------------------------------------- course profile strip */
.rc-strip{ margin-bottom:var(--s5); }
.rc-profs{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:var(--s3); }
.rc-prof{ border:1px solid var(--line); border-radius:var(--r-md); background:var(--surface); padding:var(--s3) var(--s4); }
.rc-prof ul{ list-style:none; margin:8px 0 0; padding:0; display:grid; gap:4px; }
.rc-prof li{ display:grid; grid-template-columns:78px 1fr; gap:var(--s2); font-size:.8rem; color:var(--text-mid); align-items:baseline; }
.rc-prof li > span:first-child{ color:var(--text-hi); }
.rc-prof li b{ color:var(--text-hi); }
.rc-n{ font-size:.68rem; color:var(--text-lo); margin-left:4px; }
.rc-n.thin{ color:var(--warn); }

/* ---------------------------------------------------------- pace map */
.rc-pace{ margin-bottom:var(--s5); }
.rc-pace-grid{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:var(--s2); }
.rc-pcol{ border:1px solid var(--line); border-radius:var(--r-md); background:var(--surface); padding:var(--s3); min-width:0; }
.rc-pcol.unk{ background:none; border-style:dashed; }
.rc-pk{ display:flex; justify-content:space-between; align-items:baseline; gap:6px; font-size:.78rem; color:var(--text-mid);
  padding-bottom:6px; margin-bottom:6px; border-bottom:1px solid var(--line); }
.rc-pk b{ color:var(--text-hi); font-size:1rem; }
.rc-pcol ul{ list-style:none; margin:0; padding:0; display:grid; gap:2px; }
.rc-pcol li button{ font-size:.8rem; text-align:left; width:100%; color:var(--text-hi); padding:2px 0;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rc-pcol li button:hover{ color:var(--brand-soft); }
.rc-pcol li .num{ color:var(--text-lo); font-size:.72rem; display:inline-block; min-width:1.4em; }
@media (max-width:900px){ .rc-pace-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:520px){ .rc-pace-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* ---------------------------------------------------------- runners table */
.rc-table{ min-width:1060px; }
.rc-table th, .rc-table td{ padding:.6rem .5rem; vertical-align:middle; }
.rc-table th{ white-space:nowrap; }
.rc-table tbody tr{ cursor:pointer; transition:background var(--t-fast) var(--ease); }
.rc-table tbody tr:hover{ background:var(--surface-2); }
.rc-table tbody tr:focus-visible{ outline:2px solid var(--brand); outline-offset:-2px; }
.rc-table td.rc-no{ white-space:nowrap; }
.rc-no b{ font-size:.95rem; }
.rc-no span{ font-size:.72rem; color:var(--text-lo); margin-left:3px; }
.rc-horse, .rc-pp{ text-align:left !important; font-family:var(--sans) !important; }
.rc-horse b, .rc-pp b{ display:block; font-weight:600; line-height:1.25; white-space:nowrap; }
.rc-horse b{ font-size:.93rem; }
.rc-pp b{ font-size:.84rem; font-weight:500; }
.rc-horse > span, .rc-pp > span{ display:block; font-family:var(--mono); font-size:.68rem; color:var(--text-lo); white-space:nowrap; margin-top:1px; }
.rc-form{ text-align:left !important; }
.rc-table .chips{ justify-content:flex-start; }
.rc-table .chip.hit, .rc-hl{ background:color-mix(in srgb, var(--accent) 20%, transparent); color:var(--accent-ink); }
.rc-gd{ white-space:nowrap; font-size:.8rem; }
.rc-won{ color:var(--accent-ink); }
.rc-sty{ text-align:left !important; font-family:var(--sans) !important; font-size:.84rem; white-space:nowrap; }
.rc-sans{ font-family:var(--sans) !important; }
.rc-tag{ display:inline-block; font-family:var(--mono); font-size:.6rem; letter-spacing:.06em; text-transform:uppercase;
  padding:.06rem .32rem; border-radius:4px; border:1px solid var(--line-strong); color:var(--text-mid); margin-left:3px; vertical-align:1px; }
.rc-tag.new{ color:var(--warn); border-color:color-mix(in srgb, var(--warn) 40%, transparent); background:color-mix(in srgb, var(--warn) 10%, transparent); }
.rc-tag.hot{ color:var(--accent-ink); border-color:color-mix(in srgb, var(--accent) 40%, transparent); background:color-mix(in srgb, var(--accent) 12%, transparent); margin-left:8px; }

/* ---------------------------------------------------------- drawer bits */
.rc-dtags{ display:flex; flex-wrap:wrap; gap:6px; margin-top:var(--s3); }
.rc-dtags span{ font-family:var(--mono); font-size:.7rem; padding:.15rem .45rem; border-radius:5px; background:var(--surface-2); color:var(--text-mid); }
.dr-stat .k b{ color:var(--text-hi); font-weight:600; text-align:right; }
.dr-log .table-wrap table{ min-width:460px; }
.dr-log td.rc-hl{ border-radius:0; font-weight:700; }
.dr-log td small{ font-size:.66rem; margin-left:1px; }
.rc-one{ margin-top:0; }
@media (max-width:480px){ .dr-grid.rc-one{ grid-template-columns:1fr; } }

.rc-list{ list-style:none; margin:0; padding:0; display:grid; gap:4px; }
.rc-list button{ width:100%; display:grid; grid-template-columns:48px minmax(0,.9fr) minmax(0,1.3fr) minmax(0,1fr); gap:var(--s3); align-items:baseline;
  text-align:left; padding:.55rem .75rem; border:1px solid var(--line); border-radius:var(--r-sm); background:var(--surface); font-size:.86rem; }
.rc-list button:hover{ border-color:var(--brand); }
.rc-list .num{ font-weight:700; }
.rc-list span, .rc-list small{ color:var(--text-mid); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rc-list small{ font-size:.76rem; color:var(--text-lo); }
.rc-list b{ font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:520px){
  .rc-list button{ grid-template-columns:44px minmax(0,1fr); gap:2px var(--s3); }
  .rc-list b{ grid-column:2; } .rc-list small{ grid-column:2; }
}

/* ---------------------------------------------------------- people */
.rc-ppl{ min-width:940px; }
.rc-link{ font-weight:600; color:var(--text-hi); text-align:left; }
.rc-link:hover{ color:var(--brand-soft); text-decoration:underline; text-underline-offset:2px; }
.rc-ppl tr.rc-hot td:first-child{ box-shadow:inset 3px 0 0 var(--accent); }

/* ---------------------------------------------------------- courses */
.rc-cbody{ padding:var(--s4); display:grid; gap:var(--s3); }
.rc-cbody h3{ font-size:1.3rem; }
.rc-bars{ display:grid; gap:6px; }
.rc-bar{ display:grid; grid-template-columns:78px 1fr 66px 58px; gap:8px; align-items:center; font-size:.8rem; }
.rc-bar .k{ color:var(--text-mid); }
.rc-bar .bar{ height:7px; }
.rc-bar .bar i{ background:var(--accent); }
.rc-bar .v{ text-align:right; font-weight:700; color:var(--text-hi); }
.rc-bar .n{ text-align:right; font-size:.68rem; color:var(--text-lo); }
.rc-bar.thin .v{ color:var(--warn); font-weight:500; font-size:.72rem; }
.rc-bar.thin .k{ color:var(--text-lo); }
.rc-lines{ list-style:none; margin:var(--s2) 0 0; padding:var(--s3) 0 0; border-top:1px solid var(--line); display:grid; gap:4px;
  font-size:.84rem; color:var(--text-mid); }
.rc-lines li::before{ content:"→ "; color:var(--accent-ink); font-family:var(--mono); }

/* ---------------------------------------------------------- lab */
.rc-lab-intro{ max-width:80ch; margin-bottom:var(--s4); color:var(--text-mid); }
.rc-lab-ctl{ padding:var(--s4); border:1px solid var(--line); border-radius:var(--r-lg); background:color-mix(in srgb, var(--surface) 60%, transparent); }
.rc-lab-ctl .sd-select select{ max-width:100%; }
.rc-kpis{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:var(--s3); margin-bottom:var(--s4); }
.rc-kpi{ border:1px solid var(--line); border-radius:var(--r-md); background:var(--surface); padding:var(--s3) var(--s4); display:grid; gap:4px; min-width:0; }
.rc-kpi b{ font-size:1.5rem; font-weight:700; letter-spacing:-.03em; line-height:1.1; }
.rc-kpi small{ font-size:.74rem; color:var(--text-lo); }
@media (max-width:900px){ .rc-kpis{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:520px){ .rc-kpis{ grid-template-columns:repeat(2,minmax(0,1fr)); } .rc-kpi b{ font-size:1.25rem; } }
.rc-warn{ margin-bottom:var(--s4); }
.rc-split{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:var(--s5); align-items:start; margin-top:var(--s5); }
@media (max-width:860px){ .rc-split{ grid-template-columns:1fr; } }
.rc-months{ border:1px solid var(--line); border-radius:var(--r-lg); background:var(--surface); padding:var(--s4); display:grid; gap:6px; }
.rc-months .rc-bar{ grid-template-columns:78px 1fr 66px 64px; }
.rc-months .rc-bar.thin{ opacity:.55; }
.rc-months .rc-bar.thin .v{ color:var(--text-hi); font-weight:700; font-size:.8rem; }
.rc-today .rc-list button{ grid-template-columns:48px minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr); }
@media (max-width:520px){ .rc-today .rc-list button{ grid-template-columns:44px minmax(0,1fr); } }
@media (max-width:640px){
  .rc-lab-ctl{ padding:var(--s3); }
  .rc-lab-ctl .seg button{ padding:.34rem .55rem; font-size:.8rem; }
}
.rc-table .chips{ flex-wrap:nowrap; }
.rc-table .chip{ width:18px; }

/* ---------------------------------------------------------- desk sweep 2: every rate with its range (19 Oct 2026) */
/* A bar is the 95% range (low end to top end), one colour whatever its size. */
.rc-bar .bar i.rng{ opacity:.75; }
.rc-ci{ font-family:var(--mono); font-size:.62rem; color:var(--text-lo); }
.rc-bar .v .rt{ justify-items:end; }
