/* Bench Boss · bb-v389 · LOOK-CHEL v1 (specs/LOOK-CHEL-v1.md token sheet) — whole app.
   Tokens are the sheet's, verbatim. Rules: no border-radius, no shadows, gradients only --bg-tint / --hatch / --panel
   (+ the stripe gradient named under Shapes). Teko = numbers, letters, titles, tabs. Rajdhani = body, names, labels. */
:root{
  --bg:var(--k0);
  --bg-tint:linear-gradient(100deg,var(--k1) 0,var(--k0) 46%);
  --hatch:repeating-linear-gradient(115deg,transparent 0 38px,var(--k2) 38px 40px);
  --panel:linear-gradient(160deg,var(--k3),var(--k4));
  --well:var(--k5); --line:var(--k6); --track:var(--k7);
  --ink:var(--k8); --ink-2:var(--k9); --mute:var(--k10); --dim:var(--k11);
  --red:var(--k12); --red-deep:var(--k13); --gold:var(--k14); --green:var(--k15);
  --grade-A:var(--k15); --grade-B:var(--k16); --grade-C:var(--k17); --grade-D:var(--k18); --grade-F:var(--k19);
  --teko:Teko,Impact,"Arial Narrow",sans-serif; --raj:Rajdhani,system-ui,sans-serif;
  --stripe:6px; --cut:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));
  --navh:64px;
  font-family:var(--raj); color:var(--ink); background:var(--bg); color-scheme:dark;
}
@media (min-width:900px){ :root{ --stripe:8px; } }
*,*::before,*::after{ border-radius:0 !important; box-shadow:none !important; }
html{ background:var(--bg); }
body{ margin:0 !important; padding:0 !important; min-height:100vh; background:var(--bg-tint), var(--bg); background-attachment:fixed; font-family:var(--raj); font-weight:500; color:var(--ink); -webkit-font-smoothing:antialiased; }
body::before{ content:""; position:fixed; inset:0; background:var(--hatch); pointer-events:none; z-index:0; }
body::after{ content:""; position:fixed; left:0; top:0; bottom:0; width:var(--stripe); background:linear-gradient(var(--red),var(--red-deep)); pointer-events:none; z-index:70; }
button,input,select,textarea{ font-family:var(--raj); }
button:focus-visible,input:focus-visible,select:focus-visible{ outline:2px solid var(--red); outline-offset:2px; }
/* first paint: hold the old shell until the CHEL layer is in (fails open after 2.5s) */
body:not(.chel-ready) #app{ opacity:0; animation:chelFailOpen 0s 2.5s forwards; }
@keyframes chelFailOpen{ to{ opacity:1; } }

/* ---------- shell, header, tabs ---------- */
.shell{ max-width:none !important; width:100%; min-height:100vh !important; margin:0 !important; border:0 !important; overflow:visible !important; background:transparent !important; padding:0 0 calc(var(--navh) + env(safe-area-inset-bottom,0px) + 12px) var(--stripe); position:relative; z-index:1; }
#app{ max-width:1280px; margin:0 auto; position:relative; }
.content{ padding:12px 14px 24px; }
.chel-top{ position:sticky; top:0; z-index:50; display:flex; align-items:center; gap:12px; min-height:58px; padding:8px 14px; padding-top:calc(8px + env(safe-area-inset-top,0px)); background:var(--k0); border-bottom:1px solid var(--line); }
.chel-brand{ display:flex; align-items:center; gap:10px; min-width:0; background:none; border:0; color:inherit; padding:0; text-align:left; }
.chel-crest{ flex:0 0 auto; width:34px; height:38px; display:grid; place-items:center; background:var(--red); color:var(--k20); font:700 19px/1 var(--teko); letter-spacing:.04em; clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); padding-top:3px; }
.chel-club{ font:700 24px/0.95 var(--teko); letter-spacing:.1em; text-transform:uppercase; color:var(--ink); }
.chel-crumb{ font:600 11px/1.2 var(--raj); letter-spacing:.22em; text-transform:uppercase; color:var(--mute); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:52vw; }
.chel-tools{ margin-left:auto; display:flex; align-items:center; gap:8px; }
.chel-gear{ width:40px; height:40px; display:grid; place-items:center; background:var(--well); border:1px solid var(--line); color:var(--ink-2); padding:0; }
.chel-gear svg{ width:20px; height:20px; }
.chel-gear.on,.chel-gear:hover{ color:var(--ink); border-color:var(--red); }
.chel-top .bb-online{ font:600 11px var(--raj); letter-spacing:.16em; text-transform:uppercase; color:var(--mute); background:var(--well); border:1px solid var(--line); padding:6px 8px; display:none; }
.chel-top .bb-online .dot{ display:inline-block; width:7px; height:7px; background:var(--green); margin-right:6px; vertical-align:1px; }
.chel-top .bb-online.empty .dot{ background:var(--dim); }
.chel-hidden{ display:none !important; }
.nav{ position:fixed !important; left:0; right:0; bottom:0; z-index:55; width:100% !important; max-width:none !important; margin:0 !important; height:calc(var(--navh) + env(safe-area-inset-bottom,0px)) !important; padding:0 0 env(safe-area-inset-bottom,0px) var(--stripe) !important; display:flex; background:var(--k0) !important; border-top:1px solid var(--line) !important; }
.nav button{ flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; padding:0 2px !important; border:0 !important; border-top:3px solid transparent !important; background:none !important; color:var(--mute) !important; font:600 14px/1 var(--teko) !important; letter-spacing:.14em; text-transform:uppercase; white-space:nowrap; }
.nav button i{ display:none !important; }
.nav button svg{ width:20px; height:20px; display:block; }
.nav button.active{ color:var(--ink) !important; border-top-color:var(--red) !important; }
@media (min-width:900px){
  .shell{ padding-bottom:32px; }
  .chel-top{ padding:10px 28px; min-height:70px; }
  .chel-crest{ width:42px; height:46px; font-size:22px; }
  .chel-club{ font-size:30px; }
  .chel-crumb{ max-width:none; }
  .chel-top .bb-online{ display:inline-block; }
  .nav{ position:static !important; order:2; margin-left:auto !important; width:auto !important; height:auto !important; padding:0 !important; background:none !important; border:0 !important; gap:4px; }
  .nav button{ flex:0 0 auto; padding:12px 14px 9px !important; font-size:16px !important; letter-spacing:.16em; border-top:0 !important; border-bottom:3px solid transparent !important; }
  .nav button svg{ display:none; }
  .nav button.active{ border-bottom-color:var(--red) !important; }
  .chel-tools{ order:3; margin-left:12px; }
  .content{ padding:22px 28px 40px; }
}

/* ---------- legacy components take the tokens (Chat, Film, Settings rooms, sheets) ---------- */
.eyebrow,.label{ font:600 12px/1.3 var(--raj) !important; letter-spacing:.22em !important; text-transform:uppercase; color:var(--mute) !important; }
.title,h1.title{ font:600 36px/1 var(--teko) !important; letter-spacing:.06em !important; text-transform:uppercase; margin:2px 0 12px !important; color:var(--ink); }
h1,h2,h3{ font-family:var(--teko); font-weight:600; letter-spacing:.05em; line-height:1.05; }
h2{ font-size:24px; } h3{ font-size:20px; }
.big,.score,.winpercent,.n,.home-ln-wl,.stat-n,.gold.big{ font-family:var(--teko) !important; font-weight:600 !important; letter-spacing:.02em !important; }
.muted{ color:var(--mute) !important; } .small{ font-size:14px; line-height:1.4; }
.red{ color:var(--red) !important; } .gold{ color:var(--gold) !important; } .green{ color:var(--green) !important; }
.card{ background:var(--panel) !important; border:1px solid var(--line) !important; padding:16px !important; margin:12px 0 !important; clip-path:var(--cut); color:var(--ink); }
.card.alt{ background:var(--panel) !important; }
.divider{ background:var(--line) !important; }
.listrow,.team-recent-night{ border-bottom:1px solid var(--k21) !important; }
.btn{ background:var(--red) !important; color:var(--k20) !important; border:0 !important; font:600 19px/1 var(--teko) !important; letter-spacing:.12em; text-transform:uppercase; min-height:46px; padding:12px 14px 9px !important; }
.btn.secondary{ background:var(--well) !important; border:1px solid var(--line) !important; color:var(--ink) !important; }
.btn.inline{ font-size:16px !important; min-height:0; padding:8px 12px 6px !important; }
.link{ color:var(--ink-2) !important; text-decoration:underline; text-underline-offset:3px; font-weight:600; }
.pill,.home-ln-pill{ background:var(--well) !important; border:1px solid var(--line) !important; color:var(--ink-2) !important; font:600 13px var(--raj); letter-spacing:.06em; }
.notice{ background:var(--well) !important; border:1px solid var(--line) !important; border-left:4px solid var(--gold) !important; color:var(--ink-2) !important; }
.notice strong{ color:var(--gold) !important; }
input,select,textarea{ background:var(--well) !important; border:1px solid var(--line) !important; color:var(--ink) !important; font:600 16px var(--raj) !important; }
input::placeholder,textarea::placeholder{ color:var(--dim); }
.switch button,.pills button,.stats-fd button{ background:var(--well) !important; border:1px solid var(--line) !important; color:var(--mute) !important; font:600 15px/1 var(--teko) !important; letter-spacing:.14em; text-transform:uppercase; padding:9px 12px 7px !important; }
.switch button.selected,.stats-fd button.selected{ color:var(--ink) !important; border-color:var(--line) !important; border-bottom:3px solid var(--red) !important; background:var(--well) !important; }
.coach{ background:var(--well); border-left:4px solid var(--red) !important; padding:10px 12px !important; }
.coach b{ color:var(--red) !important; font:600 12px var(--raj) !important; letter-spacing:.22em !important; }
.track,.winbar{ background:var(--track) !important; } .fill{ background:var(--red) !important; } .winbar div{ background:var(--red) !important; }
.idgate{ background:var(--k22) !important; }
.idgate-card{ background:var(--panel) !important; border:1px solid var(--line) !important; clip-path:var(--cut); color:var(--ink); }
.idgate-card h1{ font:600 34px/1 var(--teko); letter-spacing:.06em; text-transform:uppercase; }
#bb-ptr{ font:600 12px var(--raj); letter-spacing:.2em; text-transform:uppercase; color:var(--mute); }
.bb-mode-page{ background:transparent !important; }
.stepper span{ background:var(--track) !important; } .stepper span.on{ background:var(--red) !important; }
/* any legacy gradient fill → flat token colour */
.btn,.pill,.notice,.seat,.home-ln-pill,.cr-bar,.cr-seg,.film-card,.film-night,.chat-bubble,.times-promo,.bb-top-strip{ background-image:none !important; }
img,video{ max-width:100%; }

/* ---------- grade tiles (data-bb-tile contract) ---------- */
.g-a{ --gc:var(--grade-A); } .g-b{ --gc:var(--grade-B); } .g-c{ --gc:var(--grade-C); } .g-d{ --gc:var(--grade-D); } .g-f{ --gc:var(--grade-F); } .g-thin{ --gc:var(--dim); }
.cg{ display:inline-flex; flex-direction:column; align-items:stretch; min-width:0; position:relative; cursor:default; }
.cg-L{ font:700 var(--sz,34px)/.82 var(--teko); color:var(--gc,var(--ink)); letter-spacing:0; padding-top:.08em; }
.cg-hero{ --sz:96px; } .cg-tile{ --sz:54px; } .cg-odt{ --sz:42px; } .cg-row{ --sz:34px; } .cg-box{ --sz:36px; } .cg-trail{ --sz:26px; } .cg-dim{ --sz:40px; }
.cg-cap{ font:600 12px/1.25 var(--raj); letter-spacing:.14em; text-transform:uppercase; color:var(--ink-2); margin-top:6px; }
.cg-box .cg-cap,.cg-trail .cg-cap,.cg-row .cg-cap{ display:none; }
.cg-strip{ display:none; position:relative; height:6px; background:var(--track); margin-top:12px; min-width:120px; }
.cg-hero .cg-strip,.cg-tile .cg-strip,.cg-dim .cg-strip{ display:block; }
.cg-strip .f{ position:absolute; left:0; top:0; bottom:0; background:var(--gc); }
.cg-strip .t{ position:absolute; top:-4px; bottom:-4px; width:2px; margin-left:-1px; background:var(--dim); }
.cg-strip .t.line{ background:var(--ink-2); } .cg-strip .t.bar{ background:var(--gold); }
.cg-strip .m{ position:absolute; top:-6px; width:4px; height:18px; margin-left:-2px; background:var(--ink); }
.cg-ticks{ display:none; position:relative; height:16px; margin-top:6px; font:600 10px/1 var(--raj); letter-spacing:.2em; text-transform:uppercase; color:var(--mute); }
.cg-hero .cg-ticks,.cg-tile .cg-ticks,.cg-dim .cg-ticks{ display:block; }
.cg-ticks span{ position:absolute; top:0; transform:translateX(-50%); white-space:nowrap; }
.cg-ticks span:first-child{ transform:none; } .cg-ticks span:last-child{ transform:translateX(-100%); }
.cg-dash{ font:700 var(--sz,34px)/.82 var(--teko); color:var(--dim); }
.bb-sr{ position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; white-space:nowrap !important; border:0 !important; }

