/* FootyHunch - dark sports-app theme (ui v2: phone-first, desktop sidebar from 1024px) */
:root{--bg:#0B0F19;--surface:rgba(18,25,40,.6);--card:#121a2b;--card2:#162036;--elev:rgba(26,35,55,.68);--hover:rgba(42,55,82,.62);--border:rgba(148,163,184,.12);--border2:rgba(148,163,184,.24);
--accent:#22d3ee;--accent-m:rgba(34,211,238,.12);--live:#10b981;--green:#22c55e;--green-bg:rgba(34,197,94,.12);--red:#f43f5e;--red-bg:rgba(244,63,94,.12);--amber:#f59e0b;--amber-bg:rgba(245,158,11,.12);--violet:#8b5cf6;--blue:#3b82f6;
--t1:#f1f5f9;--t2:#94a3b8;--t3:#7c8aa0;--fd:'Outfit','Inter',system-ui,sans-serif;--fm:'JetBrains Mono',ui-monospace,monospace;--r:16px;--rs:10px;
--toph:0px;--tabh:0px;--safe-b:env(safe-area-inset-bottom,0px)}
.light{--bg:#eef2f7;--surface:rgba(255,255,255,.75);--card:#ffffff;--card2:#f8fafc;--elev:rgba(255,255,255,.92);--hover:rgba(226,232,240,.8);--border:rgba(100,116,139,.16);--border2:rgba(100,116,139,.28);--t1:#0f172a;--t2:#475569;--t3:#64748b;--accent:#0891b2}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--t1);font:14px/1.5 Inter,system-ui,sans-serif;min-height:100vh;overflow-x:hidden;-webkit-tap-highlight-color:transparent}
img{max-width:100%}
.glow{position:fixed;width:900px;height:900px;border-radius:50%;opacity:.16;pointer-events:none;z-index:0}.g1{background:radial-gradient(circle,#22d3ee 0,transparent 60%);top:-450px;right:-350px}.g2{background:radial-gradient(circle,#10b981 0,transparent 60%);bottom:-500px;left:-100px;opacity:.09}

/* ---------- FootyHunch wordmark: "Footy" in text colour, "Hunch" in the accent ---------- */
.brand h1 .wm,.tb-brand b .wm{background:none;-webkit-background-clip:initial;background-clip:initial}
.brand h1:has(.wm),.tb-brand b:has(.wm){background:none!important;color:var(--t1)!important;-webkit-text-fill-color:currentColor;letter-spacing:-.01em}
.wm-f{color:var(--t1)}.wm-h{color:var(--accent)}

/* ---------- shell ---------- */
.app-shell{display:flex;position:relative;z-index:1;min-height:100vh}
.main-col{flex:1;min-width:0;display:flex;flex-direction:column}
main{width:100%;max-width:1320px;margin:0 auto;padding:28px 34px 60px;min-width:0}
.sidebar{width:232px;flex:0 0 232px;height:100vh;position:sticky;top:0;padding:22px 14px;border-right:1px solid var(--border);background:rgba(11,15,25,.92);display:flex;flex-direction:column}
.light .sidebar{background:rgba(255,255,255,.6)}
.brand{display:flex;gap:12px;align-items:center;padding:0 8px 22px}.brand img{width:38px;height:38px}.brand h1{font:700 19px var(--fd);margin:0;background:linear-gradient(90deg,var(--accent),var(--live));-webkit-background-clip:text;background-clip:text;color:transparent}.brand .sub{font-size:11px;color:var(--t3);letter-spacing:.12em;text-transform:uppercase}
.nav{display:flex;flex-direction:column;gap:3px}.nav a{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:var(--rs);color:var(--t2);text-decoration:none;font-weight:500;border:1px solid transparent}
.nav a span{width:18px;text-align:center;color:var(--t3)}.nav a:hover{background:var(--hover);color:var(--t1)}.nav a.on{background:var(--accent-m);color:var(--t1);border-color:rgba(34,211,238,.25)}.nav a.on span{color:var(--accent)}
.side-foot{margin-top:auto;display:flex;gap:8px;align-items:center;font-size:12px;color:var(--t2);padding:10px 12px;border:1px solid var(--border);border-radius:var(--rs)}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 10px var(--amber)}.dot.ok{background:var(--live);box-shadow:0 0 10px var(--live);animation:p 2s infinite}.dot.bad{background:var(--red)}@keyframes p{50%{opacity:.4}}
.topbar,.tabbar,.sheet{display:none}

/* ---------- type & basics ---------- */
h2{font:700 26px var(--fd);margin:0 0 4px}.lead{color:var(--t2);margin:0 0 22px}h3{font:600 15px var(--fd);margin:0 0 12px;color:var(--t1)}
.grid{display:grid;gap:16px}.grid>*{min-width:0}.k4{grid-template-columns:repeat(4,minmax(0,1fr))}.k2{grid-template-columns:repeat(2,minmax(0,1fr))}.k3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:18px;box-shadow:0 1px 3px rgba(0,0,0,.3);min-width:0}
.kpi .lab{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--t3)}.kpi .val{font:700 30px var(--fd);margin:6px 0 2px;background:linear-gradient(90deg,var(--t1),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.kpi .hint{font-size:12px;color:var(--t2)}
table{width:100%;border-collapse:collapse}th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--t3);text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}td{padding:10px;border-bottom:1px solid var(--border)}tr.click{cursor:pointer}tr.click:hover td{background:var(--hover)}
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;overscroll-behavior-x:contain}
.tscroll>table{min-width:100%}
.num{font-family:var(--fm);font-variant-numeric:tabular-nums}.muted{color:var(--t3)}.small{font-size:12px}
.bar3{display:flex;height:8px;border-radius:6px;overflow:hidden;min-width:140px;background:var(--hover)}.bar3 i{display:block}.bH{background:var(--accent)}.bD{background:#64748b}.bA{background:var(--violet)}
.pill{display:inline-block;padding:2px 9px;border-radius:99px;font-size:11px;font-weight:600;border:1px solid var(--border2);white-space:nowrap}.pill.g{background:var(--green-bg);color:var(--green);border-color:transparent}.pill.a{background:var(--amber-bg);color:var(--amber);border-color:transparent}.pill.r{background:var(--red-bg);color:var(--red);border-color:transparent}.pill.c{background:var(--accent-m);color:var(--accent);border-color:transparent}
.form i{display:inline-block;width:18px;height:18px;line-height:18px;text-align:center;border-radius:5px;font:600 10px var(--fm);margin-right:2px;font-style:normal}.fW{background:var(--green-bg);color:var(--green)}.fD{background:var(--hover);color:var(--t2)}.fL{background:var(--red-bg);color:var(--red)}
.hero{display:flex;justify-content:space-between;align-items:center;gap:20px}.team{font:700 22px var(--fd)}.vs{color:var(--t3);font:600 13px var(--fd)}
.probrow{display:grid;grid-template-columns:minmax(70px,110px) 1fr 54px;gap:10px;align-items:center;margin:7px 0}.probrow>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.probrow .t{height:10px;border-radius:6px;background:var(--hover);overflow:hidden}.probrow .t i{display:block;height:100%;border-radius:6px}.probrow .num{text-align:right}
.heat{display:grid;grid-template-columns:28px repeat(6,1fr);gap:3px;font-family:var(--fm);font-size:11px}.heat div{padding:6px 0;text-align:center;border-radius:5px}.heat .h{color:var(--t3)}
.explain{white-space:pre-line;color:var(--t2);line-height:1.7}
select,button,input{font:inherit;color:var(--t1);background:var(--elev);border:1px solid var(--border2);border-radius:10px;padding:8px 12px}button{cursor:pointer;background:var(--accent-m);border-color:rgba(34,211,238,.35)}button:hover{background:rgba(34,211,238,.2)}
select{max-width:100%}
.legs{display:flex;flex-wrap:wrap;gap:6px}.legs label{display:flex;gap:8px;align-items:center;padding:6px 10px;border:1px solid var(--border2);border-radius:10px;cursor:pointer;font-size:12px}.legs label:has(input:checked){background:var(--accent-m);border-color:rgba(34,211,238,.4)}.legs input{padding:0;accent-color:var(--accent)}
.note{font-size:12px;color:var(--t3);margin-top:8px}.loading{color:var(--t2);padding:40px;text-align:center}
.chart text{fill:var(--t3);font:10px var(--fm)}.chart .gl{stroke:var(--border)}
.mini{padding:3px 10px;font-size:12px;border-radius:8px}.mini[disabled]{opacity:.5;cursor:not-allowed}
.scouting{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px}
.spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--border2);border-top-color:var(--accent);animation:spin .8s linear infinite;margin-bottom:12px}@keyframes spin{to{transform:rotate(360deg)}}
.spinner.sm{display:inline-block;width:12px;height:12px;border-width:2px;margin:0 6px -2px 0}
.fchips{display:flex;gap:3px;margin:4px 0}.fchip{display:inline-block;width:20px;height:20px;line-height:20px;text-align:center;border-radius:4px;font:600 11px var(--fm);font-style:normal;color:#0b0f19}
.fchip.W{background:var(--live)}.fchip.D{background:#94a3b8}.fchip.L{background:var(--red)}
table.tight td{padding:3px 6px}.vs-table td{padding:6px}
.h2hbar{display:flex;height:22px;border-radius:6px;overflow:hidden;margin:4px 0 6px;font:600 12px var(--fm)}.h2hbar span{display:flex;align-items:center;justify-content:center;color:#0b0f19;min-width:18px}
.h2hbar .bH{background:var(--accent)}.h2hbar .bD{background:#64748b}.h2hbar .bA{background:var(--violet)}
.nw{white-space:nowrap}
.lsel{min-width:190px}.hero .lsel{align-self:center}
.wn{margin:6px 0;line-height:1.45}.wn a{color:var(--accent);text-decoration:none;white-space:nowrap;font-size:11px;margin-left:4px}
.lg{display:inline-block;font:600 10px var(--fd);padding:1px 5px;border-radius:4px;background:rgba(34,211,238,.12);color:var(--accent);margin-right:3px}
code{font-size:12px;background:rgba(148,163,184,.12);padding:1px 5px;border-radius:4px;overflow-wrap:anywhere}
a.btn{display:inline-block;padding:7px 12px;border-radius:10px;border:1px solid var(--border2);color:var(--accent);text-decoration:none;font-size:13px}

/* ---------- The Hunch ---------- */
.card.hunch{border-color:rgba(245,158,11,.35);background:linear-gradient(135deg,rgba(245,158,11,.07),transparent 60%)}
.hunch-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.hunch-head .lab{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--amber)}
.hunch-pick{font:700 24px var(--fd);margin:6px 0 2px}
.hunch-stars{color:var(--amber);font-size:18px;letter-spacing:2px}
.hunch-side{text-align:right;min-width:120px}
.hunch-against{margin:8px 0;padding:6px 10px;border-radius:8px;background:rgba(244,63,94,.12);color:var(--red);font-size:13px;font-weight:600}
.hunch-reasons{margin:8px 0 4px 18px;padding:0}.hunch-reasons li{margin:4px 0;font-size:14px}
.hunch-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:3px 8px;border-radius:8px;background:rgba(245,158,11,.12);color:var(--amber);max-width:100%;min-width:0}
.hunch-badge .hb-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.hunch-badge b{font-weight:400;letter-spacing:1px;white-space:nowrap}.hunch-badge.against{background:rgba(244,63,94,.12);color:var(--red)}

/* ---------- match cards (fixtures, home, live upcoming) ---------- */
.fday{margin:0 0 22px}
.fday-h{position:sticky;top:var(--toph);z-index:3;margin:0 -2px 10px;padding:9px 2px 7px;font:700 13px var(--fd);letter-spacing:.06em;text-transform:uppercase;color:var(--t1);background:linear-gradient(var(--bg) 75%,transparent)}
.fday-h .muted{font-weight:500;letter-spacing:0;text-transform:none}
.fleague{margin:0 0 14px}
.fleague-h{display:flex;align-items:center;gap:8px;margin:0 2px 8px;font:600 14px var(--fd);color:var(--t2)}
.fleague-h .flag{font-size:16px;line-height:1}.fleague-h .cty{font:500 12px Inter,system-ui,sans-serif;color:var(--t3)}
.mgrid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}
.mcard{display:block;position:relative;text-decoration:none;color:inherit;background:var(--card);border:1px solid var(--border2);border-radius:16px;padding:14px 14px 12px;box-shadow:0 4px 14px rgba(0,0,0,.28);transition:transform .12s,border-color .12s,background .12s;min-width:0}
.light .mcard{box-shadow:0 2px 8px rgba(15,23,42,.08)}
.mcard:hover{border-color:rgba(34,211,238,.45);background:var(--card2)}.mcard:active{transform:scale(.985)}
.mcard.is-live{border-color:rgba(16,185,129,.55)}
.mc-top{display:flex;align-items:center;gap:8px;margin-bottom:10px;min-height:24px}
.mc-time{font:700 18px var(--fd);letter-spacing:.01em}
.mc-meta{font-size:12px;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.mc-tags{margin-left:auto;display:flex;gap:6px;align-items:center;flex-shrink:0}
.mc-team{display:flex;align-items:center;gap:10px;min-height:32px}
.mc-team .nm{font:600 16px var(--fd);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-team .xg{font:500 12px var(--fm);color:var(--t3);white-space:nowrap}
.mc-team .xg b{color:var(--t2);font-weight:600}
.crest{width:26px;height:26px;flex:0 0 26px;border-radius:50%;object-fit:contain;background:rgba(255,255,255,.06)}
.crest.ini{display:inline-flex;align-items:center;justify-content:center;font:700 10px var(--fd);color:#fff;letter-spacing:.02em}
.crest.lgc{width:44px;height:44px;flex-basis:44px;font-size:15px}
.pbar{display:flex;height:10px;border-radius:99px;overflow:hidden;background:var(--hover);margin:12px 0 6px;gap:2px}
.pbar i{display:block;height:100%}.pbar i:first-child{border-radius:99px 0 0 99px}.pbar i:last-child{border-radius:0 99px 99px 0}
.plabels{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;font-size:12px;color:var(--t2)}
.plabels b{font:600 13px var(--fm);color:var(--t1)}.plabels span:nth-child(2){text-align:center}.plabels span:last-child{text-align:right}
.plabels .k{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px;vertical-align:0}
.mc-foot{display:flex;align-items:center;gap:8px;margin-top:11px;padding-top:10px;border-top:1px solid var(--border);min-width:0}
.mc-foot .hunch-badge{flex:0 1 auto}
.mc-foot .go{margin-left:auto;color:var(--t3);font-size:18px;line-height:1;flex-shrink:0}
.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:8px;font-size:12px;font-weight:600;white-space:nowrap;flex-shrink:0}
.tag.ok{background:var(--accent-m);color:var(--accent)}.tag.est{background:var(--hover);color:var(--t2)}.tag.val{background:var(--green-bg);color:var(--green)}
.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--t3);margin:-6px 0 16px}
.legend .tag{font-weight:500}

/* ---------- match header (scout) ---------- */
.match-head{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;text-align:center}
.match-head .side{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.match-head .tn{font:700 20px var(--fd);line-height:1.2;overflow-wrap:anywhere}
.match-head .mid .xgv{font:700 28px var(--fd);white-space:nowrap}
.scout-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 14px}
.scout-top select{flex:1 1 260px;min-width:0}

/* ---------- collapsible sections ---------- */
details.sec>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-4px 0;padding:4px 0;min-height:36px}
details.sec>summary::-webkit-details-marker{display:none}
details.sec>summary h3{margin:0}
details.sec>summary::after{content:'';width:9px;height:9px;border-right:2px solid var(--t3);border-bottom:2px solid var(--t3);transform:rotate(45deg);margin:-4px 4px 0 0;transition:transform .15s;flex-shrink:0}
details.sec[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
details.sec[open]>summary{margin-bottom:10px}
details.cov{margin:0 0 14px}details.cov>summary{cursor:pointer;font-size:12px;color:var(--t3);min-height:32px;display:flex;align-items:center;gap:6px}
details.cov .chipsrow{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}

/* ---------- value check list ---------- */
.vlist{display:flex;flex-direction:column}
.vrow{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,2fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}
.vrow:last-child{border-bottom:0}
.vnums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;font-size:11px;color:var(--t3)}
.vnums b{display:block;font:600 13px var(--fm);color:var(--t1)}
.vnums b.pos{color:var(--green)}

