/* mc-page.css - Match Centre's page styles, lifted out of matchcentre.html on
 * 2026-08-11 for the same reason as mc-page.js: 77 KB of inline CSS that no
 * browser could keep. The <link> replaces it in place, so cascade order - which
 * later rules in the page still override - is unchanged.
 */

  
  * { box-sizing:border-box; margin:0; }
  body { background:var(--bg); color:var(--ink); font-family:Archivo,Manrope-FB,Manrope-FB-R,Manrope-FB-A,sans-serif; }
  .mono { font-family:"Spline Sans Mono",monospace; font-variant-numeric:tabular-nums lining-nums; }
  .wrap { max-width:1500px; margin:0 auto; padding:24px 22px 60px; }
  header.bar {
    display:flex; flex-wrap:wrap; align-items:center; column-gap:12px; row-gap:8px; padding:12px 8px 12px;
    border-bottom:1px solid rgba(198,146,0,.18); height:auto; min-height:0; overflow:visible; margin-top:0; margin-bottom:14px;
  }
  .wordmark { font-weight:800; font-size:1.72rem; order:1; line-height:1; color:var(--ink); padding-left:4px; }
  .chip20 { background:#c692001f; color:#8a6500; border:1px solid #c6920066; border-radius:999px; padding:3px 10px; font-size:.66rem; font-weight:800; letter-spacing:.11em; }
  .topnav { order:3; flex:0 0 100%; width:100%; display:flex; flex-wrap:wrap; gap:4px; margin-left:0; margin-top:4px; }
  .topnav a { white-space:nowrap; text-decoration:none; color:var(--muted); font-weight:800; font-size:.84rem; padding:6px 11px; border-radius:10px; }
  .topnav a:hover { color:var(--ink); background:var(--track); }
  .topnav a.active { color:var(--gold); background:#c692001a; }
  .themeBtn { margin-left:auto; border:1px solid var(--line); background:var(--card); cursor:pointer; width:40px; height:40px; order:2; border-radius:11px; font-size:1.05rem; line-height:1; }
  .themeBtn:hover { background:var(--soft); }
  input, select { color:var(--ink); }
  select option { background:var(--card); color:var(--ink); }
  input::placeholder { color:var(--muted); opacity:1; }
  .card { background:var(--card); border-radius:16px; box-shadow:0 0 0 1px var(--line), 0 10px 30px rgba(15,23,42,.05); }
  .hero { padding:28px 30px; display:grid; grid-template-columns:1fr minmax(420px,.75fr); gap:28px; align-items:center; }
  /* Selected-match hero wears the thin gold ring (same recipe as the venue hero + the
     active league tab). !important because dc-mobile.css sets .card box-shadow with
     !important; var(--shadow) keeps dc-mobile's theme-aware depth, with a fallback. */
  .card.hero { box-shadow:0 0 0 1.5px var(--gold), var(--shadow, 0 10px 30px rgba(15,23,42,.05)) !important; }
  .eyebrow { color:var(--gold); font-size:.72rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
  h1 { font-size:2.55rem; line-height:1.02; font-weight:800; letter-spacing:0; margin-top:7px; }
  /* match-header team crests · coloured monograms flank each team name */
  /* #type-v1 · match title wears the display serif (names of things rule);
     the tiny caps VS separator stays Archivo like every other caps label. */
  #title { display:flex; align-items:center; gap:8px 14px; flex-wrap:wrap; font-family:var(--font-display,Georgia,serif); font-optical-sizing:auto; letter-spacing:var(--track-display,-.012em); font-size:clamp(1.2rem, 3vw, 1.6rem); line-height:1.12; }
  /* #52 · crest + name as one unit: the badge sits inline BEFORE the name and they
     wrap together (long names may wrap their text, but the crest never orphans). */
  #title .mcTeamUnit { display:inline-flex; align-items:center; gap:12px; max-width:100%; min-width:0; }
  #title .mcTNm { font-weight:var(--wt-title,620); min-width:0; overflow-wrap:anywhere; }
  #title .mcVs { color:var(--muted); font-family:Archivo,Manrope-FB,Manrope-FB-R,Manrope-FB-A,sans-serif; font-weight:800; font-size:.38em; letter-spacing:.12em; text-transform:uppercase; align-self:center; }
  #title .dcCrest { width:clamp(26px, 5vw, 34px); height:clamp(26px, 5vw, 34px); font-size:1rem; }
  .sub { color:var(--muted); font-size:1rem; margin-top:8px; line-height:1.45; }
  .result { margin-top:18px; padding-left:14px; border-left:3px solid var(--gold); color:var(--ink); font-weight:800; font-size:1.06rem; }
  .controls { display:grid; grid-template-columns:1fr 170px; gap:14px; align-items:end; }
  .ctl { position:relative; }
  .ctl label { color:var(--gold); font-size:.66rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; display:block; margin-bottom:7px; }
  .ctl input, .ctl select { width:100%; background:var(--field); border:1px solid var(--line); border-radius:13px; padding:13px 16px; font:inherit; font-weight:800; }
  .ctl input:focus, .ctl select:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 3px #c6920026; }
  .matchMenu { position:absolute; z-index:40; top:calc(100% + 8px); left:0; width:100%; max-height:360px; overflow:auto; overflow-x:hidden; background:var(--card); border:1px solid var(--line); border-radius:13px; box-shadow:0 18px 42px rgba(15,23,42,.2); padding:5px; }
  .matchMenu.hidden { display:none; }
  #standingsPanel.hidden { display:none; }
  .ctlInline { min-width:150px; }
  .ctlInline select { width:100%; background:var(--field); border:1px solid var(--line); border-radius:11px; padding:9px 13px; font:inherit; font-weight:800; color:var(--ink); }
  .ctlInline select:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 3px #c6920026; }
  .standTeam { display:flex; align-items:center; gap:8px; }
  .standTeam .pos { color:var(--muted); font-weight:800; font-size:.78rem; min-width:16px; }
  .standingsNote { margin-top:12px; }
  /* ---- #86 · Points-table TAB (match room) ---- */
  #pointsSec.hidden { display:none; }
  .ptGrid { align-items:start; }
  .ptGrid.pt1 { grid-template-columns:1fr; }          /* single table (league / one pool) */
  .ptTable td, .ptTable th { white-space:nowrap; }
  .ptTable .standTeam a { color:inherit; text-decoration:none; border-bottom:1px solid color-mix(in srgb, var(--gold) 40%, transparent); }
  .ptTable .standTeam a:hover { color:var(--gold); }
  .ptTable td.ptPts { color:var(--gold); font-weight:900; }
  .ptTable td.ptNrrPos { color:#16a34a; font-weight:700; }
  .ptTable td.ptNrrNeg { color:#dc2626; font-weight:700; }
  /* THIS match's two sides: gold-tinted row so the reader instantly finds the
     matchup inside the table (world-class touch: table answers "where did these
     two sit?" at a glance). */
  .ptTable tr.ptMine td { background:linear-gradient(90deg, rgba(198,146,0,.13), rgba(198,146,0,.04)); }
  .ptTable tr.ptMine td:first-child { box-shadow:inset 3px 0 0 var(--gold); }
  .ptTable tr.ptShort td { opacity:.62; }             /* side missing a source fixture (honesty guard) */
  .ptStage { display:inline-block; margin-left:10px; padding:2px 10px; border-radius:999px; font-size:.66rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; color:var(--gold); background:rgba(198,146,0,.12); border:1px solid rgba(198,146,0,.35); vertical-align:middle; }
  #trophySummaryPanel.hidden { display:none; }
  .tsCard { padding:22px 24px; }
  /* Bilateral hero = ONE compact scoreboard. Grid, not wrapping flex: the two sides
     of a rivalry must stay a visual PAIR at every width (the old flex layout wrapped
     teamB under the match count on phones, pairing a team with an unrelated number).
     Order is deliberate: comparison first, win-share bar, then the match total
     demoted to a secondary line BELOW it (founder call, 2026-07-28). */
  .tsDuel { max-width:520px; margin:0 auto; }
  .tsDuelRow { display:grid; grid-template-columns:1fr auto 1fr; gap:12px; }
  .tsSide { min-width:0; }
  .tsSide.b { text-align:right; }
  .tsSideName { display:flex; align-items:center; gap:7px; font-weight:800; font-size:.88rem; margin-bottom:5px; min-width:0; }
  .tsSideName span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .tsSide.b .tsSideName { justify-content:flex-end; }
  .tsDuelNum { font-size:2.15rem; font-weight:900; line-height:1; color:var(--gold); }
  .tsSide.b .tsDuelNum { color:#2563eb; }
  .tsDuelWon { color:var(--muted); font-size:.64rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; margin-top:4px; }
  .tsVs { align-self:center; display:flex; color:var(--muted); font-size:.8rem; }
  /* win-share bar: gold = teamA wins, blue = teamB wins, grey = drawn and other.
     Same colour code as the rivalry timeline chart, so hero and chart read as one
     system. Purely proportional display of the numbers already on the page. */
  .tsShare { display:flex; height:6px; border-radius:999px; overflow:hidden; background:var(--soft); margin:12px 0 9px; }
  .tsShare i { display:block; height:100%; }
  .tsShare .sA { background:var(--gold); }
  .tsShare .sD { background:rgba(148,163,184,.45); }
  .tsShare .sB { background:#2563eb; }
  .tsTotal { text-align:center; color:var(--muted); font-size:.8rem; font-weight:700; }
  .tsTotal b { color:var(--ink); font-weight:900; }
  @media (min-width:641px) { .tsDuel { max-width:560px; } .tsDuelNum { font-size:2.6rem; } }
  /* multi-team tournament summary: 3 plain stat tiles (editions / matches / most titles) */
  .tsH2H { display:flex; align-items:center; justify-content:center; gap:22px; flex-wrap:wrap; text-align:center; }
  .tsBig { font-size:2.35rem; font-weight:900; color:var(--gold); line-height:1; }
  .tsMulti { gap:34px; }
  .tsStat { flex:0 1 160px; min-width:110px; }
  .tsStat .tsBig { font-size:1.9rem; }
  .tsLbl { color:var(--muted); font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-top:4px; }
  /* fact grid replaces the four stacked pills: label-over-value tiles, two per row
     on phones, one row on desktop. Same facts, roughly half the height. */
  .tsMeta { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:8px; margin-top:14px; }
  .tsFact { background:var(--soft); border:1px solid var(--line); border-radius:11px; padding:7px 11px; min-width:0; }
  .tsFactL { color:var(--muted); font-size:.6rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .tsFactV { color:var(--muted); font-size:.8rem; font-weight:700; margin-top:2px; }
  .tsFactV b { color:var(--ink); font-weight:800; }
  .tsFactV .gold { color:var(--gold); }
  /* #trophySumChart id form: the page's generic ".chart{height:360px}" rule (and its
     280px mobile override) share ".tsChart"'s specificity and sit later in the
     stylesheet, so they'd otherwise win the cascade and override this height. */
  #trophySumChart.tsChart { height:260px; margin-top:20px; }
  .tsEditions { margin-top:18px; border-top:1px solid var(--line); }
  .tsEdRow { display:flex; align-items:center; gap:14px; padding:11px 2px; border-bottom:1px solid var(--line); }
  .tsEdRow:last-child { border-bottom:0; }
  .tsEdYear { flex:0 0 92px; color:var(--gold); font-weight:800; font-size:.86rem; }
  .tsEdBody { flex:1; display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 14px; min-width:0; }
  .tsEdBody b { font-weight:800; }
  .tsEdBody span { color:var(--muted); font-size:.78rem; white-space:nowrap; }
  .tsUnresolved { color:var(--muted); font-style:italic; }
  .tsRead { margin-top:18px; padding-top:16px; border-top:1px solid var(--line); color:var(--text2); line-height:1.65; font-size:.92rem; }
  @media (max-width:640px) {
    .tsCard { padding:18px 16px; }
    .tsH2H { gap:14px; }
    .tsBig { font-size:1.85rem; }
    .tsEdRow { flex-wrap:wrap; }
    .tsEdYear { flex-basis:100%; }
    #trophySumChart.tsChart { height:235px; }
  }
  .matchOpt { width:100%; border:0; background:transparent; color:var(--ink); cursor:pointer; padding:10px 12px; border-radius:9px; font:inherit; text-align:left; display:flex; justify-content:space-between; gap:10px; align-items:baseline; }
  .matchOpt:hover, .matchOpt.active { background:var(--soft); }
  /* Find-a-match browsable list kept out of the primary view; use Change match overlay instead */
  #matchListSection { display:none !important; height:0 !important; margin:0 !important; padding:0 !important; overflow:hidden !important; }
  .mcMatchList { display:grid; grid-template-columns:repeat(auto-fill,minmax(224px,1fr)); gap:10px; margin:4px 0 2px; }
  .mlCard { display:flex; flex-direction:column; gap:4px; text-align:left; padding:9px 12px; border:1px solid var(--line); border-radius:12px; background:var(--field); color:var(--ink); cursor:pointer; font:inherit; transition:border-color .15s, box-shadow .15s, transform .1s; }
  .mlCard:hover { border-color:var(--gold); box-shadow:0 3px 12px rgba(198,146,0,.14); transform:translateY(-1px); }
  .mlCard.active { border-color:var(--gold); box-shadow:inset 0 0 0 1px var(--gold); }
  .mlDate { font-size:.7rem; font-weight:700; color:var(--muted); letter-spacing:.02em; }
  .mlTeams { display:flex; align-items:center; gap:5px; font-size:.9rem; font-weight:700; flex-wrap:wrap; }
  .mlTeams .mlv { color:var(--muted); font-weight:600; }
  .mlRes { font-size:.74rem; color:var(--muted); }
  .mlVen { font-size:.66rem; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .matchOpt strong { font-size:.88rem; white-space:nowrap; flex:0 0 auto; }
  .matchOpt span { color:var(--muted); font-size:.72rem; font-weight:800; white-space:nowrap; min-width:0; overflow:hidden; text-overflow:ellipsis; }
  /* match-finder team timeline slider */
  .tlHead { display:flex; align-items:center; gap:8px; padding:7px 9px 9px; }
  .tlHead b { font-size:.98rem; } .tlHead span { color:var(--muted); font-size:.74rem; font-weight:800; }
  .tlHead .tlHint { margin-left:auto; color:var(--gold); }
  .tlStrip { display:flex; gap:9px; overflow-x:auto; padding:2px 4px 8px; scroll-snap-type:x proximity; }
  .tlCard { flex:0 0 auto; width:158px; border:1px solid var(--line); background:var(--field); color:var(--ink); border-radius:12px; padding:9px 11px; cursor:pointer; display:flex; flex-direction:column; gap:5px; text-align:left; scroll-snap-align:start; font:inherit; }
  .tlCard:hover { border-color:var(--gold); }
  .tlCard.active { border-color:var(--gold); background:var(--soft); }
  .tlDate { font-size:.7rem; color:var(--muted); font-weight:800; letter-spacing:.02em; }
  .tlOpp { font-size:.84rem; font-weight:800; display:flex; align-items:center; gap:5px; white-space:nowrap; }
  .tlRes { font-size:.68rem; color:var(--muted); line-height:1.35; min-height:2.6em; }
  .tlBadge { align-self:flex-start; font-size:.62rem; font-weight:900; padding:1px 8px; border-radius:999px; letter-spacing:.04em; }
  .tlWon { background:#16a34a22; color:#16a34a; } .tlLost { background:#dc262622; color:#dc2626; }
  .tlDraw { background:#64748b22; color:#64748b; } .tlTie { background:#c6920022; color:var(--gold); } .tlNr { background:#64748b22; color:#64748b; }
  .empty { padding:12px; color:var(--muted); font-size:.85rem; }
  /* Wider, responsive pills (was 5 narrow columns) so each sits horizontally with its
     value + sub on ONE line instead of stacking tall. */
  .quickGrid { display:grid; grid-template-columns:repeat(auto-fit, minmax(168px, 1fr)); gap:12px; margin-top:18px; }
  .quickGrid.quickGrid6 { grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); }
  /* ---- #86 · Limited-overs match-room SCORE HERO (replaces the flat KPI tiles):
     the two innings read as a scoreboard - crest + team, big mono score (winner
     gold), overs/RPO sub - then one chip row for target / toss / player of the
     match. Test keeps the classic per-innings KPI tiles (up to 4 innings). ---- */
  .mcScoreHero { grid-column:1 / -1; border:1px solid var(--line); border-radius:16px; background:var(--card); overflow:hidden; }
  .mshRow { display:flex; align-items:center; gap:11px; padding:14px 18px; border-bottom:1px solid var(--line); }
  .mshRow .av, .mshRow img.dcTeamBadge { flex:0 0 auto; }
  .mshTeam { font-weight:900; font-size:1.04rem; letter-spacing:.01em; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .mshInn { color:var(--muted); font-size:.64rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; flex:0 0 auto; }
  .mshScore { margin-left:auto; font-size:1.55rem; font-weight:900; line-height:1; flex:0 0 auto; }
  .mshScore i { font-style:normal; font-size:1rem; font-weight:800; color:var(--muted); }
  .mshWin .mshScore { color:var(--gold); }
  .mshWinTag { flex:0 0 auto; font-size:.62rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; color:#16a34a; background:#16a34a1c; border-radius:999px; padding:2px 9px; }
  .mshSub { color:var(--muted); font-size:.74rem; font-weight:700; white-space:nowrap; flex:0 0 auto; }
  .mshChips { display:flex; flex-wrap:wrap; gap:8px; padding:12px 16px; }
  .mshChip { border:1px solid var(--line); background:var(--soft); border-radius:999px; padding:6px 13px; font-size:.76rem; color:var(--muted); }
  .mshChip b { color:var(--ink); font-weight:800; }
  .mshChip.mshPom { cursor:pointer; border-color:rgba(198,146,0,.4); }
  .mshChip.mshPom:hover { border-color:var(--gold); color:var(--ink); }
  @media (max-width:640px) {
    .mshRow { flex-wrap:wrap; gap:8px; padding:12px 13px; row-gap:2px; }
    .mshScore { font-size:1.3rem; }
    .mshSub { flex-basis:100%; text-align:right; }
  }
  .kpi { padding:13px 16px; min-width:0; }
  .kpi .l { color:var(--muted); font-size:.64rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; line-height:1.2; }
  .kpi .vs { display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; margin-top:6px; }   /* value + sub on one line */
  .kpi .v { font-size:1.08rem; font-weight:800; line-height:1.15; overflow-wrap:break-word; white-space:nowrap; }
  .kpi .s { color:var(--muted); font-size:.68rem; font-weight:700; line-height:1.25; white-space:nowrap; }
  .kick { margin:30px 0 10px; display:flex; align-items:end; justify-content:space-between; gap:16px; }
  .kick .e { color:var(--gold); font-size:.7rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
  .kick .t { font-size:1.35rem; font-weight:800; }
  .note { color:var(--muted); font-size:.82rem; line-height:1.45; }
  .grid2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  .grid3 { display:grid; grid-template-columns:1.15fr .85fr; gap:16px; }
  .panel { padding:18px 20px; overflow:hidden; }
  .panelHead { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:12px; }
  .panelHead h2 { font-size:1.12rem; font-weight:800; }
  .panelHead p { color:var(--muted); font-size:.82rem; margin-top:3px; line-height:1.35; }
  .miniSel { background:var(--field); border:1px solid var(--line); border-radius:10px; padding:6px 10px; font:inherit; font-weight:800; font-size:.8rem; color:var(--ink); cursor:pointer; flex:0 0 auto; }
  .miniSel:focus { outline:none; border-color:var(--gold); }
  .scoreTitle { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border:1px solid var(--line); border-radius:13px; background:linear-gradient(180deg,var(--field),var(--card)); margin-bottom:12px; }
  .scoreTitle b { font-size:1rem; }
  .scLeft { display:flex; align-items:center; gap:9px; }
  .scTeam { font-size:1.06rem; font-weight:900; letter-spacing:.01em; }
  .scInn { font-size:.74rem; font-weight:800; color:var(--muted); letter-spacing:.04em; text-transform:uppercase; }
  .scRight { display:flex; align-items:baseline; gap:7px; white-space:nowrap; }
  .scoreTitle .total { color:var(--gold); font-size:1.25rem; font-weight:800; }
  .scOvers { color:var(--muted); font-size:.82rem; font-weight:700; }
  .scSub { font-size:.7rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:var(--muted); margin:14px 0 6px; padding-left:2px; }
  .scSub:first-child { margin-top:2px; }
  /* Test: one innings per row so each scorecard is followed by its own story. */
  #scorecards.scStack { grid-template-columns:1fr; }
  #scorecards:not(.scStack) { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:14px !important; align-items:stretch !important; }
  #scorecards:not(.scStack) > * { height:100%; }
  #scorecards .tableWrap { overflow-x:hidden !important; scrollbar-width:none; }
  #scorecards .tableWrap::-webkit-scrollbar { display:none; }
  #scorecards .tableWrap table { width:100% !important; min-width:0 !important; table-layout:fixed !important; }
  #scorecards .panel { padding:12px 13px !important; }
  #scorecards .scoreTitle { padding:10px 12px !important; margin-bottom:10px !important; }
  #scorecards .scoreTitle .total { font-size:1.08rem !important; }
  #scorecards .scSub { margin:10px 0 5px !important; font-size:.64rem !important; letter-spacing:.11em !important; }
  #scorecards .tableWrap th, #scorecards .tableWrap td { padding:6px 6px !important; overflow:hidden; text-overflow:ellipsis; }
  #scorecards .tableWrap th { font-size:.58rem !important; letter-spacing:.045em !important; }
  #scorecards .tableWrap td { font-size:.78rem !important; }
  #scorecards .nmCell { gap:6px !important; }
  #scorecards .av { width:22px !important; height:22px !important; }
  #scorecards .nmCell .scLink { max-width:128px !important; }
  /* batter names in the innings grid wrap to a second line instead of truncating;
   * the fixed 34% name column caps their width, so no horizontal scroll can return */
  #scorecards .nmStk .scLink { max-width:none !important; white-space:normal !important; overflow:visible !important; text-overflow:clip !important; }
  #scorecards .dis { font-size:.62rem !important; line-height:1.2 !important; }
  #scorecards .hpill { min-width:38px !important; padding:3px 6px !important; border-radius:8px !important; }
  #scorecards .mcBatSc table th:nth-child(1), #scorecards .mcBatSc table td:nth-child(1) { width:34% !important; }
  #scorecards .mcBatSc table th:nth-child(2), #scorecards .mcBatSc table td:nth-child(2),
  #scorecards .mcBatSc table th:nth-child(3), #scorecards .mcBatSc table td:nth-child(3) { width:12% !important; }
  #scorecards .mcBatSc table th:nth-child(4), #scorecards .mcBatSc table td:nth-child(4),
  #scorecards .mcBatSc table th:nth-child(5), #scorecards .mcBatSc table td:nth-child(5) { width:8% !important; }
  #scorecards .mcBatSc table th:nth-child(6), #scorecards .mcBatSc table td:nth-child(6) { width:18% !important; }
  #scorecards .mcBowlSc table th:nth-child(1), #scorecards .mcBowlSc table td:nth-child(1) { width:32% !important; }
  #scorecards .mcBowlSc table th:nth-child(2), #scorecards .mcBowlSc table td:nth-child(2),
  #scorecards .mcBowlSc table th:nth-child(3), #scorecards .mcBowlSc table td:nth-child(3),
  #scorecards .mcBowlSc table th:nth-child(4), #scorecards .mcBowlSc table td:nth-child(4),
  #scorecards .mcBowlSc table th:nth-child(5), #scorecards .mcBowlSc table td:nth-child(5) { width:10% !important; }
  #scorecards .mcBowlSc table th:nth-child(6), #scorecards .mcBowlSc table td:nth-child(6) { width:16% !important; }
  #scorecards .mcBowlSc table th:nth-child(7), #scorecards .mcBowlSc table td:nth-child(7) { width:12% !important; }
  #scorecards .mcPartSc .tableWrap th:nth-child(6), #scorecards .mcPartSc .tableWrap td:nth-child(6) { display:none !important; }
  #scorecards .mcPartSc .tableWrap th:nth-child(2), #scorecards .mcPartSc .tableWrap td:nth-child(2) { white-space:normal !important; min-width:0 !important; line-height:1.18; }
  #scorecards .mcPartSc .tableWrap th, #scorecards .mcPartSc .tableWrap td { font-size:.74rem !important; }
  /* Innings story rendered inside the scorecard, right below the tables. */
  .scStory { display:none !important; margin-top:14px; padding-top:12px; border-top:2px dashed var(--line); }
  .scStory .storyBody { font-size:.92rem; line-height:1.6; color:var(--ink); }
  .scStory .stSess { font-weight:800; color:var(--gold); margin:8px 0 2px; }
  .scStory .stBeat { margin:1px 0; }
  .scStory .stEnd { font-weight:800; margin-top:6px; }
  .tabRow { display:flex; gap:7px; flex-wrap:wrap; margin-bottom:12px; }
  .tabRow button { border:1px solid var(--line); background:var(--field); color:var(--muted); cursor:pointer; border-radius:999px; padding:8px 14px; font:inherit; font-size:.82rem; font-weight:800; }
  .tabRow button.active { background:#c692001a; color:var(--gold); border-color:#c6920066; }
  /* Partnerships · gold diverging bars (ported 1:1 from livematch.html so the two
     rooms read identically) + the gold innings chips (.teamTabs/.lmChip). */
  #pnBox { padding:14px 14px 8px; }
  .teamTabs { display:flex; gap:8px; margin:0 0 12px; flex-wrap:wrap; }
  .teamTabs .lmChip { flex:0 0 auto; display:inline-flex; align-items:center; gap:7px; cursor:pointer;
    border:1.5px solid rgba(198,146,0,.42); border-radius:999px; padding:9px 15px;
    background:linear-gradient(180deg,rgba(198,146,0,.10),var(--card));
    color:var(--ink); font-family:inherit; font-weight:900; font-size:.84rem; line-height:1; white-space:nowrap;
    box-shadow:0 2px 8px rgba(2,6,23,.14); user-select:none; -webkit-tap-highlight-color:transparent; }
  .teamTabs .lmChip.on { background:var(--gold); border-color:var(--gold); color:#1a1205; box-shadow:0 4px 14px rgba(198,146,0,.35); }
  .teamTabs .lmChip img, .teamTabs .lmChip svg, .teamTabs .lmChip .dcCrest { vertical-align:middle; }
  .teamTabs .lmChip small { font-weight:700; opacity:.85; margin-left:2px; }
  .pnList { margin-top:12px; display:flex; flex-direction:column; gap:11px; }
  .pnRow { display:grid; grid-template-columns:minmax(96px,1.1fr) minmax(96px,1.3fr) minmax(96px,1.1fr); align-items:center; gap:8px; }
  .pnSide { display:flex; flex-direction:column; min-width:0; }
  .pnSide.pnL { text-align:right; align-items:flex-end; }
  .pnSide.pnR { text-align:left; align-items:flex-start; }
  .pnName { font-weight:800; font-size:.82rem; line-height:1.15; color:var(--ink); text-decoration:none; cursor:pointer; max-width:100%; white-space:normal; border-bottom:1px dotted transparent; }
  .pnName:hover { color:var(--gold); border-bottom-color:var(--gold); }
  .pnSide small { color:var(--muted); font:800 .72rem/1.3 'Spline Sans Mono',monospace; }
  .pnSide small em { font-style:normal; opacity:.7; font-weight:700; }
  .pnBar { display:flex; align-items:center; min-width:0; }
  .pnHalf { flex:1 1 0; display:flex; align-items:center; height:16px; min-width:0; }
  .pnHalf.L { justify-content:flex-end; }
  .pnHalf.R { justify-content:flex-start; }
  .pnSeg { height:13px; border-radius:4px; display:block; min-width:2px; box-shadow:0 1px 3px rgba(2,6,23,.18); }
  .pnSeg.segL { background:linear-gradient(90deg,rgba(198,146,0,.5),var(--gold)); border-radius:4px 2px 2px 4px; }
  .pnSeg.segR { background:linear-gradient(90deg,var(--gold),rgba(198,146,0,.42)); border-radius:2px 4px 4px 2px; }
  .pnMid { flex:0 0 auto; padding:0 8px; text-align:center; display:flex; flex-direction:column; align-items:center; }
  .pnMid b { font:900 .96rem/1 'Spline Sans Mono',monospace; color:var(--gold); }
  .pnMid span { font-size:.58rem; font-weight:800; letter-spacing:.02em; color:var(--muted); margin-top:2px; white-space:nowrap; }
  .pnRow.pnNotOut .pnMid b { text-shadow:0 0 0 var(--gold); }
  .pnRow.pnNotOut .pnSeg { outline:1.5px solid rgba(198,146,0,.55); outline-offset:1px; }
  .pnEmpty { color:var(--muted); padding:16px 4px; font-weight:700; }
  @media (max-width:560px){ .pnRow { grid-template-columns:minmax(60px,1fr) minmax(90px,1.8fr) minmax(60px,1fr); gap:5px; } .pnName { font-size:.76rem; } .pnSide small { font-size:.66rem; } }
  .tableWrap { overflow:auto; border:1px solid var(--line); border-radius:13px; }
  table { width:100%; border-collapse:collapse; font-size:.87rem; min-width:0; }
  th { text-align:right; color:var(--muted); font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; padding:10px 12px; border-bottom:1px solid var(--line); cursor:pointer; user-select:none; background:var(--field); white-space:nowrap; }
  th:first-child, td:first-child { text-align:left; }
  td { padding:9px 12px; text-align:right; border-bottom:1px solid var(--line); vertical-align:middle; }
  th:not(:last-child), td:not(:last-child) { border-right:1px solid var(--line); }
  tr:last-child td { border-bottom:0; }
  th.on { color:var(--gold); }
  .heat { padding:4px 7px; text-align:center; }
  .hpill { display:inline-block; min-width:48px; padding:4px 9px; border-radius:9px; font-weight:800; font-family:"Spline Sans Mono",monospace; font-variant-numeric:tabular-nums lining-nums; }
  /* The empty slot: same pill box, quiet neutral tone. A whisper of the muted ink and a
     hairline inset ring, never a grey block in dark mode. The dash stays a dash. Verbatim
     from leaderboard.html (founder's site-wide order 2026-08-13). */
  .hpill.hpEmpty { background:color-mix(in srgb, var(--muted) 8%, transparent); box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--muted) 24%, transparent); color:var(--muted); text-align:center; }
  .nmCell { display:flex; align-items:center; gap:9px; }
  /* scorecard: dismissal under the batter name (drops the wide "how out" column → no slider) */
  .nmStk { display:inline-flex; flex-direction:column; min-width:0; gap:2px; }
  .nmStk .scLink, .nmCell .scLink { max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .dis { color:var(--muted); font-size:.68rem; font-weight:600; line-height:1.25; white-space:normal; }
  /* "Did not bat" sits under the batting table in the same muted register as a dismissal
   * line, so it reads as part of the card and never as a warning. Names carry the weight. */
  .scDnb { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; margin:7px 0 2px; padding-left:2px;
           color:var(--muted); font-size:.68rem; font-weight:600; line-height:1.3; }
  .scDnb > span { text-transform:uppercase; letter-spacing:.1em; font-size:.62rem; font-weight:800; }
  .scDnb b { font-weight:800; color:var(--ink); }
  /* Scorecard names lead the row (founder 2026-07-27: "naam bahut chote"). Ink + weight
   * + a size step above the .78rem numbers restore the hierarchy, and scorecard batter
   * names WRAP instead of being amputated at 150px ("Tagenarine Chande..."). Scoped to
   * .nmStk/.nmTop, which exist only in the scorecard tables, so every other name cell
   * on this page keeps its current metrics. Numbers and column layout untouched. */
  /* The name is the row's LABEL, not its headline. Founder 12 Aug: the scorecard names
     are far too big and odd. Measured: the name was .95rem/800 against .78rem figures,
     22% larger and the heaviest thing in a row whose whole point is its numbers, and
     long ones like "Bhuvneshwar Kumar" broke onto two lines because they could not fit
     their column. Now .82rem/700, the site's own dense register and the same size the
     form ledger shipped this week. overflow-wrap is a guard so an unbreakable string
     wraps rather than clipping. This walks back the 27 Jul overcorrection. */
  .nmStk .nmTop .scLink, .nmTop .scLink { font-size:.82rem; font-weight:700; color:var(--ink); letter-spacing:.005em; line-height:1.25; overflow-wrap:anywhere; }
  /* player links had no visible keyboard focus at all */
  .scLink:focus-visible { outline:2px solid var(--gold); outline-offset:2px; border-radius:4px; }
  .nmStk .scLink { max-width:none; white-space:normal; overflow:visible; text-overflow:clip; }
  /* The dismissal's bowler link is METADATA, not a headline: the big-name rule
     above used to catch EVERY .scLink in the stack, so "caught b D. Chahar"
     printed batter-sized ink (founder 2026-08-08: "names big, ugly... dirty").
     Small, muted, one quiet line - hover still golds it. */
  .nmStk .dis .scLink { font-size:inherit; font-weight:700; color:var(--muted); }
  .scLink { color:inherit; text-decoration:none; } .scLink:hover { color:var(--gold); }
  /* ── Premium scorecard · calm ledger + gold milestones ─────────────────────
     Subtle 1px COLUMN SEPARATORS (site-wide dossier .gtbl recipe): border-left on
     every cell EXCEPT the first (name) column - a faint guide via var(--line), not
     a heavy grid. border-right is zeroed on ALL cells first so the page-wide
     border-right rule cannot leave a stray outer line when a trailing column is
     display:none'd on phones (M / Dots / Ended). Every number in Spline Sans Mono
     tabular. 50+/100+ and 3W/5W rows get a faint gold wash + chip; the innings'
     top scorer / best bowler a slim gold left accent. */
  .mcBatSc .tableWrap th, .mcBatSc .tableWrap td,
  .mcBowlSc .tableWrap th, .mcBowlSc .tableWrap td,
  .mcPartSc .tableWrap th, .mcPartSc .tableWrap td { border-right:0; }
  .mcBatSc .tableWrap th:not(:first-child), .mcBatSc .tableWrap td:not(:first-child),
  .mcBowlSc .tableWrap th:not(:first-child), .mcBowlSc .tableWrap td:not(:first-child),
  .mcPartSc .tableWrap th:not(:first-child), .mcPartSc .tableWrap td:not(:first-child) { border-left:1px solid var(--line); }
  .mcBatSc .tableWrap td:not(:first-child), .mcBowlSc .tableWrap td:not(:first-child) {
    font-family:"Spline Sans Mono",monospace; font-variant-numeric:tabular-nums lining-nums; }
  .mcBatSc .tableWrap td:nth-child(3), .mcBowlSc .tableWrap td:nth-child(5) { font-weight:800; }
  tr.msRow50 > td { background:rgba(198,146,0,.05); }
  tr.msRow100 > td { background:rgba(198,146,0,.09); }
  tr.topPerf > td:first-child { box-shadow:inset 3px 0 0 var(--gold); }
  .mcBatSc tr.msRow50 td:nth-child(3), .mcBatSc tr.msRow100 td:nth-child(3),
  .mcBowlSc tr.msRow50 td:nth-child(5), .mcBowlSc tr.msRow100 td:nth-child(5) { color:var(--gold); font-weight:900; }
  .nmTop { display:inline-flex; align-items:center; gap:6px; min-width:0; }
  .msChip { flex:0 0 auto; display:inline-block; padding:1px 6px; border-radius:6px; white-space:nowrap;
    font:900 .58rem/1.5 "Spline Sans Mono",monospace; letter-spacing:.02em; }
  .msChip.ms50 { color:var(--gold); border:1px solid rgba(198,146,0,.5); background:rgba(198,146,0,.1); }
  .msChip.ms100 { background:var(--gold); color:#1a1204; border:1px solid var(--gold); font-size:.64rem; box-shadow:0 1px 5px rgba(198,146,0,.35); }
  .dis .notout { color:var(--green,#16a34a); font-weight:800; }
  .dis .notout::before { content:'● '; font-size:.55em; vertical-align:2px; }
  .scSub { display:flex; align-items:center; gap:7px; }
  .scSub::before { content:''; flex:0 0 auto; width:14px; height:3px; border-radius:2px; background:var(--gold); }
  /* Manhattan · tap-an-over detail card (gold) + dismissal line(s): red W tag,
     the out batter, how, and who took it. Names open the this-match modal. */
  .manDetail { display:none; }
  .manDetail.on { display:block; margin-top:12px; padding-top:12px; border-top:1px dashed var(--line); }
  .mdHead { font:800 .64rem/1 'Spline Sans Mono',monospace; letter-spacing:.09em; text-transform:uppercase; color:var(--gold); }
  .mdHead span { color:var(--muted); margin-left:8px; letter-spacing:.04em; }
  .mdGrid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:10px; }
  /* Test: a Manhattan bar is ONE innings' over, so its detail card is a single block */
  .mdGrid.mdOne { grid-template-columns:1fr; }
  @media (max-width:520px){ .mdGrid { grid-template-columns:1fr; } }
  .mdTeam { border:1px solid var(--line); border-radius:11px; padding:11px 13px; background:linear-gradient(180deg,var(--field),var(--card)); }
  .mdTop { display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
  .mdName { font:900 1rem/1 'Spline Sans Mono',monospace; }
  .mdOverRuns { font-size:.74rem; color:var(--muted); font-weight:700; }
  .mdOverRuns b { color:var(--gold); font-size:.92rem; }
  .mdOverRuns i { color:var(--red,#dc2626); font-style:normal; font-weight:800; }
  .mdScore { margin-top:5px; font:800 1.02rem/1 'Spline Sans Mono',monospace; color:var(--ink); }
  .mdScore small { color:var(--muted); font-size:.72rem; margin-left:6px; }
  .mdBats { margin-top:8px; display:flex; flex-wrap:wrap; gap:6px 12px; }
  .mdBats a { font-size:.78rem; color:var(--ink); font-weight:700; text-decoration:none; cursor:pointer; }
  .mdBats a b { color:var(--gold); }
  .mdBats a:hover { color:var(--gold); }
  .mdBowl { margin-top:7px; font-size:.74rem; color:var(--muted); font-weight:700; }
  .mdWkts { margin-top:8px; display:flex; flex-direction:column; gap:5px; }
  .mdWkt { display:flex; align-items:baseline; gap:7px; padding:6px 9px; border-radius:9px;
    border:1px solid rgba(220,38,38,.3); background:rgba(220,38,38,.07); font-size:.78rem; line-height:1.35; }
  .mdWkt .wTag { flex:0 0 auto; align-self:center; background:var(--red,#dc2626); color:#fff;
    font:900 .6rem/1 "Spline Sans Mono",monospace; padding:3px 6px; border-radius:5px; letter-spacing:.06em; }
  .mdWkt .wWho { font-weight:900; min-width:0; }
  .mdWkt .wWho a { color:var(--ink); text-decoration:none; cursor:pointer; }
  .mdWkt .wWho a:hover { color:var(--gold); }
  .mdWkt .wHow { color:var(--muted); font-weight:700; min-width:0; }
  .mdWkt .wHow a { color:var(--ink); font-weight:800; text-decoration:none; cursor:pointer; }
  .mdWkt .wHow a:hover { color:var(--gold); }
  @media (max-width:520px){ .mdWkt { flex-wrap:wrap; row-gap:2px; } }
  .av { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; overflow:hidden; background:var(--track); border:1px solid var(--line); flex:0 0 auto; }
  .av img { width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }
  .av i { display:none; font-style:normal; font-weight:800; font-size:.62rem; color:var(--muted); }
  .av.noimg i { display:block; }
  .green { background:#16a34a24; color:#147a33; }
  .amber { background:#f59e0b24; color:#9a5b00; }
  .red { background:#dc262624; color:#b91c1c; }
  [data-theme="dark"] .green { color:#86efac; }
  [data-theme="dark"] .amber { color:#fcd34d; }
  [data-theme="dark"] .red { color:#fca5a5; }
  .minor { color:var(--muted); font-size:.8rem; margin-top:10px; line-height:1.5; }
  .chart { width:100%; height:360px; }
  /* Test manhattan: the over-scroll slider strip rides below the plot, so the
     container grows by the strip's height - the bars keep their full height. */
  .chart.manScrollTall { height:412px; }
  .smallChart { width:100%; height:315px; }
  .caps { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .capCard { border:1px solid var(--line); border-radius:14px; overflow:hidden; }
  .capTitle { padding:11px 13px; font-weight:800; font-size:.9rem; color:var(--ink); background:var(--field); border-bottom:1px solid var(--line); }
  .capRow2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px; }
  /* Caps tables now carry the full metric set (batting Runs·BF·SR·Avg·4s·6s·
     Bnd%·Dot%·Inns; bowling Wkts·Overs·Runs·Econ·Avg·SR·Dot%). Compact font keeps
     Orange + Purple side-by-side with no horizontal scroll; they stack on
     narrower screens so a column is never clipped. */
  .capBox table { min-width:0; font-size:.8rem; }
  .capBox th { padding:7px 8px; letter-spacing:.04em; }
  .capBox td { padding:6px 8px; }
  .capRow2 .motmPanel { grid-column:1 / -1; }
  /* Player-of-the-match: broadcast card + compact award chips. */
  .motmPanel .panelHead { margin-bottom:10px; }
  .motmSpotlight { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr); gap:12px; margin-bottom:12px; }
  .motmAwardCard { position:relative; overflow:hidden; border:1px solid var(--line); border-radius:16px; padding:14px; background:linear-gradient(145deg,rgba(37,99,235,.08),rgba(255,255,255,.025)); min-height:126px; }
  .motmAwardCard.main { border-color:rgba(198,146,0,.42); background:radial-gradient(circle at 18% 12%,rgba(198,146,0,.28),transparent 34%),linear-gradient(145deg,rgba(198,146,0,.16),rgba(15,23,42,.14)); }
  .motmAwardCard:after { content:""; position:absolute; inset:auto -28px -42px auto; width:120px; height:120px; border-radius:999px; background:rgba(255,255,255,.045); pointer-events:none; }
  .motmK { color:var(--muted); font-size:.64rem; font-weight:950; letter-spacing:.14em; text-transform:uppercase; }
  .motmPlayer { margin-top:7px; color:var(--ink); font-size:1.45rem; line-height:1.05; font-weight:950; letter-spacing:-.03em; }
  .motmStatLine { margin-top:10px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
  .motmStatLine span { color:var(--muted); font-size:.68rem; font-weight:950; letter-spacing:.1em; text-transform:uppercase; }
  .motmStatLine b { color:var(--gold); font:950 .95rem/1.15 "Spline Sans Mono",monospace; }
  .motmSub { margin:8px 0 0; color:var(--muted); font-size:.78rem; line-height:1.35; font-weight:760; }
  .motmSeasonHead { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:2px 0 8px; color:var(--muted); font-size:.68rem; font-weight:950; letter-spacing:.12em; text-transform:uppercase; }
  .motmSeasonHead b { color:var(--gold); font-family:"Spline Sans Mono",monospace; letter-spacing:0; text-transform:none; }
  .motmGrid { display:grid; grid-template-columns:repeat(4,minmax(170px,1fr)); gap:8px; }
  .motmGrid .motmRow { display:grid; grid-template-columns:22px minmax(0,1fr) auto; align-items:center; gap:9px; padding:8px 10px; border:1px solid var(--line); border-radius:12px; background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(15,23,42,.18)); min-width:0; }
  .motmGrid .motmRow.thisMatch { border-color:rgba(198,146,0,.55); background:linear-gradient(145deg,rgba(198,146,0,.16),rgba(15,23,42,.12)); }
  .motmGrid .motmRk { color:var(--muted); font-family:"Spline Sans Mono",monospace; font-size:.7rem; }
  .motmGrid .motmName { min-width:0; }
  .motmGrid .motmName b { display:block; color:var(--ink); font-weight:900; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .motmGrid .motmName small { display:block; margin-top:2px; color:var(--muted); font-size:.62rem; font-weight:850; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .motmGrid .motmAw { min-width:28px; text-align:center; border-radius:999px; padding:3px 8px; background:rgba(198,146,0,.14); font-family:"Spline Sans Mono",monospace; font-weight:950; color:var(--gold); }
  @media (max-width:1260px){ .motmGrid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
  @media (max-width:720px){ .motmSpotlight, .motmGrid { grid-template-columns:1fr; } .motmPlayer { font-size:1.2rem; } }
  @media (max-width:1280px){ .caps, .capRow2 { grid-template-columns:1fr; } }
  .seasonList { max-height:460px; overflow:auto; border:1px solid var(--line); border-radius:13px; position:relative; }
  /* #61 · flash a row when you jump to its date */
  .seasonMatch.jumpFlash { background:#c6920026; box-shadow:inset 0 0 0 2px var(--gold); }
  .seasonMatch { display:grid; grid-template-columns:88px 1fr auto; gap:12px; padding:9px 12px; border-bottom:1px solid var(--line); cursor:pointer; align-items:center; }
  .seasonMatch:hover { background:var(--soft); }
  .seasonMatch.active { background:#c6920015; }
  .seasonMatch:last-child { border-bottom:0; }
  .seasonMatch .date { color:var(--muted); font-size:.75rem; font-weight:800; }
  /* #54 · one-line row: crest CODE v crest CODE · venue tucked after as a muted note */
  .seasonMatch .teams { font-weight:800; line-height:1.25; display:flex; align-items:center; gap:7px; min-width:0; flex-wrap:wrap; }
  .seasonMatch .teams .mlv { color:var(--muted); font-weight:800; font-size:.68em; text-transform:uppercase; }
  .seasonMatch .teams b.win { color:var(--gold); }
  .seasonMatch .teams .vnote { font-weight:700; font-size:.72rem; margin-left:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:220px; }
  .seasonMatch .res { color:var(--muted); font-size:.74rem; text-align:right; max-width:210px; }
  .status { padding:18px 20px; color:var(--muted); font-weight:800; }
  @media (max-width:1100px){
    .hero, .grid2, .grid3 { grid-template-columns:1fr; }
    .quickGrid, .quickGrid.quickGrid6 { grid-template-columns:repeat(2,1fr); }
    .controls { grid-template-columns:1fr; }
  }
  /* #61 · DESKTOP side-by-side only: fitSeasonList() sets the season panel's height to match
     the (naturally taller) partnerships panel beside it; this class then makes the list fill
     that height with an internal scrollbar - so the two panel bottoms align, no empty gap.
     Mobile (stacked, no neighbour) never gets this class and keeps the CSS 460px box. */
  @media (min-width:1101px){
    .panel.seasonFit { display:flex; flex-direction:column; }
    .panel.seasonFit .seasonList { flex:1 1 auto; min-height:0; max-height:none; height:auto; }
  }
  /* #53 · Orange/Purple cap tables fit their column at EVERY width (desktop showed a
     slider in the side-by-side caps grid). table-layout:fixed pins them to the card;
     slightly smaller type + name ellipsis makes all 10/8 columns fit - no scroll.
     (The max-720px block below tightens further and drops 4s/6s/Inns on phones.) */
  .mcCapBat .tableWrap table, .mcCapBowl .tableWrap table { width:100%; table-layout:fixed; }
  .mcCapBat .tableWrap th, .mcCapBat .tableWrap td,
  .mcCapBowl .tableWrap th, .mcCapBowl .tableWrap td {
    font-size:.74rem; padding:6px 3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .mcCapBat .tableWrap th, .mcCapBowl .tableWrap th { font-size:.6rem; letter-spacing:0; }
  .mcCapBat .tableWrap th:first-child, .mcCapBat .tableWrap td:first-child,
  .mcCapBowl .tableWrap th:first-child, .mcCapBowl .tableWrap td:first-child { width:17%; }
  .mcCapBat .tableWrap .hpill, .mcCapBowl .tableWrap .hpill { min-width:0; padding:2px 4px; }
  /* #83b · caps pairs share ONE ROW like every other pair (compact doctrine), and the
     tables self-trim instead of clipping. When a caps CARD itself is squeezed (<740px -
     container query, so sidebar shell/zoom count too, not just the viewport) the Orange
     table drops the raw counts 4s/6s/Inns exactly like mobile already does, and the name
     column widens + wraps - names and digits stay whole ("163.03" never becomes "163.0…").
     Wide cards (stacked/big screens) keep all 10 columns. */
  .capBox { container-type:inline-size; }
  @media (min-width:721px){
    @container (max-width:740px){
      .mcCapBat .tableWrap th:nth-child(n+8),
      .mcCapBat .tableWrap td:nth-child(n+8) { display:none; }
      .mcCapBat .tableWrap th:first-child, .mcCapBat .tableWrap td:first-child,
      .mcCapBowl .tableWrap th:first-child, .mcCapBowl .tableWrap td:first-child {
        width:24%; white-space:normal; overflow-wrap:anywhere; }
    }
  }
  @media (max-width:720px){
    .wrap { padding:16px 12px 42px; }
    header.bar { align-items:flex-start; flex-wrap:wrap; }
    .topnav { margin-left:0; }
    h1 { font-size:2rem; }
    .quickGrid, .caps { grid-template-columns:1fr; }
    .hero { padding:20px 18px; }
    .panel { padding:15px 14px; }
  }
  @media (max-width:720px){
    .hero, .grid2, .grid3 { grid-template-columns:1fr; }
    .quickGrid, .quickGrid.quickGrid6 { grid-template-columns:repeat(2,1fr); }
    .caps, .capRow2 { grid-template-columns:1fr; }
    .controls { grid-template-columns:1fr; width:100%; }
    .kick { flex-wrap:wrap; gap:8px; }
    .kick .t { font-size:1.18rem; }
    .panelHead, .scoreTitle, .tabRow, .matchOpt { flex-wrap:wrap; }
    h1 { font-size:1.7rem; }
    .chart { height:280px; max-width:100%; }
    .chart.manScrollTall { height:332px; }
    .smallChart { height:260px; max-width:100%; }
    #wormChart, #winChart { width:100%; max-width:100%; }
  #testStory .sessInn { margin-top:14px; }
  .storyBody { padding:8px 20px 16px; }
  .stBeat { padding:8px 0 8px 18px; border-left:2px solid var(--line); font-weight:600; color:inherit; line-height:1.55; position:relative; }
  .stBeat::before { content:""; position:absolute; left:-5px; top:15px; width:8px; height:8px; border-radius:50%; background:#c69200; }
  .stSess { margin:12px 0 6px; font-weight:800; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:#8a6500; background:#c692001f; border:1px solid #c6920055; border-radius:8px; padding:6px 11px; display:inline-block; }
  [data-theme="dark"] .stSess { color:#e0b13a; }
  .stEnd { margin-top:12px; font-weight:800; color:inherit; border-top:1px solid var(--line); padding-top:10px; }
    .panel, .card, .capCard, .capBox table { max-width:100%; }
    .seasonMatch { grid-template-columns:64px 1fr auto; gap:8px; }
    .seasonMatch .date { font-size:.68rem; }
    .seasonMatch .teams .vnote { display:none; }   /* #54 · venue hidden on phones (in the row title) */
    .seasonMatch .res { max-width:120px; font-size:.68rem; }
    /* MOBILE: compact every score / partnership / standings table so the batting and
       bowling scorecards fit the card without a side-scroll (the dismissal already sits
       under the batter name). Wide text tables - partnerships (two batter names) and the
       points table - still scroll inside their bordered .tableWrap, contained not page-wide. */
    .tableWrap table { font-size:.76rem; }
    .tableWrap th, .tableWrap td { padding:6px 6px; }
    .tableWrap .hpill { min-width:0; padding:3px 6px; }
    .tableWrap .av { width:20px; height:20px; }
    .tableWrap .nmCell { gap:6px; }
    .tableWrap .dis { font-size:.6rem; }
    /* Bowling scorecard · drop Maidens (col 3) + Dots (col 7) on mobile so the essential
       figures (Bowler · O · R · W · Econ) fit without a side-scroll. */
    .mcBowlSc .tableWrap th:nth-child(3), .mcBowlSc .tableWrap td:nth-child(3),
    .mcBowlSc .tableWrap th:nth-child(7), .mcBowlSc .tableWrap td:nth-child(7) { display:none; }
    /* Partnerships · drop the descriptive "Ended" column (col 6) and let the two batter
       names wrap so Wkt · Batters · Balls · Runs · RR fit without a side-scroll. */
    .mcPartSc .tableWrap th:nth-child(6), .mcPartSc .tableWrap td:nth-child(6) { display:none; }
    .mcPartSc .tableWrap td:nth-child(2) { white-space:normal; line-height:1.25; min-width:96px; }
    /* Orange/Purple cap tables · bring the ANALYTICAL (rate/heat) metrics back on mobile.
       Orange (Batter·BF·Runs·SR·Avg·Bnd%·Dot%·4s·6s·Inns): keep through Dot%, hide only the
         low-value raw counts 4s·6s·Inns (cols 8-10) so the card stays readable.
       Purple (Bowler·Wkts·Overs·Runs·Econ·Avg·SR·Dot%): show ALL 8 columns.
       Shrink font + padding + clamp the name so the full tables fit with no side-scroll. */
    .mcCapBat .tableWrap th:nth-child(n+8), .mcCapBat .tableWrap td:nth-child(n+8) { display:none; }
    .mcCapBat .av, .mcCapBowl .av { display:none; }   /* reclaim the name column for the metric cols */
    .mcCapBat .tableWrap th, .mcCapBat .tableWrap td { font-size:.58rem; padding:4px 2px; }
    .mcCapBowl .tableWrap th, .mcCapBowl .tableWrap td { font-size:.57rem; padding:4px 1px; letter-spacing:-.2px; }
    /* full names post-#82: the name column WRAPS instead of clipping (site-wide
       full-names/no-clip doctrine) - fixed % width keeps the metric cols whole */
    .mcCapBat .tableWrap td:first-child, .mcCapBat .tableWrap th:first-child { width:26%; }
    .mcCapBowl .tableWrap td:first-child, .mcCapBowl .tableWrap th:first-child { width:22%; }
    .mcCapBat .tableWrap td:first-child, .mcCapBat .tableWrap th:first-child,
    .mcCapBowl .tableWrap td:first-child, .mcCapBowl .tableWrap th:first-child {
      white-space:normal; overflow-wrap:anywhere; line-height:1.25; }
    .mcCapBat .tableWrap .hpill, .mcCapBowl .tableWrap .hpill {
      min-width:0; padding:1px 1px; font-size:.54rem; letter-spacing:-.01em; }
    /* #70 pattern: full header words on phones - uppercase glyphs overflow the narrow cols */
    .mcCapBat .tableWrap th, .mcCapBowl .tableWrap th { font-size:.52rem; text-transform:none; }
    /* Top partnerships · Team is now a code (GT/SRH); wrap the two-name Pair and drop the
       redundant Season column (the table already filters to one season) so it fits mobile. */
    #topPartnerships .tableWrap td:first-child, #topPartnerships .tableWrap th:first-child { white-space:normal; line-height:1.2; }
    #topPartnerships .tableWrap th:nth-child(3), #topPartnerships .tableWrap td:nth-child(3) { display:none; }
  /* skeleton */

  /* Match Centre broadcast-room revamp: keep the selected match as the hero, move bulk lists into support/navigation. */
  #matchListSection { display:none !important; }
  .mcRoomHero { margin:18px 0 18px; padding:0; overflow:hidden; border:1px solid color-mix(in srgb,var(--gold) 38%,var(--line)); background:
    radial-gradient(circle at 14% 8%, rgba(198,146,0,.18), transparent 34%),
    radial-gradient(circle at 88% 18%, rgba(96,165,250,.12), transparent 30%),
    linear-gradient(135deg,var(--card),var(--soft)); }
  .mcRoomTop { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:18px; padding:22px; align-items:stretch; }
  .mcRoomK { color:var(--gold); font-size:.72rem; font-weight:950; letter-spacing:.22em; text-transform:uppercase; margin-bottom:8px; }
  .mcRoomTitle { display:flex; align-items:center; gap:12px; flex-wrap:wrap; color:var(--ink); font-size:clamp(1.55rem,3vw,2.6rem); line-height:1.02; font-weight:950; letter-spacing:-.035em; }
  .mcRoomTitle .v { color:var(--muted); font-size:.74em; font-weight:900; letter-spacing:0; }
  .mcRoomMeta { display:flex; gap:8px; flex-wrap:wrap; margin:12px 0 0; }
  .mcPill { border:1px solid rgba(198,146,0,.28); background:rgba(198,146,0,.09); color:var(--text2); border-radius:999px; padding:6px 10px; font-size:.72rem; font-weight:900; }
  .mcVerdict { margin-top:16px; border-left:4px solid var(--gold); padding:10px 13px; border-radius:0 14px 14px 0; background:rgba(198,146,0,.08); color:var(--text2); font-size:.92rem; font-weight:850; line-height:1.45; }
  .mcRoomSwitch { margin-top:15px; display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:999px; background:var(--field); color:var(--ink); padding:10px 13px; font:900 .78rem Archivo,Manrope-FB,Manrope-FB-R,Manrope-FB-A,sans-serif; cursor:pointer; }
  .mcRoomSwitch:hover { border-color:var(--gold); box-shadow:0 8px 24px rgba(198,146,0,.12); }
  .mcScoreStack { border:1px solid var(--line); border-radius:20px; padding:14px; background:rgba(15,23,42,.08); display:flex; flex-direction:column; gap:10px; justify-content:center; }
  .mcScoreLine { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:10px 11px; border-radius:14px; background:linear-gradient(180deg,var(--field),rgba(255,255,255,.02)); border:1px solid rgba(148,163,184,.16); }
  .mcScoreTeam { min-width:0; display:flex; align-items:center; gap:8px; font-weight:950; color:var(--ink); }
  .mcScoreTeam span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .mcScoreVal { color:var(--gold); font-size:1.05rem; font-weight:950; white-space:nowrap; }
  .mcRoomPhases { border-top:1px solid var(--line); padding:15px 22px 20px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .mcPhaseCard { border:1px solid var(--line); border-radius:17px; padding:13px; background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(15,23,42,.025)); min-height:112px; }
  .mcPhaseCard.powerplay { border-color:rgba(198,146,0,.45); background:linear-gradient(135deg,rgba(198,146,0,.13),rgba(198,146,0,.035)); }
  .mcPhaseCard.middle { border-color:rgba(96,165,250,.35); background:linear-gradient(135deg,rgba(37,99,235,.11),rgba(37,99,235,.025)); }
  .mcPhaseCard.death { border-color:rgba(248,113,113,.35); background:linear-gradient(135deg,rgba(220,38,38,.10),rgba(220,38,38,.025)); }
  .mcPhaseCard small { display:block; color:var(--muted); font-weight:950; letter-spacing:.14em; text-transform:uppercase; font-size:.62rem; }
  .mcPhaseCard b { display:block; color:var(--ink); font-size:1rem; margin:6px 0 4px; }
  .mcPhaseCard span { color:var(--text2); font-size:.78rem; font-weight:800; line-height:1.42; }
  .mcSupportNote { grid-column:1/-1; color:var(--muted); font-size:.76rem; font-weight:850; text-align:right; }
  @media (max-width:900px){ .mcRoomTop { grid-template-columns:1fr; padding:17px; } .mcRoomPhases { grid-template-columns:1fr; padding:12px 17px 17px; } .mcSupportNote { text-align:left; } }

  .motmSpotlight { margin-bottom:12px; display:grid; grid-template-columns:1.05fr .95fr; gap:10px; }
  .motmHero, .motmBest { border:1px solid rgba(198,146,0,.34); border-radius:16px; padding:13px 14px; background:linear-gradient(135deg,rgba(198,146,0,.13),rgba(15,23,42,.035)); }
  .motmBest { border-color:rgba(96,165,250,.28); background:linear-gradient(135deg,rgba(37,99,235,.11),rgba(15,23,42,.035)); }
  .motmK { color:var(--muted); font-size:.63rem; font-weight:950; letter-spacing:.14em; text-transform:uppercase; }
  .motmV { color:var(--ink); font-size:1.12rem; font-weight:950; margin-top:5px; line-height:1.15; }
  .motmSub { color:var(--text2); font-size:.78rem; font-weight:800; margin-top:5px; line-height:1.35; }
  .motmListTitle { color:var(--gold); font-size:.7rem; font-weight:950; letter-spacing:.14em; text-transform:uppercase; margin:4px 0 8px; }
  .motmRow.thisMatch { border-color:rgba(198,146,0,.55); background:rgba(198,146,0,.12); }
  .mcPressureSkip { display:none !important; }
  .mcRoomCompact { margin:0 0 14px; border:1px solid var(--line); border-radius:22px; padding:16px; background:
    radial-gradient(circle at 12% 0%, rgba(198,146,0,.12), transparent 30%),
    linear-gradient(135deg,rgba(255,255,255,.04),rgba(15,23,42,.02)); box-shadow:inset 0 1px 0 rgba(255,255,255,.04); }
  .mcRoomCompactTop { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:12px; }
  .mcRoomCompact .mcRoomK { color:var(--gold); font-size:.72rem; font-weight:950; letter-spacing:.18em; text-transform:uppercase; }
  .mcRoomCompact .mcRoomTitle { color:var(--ink); font-size:1.28rem; font-weight:950; line-height:1.12; }
  .mcRoomCompact .mcRoomSub { color:var(--muted); font-size:.78rem; font-weight:850; margin-top:4px; }
  .mcRoomCompact .mcRoomPills { display:flex; gap:7px; flex-wrap:wrap; }
  .mcMiniGrid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:9px; }
  .mcMiniStat { border:1px solid var(--line); border-radius:16px; padding:11px 12px; background:rgba(15,23,42,.18); min-height:84px; }
  .mcMiniStat small { display:block; color:var(--muted); font-size:.62rem; font-weight:950; letter-spacing:.14em; text-transform:uppercase; }
  .mcMiniStat b { display:block; color:var(--ink); font:950 1.14rem/1.18 "Spline Sans Mono",monospace; margin-top:5px; }
  .mcMiniStat span { display:block; color:var(--text2); font-size:.72rem; font-weight:800; margin-top:5px; line-height:1.32; }
  .mcFlowGrid { grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); }
  .mcDeliveryPanel { margin-top:16px; }
  .mcDeliveryPanel #ballTimeline { margin-top:0; border-top:0; padding-top:0; }
  .ballTimeline { margin-top:14px; border-top:1px solid var(--line); padding-top:14px; background:
    radial-gradient(circle at 12% 0%, rgba(198,146,0,.11), transparent 28%),
    radial-gradient(circle at 88% 20%, rgba(37,99,235,.08), transparent 30%); }
  .ballTimeline h3 { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:.78rem; font-weight:950; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
  .ballTimeline h3 span { letter-spacing:.03em; text-transform:none; color:var(--gold); font-size:.72rem; font-weight:900; border:1px solid rgba(198,146,0,.32); background:rgba(198,146,0,.09); padding:5px 9px; border-radius:999px; }
  .deliveryInspector { margin:10px 0 12px; border:1px solid rgba(198,146,0,.36); border-radius:18px; padding:14px 15px; background:
    linear-gradient(135deg,rgba(198,146,0,.13),rgba(37,99,235,.06) 48%,rgba(15,23,42,.025)), var(--card);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05); }
  .diTop { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
  .diK { color:var(--gold); font-size:.62rem; font-weight:950; letter-spacing:.13em; text-transform:uppercase; }
  .diMain { color:var(--ink); font-size:1rem; font-weight:950; margin-top:4px; line-height:1.25; }
  .diBadge { border:1px solid rgba(198,146,0,.35); background:rgba(198,146,0,.1); color:var(--gold); padding:5px 8px; border-radius:999px; font-size:.64rem; font-weight:950; white-space:nowrap; }
  .diSub { color:var(--text2); font-size:.78rem; font-weight:800; margin-top:7px; line-height:1.42; }
  .diGrid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:10px; }
  .diStat { border:1px solid rgba(148,163,184,.2); border-radius:13px; padding:8px 10px; background:rgba(15,23,42,.08); }
  .diStat small, .phaseMetric small { display:block; color:var(--muted); font-size:.56rem; font-weight:950; letter-spacing:.1em; text-transform:uppercase; }
  .diStat b, .phaseMetric b { display:block; color:var(--ink); font:950 .84rem/1.2 "Spline Sans Mono",monospace; margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .inningsArchive { margin-top:12px; border:1px solid var(--line); border-radius:17px; background:rgba(15,23,42,.16); overflow:hidden; }
  .inningsArchive summary { list-style:none; cursor:pointer; padding:13px 15px; display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--ink); font-weight:950; }
  .inningsArchive summary::-webkit-details-marker { display:none; }
  .inningsArchive summary span { color:var(--muted); font-size:.72rem; font-weight:900; }
  .inningsArchive summary:after { content:'Open phase-wise balls'; color:var(--gold); font-size:.68rem; font-weight:950; letter-spacing:.04em; }
  .inningsArchive[open] summary { border-bottom:1px solid var(--line); }
  .inningsArchive[open] summary:after { content:'Hide innings'; }
  .inningsArchive .ballLane { padding:0 13px 13px; }
  .ballLane { margin-top:10px; }
  .ballLaneHead { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--text2); font-size:.78rem; font-weight:900; margin-bottom:8px; }
  .ballPhase { border:1px solid var(--line); border-radius:20px; padding:13px; margin-top:12px; background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(15,23,42,.02)); box-shadow:inset 0 1px 0 rgba(255,255,255,.035); }
  .ballPhase.powerplay { border-color:rgba(198,146,0,.62); background:linear-gradient(135deg,rgba(198,146,0,.13),rgba(198,146,0,.035)); }
  .ballPhase.middle { background:linear-gradient(135deg,rgba(37,99,235,.09),rgba(37,99,235,.025)); }
  .ballPhase.death { background:linear-gradient(135deg,rgba(220,38,38,.09),rgba(220,38,38,.025)); }
  /* Test new-ball/old-ball phase colours live in the isolated #mcDeliveryLive style
     block near the end of the document (NOT here) - this huge first style block has a
     known bug where appended rules get silently dropped by the browser, see the
     #mcDuelModal comment.

     WHAT WAS REMOVED FROM THIS COMMENT (2026-08-11): four real script tags had been
     injected right here, into the middle of a CSS comment, by an earlier text replace
     that anchored on a script tag and hit this comment's own mention of one. A browser
     reads them as stylesheet text, so Match Centre loaded NONE of its share scripts.
     They now sit in matchcentre.html as markup. Confirmed dead as far back as b3b3780;
     the split that moved this text into mc-page.css did not cause it.

     No tag name is spelled with angle brackets anywhere in this comment, on purpose. */
  .phaseHead { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
  .phaseHead b { color:var(--ink); font-size:.74rem; font-weight:950; letter-spacing:.12em; text-transform:uppercase; }
  .phaseHead span { color:var(--muted); font-size:.7rem; font-weight:850; }
  .phasePulse { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:2px 0 11px; }
  .phaseMetric { border:1px solid rgba(148,163,184,.2); border-radius:13px; padding:8px 10px; background:rgba(15,23,42,.055); }
  .phaseStory { margin-top:10px; border:1px solid rgba(198,146,0,.22); border-radius:13px; padding:9px 11px; background:linear-gradient(135deg,rgba(198,146,0,.08),rgba(15,23,42,.025)); color:var(--muted); font-size:.78rem; font-weight:800; line-height:1.42; }
  .phaseStory b { color:var(--ink); font-weight:950; }
  .phaseStory em { color:var(--gold); font-style:normal; font-weight:950; }
  .ballTimeline .phaseStory { display:block !important; }
  #ballTimeline.mcLiveDeliveryBoard { display:block !important; margin-top:14px; border-top:1px solid var(--line); padding-top:14px; background:
    radial-gradient(circle at 12% 0%, rgba(198,146,0,.12), transparent 28%),
    radial-gradient(circle at 88% 20%, rgba(37,99,235,.08), transparent 30%); }
  #ballTimeline.mcLiveDeliveryBoard, #ballTimeline.mcLiveDeliveryBoard * { box-sizing:border-box; }
  #ballTimeline.mcLiveDeliveryBoard .phaseStory { display:block !important; }
  #ballTimeline.mcLiveDeliveryBoard h3 { display:flex !important; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:.78rem; font-weight:950; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin:0 0 8px; }
  #ballTimeline.mcLiveDeliveryBoard h3 span { letter-spacing:.03em; text-transform:none; color:var(--gold); font-size:.72rem; font-weight:900; border:1px solid rgba(198,146,0,.32); background:rgba(198,146,0,.09); padding:5px 9px; border-radius:999px; }
  #ballTimeline.mcLiveDeliveryBoard .deliveryInspector { display:block !important; margin:10px 0 12px; border:1px solid rgba(198,146,0,.36); border-radius:18px; padding:14px 15px; background:
    linear-gradient(135deg,rgba(198,146,0,.13),rgba(37,99,235,.06) 48%,rgba(15,23,42,.025)),
    var(--card); box-shadow:inset 0 1px 0 rgba(255,255,255,.05); }
  #ballTimeline.mcLiveDeliveryBoard .diTop { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
  #ballTimeline.mcLiveDeliveryBoard .diK { color:var(--gold); font-size:.66rem; font-weight:950; letter-spacing:.16em; text-transform:uppercase; }
  #ballTimeline.mcLiveDeliveryBoard .diBadge { border:1px solid rgba(198,146,0,.35); border-radius:999px; padding:5px 9px; color:var(--ink); background:rgba(198,146,0,.12); font:950 .68rem/1 "Spline Sans Mono",monospace; }
  #ballTimeline.mcLiveDeliveryBoard .diMain { margin-top:8px; color:var(--ink); font-size:1rem; font-weight:950; line-height:1.28; }
  #ballTimeline.mcLiveDeliveryBoard .diSub { margin-top:5px; color:var(--muted); font-size:.82rem; font-weight:800; line-height:1.42; }
  #ballTimeline.mcLiveDeliveryBoard .diGrid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:11px; }
  #ballTimeline.mcLiveDeliveryBoard .diStat { border:1px solid var(--line); border-radius:13px; padding:8px 10px; background:rgba(255,255,255,.035); }
  #ballTimeline.mcLiveDeliveryBoard .diStat small { display:block; color:var(--muted); font-size:.58rem; font-weight:950; letter-spacing:.1em; text-transform:uppercase; }
  #ballTimeline.mcLiveDeliveryBoard .diStat b { display:block; color:var(--ink); font:950 .86rem/1.2 "Spline Sans Mono",monospace; margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  #ballTimeline.mcLiveDeliveryBoard .ballLane { display:block !important; margin-top:10px; }
  #ballTimeline.mcLiveDeliveryBoard .ballLane:first-of-type { margin-top:0; }
  #ballTimeline.mcLiveDeliveryBoard .ballLaneHead { display:flex !important; align-items:center; justify-content:space-between; gap:12px; color:var(--text2); font-size:.78rem; font-weight:900; margin-bottom:8px; }
  #ballTimeline.mcLiveDeliveryBoard .ballPhase { display:block !important; border:1px solid var(--line); border-radius:20px; padding:13px; margin-top:12px; background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(15,23,42,.02)); box-shadow:inset 0 1px 0 rgba(255,255,255,.035); }
  #ballTimeline.mcLiveDeliveryBoard .ballPhase.powerplay { border-color:rgba(198,146,0,.62); background:linear-gradient(135deg,rgba(198,146,0,.13),rgba(198,146,0,.035)); }
  #ballTimeline.mcLiveDeliveryBoard .ballPhase.middle { background:linear-gradient(135deg,rgba(37,99,235,.09),rgba(37,99,235,.025)); }
  #ballTimeline.mcLiveDeliveryBoard .ballPhase.death { background:linear-gradient(135deg,rgba(220,38,38,.09),rgba(220,38,38,.025)); }
  #ballTimeline.mcLiveDeliveryBoard .phaseHead { display:flex !important; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
  #ballTimeline.mcLiveDeliveryBoard .phasePulse { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:2px 0 11px; }
  #ballTimeline.mcLiveDeliveryBoard .phaseMetric { display:block !important; border:1px solid rgba(148,163,184,.2); border-radius:13px; padding:8px 10px; background:rgba(15,23,42,.055); }
  #ballTimeline.mcLiveDeliveryBoard .phaseMetric small { display:block; color:var(--muted); font-size:.56rem; font-weight:950; letter-spacing:.1em; text-transform:uppercase; }
  #ballTimeline.mcLiveDeliveryBoard .phaseMetric b { display:block; color:var(--ink); font:950 .84rem/1.2 "Spline Sans Mono",monospace; margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  #ballTimeline.mcLiveDeliveryBoard .ballOvers { display:grid !important; grid-template-columns:repeat(auto-fit,minmax(196px,1fr)); gap:10px; padding:1px 0 0; }
  #ballTimeline.mcLiveDeliveryBoard .ballOver { display:block !important; border:1px solid var(--line); border-radius:15px; background:linear-gradient(180deg,var(--field),rgba(15,23,42,.025)); padding:10px; transition:transform .12s ease, border-color .12s ease, box-shadow .12s ease; }
  #ballTimeline.mcLiveDeliveryBoard .ballOver:hover { transform:translateY(-2px); border-color:rgba(198,146,0,.42); box-shadow:0 14px 28px rgba(2,6,23,.18); }
  #ballTimeline.mcLiveDeliveryBoard .ballOverHead { display:flex !important; align-items:flex-start; justify-content:space-between; gap:8px; margin-bottom:8px; }
  #ballTimeline.mcLiveDeliveryBoard .ballOverHead b { color:var(--ink); font-size:.74rem; font-weight:900; line-height:1.2; }
  #ballTimeline.mcLiveDeliveryBoard .ballOverHead span { color:var(--muted); font-size:.66rem; font-weight:800; text-align:right; line-height:1.2; }
  #ballTimeline.mcLiveDeliveryBoard .ballDots { display:flex !important; flex-wrap:wrap; gap:6px; }
  #ballTimeline.mcLiveDeliveryBoard .ballDot { width:32px; height:32px; border-radius:50%; border:1.5px solid var(--line); display:inline-flex !important; align-items:center; justify-content:center; font:800 .72rem/1 "Spline Sans Mono",monospace; color:var(--ink); background:var(--card); cursor:pointer; box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 1px 2px rgba(2,6,23,.16); transition:transform .16s cubic-bezier(.34,1.56,.64,1), box-shadow .16s ease; }
  #ballTimeline.mcLiveDeliveryBoard .ballDot:hover { transform:translateY(-3px) scale(1.08); box-shadow:0 10px 20px rgba(2,6,23,.3); z-index:2; }
  #ballTimeline.mcLiveDeliveryBoard .ballDot.dot { color:var(--muted); background:var(--track); border-color:transparent; box-shadow:none; font-weight:700; }
  #ballTimeline.mcLiveDeliveryBoard .ballDot.run { border-color:rgba(37,99,235,.4); background:rgba(37,99,235,.14); }
  #ballTimeline.mcLiveDeliveryBoard .ballDot.four { border-color:transparent; background:var(--gold); color:#1a1204; font-weight:900; box-shadow:0 2px 8px rgba(198,146,0,.42); }
  #ballTimeline.mcLiveDeliveryBoard .ballDot.six { border-color:transparent; background:#16a34a; color:#eafff2; font-weight:900; box-shadow:0 2px 9px rgba(22,163,74,.48); }
  #ballTimeline.mcLiveDeliveryBoard .ballDot.extra { border-color:rgba(234,122,0,.5); background:rgba(234,122,0,.15); color:var(--orange); font-size:.6rem; font-weight:800; }
  #ballTimeline.mcLiveDeliveryBoard .ballDot.wicket { border-color:transparent; background:#dc2626; color:#fff; font-weight:900; box-shadow:0 2px 9px rgba(220,38,38,.5); }
  .ballOvers { display:grid; grid-template-columns:repeat(auto-fit,minmax(196px,1fr)); gap:10px; padding:1px 0 0; }
  .ballOver { border:1px solid var(--line); border-radius:15px; background:linear-gradient(180deg,var(--field),rgba(15,23,42,.025)); padding:10px; transition:transform .12s ease, border-color .12s ease, box-shadow .12s ease; }
  .ballOver:hover { transform:translateY(-2px); border-color:rgba(198,146,0,.42); box-shadow:0 14px 28px rgba(2,6,23,.18); }
  .ballOverHead { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; margin-bottom:8px; }
  .ballOverHead b { color:var(--ink); font-size:.74rem; font-weight:900; line-height:1.2; }
  .ballOverHead span { color:var(--muted); font-size:.66rem; font-weight:800; text-align:right; line-height:1.2; }
  .ballDots { display:flex; flex-wrap:wrap; gap:6px; }
  .ballDot { width:31px; height:31px; border-radius:50%; border:1px solid var(--line); display:inline-flex; align-items:center; justify-content:center; font:900 .66rem/1 "Spline Sans Mono",monospace; color:var(--ink); background:var(--card); cursor:pointer; transition:transform .12s ease, box-shadow .12s ease; }
  .ballDot:hover { transform:translateY(-2px) scale(1.04); box-shadow:0 10px 18px rgba(2,6,23,.24); }
  .ballDot.dot { color:var(--muted); background:var(--track); border-color:transparent; }
  .ballDot.run { background:rgba(37,99,235,.14); border-color:rgba(37,99,235,.4); }
  .ballDot.four { background:var(--gold); color:#1a1204; border-color:transparent; font-weight:900; }
  .ballDot.six { background:#16a34a; color:#eafff2; border-color:transparent; font-weight:900; }
  .ballDot.extra { background:rgba(234,122,0,.15); color:var(--orange); border-color:rgba(234,122,0,.5); }
  .ballDot.wicket { background:#dc2626; color:#fff; border-color:transparent; font-weight:900; }
  #ballTimeline { display:block !important; margin-top:14px !important; padding-top:14px !important; border-top:1px solid var(--line) !important; }
  #ballTimeline h3 { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:12px !important; margin-bottom:10px !important; }
  #ballTimeline .deliveryInspector { display:block !important; margin:10px 0 14px !important; border:1px solid rgba(198,146,0,.36) !important; border-radius:18px !important; padding:14px 15px !important; background:linear-gradient(135deg,rgba(198,146,0,.13),rgba(37,99,235,.06) 48%,rgba(15,23,42,.025)),var(--card) !important; }
  #ballTimeline .ballLaneHead { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:12px !important; margin:12px 0 8px !important; font-weight:950 !important; color:var(--text2) !important; }
  #ballTimeline .ballPhase { display:block !important; border:1px solid var(--line) !important; border-radius:20px !important; padding:13px !important; margin-top:12px !important; background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(15,23,42,.02)) !important; }
  #ballTimeline .ballPhase.powerplay { border-color:rgba(198,146,0,.62) !important; background:linear-gradient(135deg,rgba(198,146,0,.13),rgba(198,146,0,.035)) !important; }
  #ballTimeline .ballPhase.middle { background:linear-gradient(135deg,rgba(37,99,235,.09),rgba(37,99,235,.025)) !important; }
  #ballTimeline .ballPhase.death { background:linear-gradient(135deg,rgba(220,38,38,.09),rgba(220,38,38,.025)) !important; }
  #ballTimeline .phaseHead { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:10px !important; margin-bottom:8px !important; }
  #ballTimeline .phasePulse { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:8px !important; margin:2px 0 11px !important; }
  #ballTimeline .phaseMetric { display:block !important; border:1px solid rgba(148,163,184,.2) !important; border-radius:13px !important; padding:8px 10px !important; background:rgba(15,23,42,.055) !important; }
  #ballTimeline .phaseMetric small { display:block !important; color:var(--muted) !important; font-size:.56rem !important; font-weight:950 !important; letter-spacing:.1em !important; text-transform:uppercase !important; }
  #ballTimeline .phaseMetric b { display:block !important; color:var(--ink) !important; font:950 .84rem/1.2 "Spline Sans Mono",monospace !important; margin-top:3px !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; }
  #ballTimeline .ballOvers { display:grid !important; grid-template-columns:repeat(auto-fit,minmax(196px,1fr)) !important; gap:10px !important; }
  #ballTimeline .ballOver { display:block !important; border:1px solid var(--line) !important; border-radius:15px !important; background:linear-gradient(180deg,var(--field),rgba(15,23,42,.025)) !important; padding:10px !important; }
  #ballTimeline .ballOverHead { display:flex !important; align-items:flex-start !important; justify-content:space-between !important; gap:8px !important; margin-bottom:8px !important; }
  #ballTimeline .ballDots { display:flex !important; flex-wrap:wrap !important; gap:6px !important; }
  #ballTimeline .ballDot { width:31px !important; height:31px !important; border-radius:50% !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; border:1px solid var(--line) !important; font:900 .66rem/1 "Spline Sans Mono",monospace !important; cursor:pointer !important; }
  /* EXACT live-page ball palette (theme-variable based, so light mode gets the soft
     track-gray dots + solid gold/green/red hits instead of dark-theme gradients). */
  #ballTimeline.mcLiveDeliveryBoard .ballDot { width:32px !important; height:32px !important; min-width:32px !important; min-height:32px !important; border-radius:999px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; margin:0 !important; color:var(--ink) !important; background:var(--card) !important; border:1.5px solid var(--line) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 1px 2px rgba(2,6,23,.16) !important; transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease !important; }
  #ballTimeline.mcLiveDeliveryBoard .ballDot:hover { transform:translateY(-2px) scale(1.05) !important; box-shadow:0 10px 20px rgba(2,6,23,.3) !important; }
  #ballTimeline.mcLiveDeliveryBoard .ballDot.dot { color:var(--muted) !important; background:var(--track) !important; border-color:transparent !important; box-shadow:none !important; }
  #ballTimeline.mcLiveDeliveryBoard .ballDot.run { color:var(--ink) !important; background:rgba(37,99,235,.14) !important; border-color:rgba(37,99,235,.4) !important; }
  #ballTimeline.mcLiveDeliveryBoard .ballDot.four { color:#1a1204 !important; background:var(--gold) !important; border-color:transparent !important; box-shadow:0 2px 8px rgba(198,146,0,.42) !important; }
  #ballTimeline.mcLiveDeliveryBoard .ballDot.six { color:#eafff2 !important; background:#16a34a !important; border-color:transparent !important; box-shadow:0 2px 9px rgba(22,163,74,.48) !important; }
  #ballTimeline.mcLiveDeliveryBoard .ballDot.extra { color:var(--orange) !important; background:rgba(234,122,0,.15) !important; border-color:rgba(234,122,0,.5) !important; font-size:.58rem !important; }
  #ballTimeline.mcLiveDeliveryBoard .ballDot.wicket { color:#fff !important; background:#dc2626 !important; border-color:transparent !important; box-shadow:0 2px 9px rgba(220,38,38,.5) !important; }
  #ballTimeline .phaseStory { display:block !important; }
  .mcTip { position:fixed; z-index:99999; width:max-content; min-width:260px; max-width:min(390px,calc(100vw - 28px)); pointer-events:none; border:1px solid rgba(198,146,0,.58); border-radius:17px; padding:13px 15px; background:linear-gradient(145deg,rgba(20,31,52,.98),rgba(13,21,37,.97)); color:#e5e7eb; box-shadow:0 18px 44px rgba(2,6,23,.42), inset 0 1px 0 rgba(255,255,255,.06); transform:translate3d(0,0,0); }
  .mcTip .ttTop { display:flex; align-items:center; justify-content:space-between; gap:14px; }
  .mcTip .ttK { color:#facc15; font-size:.82rem; font-weight:950; line-height:1.18; letter-spacing:.02em; }
  .mcTip .ttBadge { flex:0 0 auto; color:#aebdd1; font:950 .58rem/1 "Spline Sans Mono",monospace; letter-spacing:.16em; text-transform:uppercase; }
  .mcTip .ttM { color:#fff; font-size:.98rem; font-weight:950; line-height:1.28; margin-top:9px; }
  .mcTip .ttS { color:#aebdd1; font-size:.78rem; font-weight:800; line-height:1.36; margin-top:8px; }
  @media(max-width:1100px){ .mcMiniGrid, .mcFlowGrid { grid-template-columns:1fr; } #scorecards:not(.scStack) { grid-template-columns:1fr !important; } }
  @media(max-width:760px){ .motmSpotlight { grid-template-columns:1fr; } .mcMiniGrid, .diGrid, .phasePulse { grid-template-columns:repeat(2,minmax(0,1fr)); } .ballOvers { grid-template-columns:1fr; } }

  /* Phone: a six digit rate pill (122.22) was clipped because #scorecards .hpill's
     38px min-width and 6px padding beat the generic phone trim. Measured on PROD, not
     guessed: 14 cells cut at 375 CSS px, the worst 13px past its cell. Letting the pill
     fill its cell reads whole at 375 and still at 336, which is as narrow as the
     founder's own phone reports. */
  @media (max-width:559px){
    #scorecards td.heat { padding-left:3px !important; padding-right:3px !important; }
    #scorecards .hpill { display:block; min-width:0 !important; padding:3px 2px !important; }
    #scorecards .tableWrap th { padding-left:3px !important; padding-right:3px !important; }
  }