/* ---------- CHEL screens ---------- */
.ch-panel{ position:relative; }
.ch-kick{ display:flex; justify-content:space-between; gap:10px; align-items:baseline; font:600 12px/1.3 var(--raj); letter-spacing:.22em; text-transform:uppercase; color:var(--mute); }
.ch-kick b{ color:var(--ink-2); font-weight:600; }
.ch-kick .gold{ color:var(--gold); }
.ch-name{ font:700 30px/1 var(--raj); color:var(--ink); margin:6px 0 0; letter-spacing:.01em; word-break:break-word; }
.ch-pos{ font:600 13px var(--raj); letter-spacing:.14em; text-transform:uppercase; color:var(--mute); }
.ch-title{ font:600 30px/1 var(--teko); letter-spacing:.1em; text-transform:uppercase; margin:6px 0 2px; }
.ch-sub{ font:600 12px var(--raj); letter-spacing:.22em; text-transform:uppercase; color:var(--mute); margin-bottom:6px; }
.ch-grid{ display:grid; gap:0 18px; grid-template-columns:minmax(0,1fr); }
@media (min-width:900px){ .ch-grid{ grid-template-columns:minmax(0,1fr) 340px; align-items:start; } .ch-rail{ position:sticky; top:86px; } }
.ch-cols{ display:grid; gap:0 14px; grid-template-columns:minmax(0,1fr); }
@media (min-width:900px){ .ch-cols.two{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }
.ch-hero-row{ display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-top:4px; }
.ch-hero-row .cg-hero{ align-items:flex-end; text-align:right; }
.ch-hero-row .cg-hero .cg-strip,.ch-hero-row .cg-hero .cg-ticks{ display:none; }
.ch-heroband{ margin-top:12px; }
.ch-heroband .cg{ width:100%; }
.ch-ctx{ font:600 13px/1.4 var(--raj); letter-spacing:.12em; text-transform:uppercase; color:var(--ink-2); margin-top:10px; }
.ch-ctx span+span::before{ content:" · "; color:var(--dim); }
.ch-ea{ margin-top:8px; font:600 13px/1.4 var(--raj); letter-spacing:.1em; text-transform:uppercase; color:var(--mute); }
.ch-ea b{ font:600 20px/1 var(--teko); color:var(--ink-2); letter-spacing:.06em; margin:0 2px; }
.ch-note{ display:inline-block; margin-top:8px; font:600 11px var(--raj); letter-spacing:.2em; text-transform:uppercase; color:var(--gold); border:1px solid var(--line); padding:4px 8px; background:var(--well); }
.ch-seg{ display:flex; gap:4px; margin:12px 0 0; flex-wrap:wrap; }
.ch-seg button{ background:var(--well); border:1px solid var(--line); color:var(--mute); font:600 15px/1 var(--teko); letter-spacing:.14em; text-transform:uppercase; padding:9px 12px 6px; border-bottom:3px solid transparent; }
.ch-seg button.on{ color:var(--ink); border-bottom-color:var(--red); }
/* O / D / T */
.ch-odt{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:12px; }
.ch-area{ border-top:3px solid var(--gc,var(--dim)); background:var(--well); padding:10px 10px 12px; min-width:0; }
.ch-area .ch-alab{ font:600 11px var(--raj); letter-spacing:.2em; text-transform:uppercase; color:var(--mute); margin-top:8px; }
.ch-area .ch-alead{ font:600 13px/1.35 var(--raj); color:var(--ink-2); margin-top:4px; }
.ch-area .cg-dim .cg-strip,.ch-area .cg-dim .cg-ticks{ display:none; }
.ch-team{ margin-top:12px; background:var(--well); border:1px solid var(--line); padding:12px; }
.ch-team-head{ display:flex; align-items:center; gap:14px; }
.ch-team-nums{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; margin-top:10px; }
.ch-team-nums div{ background:var(--k23); padding:8px 4px; text-align:center; }
.ch-team-nums b{ display:block; font:600 22px/1 var(--teko); color:var(--ink); }
.ch-team-nums span{ display:block; font:600 9px/1.3 var(--raj); letter-spacing:.16em; text-transform:uppercase; color:var(--mute); margin-top:4px; }
.ch-same{ font:600 11px var(--raj); letter-spacing:.2em; text-transform:uppercase; color:var(--ink-2); }
/* receipt */
.rc-cap{ font:600 12px var(--raj); letter-spacing:.2em; text-transform:uppercase; color:var(--ink-2); margin:4px 0 8px; }
.rc-group{ font:600 20px/1 var(--teko); letter-spacing:.14em; text-transform:uppercase; color:var(--ink); margin:14px 0 6px; display:flex; justify-content:space-between; }
.rc-group b{ font-weight:600; color:var(--gc,var(--ink)); }
.rc-row{ background:var(--well); border-left:4px solid var(--rc); padding:9px 10px 8px; margin:4px 0; }
.rc-green{ --rc:var(--green); } .rc-amber{ --rc:var(--grade-D); } .rc-red{ --rc:var(--red); } .rc-none{ --rc:var(--dim); }
.rc-top{ display:grid; grid-template-columns:minmax(0,1fr) auto auto auto; gap:10px; align-items:baseline; }
.rc-label{ font:700 15px var(--raj); color:var(--ink); min-width:0; }
.rc-num{ font:600 24px/1 var(--teko); color:var(--rc); letter-spacing:.02em; }
.rc-num small{ font:600 11px var(--raj); color:var(--mute); letter-spacing:.1em; margin-left:2px; }
.rc-line{ font:600 12px var(--raj); letter-spacing:.14em; text-transform:uppercase; color:var(--mute); }
.rc-line b{ font:600 18px/1 var(--teko); color:var(--ink-2); letter-spacing:.04em; }
.rc-gold{ width:12px; height:12px; background:var(--gold); clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); }
.rc-nogold{ width:12px; }
.rc-segs{ display:grid; grid-template-columns:repeat(10,1fr); gap:2px; margin-top:7px; }
.rc-segs i{ height:5px; background:var(--track); }
.rc-segs i.on{ background:var(--rc); }
.rc-why{ font:500 13px/1.4 var(--raj); color:var(--mute); margin-top:6px; }
.rc-games{ font:600 11px var(--raj); letter-spacing:.14em; text-transform:uppercase; color:var(--dim); margin-left:6px; }
/* coach blocks */
.cb{ background:var(--well); border-left:4px solid var(--cb); padding:11px 12px; margin:8px 0; }
.cb-fix{ --cb:var(--red); } .cb-keep{ --cb:var(--green); } .cb-scout{ --cb:var(--gold); }
.cb-k{ font:600 12px var(--raj); letter-spacing:.22em; text-transform:uppercase; color:var(--cb); }
.cb-t{ font:600 15px/1.45 var(--raj); color:var(--ink); margin-top:5px; }
.cb-s{ font:600 12px/1.4 var(--raj); letter-spacing:.06em; color:var(--mute); margin-top:6px; }
.ctl{ display:inline-block; font:600 12px/1 var(--raj); letter-spacing:.06em; border:1px solid var(--line); background:var(--k23); color:var(--ink); padding:3px 6px; margin:0 1px; vertical-align:1px; }
/* wells: stats line, previous nights */
.ch-wells{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:4px; margin-top:10px; }
.ch-wells>div{ background:var(--well); padding:10px 2px 8px; text-align:center; min-width:0; }
.ch-wells b{ display:block; font:600 26px/1 var(--teko); color:var(--ink); letter-spacing:.02em; white-space:nowrap; }
.ch-wells span{ display:block; font:600 10px/1.2 var(--raj); letter-spacing:.18em; text-transform:uppercase; color:var(--mute); margin-top:4px; }
@media (max-width:359px){ .ch-wells{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.ch-prev{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:4px; margin-top:10px; }
.ch-prev>button,.ch-prev>div{ background:var(--well); border:1px solid transparent; padding:10px 2px 8px; text-align:center; color:inherit; min-width:0; }
.ch-prev .last{ border-color:var(--gc,var(--line)); }
.ch-prev .pl{ font:700 26px/1 var(--teko); color:var(--gc,var(--dim)); }
.ch-prev .pd{ font:600 10px var(--raj); letter-spacing:.16em; text-transform:uppercase; color:var(--mute); margin-top:4px; white-space:nowrap; }
/* Who skated rows (Home + rail) */
.ws-list{ display:grid; gap:6px; margin-top:10px; }
.ws-row{ display:grid; grid-template-columns:44px minmax(0,1fr) auto; gap:10px; align-items:center; width:100%; text-align:left; background:var(--well); border:1px solid var(--line); color:inherit; padding:9px 10px; min-height:58px; }
.ws-row.me{ border-color:var(--grade-B); }
.ws-row:hover{ border-color:var(--dim); }
.ws-row .ws-l{ display:flex; align-items:center; justify-content:center; }
.ws-name{ font:700 16px/1.15 var(--raj); color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ws-pos{ font:600 11px var(--raj); letter-spacing:.2em; text-transform:uppercase; color:var(--mute); }
.ws-stats{ font:600 12px/1.35 var(--raj); color:var(--ink-2); margin-top:2px; }
.ws-chev{ color:var(--red); font:700 26px/1 var(--teko); }
.ws-sat{ opacity:.85; }
/* Home club */
.cl-wl{ font:600 44px/1 var(--teko); letter-spacing:.04em; }
.cl-wl .w{ color:var(--green); } .cl-wl .l{ color:var(--red); }
.res-list{ display:grid; gap:4px; margin-top:10px; }
.res-row{ display:grid; grid-template-columns:24px 62px minmax(0,1fr) auto; gap:8px; align-items:center; background:var(--well); border-left:4px solid var(--rs); padding:7px 10px; }
.res-row.w{ --rs:var(--green); } .res-row.l{ --rs:var(--red); } .res-row.t{ --rs:var(--dim); }
.res-row .rw{ font:600 20px/1 var(--teko); color:var(--rs); }
.res-row .rsc{ font:600 26px/1 var(--teko); color:var(--ink); white-space:nowrap; }
.res-row .rop{ font:600 15px var(--raj); color:var(--ink-2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
/* bb-v397: name on top (ellipsis), the other club's Division · record under it, muted */
.res-row .rop{ display:flex; flex-direction:column; justify-content:center; gap:2px; }
.res-row .ron{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.res-row .rsub{ display:block; font:600 11px/1.2 var(--raj); letter-spacing:.12em; text-transform:uppercase; color:var(--mute); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; }
.res-row .rmeta{ font:600 11px var(--raj); letter-spacing:.14em; text-transform:uppercase; color:var(--mute); white-space:nowrap; }
.res-row .rmeta b{ font:600 16px var(--teko); color:var(--ink-2); letter-spacing:.04em; margin-left:3px; }
.res-tag{ font:600 10px var(--raj); letter-spacing:.16em; color:var(--gold); border:1px solid var(--line); padding:1px 4px; margin-left:6px; }
@media (max-width:560px){ .res-row{ grid-template-columns:24px 56px minmax(0,1fr); } .res-row .rmeta{ grid-column:2 / -1; } }
/* Club Rank card (legacy markup) */
.card .cr-title,.card .cr-asof{ font:600 12px var(--raj); letter-spacing:.22em; text-transform:uppercase; color:var(--mute); }
.card .cr-div .big,.card .cr-pts .big{ font:600 56px/1 var(--teko) !important; }
.card .cr-pts .big{ color:var(--gold) !important; }
@media (min-width:900px){ .card .cr-div .big,.card .cr-pts .big{ font-size:84px !important; } }
/* Leaders + Games (Stats) */
.ld-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; margin:10px -4px 0; border:1px solid var(--line); background:var(--well); }
.ld{ border-collapse:collapse; width:100%; min-width:760px; }
.ld th{ font:600 12px var(--raj); letter-spacing:.16em; text-transform:uppercase; color:var(--mute); padding:9px 8px; text-align:right; white-space:nowrap; border-bottom:1px solid var(--line); background:var(--well); }
.ld th button{ background:none; border:0; color:inherit; font:inherit; letter-spacing:inherit; text-transform:inherit; padding:0; }
.ld th.on{ color:var(--gold); }
.ld td{ font:600 22px/1 var(--teko); text-align:right; padding:8px 8px 6px; border-bottom:1px solid var(--k21); color:var(--ink); white-space:nowrap; }
.ld th:first-child,.ld td:first-child{ position:sticky; left:0; z-index:1; text-align:left; background:var(--well); border-right:1px solid var(--line); }
.ld td:first-child button{ background:none; border:0; color:var(--ink); font:700 15px var(--raj); padding:0; text-align:left; max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; display:block; }
.ld td.pos{ font:600 13px var(--raj); color:var(--mute); text-align:left; letter-spacing:.04em; }
.ld tr.me td{ background:var(--k24); } .ld tr.me td:first-child{ background:var(--k24); }
.tw{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; margin-top:10px; }
@media (min-width:900px){ .tw{ grid-template-columns:repeat(8,minmax(0,1fr)); } }
@media (max-width:560px){ .tw b{ font-size:22px; } .tw span{ letter-spacing:.1em; } }
.tw>div{ background:var(--well); padding:10px 6px 8px; text-align:center; min-width:0; }
.tw b{ display:block; font:600 26px/1 var(--teko); white-space:nowrap; }
.tw span{ display:block; font:600 10px/1.25 var(--raj); letter-spacing:.16em; text-transform:uppercase; color:var(--mute); margin-top:4px; }
.tw small{ display:block; font:600 11px var(--raj); color:var(--ink-2); margin-top:2px; letter-spacing:.04em; }
.tw-3s{ margin-top:8px; font:600 12px var(--raj); letter-spacing:.14em; text-transform:uppercase; color:var(--mute); background:var(--well); border:1px dashed var(--line); padding:8px 10px; }
.tw-3s b{ font:600 18px var(--teko); color:var(--ink-2); letter-spacing:.04em; }
/* Coach rows */
.co-row{ background:var(--well); border:1px solid var(--line); margin:6px 0; }
.co-head{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; width:100%; background:none; border:0; color:inherit; text-align:left; padding:10px 12px; }
.co-letters{ display:flex; gap:10px; align-items:flex-end; }
.co-letters .co-l{ display:flex; flex-direction:column; align-items:center; }
.co-letters .co-lab{ font-style:normal; font:600 9px var(--raj); letter-spacing:.18em; text-transform:uppercase; color:var(--mute); margin-top:2px; }
.co-body{ padding:0 12px 12px; }
.co-fixline{ font:600 13px/1.4 var(--raj); color:var(--ink-2); margin-top:3px; }
.co-fixline b{ color:var(--red); font-weight:600; letter-spacing:.14em; text-transform:uppercase; font-size:11px; margin-right:4px; }
.co-open{ display:inline-block; margin-top:8px; background:none; border:0; color:var(--red); font:600 16px var(--teko); letter-spacing:.14em; text-transform:uppercase; padding:0; }
/* Settings (gear) */
.st-sec{ font:600 12px var(--raj); letter-spacing:.24em; text-transform:uppercase; color:var(--mute); margin:16px 0 6px; }
.st-row{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; width:100%; text-align:left; background:var(--well); border:1px solid var(--line); color:inherit; padding:12px; margin:4px 0; }
.st-row b{ display:block; font:700 16px var(--raj); color:var(--ink); }
.st-row span{ display:block; font:500 13px/1.35 var(--raj); color:var(--mute); margin-top:2px; }
.st-row i{ font-style:normal; color:var(--red); font:700 24px/1 var(--teko); }
.st-code{ font:600 12px/1.5 ui-monospace,Menlo,monospace; color:var(--ink-2); background:var(--k23); border:1px solid var(--line); padding:10px; overflow:auto; max-height:240px; white-space:pre; }
/* Scout wrapper */
.sc-intro{ font:600 14px/1.45 var(--raj); color:var(--ink-2); }
.scout-sugg button,.scout-sugg [data-pick-club],.scout-sugg [data-pick-player]{ background:var(--well) !important; border:1px solid var(--line) !important; color:var(--ink) !important; }
/* back link */
.ch-back{ display:flex; justify-content:space-between; align-items:center; margin:2px 0 6px; }
.ch-back button{ background:none; border:0; color:var(--mute); font:600 13px var(--raj); letter-spacing:.24em; text-transform:uppercase; padding:6px 0; }
.ch-empty{ font:600 14px/1.45 var(--raj); color:var(--mute); margin-top:8px; }

/* bb-v389 polish after the 375 / 1280 pass */
.ch-hero-row .cg-hero .cg-cap{ font-size:11px; letter-spacing:.12em; max-width:120px; margin-left:auto; }
@media (max-width:560px){ .rc-games{ display:block; margin:2px 0 0; } .rc-top{ gap:8px; } }
.ch-ea .lab{ display:block; font:600 11px var(--raj); letter-spacing:.22em; color:var(--mute); margin-bottom:2px; }
.co-row.me{ border-color:var(--grade-B); }
.co-head[disabled]{ cursor:default; opacity:1; color:inherit; }

.ch-hero-row .cg-tile .cg-strip,.ch-hero-row .cg-tile .cg-ticks{ display:none; }
.ch-hero-row .cg-tile{ align-items:flex-end; text-align:right; }
.ch-hero-row .cg-tile .cg-cap{ font-size:11px; letter-spacing:.12em; max-width:120px; margin-left:auto; }
@media (max-width:560px){ .tw b{ font-size:20px; letter-spacing:0; } }

/* ===================== bb-v390 · Chat ===================== */
/* Chat tab: unread badge (replaces the v388 header "Team Chat (n)" button) */
.nav button{ position:relative; }
.nav-badge{ position:absolute; top:6px; left:calc(50% + 6px); min-width:18px; height:18px; padding:0 4px; background:var(--red); color:var(--k20); font:700 13px/19px var(--teko); letter-spacing:.02em; text-align:center; pointer-events:none; }
.nav button.has-new{ color:var(--ink) !important; }
@media (min-width:900px){ .nav button.has-new{ flex-direction:row; gap:6px; } .nav-badge{ position:static; display:inline-block; vertical-align:middle; margin-top:-3px; } }

/* Desktop header: the crest clips instead of sliding under the tabs; tabs never shrink */
.chel-brand{ flex:0 1 auto; overflow:hidden; }
.nav{ flex:0 0 auto; }
@media (min-width:900px) and (max-width:1199px){
  .chel-top{ gap:8px; padding-left:18px; padding-right:18px; }
  .chel-club{ font-size:26px; }
  .chel-crumb{ max-width:200px; }
  .nav button{ padding:12px 10px 9px !important; letter-spacing:.12em; }
  .chel-top .bb-online #bb-online-lbl{ display:none; }
  .chel-top .bb-online .dot{ margin-right:0; }
}

/* Team Chat room in the CHEL tokens */
.chatlog{ max-height:none !important; height:clamp(260px, calc(100vh - 440px), 640px); background:var(--well); border:1px solid var(--line); padding:12px 10px 14px !important; gap:12px !important; margin:10px 0 14px; scrollbar-color:var(--dim) transparent; }
@supports (height:100dvh){ .chatlog{ height:clamp(260px, calc(100dvh - 440px), 640px); } }
.message{ max-width:86% !important; }
.message .meta{ font:600 11px/1.2 var(--raj) !important; letter-spacing:.14em !important; text-transform:uppercase; color:var(--mute) !important; margin:0 2px 5px !important; }
.message .meta b{ color:var(--ink-2) !important; font-weight:700 !important; }
.message.mine .meta b{ color:var(--red) !important; }
.message time{ font:500 11px var(--raj) !important; letter-spacing:.08em; color:var(--mute) !important; }
.message .bubble{ font:500 15px/1.42 var(--raj); padding:10px 14px !important; color:var(--ink) !important; }
.message.theirs .bubble{ background:var(--k3) !important; border:1px solid var(--line); border-left:3px solid var(--dim); }
.message.mine .bubble{ background:var(--k25) !important; border:1px solid var(--k26); border-right:3px solid var(--red); }
.message .bubble a,.message a.chat-media-link{ color:var(--ink) !important; text-decoration:underline; text-decoration-color:var(--red); text-underline-offset:3px; font-weight:600; }
.chatpics{ display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
.chatpics img,.chatpics video{ display:block; max-width:100%; background:var(--bg); border:1px solid var(--line); }
.chat-media-hit:focus-visible{ outline:2px solid var(--red) !important; }
.chat-vid-enlarge{ background:var(--well) !important; border:1px solid var(--line) !important; color:var(--ink) !important; font:600 14px/1 var(--teko) !important; letter-spacing:.16em !important; padding:7px 10px 5px !important; }
.message.mine .chat-vid-enlarge{ border-color:var(--k26) !important; }
#chat-form .label{ margin-top:4px; }
#chat-form textarea,#chatbody{ background:var(--well) !important; border:1px solid var(--line) !important; color:var(--ink) !important; font:500 16px/1.4 var(--raj) !important; padding:12px !important; }
#chat-form textarea:focus{ outline:2px solid var(--red); outline-offset:0; border-color:var(--red) !important; }
#chat-form textarea::placeholder{ color:var(--dim); }
#chat-form textarea:disabled{ opacity:.55; }
.chat-photo-preview img,.chat-photo-preview video{ background:var(--well) !important; border:1px solid var(--line); }
.chat-photo-preview button{ background:var(--red) !important; }
#chatstatus{ font:600 14px var(--raj) !important; color:var(--gold) !important; }
#chat-form .btn{ width:100%; margin-top:8px; }
@media (max-width:899px){
  .chatlog{ height:clamp(220px, calc(100vh - 470px), 480px); }
  @supports (height:100dvh){ .chatlog{ height:clamp(220px, calc(100dvh - 470px), 480px); } }
  .message{ max-width:92% !important; }
  .message .bubble{ font-size:15px; }
  .chat-media-hit,.chat-media-hit.is-vid{ max-width:min(260px, 70vw) !important; }
}

/* ===================== bb-v391 · Team Chat button in the header (left of the gear) ===================== */
.chel-chat{ position:relative; flex:0 0 auto; height:40px; min-width:40px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:0 10px; background:var(--well); border:1px solid var(--line); color:var(--ink-2); font:600 16px/1 var(--teko); letter-spacing:.16em; text-transform:uppercase; cursor:pointer; }
.chel-chat svg{ width:20px; height:20px; display:block; flex:0 0 auto; }
.chel-chat .chel-chat-lbl{ display:none; padding-top:2px; }
.chel-chat:hover,.chel-chat.on{ color:var(--ink); border-color:var(--red); }
.chel-chat.has-new{ color:var(--ink); border-color:var(--red); }
.chel-chat .nav-badge,.chel-top .chel-chat .nav-badge{ position:absolute; top:-7px; right:-7px; left:auto; display:block; margin:0; min-width:18px; height:18px; padding:0 4px; background:var(--red); color:var(--k20); font:700 13px/19px var(--teko); letter-spacing:.02em; text-align:center; z-index:2; }
.chel-tools{ flex:0 0 auto; }
@media (min-width:1200px){
  .chel-chat{ padding:0 14px 0 12px; }
  .chel-chat .chel-chat-lbl{ display:inline; }
  .chel-chat .nav-badge,.chel-top .chel-chat .nav-badge{ position:static; display:inline-block; margin-top:-2px; }
}

/* ===================== bb-v393 · Home Last Night accordion ===================== */
.cl-acc{ display:block; width:100%; background:none; border:0; padding:0; margin:0; color:inherit; text-align:left; cursor:pointer; font:inherit; }
.cl-acc .ch-kick{ display:flex; }
.cl-acc-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:4px; }
.cl-acc-hint{ display:inline-flex; align-items:center; gap:10px; font:600 15px/1 var(--teko); letter-spacing:.16em; text-transform:uppercase; color:var(--ink-2); padding:8px 10px 6px 12px; border:1px solid var(--line); background:var(--well); }
.cl-acc:hover .cl-acc-hint,.cl-acc:focus-visible .cl-acc-hint{ color:var(--ink); border-color:var(--red); }
.cl-acc:focus-visible{ outline:2px solid var(--red); outline-offset:4px; }
.cl-chev{ display:block; width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-3px) rotate(45deg); transition:transform .15s ease; }
.cl-open .cl-chev,.cl-acc[aria-expanded="true"] .cl-chev{ transform:translateY(2px) rotate(-135deg); }
.cl-games[hidden]{ display:none !important; }
.cl-games{ margin-top:10px; }
@media (max-width:420px){ .cl-acc-hint{ font-size:14px; letter-spacing:.12em; padding:7px 8px 5px 10px; } }

/* ---------- v394: Below · Met · Above tick words (longer than floor/line/bar → Met sits left of its tick) ---------- */
.cg-ticks span:nth-child(2){ transform:translateX(-100%); padding-right:6px; }
/* tappable O / D / T cells → drill-down */
.ch-area[data-dd-cell],.ch-area[data-dd-club]{ cursor:pointer; }
.ch-area[data-dd-cell]:hover,.ch-area[data-dd-club]:hover{ background:var(--k27); }
.ch-area[data-dd-cell]:focus-visible,.ch-area[data-dd-club]:focus-visible{ outline:2px solid var(--red); outline-offset:2px; }
.ch-area [data-bb-tile]{ cursor:pointer; }
.dd-open{ font-style:normal; color:var(--red); margin-left:2px; }
.co-l [data-bb-tile]{ cursor:pointer; }
/* card: Standards = three area rows + the full list folded */
.sd-list{ display:grid; gap:4px; margin-top:10px; }
.sd-row{ display:grid; grid-template-columns:44px minmax(0,1fr) auto 14px; grid-template-rows:auto auto; column-gap:12px; align-items:center; width:100%; text-align:left; background:var(--well); border:1px solid var(--line); border-left:4px solid var(--gc,var(--dim)); color:var(--ink); padding:8px 12px 8px 10px; cursor:pointer; }
.sd-row:hover{ background:var(--k27); }
.sd-L{ grid-row:1 / span 2; font:700 40px/.82 var(--teko); color:var(--gc,var(--dim)); padding-top:.08em; text-align:center; }
.sd-n{ font:600 20px/1 var(--teko); letter-spacing:.12em; text-transform:uppercase; color:var(--ink); }
.sd-p{ font:600 22px/1 var(--teko); color:var(--gc,var(--ink-2)); text-align:right; }
.sd-x{ grid-column:2 / span 2; font:600 11px/1.3 var(--raj); letter-spacing:.16em; text-transform:uppercase; color:var(--mute); }
.sd-chev{ grid-column:4; grid-row:1 / span 2; font-style:normal; font:600 22px/1 var(--teko); color:var(--red); }
.rc-acc{ margin-top:10px; padding:8px 0 0; border-top:1px solid var(--line); }
.rc-acc-k{ font:600 12px var(--raj); letter-spacing:.22em; text-transform:uppercase; color:var(--mute); }
.rc-all[hidden]{ display:none !important; }

/* ---------- drill-down sheet ---------- */
html.dd-on,html.dd-on body{ overflow:hidden; }
.dd-root{ position:fixed; inset:0; z-index:200; }
.dd-root[hidden]{ display:none !important; }
.dd-scrim{ position:absolute; inset:0; background:var(--k28); }
.dd-sheet{ position:absolute; left:0; right:0; bottom:0; max-height:88vh; max-height:88dvh; display:flex; flex-direction:column; background:var(--panel); border-top:3px solid var(--red); animation:ddUp .18s ease-out; }
@keyframes ddUp{ from{ transform:translateY(24px); opacity:.4; } to{ transform:none; opacity:1; } }
.dd-bar-top{ position:relative; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 14px 8px; border-bottom:1px solid var(--line); flex:0 0 auto; }
.dd-grip{ position:absolute; left:50%; top:5px; width:44px; height:4px; margin-left:-22px; background:var(--dim); }
.dd-kick{ font:600 12px var(--raj); letter-spacing:.22em; text-transform:uppercase; color:var(--mute); }
.dd-x{ display:inline-flex; align-items:center; gap:6px; min-height:36px; background:var(--well); border:1px solid var(--line); color:var(--ink); font:600 14px/1 var(--teko); letter-spacing:.14em; text-transform:uppercase; padding:6px 12px 4px; cursor:pointer; }
.dd-x b{ font:600 20px/1 var(--raj); color:var(--red); }
.dd-body{ overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; padding:12px 14px calc(18px + env(safe-area-inset-bottom,0px)); }
.dd-head{ border-left:4px solid var(--gc,var(--dim)); padding:2px 0 0 12px; }
.dd-title{ display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; }
.dd-area{ font:600 30px/1 var(--teko); letter-spacing:.1em; text-transform:uppercase; color:var(--ink); }
.dd-L{ font:700 72px/.8 var(--teko); color:var(--gc,var(--dim)); padding-top:.08em; }
.dd-pct{ font:600 40px/1 var(--teko); color:var(--gc,var(--ink-2)); letter-spacing:.02em; }
.dd-meta{ font:600 12px/1.4 var(--raj); letter-spacing:.16em; text-transform:uppercase; color:var(--ink-2); margin-top:6px; }
.dd-meta span+span::before{ content:" · "; color:var(--dim); }
.dd-same{ margin-top:4px; }
.dd-seg{ margin-top:10px; }
.dd-rows{ margin-top:12px; }
.dd-row{ padding:10px 12px 10px; }
.dd-top-row{ grid-template-columns:minmax(0,1fr) auto auto; }
.dd-chip{ display:inline-block; margin-left:8px; font:600 10px/1 var(--raj); letter-spacing:.18em; text-transform:uppercase; padding:4px 6px 3px; border:1px solid currentColor; vertical-align:2px; }
.dd-chip.fix{ color:var(--red); } .dd-chip.keep{ color:var(--green); }
.dd-bar{ position:relative; margin:12px 0 0; }
.dd-track{ display:block; position:relative; height:8px; background:var(--track); }
.dd-track .f{ position:absolute; left:0; top:0; bottom:0; background:var(--rc); }
.dd-track .t{ position:absolute; top:-4px; bottom:-4px; width:2px; margin-left:-1px; background:var(--dim); }
.dd-track .t.met{ background:var(--ink-2); } .dd-track .t.above{ background:var(--gold); margin-left:-2px; }
.dd-track .m{ position:absolute; top:-6px; width:4px; height:20px; margin-left:-2px; background:var(--ink); }
.dd-ticks{ display:block; position:relative; height:14px; margin-top:7px; font:600 10px/1 var(--raj); letter-spacing:.16em; text-transform:uppercase; color:var(--mute); }
.dd-ticks span{ position:absolute; top:0; white-space:nowrap; }
.dd-ticks .b{ left:0; } .dd-ticks .mt{ transform:translateX(-100%); padding-right:6px; color:var(--ink-2); } .dd-ticks .ab{ right:0; color:var(--gold); }
.dd-req{ font:600 13px/1.4 var(--raj); color:var(--ink-2); margin-top:4px; }
.dd-state{ font-weight:700; color:var(--rc); letter-spacing:.08em; text-transform:uppercase; }
.dd-per{ font:600 11px/1.4 var(--raj); letter-spacing:.1em; text-transform:uppercase; color:var(--mute); margin-top:3px; }
.dd-row .rc-why{ font-size:12px; margin-top:4px; }
.dd-foot{ font:600 11px/1.4 var(--raj); letter-spacing:.12em; text-transform:uppercase; color:var(--dim); margin:12px 0 0; }
@media (min-width:900px){
  .dd-sheet{ left:auto; top:0; bottom:0; width:480px; max-height:none; border-top:0; border-left:3px solid var(--red); animation:ddIn .18s ease-out; }
  @keyframes ddIn{ from{ transform:translateX(24px); opacity:.4; } to{ transform:none; opacity:1; } }
  .dd-grip{ display:none; }
  .dd-bar-top{ padding:14px 18px 10px; } .dd-body{ padding:14px 18px 24px; }
}
@media (max-width:380px){ .dd-L{ font-size:60px; } .dd-pct{ font-size:34px; } .dd-area{ font-size:26px; } }
@media (prefers-reduced-motion:reduce){ .dd-sheet{ animation:none !important; } }
/* v394: info-only row (Your shot share) — no bar, no state colour */
.dd-info{ background:var(--well); border-left:4px dashed var(--dim); padding:10px 12px; margin:10px 0 4px; }
.dd-info-top{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
.dd-info .rc-num{ color:var(--ink); }
.dd-chip.info{ color:var(--mute); }

/* ---------- v395: Plays inside Coach (Zone time) ---------- */
.pl-seg{ margin:8px 0 4px; }
.pl-blurb{ font:600 14px/1.45 var(--raj); color:var(--ink-2); margin:8px 0 0; }
.pl-jobs{ display:grid; gap:4px; margin-top:10px; }
.pl-jobs-k{ font:600 11px var(--raj); letter-spacing:.22em; text-transform:uppercase; color:var(--mute); margin:8px 0 2px; }
.pl-job{ display:grid; grid-template-columns:40px minmax(0,1fr); gap:10px; align-items:baseline; background:var(--well); border-left:4px solid var(--line); padding:8px 10px; }
.pl-job b{ font:600 20px/1 var(--teko); letter-spacing:.06em; color:var(--ink); }
.pl-job span{ font:600 14px/1.35 var(--raj); color:var(--ink-2); }
.pl-job.me{ border-left-color:var(--gold); } .pl-job.me b{ color:var(--gold); }
.pl-list{ display:grid; gap:8px; margin-top:10px; }
.pl-card{ background:var(--well); border:1px solid var(--line); border-left:4px solid var(--red); }
.pl-card-main{ display:grid; grid-template-columns:112px minmax(0,1fr); gap:12px; align-items:start; width:100%; text-align:left; background:none; border:0; color:var(--ink); padding:10px; cursor:pointer; font:inherit; }
.pl-card-main:hover{ background:var(--k27); } .pl-card-main:focus-visible{ outline:2px solid var(--red); outline-offset:-2px; }
.pl-card-fs{ display:flex; align-items:center; justify-content:center; gap:8px; width:100%; background:var(--k23); border:0; border-top:1px solid var(--line); color:var(--ink-2); font:600 13px/1 var(--teko); letter-spacing:.16em; text-transform:uppercase; padding:9px 10px 7px; cursor:pointer; }
.pl-card-fs i{ font-style:normal; font-size:16px; color:var(--red); } .pl-card-fs:hover{ color:var(--ink); }
.pl-thumb{ display:block; }
.pl-thumb .pl-svg{ width:100%; height:auto; display:block; }
.pl-card-txt{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.pl-card-n{ font:600 11px var(--raj); letter-spacing:.2em; text-transform:uppercase; color:var(--mute); }
.pl-card-name{ font:600 24px/1 var(--teko); letter-spacing:.08em; text-transform:uppercase; color:var(--ink); }
.pl-card-blurb{ font:600 13px/1.4 var(--raj); color:var(--ink-2); }
.pl-card-you{ font:500 13px/1.4 var(--raj); color:var(--mute); margin-top:2px; }
.pl-card-you b{ color:var(--gold); font-weight:700; letter-spacing:.06em; margin-right:4px; }
.pl-card-go{ font:600 14px/1 var(--teko); letter-spacing:.16em; text-transform:uppercase; color:var(--red); margin-top:4px; }
@media (max-width:420px){ .pl-card-main{ grid-template-columns:88px minmax(0,1fr); gap:10px; } }
/* the board */
.pl-svg .rk-ice{ fill:var(--k29); stroke:var(--k30); stroke-width:2; }
.pl-svg .rk-goal{ stroke:var(--red); stroke-width:1.5; opacity:.75; }
.pl-svg .rk-blue{ stroke:var(--k16); stroke-width:5; opacity:.55; }
.pl-svg .rk-crease{ fill:var(--k31); stroke:var(--red); stroke-width:1; opacity:.9; }
.pl-svg .rk-net{ fill:none; stroke:var(--ink-2); stroke-width:2; }
.pl-svg .rk-circle{ fill:none; stroke:var(--red); stroke-width:1.2; opacity:.35; }
.pl-svg .rk-dot{ fill:var(--red); opacity:.8; }
.pl-svg .rk-goalie rect{ fill:var(--k11); } .pl-svg .rk-goalie text{ font:600 8px var(--raj); fill:var(--ink); }
.pl-svg .pl-route{ fill:none; stroke-width:1.4; stroke-dasharray:4 4; opacity:.75; }
.pl-svg .pl-route.f{ stroke:var(--k32); } .pl-svg .pl-route.d{ stroke:var(--k16); }
.pl-svg .pl-route.mine{ stroke:var(--gold); stroke-width:3; stroke-dasharray:none; opacity:1; }
.pl-svg .pl-route.fade{ opacity:.22; }
.pl-svg .pl-puckpath{ fill:none; stroke:var(--ink-2); stroke-width:1.3; stroke-dasharray:1 4; stroke-linecap:round; opacity:.7; }
.pl-svg .pl-mk .pl-dot{ stroke:var(--k0); stroke-width:1.5; }
.pl-svg .pl-mk.f .pl-dot{ fill:var(--red); } .pl-svg .pl-mk.d .pl-dot{ fill:var(--k16); }
.pl-svg .pl-mk text{ font:700 9px var(--raj); letter-spacing:.02em; fill:var(--k20); pointer-events:none; }
.pl-svg .pl-mk.d text{ fill:var(--k0); }
.pl-svg .pl-mk.fade{ opacity:.4; }
.pl-svg .pl-you{ fill:none; stroke:var(--gold); stroke-width:3.5; }
.pl-svg .pl-carry{ fill:none; stroke:var(--ink); stroke-width:1.5; stroke-dasharray:3 2.5; }
.pl-svg .pl-puck circle{ fill:var(--ink); stroke:var(--k0); stroke-width:1.5; }
/* play screen */
.pl-others{ margin:8px 0 4px; }
.pl-detail{ display:grid; gap:0 18px; grid-template-columns:minmax(0,1fr); }
@media (min-width:900px){ .pl-detail{ grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); align-items:start; } .pl-main{ position:sticky; top:86px; } }
.pl-name{ font:600 34px/1 var(--teko); letter-spacing:.08em; text-transform:uppercase; color:var(--ink); margin-top:6px; }
.pl-board{ margin-top:12px; background:var(--k33); border:1px solid var(--line); padding:6px; }
.pl-board .pl-svg{ width:100%; height:auto; display:block; max-height:62vh; }
.pl-ctrls{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; margin-top:10px; }
.pl-ctrls button{ display:flex; flex-direction:column; align-items:center; gap:2px; background:var(--well); border:1px solid var(--line); color:var(--ink-2); padding:8px 4px 6px; min-height:52px; cursor:pointer; }
.pl-ctrls button i{ font:600 20px/1 var(--teko); font-style:normal; color:var(--ink); }
.pl-ctrls button span{ font:600 11px/1 var(--raj); letter-spacing:.18em; text-transform:uppercase; }
.pl-ctrls button:hover{ border-color:var(--red); color:var(--ink); }
.pl-ctrls .pl-pp{ border-color:var(--red); } .pl-ctrls .pl-pp i{ color:var(--red); }
.pl-status{ display:flex; align-items:center; gap:12px; margin-top:10px; }
.pl-stat-t{ font:600 16px/1 var(--teko); letter-spacing:.16em; text-transform:uppercase; color:var(--ink); white-space:nowrap; min-width:92px; }
.pl-prog{ position:relative; flex:1 1 auto; height:4px; background:var(--track); }
.pl-prog i{ position:absolute; left:0; top:0; bottom:0; background:var(--red); width:0; }
.pl-rm{ font:600 12px/1.4 var(--raj); color:var(--gold); margin:8px 0 0; }
.pl-legend{ display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:10px; font:600 11px var(--raj); letter-spacing:.16em; text-transform:uppercase; color:var(--mute); }
.pl-legend span::before{ content:""; display:inline-block; width:10px; height:10px; margin-right:6px; vertical-align:-1px; background:var(--dim); }
.pl-legend .f::before{ background:var(--red); } .pl-legend .d::before{ background:var(--k16); } .pl-legend .pk::before{ background:var(--ink); width:7px; height:7px; }
.pl-legend .cr::before{ background:none; border:1.5px dashed var(--ink); width:9px; height:9px; } .pl-legend .yo::before{ background:none; border:2.5px solid var(--gold); width:8px; height:8px; }
.pl-pick{ display:grid; gap:6px; margin-top:10px; }
.pl-pick-row{ display:flex; align-items:center; gap:4px; flex-wrap:wrap; }
.pl-pick-k{ width:68px; font:600 11px var(--raj); letter-spacing:.2em; text-transform:uppercase; color:var(--mute); }
.pl-pick button{ background:var(--well); border:1px solid var(--line); color:var(--mute); font:600 16px/1 var(--teko); letter-spacing:.12em; text-transform:uppercase; padding:9px 12px 6px; min-width:52px; border-bottom:3px solid transparent; cursor:pointer; }
.pl-pick button.on{ color:var(--ink); border-bottom-color:var(--gold); }
.pl-yourjob{ margin-top:12px; background:var(--well); border-left:4px solid var(--gold); padding:10px 12px; }
.pl-yourjob.coach{ border-left-color:var(--ink-2); }
.pl-yj-k{ font:600 12px var(--raj); letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }
.pl-yourjob.coach .pl-yj-k{ color:var(--ink-2); }
.pl-yj-t{ font:600 15px/1.45 var(--raj); color:var(--ink); margin-top:5px; }
.pl-steps{ list-style:none; margin:10px 0 0; padding:0; display:grid; gap:4px; }
.pl-steps li{ display:grid; grid-template-columns:28px minmax(0,1fr); gap:10px; align-items:baseline; background:var(--well); border-left:4px solid transparent; padding:8px 10px; font:600 14px/1.4 var(--raj); color:var(--mute); transition:color .15s, border-color .15s; }
.pl-steps .pl-sn{ font:600 20px/1 var(--teko); color:var(--dim); }
.pl-steps li.cur{ border-left-color:var(--red); color:var(--ink); background:var(--k27); } .pl-steps li.cur .pl-sn{ color:var(--red); }
.pl-steps .pl-st0{ font-size:12px; letter-spacing:.08em; }
.cb-try{ display:inline-block; margin-top:8px; background:none; border:1px solid var(--line); color:var(--ink-2); font:600 13px/1 var(--teko); letter-spacing:.16em; text-transform:uppercase; padding:7px 10px 5px; cursor:pointer; }
.cb-try:hover{ border-color:var(--red); color:var(--ink); }
@media (prefers-reduced-motion:reduce){ .pl-steps li{ transition:none; } }

/* v395: play page header row, full-screen button, speed, share */
.pl-namerow{ display:flex; align-items:flex-end; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.pl-fs{ background:var(--well); border:1px solid var(--line); color:var(--ink); font:600 14px/1 var(--teko); letter-spacing:.16em; text-transform:uppercase; padding:8px 12px 6px; cursor:pointer; }
.pl-fs i{ font-style:normal; color:var(--red); margin-right:4px; } .pl-fs:hover{ border-color:var(--red); }
.pl-speed{ display:flex; align-items:center; gap:4px; margin-top:10px; flex-wrap:wrap; }
.pl-speed button{ background:var(--well); border:1px solid var(--line); color:var(--mute); font:600 16px/1 var(--teko); letter-spacing:.08em; padding:8px 12px 5px; min-width:52px; border-bottom:3px solid transparent; cursor:pointer; }
.pl-speed button.on{ color:var(--ink); border-bottom-color:var(--red); }
.pl-share{ margin-top:12px; }
.pl-share-btn{ display:inline-flex; align-items:center; gap:8px; background:none; border:1px solid var(--line); color:var(--ink); font:600 15px/1 var(--teko); letter-spacing:.16em; text-transform:uppercase; padding:9px 14px 7px; cursor:pointer; }
.pl-share-btn i{ font-style:normal; color:var(--red); } .pl-share-btn:hover{ border-color:var(--red); }
.pl-share-q{ margin-top:8px; background:var(--well); border-left:4px solid var(--red); padding:10px 12px; }
.pl-share-q[hidden]{ display:none !important; }
.pl-share-msg{ margin:0; font:600 14px/1.4 var(--raj); color:var(--ink-2); } .pl-share-msg b{ color:var(--ink); }
.pl-share-msg.ok{ color:var(--green); } .pl-share-msg.bad{ color:var(--red); }
.pl-share-row{ display:flex; gap:6px; margin-top:8px; flex-wrap:wrap; }
.pl-share-row button{ background:var(--well); border:1px solid var(--line); color:var(--ink); font:600 14px/1 var(--teko); letter-spacing:.14em; text-transform:uppercase; padding:8px 12px 6px; cursor:pointer; }
.pl-share-row .pl-share-go{ background:var(--red); border-color:var(--red); color:var(--k20); }
/* chat share card host (the card itself is in a shadow root) */
.chat-play{ display:block; margin:2px 0; min-width:min(300px,70vw); }

/* ---------- full-screen play viewer ---------- */
html.pv-on,html.pv-on body{ overflow:hidden; }
.pv-root{ position:fixed; inset:0; z-index:210; display:flex; flex-direction:column; background:var(--bg-tint), var(--bg); color:var(--ink); }
.pv-root[hidden]{ display:none !important; }
.pv-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 14px; padding-top:calc(10px + env(safe-area-inset-top,0px)); border-bottom:1px solid var(--line); border-top:3px solid var(--red); flex:0 0 auto; background:var(--k0); }
.pv-title{ display:flex; flex-direction:column; min-width:0; }
.pv-kick{ font:600 11px var(--raj); letter-spacing:.2em; text-transform:uppercase; color:var(--gold); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pv-name{ font:600 28px/1 var(--teko); letter-spacing:.08em; text-transform:uppercase; }
.pv-body{ flex:1 1 auto; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; }
.pv-stage{ padding:8px; }
.pv-board{ margin:0; }
.pv-board .pl-svg{ max-height:none; width:100%; }
.pv-side{ padding:4px 14px calc(20px + env(safe-area-inset-bottom,0px)); }
.pv-tabs{ margin-top:0; }
.pv-sec{ font:600 12px var(--raj); letter-spacing:.22em; text-transform:uppercase; color:var(--mute); margin:16px 0 0; }
@media (min-width:900px){
  .pv-body{ display:grid; grid-template-columns:minmax(0,1fr) 400px; overflow:hidden; }
  .pv-stage{ display:flex; align-items:center; justify-content:center; padding:16px; min-height:0; }
  .pv-board{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
  .pv-board .pl-svg{ width:auto; height:auto; max-width:100%; max-height:calc(100vh - 120px); }
  .pv-side{ overflow-y:auto; border-left:1px solid var(--line); padding:14px 18px 24px; background:var(--k34); }
}

/* ---------- v396: the other team on the play boards (hollow, grey, faint; ours stay the loud ones) ---------- */
.pl-svg .pl-oroute{ fill:none; stroke:var(--ink-2); stroke-width:1; stroke-dasharray:1 3.5; opacity:.26; }
.pl-svg .pl-ox, .pl-svg .pl-og{ opacity:.62; }
.pl-svg:has(.pl-mk.mine) .pl-ox, .pl-svg:has(.pl-mk.mine) .pl-og{ opacity:.42; }
.pl-svg .pl-oxd{ fill:var(--k35); stroke:var(--ink-2); stroke-width:1.6; }
.pl-svg .pl-oxe{ fill:none; stroke:var(--ink-2); stroke-width:1.4; stroke-linejoin:round; stroke-linecap:round; }
.pl-svg .pl-ox text, .pl-svg .pl-og text{ font:700 8px var(--raj); letter-spacing:.04em; fill:var(--ink-2); pointer-events:none; }
.pl-svg .pl-og rect{ fill:var(--k35); stroke:var(--ink-2); stroke-width:1.4; }
.pl-legend .op::before{ background:none; border:1.5px solid var(--ink-2); border-radius:50%; width:8px; height:8px; opacity:.8; }
.pl-optrow{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.pl-oppt{ display:inline-flex; align-items:center; gap:10px; background:var(--well); border:1px solid var(--line); color:var(--ink-2); font:600 14px/1 var(--teko); letter-spacing:.16em; text-transform:uppercase; padding:7px 12px 6px 9px; cursor:pointer; min-height:36px; }
.pl-oppt:hover{ border-color:var(--ink-2); } .pl-oppt:focus-visible{ outline:2px solid var(--red); outline-offset:2px; }
.pl-sw{ position:relative; width:30px; height:16px; border-radius:9px; background:var(--k36); border:1px solid var(--line); flex:0 0 auto; transition:background .15s; }
.pl-sw i{ position:absolute; top:2px; left:2px; width:10px; height:10px; border-radius:50%; background:var(--mute); transition:transform .15s, background .15s; }
.pl-oppt.on{ color:var(--ink); } .pl-oppt.on .pl-sw{ background:var(--k37); border-color:var(--red); } .pl-oppt.on .pl-sw i{ transform:translateX(14px); background:var(--ink); }
@media (prefers-reduced-motion: reduce){ .pl-sw, .pl-sw i{ transition:none; } }
.pl-def{ margin:10px 0 0; padding:8px 10px; border-left:3px solid var(--ink-2); background:var(--k38); font:600 13px/1.45 var(--raj); color:var(--ink-2); }
.pl-def b{ display:block; font:600 11px var(--raj); letter-spacing:.2em; text-transform:uppercase; color:var(--mute); margin-bottom:2px; }

/* ---------- bb-v398: How grades work (player-facing) · LOOK-CHEL tokens · no radius, no shadows ---------- */
.hg-page{ max-width:1120px; }
.hg-link{ background:none; border:0; padding:8px 2px; color:var(--ink-2); font:600 12px/1.2 var(--raj); letter-spacing:.16em; text-transform:uppercase; cursor:pointer; text-decoration:underline; text-decoration-color:var(--dim); text-underline-offset:4px; }
.hg-link:hover,.hg-link:focus-visible{ color:var(--ink); text-decoration-color:var(--red); }
.ch-me .btn + .hg-link{ margin-left:12px; vertical-align:middle; }
.hg-row{ margin:6px 0 0; }
.dd-hg{ display:block; margin:6px 0 0; }
.hg-sec{ background:var(--panel); border:1px solid var(--line); border-left:3px solid var(--red); margin:10px 0 0; }
.hg-sec > summary{ list-style:none; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; cursor:pointer; color:var(--ink-2); }
.hg-sec > summary::-webkit-details-marker{ display:none; }
.hg-sec > summary:focus-visible{ outline:2px solid var(--red); outline-offset:-2px; }
.hg-sec[open] > summary .cl-chev{ transform:translateY(2px) rotate(-135deg); }
.hg-st{ min-width:0; }
.hg-st b{ display:block; font:600 24px/1 var(--teko); letter-spacing:.08em; text-transform:uppercase; color:var(--ink); }
.hg-st span{ display:block; font:600 11px/1.3 var(--raj); letter-spacing:.18em; text-transform:uppercase; color:var(--mute); margin-top:3px; }
.hg-body{ padding:0 14px 14px; }
.hg-p{ font:500 15px/1.45 var(--raj); color:var(--ink-2); margin:10px 0 0; }
/* 1 · the mix */
.hg-mixes{ display:grid; gap:10px; }
@media (min-width:900px){ .hg-mixes{ grid-template-columns:1fr 1fr; } }
.hg-mix{ background:var(--well); border:1px solid var(--line); padding:12px; }
.hg-mix.mine{ border-color:var(--red); }
.hg-mixh{ display:flex; justify-content:space-between; align-items:baseline; gap:8px; margin-bottom:10px; }
.hg-mixh b{ font:600 22px/1 var(--teko); letter-spacing:.1em; text-transform:uppercase; }
.hg-mixh span{ font:600 11px var(--raj); letter-spacing:.16em; text-transform:uppercase; color:var(--mute); white-space:nowrap; }
.hg-mix.mine .hg-mixh span{ color:var(--red); }
.hg-eq{ display:flex; align-items:stretch; gap:6px; min-width:0; }
.hg-part{ min-width:0; display:flex; flex-direction:column; justify-content:center; padding:10px 8px 8px; border:1px solid var(--line); background:var(--track); }
.hg-part.pO{ border-top:4px solid var(--grade-B); }
.hg-part.pD{ border-top:4px solid var(--grade-A); }
.hg-part b{ font:600 13px/1.1 var(--raj); letter-spacing:.12em; text-transform:uppercase; color:var(--ink-2); overflow:hidden; text-overflow:ellipsis; }
.hg-part em{ font:600 30px/1 var(--teko); font-style:normal; color:var(--ink); margin-top:4px; }
.hg-plus,.hg-arrow{ align-self:center; font:600 22px/1 var(--teko); color:var(--mute); }
.hg-L{ flex:0 0 64px; display:grid; place-items:center; text-align:center; font:600 13px/1.05 var(--teko); letter-spacing:.12em; text-transform:uppercase; color:var(--ink); border:2px solid var(--gc,var(--ink-2)); }
.hg-ex{ font:500 13px/1.4 var(--raj); color:var(--mute); margin-top:8px; }
.hg-ex b{ color:var(--gc); font:600 18px/1 var(--teko); }
.hg-team1{ display:flex; gap:12px; align-items:center; margin-top:10px; padding:10px 12px; border:1px dashed var(--dim); font:500 14px/1.4 var(--raj); color:var(--ink-2); }
.hg-team1 b{ color:var(--ink); }
.hg-tL{ flex:0 0 auto; font:600 16px/1 var(--teko); letter-spacing:.12em; text-transform:uppercase; color:var(--gold); }
/* 2 · scale */
.hg-scale{ display:flex; height:46px; margin-top:4px; border:1px solid var(--line); }
.hg-seg{ display:grid; place-items:center; background:var(--gc); color:var(--k0); min-width:0; }
.hg-seg b{ font:600 26px/1 var(--teko); padding-top:3px; }
.hg-cuts{ position:relative; height:18px; margin-top:2px; }
.hg-cuts span{ position:absolute; top:0; transform:translateX(-50%); font:600 12px var(--raj); color:var(--ink-2); letter-spacing:.06em; }
.hg-cuts span::before{ content:''; position:absolute; left:50%; top:-4px; width:1px; height:5px; background:var(--ink-2); }
.hg-legend{ display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:8px; font:500 13px var(--raj); color:var(--mute); }
.hg-legend b{ color:var(--gc); font:600 18px/1 var(--teko); margin-right:5px; }
/* 3 · standards */
.hg-tabs{ margin:2px 0 10px; }
.hg-tabs button{ min-width:120px; font-size:18px; padding:11px 16px 8px; }
.hg-area + .hg-area{ margin-top:16px; }
.hg-areah{ display:flex; justify-content:space-between; align-items:baseline; gap:8px; flex-wrap:wrap; border-bottom:1px solid var(--line); padding-bottom:6px; margin-bottom:8px; }
.hg-areah b{ font:600 22px/1 var(--teko); letter-spacing:.1em; text-transform:uppercase; }
.hg-areah span{ font:600 11px var(--raj); letter-spacing:.16em; text-transform:uppercase; color:var(--mute); }
.hg-cards{ display:grid; gap:8px; grid-template-columns:minmax(0,1fr); }
@media (min-width:640px){ .hg-cards{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1100px){ .hg-cards{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.hg-card{ background:var(--well); border:1px solid var(--line); padding:10px 12px 12px; min-width:0; }
.hg-ctop{ display:flex; justify-content:space-between; align-items:baseline; gap:8px; }
.hg-ctop b{ font:700 16px/1.2 var(--raj); color:var(--ink); }
.hg-nogold{ font:600 10px var(--raj); letter-spacing:.14em; text-transform:uppercase; color:var(--mute); white-space:nowrap; }
.hg-req{ font:600 14px/1.35 var(--raj); color:var(--green); margin-top:2px; }
.hg-strip{ margin:10px 10px 0 4px; }
.hg-track{ position:relative; display:block; height:22px; background:var(--track); }
.hg-w{ position:absolute; left:0; top:0; bottom:0; width:80%; background:var(--grade-D); opacity:.75; clip-path:polygon(0 100%, 100% 0, 100% 100%); }
.hg-w.bin{ clip-path:none; background:transparent; border-bottom:3px solid var(--grade-F); opacity:1; }
.hg-full{ position:absolute; left:80%; top:0; bottom:0; width:20%; background:var(--grade-A); opacity:.8; }
.hg-strip.nobar .hg-full{ width:20%; }
.hg-gold{ position:absolute; left:calc(100% - 3px); top:-3px; bottom:-3px; width:6px; background:var(--gold); }
.hg-track .t{ position:absolute; top:-3px; bottom:-3px; width:2px; margin-left:-1px; background:var(--ink-2); opacity:.55; }
.hg-track .t.met{ background:var(--ink); opacity:1; }
.hg-track .t.above{ background:var(--gold); opacity:1; }
.hg-ticks{ position:relative; display:block; height:30px; margin-top:4px; font:600 11px/1.2 var(--raj); letter-spacing:.1em; text-transform:uppercase; color:var(--mute); }
.hg-ticks > span{ position:absolute; top:0; white-space:nowrap; }
.hg-ticks .b{ left:0; }
.hg-ticks .mt{ left:80%; transform:translateX(-50%); color:var(--ink); text-align:center; }
.hg-ticks .ab{ right:-10px; color:var(--gold); text-align:right; }
.hg-strip.nobar .hg-ticks .mt{ transform:translateX(-70%); }
.hg-ticks em{ display:block; font:600 15px/1 var(--teko); font-style:normal; letter-spacing:.04em; margin-top:2px; }
.hg-zero{ font:500 13px/1.35 var(--raj); color:var(--mute); margin-top:4px; }
.hg-why{ font:500 13px/1.4 var(--raj); color:var(--ink-2); margin-top:8px; padding-top:8px; border-top:1px solid var(--line); }
.hg-why span{ display:inline-block; font:600 10px var(--raj); letter-spacing:.16em; text-transform:uppercase; color:var(--red); margin-right:6px; }
.hg-info{ margin-top:8px; padding:10px 12px; border:1px dashed var(--dim); font:500 13px/1.4 var(--raj); color:var(--ink-2); }
.hg-info b{ color:var(--ink); }
/* 4 · the curve */
.hg-curve-h{ font:600 11px var(--raj); letter-spacing:.16em; text-transform:uppercase; color:var(--mute); margin:4px 0 8px; }
.hg-curve{ display:flex; gap:4px; align-items:flex-end; max-width:560px; }
.hg-col{ flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:center; gap:3px; }
.hg-cv{ font:600 11px var(--raj); color:var(--mute); }
.hg-cb{ position:relative; display:block; width:100%; height:110px; background:var(--track); }
.hg-cb i{ position:absolute; left:0; right:0; bottom:0; background:var(--grade-D); opacity:.8; }
.hg-col.met .hg-cb i,.hg-col.ab .hg-cb i{ background:var(--grade-A); }
.hg-col.ab .hg-cb{ border-top:4px solid var(--gold); }
.hg-col.met .hg-cv,.hg-col.ab .hg-cv{ color:var(--ink); }
.hg-cx{ font:600 20px/1 var(--teko); color:var(--ink); }
.hg-cl{ font:600 10px var(--raj); letter-spacing:.1em; text-transform:uppercase; color:var(--ink); min-height:12px; }
.hg-col.ab .hg-cl{ color:var(--gold); }
.hg-rules{ list-style:none; padding:0; margin:12px 0 0; display:grid; gap:6px; }
.hg-rules li{ font:500 14px/1.45 var(--raj); color:var(--ink-2); padding-left:12px; border-left:2px solid var(--line); }
.hg-rules b{ color:var(--ink); }
.hg-rules b.ok{ color:var(--green); } .hg-rules b.au{ color:var(--gold); } .hg-rules b.lo{ color:var(--grade-D); }
/* 6 · what counts */
.hg-counts{ list-style:none; padding:0; margin:4px 0 0; display:grid; gap:8px; }
@media (min-width:900px){ .hg-counts{ grid-template-columns:1fr 1fr; } }
.hg-counts li{ display:flex; gap:12px; align-items:flex-start; background:var(--well); border:1px solid var(--line); padding:10px 12px; }
.hg-ic{ flex:0 0 46px; height:46px; display:grid; place-items:center; border:2px solid var(--red); font:600 20px/1 var(--teko); color:var(--ink); padding-top:3px; }
.hg-counts li > span:last-child{ font:500 13px/1.4 var(--raj); color:var(--mute); min-width:0; }
.hg-counts b{ display:block; font:700 15px/1.25 var(--raj); color:var(--ink); margin-bottom:2px; }
/* 7 · see your own */
.hg-mine{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin:14px 0 4px; }
.hg-mine span{ font:600 11px var(--raj); letter-spacing:.16em; text-transform:uppercase; color:var(--mute); }
.hg-key{ font-size:13px; color:var(--mute); }
.hg-key b{ color:var(--red); font:600 11px var(--raj); letter-spacing:.16em; text-transform:uppercase; margin-right:4px; }
.hg-part{ min-width:84px; }
.hg-part b{ text-overflow:clip; letter-spacing:.08em; }
@media (max-width:420px){ .hg-L{ flex-basis:56px; font-size:12px; } .hg-part{ padding:9px 6px 7px; } .hg-part b{ font-size:12px; letter-spacing:.05em; } .hg-eq{ gap:4px; } }

/* ---------- bb-v400: Home scope toggle (Last game | Whole night) ---------- */
.hn-seg{ margin:0 0 10px; display:grid; grid-template-columns:1fr 1fr; gap:4px; }
.hn-seg button{ min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:16px; padding:10px 8px 7px; }
@media (min-width:900px){ .hn-seg{ display:inline-grid; grid-template-columns:auto auto; } .hn-seg button{ min-width:150px; } }
.cl-wl.cl-one .w{ color:var(--green); } .cl-wl.cl-one .l{ color:var(--red); }

/* ---------- bb-v402: Invite a player ---------- */
.iv-back{ margin:0 0 6px; }
.iv-lab{ display:block; font:600 12px/1.2 var(--raj,Rajdhani),system-ui,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--k39); margin:2px 0 6px; }
.iv-lab span{ letter-spacing:.06em; text-transform:none; color:var(--k40); font-weight:500; margin-left:6px; }
.iv-in,.iv-ta{ width:100%; box-sizing:border-box; max-width:100%; font:500 16px/1.4 system-ui,-apple-system,sans-serif; color:var(--k8); background:var(--k41); border:1px solid var(--k42); border-radius:0; padding:10px 12px; }
.iv-ta{ min-height:200px; resize:vertical; white-space:pre-wrap; overflow-wrap:anywhere; }
.iv-in:focus,.iv-ta:focus{ outline:2px solid var(--k12); outline-offset:1px; }
.iv-note{ margin:6px 0 14px; font-size:13px; line-height:1.4; color:var(--k39); overflow-wrap:anywhere; }
.iv-act{ display:grid; grid-template-columns:1fr; gap:8px; margin-top:12px; }
.iv-act .btn{ width:100%; margin:0; min-width:0; text-align:center; display:flex; align-items:center; justify-content:center; text-decoration:none; box-sizing:border-box; }
.iv-act .iv-sms{ font-size:18px; }
@media (min-width:600px){ .iv-act{ grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); } }
.iv-foot{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; flex-wrap:wrap; }
.iv-status{ font-size:13px; color:var(--k43); min-height:18px; }
.iv-steps{ margin:4px 0 0; padding-left:20px; }
.iv-steps li{ margin:0 0 10px; font-size:14px; line-height:1.45; color:var(--k44); }
.iv-steps li b{ display:block; color:var(--k20); font-weight:700; }
.iv-cta{ margin:8px 0 12px; } .iv-cta .btn{ width:auto; }
/* bb-v403 · coach Add to roster (Roster page · Invite page) */
.rm-box{ margin:0 0 14px; padding:12px; background:var(--k45); border:1px solid var(--k46); box-sizing:border-box; max-width:100%; }
.rm-h{ font:700 15px/1.2 var(--raj,Rajdhani),system-ui,sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--k20); margin:0 0 6px; }
.rm-h span{ font-size:11px; letter-spacing:.14em; color:var(--k12); margin-left:6px; }
.rm-sub{ margin:0 0 10px; }
.rm-pos{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin:0 0 12px; }
.rm-pos button{ min-height:40px; font:600 14px/1 system-ui,-apple-system,sans-serif; color:var(--k44); background:var(--k41); border:1px solid var(--k42); border-radius:0; padding:0 6px; }
.rm-pos button.on{ color:var(--k20); background:var(--k47); border-color:var(--k12); }
.rm-go .btn{ width:100%; margin:0; box-sizing:border-box; }
@media (min-width:600px){ .rm-go .btn{ width:auto; min-width:200px; } }
.rm-pin{ margin-top:12px; }
.rm-pin-row{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.rm-pin-row .iv-in{ flex:1 1 140px; min-width:0; width:auto; }
.rm-pin-row .btn{ width:auto; margin:0; }
.rm-msg{ margin:8px 0 0; font-size:13px; line-height:1.4; color:var(--k43); min-height:0; overflow-wrap:anywhere; }
.rm-msg:empty{ display:none; }
.rm-msg.bad{ color:var(--k48); }
.rm-need{ font-size:13px; line-height:1.45; color:var(--k44); background:var(--k49); border-left:3px solid var(--k50); padding:9px 11px; margin:4px 0 2px; }
.rm-need b{ display:block; color:var(--k50); font-size:12px; letter-spacing:.14em; text-transform:uppercase; margin-bottom:3px; }
.rm-inv{ margin:0 0 14px; }
.rm-inv .rm-need, #iv-addwrap .rm-need{ margin:0 0 14px; }
#iv-addwrap > .rm-msg.bad{ margin:-6px 0 14px; }
.rm-badge-row{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-top:2px; }
.rm-badge{ display:inline-block; font:700 10px/1 system-ui,-apple-system,sans-serif; letter-spacing:.08em; text-transform:uppercase; color:var(--k14); border:1px solid var(--k51); background:var(--k52); padding:3px 6px; white-space:nowrap; }
.rm-nogames{ font-size:12px; color:var(--k53); white-space:nowrap; }
.rm-row{ align-items:center; }
.rm-off{ white-space:nowrap; flex:0 0 auto; }
.rm-ng-note{ margin-top:4px; white-space:normal; color:var(--k44); }
[data-rm-nogames]{ cursor:pointer; }

/* ---------- bb-v404: points weight chips + Apply new grading settings ---------- */
.wt-chip{ display:inline-block; margin-left:8px; font:600 10px/1 var(--raj); letter-spacing:.14em; text-transform:uppercase; padding:4px 6px 3px; color:var(--k50); border:1px solid currentColor; vertical-align:2px; white-space:nowrap; }
.hg-ctop .wt-chip{ margin-left:auto; margin-right:6px; }
.hg-wt,.dd-wt{ font:500 13px/1.4 var(--raj); color:var(--k54); margin:6px 0 2px; overflow-wrap:anywhere; }
.dd-wt{ font-size:12.5px; }
.hg-wnote{ border-color:var(--k50); }
.ga-list{ list-style:none; margin:4px 0 0; padding:0; }
.ga-list li{ font:500 14px/1.45 var(--raj); color:var(--ink-2); padding:8px 0; border-top:1px solid var(--line); }
.ga-list li:first-child{ border-top:0; }
.ga-list li b{ display:block; font:600 11px var(--raj); letter-spacing:.16em; text-transform:uppercase; color:var(--ink); margin-bottom:2px; }
.ga-stat{ display:grid; grid-template-columns:auto 1fr; gap:4px 12px; font:500 13px/1.35 var(--raj); color:var(--mute); margin-bottom:12px; }
.ga-stat b{ color:var(--ink); font-weight:600; overflow-wrap:anywhere; }
.ga-done{ font:500 14px/1.45 var(--raj); color:var(--k43); background:var(--k55); border-left:3px solid var(--k43); padding:9px 11px; }
.ga-page .rm-pin-row{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.ga-page .rm-pin-row .iv-in{ flex:1 1 140px; min-width:0; }

/* ===== bb-v405 Team Chat: scroll pill · fixed clip box · emoji picker · reactions ===== */
.chatlog-wrap{ position:relative; }
.chatlog{ overflow-anchor:none; }
.chat-newpill{ position:absolute; left:50%; bottom:22px; transform:translateX(-50%); z-index:2; background:var(--red); color:var(--k20); border:0; border-radius:999px; padding:7px 14px 5px; font:600 15px/1 var(--teko); letter-spacing:.14em; text-transform:uppercase; box-shadow:0 6px 18px var(--k56); cursor:pointer; white-space:nowrap; }
.chat-newpill[hidden]{ display:none !important; }
.chat-newpill:focus-visible{ outline:2px solid var(--k20); outline-offset:2px; }
/* clips keep one box size before and after metadata loads, so a clip loading never shifts the thread */
.message .bubble video.chatpic.chatvid{ width:min(260px, 70vw); max-width:100%; height:auto; aspect-ratio:4 / 3; max-height:none; object-fit:contain; background:var(--k57); }
.message .bubble.emoji-only{ font-size:34px !important; line-height:1.15 !important; background:transparent !important; border:0 !important; box-shadow:none !important; padding:2px 2px !important; }
.ep-e,.rx-e,.rx-pick,.chat-emoji-btn,.ep-tab span{ font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Segoe UI Symbol",sans-serif; }
.chat-compose{ position:relative; }
.chat-compose #chatbody{ padding-right:52px !important; }
.chat-emoji-btn{ position:absolute; right:6px; bottom:10px; width:40px; height:40px; border-radius:50%; border:1px solid var(--line); background:var(--bg); font-size:22px; line-height:1; padding:0; cursor:pointer; display:flex; align-items:center; justify-content:center; filter:grayscale(.35); touch-action:manipulation; }
.chat-emoji-btn.on,.chat-emoji-btn:hover{ filter:none; border-color:var(--red); }
.chat-emoji-btn:disabled{ opacity:.45; cursor:default; }
.chat-emoji-panel{ margin:6px 0 8px; background:var(--well); border:1px solid var(--line); border-top:2px solid var(--red); touch-action:manipulation; user-select:none; -webkit-user-select:none; }
.chat-emoji-panel[hidden]{ display:none !important; }
.ep-tabs{ display:flex; border-bottom:1px solid var(--line); overflow-x:auto; scrollbar-width:none; }
.ep-tab{ flex:1 0 auto; display:flex; align-items:center; justify-content:center; gap:5px; background:none; border:0; border-bottom:2px solid transparent; color:var(--mute); padding:8px 8px 6px; cursor:pointer; }
.ep-tab span{ font-size:18px; line-height:1; }
.ep-tab small{ font:600 13px/1 var(--teko); letter-spacing:.12em; text-transform:uppercase; }
.ep-tab.on{ color:var(--ink); border-bottom-color:var(--red); }
.ep-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(40px, 1fr)); max-height:184px; overflow-y:auto; padding:6px; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; }
.ep-e{ height:42px; font-size:26px; line-height:1; background:none; border:0; border-radius:8px; cursor:pointer; padding:0; }
.ep-e:hover,.ep-e:focus-visible{ background:var(--k7); outline:none; }
.ep-e:active{ transform:scale(1.15); }
@media (max-width:420px){ .ep-tab small{ display:none; } .ep-tab span{ font-size:20px; } }
.rx-row{ margin:4px 2px 0; display:flex; flex-direction:column; gap:4px; max-width:100%; }
.message.mine .rx-row{ align-items:flex-end; }
.rx-chips{ display:flex; flex-wrap:wrap; gap:4px; align-items:center; }
.message.mine .rx-chips{ justify-content:flex-end; }
.rx-chip,.rx-add{ display:inline-flex; align-items:center; gap:4px; min-height:28px; padding:2px 9px; border-radius:999px; border:1px solid var(--line); background:var(--bg); color:var(--ink-2); font:600 13px/1 var(--raj); cursor:pointer; touch-action:manipulation; -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; }
.rx-chip .rx-e{ font-size:15px; }
.rx-chip.mine{ border-color:var(--red); background:var(--k25); color:var(--ink); }
.rx-add{ color:var(--mute); font-size:14px; padding:2px 8px; opacity:.75; }
.rx-add span{ font-size:11px; margin-left:-2px; }
.rx-add.on,.rx-add:hover{ opacity:1; border-color:var(--dim); color:var(--ink); }
.rx-bar{ display:flex; flex-wrap:wrap; gap:2px; padding:4px; background:var(--well); border:1px solid var(--line); border-radius:12px; max-width:min(300px, 80vw); }
.rx-pick{ width:36px; height:36px; font-size:21px; background:none; border:0; border-radius:8px; cursor:pointer; padding:0; touch-action:manipulation; }
.rx-pick:hover,.rx-pick:focus-visible{ background:var(--k7); outline:none; }
.rx-who{ font:600 13px/1.3 var(--raj); color:var(--ink-2); background:var(--well); border:1px solid var(--line); border-left:3px solid var(--gold); padding:5px 8px; max-width:min(300px, 80vw); overflow-wrap:anywhere; }
.rx-who-x{ margin-left:8px; background:none; border:0; color:var(--mute); font-size:16px; cursor:pointer; padding:0 2px; }

/* bb-v408 · Stream viewer + Home LIVE pill + shared stats captions */
.sv-frame{ position:relative; width:100%; aspect-ratio:16/9; background:var(--k57); margin-top:8px; }
.sv-frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; }
.sv-under{ display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:8px; font:500 13px var(--raj); color:var(--mute); flex-wrap:wrap; }
.sv-open{ font:700 13px var(--raj); letter-spacing:.06em; text-transform:uppercase; color:var(--ink); text-decoration:none; border:1px solid var(--line); padding:7px 10px; background:var(--well); white-space:nowrap; }
.sv-open:hover{ border-color:var(--red); }
.sv-list{ display:flex; flex-direction:column; gap:8px; margin-top:8px; }
.sv-row{ display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:8px; padding:8px; background:var(--well); border:1px solid var(--line); }
.sv-row.on{ border-color:var(--red); }
.sv-pick{ all:unset; cursor:pointer; min-width:0; display:block; }
.sv-name{ display:block; font:700 17px var(--raj); color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sv-tags{ display:block; font:500 12px var(--raj); color:var(--mute); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sv-badge{ font:700 11px var(--raj); letter-spacing:.14em; text-transform:uppercase; color:var(--mute); white-space:nowrap; }
.sv-badge.live{ color:var(--k20); background:var(--red); padding:3px 7px; }
.sv-badge.off{ color:var(--mute); }
@media (max-width:420px){ .sv-row{ grid-template-columns:1fr auto; } .sv-row .sv-open{ grid-column:1 / -1; text-align:center; } }
#sv-home-pill:empty{ display:none; }
.sv-pill{ display:inline-flex; align-items:center; gap:8px; margin:4px 0 10px; padding:7px 12px; background:var(--red); color:var(--k20); border:0; font:700 13px var(--raj); letter-spacing:.12em; text-transform:uppercase; cursor:pointer; }
.sv-pill i{ width:8px; height:8px; border-radius:50%; background:var(--k20); animation:svp 1.4s ease-in-out infinite; }
@keyframes svp{ 50%{ opacity:.25; } }
@media (prefers-reduced-motion:reduce){ .sv-pill i{ animation:none; } }
.ch-boxcap{ margin-top:6px; font:500 12px var(--raj); color:var(--mute); letter-spacing:.04em; }
.ch-seat-seg{ margin-top:6px; }
.st-win{ margin:0 0 10px; }
.ld td.ld-g{ padding-top:2px; padding-bottom:2px; }
.hn-seg{ grid-template-columns:repeat(3,1fr); }
.hn-seg button{ font-size:15px; padding:10px 4px 7px; letter-spacing:.1em; }
@media (min-width:900px){ .hn-seg{ grid-template-columns:auto auto auto; } .hn-seg button{ min-width:130px; } }
/* bb-v408 · Last 5 vs season */
.l5{ display:inline-block; min-width:1.1em; text-align:center; font:700 13px/1 var(--raj); }
.tr-good{ color:var(--green); } .tr-bad{ color:var(--red); } .tr-flat,.tr-na{ color:var(--mute); }
.tr-cols{ display:grid; grid-template-columns:1fr auto 22px; gap:8px; font:600 11px var(--raj); letter-spacing:.14em; text-transform:uppercase; color:var(--mute); margin-top:8px; }
.tr-list{ display:flex; flex-direction:column; margin-top:4px; }
.tr-row{ display:grid; grid-template-columns:1fr auto 22px; gap:8px; align-items:center; padding:6px 0; border-top:1px solid var(--line); }
.tr-k{ font:600 14px var(--raj); color:var(--ink-2); min-width:0; }
.tr-k small{ font:500 11px var(--raj); color:var(--mute); margin-left:4px; }
.tr-v{ font:600 14px var(--raj); color:var(--mute); white-space:nowrap; font-variant-numeric:tabular-nums; }
.tr-v b{ color:var(--ink); } .tr-v i{ font-style:normal; opacity:.6; }
.tr-row .tr{ font-size:15px; }
.tr-seg{ margin-left:4px; } .tr-seg .tr{ font-size:12px; }
.tr-segcap{ margin:-4px 0 10px; font:500 12px var(--raj); color:var(--mute); letter-spacing:.04em; }
.tr-ld{ margin-left:4px; vertical-align:middle; }
.dd-trend{ margin-top:8px; font:500 13px var(--raj); color:var(--ink-2); }
.tr-none{ color:var(--mute); }
/* bb-v409 team card status line */
.tc-upd{ margin:4px 0 2px; font:600 11px/1.3 var(--raj, system-ui); letter-spacing:.04em; color:var(--k58); }
.tc-upd.tc-busy{ color:var(--k59); }
.tc-upd.tc-busy::after{ content:''; display:inline-block; width:6px; height:6px; margin-left:6px; border-radius:50%; background:var(--k60); vertical-align:1px; animation:tcp 1s ease-in-out infinite; }
.tc-upd.tc-warn{ color:var(--k61); }
@keyframes tcp{ 0%,100%{ opacity:.25 } 50%{ opacity:1 } }
@media (prefers-reduced-motion: reduce){ .tc-upd.tc-busy::after{ animation:none; } }
/* bb-v410: grading editor (gear → Settings → Grading → Edit grading) */
.ed-page{ padding-bottom:84px; }
.ed-page .ch-sub{ overflow-wrap:anywhere; }
.ed-tabs{ display:flex; gap:6px; overflow-x:auto; margin:10px 0 8px; padding-bottom:2px; scrollbar-width:none; }
.ed-tabs::-webkit-scrollbar{ display:none; }
.ed-tabs button{ flex:0 0 auto; background:var(--well); color:var(--ink-2); border:1px solid var(--line); font:600 15px/1 var(--teko); letter-spacing:.12em; text-transform:uppercase; padding:10px 12px 7px; min-height:40px; cursor:pointer; }
.ed-tabs button.on{ background:var(--red); color:var(--k20); border-color:var(--red); }
.ed-card{ background:var(--well); border:1px solid var(--line); border-left:4px solid var(--dim); padding:10px 12px; margin:0 0 8px; }
.ed-card.bad{ border-left-color:var(--red); }
.ed-card.off{ opacity:.62; border-left-color:transparent; }
.ed-h{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.ed-h>b{ font:600 21px/1 var(--teko); letter-spacing:.06em; text-transform:uppercase; color:var(--ink); }
.ed-dir{ font:600 11px var(--raj); letter-spacing:.14em; text-transform:uppercase; color:var(--mute); }
.ed-tg{ margin-left:auto; display:inline-flex; align-items:center; gap:7px; background:none; border:1px solid var(--line); color:var(--mute); font:600 12px var(--raj); letter-spacing:.16em; text-transform:uppercase; padding:6px 9px; min-height:34px; cursor:pointer; }
.ed-tg span{ width:26px; height:14px; border-radius:8px; background:var(--dim); position:relative; }
.ed-tg span::after{ content:""; position:absolute; top:2px; left:2px; width:10px; height:10px; border-radius:50%; background:var(--k62); transition:left .15s; }
.ed-tg.on{ color:var(--ink); border-color:var(--k63); }
.ed-tg.on span{ background:var(--green); }
.ed-tg.on span::after{ left:14px; background:var(--k20); }
.ed-row{ display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; margin-top:9px; }
.ed-k{ flex:0 0 92px; font:600 12px var(--raj); letter-spacing:.14em; text-transform:uppercase; color:var(--ink-2); }
.ed-stp{ display:inline-flex; align-items:stretch; border:1px solid var(--line); background:var(--k23); }
.ed-stp b{ min-width:62px; text-align:center; font:600 24px/40px var(--teko); color:var(--ink); padding:2px 4px 0; }
.ed-b{ width:42px; min-height:42px; background:var(--k64); color:var(--ink); border:0; font:600 22px/1 system-ui,sans-serif; cursor:pointer; touch-action:manipulation; }
.ed-b:active{ background:var(--red); }
.ed-b:disabled,.ed-seg button:disabled,.ed-tg:disabled{ opacity:.4; cursor:default; }
.ed-u{ align-self:center; padding:0 8px 0 2px; font:600 11px var(--raj); letter-spacing:.1em; text-transform:uppercase; color:var(--mute); }
.ed-hint{ font-size:12px; color:var(--mute); }
.ed-seg{ display:inline-flex; border:1px solid var(--line); }
.ed-seg button{ min-width:46px; min-height:38px; background:var(--k23); color:var(--ink-2); border:0; border-right:1px solid var(--line); font:600 17px/1 var(--teko); letter-spacing:.06em; text-transform:uppercase; padding:4px 8px 1px; cursor:pointer; }
.ed-seg button:last-child{ border-right:0; }
.ed-seg button.on{ background:var(--red); color:var(--k20); }
.ed-err{ margin:8px 0 0; color:var(--k65); font-size:13px; }
.ed-bad{ color:var(--k65); }
.ed-errs{ border:1px solid var(--red); background:var(--k66); padding:9px 12px; margin:10px 0; font-size:13px; }
.ed-errs ul,.ed-ch{ margin:6px 0 0; padding-left:18px; }
.ed-ch li{ font-size:13px; color:var(--ink-2); margin:3px 0; }
.ed-bar{ position:fixed; left:0; right:0; bottom:calc(var(--navh) + env(safe-area-inset-bottom,0px)); z-index:40; display:flex; align-items:center; gap:8px; padding:8px 12px; background:var(--k67); border-top:2px solid var(--red); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.ed-bar>span{ flex:1; font:600 12px var(--raj); letter-spacing:.14em; text-transform:uppercase; color:var(--ink-2); }
.ed-bar .btn{ min-height:40px; }
.ed-bar .btn:disabled{ opacity:.45; }
@media (min-width:900px){ .ed-bar{ left:50%; transform:translateX(-50%); max-width:760px; } }
.ed-pcs{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.ed-pc{ background:var(--well); border:1px solid var(--line); padding:10px; }
.ed-pc b{ display:block; font:600 34px/1 var(--teko); color:var(--ink); }
.ed-pc span{ display:block; font:600 11px var(--raj); letter-spacing:.12em; text-transform:uppercase; color:var(--ink-2); }
.ed-pc small{ color:var(--mute); font-size:12px; }
.ed-moves,.ed-hist{ list-style:none; margin:0; padding:0; }
.ed-moves li{ display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid var(--line); }
.ed-who{ flex:1; min-width:0; }
.ed-who b{ display:block; overflow-wrap:anywhere; }
.ed-who span{ font-size:12px; color:var(--mute); }
.ed-ft{ display:inline-flex; align-items:center; gap:6px; }
.ed-ft em{ font-style:normal; color:var(--mute); }
.ed-L{ display:inline-block; min-width:26px; text-align:center; font:600 20px/26px var(--teko); font-style:normal; background:var(--k68); color:var(--ink); }
.ed-L.t-a{ background:var(--k69); color:var(--k70); } .ed-L.t-b{ background:var(--k71); color:var(--k72); } .ed-L.t-c{ background:var(--k73); color:var(--gold); } .ed-L.t-d{ background:var(--k74); color:var(--k75); } .ed-L.t-f{ background:var(--k76); color:var(--k77); }
.ed-hist li{ padding:10px 0; border-bottom:1px solid var(--line); }
.ed-hist li.live{ border-left:4px solid var(--red); padding-left:10px; }
.ed-hh{ display:flex; align-items:center; gap:8px; }
.ed-hh b{ font:600 20px/1.05 var(--teko); letter-spacing:.05em; text-transform:uppercase; overflow-wrap:anywhere; }
.ed-live{ background:var(--red); color:var(--k20); font:600 11px/1 var(--raj); letter-spacing:.18em; padding:4px 6px 3px; }
.ed-hm{ display:block; font-size:12px; color:var(--mute); margin-top:3px; }
.ed-ha{ display:flex; gap:14px; flex-wrap:wrap; }
.ed-conf{ background:var(--k78); border:1px solid var(--red); padding:10px; margin-top:6px; font-size:13px; }
.ed-conf p{ margin:0 0 6px; }
.ed-page.ro .ed-card{ border-left-color:var(--line); }
@media (max-width:380px){ .ed-k{ flex-basis:100%; } }

/* ===== bb-v411 Clean Home ===== */
.hc-club{ display:block; }
.hc-lab{ display:block; font:600 10px/1.15 var(--raj); letter-spacing:.2em; text-transform:uppercase; color:var(--mute); }
.card.hc-strip{ padding:10px 14px 8px !important; margin:0 0 10px !important; }
.hc-srow{ display:flex; align-items:flex-end; gap:14px; flex-wrap:nowrap; }
.hc-k{ display:flex; flex-direction:column; min-width:0; }
.hc-k b{ font:600 30px/.9 var(--teko); color:var(--ink); letter-spacing:.02em; margin-top:3px; }
.hc-k b small{ font-size:16px; color:var(--mute); margin-left:1px; }
.hc-k.hc-gold b{ color:var(--gold); }
.hc-k.hc-season{ margin-left:auto; text-align:right; }
.hc-k.hc-season b{ color:var(--ink-2); }
.hc-bar{ position:relative; height:5px; background:var(--track); margin:9px 0 2px; }
.hc-bar>b{ position:absolute; left:0; top:0; bottom:0; background:linear-gradient(90deg,var(--red),var(--gold)); }
.hc-tick{ position:absolute; top:-3px; width:2px; height:11px; margin-left:-1px; background:var(--dim); }
.hc-tick.promo{ background:var(--gold); } .hc-tick.title{ background:var(--ink-2); margin-left:-2px; }
.hc-urow{ display:flex; align-items:center; gap:10px; min-height:20px; flex-wrap:wrap; }
.hc-urow .hc-updk{ display:none; }
.hc-urow .tc-upd{ margin:4px 0 0; font-size:11px; }
.hc-live{ margin-left:auto; }
.hc-live .sv-pill{ margin:4px 0 0; padding:4px 10px; font-size:12px; }
.hc-seg{ margin:0 0 10px !important; display:grid !important; grid-template-columns:1fr 1fr; gap:0 !important; }
.hc-seg button{ padding:10px 6px 7px !important; font-size:17px !important; letter-spacing:.16em; }
.hc-seg button.on{ background:var(--k79); }
.hc-pair .card{ margin:0 0 10px !important; padding:13px 14px !important; }
@media (min-width:900px){ .hc-pair{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; align-items:start; } }
.hc-one{ display:flex; align-items:center; gap:12px; margin-top:8px; }
.hc-one .res-row.hc-big{ flex:1; min-width:0; display:flex; align-items:center; gap:10px; background:none; border-left:0; padding:0; }
.hc-big .rw{ font:700 22px/1 var(--teko); letter-spacing:.06em; padding:4px 8px 1px; border:1px solid var(--rs); color:var(--rs); }
.hc-big.otl{ --rs:var(--grade-D); }
.hc-big .rsc{ font:600 44px/.9 var(--teko); white-space:nowrap; }
.hc-big .rop{ min-width:0; display:flex; flex-direction:column; gap:3px; }
.hc-big .ron{ font:700 17px/1.1 var(--raj); color:var(--ink); white-space:normal; }
.hc-big .rsub{ white-space:normal; }
.hc-tp{ flex:0 0 auto; display:flex; flex-direction:column; align-items:center; gap:3px; padding:6px 8px 5px; background:var(--well); border:1px solid var(--line); min-width:74px; text-align:center; }
.hc-tp .cg-odt{ --sz:36px; align-items:center; }
.hc-tp .hc-lab{ font-size:9px; letter-spacing:.14em; white-space:nowrap; }
.hc-night .cl-wl{ font-size:46px; line-height:.9; white-space:nowrap; }
.hc-wlo{ flex:1; min-width:0; font:700 15px/1.1 var(--raj); color:var(--ink-2); letter-spacing:.06em; }
.hc-wlo small{ display:block; font:600 10px var(--raj); letter-spacing:.18em; text-transform:uppercase; color:var(--mute); margin-top:3px; }
.hc-list{ margin-top:10px; display:flex; flex-direction:column; gap:3px; }
.hc-list .res-row{ grid-template-columns:38px 44px minmax(0,1fr) !important; padding:4px 8px 3px !important; gap:6px !important; }
.hc-list .res-row .rw{ font-size:17px; }
.hc-list .res-row .rsc{ font-size:21px; }
.hc-list .res-row .rop{ flex-direction:row !important; align-items:baseline; justify-content:space-between; gap:8px; }
.hc-list .res-row .ron{ font-size:14px; }
.hc-list .res-row .rsub{ flex:0 0 auto; font-size:10px; }
.hc-list .res-row .rmeta{ display:none !important; }
.hc-list .res-row.l .rw{ color:var(--red); }
.hc-open{ background:none; border:0; padding:0 0 0 8px; color:var(--ink-2); font:600 12px var(--raj); letter-spacing:.18em; text-transform:uppercase; cursor:pointer; white-space:nowrap; }
.hc-open i{ color:var(--red); font-style:normal; }
.hc-me .ch-kick span{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hc-hero{ display:grid; grid-template-columns:84px minmax(0,1fr); gap:8px; margin-top:8px; }
.hc-h,.hc-a{ background:var(--well); border:1px solid var(--line); border-top:3px solid var(--gc,var(--line)); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:6px 4px 5px; min-width:0; }
.hc-h .cg-tile{ --sz:58px; align-items:center; }
.hc-a .cg-dim{ --sz:32px; align-items:center; }
.hc-me .cg-strip,.hc-me .cg-ticks{ display:none !important; }
.hc-me .cg-cap{ position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; margin:0 !important; white-space:nowrap; }
.hc-odt{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.hc-a{ border-top-width:2px; }
.hc-a .hc-lab{ font-size:9px; letter-spacing:.12em; color:var(--ink-2); margin-top:3px; line-height:1.2; }
.hc-pc{ font:600 14px var(--teko); color:var(--mute); letter-spacing:.06em; }
.hc-wells{ grid-template-columns:repeat(5,minmax(0,1fr)) !important; gap:1px !important; background:var(--line); border:1px solid var(--line); }
.hc-wells>div{ padding:7px 2px 5px !important; }
.hc-wells b{ font-size:22px !important; }
.hc-wells span{ font-size:9px !important; letter-spacing:.14em !important; }
.hc-sat{ margin:8px 0 0; }
.hc-who.card{ margin-top:0 !important; padding:13px 14px !important; }
.hc-wlist{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px; margin-top:8px; }
.hc-ws{ grid-template-columns:28px minmax(0,1fr) 10px !important; gap:8px !important; padding:5px 8px !important; min-height:0; }
.hc-ws .cg-box{ --sz:28px; }
.hc-wn{ min-width:0; display:flex; flex-direction:column; }
.hc-wn .ws-name{ font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hc-wn .ws-pos{ font-size:10px; letter-spacing:.16em; }
.hc-ga{ display:none; font:600 15px var(--teko); color:var(--ink-2); letter-spacing:.06em; white-space:nowrap; }
@media (min-width:900px){
  .hc-wlist{ grid-template-columns:1fr; }
  .hc-ws{ grid-template-columns:34px minmax(0,1fr) auto 12px !important; padding:6px 10px !important; }
  .hc-ws .cg-box{ --sz:32px; }
  .hc-ga{ display:block; }
}
.hc-cta{ display:flex; width:100%; justify-content:space-between; align-items:center; margin:0 0 12px; padding:12px 16px 9px; background:var(--well); border:1px solid var(--line); color:var(--ink); font:600 17px/1 var(--teko); letter-spacing:.16em; text-transform:uppercase; cursor:pointer; text-align:left; }
.hc-cta i{ color:var(--red); font-style:normal; font-family:var(--raj); font-weight:700; }
.hc-cta:hover{ border-color:var(--red); }
@media (max-width:899px){ .hc-grid .ch-rail{ order:0; } }
@media (max-width:380px){ .hc-srow{ gap:10px; } .hc-k b{ font-size:26px; } .hc-big .rsc{ font-size:38px; } }
/* slim banner (was a full-screen popup) */
.hc-asbanner{ display:none !important; }
.hc-banner{ display:flex; align-items:center; gap:10px; margin:8px 14px 0; padding:8px 8px 8px 12px; background:var(--well); border:1px solid var(--line); border-left:4px solid var(--red); position:relative; z-index:3; }
.hc-b-txt{ flex:1; min-width:0; display:flex; flex-direction:column; }
.hc-b-txt b{ font:600 10px var(--raj); letter-spacing:.2em; text-transform:uppercase; color:var(--mute); }
.hc-b-txt span{ font:700 14px/1.2 var(--raj); color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hc-b-go{ flex:0 0 auto; background:var(--red); color:var(--k20); border:0; font:600 14px/1 var(--teko); letter-spacing:.12em; text-transform:uppercase; padding:8px 10px 5px; cursor:pointer; }
.hc-b-x{ flex:0 0 auto; width:32px; height:32px; background:none; border:1px solid var(--line); color:var(--ink-2); font:600 20px/1 var(--raj); cursor:pointer; }
body.hc-banner-on.bb-sheet-open{ overflow:auto !important; touch-action:auto !important; }
body.hc-banner-on.bb-sheet-open .shell{ pointer-events:auto !important; }
@media (min-width:900px){ .hc-banner{ max-width:1224px; margin:10px auto 0; } }
/* Stats additions */
.st-club .card{ margin-top:12px !important; }
.hc-times .hc-tt{ font:700 17px/1.25 var(--raj); color:var(--ink); margin:6px 0 10px; }
.hc-new{ color:var(--red) !important; }

.hc-strip .cr-record b{ font:600 30px/.9 var(--teko) !important; color:var(--ink) !important; letter-spacing:.02em !important; }
.hc-your{ display:block; font:600 9px/1.1 var(--raj); letter-spacing:.1em; text-transform:uppercase; color:var(--mute); margin-top:1px; }
.hc-cta-m{ display:none; }
@media (max-width:899px){ .hc-cta-d{ display:none; } .hc-cta-m{ display:flex; margin-top:10px; } }
@media (max-width:380px){ .hc-strip .cr-record b{ font-size:26px !important; } }
.home-club-rank.hc-strip .cr-record{ display:flex; flex-direction:column; flex-wrap:nowrap; gap:0; align-items:flex-start; margin-top:0; }
.hc-big .rsub{ white-space:nowrap !important; font-size:10px; letter-spacing:.1em; }
/* bb-v412: grading editor Simple mode (big, friendly) */
.sm-page .ch-sub{ text-transform:none; letter-spacing:.04em; }
.sm-h{ font:600 24px/1 var(--teko); letter-spacing:.08em; text-transform:uppercase; color:var(--ink); margin:0 0 12px; }
.sm-cards{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
@media (min-width:900px){ .sm-cards{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.sm-card{ display:flex; flex-direction:column; align-items:flex-start; gap:6px; text-align:left; min-height:128px; padding:14px; background:var(--well); border:2px solid var(--line); color:var(--ink); cursor:pointer; touch-action:manipulation; }
.sm-card i{ font-style:normal; font-size:34px; line-height:1; }
.sm-card b{ font:600 24px/1 var(--teko); letter-spacing:.06em; text-transform:uppercase; }
.sm-card span{ font-size:14px; line-height:1.3; color:var(--ink-2); }
.sm-card.on{ border-color:var(--red); background:var(--k66); box-shadow:0 0 0 2px var(--red) inset; }
.sm-card:disabled{ opacity:.55; cursor:default; }
.sm-q{ padding:12px 0 14px; border-bottom:1px solid var(--line); }
.sm-q:last-child{ border-bottom:0; }
.sm-q label{ display:block; font:600 20px/1.2 var(--raj); color:var(--ink); }
.sm-val{ font:600 26px/1.1 var(--teko); letter-spacing:.06em; text-transform:uppercase; color:var(--gold); margin:4px 0 6px; }
.sm-range{ -webkit-appearance:none; appearance:none; width:100%; height:44px; background:transparent; cursor:pointer; touch-action:pan-y; }
.sm-range::-webkit-slider-runnable-track{ height:12px; background:linear-gradient(90deg,var(--k71),var(--dim)); border-radius:6px; }
.sm-range::-moz-range-track{ height:12px; background:linear-gradient(90deg,var(--k71),var(--dim)); border-radius:6px; }
.sm-range::-webkit-slider-thumb{ -webkit-appearance:none; width:40px; height:40px; margin-top:-14px; border-radius:50%; background:var(--red); border:4px solid var(--k20); box-shadow:0 2px 8px var(--k80); }
.sm-range::-moz-range-thumb{ width:34px; height:34px; border-radius:50%; background:var(--red); border:4px solid var(--k20); }
.sm-range:disabled{ opacity:.45; }
.sm-ends{ display:flex; justify-content:space-between; font:600 13px var(--raj); letter-spacing:.12em; text-transform:uppercase; color:var(--mute); }
.sm-big-note{ font-size:17px; line-height:1.4; color:var(--ink-2); margin:4px 0; }
.sm-big-note.bad{ color:var(--k65); }
.sm-tally{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:10px; }
.sm-tally>div{ background:var(--well); border:1px solid var(--line); padding:10px; text-align:center; }
.sm-tally b{ display:block; font:600 48px/1 var(--teko); }
.sm-tally span{ font:600 13px var(--raj); letter-spacing:.12em; text-transform:uppercase; color:var(--ink-2); }
.sm-tally .up b{ color:var(--green); } .sm-tally .dn b{ color:var(--k81); } .sm-tally .same b{ color:var(--ink-2); }
.sm-list{ list-style:none; margin:0 0 8px; padding:0; }
.sm-who{ display:flex; align-items:center; gap:10px; padding:10px 12px; margin-bottom:6px; background:var(--well); border-left:6px solid var(--green); }
.sm-who.dn{ border-left-color:var(--k81); }
.sm-who b{ flex:1; min-width:0; font-size:18px; overflow-wrap:anywhere; }
.sm-pos{ font:600 12px var(--raj); letter-spacing:.12em; text-transform:uppercase; color:var(--mute); }
.sm-ft{ display:inline-flex; align-items:center; gap:6px; }
.sm-ft .ed-L{ font-size:26px; line-height:34px; min-width:34px; }
.sm-ft em{ font-style:normal; font-size:18px; }
.sm-who.up .sm-ft em{ color:var(--green); } .sm-who.dn .sm-ft em{ color:var(--k81); }
.sm-acts{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media (max-width:520px){ .sm-acts{ grid-template-columns:1fr; } }
.sm-btn{ min-height:64px; padding:12px; font:600 22px/1.05 var(--teko); letter-spacing:.08em; text-transform:uppercase; color:var(--ink); background:var(--well); border:2px solid var(--line); cursor:pointer; touch-action:manipulation; }
.sm-btn.undo{ border-color:var(--gold); color:var(--gold); }
.sm-btn.back{ border-color:var(--k82); color:var(--k83); }
.sm-btn:disabled{ opacity:.4; cursor:default; }
.sm-save{ margin-top:14px; }
.sm-save .btn,.sm-conf .btn{ min-height:56px; font-size:22px !important; }
.sm-switch{ display:block; width:100%; margin:12px 0 4px; padding:14px; background:none; border:1px dashed var(--dim); color:var(--ink-2); font:600 14px var(--raj); letter-spacing:.14em; text-transform:uppercase; cursor:pointer; text-align:center; }
.sm-switch:not(.adv){ margin:10px 0 0; border-style:solid; text-align:left; width:auto; display:inline-block; }

/* bb-v414 legacy tools toggle */
.st-row[data-legacy-toggle] .lg-sw{font:800 11px/1 var(--raj,inherit);letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;border-radius:999px;border:1px solid var(--k84);color:var(--k85);font-style:normal}
.st-row[data-legacy-toggle] .lg-sw.on{background:var(--k86);border-color:var(--k87);color:var(--k20)}

/* bb-coachfb: Keep doing / Work on */
.fb{ display:flex; flex-direction:column; gap:8px; }
.fb-h{ font:600 12px var(--raj); letter-spacing:.24em; text-transform:uppercase; color:var(--mute); margin:6px 0 0; }
.fb-h.fb-work-h{ color:var(--k65); } .fb-h.fb-keep-h{ color:var(--green); margin-top:10px; }
.fb-i{ display:flex; flex-direction:column; gap:4px; background:var(--well); border:1px solid var(--line); border-left:4px solid var(--dim); padding:10px 12px; }
.fb-work{ border-left-color:var(--k88); } .fb-work.lv2{ border-left-color:var(--k89); } .fb-work.lv3{ border-left-color:var(--red); background:var(--k90); }
.fb-keep{ border-left-color:var(--green); } .fb-fixed{ border-left-color:var(--gold); }
.fb-k{ display:flex; align-items:center; gap:8px; justify-content:space-between; font:600 12px var(--raj); letter-spacing:.14em; text-transform:uppercase; color:var(--ink-2); }
.fb-tag{ font-style:normal; font:600 10px/1 var(--raj); letter-spacing:.14em; padding:4px 6px 3px; background:var(--red); color:var(--k20); text-transform:uppercase; white-space:nowrap; }
.fb-tag.mid{ background:var(--k91); } .fb-tag.gold{ background:var(--k73); color:var(--gold); }
.fb-t{ font-size:15px; line-height:1.35; color:var(--ink); font-weight:600; }
.fb-s{ font-size:13px; line-height:1.4; color:var(--ink-2); }
.fb-how{ font-size:13px; line-height:1.4; color:var(--mute); border-top:1px dashed var(--line); padding-top:6px; }
.fb-up{ font-size:13px; color:var(--green); font-weight:600; }
.fb-gain{ align-self:flex-start; font:600 12px var(--raj); letter-spacing:.08em; color:var(--gold); background:var(--k92); border:1px solid var(--k73); padding:4px 8px 3px; }
.fb-clean b{ color:var(--green); } .fb-clean span{ font-size:13px; color:var(--ink-2); }
.fb-seg{ margin:0 0 10px; }
.hc-fb{ margin-top:10px; font:600 13px var(--raj); letter-spacing:.12em; text-transform:uppercase; color:var(--k93); }
.hc-fb::before{ content:"\25B8 "; color:var(--red); }

/* bb-v416 · the v409/v410 team card is back (homeClubRankCard look), carrying the season record + Updated/LIVE row */
.home-club-rank.hc-card{ margin:0 0 12px; }
.home-club-rank .cr-record .cr-season{ margin-left:auto; display:flex; align-items:baseline; gap:8px; }
.home-club-rank .cr-record .cr-season-l{ font:600 12px var(--raj); letter-spacing:.18em; text-transform:uppercase; color:var(--mute); }
.home-club-rank .cr-record .cr-season b{ font-size:20px; font-weight:950; letter-spacing:-.04em; color:var(--k20); }
.home-club-rank .cr-urow{ margin-top:10px; }
.home-club-rank .cr-urow:empty{ display:none; }

/* bb-v417: player builds */
.bd-chip{ display:inline-flex; align-items:center; gap:3px; font:600 11px/1 var(--raj); letter-spacing:.06em; text-transform:none; padding:3px 6px 2px; margin:0 4px 0 0; border:1px solid var(--k94); background:var(--k95); color:var(--k96); white-space:nowrap; vertical-align:middle; border-radius:2px; }
.bd-chip i{ font-style:normal; color:var(--k97); } .bd-chip b{ font-weight:600; color:var(--mute); margin-left:2px; }
.bd-chip.bd-mike,.bd-chip.bd-coach{ border-color:var(--k98); background:var(--k99); color:var(--k100); }
.bd-chip.bd-unknown,.bd-chip.bd-none{ border-color:var(--line); background:var(--well); color:var(--mute); }
.bd-chips{ display:inline-flex; flex-wrap:wrap; gap:3px; margin-left:6px; vertical-align:middle; }
.hc-wn .bd-chips{ margin:3px 0 0; display:flex; }
.bd-row{ margin:-4px 0 8px; }
.res-row .rmeta .bd-chip{ margin-right:6px; }
.bd-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.bd-t{ width:100%; border-collapse:collapse; font-size:13px; }
.bd-t th{ font:600 10px var(--raj); letter-spacing:.14em; text-transform:uppercase; color:var(--mute); text-align:left; padding:6px 6px; border-bottom:1px solid var(--line); white-space:nowrap; }
.bd-t td{ padding:7px 6px; border-bottom:1px solid var(--line); color:var(--ink-2); white-space:nowrap; }
.bd-t td.bd-bad{ color:var(--k65); }
.bd-gr{ display:flex; align-items:baseline; gap:4px; } .bd-l{ font:700 15px var(--raj); } .bd-gr small{ color:var(--mute); font-size:11px; }
.bd-note{ font-size:12px; color:var(--mute); margin:8px 0 0; line-height:1.4; }
.bd-sec{ font:600 12px var(--raj); letter-spacing:.2em; text-transform:uppercase; color:var(--ink-2); margin:14px 0 6px; }
.bd-game{ display:grid; grid-template-columns:1fr 1fr; gap:12px; } @media (max-width:640px){ .bd-game{ grid-template-columns:1fr; } }
.bd-gh{ font:600 11px var(--raj); letter-spacing:.2em; text-transform:uppercase; color:var(--mute); margin:0 0 4px; }
.bd-gl{ display:flex; align-items:center; gap:8px; padding:6px 0; border-bottom:1px solid var(--line); font-size:13px; }
.bd-gp{ width:26px; font:600 11px var(--raj); color:var(--mute); } .bd-gn{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink); } .bd-ga{ color:var(--mute); font-size:12px; white-space:nowrap; }
.bd-gl .bd-chips{ margin:0; }
.bd-nm{ display:grid; grid-template-columns:44px 1fr 120px 64px; gap:8px; align-items:center; padding:6px 0; border-bottom:1px solid var(--line); }
.bd-nm small{ display:block; color:var(--mute); font-size:11px; margin-top:2px; } .bd-nc{ font:600 12px var(--raj); color:var(--mute); }
.bd-in,.bd-pin{ background:var(--well); border:1px solid var(--line); color:var(--ink); padding:7px 8px; font-size:14px; min-width:0; }
.bd-save{ background:var(--red); color:var(--k20); border:0; padding:8px 10px; font:600 12px var(--raj); letter-spacing:.1em; text-transform:uppercase; cursor:pointer; } .bd-save:disabled,.bd-in:disabled{ opacity:.45; cursor:default; }
.bd-pinrow{ display:flex; gap:10px; align-items:center; margin:6px 0; } .bd-msg{ font-size:12px; color:var(--gold); }
@media (max-width:420px){ .bd-nm{ grid-template-columns:1fr 64px; } .bd-nc{ display:none; } .bd-nw{ grid-column:1 / -1; } }
.fb-h.fb-build-h{ color:var(--k96); margin-top:12px; } .fb-build{ border-left-color:var(--k94); } .fb-build.small{ opacity:.85; }
.fb-build .fb-s .bd-chip{ margin:0 2px; }
.bd-nmwrap{margin-top:14px}
.bd-nmwrap>summary.bd-sum{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}
.bd-nmwrap>summary.bd-sum::-webkit-details-marker{display:none}
.bd-nmwrap>summary.bd-sum::after{content:'\25B8';margin-left:auto;opacity:.7}
.bd-nmwrap[open]>summary.bd-sum::after{content:'\25BE'}

/* ===== bb-v418 Team Chat: iOS Messages look (layout only; keyed DOM, fixed media boxes and no-jump logic unchanged) ===== */
#chatlog{ overflow-x:hidden !important; gap:0 !important; padding:10px 12px 16px !important; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; background:var(--k101) !important; }
#chatlog .message{ max-width:100% !important; width:100%; margin:2px 0 0 !important; display:flex; flex-direction:column; align-items:flex-start; align-self:stretch !important; position:relative; }
#chatlog .message.mine{ align-items:flex-end; }
#chatlog .message.first{ margin-top:10px !important; }
#chatlog .message.has-rx .bwrap{ margin-top:14px; }
/* centered time divider (a >15 min gap) */
#chatlog .ts-div{ display:none; align-self:stretch; text-align:center; font:600 11.5px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,sans-serif; color:var(--k102); margin:14px 0 6px; letter-spacing:0; text-transform:none; }
#chatlog .message.gap .ts-div{ display:block; }
#chatlog .message:first-child .ts-div{ margin-top:2px; }
/* sender name + avatar only on the first message of their group; mine never shows them */
#chatlog .message .meta{ display:none !important; align-items:center; gap:7px; margin:0 0 3px 2px !important; font:500 12px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,sans-serif !important; letter-spacing:0 !important; text-transform:none !important; color:var(--k102) !important; }
#chatlog .message.theirs.first .meta{ display:flex !important; }
#chatlog .message .meta b{ color:var(--k103) !important; font-weight:600 !important; }
#chatlog .message .meta .sr-time{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
#chatlog .av{ width:24px; height:24px; border-radius:50% !important; display:inline-flex; align-items:center; justify-content:center; color:var(--k20); font:700 10px/1 -apple-system,BlinkMacSystemFont,system-ui,sans-serif; letter-spacing:0; flex:0 0 24px; }
#chatlog .message.theirs .bwrap{ margin-left:31px; }
/* bubbles */
#chatlog .bwrap{ position:relative; max-width:min(76%, 520px); display:flex; flex-direction:column; align-items:flex-start; }
#chatlog .message.mine .bwrap{ align-items:flex-end; margin-right:7px; }
#chatlog .message .bubble{ position:relative; border:0 !important; border-radius:18px !important; padding:7px 12px 8px !important; font:400 16px/1.32 -apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,sans-serif !important; letter-spacing:0; overflow-wrap:anywhere; box-shadow:none !important; max-width:100%; }
#chatlog .message.mine .bubble{ background:var(--k104) !important; color:var(--k105) !important; }
#chatlog .message.theirs .bubble{ background:var(--k106) !important; color:var(--k20) !important; }
#chatlog .message .bubble a{ color:var(--k20) !important; text-decoration-color:var(--k107) !important; }
/* tail on the last bubble of a group */
#chatlog .message.last .bubble:not(.emoji-only):not(.media-only)::before,
#chatlog .message.last .bubble:not(.emoji-only):not(.media-only)::after{ content:""; position:absolute; bottom:0; height:20px; pointer-events:none; }
#chatlog .message.mine.last .bubble:not(.emoji-only):not(.media-only)::before{ right:-7px; width:20px; background:var(--k104); border-bottom-left-radius:16px 14px !important; }
#chatlog .message.mine.last .bubble:not(.emoji-only):not(.media-only)::after{ right:-10px; width:10px; background:var(--k101); border-bottom-left-radius:10px !important; }
#chatlog .message.theirs.last .bubble:not(.emoji-only):not(.media-only)::before{ left:-7px; width:20px; background:var(--k106); border-bottom-right-radius:16px 14px !important; }
#chatlog .message.theirs.last .bubble:not(.emoji-only):not(.media-only)::after{ left:-10px; width:10px; background:var(--k101); border-bottom-right-radius:10px !important; }
/* emoji-only: big, no bubble */
#chatlog .message .bubble.emoji-only{ background:transparent !important; padding:0 2px !important; font-size:44px !important; line-height:1.12 !important; }
/* media: rounded, the v405 fixed boxes kept */
#chatlog .message .bubble.media-only{ background:transparent !important; padding:0 !important; }
#chatlog .message .bubble.has-media:not(.media-only){ padding:4px 4px 8px !important; }
#chatlog .message .bubble.has-media:not(.media-only) .chatpics{ margin:0 0 6px; }
#chatlog .message .bubble.has-media:not(.media-only) .chatpics ~ *, #chatlog .message .bubble.has-media:not(.media-only) > :not(.chatpics){ padding:0 8px; }
#chatlog .chat-media-hit, #chatlog .chatpic{ border-radius:18px !important; overflow:hidden; }
#chatlog .chat-media-hit{ border:0 !important; }
/* tapback badges on the bubble's top corner (theirs: top-right · mine: top-left, like iOS) */
#chatlog .rx-row{ position:static; margin:0 !important; display:flex; flex-direction:column; gap:6px; max-width:none; align-items:inherit; }
#chatlog .rx-chips{ position:absolute; top:-15px; z-index:2; display:flex; gap:0; flex-wrap:nowrap; }
#chatlog .message.theirs .rx-chips{ right:-12px; flex-direction:row-reverse; }
#chatlog .message.mine .rx-chips{ left:-12px; justify-content:flex-start; }
#chatlog .rx-chip{ min-height:0 !important; height:28px; min-width:28px; padding:0 6px !important; border-radius:14px !important; border:2px solid var(--k101) !important; background:var(--k106) !important; color:var(--k20) !important; gap:2px !important; margin:0 -5px; box-shadow:0 1px 2px var(--k108); justify-content:center; }
#chatlog .rx-chip.mine{ background:var(--k104) !important; }
#chatlog .rx-chip .rx-e{ font-size:14px !important; line-height:1; }
#chatlog .rx-chip .rx-n{ font:700 11px/1 -apple-system,BlinkMacSystemFont,system-ui,sans-serif; }
#chatlog .rx-chip .rx-n.one{ display:none; }
/* the tapback trigger beside the bubble: faint on phones (long-press works too), shows on hover on desktop */
#chatlog .rx-add{ position:absolute; top:50%; transform:translateY(-50%); width:26px; height:26px; min-height:0 !important; padding:0 !important; border-radius:50% !important; border:0 !important; background:var(--k109) !important; color:var(--k103) !important; font-size:13px !important; justify-content:center; opacity:.4; }
#chatlog .rx-add span{ display:none; }
#chatlog .message.rx-open .rx-add{ top:auto; bottom:auto; transform:none; }
#chatlog .message.theirs .rx-add{ right:-32px; }
#chatlog .message.mine .rx-add{ left:-32px; }
#chatlog .rx-row .rx-bar ~ .rx-add, #chatlog .message.rx-open .rx-add{ display:none; }
@media (hover:none){ #chatlog .rx-add{ opacity:0; } #chatlog .message.last .rx-add{ opacity:.3; } }
@media (hover:hover) and (pointer:fine){ #chatlog .rx-add{ opacity:0; transition:opacity .12s; } #chatlog .message:hover .rx-add, #chatlog .rx-add:focus-visible, #chatlog .rx-add.on{ opacity:1; } }
/* tapback bar */
#chatlog .rx-bar{ display:flex !important; flex-wrap:nowrap !important; overflow-x:auto; scrollbar-width:none; gap:2px !important; padding:5px 8px !important; margin-top:6px; width:max-content; max-width:min(330px, calc(100vw - 72px)) !important; background:var(--k109) !important; border:0 !important; border-radius:24px !important; box-shadow:0 6px 18px var(--k110); }
#chatlog .rx-bar::-webkit-scrollbar{ display:none; }
#chatlog .rx-pick{ flex:0 0 38px; width:38px !important; height:38px !important; border-radius:50% !important; font-size:23px !important; }
#chatlog .rx-pick:hover, #chatlog .rx-pick:focus-visible{ background:var(--k106) !important; }
#chatlog .rx-who{ border:0 !important; border-radius:14px !important; background:var(--k109) !important; color:var(--k111) !important; font:500 13px/1.3 -apple-system,BlinkMacSystemFont,system-ui,sans-serif !important; padding:6px 10px !important; }
@media (hover:none){ #chatlog .bubble{ -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; } }
/* Delivered under my newest message when it's the last in the thread */
#chatlog .message.delivered::after{ content:"Delivered"; font:600 11px/1 -apple-system,BlinkMacSystemFont,system-ui,sans-serif; color:var(--k102); margin:4px 4px 0; }
/* New messages pill */
.chat-newpill{ background:var(--k104) !important; font:600 13px/1 -apple-system,BlinkMacSystemFont,system-ui,sans-serif !important; letter-spacing:0 !important; padding:8px 14px !important; box-shadow:0 4px 14px var(--k112); }
/* composer: [+] ( text … 😀 ⬆ ) */
.chat-form-ios .sr-only{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.chat-crow{ display:flex; align-items:flex-end; gap:8px; margin:10px 0 6px; }
.chat-form-ios .chat-plus{ flex:0 0 34px; width:34px; height:34px; min-height:0 !important; padding:0 !important; border-radius:50% !important; border:0 !important; background:var(--k109) !important; color:var(--k103) !important; display:inline-flex; align-items:center; justify-content:center; margin:0 0 2px !important; }
.chat-form-ios .chat-plus svg{ width:18px; height:18px; }
.chat-form-ios .chat-compose{ flex:1 1 auto; min-width:0; display:flex; align-items:flex-end; border:1px solid var(--k106); border-radius:20px !important; background:var(--k101); padding:3px 3px 3px 12px; }
.chat-form-ios .chat-compose:focus-within{ border-color:var(--k113); }
.chat-form-ios .chat-compose #chatbody{ flex:1 1 auto; min-width:0; border:0 !important; background:transparent !important; box-shadow:none !important; outline:none; resize:none; padding:6px 4px !important; margin:0 !important; min-height:0 !important; height:30px; max-height:132px; font:400 16px/1.25 -apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,sans-serif !important; color:var(--k20) !important; }
.chat-form-ios .chat-emoji-btn{ position:static !important; transform:none !important; flex:0 0 30px; width:30px; height:30px; padding:0 !important; border:0 !important; background:none !important; font-size:20px; margin:0 2px 0 0; opacity:.85; }
.chat-form-ios .chat-send{ flex:0 0 30px; width:30px !important; height:30px; min-height:0 !important; padding:0 !important; margin:0 !important; border-radius:50% !important; border:0 !important; background:var(--k104) !important; color:var(--k105) !important; display:inline-flex; align-items:center; justify-content:center; box-shadow:none !important; }
.chat-form-ios .chat-send svg{ width:18px; height:18px; }
.chat-form-ios .chat-send:disabled, .chat-form-ios .chat-plus:disabled{ opacity:.4; }

.chat-newpill{ border-radius:999px !important; }

/* bb-v419 shot + goal location maps */
.sm-panel{overflow:hidden}
.sm-bar{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center;margin:6px 0 10px}
.sm-chips,.sm-modes{display:flex;gap:4px;background:var(--k114);border-radius:999px;padding:3px}
.sm-chip,.sm-mode{border:0;background:transparent;color:inherit;opacity:.72;font:600 12.5px/1 inherit;padding:7px 11px;border-radius:999px;cursor:pointer;min-height:30px;-webkit-tap-highlight-color:transparent}
.sm-chip.on,.sm-mode.on{background:var(--k115);color:var(--k116);opacity:1}
.sm-mode.on{background:var(--k117)}
.sm-sum{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:0 0 10px}
.sm-sum>div{background:var(--k118);border-radius:10px;padding:7px 6px;text-align:center;min-width:0}
.sm-sum b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sm-sum span{display:block;font-size:10.5px;opacity:.62;margin-top:2px;text-transform:uppercase;letter-spacing:.04em}
.sm-maps{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;align-items:center}
.sm-ice svg,.sm-netw svg{display:block;width:100%;height:auto;overflow:visible}
.sm-ncap{text-align:center;font-size:11px;opacity:.55;margin-top:4px}
.sm-z{cursor:pointer;stroke:var(--k119);stroke-width:.25;transition:fill-opacity .25s,stroke .2s}
.sm-z.sm-sel{stroke:var(--k20);stroke-width:.8}
.sm-nz{stroke-width:.5}
.sm-board{fill:none;stroke:var(--k120);stroke-width:.7}
.sm-red{stroke:var(--k121);stroke-width:.45;fill:none;opacity:.85}.sm-red.thin{stroke-width:.3;opacity:.7}
.sm-blue{fill:var(--k122);opacity:.85}
.sm-dot{fill:var(--k121);opacity:.85}
.sm-crease{fill:var(--k123);stroke:var(--k121);stroke-width:.3;pointer-events:none}
.sm-netb{fill:var(--k124);stroke:var(--k121);stroke-width:.5}
.sm-lines{pointer-events:none}
.sm-v{fill:var(--k20);font-weight:800;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:var(--k125);stroke-width:.6px;font-family:inherit}
.sm-rink .sm-s{font-size:2.4px}
.sm-s{fill:var(--k126);font-weight:600;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:var(--k127);stroke-width:.4px}
.sm-gm{fill:var(--k128);stroke:var(--k129);stroke-width:.2}
.sm-gx{fill:var(--k128);font-size:2.6px;font-weight:800;text-anchor:middle}
.sm-post{fill:none;stroke:var(--k130);stroke-width:3.2;stroke-linejoin:round;stroke-linecap:round}
.sm-ice{stroke:var(--k131);stroke-width:.8}
.sm-lamp{fill:var(--k132);stroke:var(--k121);stroke-width:.6}
.sm-glow{opacity:0}
.sm-flash{fill:var(--k133);opacity:0}
.sm-tr{fill:none;stroke:var(--k134);stroke-width:.45;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;opacity:.28}
.sm-tr.g{stroke:var(--k135);stroke-width:.6;opacity:.55}
.sm-pk{fill:var(--k136);opacity:0}
.sm-npk{fill:var(--k137);stroke:var(--k136);stroke-width:.6}
.sm-npk.g{stroke:var(--k128);stroke-width:.9}
.sm-rp{fill:none;stroke:var(--k135);stroke-width:.5;opacity:0}
.sm-rp.n{stroke-width:.9}
.sm-leg{display:flex;align-items:center;gap:8px;font-size:11px;opacity:.75;margin:10px 0 2px}
.sm-leg i{flex:0 1 140px;height:7px;border-radius:9px;background:linear-gradient(90deg,var(--k138),var(--k139),var(--k115),var(--k117),var(--k140),var(--k141))}
.sm-leg em{font-style:normal;margin-left:auto;display:flex;align-items:center;gap:5px}
.sm-gdot{width:8px;height:8px;border-radius:50%;background:var(--k128);display:inline-block}
.sm-tip{font-size:13px;padding:8px 10px;background:var(--k118);border-radius:10px;margin-top:8px;min-height:20px}
.sm-foot{display:flex;gap:10px;align-items:flex-start;margin-top:8px}
.sm-replay{border:1px solid var(--k142);background:transparent;color:inherit;border-radius:999px;padding:6px 12px;font:600 12px/1 inherit;cursor:pointer;white-space:nowrap;min-height:30px}
.sm-note{font-size:11px;opacity:.55;margin:0;line-height:1.4}
.fb-sm-h{margin-top:10px}
/* motion: live (last game / night / 5) = trails + pucks + goal light; calm (season) = heat fade. Final state is the no-animation state. */
.sm-a-calm .sm-z{animation:smHeat .7s ease-out both}
.sm-a-live .sm-z{animation:smHeat .55s ease-out both}
.sm-a-calm .sm-gm,.sm-a-live .sm-gm{animation:smPop .38s cubic-bezier(.2,1.6,.4,1) both;transform-box:fill-box;transform-origin:center}
.sm-a-live .sm-tr{animation:smDraw .42s cubic-bezier(.4,0,.2,1) both}
.sm-a-live .sm-pk{animation:smLand .5s ease-out both;transform-box:fill-box;transform-origin:center}
.sm-a-live .sm-npk{animation:smPop .34s cubic-bezier(.2,1.6,.4,1) both;transform-box:fill-box;transform-origin:center}
.sm-a-live .sm-rp{animation:smRip .7s ease-out both;transform-box:fill-box;transform-origin:center}
.sm-a-live.sm-goal .sm-glow{animation:smGlow 1.5s ease-out both}
.sm-a-live.sm-goal .sm-lamp{animation:smLamp 1.5s ease-out both}
.sm-a-live.sm-goal .sm-flash{animation:smFlash 1.5s ease-out both}
@keyframes smHeat{from{opacity:0}to{opacity:1}}
@keyframes smDraw{0%{stroke-dashoffset:1;opacity:.95}70%{opacity:.95}100%{stroke-dashoffset:0;opacity:.28}}
@keyframes smLand{0%{opacity:0;transform:scale(.3)}40%{opacity:1;transform:scale(1.6)}100%{opacity:0;transform:scale(1)}}
@keyframes smPop{0%{opacity:0;transform:scale(0)}100%{opacity:1;transform:scale(1)}}
@keyframes smRip{0%{opacity:.9;transform:scale(.4)}100%{opacity:0;transform:scale(3.2)}}
@keyframes smGlow{0%,55%{opacity:0}65%{opacity:1}100%{opacity:.35}}
@keyframes smLamp{0%,55%{fill:var(--k132)}65%,100%{fill:var(--k133)}}
@keyframes smFlash{0%,58%{opacity:0}66%{opacity:.32}100%{opacity:0}}
.sm-a-live.sm-goal .sm-glow{will-change:opacity}
@media (prefers-reduced-motion:reduce){.sm-panel *{animation:none!important;transition:none!important}}
@media (max-width:640px){.sm-maps{grid-template-columns:1fr;gap:8px}.sm-netw{max-width:300px;margin:0 auto;width:100%}.sm-sum{grid-template-columns:repeat(3,1fr)}.sm-sum>div:nth-child(n+4){grid-column:span 1}.sm-chip,.sm-mode{padding:7px 9px;font-size:12px}.sm-bar{gap:6px}}

/* bb-v422 · Farm / Prospects (scouting report) */
.fm-tabs{display:flex;gap:4px;padding:3px;margin:8px 0 12px;border-radius:12px;background:var(--k143)}
.fm-tabs button{flex:1;border:0;border-radius:9px;padding:8px 6px;font:600 13px system-ui,sans-serif;background:transparent;color:inherit;opacity:.7;cursor:pointer}
.fm-tabs{background:var(--k114);border:1px solid var(--line,var(--k6))}
.fm-tabs button{color:var(--mute,var(--k10))}
.fm-tabs button.on{background:var(--k144);color:var(--k105);opacity:1;box-shadow:0 1px 6px var(--k145)}
.fm-eyebrow{font:700 10px/1.2 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;opacity:.6}
.fm-team{border-left:4px solid var(--k144)}
.fm-team-top{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
.fm-team-name{font:800 22px/1.1 system-ui,sans-serif;margin-top:3px}
.fm-rec{text-align:right}.fm-rec b{display:block;font:800 26px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.fm-rec span{font-size:12px;opacity:.65}
.fm-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.fm-team-grid>div{background:var(--k118);border:1px solid var(--line,var(--k6));border-radius:10px;padding:8px 9px;min-width:0}
.fm-team-grid span{display:block;font-size:11px;opacity:.6}.fm-team-grid b{display:block;font-size:15px;margin:2px 0;overflow-wrap:anywhere}.fm-team-grid i{display:block;font-size:11px;font-style:normal;opacity:.6}
.fm-report{margin:14px 0 4px;padding:12px 14px;border-radius:12px;background:repeating-linear-gradient(0deg,var(--k146) 0 1px,transparent 1px 22px),var(--k147);color:var(--k148);border:1px solid var(--k149)}
@media (prefers-color-scheme:dark){.fm-report{background:repeating-linear-gradient(0deg,var(--k118) 0 1px,transparent 1px 22px),var(--k150);color:var(--k151);border-color:var(--k152)}}
.fm-report-h{display:flex;justify-content:space-between;align-items:flex-end}
.fm-report-t{font:800 20px/1.1 Georgia,"Times New Roman",serif;letter-spacing:.01em}
.fm-report-n{font:700 12px ui-monospace,Menlo,monospace;opacity:.7}
.fm-note{margin:6px 0 0;font-size:12px;line-height:1.4;opacity:.8}
.fm-sec{margin:14px 2px 6px;font:700 11px system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;opacity:.6}
.fm-board{display:grid;gap:10px}
@media (min-width:900px){.fm-board{grid-template-columns:1fr 1fr}}
.fm-card{position:relative;padding:12px;border-radius:14px;background:var(--panel,var(--k3));color:var(--ink,var(--k8));border:1px solid var(--line,var(--k6));cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;-webkit-tap-highlight-color:transparent}
.fm-card:active{transform:scale(.99)}.fm-card:focus-visible{outline:2px solid var(--k153);outline-offset:2px}
.fm-card-top{display:flex;align-items:center;gap:10px}
.fm-id{display:flex;align-items:center;gap:9px;flex:1;min-width:0}
.fm-id b{display:block;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fm-pos{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:800 13px system-ui;background:var(--k144);color:var(--k105)}
.fm-sub{display:block;font-size:11px;color:var(--mute,var(--k10))}
.fm-two{display:inline-block;margin:2px 0 0;padding:1px 7px;border-radius:999px;font:700 10px system-ui;letter-spacing:.04em;text-transform:uppercase;background:var(--k154);color:var(--k105)}
.fm-id .fm-two{margin-right:6px}
.fm-grade{text-align:center;flex:none}.fm-grade>span:not(.fm-letter){display:block;font-size:10px;color:var(--mute,var(--k10));max-width:90px;margin-top:2px}
.fm-letter{display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 4px;border-radius:10px;font:800 20px system-ui;color:var(--k20);background:var(--k155)}
.fm-l-a{background:var(--grade-A,var(--k156))}.fm-l-b{background:var(--grade-B,var(--k157))}.fm-l-c{background:var(--grade-C,var(--k158))}.fm-l-d{background:var(--grade-D,var(--k159))}.fm-l-f{background:var(--grade-F,var(--k160))}.fm-l-x{background:var(--dim,var(--k11))}
.fm-letter{color:var(--k0);text-shadow:none}
.fm-star{flex:none;border:0;background:transparent;font-size:24px;line-height:1;color:var(--k161);cursor:pointer;padding:4px;min-width:40px;min-height:40px}
.fm-star.on{color:var(--k88)}.fm-star.nope{animation:fmShake .4s}
@keyframes fmShake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.fm-stats{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;margin:10px 0 8px;text-align:center}
.fm-stats span{font-size:10px;color:var(--mute,var(--k10))}.fm-stats b{color:var(--ink,var(--k8))}.fm-stats b{display:block;font:700 15px ui-monospace,Menlo,monospace;opacity:1}
@media (max-width:420px){.fm-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fm-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fm-k{font:700 10px system-ui;letter-spacing:.08em;text-transform:uppercase;color:var(--mute,var(--k10))}
.fm-spark{display:inline-flex;align-items:flex-end;gap:3px;height:24px}.fm-spark i{width:9px;border-radius:2px}
.fm-spark-none{opacity:.5}
.fm-builds{margin-left:auto;display:inline-flex;gap:4px;flex-wrap:wrap}
.fm-ready{margin-top:10px;padding-top:9px;border-top:1px dashed var(--k162)}
.fm-ready-h{display:flex;justify-content:space-between;align-items:center}
.fm-word{font:800 12px system-ui;padding:2px 8px;border-radius:999px}
.fm-word.fm-cu{background:var(--k163);color:var(--k164)}.fm-word.fm-dv{background:var(--k165);color:var(--k166)}.fm-word.fm-pr{background:var(--k167);color:var(--k168)}
.fm-meter{position:relative;height:10px;margin:8px 0 6px;border-radius:999px;background:var(--k124);overflow:visible}
.fm-fill{height:100%;border-radius:999px;transform-origin:left;animation:fmGrow .7s cubic-bezier(.2,.8,.2,1) both}
.fm-fill.fm-cu{background:linear-gradient(90deg,var(--k169),var(--k156))}.fm-fill.fm-dv{background:linear-gradient(90deg,var(--k170),var(--k158))}.fm-fill.fm-pr{background:linear-gradient(90deg,var(--k171),var(--k172))}
.fm-meter i{position:absolute;top:-3px;width:2px;height:16px;margin-left:-1px;background:var(--ink,var(--k8));opacity:.7;border-radius:1px}
@keyframes fmGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.fm-fill{animation:none}.fm-card{transition:none}}
.fm-like{font-size:12px;line-height:1.35;color:var(--ink,var(--k8))}
.fm-watch{display:flex;gap:6px;flex-wrap:wrap}
.fm-wchip{border:1px solid var(--k88);background:var(--k173);color:inherit;border-radius:999px;padding:6px 11px;font:600 12px system-ui;cursor:pointer}
.fm-foot{font-size:11px;opacity:.6;margin:12px 2px}
.fm-banner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px;padding:9px 12px;border-radius:12px;background:var(--k147);color:var(--k148);border:1px solid var(--k149)}
.fm-banner b{font:800 15px Georgia,serif}.fm-banner.tw{background:var(--k174);color:inherit;border-color:var(--k175);font-size:12px}
@media (prefers-color-scheme:dark){.fm-banner:not(.tw){background:var(--k150);color:var(--k151);border-color:var(--k152)}}
.fm-back{margin-left:auto;border:0;border-radius:9px;padding:6px 10px;font:600 12px system-ui;background:var(--k176);color:inherit;cursor:pointer}

/* bb-v423: keep the tab bar pinned on iOS (own compositing layer; Farm / Prospects meters + card transitions made WebKit repaint it mid-scroll) */
@media (max-width:899px){ .nav{ -webkit-transform:translateZ(0); transform:translateZ(0); will-change:transform; -webkit-backface-visibility:hidden; backface-visibility:hidden; } }
.fm-fill{ will-change:auto; }

/* bb-v425 Strength of schedule */
.sos-two{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
@media (max-width:420px){.sos-two{grid-template-columns:1fr}}
.sos-sum{padding:10px;border:1px solid var(--line,var(--k6));border-radius:12px;background:var(--k177)}
.sos-sum.tex{border-left:4px solid var(--k144)}.sos-sum.min{border-left:4px solid var(--k154)}
.sos-rec{font:800 24px/1.1 ui-monospace,Menlo,monospace;margin:4px 0 6px}
.sos-kv{display:flex;justify-content:space-between;gap:8px;font-size:12px;padding:2px 0;color:var(--mute,var(--k10))}.sos-kv b{color:var(--ink,var(--k8));font-family:ui-monospace,Menlo,monospace}
.sos-bk{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;font-size:11px;color:var(--mute,var(--k10))}.sos-bk b{color:var(--ink,var(--k8))}
.sos-chart svg{width:100%;height:auto;display:block;margin-top:6px}
.sos-ax{font:9px ui-monospace,Menlo,monospace;fill:var(--k10)}.sos-grid{stroke:var(--k124)}.sos-our{fill:none;stroke:var(--k16);stroke-width:2;stroke-dasharray:4 3}
.sos-leg{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:var(--mute,var(--k10));margin-top:4px}.sos-leg i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px;vertical-align:-1px}.sos-ourk{color:var(--k16)}
.sos-tw{overflow-x:auto;margin-top:6px}.sos-t{width:100%;border-collapse:collapse;font-size:12px}.sos-t th,.sos-t td{padding:5px 6px;border-bottom:1px solid var(--line,var(--k6));text-align:right;white-space:nowrap}.sos-t th:first-child,.sos-t td:first-child{text-align:left;white-space:normal}
.sos-t tr.sos-stronger td:last-child{color:var(--k178)}.sos-t tr.sos-weaker td:last-child{color:var(--k179)}.sos-t tr.sos-similar td:last-child{color:var(--k180)}

/* bb-v428 copy gamertag */
.bb-copy-tag{cursor:pointer;margin-left:6px;font-family:inherit}
.fm-links{margin-top:8px;gap:6px}.fm-links .bb-copy-tag{margin-left:0}

.fm-links{display:block}
/* bb-v430: Copy gamertag = same pill as Message on Xbox (generic card button styles were stretching it) */
.bb-plat-acts button.bb-copy-tag,.fm-links button.bb-copy-tag{display:inline-flex !important;align-items:center;justify-content:center;width:auto !important;min-width:0 !important;flex:0 1 auto !important;margin:0 !important;font-size:11px !important;font-weight:850 !important;letter-spacing:.04em !important;text-transform:uppercase !important;color:var(--k181) !important;border:1px solid var(--k182) !important;background:var(--k183) !important;border-radius:8px !important;padding:7px 10px !important;min-height:34px !important;line-height:1.1 !important;box-shadow:none !important}
/* bb-v433 Who skated: dark broadcast rink (Last game) + Forwards/Defense list (night) */
@media (min-width:900px){ .hc-pair .hc-rink, .hc-pair .hc-wsg{ grid-column:1/-1; } }
.hc-rink .rk{ position:relative; margin:6px 0 0; min-height:290px; padding:16px 8px 12px; box-sizing:border-box; max-width:100%; overflow:hidden; display:flex; flex-direction:column; gap:10px;
  background:radial-gradient(120% 70% at 50% 0%, var(--k184), transparent 60%), linear-gradient(180deg,var(--k185),var(--k186)); border:1px solid var(--k187); border-radius:36px 36px 36px 36px !important; box-shadow:inset 0 0 0 1px var(--k188), inset 0 0 40px var(--k112); }
.rk-ln{ position:absolute; left:0; right:0; height:0; pointer-events:none; }
.rk-red{ top:5%; border-top:2px solid var(--red); opacity:.35; box-shadow:0 0 8px var(--red); }
.rk-blue{ border-top:3px solid var(--k189); opacity:.35; box-shadow:0 0 10px var(--k190); }
.rk-b1{ top:36%; }
.rk-goal{ border-top:1px solid var(--red); opacity:.35; left:7%; right:7%; }
.rk-gl1{ bottom:14%; }
.hc-rink .rk-c{ position:absolute; width:62px; height:62px; border:1px solid var(--red); border-radius:50% !important; opacity:.22; pointer-events:none; }
.rk-cc{ top:calc(5% - 31px); left:calc(50% - 31px); border-color:var(--k189) !important; }
.rk-c3{ bottom:21%; left:9%; } .rk-c4{ bottom:21%; right:9%; }
.hc-rink .rk-crease{ position:absolute; bottom:calc(14% - 22px); left:calc(50% - 26px); width:52px; height:22px; border:1px solid var(--red); border-top:0; border-radius:0 0 26px 26px !important; background:var(--k191); opacity:.7; pointer-events:none; }
.rk-row{ position:relative; z-index:1; display:grid; gap:6px; }
.rk-f{ grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:12px; }
.rk-d{ grid-template-columns:repeat(2,minmax(0,1fr)); padding:0 10%; margin-top:22px; }
.rk-spot{ display:flex; flex-direction:column; gap:5px; min-width:0; }
.rk-g{ position:relative; z-index:1; align-items:center; margin-top:auto; min-height:16px; }
.rk-empty{ align-self:center; font:600 13px/1 var(--teko); letter-spacing:.12em; color:var(--dim); border:1px dashed var(--line); padding:8px 10px; }
.hc-rink .rk-tok{ --cutk:9px; display:flex; flex-direction:column; align-items:center; gap:2px; min-width:0; padding:6px 4px 6px; background:linear-gradient(160deg,var(--k192),var(--k193)); border:1px solid var(--line); border-top:2px solid var(--gc,var(--dim)); color:var(--ink); cursor:pointer; text-align:center; font:inherit;
  clip-path:polygon(0 0,calc(100% - var(--cutk)) 0,100% var(--cutk),100% 100%,var(--cutk) 100%,0 calc(100% - var(--cutk))); border-radius:0 !important; }
.hc-rink .rk-tok.me{ background:linear-gradient(160deg,var(--k194),var(--k195)); box-shadow:inset 0 0 0 1px var(--red); }
.hc-rink .rk-L{ font:700 38px/.85 var(--teko); color:var(--gc,var(--ink)); padding-top:.08em; text-shadow:0 0 14px color-mix(in srgb, var(--gc,var(--k196)) 35%, transparent); background:none; width:auto; height:auto; border-radius:0 !important; }
.hc-rink .rk-n{ font:600 13px/1.05 var(--teko); letter-spacing:.04em; text-transform:uppercase; color:var(--ink); max-width:100%; overflow-wrap:anywhere; }
.rk-one{ white-space:nowrap; overflow-wrap:normal !important; display:block; width:100%; overflow:hidden; }
.hc-rink .rk-p{ font:600 11px/1 var(--teko); letter-spacing:.16em; color:var(--mute); }
.hc-rink .rk-tok.me .rk-p{ color:var(--red); }
.rk-gtok{ cursor:default; width:46%; }
.rk-cap{ margin-top:8px; font:600 11px/1 var(--raj); letter-spacing:.12em; text-transform:uppercase; color:var(--mute); text-align:center; }
.wg-grp{ margin-top:8px; }
.wg-h{ display:flex; align-items:center; gap:8px; font:600 14px/1 var(--teko); letter-spacing:.16em; text-transform:uppercase; color:var(--ink-2); margin:4px 0 6px; }
.wg-h i{ flex:1; height:1px; background:linear-gradient(90deg,var(--line),transparent); } .wg-h b{ color:var(--mute); font-weight:600; }
.wg-row{ --cutk:8px; display:grid; grid-template-columns:34px minmax(0,1fr) auto 10px; gap:10px; align-items:center; width:100%; text-align:left; background:var(--well); border:1px solid var(--line); border-left:3px solid var(--gc,var(--dim)); color:var(--ink); padding:7px 10px; margin:0 0 5px; font:inherit; cursor:pointer;
  clip-path:polygon(0 0,calc(100% - var(--cutk)) 0,100% var(--cutk),100% 100%,0 100%); }
.wg-row.me{ box-shadow:inset 0 0 0 1px var(--k197); }
.wg-L{ font:700 34px/.82 var(--teko); color:var(--gc,var(--ink)); text-align:center; padding-top:.08em; }
.wg-t{ min-width:0; display:flex; flex-direction:column; gap:3px; }
.wg-n{ font:600 17px/1 var(--teko); letter-spacing:.04em; text-transform:uppercase; overflow-wrap:anywhere; }
.wg-p{ font:600 12px/1 var(--teko); letter-spacing:.12em; color:var(--mute); text-transform:uppercase; }
.wg-ga{ font:600 15px/1 var(--teko); letter-spacing:.06em; color:var(--ink-2); white-space:nowrap; }
.wg-gk{ cursor:default; grid-template-columns:34px minmax(0,1fr); }
/* bb-v434: list rows fit 375 — name one line (JS shrinks to fit), positions wrap only between items */
.wg-n{ white-space:nowrap; overflow:hidden; overflow-wrap:normal; display:block; }
.wg-pp{ white-space:nowrap; }
.wg-p{ line-height:1.25; }
/* bb-v434 position colours (EA lobby): LW green · C red · RW blue · LD teal · RD yellow */
.pc-lw{ --pc:var(--k198); } .pc-c{ --pc:var(--k199); } .pc-rw{ --pc:var(--k189); } .pc-ld{ --pc:var(--k200); } .pc-rd{ --pc:var(--k17); }
.hc-rink .rk-p[class*="pc-"], .wg-pp[class*="pc-"]{ color:var(--pc) !important; }
.hc-rink .rk-tok:has(.pc-lw){ box-shadow:inset 0 -2px 0 var(--k201); } .hc-rink .rk-tok:has(.pc-c){ box-shadow:inset 0 -2px 0 var(--k202); }
.hc-rink .rk-tok:has(.pc-rw){ box-shadow:inset 0 -2px 0 var(--k190); } .hc-rink .rk-tok:has(.pc-ld){ box-shadow:inset 0 -2px 0 var(--k203); }
.hc-rink .rk-tok:has(.pc-rd){ box-shadow:inset 0 -2px 0 var(--k204); }
.hc-rink .rk-tok.me{ outline:1px solid var(--red); outline-offset:-1px; }
/* bb-v434 You card header */
.hc-mesub{ font:600 15px/1.15 var(--teko); letter-spacing:.04em; color:var(--ink-2); margin:-2px 0 8px; white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:break-word; }
.hc-sm{ display:block; font:600 9.5px/1.1 var(--raj); letter-spacing:.08em; text-transform:uppercase; color:var(--mute); margin-top:1px; }
.hc-a .hc-sm{ font:600 8.5px/1.1 var(--raj) !important; letter-spacing:.06em !important; color:var(--mute) !important; white-space:nowrap; margin-top:1px !important; }
.hc-a .hc-sm{ white-space:normal !important; text-align:center; font-size:9px !important; }

/* bb-v438: Scout > Opponent clear (X) inside the search field */
.bb-oppx-wrap{ position:relative; }
.bb-oppx-wrap input.bb-oppx-in{ padding-right:52px; }
.bb-oppx{ position:absolute; top:50%; right:2px; transform:translateY(-50%); width:44px; height:44px; display:flex; align-items:center; justify-content:center;
  background:transparent; border:0; padding:0; margin:0; cursor:pointer; -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.bb-oppx[hidden]{ display:none; }
.bb-oppx span{ width:26px; height:26px; border-radius:50%; background:var(--k205); border:1px solid var(--k206); color:var(--k207); font:800 18px/24px Rajdhani,Inter,system-ui,sans-serif; text-align:center; }
.bb-oppx:active span, .bb-oppx:focus-visible span{ background:var(--k208); border-color:var(--k208); color:var(--k105); }
.bb-oppx:focus-visible{ outline:2px solid var(--k208); outline-offset:-4px; border-radius:10px; }
/* bb-v441 (Mike, Oct 14 12:05 AM): section labels on every tab are bigger, bolder, white with a brand-red accent bar, same spacing everywhere.
   Only section-level labels: panel kicks, card titles, eyebrows, first .label of a card. In-card stat captions (Division, Set points…) keep their size. */
.ch-kick:not(.hc-updk), .home-club-rank .cr-head .cr-title, .fm-eyebrow,
section.card > .label:first-child, .ch-panel > .label:first-child, section.card > .row:first-child > div:first-child > .label:first-child{
  font:700 15px/1.2 var(--raj) !important; letter-spacing:.12em !important; text-transform:uppercase; color:var(--k20) !important; opacity:1 !important;
  border-left:4px solid var(--red); padding-left:10px; margin:0 0 12px !important; min-width:0; overflow-wrap:anywhere;
}
.ch-kick:not(.hc-updk) > span + span{ font-size:12px; letter-spacing:.1em; color:var(--mute); font-weight:600; flex:0 0 auto; }
.home-club-rank .cr-head{ padding-bottom:10px; }
.home-club-rank .cr-head .cr-title{ margin:0 !important; }
.sos-canon{ display:grid; gap:2px; margin:10px 0 12px; padding:10px 12px; border:1px solid var(--line); border-left:4px solid var(--red); background:var(--well); }
.sos-canon span{ font:700 12px/1.2 var(--raj); letter-spacing:.12em; text-transform:uppercase; color:var(--mute); }
.sos-canon b{ font:700 30px/1 var(--teko); color:var(--k20); }
.sos-canon i{ font-style:normal; font-size:11px; color:var(--mute); }

/* bb-v447 sheet close */
.idgate-card{position:relative}.idgate-card>.bb-sheet-x{position:absolute;top:10px;right:10px;z-index:3;min-height:36px}
.idgate-card>.bb-sheet-x+.eyebrow,.idgate-card>.bb-sheet-x~h1{padding-right:96px}

/* bb-v447 Scout v2 (ported from scout-v2 demo) + Key player */
.s2-card{padding:16px 14px}.s2-sec{font:900 20px/1.1 system-ui,-apple-system,sans-serif;letter-spacing:.06em;color:var(--k20);border-left:5px solid var(--red,var(--k12));padding-left:10px;margin:0 0 12px}
.s2-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-end}.s2-big{font:900 64px/0.9 system-ui;color:var(--k20)}.s2-big small{font-size:28px}.s2-cap{color:var(--ink-2,var(--k9));font-size:13px;margin:4px 0 10px}
.s2-eq{display:grid;grid-template-columns:auto auto;gap:2px 8px;font-size:12px;color:var(--ink-2,var(--k9));text-align:right}.s2-eq b{color:var(--k20);font-weight:800}.s2-eqt{border-top:1px solid var(--k209);padding-top:2px}
.s2-legend{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-2,var(--k9));margin:6px 0 4px;text-transform:uppercase;letter-spacing:.04em}
.s2-g{border-top:1px solid var(--k124);padding:10px 0}.s2-g summary{list-style:none;cursor:pointer}.s2-g summary::-webkit-details-marker{display:none}
.s2-gh{display:flex;justify-content:space-between;align-items:baseline}.s2-gl{font-weight:800;font-size:16px;color:var(--k20)}.s2-pt{font:900 18px system-ui}
.up{color:var(--k210)}.dn{color:var(--k211)}.s2-gs{font-size:12px;color:var(--ink-2,var(--k9));margin-top:4px}
.s2-bar{position:relative;height:10px;border-radius:5px;background:var(--k119);margin:6px 0 2px}.s2-mid{position:absolute;left:50%;top:-2px;bottom:-2px;width:2px;background:var(--k212)}
.s2-fill{position:absolute;top:0;bottom:0;border-radius:5px}.s2-fill.up{background:linear-gradient(90deg,var(--k213),var(--k210))}.s2-fill.dn{background:linear-gradient(270deg,var(--k13),var(--k214))}
.s2-li{display:flex;justify-content:space-between;gap:10px;padding:8px 0 0 10px;font-size:14px;color:var(--k20)}.s2-li small{color:var(--ink-2,var(--k9));font-size:12px}
.s2-foot{font-size:12px;color:var(--ink-2,var(--k9));margin:12px 0 0;line-height:1.4}
.s2-team{display:flex;width:100%;justify-content:space-between;align-items:center;background:var(--k114);border:1px solid var(--k215);border-radius:14px;padding:12px 14px;color:var(--k20);margin:0 0 12px;text-align:left;min-height:56px}
.s2-team small{display:block;color:var(--ink-2,var(--k9));font-size:12px;margin-top:2px}.s2-chev{color:var(--gold,var(--k14));font-weight:800;white-space:nowrap}
.s2-sk{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--k119)}
.s2-seat{display:inline-flex;justify-content:center;align-items:center;height:30px;border-radius:8px;font:900 13px system-ui;background:var(--k216);color:var(--k20)}.s2-LD,.s2-RD{background:var(--k217)}.s2-G{background:var(--k218);color:var(--gold,var(--k14))}
.s2-nm{min-width:0}.s2-nm b{display:block;color:var(--k20);font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s2-nm small,.s2-st small{display:block;color:var(--ink-2,var(--k9));font-size:11px}.s2-st{text-align:right}.s2-st b{color:var(--k20)}
.s2-btn{width:100%;min-height:48px;margin-top:12px;border-radius:12px;border:0;background:var(--red,var(--k12));color:var(--k105);font:900 14px system-ui;letter-spacing:.05em}.s2-btn.sec{background:var(--k124)}
.s2-l5{display:flex;gap:8px}.s2-r{flex:1;text-align:center;border-radius:10px;padding:8px 0;background:var(--k216)}.s2-r b{display:block;font:900 16px system-ui}.s2-r small{color:var(--ink-2,var(--k9))}.s2-W b{color:var(--k210)}.s2-L b,.s2-OTL b{color:var(--k211)}
.s2-key .s2-kp{border-top:1px solid var(--k124);padding:10px 0}.s2-kp-h{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center}.s2-kp-k{display:flex;gap:16px;margin:6px 0 0 50px;font-size:13px;color:var(--ink-2,var(--k9))}.s2-kp-k b{color:var(--k20);font-size:15px}.s2-kp-line{margin:6px 0 0 50px;font-size:14px;color:var(--k20);font-weight:600;line-height:1.35}.s2-hot{font-style:normal;color:var(--k219);font-weight:800}
.s2-modes{display:flex;gap:8px;margin:0 0 12px}.s2-modes button{flex:1;min-height:44px;border-radius:12px;border:1px solid var(--k220);background:var(--k118);color:var(--ink-2,var(--k9));font:800 14px system-ui;letter-spacing:.04em}.s2-modes button.on{background:var(--red,var(--k12));border-color:transparent;color:var(--k105)}
.bb-fn-chip.is-playing{outline:2px solid var(--k221);outline-offset:-2px;background:var(--k222)}

/* bb-smpro · broadcast shot map (demo) */
.sm-maps{gap:12px}
.smp-rink,.smp-netsvg{font-family:var(--raj)}
.smp-board{fill:none;stroke:var(--k223);stroke-width:.55}
.smp-red{stroke:var(--k224);stroke-width:.4;fill:none;opacity:.8}.smp-red.t{stroke-width:.28;opacity:.55}
.smp-blue{fill:var(--k225);opacity:.75}
.smp-dot{fill:var(--k224);opacity:.7}
.smp-crease{fill:var(--k226);stroke:var(--k224);stroke-width:.28}
.smp-net{fill:var(--k227);stroke:var(--k224);stroke-width:.45}
.smp-heat{opacity:.95}
.smp-hit{cursor:pointer;stroke:transparent;stroke-width:.5;transition:stroke .2s}
.smp-hit.sm-sel{stroke:var(--k228);stroke-dasharray:1.2 .8;fill-opacity:.06}
.smp-chip rect{fill:var(--k229);stroke:var(--k230);stroke-width:.22}
.smp-chip.on rect{stroke:var(--k117)}
.smp-n{fill:var(--k231);font-size:3.05px;font-weight:700;letter-spacing:.02em}
.smp-n{text-anchor:middle}
.smp-p{fill:var(--k232);font-size:2.35px;font-weight:600}
.smp-m{fill:none;stroke:var(--k233);stroke-width:.32}
.smp-m.g{fill:var(--k117);stroke:var(--k234);stroke-width:.18}
.smp-m.n{stroke-width:.45}.smp-m.n.g{stroke-width:.25}
.smp-more{fill:var(--k232);font-size:1.9px;font-weight:700;dominant-baseline:central}
.smp-more.n{font-size:2.8px}
.smp-tr{fill:none;stroke:var(--k235);stroke-width:.22;stroke-linecap:round;stroke-dasharray:1;opacity:.35}
.smp-tr.g{stroke:var(--k117);opacity:.55}
.smp-cell{cursor:pointer;stroke:var(--k227);stroke-width:.4}
.smp-cell.sm-sel{stroke:var(--k20);stroke-width:.7}
.smp-nv{fill:var(--k20);font:700 8.5px/1 var(--teko);text-anchor:middle;dominant-baseline:central;letter-spacing:.02em}
.smp-nv.f{font-size:5.4px}
.smp-ns{fill:var(--k236);font-size:3.6px;font-weight:600;text-anchor:middle;dominant-baseline:central}
.smp-post{fill:none;stroke:var(--k237);stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}
.smp-icel{stroke:var(--k238);stroke-width:.6}
.smp-lamp{fill:var(--k239);stroke:var(--k240);stroke-width:.5}
.smp-leg{opacity:.9;font:600 11px/1 var(--raj);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.smp-leg i{flex:0 1 120px;height:6px;background:linear-gradient(90deg,var(--k241),var(--k242),var(--k243),var(--k244),var(--k245),var(--k246))}
.smp-leg em{gap:6px}
.smp-leg .smp-k{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--k233);display:inline-block;box-sizing:border-box;margin-left:6px}
.smp-leg .smp-k.g{background:var(--k117);border-color:var(--k234);margin-left:0}
.smp-tg.on{background:var(--k247);border-color:var(--k117);color:var(--k117)}
.sm-a-calm .smp-h{animation:smHeat .8s ease-out both}
.sm-a-live .smp-h{animation:smHeat .6s ease-out both}
.sm-a-calm .smp-chip,.sm-a-live .smp-chip{animation:smHeat .45s ease-out both}
.sm-a-live .smp-m{animation:smPop .34s cubic-bezier(.2,1.6,.4,1) both;transform-box:fill-box;transform-origin:center}
.sm-a-live .smp-tr{animation:smDrawP .5s cubic-bezier(.4,0,.2,1) both}
@keyframes smDrawP{0%{stroke-dashoffset:1;opacity:.8}100%{stroke-dashoffset:0;opacity:.35}}
@media (max-width:640px){.sm-netw{max-width:320px}}
.smp-rink text,.smp-netsvg text,.smp-rink tspan{stroke:none!important;text-shadow:none!important;paint-order:normal}
.smp-rink .smp-m,.smp-netsvg .smp-m{stroke-opacity:1}
.smp-leg .smp-k{border-radius:50%!important;flex:none}
/* bb-smpro2 · shooter picker + zone pop-over */
.smp-who{display:flex;gap:4px;align-items:center;margin:6px 0 2px;padding:3px;background:var(--k114);border-radius:999px;width:max-content;max-width:100%}
.smp-wb{border:0;background:transparent;color:inherit;opacity:.72;font:600 12.5px/1 var(--raj);padding:7px 12px;border-radius:999px;min-height:30px;cursor:pointer}
.smp-wb.on,.smp-sel.on{background:var(--k8);color:var(--k248);opacity:1}
.smp-sel{border-radius:999px;display:inline-flex;min-width:0}
.smp-sel select{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:inherit;font:600 12.5px/1 var(--raj);padding:7px 22px 7px 12px;min-height:30px;max-width:150px;text-overflow:ellipsis;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 12px) 13px,calc(100% - 8px) 13px;background-size:4px 4px;background-repeat:no-repeat;cursor:pointer}
.smp-sel:not(.on) select{opacity:.72}
.smp-pop{position:absolute;z-index:5;width:212px;padding:12px 12px 10px;background:var(--k249);border:1px solid var(--k220);border-radius:12px;box-shadow:0 12px 32px var(--k250);font-family:var(--raj);animation:smHeat .18s ease-out both}
.smp-x{position:absolute;top:4px;right:4px;width:30px;height:30px;border:0;background:transparent;color:var(--mute);font-size:20px;line-height:1;cursor:pointer}
.smp-pk{font:600 10.5px/1 var(--raj);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.smp-pt{font:600 20px/1.1 var(--teko);letter-spacing:.05em;text-transform:uppercase;color:var(--ink);margin:3px 0 8px}
.smp-ps{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.smp-ps>div{background:var(--k114);border-radius:8px;padding:6px 4px;text-align:center}
.smp-ps b{display:block;font:600 22px/1 var(--teko);color:var(--k20)}
.smp-ps span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.smp-delta{display:inline-block;margin-top:8px;font:700 11.5px/1 var(--raj);padding:4px 8px;border-radius:999px;background:var(--k119);color:var(--ink-2)}
.smp-delta.up{background:var(--k251);color:var(--k252)}.smp-delta.dn{background:var(--k253);color:var(--k254)}
.smp-cmp{margin-top:8px;border-top:1px solid var(--k124);padding-top:6px}
.smp-pr{display:flex;align-items:baseline;gap:6px;font-size:12.5px;padding:2px 0;color:var(--ink-2)}
.smp-pr span{flex:1}.smp-pr b{color:var(--ink);font-weight:700}.smp-pr em{font-style:normal;color:var(--mute);font-size:11px;min-width:44px;text-align:right}
.smp-pn{margin:6px 0 0;font-size:10.5px;line-height:1.35;color:var(--mute)}
.sm-panel .smp-sel select{font:600 12.5px/1 var(--raj)!important;height:30px!important;min-height:30px!important;padding:0 22px 0 12px!important;margin:0!important;border:0!important;border-radius:999px!important;background-color:transparent!important;color:inherit!important;box-shadow:none!important;width:auto!important}
.sm-panel .smp-sel.on{background:var(--k8);color:var(--k248)}
.sm-panel label.smp-sel{background:transparent!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important;width:auto!important;min-height:0!important;font-size:12.5px!important}
.sm-panel label.smp-sel.on{background:var(--k8)!important;color:var(--k248)!important}

/* bb-hotfix-noemoji */
#chat-emoji-btn,#chat-emoji-panel{ display:none !important; }
.chat-compose #chatbody{ padding-right:4px !important; }

/* bb-v454 tapback lift (iMessage) */
#chatlog .rx-add{ display:none !important; }
#chatlog .message.rx-lifted .bubble, #chatlog .message.rx-lifted .rx-chips{ visibility:hidden; }
#chatlog .bubble{ -webkit-touch-callout:none; }
#chatlog .rx-quote{ display:block; margin:-2px -4px 6px; padding:5px 9px; border-left:3px solid var(--k255); border-radius:8px !important; background:var(--k256); font-size:.86em; opacity:.85; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rx-lift{ position:fixed; inset:0; z-index:2147483000; -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; }
.rx-scrim{ position:absolute; inset:0; background:var(--k257); -webkit-backdrop-filter:blur(14px) saturate(1.2); backdrop-filter:blur(14px) saturate(1.2); opacity:0; transition:opacity .18s ease; }
.rx-lift.in .rx-scrim{ opacity:1; }
.rx-ghost{ position:absolute; overflow:hidden; border-radius:18px !important; transform:translateY(var(--dy,0)); transition:transform .24s cubic-bezier(.2,.9,.3,1.15); filter:drop-shadow(0 10px 24px var(--k112)); }
.rx-ghost{ overflow:visible; }
.rx-ghost > .bubble{ max-width:none !important; width:100%; max-height:inherit; overflow:hidden; }
.rx-lift.in .rx-ghost{ transform:translateY(0) scale(1.035); }
.rx-ghost .rx-chips{ position:absolute; top:-15px; display:flex; }
.rx-lift.theirs .rx-ghost .rx-chips{ right:-12px; flex-direction:row-reverse; }
.rx-lift.mine .rx-ghost .rx-chips{ left:-12px; }
.rx-ghost .rx-chip{ height:28px; min-width:28px; padding:0 6px; border-radius:14px !important; border:2px solid var(--k101); background:var(--k106); color:var(--k20); margin:0 -5px; display:inline-flex; align-items:center; justify-content:center; font-size:14px; }
.rx-ghost .rx-chip.mine{ background:var(--k104); } .rx-ghost .rx-n.one{ display:none; } .rx-ghost .rx-n{ font:700 11px/1 system-ui,sans-serif; }
.rx-tb{ position:absolute; display:flex; gap:2px; padding:5px 7px; border-radius:30px !important; background:var(--k258); box-shadow:0 8px 28px var(--k110) !important; transform:scale(.4) translateY(14px); opacity:0; transform-origin:30px 100%; transition:transform .26s cubic-bezier(.2,.9,.3,1.25), opacity .14s; }
.rx-lift.mine .rx-tb{ transform-origin:calc(100% - 30px) 100%; }
.rx-lift.in .rx-tb{ transform:none; opacity:1; }
.rx-tb-b{ width:44px; height:44px; border:0; border-radius:50% !important; background:transparent; padding:0; display:grid; place-items:center; cursor:pointer; touch-action:manipulation; -webkit-tap-highlight-color:transparent; transition:background .12s, transform .12s; }
.rx-tb-b span{ font-size:26px; line-height:1; display:block; transform:scale(.3); transition:transform .3s cubic-bezier(.2,.9,.3,1.4); transition-delay:calc(var(--i) * 22ms + 40ms); }
.rx-lift.in .rx-tb-b span{ transform:none; }
.rx-tb-b.on{ background:var(--k104); }
.rx-tb-b:active span, .rx-tb-b.pop span{ transform:scale(1.3) !important; transition-delay:0s; }
.rx-tb-b:focus-visible{ outline:2px solid var(--k104); outline-offset:2px; }
.rx-menu{ position:absolute; min-width:212px; border-radius:14px !important; overflow:hidden; background:var(--k259); box-shadow:0 10px 30px var(--k110) !important; transform:scale(.6); opacity:0; transform-origin:24px 0; transition:transform .22s cubic-bezier(.2,.9,.3,1.15), opacity .14s; }
.rx-lift.mine .rx-menu{ transform-origin:calc(100% - 24px) 0; }
.rx-lift.in .rx-menu{ transform:none; opacity:1; }
.rx-menu button{ display:flex; width:100%; align-items:center; justify-content:space-between; gap:18px; min-height:46px; padding:0 16px; border:0; background:transparent; color:var(--k20); font:400 17px/1 -apple-system,BlinkMacSystemFont,system-ui,sans-serif; text-align:left; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.rx-menu button + button{ border-top:.5px solid var(--k220); }
.rx-menu button:active{ background:var(--k260); }
.rx-menu i{ font-style:normal; font-size:18px; opacity:.9; }
.rx-lift.out .rx-scrim, .rx-lift.out .rx-tb, .rx-lift.out .rx-menu{ opacity:0; transition:opacity .16s; }
.rx-lift.out .rx-ghost{ transform:translateY(var(--dy,0)); }
.rx-toast{ position:fixed; left:50%; top:42%; transform:translate(-50%,-50%); z-index:2147483001; padding:12px 20px; border-radius:14px !important; background:var(--k261); color:var(--k20); font:600 15px/1 system-ui,sans-serif; pointer-events:none; animation:rxToast 1.3s ease forwards; }
@keyframes rxToast{ 0%{opacity:0;transform:translate(-50%,-50%) scale(.9)} 12%,75%{opacity:1;transform:translate(-50%,-50%) scale(1)} 100%{opacity:0} }
.rx-replying{ display:flex; align-items:center; gap:8px; width:100%; padding:6px 10px; margin-bottom:6px; border-left:3px solid var(--k104); border-radius:8px !important; background:var(--k227); font:13px/1.3 system-ui,sans-serif; flex-basis:100%; }
.rx-replying span{ flex:1; min-width:0; display:flex; flex-direction:column; } .rx-replying em{ font-style:normal; opacity:.75; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rx-replying button{ border:0; background:transparent; color:inherit; font-size:20px; width:32px; height:32px; cursor:pointer; }
@media (prefers-reduced-motion:reduce){ .rx-ghost,.rx-tb,.rx-menu,.rx-tb-b span,.rx-scrim{ transition:none !important; } }

/* bb-v488 · Who's skating best (Home) */
.hc-best{ margin:0 0 10px; }
.sb-it{ margin:0 0 5px; }
.sb-row{ grid-template-columns:30px minmax(0,1fr) 34px 10px !important; margin:0 !important; cursor:pointer; }
.sb-rk{ font:700 22px/1 var(--teko); color:var(--ink-2); text-align:center; }
.sb-rk.tie{ font-size:17px; }
.sb-row .wg-L{ order:0; }
.sb-chev{ transition:transform .15s; } .sb-it.open .sb-chev{ transform:rotate(90deg); }
.sb-it.open .sb-row{ box-shadow:inset 0 0 0 1px var(--k262); }
.sb-pn{ background:var(--well); border:1px solid var(--line); border-top:0; padding:8px 12px 10px; margin:0 0 2px; }
.sb-pn-top{ display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--ink-2); font-size:13px; }
.sb-x{ min-width:44px; min-height:44px; margin:-8px -8px -8px 0; background:none; border:0; color:var(--ink); font-size:26px; line-height:1; cursor:pointer; }
.sb-odt{ display:flex; gap:14px; flex-wrap:wrap; margin:2px 0 8px; font-size:13px; color:var(--ink-2); } .sb-odt b{ color:var(--ink); font:700 18px/1 var(--teko); margin-left:3px; }
.sb-wh-h{ font:600 13px/1 var(--teko); letter-spacing:.14em; text-transform:uppercase; margin:10px 0 4px; } .sb-wh-h.up{ color:var(--k263); } .sb-wh-h.dn{ color:var(--k19); }
.sb-wh{ list-style:none; margin:0; padding:0; } .sb-wh li{ display:flex; flex-wrap:wrap; gap:4px 8px; align-items:baseline; font-size:14px; padding:3px 0; } .sb-wh li span{ font-weight:700; } .sb-wh li i{ font-style:normal; color:var(--mute); font-size:12px; }
.sb-fine{ margin:10px 0 0; font-size:11.5px; color:var(--mute); }
.sb-thin{ font:600 12px/1 var(--teko); letter-spacing:.14em; text-transform:uppercase; color:var(--mute); margin:10px 0 5px; }
.sb-cap{ margin-top:6px; }
@media (min-width:900px){ .hc-best{ max-width:none; } }

/* bb-v489 multi-position ranking */
.sb-parts{ display:flex; flex-direction:column; gap:6px; margin:2px 0 6px; } .sb-part{ display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px; font-size:13px; color:var(--ink-2); }
.sb-part>b{ color:var(--ink); font-weight:700; } .sb-part em{ font:700 20px/1 var(--teko); font-style:normal; color:var(--ink); } .sb-part .sb-sub{ flex-basis:100%; font-size:12px; } .sb-part .sb-sub b,.sb-tp b{ color:var(--ink); font:700 16px/1 var(--teko); margin-left:2px; }
.sb-how{ margin:0 0 8px; font-size:12px; color:var(--ink-2); } .sb-pt-h{ font:600 14px/1 var(--teko); letter-spacing:.1em; text-transform:uppercase; margin:12px 0 0; color:var(--ink); border-top:1px solid var(--k124); padding-top:8px; }
.sb-comb{display:flex;align-items:baseline;gap:8px;margin:2px 0 6px;font-size:13px;color:var(--ink-2)}.sb-comb em,.sb-part em{font-style:normal}.sb-comb em{font:700 24px/1 var(--teko);color:var(--ink)}.sb-sc{font-size:12px;color:var(--ink-2)}

/* bb-v498: Standards sheet category pager + slide */
.dd-body{ touch-action:pan-y; overflow-x:hidden; }
.dd-pager{ display:flex; align-items:center; gap:4px; margin-top:12px; }
.dd-pg{ display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:0 8px; flex:1 1 0; justify-content:center; background:none; border:0; color:var(--mute); font:600 12px var(--raj); letter-spacing:.14em; text-transform:uppercase; }
.dd-pg i{ width:8px; height:8px; border-radius:50%; background:var(--dim); display:inline-block; }
.dd-pg.on{ color:var(--ink); } .dd-pg.on i{ background:var(--red); width:18px; border-radius:4px; }
.dd-pg-hint{ margin-left:auto; font:600 11px var(--raj); letter-spacing:.14em; text-transform:uppercase; color:var(--dim); font-style:normal; }
@keyframes ddSlN{ from{ transform:translateX(28%); opacity:0 } to{ transform:none; opacity:1 } }
@keyframes ddSlP{ from{ transform:translateX(-28%); opacity:0 } to{ transform:none; opacity:1 } }
.dd-body.dd-slide-n{ animation:ddSlN .22s ease-out; } .dd-body.dd-slide-p{ animation:ddSlP .22s ease-out; }
@media (prefers-reduced-motion:reduce){ .dd-body.dd-slide-n,.dd-body.dd-slide-p{ animation:none; } }
.dd-pg-hint{ display:none; }
.ch-seg button .ch-tabsub{ display:block; margin-top:3px; font:500 11px/1 var(--teko); letter-spacing:.12em; opacity:.7 }