/* ---------- league table ---------- */
.ltable th{position:sticky;top:var(--toph);background:var(--card);z-index:2}
.ltable td,.ltable th{padding:9px 6px;text-align:center;white-space:nowrap}
.ltable .tl{text-align:left}
.ltable td.tm{text-align:left;max-width:0;width:40%}
.ltable td.tm .tmw{display:flex;align-items:center;gap:8px;min-width:0}
.ltable td.tm .crest{width:20px;height:20px;flex-basis:20px}
.ltable td.tm b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600}
.fdots{display:inline-flex;gap:3px;vertical-align:middle}
.fdots i{display:inline-block;width:17px;height:17px;line-height:17px;border-radius:4px;font:700 9px var(--fm);font-style:normal;text-align:center}
.ltable tr.ldet{display:none}.ltable tr.ldet td{text-align:left;white-space:normal;background:var(--hover);font-size:12px;color:var(--t2)}
.ltable tbody tr.lrow{cursor:pointer}
.ltable-card{padding:6px 10px}
.zone-cl td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.zone-rel td:first-child{box-shadow:inset 3px 0 0 var(--red)}

/* ---------- live ---------- */
.page-head{margin-bottom:12px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}.chip{display:inline-flex;align-items:center;justify-content:center;min-height:36px;min-width:44px;padding:4px 14px;border-radius:99px;border:1px solid var(--border2);color:var(--t2);text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap;flex-shrink:0}.chip.on{background:var(--accent-m);color:var(--accent);border-color:rgba(34,211,238,.35)}
.pill.live{background:rgba(16,185,129,.15);color:var(--live);border-color:transparent}
.live-match{background:var(--card);border-color:var(--border2)}.live-match.on{border-color:rgba(16,185,129,.45)}
.live-score{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:8px 0}.live-score .lt{font:700 17px var(--fd);overflow-wrap:anywhere}.live-score .r,.live-ev .r{text-align:right}.live-score .ls{font-size:28px;font-weight:700;white-space:nowrap}
.live-min{text-align:center;margin-bottom:8px}
.live-ev{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:13px}.ev{margin:3px 0}
.cardico{display:inline-block;width:9px;height:13px;border-radius:2px;margin-right:5px;vertical-align:-2px}.cardico.yel{background:#facc15}.cardico.red{background:var(--red)}

/* ======================================================================
   Tablet + phone (< 1024px): sticky top bar, 5-tab bottom bar, no sidebar
   ====================================================================== */
@media (max-width:1023px){
  :root{--toph:56px;--tabh:64px}
  .sidebar{display:none}
  .topbar{display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:20;height:var(--toph);padding:0 16px;background:rgba(11,15,25,.94);border-bottom:1px solid var(--border);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px)}
  .light .topbar{background:rgba(255,255,255,.94)}
  .tb-brand{display:flex;align-items:center;gap:9px;text-decoration:none;min-height:44px}
  .tb-brand img{width:28px;height:28px}.tb-brand b{font:700 18px var(--fd);background:linear-gradient(90deg,var(--accent),var(--live));-webkit-background-clip:text;background-clip:text;color:transparent}
  .tb-page{font:500 13px var(--fd);color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tb-page:not(:empty)::before{content:'·';margin-right:8px}
  .tb-status{margin-left:auto;display:flex;align-items:center;justify-content:center;width:44px;height:44px}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;height:calc(var(--tabh) + var(--safe-b));padding:0 4px var(--safe-b);background:rgba(11,15,25,.97);border-top:1px solid var(--border2);box-shadow:0 -6px 20px rgba(0,0,0,.35)}
  .light .tabbar{background:rgba(255,255,255,.97)}
  .tabbar a,.tabbar button{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:0;border-radius:0;padding:0;color:var(--t3);text-decoration:none;font:600 11px Inter,system-ui,sans-serif;position:relative}
  .tabbar .ti{font-size:20px;line-height:22px;height:22px}.tabbar .ti-live{font-size:15px}
  .tabbar .on{color:var(--accent)}
  .tabbar .on::before{content:'';position:absolute;top:0;left:28%;right:28%;height:3px;border-radius:0 0 3px 3px;background:var(--accent)}
  .sheet:not([hidden]){display:block;position:fixed;inset:0;z-index:40}
  .sheet-bg{position:absolute;inset:0;background:rgba(0,0,0,.55)}
  .sheet-panel{position:absolute;left:0;right:0;bottom:0;background:var(--card);border-radius:20px 20px 0 0;border-top:1px solid var(--border2);padding:8px 12px calc(16px + var(--tabh) + var(--safe-b));animation:up .18s ease-out}
  @keyframes up{from{transform:translateY(40px);opacity:.5}}
  .sheet-grip{width:40px;height:4px;border-radius:4px;background:var(--border2);margin:4px auto 10px}
  .sheet-panel a{display:flex;align-items:center;gap:14px;padding:12px;min-height:60px;border-radius:12px;color:var(--t1);text-decoration:none}
  .sheet-panel a:active,.sheet-panel a.on{background:var(--accent-m)}
  .sheet-panel .ti{font-size:20px;width:28px;text-align:center;color:var(--accent)}
  main{padding:18px 20px calc(var(--tabh) + var(--safe-b) + 28px)}
  .k4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero{flex-wrap:wrap}
}

/* ======================================================================
   Phones (< 700px)
   ====================================================================== */
@media (max-width:699px){
  html,body{overflow-x:hidden;max-width:100%}
  body{font-size:15px}
  main{padding:14px 12px calc(var(--tabh) + var(--safe-b) + 24px)}
  .glow{display:none}
  h2{font-size:23px}.lead{font-size:13.5px;margin-bottom:14px}h3{font-size:16px}.small{font-size:12.5px}.note{font-size:12.5px}
  .grid{gap:12px}
  .grid.k2,.grid.k3,.grid.k4,.grid[style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr) !important}
  .grid.k4:has(> .kpi){grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .card{padding:15px;border-radius:14px}
  .kpi .val{font-size:26px}
  .hero{flex-direction:column;align-items:stretch;gap:8px}.hero select,.lsel{width:100%;min-width:0}
  select,button,input{min-height:44px;font-size:15px}.mini{min-height:38px;padding:6px 12px;font-size:13px}
  a.btn{min-height:44px;display:inline-flex;align-items:center}
  .bar3{min-width:0;width:100%}
  td,th{padding:8px 6px}
  .mgrid{grid-template-columns:minmax(0,1fr);gap:10px}
  .mcard{padding:14px 14px 12px}
  .heat{grid-template-columns:20px repeat(6,minmax(0,1fr));gap:2px;font-size:10px}.heat div{padding:6px 0;letter-spacing:-.3px}
  .probrow{grid-template-columns:minmax(64px,96px) 1fr 44px;gap:8px}
  .hunch-head{flex-direction:column;gap:6px}.hunch-side{text-align:left;min-width:0}.hunch-pick{font-size:21px}
  .live-score .lt{font-size:15px}.live-score .ls{font-size:24px}
  .chips{flex-wrap:nowrap;overflow-x:auto;margin:0 -12px 14px;padding:0 12px 4px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}
  .chip{min-height:44px}
  .legs label{min-height:44px;font-size:13px}
  .match-head .tn{font-size:16px}.match-head .mid .xgv{font-size:22px}
  .vrow{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}.vrow .vnums{grid-column:1 / -1;grid-row:2}
  .ltable .hm{display:none}
  .ltable tr.ldet.open{display:table-row}
  .ltable td.tm{width:auto}
  .ltable td,.ltable th{padding:10px 4px}
  .ltable-card{padding:4px 6px}
  .fdots i{width:15px;height:15px;line-height:15px;font-size:8.5px}
  .mc-team .nm{font-size:16px}
}
@media (max-width:370px){
  .fdots i{width:13px;height:13px;line-height:13px;font-size:8px}.fdots{gap:2px}
  .plabels{font-size:11px}.plabels b{font-size:12px}
  .tabbar .tl{font-size:10.5px}
}
@media (min-width:700px){ .ltable tr.ldet{display:none !important} }
@media (hover:none){ .mcard:hover{background:var(--card);border-color:var(--border2)} }
.sec-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px}.sec-title h3{margin:0}.sec-title .btn{min-height:38px;display:inline-flex;align-items:center}
.live-score .lt{display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-width:0}.live-score .lt.r{align-items:flex-end}
.legend{margin:2px 0 16px}
@media (max-width:699px){
  .ltable td.tm{width:100%}
  .tscroll td,.tscroll th{white-space:nowrap}.tscroll td:first-child{white-space:normal;min-width:120px}
  .tscroll td{font-size:13.5px}
  .hero + .legend{margin-top:6px}
}
@media (max-width:699px){ .tscroll table.tight td,.tscroll table.vs-table td{white-space:normal;min-width:0} .tscroll table.tight td.nw{white-space:nowrap} }
/* match lists: league headers on phones; on wider screens every card of the day flows in one grid with the league inside the card */
.mc-lg{display:none}
@media (min-width:700px){
  .fday-g{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
  .fday-g .fleague,.fday-g .mgrid{display:contents}
  .fday-g .fleague-h{display:none}
  .mc-lg{display:inline}
}
@media (min-width:1024px){ .fday-h{position:static;background:none;margin-left:0;margin-right:0} }
/* ---- member accounts (lock cards, member bar, account link) ---- */
.mbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px;padding:10px 12px;border:1px solid rgba(34,211,238,.28);border-radius:12px;background:var(--accent-m);font-size:13px;color:var(--t2)}
.mbar.warn{border-color:rgba(245,158,11,.35);background:var(--amber-bg)}.mbar b{color:var(--t1)}.mbar .btn,.mbar .btn-p{flex:none;white-space:nowrap}
.mbar .btn-p{display:inline-block;padding:7px 12px;border-radius:10px;background:linear-gradient(90deg,var(--accent),var(--live));color:#04131a;font:700 13px var(--fd);text-decoration:none}
.lockcard{text-align:center;padding:26px 18px;max-width:520px;margin:10px auto}.lockcard h3{font-size:19px;margin:6px 0 8px}.lk-ico{font-size:34px;line-height:1}
.lk-btns{display:flex;flex-direction:column;gap:9px;max-width:320px;margin:16px auto 0}.lk-btns .btn,.lk-btns .btn-p{display:block;text-align:center;padding:11px 14px}
.lk-btns .btn-p{border-radius:12px;background:linear-gradient(90deg,var(--accent),var(--live));color:#04131a;font:700 15px var(--fd);text-decoration:none}
.locked-h .blur{filter:blur(7px);user-select:none}
.tb-acct{display:none}
#side-acct{margin-top:8px;border-top:1px solid var(--border);padding-top:12px}
.side-legal{margin-top:auto;padding:10px 8px 0;line-height:1.6}.side-legal a,.sheet-legal a{color:var(--t2)}.side-legal + .side-foot{margin-top:10px}
.sheet-legal{padding:12px 6px 2px;line-height:1.6}
@media (max-width:1023px){.tb-acct{display:inline-flex;align-items:center;margin-left:4px;padding:6px 11px;border-radius:99px;border:1px solid rgba(34,211,238,.4);color:var(--accent);font:600 13px var(--fd);text-decoration:none;white-space:nowrap}.tb-acct.in{border-color:var(--border2);color:var(--t2)}.tb-status{margin-left:auto}}
/* ---- Match explained (v4): verdict, key facts, insight, per-team blocks ---- */
.mx{display:flex;flex-direction:column;gap:14px;color:var(--t1);font-size:14.5px;line-height:1.55}
.mx p{margin:4px 0 0}.mx-dim{color:var(--t2);font-weight:400}.mx-mini{font-size:12px;margin-top:6px}
.nchip{display:inline-block;padding:1px 7px;border-radius:7px;background:var(--accent-m);color:var(--accent);font:700 13px var(--fm);font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.5}
.nchip.g{background:var(--green-bg);color:var(--green)}.nchip.r{background:var(--red-bg);color:#fb7185}.nchip.a{background:var(--amber-bg);color:var(--amber)}
.mx-verdict{padding:14px 15px;border-radius:14px;background:linear-gradient(135deg,rgba(34,211,238,.16),rgba(16,185,129,.07) 70%);border:1px solid rgba(34,211,238,.3)}
.mx-kicker{font:700 11px var(--fd);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.mx-head{font:800 22px/1.2 var(--fd);margin:6px 0 8px;color:var(--t1)}.mx-sub{font-size:13.5px;color:var(--t1);line-height:1.9}
.mx-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mx-fact{background:var(--card2);border:1px solid var(--border2);border-radius:12px;padding:10px 11px;min-width:0}
.mx-fl{font:600 10.5px var(--fd);letter-spacing:.09em;text-transform:uppercase;color:var(--t2)}.mx-fv{font:700 22px var(--fd);margin:3px 0 1px;color:var(--t1)}.mx-v{color:var(--t3);margin:0 3px}
.mx-fs{font-size:11.5px;color:var(--t2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mx-quote{margin:0;display:flex;gap:11px;padding:13px 14px;border-left:4px solid var(--amber);border-radius:4px 12px 12px 4px;background:linear-gradient(90deg,rgba(245,158,11,.13),rgba(245,158,11,.03));font:600 15.5px/1.5 var(--fd);color:var(--t1)}
.mx-qi{font-size:20px;line-height:1.2}.mx-ql{font:700 10.5px var(--fd);letter-spacing:.12em;text-transform:uppercase;color:var(--amber);margin-bottom:3px}
.mx-teams{display:grid;gap:12px}
.mx-team{border:1px solid var(--border2);border-top:3px solid var(--tc);border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--tc) 9%,transparent),transparent 60%);padding:11px 12px 6px}
.mx-team header{display:flex;align-items:center;gap:9px;margin-bottom:4px}.mx-team h4{margin:0;font:700 16px var(--fd);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mx-side{font:600 10.5px var(--fd);letter-spacing:.1em;text-transform:uppercase;color:var(--tc)}
.mx-team ul{list-style:none;margin:0;padding:0}.mx-team li{display:flex;gap:10px;padding:8px 0;border-top:1px solid var(--border)}.mx-team li:first-child{border-top:0}
.mx-ico{flex:none;width:22px;text-align:center;font-size:15px;line-height:1.5}.mx-lab{display:block;font:700 11px var(--fd);letter-spacing:.08em;text-transform:uppercase;color:var(--t2);margin-bottom:2px}
.mx-sub2{font-size:12.5px;color:var(--t2);margin-top:3px}.fchips.inl{display:inline-flex;vertical-align:middle;margin:0 4px 0 0}
.mx-block{border:1px solid var(--border2);border-radius:12px;padding:11px 12px;background:var(--card2)}
.mx-block h5{margin:0 0 6px;font:700 14px var(--fd);color:var(--t1);display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.mx-pr{display:grid;grid-template-columns:72px 1fr;gap:2px 10px;align-items:center;margin:7px 0}.mx-prl{font-size:12.5px;color:var(--t2)}.mx-prn{grid-column:2;font-size:12px;color:var(--t1)}
.mx-pr .pbar{margin:0}.mx-pr.fin .mx-prl{color:var(--green);font-weight:700}
.mx-ai{margin:0;padding-left:18px}.mx-ai li{margin:5px 0}
.mx-foot{padding-top:2px}
@media (min-width:700px){.mx-facts{grid-template-columns:repeat(4,1fr)}.mx-teams{grid-template-columns:1fr 1fr}.mx-head{font-size:26px}}
.light .mx-quote{background:linear-gradient(90deg,rgba(245,158,11,.16),rgba(245,158,11,.04))}
/* cheat sheet: brighter text, team colour labels */
.csx .muted{color:var(--t2)}.csx .note{color:var(--t2)}.csx .small{font-size:12.5px}
.cs-team{display:flex;align-items:center;gap:6px;font:700 13.5px var(--fd);color:var(--t1);margin-bottom:6px}.cs-team:before{content:"";width:4px;height:15px;border-radius:2px;background:var(--tc)}
.fo-note{flex-basis:100%;color:var(--amber);margin:4px 0 0}
