:root{
  --bg:#07080a;--card:#111318;--card2:#181b22;--card3:#20242c;--line:rgba(255,255,255,.07);--line2:rgba(255,255,255,.12);
  --text:#f2f4f7;--muted:#8a92a0;--dim:#5d6470;--accent:#FF5B24;--accent2:#FF9F1C;--live:#ff3b4a;--gold:#ffc542;
  --r:16px;--ease:cubic-bezier(.2,.8,.2,1)
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-feature-settings:"tnum" 1,"cv11" 1;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(1200px 500px at 10% -10%,rgba(255,91,36,.08),transparent 60%),radial-gradient(900px 400px at 100% 0,rgba(255,159,28,.07),transparent 60%);background-attachment:fixed}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
[hidden]{display:none!important}
img{user-select:none}

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:20;background:rgba(7,8,10,.72);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top)}
.top{display:flex;align-items:center;gap:12px;padding:12px 16px 10px;max-width:1400px;margin:0 auto}
.brand{display:flex;align-items:center;gap:9px;font-weight:900;font-size:19px;letter-spacing:-.5px;white-space:nowrap}
.mark{width:24px;height:24px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 0 20px rgba(255,91,36,.35);position:relative}
.mark::after{content:"";position:absolute;inset:7px;border-radius:3px;background:var(--bg)}
.datebar{display:flex;align-items:center;gap:6px;margin-left:auto}
.datebar button{background:var(--card2);border:1px solid var(--line);border-radius:10px;height:32px;min-width:32px;cursor:pointer;transition:background .15s}
.datebar button:hover{background:var(--card3)}
.datebar .d{padding:0 12px;font-weight:700;min-width:90px}
.me{background:var(--card2);border:1px solid var(--line);border-radius:999px;height:32px;padding:0 12px;cursor:pointer;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.leagues{display:flex;gap:6px;overflow-x:auto;padding:0 16px 12px;scrollbar-width:none;max-width:1400px;margin:0 auto}
.leagues::-webkit-scrollbar{display:none}
.leagues button{display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:7px 13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .2s var(--ease)}
.leagues button:hover{color:var(--text);border-color:var(--line2)}
.leagues button.on{background:var(--text);color:var(--bg);border-color:var(--text);transform:translateY(-1px)}
.leagues .lv{width:6px;height:6px;border-radius:50%;background:var(--live);box-shadow:0 0 8px var(--live)}

/* ---------- layout ---------- */
#home{display:grid;grid-template-columns:340px minmax(0,1fr) 320px;gap:20px;padding:20px 16px;max-width:1400px;margin:0 auto;align-items:start}
#home>.spot{grid-column:2;grid-row:1}
#home>.col-games{grid-column:1;grid-row:1/span 2}
#home>.col-feed{grid-column:2;grid-row:2}
#home>.side{grid-column:3;grid-row:1/span 2}
.col-games{position:sticky;top:120px;max-height:calc(100vh - 140px);overflow:auto;scrollbar-width:thin}
#gameView{max-width:760px;margin:0 auto;padding:14px 16px 24px}
.sec-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 12px}
.sec-h h2{margin:0;font-size:20px;font-weight:900;letter-spacing:-.5px;display:flex;align-items:center;gap:8px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--live);box-shadow:0 0 10px var(--live);animation:pulse 1.4s infinite}
.upd{font-size:12px;color:var(--muted);font-weight:500}
@media(max-width:1100px){#home{grid-template-columns:320px minmax(0,1fr)}#home .side{grid-column:1/-1;grid-row:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.side .card{margin:0}}
@media(max-width:760px){
  #home{grid-template-columns:minmax(0,1fr);gap:18px;padding:14px 0}
  #home>.spot,#home>.col-games,#home>.col-feed,#home>.side{grid-column:1;grid-row:auto}
  .spot-card{border-radius:20px;padding:16px 14px 12px}.st-team img{width:52px;height:52px}.st-sc{font-size:40px}
  #home>section{padding:0 14px}
  .col-games{position:static;max-height:none;overflow:visible;padding:0!important}
  .col-games .sec-h{padding:0 14px}
  .games{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 14px;padding:2px 14px 6px;scrollbar-width:none}
  .games::-webkit-scrollbar{display:none}
  .games .gc{flex:0 0 260px;scroll-snap-align:start;margin:0}
  #home .side{display:block}
}

/* ---------- cards ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:16px}
.card h3{margin:0;padding:14px 16px 10px;font-size:12px;text-transform:none;letter-spacing:.8px;color:var(--muted);font-weight:800;display:flex;justify-content:space-between;align-items:center;gap:8px}
.empty{padding:22px 16px;color:var(--muted);text-align:center}
.feed .empty{background:var(--card);border:1px dashed var(--line2);border-radius:var(--r)}

/* ---------- game cards ---------- */
.gc{--c1:#333;--c2:#333;position:relative;display:block;width:100%;text-align:left;cursor:pointer;margin-bottom:10px;padding:14px 14px 12px;border-radius:var(--r);border:1px solid var(--line);
  background:linear-gradient(120deg,color-mix(in srgb,var(--c1) 22%,transparent),transparent 45%,transparent 55%,color-mix(in srgb,var(--c2) 22%,transparent)),var(--card);
  transition:transform .2s var(--ease),border-color .2s,box-shadow .2s}
.gc:hover{transform:translateY(-2px);border-color:var(--line2);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.gc:active{transform:scale(.985)}
.gc.live{border-color:rgba(255,59,74,.45);box-shadow:0 0 0 1px rgba(255,59,74,.15),0 8px 30px rgba(255,59,74,.08)}
.gc.pulse{animation:cardPulse 1.2s var(--ease)}
.row{display:flex;align-items:center;gap:10px}
.row+.row{margin-top:8px}
.row img{width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}
.row .nm{flex:1;min-width:0;font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .rec{color:var(--muted);font-size:12px;font-weight:500;margin-left:6px}
.row .sc{font-weight:900;font-size:22px;min-width:28px;text-align:right;letter-spacing:-.5px}
.row.lose{opacity:.5}
.meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;margin-top:10px;gap:8px;font-weight:600}
.meta .r{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.3px;background:var(--card3);color:var(--text)}
.pill.live{background:rgba(255,59,74,.15);color:#ff6b77}
.pill.live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--live);animation:pulse 1.2s infinite}
.flash{animation:flash 1.4s var(--ease)}

/* ---------- plays ---------- */
.feed{display:flex;flex-direction:column;gap:10px}
.play{--tc:#5d6470;position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);transition:border-color .2s}
.play:hover{border-color:var(--line2)}
.play.scoring{background:linear-gradient(100deg,color-mix(in srgb,var(--tc) 26%,transparent),transparent 55%),var(--card);border-color:color-mix(in srgb,var(--tc) 45%,transparent)}
.play.scoring::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:var(--tc)}
.play.enter{animation:enter .6s var(--ease)}
.play.enter::after{content:"";position:absolute;inset:-1px;border-radius:inherit;border:1px solid var(--accent);animation:fadeOut 2.5s forwards;pointer-events:none}
.play .lg img{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}
.play .ctx{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--muted);font-size:12px;font-weight:600;margin-bottom:4px}
.play .txt{font-weight:600;font-size:15px;line-height:1.4}
.play.scoring .txt{font-weight:800;font-size:16px}
.badge{display:inline-block;padding:2px 8px;border-radius:6px;background:var(--tc);color:#fff;font-size:10.5px;font-weight:900;letter-spacing:.6px;text-transform:none;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.badge.now{background:rgba(255,59,74,.18);color:#ff6b77;text-shadow:none}
.play .score{display:inline-block;margin-top:8px;padding:4px 10px;border-radius:8px;background:rgba(0,0,0,.35);font-weight:800;font-size:13px;letter-spacing:.2px}
.pt{margin-top:8px}
.pt summary{list-style:none;cursor:pointer;color:var(--muted);font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:4px;user-select:none}
.pt summary::-webkit-details-marker{display:none}
.pt summary::before{content:"▸";transition:transform .2s}
.pt[open] summary::before{transform:rotate(90deg)}
.pitches{display:flex;flex-direction:column;gap:4px;margin-top:8px}
.pitch{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#c9ced6}
.pitch .n{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--card3);font-size:10.5px;font-weight:800;flex:none}
.pitch .n.k{background:rgba(255,59,74,.25);color:#ff8a94}.pitch .n.b{background:rgba(255,159,28,.22);color:#7cc8ff}.pitch .n.x{background:rgba(255,91,36,.22);color:#6ff2b8}
.pitch .v{color:var(--muted);margin-left:auto;white-space:nowrap}
.divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;font-weight:800;text-transform:none;letter-spacing:1px;margin:8px 4px 0}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line2)}
.more{padding:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);color:var(--accent);font-weight:800;cursor:pointer}

/* reactions + comments */
.acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.rx{position:relative;display:inline-flex;align-items:center;gap:4px;background:var(--card2);border:1px solid var(--line);border-radius:999px;padding:4px 10px;cursor:pointer;font-size:14px;line-height:20px;transition:transform .15s var(--ease),background .15s,border-color .15s}
.rx:hover{background:var(--card3)}
.rx:active{transform:scale(.88)}
.rx.on{border-color:var(--accent);background:rgba(255,91,36,.12)}
.rx b{font-size:12px;font-weight:800}
.rx.add,.rx.cm{color:var(--muted);font-size:13px;font-weight:700}
.rx.pop{animation:pop .45s var(--ease)}
.burst{position:fixed;z-index:50;pointer-events:none;font-size:26px;animation:burst .9s var(--ease) forwards}
.thread{margin-top:10px;padding:10px 12px;background:rgba(0,0,0,.25);border-radius:12px}
.cmt{padding:5px 0;word-wrap:break-word;font-size:13.5px}
.cmt .cn{font-weight:800;margin-right:4px}
.cmt .ct{color:var(--dim);font-size:11px;margin-left:6px}
.cmt.new{animation:enter .4s var(--ease)}
.cform{display:flex;gap:6px;margin-top:8px}
.cform input{flex:1;min-width:0;background:var(--bg);border:1px solid var(--line2);border-radius:999px;color:var(--text);padding:9px 14px;font:inherit}
.cform input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,91,36,.15)}
.cform button{background:linear-gradient(135deg,var(--accent),#FF7A45);color:#1A0A04;border:0;border-radius:999px;padding:0 16px;font-weight:800;cursor:pointer}

/* ---------- game page ---------- */
.back{background:none;border:0;color:var(--muted);font-weight:700;padding:4px 0 12px;cursor:pointer}
.back:hover{color:var(--text)}
.hero{--c1:#333;--c2:#333;position:relative;overflow:hidden;border-radius:22px;border:1px solid var(--line2);padding:22px 16px 18px;margin-bottom:16px;
  background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--c1) 55%,transparent),transparent 55%),radial-gradient(120% 140% at 100% 0%,color-mix(in srgb,var(--c2) 55%,transparent),transparent 55%),var(--card)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(7,8,10,.35));pointer-events:none}
.hero>*{position:relative;z-index:1}
.sb{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;text-align:center}
.tm img{width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 6px 16px rgba(0,0,0,.5))}
.tm .ab{font-weight:900;font-size:18px;margin-top:6px;letter-spacing:-.3px}
.tm .rc{color:rgba(255,255,255,.65);font-size:12px;font-weight:600}
.mid{display:flex;align-items:center;gap:16px}
.big{font-size:52px;font-weight:900;min-width:52px;letter-spacing:-2px;line-height:1;text-shadow:0 4px 20px rgba(0,0,0,.4)}
.big.lose{opacity:.45}
.big.flash{animation:bump 1.2s var(--ease)}
.st{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:13px;font-weight:700;color:rgba(255,255,255,.8);min-width:72px}
.sit{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:16px;color:rgba(255,255,255,.75);font-size:13px;font-weight:600;flex-wrap:wrap}
.sit b{color:#fff}
.sit .chip{background:rgba(0,0,0,.35);border:1px solid var(--line2);border-radius:999px;padding:5px 12px}
.diamond rect{fill:rgba(0,0,0,.35);stroke:rgba(255,255,255,.5);stroke-width:1.5;transition:fill .3s}
.diamond rect.on{fill:var(--gold);stroke:var(--gold)}
.outs{display:inline-flex;gap:4px;vertical-align:middle;margin-left:4px}
.outs i{width:8px;height:8px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55)}
.outs i.on{background:var(--live);border-color:var(--live)}
.lastp{margin-top:12px;text-align:center;font-size:13px;color:rgba(255,255,255,.8)}
.wp{margin-top:16px}
.wp .lbl{display:flex;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.7);font-weight:700;margin-bottom:6px}
.bar{display:flex;height:8px;border-radius:999px;overflow:hidden;background:rgba(0,0,0,.35)}
.bar span{display:block;height:100%;transition:width .8s var(--ease)}
.pick{padding:0 16px 16px}
.pick .opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pick button{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border-radius:14px;border:1px solid var(--line2);background:var(--card2);font-weight:800;cursor:pointer;transition:all .2s var(--ease)}
.pick button:hover{border-color:var(--accent);transform:translateY(-1px)}
.pick img{width:26px;height:26px;object-fit:contain}
.res{display:flex;align-items:center;gap:10px;margin-top:10px}
.res .n{width:52px;font-weight:800}
.res .bar{flex:1;height:12px}
.res .bar span{background:linear-gradient(90deg,var(--accent),var(--accent2))}
.res .pc{width:46px;text-align:right;font-weight:800}
.res.mine .n::after{content:" ✓";color:var(--accent)}
.tw{overflow-x:auto}
table.ls,table.bx{border-collapse:collapse;width:100%}
.ls th,.ls td,.bx th,.bx td{padding:8px 9px;text-align:center;white-space:nowrap;border-top:1px solid var(--line)}
.ls th,.bx th{color:var(--muted);font-size:11px;font-weight:800}
.ls td:first-child,.ls th:first-child,.bx td:first-child,.bx th:first-child{text-align:left;padding-left:16px;position:sticky;left:0;background:var(--card)}
.ls .tot{font-weight:900}
.bx tr.total td{font-weight:800}
.bx .pos{color:var(--muted);font-size:11px;margin-left:5px}
.grp{padding:14px 16px 6px;font-weight:900;border-top:1px solid var(--line)}
.grp small{color:var(--muted);font-weight:700;text-transform:capitalize}
.stat{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;padding:9px 16px;border-top:1px solid var(--line)}
.stat .l{font-weight:800}.stat .r{font-weight:800;text-align:right}.stat .m{color:var(--muted);font-size:12px;text-align:center;font-weight:600}
.stat .w{color:var(--accent)}
.tabs{display:flex;gap:4px;margin-bottom:12px;padding:4px;background:var(--card);border:1px solid var(--line);border-radius:14px}
.tabs button{flex:1;background:none;border:0;border-radius:10px;padding:9px 10px;font-weight:800;color:var(--muted);cursor:pointer;transition:all .2s var(--ease)}
.tabs button.on{background:var(--card3);color:var(--text);box-shadow:0 2px 8px rgba(0,0,0,.3)}
.box-wrap{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.filters{display:flex;gap:6px}
.chip{background:var(--card);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-weight:700;cursor:pointer;white-space:nowrap;font-size:13px}
.chip.on{background:var(--text);color:var(--bg);border-color:var(--text)}

/* ---------- The Pulse + Hype ---------- */
.pulse-svg{display:block;width:100%;height:auto;overflow:visible}
.pulse-svg .midl{stroke:rgba(255,255,255,.18);stroke-width:1;stroke-dasharray:3 4}
.pulse-svg .pline{fill:none;stroke:#fff;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(255,255,255,.35))}
.pulse-svg .pdot{fill:#fff}
.pulse-svg .pdot.ring{fill:none;stroke:#fff;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:ping 1.6s var(--ease) infinite}
.pulse-svg .pl{fill:rgba(255,255,255,.55);font-size:12px;font-weight:800;letter-spacing:.5px}
.pulse-svg .sw{cursor:pointer}
.pulse-svg .sw-hit{fill:transparent}
.pulse-svg .sw-dot{fill:var(--gold);stroke:#07080a;stroke-width:2;transition:r .2s}
.pulse-svg .sw:hover .sw-dot{r:7}
.spark{margin:10px -2px 0;opacity:.95}
.spark .pline{stroke-width:1.6}
.hype{display:inline-flex;align-items:center;gap:6px;font-weight:900;font-size:12px;color:var(--muted);white-space:nowrap}
.hype i{font-style:normal;font-weight:800;font-size:10.5px;letter-spacing:.4px;text-transform:none;padding:2px 7px;border-radius:6px;background:var(--card3);color:var(--text)}
.hype.warm{color:var(--gold)}
.hype.hot{color:#ff7a45}
.hype.hot i{background:linear-gradient(90deg,#ff5f3a,#ff2d55);color:#fff}
.ring{position:relative;display:grid;place-items:center;flex:none}
.ring svg{position:absolute;inset:0;width:100%;height:100%}
.ring .rt{fill:rgba(0,0,0,.35);stroke:rgba(255,255,255,.12);stroke-width:4}
.ring .rv{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;transition:stroke-dasharray .8s var(--ease)}
.ring.warm .rv{stroke:var(--gold)}
.ring.hot .rv{stroke:#ff4d3a;filter:drop-shadow(0 0 6px rgba(255,77,58,.7))}
.ring b{position:relative;font-size:15px;font-weight:900}

/* spotlight */
.spot-card{--c1:#333;--c2:#333;position:relative;display:block;width:100%;text-align:left;cursor:pointer;overflow:hidden;border-radius:24px;border:1px solid var(--line2);padding:18px 18px 14px;
  background:radial-gradient(90% 120% at 0% 0%,color-mix(in srgb,var(--c1) 60%,transparent),transparent 60%),radial-gradient(90% 120% at 100% 0%,color-mix(in srgb,var(--c2) 60%,transparent),transparent 60%),linear-gradient(180deg,var(--card2),var(--card));
  box-shadow:0 20px 50px rgba(0,0,0,.45);transition:transform .25s var(--ease),box-shadow .25s}
.spot-card:hover{transform:translateY(-2px);box-shadow:0 26px 60px rgba(0,0,0,.55)}
.spot-card:active{transform:scale(.99)}
.spot-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.kicker{font-size:12px;font-weight:900;letter-spacing:1.2px;text-transform:none;padding:6px 11px;border-radius:999px;background:rgba(0,0,0,.4);backdrop-filter:blur(6px)}
.spot-sb{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;text-align:center}
.st-team img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.5))}
.st-nm{font-weight:900;font-size:17px;margin-top:4px;letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-rec{font-size:12px;color:rgba(255,255,255,.6);font-weight:600}
.spot-mid{display:flex;align-items:center;gap:14px}
.st-sc{font-size:48px;font-weight:900;letter-spacing:-2px;line-height:1;text-shadow:0 4px 24px rgba(0,0,0,.5)}
.st-sc.lose{opacity:.45}
.spot-chart{position:relative;margin:14px -4px 0;padding:8px 4px 0;border-top:1px solid rgba(255,255,255,.08)}
.st-nm .abbr{display:none}
.spot-chart .cap{display:block;text-align:right;margin-top:6px;font-size:10.5px;font-weight:800;letter-spacing:.6px;text-transform:none;color:rgba(255,255,255,.45)}
.spot-cta{display:flex;justify-content:flex-end;gap:6px;margin-top:10px;font-weight:800;font-size:13px;color:rgba(255,255,255,.8)}
.spot-cta span{transition:transform .2s var(--ease)}
.spot-card:hover .spot-cta span{transform:translateX(4px)}

/* game-page pulse */
.pulse-card{padding:0 0 14px;background:linear-gradient(180deg,var(--card2),var(--card))}
.pulse-h{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 4px}
.pulse-h h3{padding:0;font-size:15px;color:var(--text);letter-spacing:.2px;text-transform:none;font-weight:900}
.pulse-h .sub{font-size:12px;color:var(--muted);font-weight:600}
.pulse-chart{padding:6px 10px 0}
.swings{display:flex;flex-direction:column;gap:6px;padding:10px 14px 0}
.sw-h{font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:none;color:var(--muted)}
.swing{--tc:#888;display:flex;align-items:baseline;gap:10px;text-align:left;background:var(--card2);border:1px solid var(--line);border-left:3px solid var(--tc);border-radius:12px;padding:9px 12px;cursor:pointer;transition:background .15s,transform .15s}
.swing:hover{background:var(--card3);transform:translateX(2px)}
.swing b{white-space:nowrap;font-weight:900;color:var(--tc);filter:brightness(1.4)}
.swing span{font-size:13px;color:#c9ced6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.play.hl{animation:hl 2s var(--ease)}
@keyframes hl{0%,30%{box-shadow:0 0 0 2px var(--gold),0 0 30px rgba(255,197,66,.35)}100%{box-shadow:none}}
@keyframes ping{0%{transform:scale(1);opacity:.9}100%{transform:scale(3.2);opacity:0}}

/* ---------- sidebar ---------- */
.item{display:flex;gap:12px;padding:11px 16px;border-top:1px solid var(--line);transition:background .15s}
a.item:hover{background:var(--card2)}
.item img.h{width:38px;height:38px;border-radius:50%;object-fit:cover;background:var(--card2);flex:none}
.item .t{font-weight:700}
.item .s{color:var(--muted);font-size:12px}
.tag{font-size:11px;font-weight:800;padding:3px 8px;border-radius:6px;background:rgba(255,197,66,.12);color:var(--gold);white-space:nowrap;align-self:flex-start}
.tag.out{background:rgba(255,59,74,.12);color:#ff6b77}
.news img{width:72px;height:50px;border-radius:10px;object-fit:cover;flex:none}

/* ---------- banner, toast, skeletons ---------- */
.banner{--tc:#FF5B24;position:fixed;left:50%;top:calc(var(--hdr,112px) + 10px);z-index:30;width:min(560px,calc(100% - 24px));transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;cursor:pointer;
  background:linear-gradient(110deg,color-mix(in srgb,var(--tc) 85%,#000),color-mix(in srgb,var(--tc) 55%,#000));box-shadow:0 16px 40px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.12) inset;animation:drop .5s var(--ease)}
.banner img{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}
.banner .bt{font-weight:900;font-size:11px;letter-spacing:1px;text-transform:none;opacity:.85}
.banner .bx{font-weight:700;font-size:14px;line-height:1.3}
.banner .bs{margin-left:auto;font-weight:900;font-size:15px;white-space:nowrap;background:rgba(0,0,0,.3);padding:6px 10px;border-radius:10px}
.banner.out{animation:rise .4s var(--ease) forwards}
.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 24px);transform:translateX(-50%);background:var(--text);color:var(--bg);padding:11px 18px;border-radius:999px;font-weight:700;z-index:40;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.sk{border-radius:var(--r);background:linear-gradient(90deg,var(--card) 0%,var(--card2) 50%,var(--card) 100%);background-size:200% 100%;animation:shimmer 1.2s infinite linear;border:1px solid var(--line)}
footer{color:var(--dim);font-size:12px;text-align:center;padding:8px 16px calc(env(safe-area-inset-bottom) + 28px)}

/* ---------- motion ---------- */
@keyframes pulse{50%{opacity:.3}}
@keyframes enter{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes fadeOut{0%{opacity:1}70%{opacity:.6}100%{opacity:0}}
@keyframes flash{0%{color:var(--accent);transform:scale(1.35);text-shadow:0 0 18px var(--accent)}100%{transform:none}}
@keyframes bump{0%{transform:scale(1.4);color:var(--accent);text-shadow:0 0 30px var(--accent)}100%{transform:none}}
@keyframes cardPulse{0%{box-shadow:0 0 0 0 rgba(255,91,36,.6)}100%{box-shadow:0 0 0 14px rgba(255,91,36,0)}}
@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.25)}100%{transform:scale(1)}}
@keyframes burst{0%{opacity:1;transform:translate(-50%,-50%) scale(.6)}30%{transform:translate(-50%,-110%) scale(1.4)}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),-260%) scale(1)}}
@keyframes drop{from{opacity:0;transform:translate(-50%,-20px) scale(.96)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes rise{to{opacity:0;transform:translate(-50%,-16px) scale(.97)}}
@keyframes shimmer{to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}}

/* ---------- small phones ---------- */
@media(max-width:420px){
  .top{padding:10px 12px 8px;gap:6px}.brand{font-size:17px;gap:7px}.mark{width:20px;height:20px}.mark::after{inset:6px}
  .datebar{gap:4px}.datebar button{height:30px;min-width:30px}.datebar .d{padding:0 8px;min-width:0;font-size:13px}
  .me{padding:0 9px}.me .nm{display:none}
  .leagues{padding:0 12px 10px}
  #gameView{padding:12px 12px 20px}
  .hero{padding:18px 10px 14px}.big{font-size:38px;min-width:0;letter-spacing:-1px}.mid{gap:8px}.st{min-width:0;font-size:12px}
  .tm img{width:48px;height:48px}.tm .ab{font-size:15px}
  .play{grid-template-columns:32px minmax(0,1fr);gap:10px;padding:12px}.play .lg img{width:30px;height:30px}
  .st-team img{width:44px;height:44px}.st-nm{font-size:15px}.st-sc{font-size:34px;letter-spacing:-1px}.spot-mid{gap:8px}
}

/* ---------- sub-nav, For You, CTA ---------- */
.subnav{display:flex;gap:2px;max-width:1400px;margin:0 auto;padding:0 16px 10px;overflow-x:auto;scrollbar-width:none}
.subnav::-webkit-scrollbar{display:none}
.subnav button{white-space:nowrap;background:none;border:0;padding:6px 12px;border-radius:999px;font-weight:800;font-size:13px;color:var(--muted);cursor:pointer;transition:all .2s var(--ease)}
.subnav button:hover{color:var(--text)}
.subnav button.on{background:var(--card2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line2)}
.leagues .me-chip{border-color:rgba(255,197,66,.35);color:var(--gold)}
.leagues .me-chip.on{background:linear-gradient(135deg,#ffd76a,#ffb020);color:#1a1200;border-color:transparent}
.star{color:var(--gold);margin-right:5px;font-size:.9em}
.lgtag{font-size:11px;font-weight:800;color:var(--muted);margin-right:8px;white-space:nowrap}
.cta{display:flex;align-items:center;gap:12px;padding:14px;margin-bottom:14px;border-radius:var(--r);border:1px solid rgba(255,197,66,.3);background:linear-gradient(110deg,rgba(255,197,66,.14),rgba(255,197,66,.02) 60%),var(--card)}
.cta-ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:20px;color:#1a1200;background:linear-gradient(135deg,#ffd76a,#ffb020);flex:none}
.cta-t{flex:1;min-width:0;display:flex;flex-direction:column;font-size:13px;color:var(--muted)}
.cta-t b{color:var(--text);font-size:14px}
.cta-b{background:var(--text);color:var(--bg);border:0;border-radius:999px;padding:8px 14px;font-weight:800;cursor:pointer;white-space:nowrap}
.cta-x{background:none;border:0;color:var(--dim);cursor:pointer;font-size:14px;padding:4px}

/* ---------- picker ---------- */
body.modal-open{overflow:hidden}
.picker{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s}
.pk-sheet{width:min(720px,100%);max-height:88vh;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line2);border-radius:24px 24px 0 0;padding:16px 16px calc(env(safe-area-inset-bottom) + 12px);animation:sheet .35s var(--ease)}
@media(min-width:760px){.picker{align-items:center}.pk-sheet{border-radius:24px;max-height:80vh}}
.pk-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.pk-h h2{margin:0;font-size:22px;font-weight:900;letter-spacing:-.4px}
.pk-h span{font-size:13px;color:var(--muted);font-weight:600}
.pk-done{background:linear-gradient(135deg,var(--accent),#FF7A45);color:#1A0A04;border:0;border-radius:999px;padding:10px 20px;font-weight:900;cursor:pointer}
.pk-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:10px}
.pk-tabs::-webkit-scrollbar{display:none}
.pk-tabs button{display:flex;align-items:center;gap:5px;background:var(--card2);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:7px 12px;font-weight:800;cursor:pointer;white-space:nowrap}
.pk-tabs button.on{background:var(--text);color:var(--bg)}
.pk-tabs b{background:var(--gold);color:#1a1200;border-radius:999px;font-size:10.5px;padding:1px 6px}
.pk-search{background:var(--bg);border:1px solid var(--line2);border-radius:12px;color:var(--text);padding:10px 14px;font:inherit;margin-bottom:12px}
.pk-search:focus{outline:none;border-color:var(--accent)}
.pk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;overflow-y:auto;padding:2px}
.pk{--tc:#555;position:relative;display:flex;align-items:center;gap:10px;padding:10px;border-radius:14px;border:1px solid var(--line);background:var(--card2);cursor:pointer;text-align:left;transition:all .15s var(--ease)}
.pk:hover{border-color:var(--line2)}
.pk:active{transform:scale(.97)}
.pk img{width:32px;height:32px;object-fit:contain;flex:none}
.pk span{flex:1;min-width:0;font-weight:700;font-size:13px;line-height:1.2}
.pk i{font-style:normal;color:var(--dim);font-size:16px}
.pk.on{border-color:color-mix(in srgb,var(--tc) 70%,#fff 0%);background:linear-gradient(110deg,color-mix(in srgb,var(--tc) 35%,transparent),var(--card2) 70%)}
.pk.on i{color:var(--gold)}

/* ---------- standings + team page ---------- */
.page{max-width:900px;margin:0 auto;padding:18px 16px 24px}
.st-card h3{font-size:13px}
table.stand td,table.stand th{text-align:right;padding:9px 10px}
table.stand td:first-child,table.stand th:first-child{text-align:left}
table.stand tbody tr{cursor:pointer;transition:background .15s}
table.stand tbody tr:hover td{background:var(--card2)}
table.stand tr.mine td{background:rgba(255,197,66,.07)}
table.stand td:first-child{display:flex;align-items:center;gap:8px;min-width:170px}
table.stand img{width:22px;height:22px;object-fit:contain}
table.stand .rk{width:18px;color:var(--muted);font-weight:700;font-size:12px}
table.stand .tn{color:var(--muted);font-size:12px;font-weight:500}
.team-hero{--c1:#333;position:relative;overflow:hidden;border-radius:22px;border:1px solid var(--line2);padding:20px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  background:radial-gradient(120% 160% at 0% 0%,color-mix(in srgb,var(--c1) 65%,transparent),transparent 60%),var(--card)}
.th{display:flex;align-items:center;gap:16px;min-width:0}
.th img{width:84px;height:84px;object-fit:contain;filter:drop-shadow(0 8px 20px rgba(0,0,0,.5))}
.th h1{margin:2px 0;font-size:28px;font-weight:900;letter-spacing:-.6px;line-height:1.1}
.th-lg{font-size:12px;font-weight:800;letter-spacing:.8px;text-transform:none;color:rgba(255,255,255,.7)}
.th-rec{color:rgba(255,255,255,.75);font-weight:600;font-size:13px}
.follow{background:rgba(0,0,0,.4);border:1px solid var(--line2);border-radius:999px;padding:10px 18px;font-weight:900;cursor:pointer;transition:all .2s var(--ease)}
.follow:hover{border-color:var(--gold)}
.follow.on{background:linear-gradient(135deg,#ffd76a,#ffb020);color:#1a1200;border-color:transparent}
.srow{display:flex;align-items:center;gap:10px;width:100%;padding:11px 16px;background:none;border:0;border-top:1px solid var(--line);cursor:pointer;text-align:left;transition:background .15s}
.srow:hover{background:var(--card2)}
.srow .at{width:22px;color:var(--muted);font-weight:700;font-size:12px}
.srow img{width:26px;height:26px;object-fit:contain}
.srow .opp{flex:1;min-width:0;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srow .res{display:flex;align-items:center;gap:8px;white-space:nowrap}
.srow .when{color:var(--muted);font-size:12.5px;font-weight:600}
.wl{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:11px;font-weight:900}
.wl.w{background:rgba(255,91,36,.18);color:var(--accent)}.wl.l{background:rgba(255,59,74,.15);color:#ff6b77}
.tm[data-team]{cursor:pointer;border-radius:14px;padding:4px;transition:background .15s}
.tm[data-team]:hover{background:rgba(0,0,0,.2)}

/* ---------- Fan Pulse + share ---------- */
.pulse-svg .fan{fill:var(--accent);opacity:.55;filter:drop-shadow(0 0 4px rgba(255,91,36,.6))}
.ph-r{display:flex;align-items:center;gap:10px}
.share{background:var(--card3);border:1px solid var(--line2);border-radius:999px;padding:7px 13px;font-weight:800;font-size:13px;cursor:pointer;transition:all .2s var(--ease)}
.share:hover{border-color:var(--accent);color:var(--accent)}
.legend{display:flex;gap:14px;flex-wrap:wrap;padding:8px 16px 0;font-size:11.5px;color:var(--muted);font-weight:600}
.legend span{display:inline-flex;align-items:center;gap:6px}
.lg-line{width:14px;height:2px;background:#fff;border-radius:2px}
.lg-fan{width:6px;height:10px;background:var(--accent);border-radius:2px;opacity:.7}
@keyframes fadeIn{from{opacity:0}}
@keyframes sheet{from{transform:translateY(40px);opacity:0}}

/* ---------- Matchup tab ---------- */
.mx h3 .tagok,.mx h3 .tagproj{font-size:10px;letter-spacing:.6px;padding:3px 8px;border-radius:6px}
.tagok{background:rgba(255,91,36,.15);color:var(--accent)}
.tagproj{background:rgba(255,197,66,.14);color:var(--gold)}
.pad{padding:4px 16px 16px}
.dn{font-size:12px;color:var(--muted);font-weight:600;margin-top:6px}
.dn.pad{padding:0 16px 14px;margin:0}
.dual{margin-bottom:14px}
.dual .dl{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);font-weight:700;margin-bottom:6px}
.dual .dl b{color:var(--text);font-size:15px}
.bar.big{height:12px}
.odds{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin-top:4px}
.odds div{background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:9px 11px;display:flex;flex-direction:column;gap:2px}
.odds span{font-size:10.5px;color:var(--muted);font-weight:800;text-transform:none;letter-spacing:.6px}
.odds b{font-size:15px;font-weight:900}
.info{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:12px;font-size:12.5px;color:#c9ced6;font-weight:600}
.ou-q{font-size:15px;font-weight:700;margin-bottom:10px}
.opts2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.opts2 button{padding:14px;border-radius:14px;border:1px solid var(--line2);background:var(--card2);font-weight:900;font-size:15px;cursor:pointer;transition:all .2s var(--ease)}
.opts2 button:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 20px rgba(255,91,36,.15)}
.sp-row{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;padding:4px 14px 16px}
.sp-card{--tc:#555;display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:linear-gradient(120deg,color-mix(in srgb,var(--tc) 30%,transparent),var(--card2) 70%);border:1px solid var(--line2);min-width:0}
.sp-card.tbd{justify-content:center;color:var(--muted)}
.sp-tm{font-size:10.5px;font-weight:800;text-transform:none;letter-spacing:.6px;color:rgba(255,255,255,.7)}
.sp-n{font-weight:900;font-size:16px;line-height:1.2}
.sp-s{font-size:12.5px;color:#c9ced6;font-weight:700;margin-top:2px}
.vs{font-weight:900;font-size:12px;color:var(--muted);letter-spacing:1px}
.face{border-radius:50%;object-fit:cover;background:var(--card3);flex:none;display:inline-grid;place-items:center;font-weight:900;color:var(--muted)}
.face.ph{font-size:13px}
.lu{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 14px 14px}
.lu-col{min-width:0}
.mx-th{--tc:#555;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:linear-gradient(90deg,color-mix(in srgb,var(--tc) 35%,transparent),transparent);margin-bottom:8px}
.mx-th img{width:24px;height:24px;object-fit:contain}
.lu-g{margin-bottom:10px}
.lu-gn{font-size:10.5px;font-weight:800;text-transform:none;letter-spacing:.7px;color:var(--muted);margin:6px 2px}
.lu-p{display:flex;align-items:center;gap:8px;padding:5px 2px;border-top:1px solid var(--line);min-width:0}
.lu-p .o{width:16px;font-size:12px;color:var(--muted);font-weight:800;text-align:right;flex:none}
.lu-p .n{flex:1;min-width:0;font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column}
.lu-p .n small{font-weight:600;color:var(--muted);font-size:11px}
.lu-p .pos{font-size:11px;font-weight:800;color:var(--muted)}
.kh{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;padding:0 14px}
.krow{display:grid;grid-template-columns:1fr 90px 1fr;gap:8px;align-items:center;padding:8px 14px;border-top:1px solid var(--line)}
.krow .kp:last-child{flex-direction:row-reverse;text-align:right}
.kp{display:flex;align-items:center;gap:8px;min-width:0}
.kn{font-weight:800;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kv{font-size:11.5px;color:var(--muted);font-weight:600}
.kc{text-align:center;font-size:10.5px;font-weight:800;text-transform:none;letter-spacing:.5px;color:var(--muted)}
.form-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.form-row .mx-th{margin:0;flex:1}
.chips{display:flex;gap:5px}
.chips .wl{width:26px;height:26px;border-radius:8px;font-size:12px}
.wl.t{background:var(--card3);color:var(--muted)}
.ro-btns{display:flex;gap:8px;padding:0 14px 14px;flex-wrap:wrap}
.ro-b{--tc:#555;display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1px solid var(--line2);background:var(--card2);font-weight:800;cursor:pointer;transition:all .2s var(--ease)}
.ro-b img{width:22px;height:22px;object-fit:contain}
.ro-b.on,.ro-b:hover{border-color:var(--tc);background:color-mix(in srgb,var(--tc) 22%,var(--card2))}
.mx-open{padding:0 14px 14px}
.ro-h{margin-bottom:4px}
.ro-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px}
.ro-p{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;background:var(--card2);border:1px solid var(--line)}
.ro-p .n{font-weight:800;font-size:13px}
.ro-p .pos{font-size:11.5px;color:var(--muted);font-weight:600}
.ro-p.hurt{border-color:rgba(255,59,74,.35)}
.ro-p.hurt .pos{color:#ff6b77}
.pre-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:16px}
.pre-actions button{background:rgba(0,0,0,.35);border:1px solid var(--line2);border-radius:999px;padding:8px 14px;font-weight:800;font-size:13px;cursor:pointer;transition:all .2s var(--ease)}
.pre-actions button:hover{border-color:var(--accent);transform:translateY(-1px)}
.countdown{display:flex;align-items:baseline;gap:2px;font-variant-numeric:tabular-nums;padding:6px 14px;border-radius:14px;background:rgba(0,0,0,.4);border:1px solid var(--line2)}
.countdown small{font-size:11px;font-weight:800;color:var(--muted);text-transform:none;letter-spacing:.6px;margin-right:8px}
.countdown b{font-size:20px;font-weight:900}
.countdown i{font-style:normal;font-size:11px;color:var(--muted);font-weight:700;margin-right:6px}
@media(max-width:560px){.lu{grid-template-columns:1fr}.sp-row{grid-template-columns:1fr}.sp-row .vs{text-align:center}.krow{grid-template-columns:1fr 70px 1fr}}

/* ---------- injuries in lineups/rosters + alerts ---------- */
.tag.doubt{background:rgba(255,140,50,.14);color:#ff9d4d}
.lu-p .tag{font-size:10px;padding:2px 6px;align-self:center;flex:none}
.lu-p.out .n,.lu-p.out .face{opacity:.45;text-decoration:line-through}
.lu-p.sub{border-top:0;padding-top:0;padding-left:12px}
.lu-p.sub .n{color:var(--accent)}
.lu-p.sub small{color:var(--muted)}
.lu-gn.hurt{color:#ff6b77}
.ro-p .tag{margin-left:auto;font-size:10px;padding:2px 6px}
.ro-p.q{border-color:rgba(255,197,66,.3)}
.lu-alerts{margin:0 14px 12px;padding:10px 12px;border-radius:12px;background:rgba(255,91,36,.08);border:1px solid rgba(255,91,36,.25);display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600}
.lu-alerts span{color:var(--accent);font-weight:800;margin-right:8px}
.alerts-card h3 .dot{width:7px;height:7px;display:inline-block;margin-right:6px;vertical-align:middle;background:var(--accent);box-shadow:0 0 10px var(--accent)}
.item.al{width:100%;background:none;border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer}
.item.al:hover{background:var(--card2)}
.al-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:20px;background:rgba(0,0,0,.3);flex:none}
.al-ic.sm{width:32px;height:32px;font-size:16px;background:var(--card2)}
.item.al .s{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- Live Field ---------- */
.field-card{padding-bottom:14px;background:linear-gradient(180deg,var(--card2),var(--card))}
.f-h{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px 8px;flex-wrap:wrap}
.f-h h3{padding:0;font-size:15px;color:var(--text);text-transform:none;letter-spacing:.2px;font-weight:900}
.f-tabs{display:flex;gap:4px;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:3px}
.f-tabs button{background:none;border:0;border-radius:999px;padding:5px 11px;font-weight:800;font-size:12px;color:var(--muted);cursor:pointer}
.f-tabs button.on{background:var(--card3);color:var(--text)}
.f-ab{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:12px;padding:0 14px;align-items:start}
@media(max-width:560px){.f-ab{grid-template-columns:1fr}}
.zone{width:100%;height:auto;display:block}
.zone-bg{fill:rgba(0,0,0,.3)}
.zone-box{fill:rgba(255,255,255,.04);stroke:rgba(255,255,255,.75);stroke-width:1.4}
.zone-grid{stroke:rgba(255,255,255,.15);stroke-width:.8}
.plate{fill:rgba(255,255,255,.85)}
.batter{fill:rgba(255,255,255,.07)}
.pd circle{stroke:#07080a;stroke-width:1.2}
.pd.b circle{fill:#3fa9ff}.pd.k circle{fill:#ff4d5e}.pd.x circle{fill:#FF5B24}.pd.h circle{fill:#b77dff}
.pd text{font-size:8px;font-weight:900;fill:#07080a;text-anchor:middle;pointer-events:none}
.pd .ring{fill:none!important;stroke:#fff!important;stroke-width:1.2;transform-box:fill-box;transform-origin:center;animation:pingSm 1.8s var(--ease) infinite}
@keyframes pingSm{0%{transform:scale(.8);opacity:.9}100%{transform:scale(1.7);opacity:0}}
.pd.new{animation:pitchIn .55s var(--ease) both;animation-delay:var(--d,0ms);transform-box:fill-box;transform-origin:center}
@keyframes pitchIn{0%{opacity:0;transform:scale(2.6)}60%{opacity:1;transform:scale(.85)}100%{transform:none}}
.f-side{min-width:0}
.f-mu{font-weight:800;font-size:13px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.f-mu img{width:22px;height:22px;object-fit:contain}
.f-res{font-weight:800;color:var(--accent);margin-bottom:8px}
.f-legend{display:flex;flex-wrap:wrap;gap:6px 14px;padding:10px 14px 0;font-size:11.5px;color:var(--muted);font-weight:700}
.f-legend span{display:inline-flex;align-items:center;gap:5px}
.f-legend i{width:9px;height:9px;border-radius:50%;display:inline-block;font-style:normal}
.f-legend i.b{background:#3fa9ff}.f-legend i.k{background:#ff4d5e}.f-legend i.x{background:#FF5B24}
.f-legend i.solid{background:var(--text)}.f-legend i.hollow{border:1.6px solid var(--text)}
.f-legend i.xm{width:auto;height:auto;border-radius:0;color:var(--text);font-size:10px}
.f-spray{padding:0 14px}
.spray{width:100%;max-width:420px;display:block;margin:0 auto}
.grass{fill:rgba(255,91,36,.08);stroke:rgba(255,91,36,.25)}
.dirt{fill:rgba(255,180,90,.1)}
.fl{stroke:rgba(255,255,255,.4);stroke-width:1}
.base{fill:#fff}
.hd.new{animation:pitchIn .6s var(--ease) both;transform-box:fill-box;transform-origin:center}
.hd.hr circle{filter:drop-shadow(0 0 4px var(--gold))}
.courtsvg{width:calc(100% - 28px);margin:0 14px;display:block;border-radius:12px;background:linear-gradient(180deg,rgba(255,170,90,.08),rgba(255,170,90,.02))}
.court{fill:none;stroke:rgba(255,255,255,.35);stroke-width:.25}
.paint{fill:rgba(255,255,255,.04);stroke:rgba(255,255,255,.35);stroke-width:.25}
.cl{fill:none;stroke:rgba(255,255,255,.35);stroke-width:.25}
.hoop{fill:none;stroke:#ff7a45;stroke-width:.3}
.sd.new{animation:pitchIn .6s var(--ease) both;transform-box:fill-box;transform-origin:center}
.sd.recent circle,.sd.recent path{filter:drop-shadow(0 0 1px #fff)}
.drives{padding:0 14px}
.dr-axis{display:flex;justify-content:space-between;font-size:10px;font-weight:800;color:var(--muted);text-transform:none;letter-spacing:.4px;margin:0 86px 6px 30px;white-space:nowrap}
.dr{display:grid;grid-template-columns:22px 1fr 78px;gap:8px;align-items:center;padding:4px 0}
.dr img{width:20px;height:20px;object-fit:contain}
.dr-bar{position:relative;height:14px;border-radius:4px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 9.9%,rgba(255,255,255,.12) 9.9% 10%),rgba(255,91,36,.05)}
.dr-fill{position:absolute;top:2px;bottom:2px;border-radius:3px;transform-origin:left;animation:grow-x .7s var(--ease) both}
.dr.score .dr-fill{box-shadow:0 0 10px currentColor}
.dr-res{font-size:11px;font-weight:800;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dr.score .dr-res{color:var(--gold)}
.dr.new{animation:viewIn .5s var(--ease)}
@keyframes grow-x{from{transform:scaleX(0)}}
.f-drive{padding:0 14px}
.fieldsvg{width:100%;display:block;border-radius:10px;overflow:hidden;margin:6px 0 8px}
.turf{fill:#0f3d24}
.yl{stroke:rgba(255,255,255,.25);stroke-width:.25}
.yn{fill:rgba(255,255,255,.4);font-size:3px;font-weight:800;text-anchor:middle}
.drv{opacity:.55;rx:2}
.fd{stroke:#ffd400;stroke-width:.6}
.los{stroke:#3fa9ff;stroke-width:.6}
.pm{fill:#fff;opacity:.6}.pm.new{animation:pitchIn .5s var(--ease) both;transform-box:fill-box;transform-origin:center}
.ball{transition:transform .9s var(--ease)}
.ball ellipse{fill:#8b4a22;stroke:#fff;stroke-width:.3}
.ball line{stroke:#fff;stroke-width:.25}

/* ---------- Story recaps ---------- */
.story{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.85);backdrop-filter:blur(10px);display:grid;place-items:center;animation:fadeIn .2s}
.story-frame{position:relative;width:min(430px,100vw);height:min(860px,100dvh);border-radius:22px;overflow:hidden;background:#07080a;box-shadow:0 30px 80px rgba(0,0,0,.6);user-select:none;touch-action:manipulation}
@media(max-width:480px){.story-frame{border-radius:0}}
.story-bars{position:absolute;top:calc(env(safe-area-inset-top) + 10px);left:10px;right:10px;display:flex;gap:4px;z-index:3}
.story-bars i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.25);overflow:hidden}
.story-bars i.done b{width:100%}
.story-bars b{display:block;height:100%;width:0;background:#fff}
.story-bars i.now b{animation:barFill linear forwards}
.story-bars.paused i.now b{animation-play-state:paused}
@keyframes barFill{to{width:100%}}
.story-x{position:absolute;top:calc(env(safe-area-inset-top) + 22px);right:12px;z-index:4;background:rgba(0,0,0,.4);border:0;border-radius:50%;width:34px;height:34px;font-size:15px;cursor:pointer}
.story-nav{position:absolute;top:70px;bottom:120px;width:35%;z-index:2;background:none;border:0;cursor:pointer}
.story-nav.prev{left:0}.story-nav.next{right:0;width:65%}
.story-slide{--c1:#333;--c2:#07080a;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:70px 24px 40px;
  background:radial-gradient(120% 70% at 20% 0%,color-mix(in srgb,var(--c1) 75%,transparent),transparent 70%),radial-gradient(120% 70% at 100% 100%,color-mix(in srgb,var(--c2) 60%,transparent),transparent 70%),#07080a}
.story-slide.in .ss>*{animation:stIn .6s var(--ease) both}
.story-slide.in .ss>*:nth-child(2){animation-delay:.08s}.story-slide.in .ss>*:nth-child(3){animation-delay:.16s}.story-slide.in .ss>*:nth-child(4){animation-delay:.24s}.story-slide.in .ss>*:nth-child(5){animation-delay:.32s}.story-slide.in .ss>*:nth-child(6){animation-delay:.4s}
.ss{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}
.ss-k{font-size:12px;font-weight:900;letter-spacing:1.4px;text-transform:none;color:rgba(255,255,255,.75)}
.ss-t{font-size:34px;font-weight:900;letter-spacing:-1px;line-height:1.05}
.ss-t span{font-size:18px;color:rgba(255,255,255,.6);font-weight:700}
.ss-t.sm{font-size:26px}
.ss-score{display:flex;align-items:center;gap:clamp(6px,2.5vw,14px);font-weight:900;max-width:100%}
.ss-score div{display:flex;align-items:center;gap:10px}
.ss-score img{width:clamp(34px,11vw,58px);height:clamp(34px,11vw,58px);object-fit:contain;filter:drop-shadow(0 8px 20px rgba(0,0,0,.5))}
.ss-score b{font-size:clamp(40px,13vw,64px);letter-spacing:-2px}
.ss-score span{font-size:30px;color:rgba(255,255,255,.4)}
.ss-pill{padding:6px 14px;border-radius:999px;background:rgba(0,0,0,.45);font-weight:800;font-size:13px;letter-spacing:.6px}
.ss-hype{display:flex;align-items:center;gap:10px;font-weight:900;font-size:16px}
.ss-hype .ring .rv{animation:ringFill 1.2s var(--ease) .3s both}
.ss-hint{font-size:12px;color:rgba(255,255,255,.45);font-weight:700;margin-top:12px}
.ss-chart{width:100%}
.ss-chart.sm{max-width:360px}
.ss-sub{font-size:13px;color:rgba(255,255,255,.7);font-weight:700}
.ss-swing{font-size:44px;font-weight:900;letter-spacing:-1px;color:#fff;text-shadow:0 0 30px var(--tc)}
.ss-play{font-size:21px;font-weight:800;line-height:1.3;max-width:360px}
.ss-play.sm{font-size:17px}
.ss-mini{font-weight:900;font-size:15px;padding:6px 12px;border-radius:10px;background:rgba(0,0,0,.4)}
.ss-bar{width:100%;display:flex;height:40px;border-radius:12px;overflow:hidden;font-weight:900;font-size:13px}
.ss-bar span{display:flex;align-items:center;justify-content:center;white-space:nowrap;min-width:0;overflow:hidden;animation:grow-x .9s var(--ease) both;transform-origin:left}
.ss-actions{display:flex;flex-direction:column;gap:10px;width:100%;max-width:280px;margin-top:20px;position:relative;z-index:5}
.ss-actions button{padding:14px;border-radius:14px;border:0;font-weight:900;font-size:15px;cursor:pointer;background:#fff;color:#07080a}
.ss-actions button+button{background:rgba(255,255,255,.12);color:#fff}
.story-btn{background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.06))!important;border-color:rgba(255,255,255,.25)!important}
/* story circles */
.rings-h{font-size:12px;font-weight:900;letter-spacing:1px;text-transform:none;color:var(--muted);margin:0 2px 8px}
.rings{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 12px;margin-bottom:6px}
.rings::-webkit-scrollbar{display:none}
.ring-b{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;cursor:pointer;flex:none}
.rg{width:66px;height:66px;border-radius:50%;padding:3px;background:conic-gradient(var(--accent),var(--accent2),var(--accent));display:grid;place-items:center;transition:transform .2s var(--ease)}
.ring-b.hot .rg{background:conic-gradient(#ff2d55,#ff7a45,#ffc542,#ff2d55)}
.ring-b.seen .rg{background:var(--line2)}
.ring-b:hover .rg{transform:scale(1.06)}
.rl{width:100%;height:100%;border-radius:50%;background:var(--card);border:2px solid var(--bg);display:flex;align-items:center;justify-content:center;gap:0}
.rl img{width:24px;height:24px;object-fit:contain}
.rl img+img{margin-left:-4px}
.rt{font-size:11px;font-weight:800;color:var(--muted);white-space:nowrap}
.rt b{color:var(--gold)}

/* ---------- Clutch mode ---------- */
.clutch-glow{position:fixed;inset:0;pointer-events:none;z-index:1;box-shadow:inset 0 0 120px rgba(255,45,85,.35);animation:clutchGlow 1.6s ease-in-out infinite}
@keyframes clutchGlow{50%{box-shadow:inset 0 0 60px rgba(255,45,85,.18)}}
#gameView.clutch .hero{border-color:rgba(255,45,85,.6);box-shadow:0 0 0 1px rgba(255,45,85,.3),0 0 40px rgba(255,45,85,.25)}
#gameView.clutch .hero .big{animation:heartbeat 1.4s ease-in-out infinite}
@keyframes heartbeat{0%,40%,100%{transform:scale(1)}15%{transform:scale(1.08)}25%{transform:scale(1.02)}}
#gameView.clutch .hero .st::before{content:"🔥 CLUTCH";display:block;font-size:11px;font-weight:900;letter-spacing:1.2px;color:#fff;background:linear-gradient(90deg,#ff2d55,#ff7a45);padding:3px 9px;border-radius:999px;margin-bottom:4px;animation:pulse 1.4s infinite}
.gc.clutch{border-color:rgba(255,122,69,.6)}
.gc.clutch::before{background:conic-gradient(from var(--ang),transparent 0 50%,#ffc542 65%,#ff2d55 80%,transparent 95%)!important;animation-duration:1.6s!important}
.gc.clutch .pill.live::after{content:" · CLUTCH";color:#ffc542}

.fastb{display:inline-block;padding:2px 7px;border-radius:6px;font-size:10.5px;font-weight:900;letter-spacing:.4px;color:#ffd400;background:rgba(255,212,0,.12)}
.fastb.big{font-size:12px;padding:5px 11px;border-radius:999px}

.pitch.pnew{animation:pitchRow .45s var(--ease) both;animation-delay:var(--d,0ms)}
@keyframes pitchRow{from{opacity:0;transform:translateX(-8px)}}

/* ---------- Call it ---------- */
.call-card{border-color:rgba(255,197,66,.35);background:linear-gradient(120deg,rgba(255,197,66,.12),transparent 55%),var(--card)}
.call-h{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px 0;flex-wrap:wrap}
.call-h h3{padding:0;font-size:15px;color:var(--text);text-transform:none;letter-spacing:.2px;font-weight:900}
.call-me{display:flex;gap:10px;font-size:12px;font-weight:800;color:var(--muted)}
.call-me i{font-style:normal;margin-left:2px}
.call-q{font-size:18px;font-weight:900;margin:8px 0 12px;letter-spacing:-.2px}
.call-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.call-opts button{padding:15px 10px;border-radius:14px;border:1px solid var(--line2);background:var(--card2);font-weight:900;font-size:15px;cursor:pointer;transition:all .2s var(--ease)}
.call-opts button:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 10px 24px rgba(255,197,66,.18)}
.call-wait{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:700;padding:6px 0}
.call-hist{font-size:12.5px;color:#c9ced6;margin-top:8px;font-weight:600}
.call-hist b{color:var(--text)}
.call-res .res .bar span{background:linear-gradient(90deg,var(--gold),#ff7a45)}

/* ---------- leaderboard ---------- */
.ld-me{padding:14px 16px;background:linear-gradient(120deg,rgba(255,197,66,.14),transparent 60%),var(--card)}
.ldm{display:flex;align-items:center;gap:14px}
.ldm .rk{font-size:28px;font-weight:900;min-width:56px;text-align:center}
.ldm .t{font-weight:900}.ldm .s{font-size:12.5px;color:var(--muted);font-weight:600}
.ldm .bd{margin-left:auto;font-size:20px}
.ldr{display:flex;align-items:center;gap:12px;padding:11px 16px;border-top:1px solid var(--line)}
.ldr.you{background:rgba(255,91,36,.08)}
.ldr .rk{width:30px;text-align:center;font-weight:900;color:var(--muted);font-size:15px}
.ldr .rk.top0,.ldr .rk.top1,.ldr .rk.top2{font-size:20px}
.ldr .nm{flex:1;min-width:0;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ldr .nm small{font-size:13px}
.ldr .st{font-size:12px;color:var(--muted);font-weight:700}
.ldr b{font-size:16px;font-weight:900;min-width:44px;text-align:right}

/* ---------- player page ---------- */
.ph-face{width:96px;height:96px;border-radius:50%;object-fit:cover;background:rgba(0,0,0,.3);border:3px solid rgba(255,255,255,.18);filter:none!important}
.player-hero .th-lg{display:flex;align-items:center;gap:6px}
.player-hero .th-lg img{width:20px;height:20px;filter:none}
.player-hero [data-tteam]{cursor:pointer;text-decoration:underline;text-decoration-color:rgba(255,255,255,.3)}
.stat-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}
.stat-tiles div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 8px;text-align:center;display:flex;flex-direction:column}
.stat-tiles b{font-size:22px;font-weight:900}
.stat-tiles span{font-size:11px;color:var(--muted);font-weight:800;text-transform:none;letter-spacing:.5px}
.note-h{font-weight:800;line-height:1.4}
.note-s{color:#c9ced6;font-size:13.5px;margin-top:6px;line-height:1.5}
[data-ath]{cursor:pointer}
.lu-p[data-ath]:hover,.ro-p[data-ath]:hover,.kp[data-ath]:hover{background:rgba(255,255,255,.04);border-radius:10px}
td[data-ath]:hover{color:var(--accent)}
.bx tr[data-gid]{cursor:pointer}
.bx tr[data-gid]:hover td{background:var(--card2)}

/* ---------- Multiview ---------- */
#multiView{max-width:1400px;margin:0 auto;padding:16px}
.mv-pick{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.mvp{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 12px;font-weight:800;font-size:13px;cursor:pointer}
.mvp.on{background:var(--text);color:var(--bg);border-color:var(--text)}
.mvp .lv{width:6px;height:6px;border-radius:50%;background:var(--live);box-shadow:0 0 8px var(--live)}
.mv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.mv-grid[data-n="1"]{grid-template-columns:minmax(0,1fr)}
@media(max-width:760px){.mv-grid{grid-template-columns:minmax(0,1fr)}}
.mv-tile.bump .mvt{animation:tileBump .6s var(--ease)}
@keyframes tileBump{30%{box-shadow:0 0 0 2px var(--accent),0 10px 30px rgba(255,91,36,.2)}}
.mvt{--c1:#333;--c2:#333;position:relative;height:100%;border-radius:20px;border:1px solid var(--line2);padding:14px;overflow:hidden;
  background:radial-gradient(90% 120% at 0% 0%,color-mix(in srgb,var(--c1) 45%,transparent),transparent 60%),radial-gradient(90% 120% at 100% 0%,color-mix(in srgb,var(--c2) 45%,transparent),transparent 60%),var(--card)}
.mvt.clutch{border-color:rgba(255,45,85,.6);box-shadow:0 0 30px rgba(255,45,85,.25)}
.mvt.clutch .mvt-sc{animation:heartbeat 1.4s ease-in-out infinite}
.mvt-h{display:flex;align-items:center;gap:8px}
.mvt-open{margin-left:auto;background:rgba(0,0,0,.35);border:1px solid var(--line2);border-radius:999px;padding:5px 12px;font-weight:800;font-size:12px;cursor:pointer}
.pill.hotp{background:linear-gradient(90deg,#ff2d55,#ff7a45);color:#fff}
.mvt-sb{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 8px}
.mvt-t{display:flex;align-items:center;gap:8px}
.mvt-t+.mvt-t{flex-direction:row-reverse;text-align:right}
.mvt-t img{width:36px;height:36px;object-fit:contain}
.mvt-t b{font-weight:900;font-size:15px}
.mvt-sc{margin-left:auto;font-size:34px;font-weight:900;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.mvt-t+.mvt-t .mvt-sc{margin-left:0;margin-right:auto}
.mvt-sit{font-size:12.5px;font-weight:800;color:rgba(255,255,255,.75);text-align:center;margin-bottom:6px}
.mvt-pulse{margin:4px -4px 8px}
.mvt-plays{display:flex;flex-direction:column;gap:6px}
.mvt-p{font-size:12.5px;font-weight:600;color:#c9ced6;padding:7px 10px;border-radius:10px;background:rgba(0,0,0,.28);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mvt-p:first-child{color:var(--text);font-weight:700}
.mvt-p.sc{border-left:3px solid var(--gold)}

/* ---------- wallet, profile, shop ---------- */
.me{display:flex;align-items:center;gap:6px}
.coins{font-weight:900;font-size:13px;color:var(--gold);transition:transform .3s var(--ease)}
.coins.bump{animation:pop .5s var(--ease)}
.earn{font-size:11px;font-weight:900;color:var(--gold);text-transform:none;letter-spacing:0;margin-left:6px}
.coin-pop{position:fixed;left:50%;top:40%;transform:translate(-50%,-50%);z-index:90;display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 26px;border-radius:20px;background:rgba(7,8,10,.85);border:1px solid rgba(255,197,66,.5);box-shadow:0 0 40px rgba(255,197,66,.35);animation:coinPop 2.6s var(--ease) forwards;pointer-events:none}
.coin-pop b{font-size:30px;font-weight:900;color:var(--gold)}
.coin-pop span{font-size:13px;font-weight:700;color:#c9ced6}
@keyframes coinPop{0%{opacity:0;transform:translate(-50%,-40%) scale(.8)}12%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}20%{transform:translate(-50%,-50%) scale(1)}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-60%)}}
.coin-fly{position:fixed;z-index:91;font-size:20px;pointer-events:none;animation:coinFly 1s cubic-bezier(.5,0,.75,0) forwards}
@keyframes coinFly{0%{opacity:0;transform:scale(.5)}15%{opacity:1;transform:scale(1.1)}100%{opacity:.9;transform:translate(var(--tx),var(--ty)) scale(.5)}}
/* avatars + frames */
.av{--s:28px;position:relative;width:var(--s);height:var(--s);border-radius:50%;display:inline-grid;place-items:center;flex:none;background:var(--card3);border:2px solid var(--line2)}
.av>span{font-size:calc(var(--s) * .55);line-height:1}
.av[data-prof]{cursor:pointer}
.av.fr-neon{border-color:#FF5B24;box-shadow:0 0 8px #FF5B24,inset 0 0 6px rgba(255,91,36,.4)}
.av.fr-gold{border:2px solid transparent;background:linear-gradient(var(--card3),var(--card3)) padding-box,linear-gradient(135deg,#fff3b0,#ffc542,#b8860b,#ffe680) border-box;box-shadow:0 0 10px rgba(255,197,66,.45)}
.av.fr-team{border:2px solid transparent;background:linear-gradient(var(--card3),var(--card3)) padding-box,linear-gradient(135deg,var(--accent),var(--accent2)) border-box}
.av.fr-post26{border:2px solid transparent;background:linear-gradient(var(--card3),var(--card3)) padding-box,linear-gradient(135deg,#c8102e,#fff,#002d72) border-box;box-shadow:0 0 10px rgba(200,16,46,.4)}
.av.fr-fire,.av.fr-galaxy{border-color:transparent}
.av.fr-fire::before,.av.fr-galaxy::before{content:"";position:absolute;inset:-3px;border-radius:50%;z-index:-1;animation:spin 2.4s linear infinite;background:conic-gradient(from var(--ang),#ff2d55,#ffc542,#ff7a45,#ff2d55);filter:blur(.5px)}
.av.fr-galaxy::before{background:conic-gradient(from var(--ang),#7c3aed,#FF9F1C,#ec4899,#22d3ee,#7c3aed);animation-duration:4s}
.av.fr-fire,.av.fr-galaxy{isolation:isolate;box-shadow:0 0 14px rgba(255,90,60,.45)}
.av.fr-fire>span,.av.fr-galaxy>span{position:relative;width:calc(100% - 2px);height:calc(100% - 2px);border-radius:50%;background:var(--card3);display:grid;place-items:center}
.av.fr-galaxy{box-shadow:0 0 16px rgba(124,58,237,.55)}
/* name styles */
.cn.nm-mint{color:#5fffc0}
.cn.nm-gold{background:linear-gradient(90deg,#fff3b0,#ffc542,#e0a800);-webkit-background-clip:text;background-clip:text;color:transparent}
.cn.nm-sunset{background:linear-gradient(90deg,#ff7a45,#ff2d55,#b77dff);-webkit-background-clip:text;background-clip:text;color:transparent}
.cn.nm-rainbow{background:linear-gradient(90deg,#ff2d55,#ffc542,#FF5B24,#FF9F1C,#b77dff,#ff2d55);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rainbow 3s linear infinite}
@keyframes rainbow{to{background-position:-200% 0}}
.ttl{display:inline-block;font-size:10px;font-weight:900;letter-spacing:.5px;text-transform:none;padding:2px 7px;border-radius:6px;background:rgba(255,197,66,.14);color:var(--gold);margin:0 4px;vertical-align:middle}
/* banners (profile cards + leaderboard rows) */
.bn-lights{background:radial-gradient(40% 80% at 15% -10%,rgba(255,255,255,.35),transparent 60%),radial-gradient(40% 80% at 85% -10%,rgba(255,255,255,.35),transparent 60%),linear-gradient(180deg,#123b26,#0b1f16)!important}
.bn-night{background:radial-gradient(1px 1px at 20% 30%,#fff,transparent),radial-gradient(1px 1px at 70% 20%,#fff,transparent),radial-gradient(1.5px 1.5px at 45% 60%,#fff,transparent),radial-gradient(1px 1px at 85% 70%,#fff,transparent),linear-gradient(160deg,#0b1240,#1b0b3a 60%,#07080a)!important}
.bn-fireworks{background:radial-gradient(circle at 25% 30%,rgba(255,45,85,.55),transparent 22%),radial-gradient(circle at 70% 25%,rgba(255,197,66,.5),transparent 20%),radial-gradient(circle at 55% 75%,rgba(255,159,28,.45),transparent 22%),#0b0d14!important;animation:fwBg 4s ease-in-out infinite alternate}
@keyframes fwBg{to{filter:hue-rotate(60deg) brightness(1.15)}}
.bn-champ{background:linear-gradient(120deg,#3a2a00,#b8860b 30%,#ffe680 45%,#b8860b 60%,#3a2a00)!important;background-size:200% 100%!important;animation:shine 5s linear infinite}
@keyframes shine{to{background-position:-200% 0}}
.bn-prev{display:block;width:100%;height:46px;border-radius:10px}
.ldr.bnr{position:relative;border-radius:12px;margin:4px 8px;border-top:0}
.ldr.bnr>*{position:relative}
/* profile card */
.me-card{position:relative;overflow:hidden;border-radius:22px;border:1px solid var(--line2);padding:18px;margin-bottom:14px;background:radial-gradient(120% 140% at 0% 0%,rgba(255,91,36,.18),transparent 55%),var(--card)}
.mc-top{display:flex;align-items:center;gap:14px}
.mc-name{display:flex;align-items:center;gap:6px;font-size:22px;font-weight:900;letter-spacing:-.4px}
.mc-edit{background:rgba(0,0,0,.35);border:1px solid var(--line2);border-radius:50%;width:26px;height:26px;font-size:13px;cursor:pointer}
.mc-badges{display:flex;gap:4px;font-size:18px;margin-top:6px}
.mc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}
.mc-stats div{background:rgba(0,0,0,.35);border-radius:12px;padding:10px 6px;text-align:center;display:flex;flex-direction:column}
.mc-stats b{font-size:20px;font-weight:900}
.mc-stats div:first-child b{color:var(--gold)}
.mc-stats span{font-size:10.5px;font-weight:800;color:rgba(255,255,255,.65);text-transform:none;letter-spacing:.4px}
.prof-pop{position:fixed;inset:0;z-index:85;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);display:grid;place-items:center;padding:16px;animation:fadeIn .2s}
.prof-pop .me-card{width:min(420px,100%);animation:sheet .35s var(--ease)}
/* earn */
.ed-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ed-t{font-weight:900;font-size:16px}
.claim{background:linear-gradient(135deg,#ffd76a,#ffb020);color:#1a1200;border:0;border-radius:999px;padding:11px 18px;font-weight:900;cursor:pointer;white-space:nowrap;box-shadow:0 6px 20px rgba(255,176,32,.3);animation:pulse 2s infinite}
.claim.done{background:var(--card3);color:var(--muted);box-shadow:none;animation:none}
.ed-days{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:12px}
.ed-days span{text-align:center;padding:7px 0;border-radius:10px;background:var(--card2);font-size:12px;font-weight:900;color:var(--muted)}
.ed-days span.on{background:rgba(255,197,66,.18);color:var(--gold)}
.tq{padding:12px 0;border-top:1px solid var(--line)}
.tq:first-child{border-top:0;padding-top:0}
.tq-l{font-size:10.5px;font-weight:900;color:var(--muted);letter-spacing:.6px}
.tq-q{font-weight:800;margin:4px 0 10px}
.tq-o{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.tq-o button{padding:11px;border-radius:12px;border:1px solid var(--line2);background:var(--card2);font-weight:800;font-size:13px;cursor:pointer;transition:all .2s var(--ease)}
.tq-o button:hover:not(:disabled){border-color:var(--accent)}
.tq-o button.right{background:rgba(255,91,36,.18);border-color:var(--accent);color:var(--accent)}
.tq-o button.wrong{background:rgba(255,59,74,.15);border-color:var(--live);color:#ff6b77}
.tq-o button:disabled{cursor:default}
/* shop */
.shop{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:16px}
.si{--rc:#8a92a0;position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px 10px;border-radius:16px;border:1px solid color-mix(in srgb,var(--rc) 45%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--rc) 14%,transparent),var(--card) 70%);text-align:center}
.si.rare{--rc:#FF9F1C}.si.epic{--rc:#b77dff}.si.legendary{--rc:#ffc542;box-shadow:0 0 22px rgba(255,197,66,.15)}
.si.eq{outline:2px solid var(--accent);outline-offset:-2px}
.si-prev{min-height:50px;width:100%;display:grid;place-items:center}
.si-n{font-weight:900;font-size:13.5px}
.si-r{font-size:10px;font-weight:900;text-transform:none;letter-spacing:.8px;color:var(--rc)}
.pk-prev{font-size:24px;letter-spacing:4px}
.buy{width:100%;margin-top:4px;padding:9px;border-radius:12px;border:0;font-weight:900;cursor:pointer;background:linear-gradient(135deg,#ffd76a,#ffb020);color:#1a1200}
.buy.short{background:var(--card3);color:var(--muted)}
.buy.own{background:var(--card3);color:var(--text)}
.buy.lock{background:var(--card2);color:var(--muted);font-size:11px;cursor:default}
.av-pick{display:flex;flex-wrap:wrap;gap:8px}
.av-pick button{width:44px;height:44px;border-radius:50%;border:2px solid var(--line2);background:var(--card2);font-size:22px;cursor:pointer}
.av-pick button.on{border-color:var(--accent);box-shadow:0 0 10px rgba(255,91,36,.4)}
/* comments with avatars */
.cmt{display:flex;gap:8px;align-items:flex-start}
.cmt .cb{flex:1;min-width:0}
.confetti i.fw{width:6px;height:6px;border-radius:50%;top:auto;animation:fwBurst 1.4s cubic-bezier(.1,.7,.3,1) forwards}
@keyframes fwBurst{0%{transform:translate(0,0) scale(1);opacity:1}100%{transform:translate(var(--fx),calc(var(--fy) + 60px)) scale(.4);opacity:0}}

/* ---------- game chat ---------- */
.tabs button{position:relative}
.unread{position:absolute;top:6px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--live);box-shadow:0 0 8px var(--live)}
.chat{display:flex;flex-direction:column;height:min(70vh,640px)}
.chat-pin{display:flex;align-items:center;gap:8px;margin:10px 12px 0;padding:9px 12px;border-radius:12px;background:linear-gradient(90deg,rgba(255,197,66,.2),rgba(255,197,66,.05));border:1px solid rgba(255,197,66,.45);font-size:13px;animation:viewIn .4s var(--ease)}
.chat-pin span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}
.chat-list{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.chat-empty{margin:auto;color:var(--muted);font-weight:700}
.msg{display:flex;gap:8px;align-items:flex-start;max-width:88%}
.msg.mine{align-self:flex-end;flex-direction:row-reverse}
.msg.mine .msg-h{justify-content:flex-end}
.msg.in{animation:msgIn .35s var(--ease)}
@keyframes msgIn{from{opacity:0;transform:translateY(8px) scale(.97)}}
.msg-c{min-width:0;display:flex;flex-direction:column;gap:3px}
.msg.mine .msg-c{align-items:flex-end}
.msg-h{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:800}
.msg-h .ct{color:var(--dim);font-size:10.5px;font-weight:600;margin-left:4px}
.msg-b{display:inline-block;padding:8px 12px;border-radius:16px 16px 16px 4px;background:var(--card3);font-size:14px;line-height:1.35;word-wrap:break-word;max-width:100%}
.msg.mine .msg-b{border-radius:16px 16px 4px 16px;background:#1f3a2f}
.msg.pinned .msg-b{outline:1px solid rgba(255,197,66,.6)}
.msg-b.bb-neon{background:#0b1f17;border:1px solid #FF5B24;box-shadow:0 0 10px rgba(255,91,36,.35)}
.msg-b.bb-gold{background:linear-gradient(135deg,#3a2a00,#6b4e00);border:1px solid #ffc542;color:#fff3c4}
.msg-b.bb-team{background:linear-gradient(135deg,var(--accent2),var(--accent));color:#04121a;font-weight:700}
.msg-b.bb-holo{background:linear-gradient(120deg,#ff9ad5,#9ad0ff,#b9ffcb,#ffe59a,#ff9ad5);background-size:300% 100%;color:#14141a;font-weight:700;animation:shine 4s linear infinite}
.msg-stk{font-size:48px;line-height:1}
.msg-stk.pop{animation:pop .6s var(--ease)}
.chat-quick{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:8px 12px 4px;border-top:1px solid var(--line)}
.chat-quick::-webkit-scrollbar{display:none}
.chat-quick button{flex:none;background:var(--card2);border:1px solid var(--line2);border-radius:999px;padding:6px 11px;font-weight:700;font-size:12.5px;cursor:pointer;white-space:nowrap}
.chat-quick button.stk{font-size:20px;padding:2px 8px}
.chat-in{display:flex;gap:6px;padding:8px 12px 12px}
.chat-in input{flex:1;min-width:0;background:var(--bg);border:1px solid var(--line2);border-radius:999px;color:var(--text);padding:10px 14px;font:inherit}
.chat-in input:focus{outline:none;border-color:var(--accent)}
.chat-in .send{background:linear-gradient(135deg,var(--accent),#FF7A45);color:#1A0A04;border:0;border-radius:999px;padding:0 16px;font-weight:900;cursor:pointer}
.pin-t{background:var(--card2);border:1px solid var(--line2);border-radius:50%;width:40px;flex:none;cursor:pointer;opacity:.7}
.pin-t.on{opacity:1;border-color:var(--gold);background:rgba(255,197,66,.18);box-shadow:0 0 10px rgba(255,197,66,.35)}
.chat-tip{padding:0 12px 10px;margin:0}
.chat-tip a{color:var(--gold)}
.pk-prev.stk{font-size:30px}

/* ---------- accounts ---------- */
.auth-sheet{max-width:440px}
.pk-done.ghost{background:var(--card3);color:var(--text);padding:8px 13px}
.auth-form{display:flex;flex-direction:column;gap:12px;margin-top:4px}
.auth-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:800;color:var(--muted);text-transform:none;letter-spacing:.5px}
.auth-form input{background:var(--bg);border:1px solid var(--line2);border-radius:12px;color:var(--text);padding:12px 14px;font:inherit;font-size:15px;text-transform:none;letter-spacing:0}
.auth-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,91,36,.15)}
.auth-err{background:rgba(255,59,74,.12);border:1px solid rgba(255,59,74,.35);color:#ff8a94;border-radius:10px;padding:9px 12px;font-weight:700;font-size:13px}
.auth-go{margin-top:4px;padding:14px;border-radius:14px;border:0;font-weight:900;font-size:15px;cursor:pointer;background:linear-gradient(135deg,var(--accent),#FF7A45);color:#1A0A04}
.auth-go:disabled{opacity:.6}
.acct{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:-4px 0 14px;font-size:13px;color:#c9ced6}
.acct button{background:rgba(0,0,0,.35);border:1px solid var(--line2);border-radius:999px;padding:7px 13px;font-weight:800;cursor:pointer}
.acct.save{padding:12px;border-radius:14px;background:rgba(255,197,66,.1);border:1px solid rgba(255,197,66,.35)}
.acct.save div{flex:1;min-width:180px;display:flex;flex-direction:column;gap:2px}
.acct.save b{color:var(--text)}
.acct.save span{font-size:12.5px}
.acct.save [data-signup]{background:linear-gradient(135deg,#ffd76a,#ffb020);color:#1a1200;border:0}
.acct .ghost{background:transparent}
/* report / block */
.mm{background:none;border:0;color:var(--dim);font-weight:900;cursor:pointer;padding:0 4px;opacity:0;transition:opacity .15s}
.msg:hover .mm,.cmt:hover .mm,.mm:focus{opacity:1}
@media(hover:none){.mm{opacity:.6}}
.mm-menu{position:absolute;z-index:30;margin-top:2px;background:var(--card2);border:1px solid var(--line2);border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.5);display:flex;flex-direction:column;overflow:hidden;animation:viewIn .2s var(--ease)}
.mm-menu button{background:none;border:0;text-align:left;padding:10px 14px;font-weight:700;font-size:13px;cursor:pointer;white-space:nowrap}
.mm-menu button:hover{background:var(--card3)}
.msg-h,.cmt .cb{position:relative}
/* moderation */
.mod-r.hid{border-color:rgba(255,59,74,.4)}
.mod-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.mod-msg{padding:10px 12px;border-radius:12px;background:rgba(0,0,0,.3);margin-bottom:6px;word-wrap:break-word}
.mod-act{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.mod-act button{background:var(--card3);border:1px solid var(--line2);border-radius:999px;padding:7px 12px;font-weight:800;font-size:12.5px;cursor:pointer}
.mod-act button.danger{border-color:rgba(255,59,74,.5);color:#ff8a94}

/* ---------- account extras, recovery, welcome ---------- */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.auth-form label[hidden]{display:none}
.agree{flex-direction:row!important;align-items:flex-start;gap:10px!important;text-transform:none!important;letter-spacing:0!important;font-size:13px!important;font-weight:600!important;color:#c9ced6!important;line-height:1.45}
.agree input{width:18px;height:18px;margin-top:1px;accent-color:var(--accent);flex:none}
.agree a{color:var(--accent)}
.auth-ok{background:rgba(255,91,36,.1);border:1px solid rgba(255,91,36,.35);color:#7ff5c4;border-radius:10px;padding:9px 12px;font-weight:700;font-size:13px}
.auth-links{text-align:center;font-size:13px;color:var(--muted)}
.auth-links a{color:var(--accent);text-decoration:none;font-weight:700}
.rec-code{font:900 22px/1.3 ui-monospace,Menlo,monospace;letter-spacing:2px;text-align:center;padding:16px;border-radius:14px;background:var(--bg);border:1px dashed var(--gold);color:var(--gold);user-select:all}
.acct-more{margin:-6px 0 14px}
.acct-more summary{cursor:pointer;font-size:12.5px;font-weight:800;color:var(--muted)}
.acct-set{display:flex;flex-direction:column;gap:8px;margin-top:10px;align-items:flex-start}
.acct-set button{background:rgba(0,0,0,.35);border:1px solid var(--line2);border-radius:999px;padding:7px 13px;font-weight:800;cursor:pointer;font-size:12.5px}
.acct-set button.danger{border-color:rgba(255,59,74,.5);color:#ff8a94}
.acct-set .em{font-size:13px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.acct-set .legal{font-size:12px;color:var(--muted)}
.acct-set .legal a{color:var(--muted)}
footer a{color:var(--muted)}
.welcome{text-align:center;min-height:380px;display:flex;flex-direction:column}
.wl-dots{display:flex;justify-content:center;gap:6px;margin-bottom:12px}
.wl-dots i{width:8px;height:8px;border-radius:50%;background:var(--card3);transition:all .3s var(--ease)}
.wl-dots i.on{width:22px;border-radius:4px;background:var(--accent)}
.wl-slide{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:10px 6px}
.wl-slide.in>*{animation:stIn .5s var(--ease) both}.wl-slide.in>*:nth-child(2){animation-delay:.06s}.wl-slide.in>*:nth-child(3){animation-delay:.12s}.wl-slide.in>*:nth-child(4){animation-delay:.18s}
.wl-ic{font-size:54px;line-height:1;width:96px;height:96px;display:grid;place-items:center;border-radius:28px;background:linear-gradient(135deg,rgba(255,91,36,.2),rgba(255,159,28,.2));border:1px solid var(--line2);color:var(--gold)}
.wl-slide h2{margin:6px 0 0;font-size:24px;font-weight:900;letter-spacing:-.4px}
.wl-slide p{margin:0;color:#c9ced6;font-size:15px;line-height:1.55;max-width:380px}
.wl-slide .claim{margin-top:8px;animation:none}
.wl-nav{display:flex;gap:10px;margin-top:12px}
.wl-nav .auth-go{flex:1;margin:0}
.ghost-b{background:none;border:1px solid var(--line2);border-radius:14px;padding:0 18px;font-weight:800;color:var(--muted);cursor:pointer}

/* ---------- visual effects ---------- */
@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}
.st-in{animation:stIn .55s var(--ease) both;animation-delay:calc(var(--i,0) * 45ms)}
@keyframes stIn{from{opacity:0;transform:translateY(14px) scale(.985)}}
.view-in{animation:viewIn .45s var(--ease)}
@keyframes viewIn{from{opacity:0;transform:translateY(10px)}}
.fade-in{animation:viewIn .4s var(--ease)}
/* pointer light */
.gc::after,.spot-card::after,.card::after,.team-hero::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.07),transparent 65%)}
.card{position:relative}
.gc:hover::after,.spot-card:hover::after,.card:hover::after,.team-hero:hover::after{opacity:1}
/* live games: a light runs around the border */
.gc.live::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;pointer-events:none;
  background:conic-gradient(from var(--ang),transparent 0 62%,rgba(255,59,74,.95) 80%,transparent 92%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 3s linear infinite}
@keyframes spin{to{--ang:360deg}}
/* spotlight: 3D tilt + shine sweep */
.spot-card{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s var(--ease),box-shadow .25s}
.spot-card:hover{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-2px)}
.spot-card .spot-top::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.09),transparent);transform:skewX(-15deg);animation:sweep 6s ease-in-out infinite}
@keyframes sweep{0%,70%{left:-60%}100%{left:130%}}
.spot-card.intro{animation:spotIn .7s var(--ease)}
@keyframes spotIn{from{opacity:0;transform:perspective(900px) rotateX(8deg) translateY(16px) scale(.97)}}
/* the Pulse draws itself in */
.pulse-svg.draw .pline{stroke-dasharray:1;stroke-dashoffset:1;animation:drawLine 1.6s cubic-bezier(.4,0,.2,1) forwards}
.pulse-svg.draw path[fill]{animation:fadeArea 1.6s ease both}
.pulse-svg.draw .fan{animation:grow .8s var(--ease) 1s both;transform-origin:bottom;transform-box:fill-box}
@keyframes drawLine{to{stroke-dashoffset:0}}
@keyframes fadeArea{from{opacity:0}}
@keyframes grow{from{transform:scaleY(0)}}
/* hype ring fills up */
.spot-card.intro .ring .rv,.pulse-card.first .ring .rv{animation:ringFill 1.1s var(--ease) both}
@keyframes ringFill{from{stroke-dasharray:0 200}}
/* confetti */
.confetti{position:fixed;inset:0;pointer-events:none;z-index:70;overflow:hidden}
.confetti i{position:absolute;top:-20px;border-radius:2px;animation:fall linear forwards}
@keyframes fall{to{transform:translate(var(--dx),110vh) rotate(var(--r));opacity:.9}}
/* buttons get a tactile press everywhere */
button{transition:transform .12s var(--ease)}
button:active{transform:scale(.97)}

/* ---------- very narrow screens (small phones, split views) ---------- */
.datebar .d{white-space:nowrap}
@media(max-width:360px){
  .me .coins{display:none}
  .mc-stats{grid-template-columns:repeat(2,1fr)}.shop{grid-template-columns:1fr 1fr}
  .stat-tiles{grid-template-columns:repeat(2,1fr)}.call-opts{grid-template-columns:1fr}
  .th img{width:60px;height:60px}.th h1{font-size:22px}.cta-t span{display:none}
  table.stand .tn{display:none}table.stand td:first-child{min-width:0}.subnav{padding:0 10px 8px}.subnav button{padding:6px 10px}
  .brand{font-size:15px}.mark{display:none}
  .datebar .d{font-size:12px;padding:0 6px}
  .hero{padding:16px 8px 12px}.big{font-size:30px}.st{font-size:11px}.tm img{width:38px;height:38px}.tm .ab{font-size:13px}.tm .rc{display:none}
  .mid{gap:6px}
  .spot-card{padding:14px 10px 10px}.st-team img{width:38px;height:38px}.st-nm{font-size:14px}.st-nm .full{display:none}.st-nm .abbr{display:inline}.kicker{font-size:10.5px;letter-spacing:.8px}.st-rec{display:none}.st-sc{font-size:28px}.spot-mid{gap:6px}
  .pill{padding:3px 7px;font-size:10px}
  .gc{padding:12px 10px 10px}.games .gc{flex-basis:230px}
}

/* =====================================================================
   Scorch brand v2: flat black, one signature color (BB Flare),
   team colors do the work, scoreboard-style type. Overrides above.
   ===================================================================== */
:root{
  --bg:#0a0a0b;--card:#141416;--card2:#1b1b1e;--card3:#26262a;--line:rgba(255,255,255,.06);--line2:rgba(255,255,255,.1);
  --text:#f5f5f7;--muted:#9a9aa3;--dim:#62626a;
  --accent:#FF5B24;--accent2:#FF9F1C;--live:#ff3b30;--gold:#ffc93c;--good:#30d158;--on-accent:#1a0a04;
  --r:18px;
  --display:"Archivo",Geist,-apple-system,"Segoe UI",sans-serif;
}
body{background:var(--bg);background-image:none;font-family:Geist,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:14.5px;letter-spacing:-.005em}

/* Scoreboard type: tall condensed numbers, bold headlines */
.sec-h h2,.card h3,.pulse-h h3,.f-h h3,.call-h h3,.th h1,.mc-name,.ss-t,.ss-swing,.wl-slide h2,.pk-h h2{font-family:var(--display);font-stretch:112%;letter-spacing:-.01em}
.sec-h h2{font-size:22px;font-weight:900;text-transform:none}
.card h3{font-family:Geist,sans-serif;font-stretch:100%;font-weight:700;letter-spacing:.06em;font-size:11.5px}
.big,.st-sc,.row .sc,.mvt-sc,.ss-score b,.countdown b,.mc-stats b,.stat-tiles b,.ldr b,.ldm .rk,.res .pc,.dual .dl b,.odds b{font-family:var(--display);font-stretch:68%;font-weight:800;letter-spacing:0;font-variant-numeric:tabular-nums}
.big{font-size:64px;line-height:.9}
.st-sc{font-size:58px;line-height:.9}
.row .sc{font-size:26px}
.mvt-sc{font-size:42px}
.ss-score b{font-size:clamp(52px,17vw,84px)}
.tm .ab,.st-nm,.mvt-t b,.row .nm{font-family:var(--display);font-stretch:100%;font-weight:800;letter-spacing:-.005em}
.tm .ab{font-size:19px}

/* Brand wordmark + pulse mark */
.brand{font-family:var(--display);font-weight:900;font-stretch:118%;font-style:italic;font-size:20px;letter-spacing:-.02em;gap:8px}
.mark{width:26px;height:26px;border-radius:8px;background:var(--accent);box-shadow:none;display:grid;place-items:center}
.mark::after{display:none}
.mark svg{width:18px;height:18px}

/* Flat surfaces: no glows, quieter borders */
.card,.gc,.play,.spot-card,.hero,.team-hero,.mvt,.me-card,.si,.sp-card,.cta,.call-card,.field-card,.pulse-card{box-shadow:none}
.card{border-color:transparent;background:var(--card)}
.gc{border:1px solid var(--line);background:linear-gradient(100deg,color-mix(in srgb,var(--c1) 10%,transparent),transparent 40%,transparent 60%,color-mix(in srgb,var(--c2) 10%,transparent)),var(--card)}
.gc:hover{box-shadow:none;border-color:var(--line2);transform:translateY(-1px)}
.gc.live{border-color:rgba(255,59,48,.35);box-shadow:none}
.gc::before{display:none}
.gc.live::before,.gc.clutch::before{display:block}
.play{border-color:transparent}
.play.scoring{border-color:transparent;background:linear-gradient(100deg,color-mix(in srgb,var(--tc) 16%,transparent),transparent 55%),var(--card)}
.play.enter::after{border-color:var(--accent)}
.hero,.spot-card{border:none;background:radial-gradient(120% 130% at 0% 0%,color-mix(in srgb,var(--c1) 38%,transparent),transparent 58%),radial-gradient(120% 130% at 100% 0%,color-mix(in srgb,var(--c2) 38%,transparent),transparent 58%),var(--card)}
.spot-card:hover{box-shadow:none}
.dot,.leagues .lv,.mvp .lv{box-shadow:none}
.row img,.tm img,.st-team img,.play .lg img,.ss-score img{filter:none}
.pulse-svg .pline{filter:none;stroke-width:2.25}
.pulse-svg .fan{filter:none;opacity:.7}
.ring.hot .rv{filter:none}
.coin-pop{box-shadow:0 20px 50px rgba(0,0,0,.5);border-color:rgba(255,201,60,.35)}
.si.legendary{box-shadow:none}
.spot-card .spot-top::after{display:none}

/* Buttons: one solid brand color, dark text */
.auth-go,.cform button,.chat-in .send,.pk-done,.buy,.claim,.cta-b,.acct.save [data-signup]{background:var(--accent);color:var(--on-accent);box-shadow:none;border:0}
.claim{animation:none}
.claim.done,.buy.own,.buy.short,.buy.lock{background:var(--card3);color:var(--text)}
.buy.short,.buy.lock{color:var(--muted)}
.share,.follow,.pre-actions button,.acct button,.mvt-open{background:var(--card2);border:1px solid var(--line2)}
.follow.on{background:var(--gold);color:#1a1200}

/* Navigation: clean text, no emoji */
.leagues button{background:transparent;border-color:transparent;color:var(--muted);padding:7px 12px;font-weight:700}
.leagues button:hover{color:var(--text);background:var(--card)}
.leagues button.on{background:var(--text);color:var(--bg);transform:none}
.leagues .me-chip{color:var(--gold);border-color:transparent}
.leagues .me-chip.on{background:var(--gold);color:#1a1200}
.subnav button{color:var(--muted);font-weight:700}
.subnav button.on{background:transparent;box-shadow:inset 0 -2px 0 var(--accent);border-radius:0;color:var(--text)}
header{background:rgba(10,10,11,.82)}

/* Meaningful colors */
.wl.w{background:rgba(48,209,88,.15);color:var(--good)}
.tq-o button.right{background:rgba(48,209,88,.14);border-color:var(--good);color:var(--good)}
.call-hist.ok b{color:var(--good)}
.pill.live{background:rgba(255,59,48,.15);color:#ff6961}
.tagok{background:rgba(48,209,88,.14);color:var(--good)}
.res.mine .n::after{color:var(--good)}
.lu-p.sub .n{color:var(--good)}

/* Tabs & chips */
.tabs{background:var(--card);border-color:transparent}
.tabs button.on{background:var(--card3);box-shadow:none}
.chip.on,.f-tabs button.on{background:var(--text);color:var(--bg)}
.rx.on{border-color:var(--accent);background:rgba(255,91,36,.14)}

/* Legal + light details */
.banner{box-shadow:0 18px 40px rgba(0,0,0,.55)}
.toast{background:var(--text);color:var(--bg)}
@media(max-width:420px){
  .brand{font-size:17px;gap:6px}.mark{width:22px;height:22px;border-radius:7px}.mark svg{width:15px;height:15px}
  .sec-h{flex-wrap:wrap}.sec-h h2{font-size:19px}
  .cta{flex-wrap:wrap}.cta-t{min-width:160px}
  .big{font-size:48px}.st-sc{font-size:44px}
}
@media(max-width:360px){
  .brand{font-size:15px}.datebar button{min-width:26px;height:28px}.datebar .d{padding:0 6px;font-size:12px}
  .big{font-size:40px}.st-sc{font-size:36px}
}

/* =====================================================================
   v3 native pass: fewer effects, list layouts, bottom tab bar on phones.
   ===================================================================== */
:root{--r:14px}
/* no hover lights, tilts, sweeps or running borders */
.gc::after,.spot-card::after,.card::after,.team-hero::after,.gc.live::before,.gc.clutch::before,.spot-card .spot-top::after{display:none!important}
.spot-card,.spot-card:hover{transform:none}
.spot-card.intro{animation:fadeIn .4s ease}
.clutch-glow{box-shadow:inset 0 0 0 2px rgba(255,59,48,.5);animation:none}

/* games: one grouped list, hairline rows */
.games{background:var(--card);border-radius:var(--r);overflow:hidden}
.gc,.gc:hover,.gc.live{background:none;border:0;border-radius:0;margin:0;box-shadow:none;transform:none}
.gc{padding:13px 14px 11px;border-bottom:1px solid var(--line)}
.gc:last-child{border-bottom:0}
.gc:hover{background:var(--card2)}
.gc:active{background:var(--card3);transform:none}
.gc.live{box-shadow:inset 3px 0 0 var(--live)}
.gc.clutch{box-shadow:inset 3px 0 0 var(--gold)}
.gc.clutch .pill.live::after{color:var(--gold)}
.gc .spark{opacity:.85}
.row img{width:24px;height:24px}
.row .nm{font-size:15px}
.meta{margin-top:8px}

/* Hype: a small meter, not an emoji */
.hype{gap:8px;font-weight:600;color:var(--muted)}
.hype i{order:-1;background:none;padding:0;text-transform:none;letter-spacing:0;font-size:12px;font-weight:600;color:var(--muted)}
.hype.hot i{color:var(--accent)}
.hype .hb{width:34px;height:4px;border-radius:2px;background:var(--card3);overflow:hidden}
.hype .hb span{display:block;height:100%;border-radius:2px;background:var(--dim)}
.hype.warm .hb span{background:var(--accent2)}
.hype.hot .hb span{background:var(--accent)}
.hype b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700;min-width:18px;text-align:right}

/* Spotlight + game hero: flat card, a team-color edge instead of glows */
.hero,.spot-card{background:linear-gradient(90deg,var(--c1) 50%,var(--c2) 50%) top/100% 3px no-repeat,var(--card)}
.kicker{background:none;backdrop-filter:none;padding:0;text-transform:none;letter-spacing:0;font-size:14px;font-weight:700;color:var(--muted)}
.ring.hot .rv,.ring.warm .rv{filter:none}

/* sentence-case labels, no letter-spaced caps */
.card h3,.rings-h,.cap,.badge,.hype i,.pill{text-transform:none;letter-spacing:0}
.card h3{font-size:14px;font-weight:700;color:var(--text)}
.rings-h{font-size:14px;font-weight:700;color:var(--text)}
.badge{font-weight:700;font-size:11.5px;text-shadow:none}

/* story circles: one quiet ring */
.rg{padding:2px;background:var(--accent)}
.ring-b.hot .rg{background:var(--accent)}
.ring-b.seen .rg{background:var(--card3)}
.ring-b:hover .rg{transform:none}
.rg{width:60px;height:60px}

/* plays: flat, team color only as an edge */
.play,.play.scoring{background:var(--card);border:0}
.play .lg img,.row img{filter:none}

/* Leaders: plain ranks */
.ldr .rk.top0{color:var(--gold)}.ldr .rk.top1{color:#c9ccd3}.ldr .rk.top2{color:#d08a4e}

.hype.hot{color:var(--muted)}
.hype.hot i{background:none;color:var(--accent)}
.st-sc,.big,.hero *,.spot-card *{text-shadow:none}
.spot-chart .cap,.pulse-card .cap{text-transform:none;letter-spacing:0;font-weight:600;font-size:12px;color:var(--dim)}
.sec-h h2{font-stretch:100%;font-weight:800;font-size:21px;letter-spacing:-.015em}
.pulse-svg path[fill]{opacity:.55}
.mvt,.mvt.live,.mvt.clutch{background:linear-gradient(90deg,var(--c1) 50%,var(--c2) 50%) top/100% 3px no-repeat,var(--card);border:0;box-shadow:none;border-radius:var(--r)}
.mvt.clutch{box-shadow:inset 0 0 0 1.5px var(--gold)}
.mvt.clutch .mvt-sc{animation:none}
.subnav svg{display:none}
.subnav button[hidden]{display:none!important}

@media(max-width:760px){
  .games{display:block;overflow:hidden;padding:0;margin:0 14px}
  .games .gc{flex:none;margin:0}
  header{background:rgba(10,10,11,.97);backdrop-filter:none;-webkit-backdrop-filter:none}
  /* app-style bottom tab bar */
  .subnav{position:fixed;left:0;right:0;bottom:0;z-index:25;max-width:none;margin:0;display:flex;justify-content:space-around;gap:0;overflow:visible;
    padding:6px 4px calc(env(safe-area-inset-bottom) + 6px);background:rgba(14,14,16,.97);border-top:1px solid var(--line2)}
  .subnav button{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 0;font-size:10.5px;font-weight:600;color:var(--dim);border-radius:0}
  .subnav button.on{box-shadow:none;color:var(--text)}
  .subnav button.on svg{color:var(--accent)}
  .subnav svg{display:block;width:23px;height:23px}
  body{padding-bottom:calc(env(safe-area-inset-bottom) + 62px)}
  .toast{bottom:calc(env(safe-area-inset-bottom) + 80px)}
}

/* =====================================================================
   v3 compact: smaller type and tighter spacing across the app.
   ===================================================================== */
body{font-size:13.5px}
.top{padding:9px 16px 7px;gap:10px}
.brand{font-size:17px;gap:7px}.mark{width:22px;height:22px;border-radius:7px}.mark svg{width:15px;height:15px}
.datebar button{height:28px;min-width:28px;border-radius:8px;font-size:13px}.datebar .d{min-width:76px;padding:0 10px}
.leagues{padding-bottom:8px;gap:2px}
.leagues button{padding:5px 10px;font-size:13px}
.subnav{padding-bottom:6px}.subnav button{font-size:12.5px;padding:5px 10px}
#home{gap:16px;padding:14px 16px}
@media(min-width:1101px){#home{grid-template-columns:300px minmax(0,1fr) 290px}}
.sec-h{margin-bottom:8px}.sec-h h2{font-size:17px}
.card h3{font-size:13px;padding:11px 14px 8px}
/* game list */
.gc{padding:10px 12px 9px}
.row+.row{margin-top:5px}
.row img{width:20px;height:20px}
.row .nm{font-size:14px}.row .rec{font-size:11px}
.row .sc{font-size:22px}
.meta{margin-top:6px;font-size:11.5px}
.pill{font-size:10.5px;padding:2px 8px}
/* spotlight + hero */
.spot-card{padding:12px 14px 10px}
.st-team img{width:44px;height:44px}
.st-nm{font-size:14px}.st-rec{font-size:11.5px}
.st-sc{font-size:44px}
.kicker{font-size:12.5px}
.hero{padding:14px 14px 12px}
.tm img{width:48px;height:48px}
.tm .ab{font-size:16px}
.big{font-size:48px}
.rings-h{font-size:13px;margin-bottom:6px}
.rings{gap:10px;padding-bottom:8px}
.rg{width:50px;height:50px}.ring-b{gap:4px}.ring-b .rt{font-size:10.5px}
/* plays */
.feed{gap:8px}
.play{padding:11px 12px;gap:10px;grid-template-columns:30px minmax(0,1fr)}
.play .lg img{width:28px;height:28px}
.play .txt{font-size:13.5px;line-height:1.38}
.play.scoring .txt{font-size:14px}
.play .ctx{font-size:11px;margin-bottom:2px}
.tabs button{font-size:13px;padding:7px 10px}
.mvt-sc{font-size:34px}
.ldr b{font-size:18px}
@media(max-width:760px){
  #home{padding:10px 0;gap:14px}
  .spot-card{border-radius:var(--r)}
  .st-team img{width:40px;height:40px}.st-sc{font-size:38px}
  .subnav button{font-size:10px}.subnav svg{width:21px;height:21px}
  body{padding-bottom:calc(env(safe-area-inset-bottom) + 56px)}
}
@media(max-width:420px){.big{font-size:40px}.st-sc{font-size:34px}.brand{font-size:16px}}
@media(max-width:360px){.subnav button{font-size:9px;letter-spacing:-.01em}.subnav svg{width:19px;height:19px}.datebar .d{min-width:0}}
/* phone tab bar: four tabs. My teams lives in the For You chip; Multiview is desktop-only */
@media(max-width:760px){
  .subnav [data-s="multi"],.subnav [data-s="teams"]{display:none}
  .subnav button{font-size:11px}.subnav svg{width:23px;height:23px}
}
.edit-teams{margin-left:auto;background:none;border:0;color:var(--accent);font-weight:600;font-size:13px;cursor:pointer;padding:4px 0}
.edit-teams+.upd{margin-left:10px}

/* Profile tab */
.me-card{background:var(--card);border:0;border-radius:var(--r)}
.card h3 .edit-teams{margin-left:auto}
.pf-teams{display:flex;flex-wrap:wrap;gap:8px;padding:2px 14px 14px}
.pf-team{display:flex;align-items:center;gap:7px;background:var(--card2);border:0;border-radius:10px;padding:7px 11px 7px 8px;color:var(--text);font-weight:700;font-size:13px;cursor:pointer}
.pf-team:hover{background:var(--card3)}
.pf-team img{width:22px;height:22px;object-fit:contain}
.pf-team small{color:var(--dim);font-weight:600;font-size:11px}
.card .pad .acct{margin:0 0 10px}
.card .pad .acct-more{margin-top:4px}
.pf-row{display:flex;width:100%;justify-content:space-between;align-items:center;background:var(--card2);border:0;border-radius:10px;padding:11px 12px;margin-top:10px;color:var(--text);font-weight:600;font-size:13.5px;cursor:pointer}
.pf-row span{color:var(--dim);font-size:18px;line-height:1}
@media(max-width:760px){.subnav [data-s="mod"]{display:none!important}}

/* =====================================================================
   v4 system: one surface style, day strip, scoreboard rows.
   ===================================================================== */
.datebar{display:none}
.top{justify-content:space-between}
.me{margin-left:auto}
/* day strip */
.days{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;padding:0 12px 8px;max-width:1400px;margin:0 auto;scroll-behavior:smooth}
.days::-webkit-scrollbar{display:none}
.days[hidden]{display:none}
.days button{flex:0 0 auto;min-width:48px;display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 6px;background:none;border:0;border-radius:10px;color:var(--dim);cursor:pointer}
.days button span{font-size:11px;font-weight:600}
.days button b{font-size:15px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.days button.today span{color:var(--accent)}
.days button.on{background:var(--card2)}
.days button.on b{color:var(--text)}
.days button:hover:not(.on){background:var(--card)}
.days .jump span{color:var(--accent)}
/* leagues: underline tabs instead of a white pill */
.leagues button.on{background:transparent;color:var(--text);box-shadow:inset 0 -2px 0 var(--text);border-radius:0}
.leagues button{border-radius:0}
.leagues .me-chip.on{background:transparent;color:var(--gold);box-shadow:inset 0 -2px 0 var(--gold)}
/* scoreboard rows */
.gc-main{display:flex;align-items:stretch;gap:12px}
.gc-teams{flex:1;min-width:0}
.gc-st{flex:0 0 92px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;padding-left:12px;border-left:1px solid var(--line2);font-size:12px;color:var(--muted)}
.gc-st b{font-size:12.5px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.gc-st b.live{color:#ff6961;display:flex;align-items:center;gap:5px}
.gc-st b.live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--live);flex:none;animation:pulse 1.2s infinite}
.gc-st .r{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:11.5px}
.gc-st .lgtag{font-size:10.5px;color:var(--dim)}
.gc-st .hype{gap:6px}.gc-st .hype i{display:none}.gc-st .hype .hb{width:28px}
.gc .spark{margin-top:6px}
.row .sc{min-width:34px}
/* one surface style: no colored borders, tiles or dashed boxes */
.cta{border:0;background:var(--card);padding:12px 14px;gap:10px}
.cta-t b{font-size:14px}.cta-t span{font-size:12.5px}
.cta-b{background:none!important;color:var(--accent)!important;padding:6px 4px!important;font-weight:700}
.feed .empty{border:0;background:var(--card)}
.empty{font-size:13px}
.spot{margin-bottom:0}
@media(max-width:760px){
  .me .av{display:none}
  .gc-st{flex-basis:84px}
}
@media(max-width:360px){.me .coins{display:inline}}
.me{height:30px;padding:0 11px;background:var(--card);border:0}
.leagues button,.leagues button.on{border-color:transparent;outline:none}
.leagues button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.chip,.f-tabs button{background:none;border-color:transparent}
.chip.on,.f-tabs button.on{background:var(--card2);color:var(--text)}
.chip.on,.f-tabs button.on,.filters button.on{border-color:transparent;box-shadow:none}

/* offline notice + native app tweaks */
.offline-bar{position:sticky;top:var(--hdr,0);z-index:19;background:var(--card2);color:var(--muted);font-size:12.5px;font-weight:600;text-align:center;padding:7px 12px;border-bottom:1px solid var(--line)}
.offline-bar[hidden]{display:none}
.is-app body{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}
.is-app input,.is-app textarea,.is-app .play .txt,.is-app .msg{-webkit-user-select:text;user-select:text}
.is-app footer{display:none}
.is-app .subnav{padding-bottom:calc(env(safe-area-inset-bottom) + 2px)}
@media(max-width:760px){.subnav{background:#0e0e10}}

/* =====================================================================
   Game page: slim scoreboard, tabs pinned under the header, one widget feed
   ===================================================================== */
#gameView .back{margin-bottom:6px}
.hero{padding:12px 14px 12px;margin-bottom:10px}
.hero .tm img{width:40px;height:40px}
.hero .tm .ab{font-size:15px;margin-top:4px}
.hero .tm .rc{font-size:11px}
.hero .big{font-size:46px}
.hero .lastp{margin-top:8px;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero .sit{margin-top:8px}
.hero .wp{margin-top:10px}
.hero .pre-actions{margin-top:8px;justify-content:center}
.story-btn{background:none!important;border:0!important;color:var(--accent)!important;font-weight:700;font-size:13px;padding:4px 6px!important}
.g-tabs{position:sticky;top:calc(var(--hdr,100px) - 1px);z-index:6;overflow-x:auto;scrollbar-width:none;background:var(--bg);border:0;border-radius:0;padding:6px 0;margin:0 0 10px;gap:2px;box-shadow:0 1px 0 var(--line)}
.g-tabs::-webkit-scrollbar{display:none}
.g-tabs button{flex:0 0 auto;padding:7px 12px;border-radius:999px;font-size:13px;font-weight:700}
.g-tabs button.on{background:var(--card2)}
#gGame[hidden]{display:none}
#gGame .card{margin-bottom:10px}
.g-sub{font-size:14px;font-weight:700;margin:16px 2px 8px}
#gBody .more[data-go]{width:100%;margin-top:8px;background:var(--card);border:0;border-radius:var(--r);padding:12px;color:var(--accent);font-weight:700;cursor:pointer}
.field-card{background:var(--card)}
.courtsvg{max-height:250px;width:auto;max-width:calc(100% - 28px);margin:0 auto}
.field-card .f-h,.pulse-card .pulse-h,.call-card .call-h{padding-top:10px;padding-bottom:6px}

/* Game tab, simplified: call strip, one visual, plain play rows */
#gGame #gLine{display:none!important}
.call-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--card);border-radius:var(--r);padding:10px 12px;margin-bottom:10px}
.call-strip[hidden]{display:none}
.call-strip .cs-tag{font-size:11.5px;font-weight:700;color:var(--accent)}
.call-strip .call-q{flex:1;min-width:120px;font-size:14px;font-weight:600;margin:0}
.call-strip .call-opts{display:flex;gap:6px;margin:0}
.call-strip .call-opts button{padding:7px 14px;font-size:13px;font-weight:700;border-radius:999px;background:var(--card2);border:0;color:var(--text);min-height:0}
.call-strip .call-res{flex-basis:100%;margin:2px 0 0}
.call-strip .dn{flex-basis:100%;font-size:11.5px;margin:0}
.call-strip .call-wait{font-size:13px;color:var(--muted);margin:0}
.viz{padding:10px 12px 12px}
.viz-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.seg{display:inline-flex;background:var(--card2);border-radius:999px;padding:3px}
.seg button{background:none;border:0;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer}
.seg button.on{background:var(--card3);color:var(--text)}
.viz-t{font-size:13px;font-weight:700}
.viz-hype{font-size:12px;color:var(--muted)}.viz-hype b{color:var(--text);margin-left:3px}
.viz .pulse-card,.viz .field-card{background:none;border:0;padding:0;margin:0;box-shadow:none}
.viz .pulse-card[hidden],.viz .field-card[hidden]{display:none}
.viz .field-card .f-h h3,.viz .field-card .f-h .sub{display:none}
.viz .field-card .f-h{padding:0 0 6px;justify-content:flex-end}
.viz .courtsvg{max-width:100%;margin:0 auto}
.top-swing{display:flex;align-items:baseline;gap:8px;width:100%;margin-top:8px;padding:8px 10px;background:var(--card2);border:0;border-radius:10px;color:var(--text);text-align:left;cursor:pointer;font-size:12.5px;overflow:hidden}
.top-swing span{color:var(--muted);flex:none}
.top-swing b{color:var(--tc);flex:none}
.top-swing i{font-style:normal;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mini-plays{background:var(--card);border-radius:var(--r);overflow:hidden}
.mp{display:grid;grid-template-columns:62px minmax(0,1fr);gap:4px 10px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.35}
.mp:last-child{border-bottom:0}
.mp-t{color:var(--dim);font-size:11.5px;font-variant-numeric:tabular-nums;padding-top:1px}
.mp-x{display:flex;gap:8px;align-items:flex-start;color:var(--muted)}
.mp-x img{width:16px;height:16px;object-fit:contain;flex:none;margin-top:1px}
.mp.sc .mp-x{color:var(--text);font-weight:600}
.mp.sc{box-shadow:inset 3px 0 0 var(--tc)}
.mp-s{grid-column:2;font-size:12px;font-weight:700}
.ls-card{padding:4px 0;margin-bottom:10px}
.viz .field-card .f-h{display:none}

/* =====================================================================
   Scorch mark + launch animation
   ===================================================================== */
.mark{background:none!important;width:18px;height:26px;border-radius:0;box-shadow:none}
.mark svg{width:100%;height:100%}
@media(max-width:420px){.mark{width:16px;height:23px}}
.intro{position:fixed;inset:0;z-index:300;background:#0a0a0b;display:grid;place-items:center;animation:introOut .35s ease 1.6s forwards;pointer-events:none}
.intro-in{display:flex;flex-direction:column;align-items:center}
.intro svg{width:78px;height:auto;overflow:visible;animation:introGlow 1.1s ease .45s both}
.intro .hw{transform-box:fill-box;transform-origin:50% 100%;animation:waveUp .65s cubic-bezier(.2,.8,.2,1) both,waveSway 1s ease-in-out .75s}
.intro .hw1{animation-delay:.05s,.75s}.intro .hw2{animation-delay:.16s,.82s}.intro .hw3{animation-delay:.27s,.89s}
.intro-word{font-family:var(--display);font-style:italic;font-weight:900;font-stretch:118%;font-size:32px;letter-spacing:-.02em;color:#f5f5f7;margin-top:18px;opacity:0;animation:wordIn .5s cubic-bezier(.2,.8,.2,1) .7s forwards}
@keyframes waveUp{from{opacity:0;transform:translateY(30px) scaleY(.4)}to{opacity:1;transform:none}}
@keyframes waveSway{50%{transform:skewX(-5deg) scaleY(1.04)}}
@keyframes introGlow{from{filter:drop-shadow(0 0 0 rgba(255,106,26,0))}60%{filter:drop-shadow(0 0 26px rgba(255,106,26,.7))}to{filter:drop-shadow(0 0 14px rgba(255,106,26,.4))}}
@keyframes wordIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes introOut{to{opacity:0;visibility:hidden}}
.wl-ic{background:var(--card2);border:0;color:var(--accent);font-size:0;width:84px;height:84px;border-radius:24px}
.wl-ic svg{width:40px;height:40px}
.wl-ic.mk{background:#0e0e10;box-shadow:inset 0 0 0 1px var(--line2)}
.wl-ic.mk svg{width:34px;height:48px;filter:drop-shadow(0 0 12px rgba(255,106,26,.45))}
/* No double-tap zoom anywhere (pinch still works on the website for accessibility). */
html{touch-action:manipulation;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.is-app,.is-app body{touch-action:pan-x pan-y}
.gc .pdot.ring{display:none}.gc .pdot{r:2.5px}

/* Game page, minimal: score → Call it → momentum line → latest plays */
.hero{padding:14px 14px 14px}
.hero .sb{gap:4px}
.viz{background:none;padding:2px 2px 0;margin:4px 0 2px}
.viz[hidden]{display:none}
.viz-h{margin-bottom:4px}
.viz-t{font-size:13px;font-weight:700;color:var(--text)}
.viz-wp{font-size:12px;color:var(--muted)}.viz-wp b{color:var(--text);font-weight:700}
.viz .pulse-chart{margin:0 -2px}
.stats-seg{display:flex;width:100%;margin-bottom:10px}
.stats-seg button{flex:1}
.stats-field{padding:12px}
.stats-field .courtsvg{max-height:none;width:100%;max-width:100%}
.g-sub{margin-top:14px}
.hero .pre-actions{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:10px}
.hero .countdown{background:none!important;border:0!important;padding:0!important;font-size:13px;color:var(--muted)}
.hero .countdown b{font-size:14px!important;color:var(--text)}
.remind-link{background:none!important;border:0!important;color:var(--accent)!important;font-weight:700;font-size:13px;padding:2px 0!important;cursor:pointer}

/* =====================================================================
   Instagram-style tab bar: icons only, filled when active, avatar for Profile
   ===================================================================== */
@media(max-width:760px){
  .subnav{height:calc(52px + env(safe-area-inset-bottom));padding:0 6px env(safe-area-inset-bottom);align-items:center;background:#000;border-top:1px solid rgba(255,255,255,.1)}
  .subnav button{height:52px;justify-content:center;gap:0;color:#f5f5f7;padding:0}
  .subnav button .tl{display:none}
  .subnav svg{width:27px;height:27px}
  .subnav button.on svg{color:#fff}
  .subnav button.on svg .fl{fill:currentColor}
  .subnav button.on svg{stroke-width:2}
  .subnav button.on svg{color:#fff}
  .subnav button:not(.on){color:#f5f5f7}
  .subnav button.on svg path:not(.fl){stroke-width:2.2}
  .tab-av{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;padding:2px;border:2px solid transparent}
  .tab-av .av{width:24px!important;height:24px!important;font-size:13px!important}
  .tab-av>svg{width:27px;height:27px}
  .subnav button.on .tab-av{border-color:#fff}
  .subnav button.on .tab-av>svg .fl{fill:currentColor}
  body{padding-bottom:calc(env(safe-area-inset-bottom) + 56px)}
  body.in-game .subnav{display:none}
}
@media(min-width:761px){.tab-av{display:none}.subnav .tl{display:inline}}
.subnav button:active svg{transform:scale(.9)}
.subnav svg{transition:transform .12s}

/* Game bar: Polls · Chat · Settings */
.game-bar{position:fixed;left:0;right:0;bottom:0;z-index:25;display:flex;justify-content:space-around;align-items:center;height:calc(52px + env(safe-area-inset-bottom));padding:0 30px env(safe-area-inset-bottom);background:#000;border-top:1px solid rgba(255,255,255,.1)}
.game-bar[hidden]{display:none}
.game-bar button{position:relative;flex:1;height:52px;display:grid;place-items:center;background:none;border:0;color:#f5f5f7;cursor:pointer}
.game-bar svg{width:27px;height:27px;transition:transform .12s}
.game-bar button:active svg{transform:scale(.9)}
.game-bar button.on svg .fl{fill:currentColor}
.game-bar .dot{position:absolute;top:12px;left:calc(50% + 9px);width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px #000}
.game-bar .dot[hidden]{display:none}
@media(min-width:761px){.game-bar{left:50%;right:auto;transform:translateX(-50%);width:300px;bottom:18px;height:56px;padding:0 12px;border-radius:999px;border:1px solid var(--line2);background:rgba(20,20,22,.95)}.game-bar button{height:56px}}
body.in-game{padding-bottom:calc(env(safe-area-inset-bottom) + 70px)}

/* Bottom sheet */
.g-sheet{position:fixed;inset:0;z-index:35;display:flex;flex-direction:column;justify-content:flex-end}
.g-sheet[hidden]{display:none}
.g-sheet-bg{position:absolute;inset:0;background:rgba(0,0,0,.55);animation:fadeIn .2s}
.g-sheet-p{position:relative;width:100%;max-width:640px;margin:0 auto;max-height:86vh;display:flex;flex-direction:column;background:#141416;border-radius:22px 22px 0 0;padding:0 14px calc(env(safe-area-inset-bottom) + 14px);animation:sheet .32s cubic-bezier(.2,.8,.2,1)}
.g-sheet-h{position:relative;display:flex;align-items:center;justify-content:center;padding:18px 0 12px;flex:none}
.g-sheet-h .grab{position:absolute;top:7px;left:50%;transform:translateX(-50%);width:38px;height:5px;border-radius:3px;background:rgba(255,255,255,.2)}
.g-sheet-h b{font-size:16px}
.g-sheet-x{position:absolute;right:0;top:12px;width:32px;height:32px;display:grid;place-items:center;background:var(--card2);border:0;border-radius:50%;color:var(--muted);cursor:pointer}
.g-sheet-x svg{width:16px;height:16px}
.gs-pane{overflow:auto;min-height:0}
.gs-pane[hidden]{display:none}
#gPolls .call-strip{background:var(--card2)}
#gPolls .card{background:var(--card2)}
#gPolls .empty{background:none}
#gChat .chat{background:none;border:0;margin:0}
#gChat .chat-list{max-height:52vh}
/* settings */
.set-h{font-size:12.5px;font-weight:600;color:var(--muted);margin:14px 4px 6px}
.set-h:first-child{margin-top:2px}
.set-card{background:var(--card2);border-radius:14px;overflow:hidden}
.set-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--text);text-align:left;cursor:pointer;font:inherit}
.set-row:last-child{border-bottom:0}
.set-row span{display:flex;flex-direction:column;gap:2px;min-width:0}
.set-row b{font-size:14.5px;font-weight:600}
.set-row small{font-size:12px;color:var(--muted)}
.set-team{flex-direction:row!important;align-items:center;gap:10px!important}
.set-team img{width:24px;height:24px;object-fit:contain}
.set-btn .chev{color:var(--dim);font-size:20px}
.set-note{font-size:12px;color:var(--dim);text-align:center;margin:14px 8px 4px}
.sw{appearance:none;-webkit-appearance:none;flex:none;width:46px;height:28px;border-radius:999px;background:var(--card3);position:relative;cursor:pointer;transition:background .2s;margin:0}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .2s cubic-bezier(.2,.8,.2,1);box-shadow:0 1px 3px rgba(0,0,0,.3)}
.sw:checked{background:#30d158}
.sw:checked::after{transform:translateX(18px)}

/* =====================================================================
   Heat: on-a-heater list, crowd heat meter, Game tab teaser
   ===================================================================== */
.hm{display:inline-grid;place-items:center;width:16px;height:22px;flex:none}
.hm svg{width:100%;height:100%;overflow:visible}
.hm.l1 .hw2,.hm.l1 .hw3,.hm.l2 .hw3{opacity:.18}
.hm.l3 svg{filter:drop-shadow(0 0 6px rgba(255,106,26,.7))}
.heat-tease{display:flex;align-items:center;gap:10px;width:100%;margin:2px 0 10px;padding:11px 12px;border:0;border-radius:var(--r);background:linear-gradient(90deg,rgba(255,91,36,.16),rgba(255,91,36,.04) 70%),var(--card);color:var(--text);text-align:left;font-size:13.5px;cursor:pointer}
.heat-tease span:not(.hm):not(.chev){flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.heat-tease i{font-style:normal;color:var(--muted);margin-left:4px}
.heat-tease .chev{color:var(--dim);font-size:18px}
.heat-tease.l3{background:linear-gradient(90deg,rgba(255,91,36,.28),rgba(255,91,36,.06) 75%),var(--card)}
.hr-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--line)}
.hr-row:last-child{border-bottom:0}
.hr-pic{width:42px;height:42px;border-radius:50%;background:var(--card3);overflow:hidden;flex:none;display:grid;place-items:center}
.hr-pic img{width:100%;height:100%;object-fit:cover}
.hr-pic img.lg{width:26px;height:26px;object-fit:contain}
.hr-row.l3 .hr-pic{box-shadow:0 0 0 2px #FF6A1A,0 0 14px rgba(255,106,26,.45)}
.hr-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.hr-t b{font-size:15px}
.hr-t small{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hr-lv{display:flex;flex-direction:column;align-items:center;gap:3px;flex:none;width:70px}
.hr-lv small{font-size:10.5px;font-weight:700;color:var(--muted)}
.hr-row.l3 .hr-lv small{color:#FF8A3D}
.hr-empty{padding:16px 14px;font-size:13px;color:var(--muted);line-height:1.45}
.heat-crowd{--glow:0;padding:14px;box-shadow:0 0 calc(var(--glow) * 40px) rgba(255,90,30,calc(var(--glow) * .35)) inset}
.hc-top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}
.hc-top b{font-size:17px}
.hc-top span{font-size:12px;color:var(--muted)}
.hc-bar{height:12px;border-radius:999px;background:var(--card3);overflow:hidden}
.hc-bar span{display:block;height:100%;width:3%;border-radius:999px;background:linear-gradient(90deg,#F0380F,#FF6A1A 55%,#FFB224);transition:width .35s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 12px rgba(255,106,26,.6)}
.hc-btn{width:100%;margin-top:14px;padding:14px;border:0;border-radius:14px;background:linear-gradient(180deg,#FF6A1A,#F0380F);color:#1a0a04;font-weight:800;font-size:15px;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:none;transition:transform .1s}
.hc-btn.on{transform:scale(.97);box-shadow:0 0 24px rgba(255,106,26,.6)}
.hc-btn:disabled{background:var(--card3);color:var(--muted);cursor:default}
.game-bar button.on[data-gs="heat"] svg{color:#FF6A1A}
.tally{font-weight:800;color:var(--accent);white-space:nowrap;font-size:.92em;margin-left:2px}

/* =====================================================================
   Play timeline (game Plays tab + Game tab "Latest")
   ===================================================================== */
#gBody{gap:0}
.pc-filters{display:flex;width:100%;margin:0 0 12px}
.pc-filters button{flex:1}
.pc-div{position:sticky;top:calc(var(--hdr,100px) + 44px);z-index:4;margin:14px 0 0;padding:8px 4px 8px;background:var(--bg);font-size:12.5px;font-weight:700;color:var(--muted)}
.pc-div:first-of-type{margin-top:0}
.play.pc{display:grid;grid-template-columns:50px minmax(0,1fr);gap:0 10px;padding:11px 12px 11px 10px;margin:0;background:var(--card);border:0;border-radius:0;border-bottom:1px solid var(--line);box-shadow:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.play.pc:hover{background:var(--card)}
.play.pc::before{display:none}
/* round the first/last row of each run */
.pc-div+.play.pc,.g-sub+.play.pc,.pc-filters+.pc-div+.play.pc{border-top-left-radius:14px;border-top-right-radius:14px}
.play.pc:has(+ .pc-div),.play.pc:has(+ .more),.play.pc:last-child{border-bottom-left-radius:14px;border-bottom-right-radius:14px;border-bottom:0}
.pc-time{font-size:11.5px;color:var(--dim);font-variant-numeric:tabular-nums;padding-top:3px;display:flex;flex-direction:column;gap:5px}
.pc-live{width:7px;height:7px;border-radius:50%;background:var(--live);animation:pulse 1.2s infinite}
.pc-body{min-width:0}
.pc-main{display:flex;align-items:flex-start;gap:10px}
.pc-lg{width:18px;height:18px;flex:none;margin-top:1px}
.pc-lg img{width:18px;height:18px;object-fit:contain;filter:none}
.pc-txt{flex:1;min-width:0;font-size:13.5px;line-height:1.4;color:var(--muted)}
.pc-rx{flex:none;display:flex;gap:6px;font-size:12px;color:var(--muted);padding-top:1px}
.pc-rx:empty{display:none}
.pc-cm{font-size:11.5px}
/* scoring plays */
.play.pc.sc{box-shadow:inset 3px 0 0 var(--tc)}
.play.pc.sc .pc-txt{color:var(--text);font-weight:600;font-size:14.5px}
.pc-hs{width:38px;height:38px;flex:none;border-radius:50%;overflow:hidden;background:var(--card3);box-shadow:0 0 0 2px var(--tc)}
.pc-hs img{width:100%;height:100%;object-fit:cover;object-position:top}
.play.pc.sc .pc-lg{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--card2)}
.play.pc.sc .pc-lg img{width:24px;height:24px}
.pc-score{display:inline-flex;align-items:center;gap:6px;margin:7px 0 0 48px;padding:4px 10px;border-radius:999px;background:var(--card2);font-size:12px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.pc-score i{font-style:normal;color:var(--dim)}
.pc-score .hi{color:var(--text)}
.pc-tag{display:inline-block;margin-right:6px;padding:1px 7px;border-radius:6px;background:var(--tc);color:#fff;font-size:10.5px;font-weight:800;vertical-align:1px}
.pc-tag.live{background:rgba(255,59,48,.18);color:#ff6961}
.play.pc.big{background:linear-gradient(90deg,color-mix(in srgb,var(--tc) 14%,transparent),transparent 60%),var(--card)}
/* reactions only when the row is opened */
.play.pc .acts{display:none;margin:10px 0 0 48px}
.play.pc.open .acts{display:flex}
.play.pc .thread{margin-left:48px}
.play.pc .pt{margin-left:48px}
.play.pc.enter{animation:pcIn .5s cubic-bezier(.2,.8,.2,1)}
@keyframes pcIn{from{opacity:0;transform:translateY(-8px)}}
#gBody .more{margin-top:12px}

/* play text + stat chips */
.pc-who{font-weight:700;color:var(--text)}
.play.pc:not(.sc) .pc-who{color:#d6d6dc;font-weight:600}
.pc-stats{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.pc-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;background:var(--card2);color:var(--muted);font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.01em;line-height:1.5}
.pc-chip i{font-style:normal;font-weight:600;color:var(--dim)}
.pc-chip.main{color:#d6d6dc}
.pc-chip.pts{background:rgba(255,91,36,.14);color:#ff8a3d}
.pc-chip.warn{background:rgba(255,59,48,.16);color:#ff6961}
.play.pc.sc .pc-chip.pts{background:rgba(255,91,36,.2);color:#ff9a52}
.pc-score{margin-top:8px}

/* =====================================================================
   Play rows v2: one strict grid — clock · photo · text · stat
   ===================================================================== */
.play.pr{display:grid;grid-template-columns:38px 32px minmax(0,1fr) auto;column-gap:10px;align-items:start;padding:12px 14px 12px 12px;margin:0;background:var(--card);border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.play.pr::before{display:none}
.play.pr:hover{background:var(--card)}
.pc-div+.play.pr,.g-sub+.play.pr{border-top-left-radius:16px;border-top-right-radius:16px}
.play.pr:has(+ .pc-div),.play.pr:has(+ .more),.play.pr:last-child{border-bottom-left-radius:16px;border-bottom-right-radius:16px;border-bottom:0}
.pr-time{font-size:11.5px;line-height:32px;color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap;position:relative}
.pr-time .pc-live{position:absolute;left:0;top:26px}
.pr-pic{width:32px;height:32px;border-radius:50%;overflow:hidden;background:var(--card2);display:grid;place-items:center}
.pr-pic img{width:100%;height:100%;object-fit:cover;object-position:top}
.pr-pic.lg img{width:20px;height:20px;object-fit:contain}
.pr-body{min-width:0;padding-top:1px}
.pr-txt{font-size:14px;line-height:1.38;color:var(--muted)}
.pr-txt .pc-who{color:var(--text);font-weight:650}
.pr-detail{margin-top:3px;font-size:12px;color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pr-stat{display:flex;flex-direction:column;align-items:flex-end;min-width:34px;padding-top:1px;line-height:1}
.pr-stat b{font-family:var(--display);font-stretch:80%;font-size:21px;font-weight:800;color:#d6d6dc;font-variant-numeric:tabular-nums}
.pr-stat small{margin-top:3px;font-size:9.5px;font-weight:700;letter-spacing:.06em;color:var(--dim)}
.pr-stat.pts b{color:#ff7a33}
.pr-stat.warn b{color:#ff6961}
/* scoring plays: the line people are looking for */
.play.pr.sc{box-shadow:inset 3px 0 0 var(--tc)}
.play.pr.sc .pr-txt{color:var(--text);font-weight:500}
.play.pr.sc .pr-pic{box-shadow:0 0 0 2px var(--tc)}
.play.pr.sc .pr-detail{color:var(--muted);font-weight:600}
.play.pr.bigp{background:linear-gradient(90deg,color-mix(in srgb,var(--tc) 12%,transparent),transparent 55%),var(--card)}
/* team events (timeouts, subs, team rebounds): quietest */
.play.pr.quiet .pr-txt{font-size:13px;color:var(--dim)}
.play.pr.quiet .pr-txt .pc-who{color:var(--muted);font-weight:500}
.play.pr.quiet .pr-pic{width:24px;height:24px;margin:4px}
.play.pr.quiet .pr-pic.lg img{width:16px;height:16px}
/* tap to react */
.play.pr .pc-rx{margin-top:4px;display:flex;gap:6px;font-size:12px;color:var(--muted)}
.play.pr .pc-rx:empty{display:none}
.play.pr .acts{display:none;margin:10px 0 0}
.play.pr.open .acts{display:flex}
.play.pr .thread,.play.pr .pt{margin-left:0}
.play.pr.enter{animation:pcIn .5s cubic-bezier(.2,.8,.2,1)}
.pr-pic:empty{visibility:hidden}

/* =====================================================================
   Basketball feed cards (headline-first, grouped plays)
   ===================================================================== */
.play.fd{display:grid;grid-template-columns:50px minmax(0,1fr) auto;column-gap:12px;align-items:start;padding:14px 4px 14px 2px;margin:0;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.play.fd::before{display:none}
.play.fd:hover{background:none}
.fd-pic{position:relative;width:50px;height:50px;border-radius:50%;background:var(--card2);display:grid;place-items:center}
.fd-pic>img{width:50px;height:50px;border-radius:50%;object-fit:cover;object-position:top}
.fd-pic>img:only-child:not([loading]){width:30px;height:30px;border-radius:0;object-fit:contain}
.fd-badge{position:absolute;right:-3px;bottom:-3px;width:22px;height:22px;border-radius:50%;background:#16161a;border:2px solid var(--bg);display:grid;place-items:center}
.fd-badge img{width:14px;height:14px;object-fit:contain}
.play.fd.sc .fd-pic>img{box-shadow:0 0 0 2px var(--tc)}
.fd-body{min-width:0}
.fd-ctx{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden}
.fd-sc{display:inline-flex;align-items:center;gap:3px}
.fd-sc img{width:13px;height:13px;object-fit:contain}
.fd-sc b{font-weight:700;color:var(--muted)}
.fd-sc b.hi{color:var(--text)}
.fd-sc i{font-style:normal}
.fd-clock.live{color:#ff6961;font-weight:700}
.fd-head{font-size:16.5px;font-weight:750;color:var(--text);letter-spacing:-.01em;line-height:1.25;margin:4px 0 3px}
.fd-who{font-size:13px;color:var(--muted)}
.fd-who b{color:#e6e6ea;font-weight:650}
.fd-who b.pts{color:#ff8a3d}
.fd-who b.warn{color:#ff6961}
.fd-sec{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:12.5px;color:var(--dim)}
.fd-sec img{width:17px;height:17px;border-radius:50%;object-fit:cover;object-position:top;background:var(--card2)}
.fd-tags{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px}
.fd-tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}
.fd-tag i{font-style:normal;display:inline-grid;place-items:center;width:16px;height:16px;border-radius:5px;background:var(--card2);font-size:10px;color:var(--muted)}
.fd-tag.hot{color:#ff8a3d}.fd-tag.hot i{background:none}.fd-tag.hot .hm{width:11px;height:15px}
.fd-tag.cold{color:#7fb2ff}.fd-tag.cold i{color:#7fb2ff}
.fd-tag.run{color:#ffb224}.fd-tag.run i{color:#ffb224}
.fd-wp{font-size:12px;font-weight:700;color:var(--dim);font-variant-numeric:tabular-nums;padding-top:1px;white-space:nowrap}
.fd-wp.up{color:#30d158}
.play.fd.big3{background:linear-gradient(90deg,color-mix(in srgb,var(--tc) 10%,transparent),transparent 65%)}
.fd-end{display:flex;align-items:center;gap:10px;padding:16px 2px 8px;font-size:12.5px;font-weight:700;color:var(--muted)}
.fd-end::before,.fd-end::after{content:"";flex:1;height:1px;background:var(--line2)}
.play.fd .pc-rx{margin-top:7px;display:flex;gap:8px;font-size:12px;color:var(--muted)}
.play.fd .pc-rx:empty{display:none}
.play.fd .acts{display:none;margin:10px 0 0}
.play.fd.open .acts{display:flex}
.play.fd.enter{animation:pcIn .5s cubic-bezier(.2,.8,.2,1)}
.g-sub+.play.fd{border-top:1px solid var(--line)}
.fd-ini{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--tc) 55%,#1a1a1e);color:#fff;font-weight:800;font-size:16px;letter-spacing:.02em}
.play.fd.sc .fd-ini{box-shadow:0 0 0 2px var(--tc)}
.fd-pic>img.lg,.fd-pic>.lg{width:30px;height:30px}
/* everyday plays: calmer headline; highlights: the big call */
.fd-head{font-size:15px;font-weight:500;color:#cfcfd5;letter-spacing:0}
.fd-head b{color:var(--text);font-weight:700}
.play.fd.sc .fd-head{color:var(--text)}
.fd-hl{display:inline-flex;align-items:center;gap:5px;margin:5px 0 1px;padding:2px 9px 2px 6px;border-radius:999px;background:linear-gradient(90deg,rgba(255,91,36,.25),rgba(255,178,36,.12));color:#ffb46b;font-size:11.5px;font-weight:800}
.fd-hl .hm{width:10px;height:14px}
.play.fd.hlp{background:linear-gradient(90deg,color-mix(in srgb,var(--tc) 16%,transparent),rgba(255,91,36,.06) 60%,transparent)}
.play.fd.hlp .fd-head{font-size:18px;font-weight:800;color:var(--text);letter-spacing:-.01em}
.play.fd.hlp .fd-pic>img,.play.fd.hlp .fd-ini{box-shadow:0 0 0 2px #FF6A1A,0 0 16px rgba(255,106,26,.5)}

/* Box score: team tabs + totals */
.bx-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px}
.bx-tabs button{display:flex;align-items:center;gap:8px;padding:10px 12px;border:0;border-radius:14px;background:var(--card);color:var(--muted);font-weight:700;font-size:14px;cursor:pointer;box-shadow:inset 0 0 0 1px var(--line)}
.bx-tabs button img{width:24px;height:24px;object-fit:contain}
.bx-tabs button b{margin-left:auto;font-family:var(--display);font-stretch:80%;font-size:20px;font-weight:800;color:var(--dim)}
.bx-tabs button.on{background:color-mix(in srgb,var(--tc) 22%,var(--card));color:var(--text);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--tc) 70%,#fff 10%)}
.bx-tabs button.on b{color:var(--text)}
.bx-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border-radius:14px;overflow:hidden;margin-bottom:12px}
.bx-totals div{background:var(--card);padding:10px 10px 9px;display:flex;flex-direction:column;gap:3px}
.bx-totals b{font-family:var(--display);font-stretch:80%;font-size:22px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.bx-totals small{font-size:11px;font-weight:700;color:var(--dim);letter-spacing:.03em}
.bx tr.total td{font-weight:800;color:var(--text);background:var(--card2)}
.bx tr.dnp td{color:var(--dim)}

/* =====================================================================
   Phone cleanup: no brand row, home = stories + games only
   ===================================================================== */
@media(max-width:760px){
  header .top{display:none}
  header{padding-top:calc(env(safe-area-inset-top) + 6px)}
  #home>.col-feed,#home>.side,#home .spot-card,#home .spot>.cta{display:none!important}
  #home{padding-top:6px;gap:8px}
  #home .spot{margin:0}
  footer{display:none}
  .games{margin-bottom:8px}
}
/* league row only where the league matters */
body.v-me .leagues,body.v-leaders .leagues{display:none}

/* =====================================================================
   Top bar v2: frosted, fades at the edges, gliding underline, day row tucks away
   ===================================================================== */
@media(max-width:760px){
  header{background:transparent!important;border-bottom:1px solid transparent;transition:border-color .25s}
  header::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(10,10,11,.72);-webkit-backdrop-filter:saturate(1.8) blur(22px);backdrop-filter:saturate(1.8) blur(22px)}
  header.scrolled{border-bottom-color:rgba(255,255,255,.08)}
}
header{position:sticky}
.leagues{position:relative;gap:0;padding:2px 8px 0;scroll-behavior:smooth;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 34px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 34px),transparent)}
.leagues button,.leagues button.on,.leagues .me-chip.on{box-shadow:none!important;background:none!important}
.leagues button{padding:9px 12px 11px;font-size:15px;font-weight:600;color:#7d7d86;transition:color .25s;border:0}
.leagues button.on{color:#fff}
.leagues .me-chip{color:#c9a54a}
.leagues .me-chip.on{color:var(--gold)}
.lg-ind{position:absolute;left:0;bottom:2px;height:2.5px;width:0;border-radius:2px;background:#fff;transform:translateX(0);transition:transform .35s cubic-bezier(.3,.9,.3,1),width .35s cubic-bezier(.3,.9,.3,1);pointer-events:none}
.lg-ind.gold{background:var(--gold)}
.days{scroll-behavior:smooth;gap:0;padding:2px 8px 8px;max-height:70px;overflow-y:hidden;transition:max-height .3s cubic-bezier(.3,.9,.3,1),opacity .25s,padding .3s;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 18px),transparent)}
.days button,.days button.on{background:none!important;border-radius:12px;min-width:50px;padding:5px 4px 8px;position:relative}
.days button span{font-size:11px;font-weight:600;color:#6c6c74}
.days button b{font-size:17px;font-weight:600;color:#8a8a92;transition:color .2s}
.days button.on b{color:#fff;font-weight:800}
.days button.on span{color:#d8d8de}
.days button.on::after{content:"";position:absolute;left:50%;bottom:1px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--accent)}
.days button.today span{color:var(--accent)}
header.compact .days{max-height:0;opacity:0;padding-top:0;padding-bottom:0}

/* iOS-style action sheet */
.as{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;justify-content:flex-end}
.as-bg{position:absolute;inset:0;background:rgba(0,0,0,.5);animation:fadeIn .2s}
.as-p{position:relative;margin:0 10px calc(env(safe-area-inset-bottom) + 10px);display:flex;flex-direction:column;gap:2px;animation:sheet .3s cubic-bezier(.2,.8,.2,1)}
.as-t{background:#1c1c1f;border-radius:16px 16px 0 0;padding:14px;text-align:center;font-size:13px;font-weight:600;color:var(--muted)}
.as-p>button{display:flex;align-items:center;gap:14px;background:#1c1c1f;border:0;padding:16px 18px;color:var(--text);font-size:17px;font-weight:500;cursor:pointer;text-align:left}
.as-p>button:nth-last-child(2){border-radius:0 0 16px 16px}
.as-p>button:active{background:#2a2a2e}
.as-ic{width:24px;height:24px;color:var(--accent);flex:none}
.as-ic svg{width:24px;height:24px}
.as-x{margin-top:8px;border-radius:16px!important;justify-content:center;font-weight:700!important;color:var(--accent)!important}
.as.out .as-p{transform:translateY(30px);opacity:0;transition:all .2s}
.as.out .as-bg{opacity:0;transition:opacity .2s}
.play.hl{animation:none;box-shadow:inset 0 0 0 2px var(--accent)}

/* Share sheet: preview + round actions + link rows */
.shs{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;justify-content:flex-end}
.shs-bg{position:absolute;inset:0;background:rgba(0,0,0,.6);animation:fadeIn .2s}
.shs-p{position:relative;background:#141416;border-radius:24px 24px 0 0;padding:10px 18px calc(env(safe-area-inset-bottom) + 14px);animation:sheet .32s cubic-bezier(.2,.8,.2,1);max-height:92vh;overflow:auto}
.shs-p .grab{display:block;width:38px;height:5px;border-radius:3px;background:rgba(255,255,255,.2);margin:0 auto 10px}
.shs-t{text-align:center;font-size:17px;font-weight:700;margin-bottom:14px}
.shs-prev{border-radius:16px;overflow:hidden;border:1px solid var(--line2);background:#0e0e10;margin-bottom:18px}
.shs-prev img{display:block;width:100%;height:auto}
.shs-row{display:flex;justify-content:space-around;margin-bottom:14px}
.shs-row button{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:0;color:var(--text);font-size:13px;font-weight:600;cursor:pointer}
.shs-row button span{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#FF6A1A,#F0380F);color:#1a0a04}
.shs-row button span svg{width:27px;height:27px}
.shs-row button.sh-x span{background:#000;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.7)}
.shs-row button:active span{transform:scale(.93)}
.shs-li{display:flex;align-items:center;gap:14px;width:100%;padding:15px 4px;background:none;border:0;border-top:1px solid var(--line);color:var(--text);font-size:16px;font-weight:600;cursor:pointer}
.shs-li svg{width:24px;height:24px;color:var(--muted)}
.shs.out .shs-p{transform:translateY(40px);opacity:0;transition:all .2s}
.shs.out .shs-bg{opacity:0;transition:opacity .2s}

/* =====================================================================
   Floating glass tab bar (Instagram-style): inset pill, frosted, active pill
   ===================================================================== */
@media(max-width:760px){
  .subnav,.game-bar{left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 6px);height:64px;padding:6px;gap:4px;border-radius:999px;
    background:rgba(38,38,42,.62)!important;-webkit-backdrop-filter:blur(26px) saturate(1.9);backdrop-filter:blur(26px) saturate(1.9);
    border:1px solid rgba(255,255,255,.13);border-top:1px solid rgba(255,255,255,.13);box-shadow:0 12px 34px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.06)}
  .subnav button,.game-bar button{height:52px;border-radius:999px;transition:background .3s cubic-bezier(.3,.9,.3,1),transform .15s}
  .subnav button.on,.game-bar button.on{background:rgba(255,255,255,.14)}
  .subnav button:active,.game-bar button:active{transform:scale(.94)}
  .subnav svg,.game-bar svg{width:26px;height:26px}
  .tab-av{width:32px;height:32px}
  .subnav button.on .tab-av{border-color:transparent}
  body{padding-bottom:calc(env(safe-area-inset-bottom) + 90px)}
  body.in-game{padding-bottom:calc(env(safe-area-inset-bottom) + 90px)}
  .toast{bottom:calc(env(safe-area-inset-bottom) + 96px)}
  .game-bar{padding:6px 10px}
  .game-bar .dot{top:10px}
}
/* floating bar: final word (overrides the older tab-bar rules) */
@media(max-width:760px){
  html .subnav,html .game-bar,html.is-app .subnav{box-sizing:border-box;height:64px!important;padding:6px!important;bottom:calc(env(safe-area-inset-bottom) + 4px)!important;display:flex!important;align-items:center!important;gap:4px!important}
  html .subnav button,html .game-bar button{flex:1 1 0!important;height:52px!important;min-height:0!important;padding:0!important;margin:0!important;border-radius:26px!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important}
  html .subnav button[hidden],html .subnav [data-s="multi"],html .subnav [data-s="teams"],html .subnav [data-s="mod"]{display:none!important}
  html .subnav button.on,html .game-bar button.on{background:rgba(255,255,255,.15)!important}
  html .subnav button .tl{display:none!important}
}
@media(max-width:760px){
  html .game-bar[hidden],html body.in-game .subnav{display:none!important}
}

/* Player page: season-by-season stats */
.ps-card .ps-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-right:12px}
.ps-card .ps-h h3{margin-right:auto}
.ps-sel{position:relative;display:inline-flex;align-items:center}
.ps-sel select{appearance:none;-webkit-appearance:none;font:inherit;font-size:12px;font-weight:700;color:var(--text);background:var(--card2);border:1px solid var(--line);border-radius:999px;padding:6px 26px 6px 12px;cursor:pointer;outline:none}
.ps-sel::after{content:"";position:absolute;right:11px;top:50%;width:5px;height:5px;border:solid var(--muted);border-width:0 1.5px 1.5px 0;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.ps-cats{display:flex;gap:6px;overflow-x:auto;padding:0 16px 10px;scrollbar-width:none}
.ps-cats::-webkit-scrollbar{display:none}
.ps-cats button{flex:none;font:inherit;font-size:12px;font-weight:700;color:var(--muted);background:none;border:1px solid var(--line);border-radius:999px;padding:5px 11px;cursor:pointer}
.ps-cats button.on{color:var(--text);background:var(--card2);border-color:transparent}
table.ps td:first-child{min-width:74px}
table.ps td:first-child b{display:block;font-size:12px;font-weight:800}
.ps-tm{display:flex;align-items:center;gap:4px;font-size:10.5px;color:var(--muted);margin-top:2px}
.ps-tm img{width:13px;height:13px;object-fit:contain}
table.ps td{font-variant-numeric:tabular-nums;font-size:12.5px}
table.ps tr.cur td{color:var(--text);font-weight:700}
table.ps tr.cur td:first-child{box-shadow:inset 2px 0 0 var(--accent,#ff6a2b)}

/* iOS only delivers taps on plain elements when they look clickable */
[data-ath],[data-prof],[data-tteam]{cursor:pointer}

/* Player stats: one season at a time */
.ps-card .ps-h{gap:8px}
.ps-card .ps-h .ps-sel select{max-width:150px;text-overflow:ellipsis}
.ps-sub{display:flex;align-items:center;gap:5px;padding:0 16px 8px;font-size:11.5px;font-weight:700;color:var(--muted)}
.ps-sub img{width:15px;height:15px;object-fit:contain}
.ps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line)}
.ps-grid>div{background:var(--card);padding:12px 4px 10px;text-align:center;min-width:0}
.ps-grid b{display:block;font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-grid span{display:block;margin-top:2px;font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.02em}
.ps-grid{background:none;gap:0}
.ps-grid>div{box-shadow:0 0 0 .5px var(--line)}

/* Team page */
#tTabs{margin-bottom:12px}
.tm-form .tf-row{display:flex;gap:6px;padding:0 16px 14px}
.tm-form .tf-row span{flex:1;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;background:var(--card2);color:var(--muted);cursor:pointer}
.tm-form .tf-row span.w{background:rgba(52,199,89,.16);color:#34c759}
.tm-form .tf-row span.l{background:rgba(255,69,58,.13);color:#ff6b61}
.tm-snap{display:block;width:100%;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer;overflow:hidden}
.tm-snap .ts-h{display:flex;align-items:center;justify-content:space-between;padding-right:16px}
.tm-snap .chev{color:var(--muted);font-size:18px}
.tm-sh{display:flex;align-items:center;justify-content:space-between;margin:4px 2px 10px}
.tm-sh h3{margin:0;font-size:15px}
.tm-ro{overflow:hidden}
.tr-p{display:flex;align-items:center;gap:11px;padding:9px 16px;border-top:1px solid var(--line)}
.tr-p .face{flex:none;border-radius:50%;object-fit:cover;background:var(--card2)}
.tr-t{flex:1;min-width:0;display:flex;flex-direction:column}
.tr-t b{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr-t small{font-size:11.5px;color:var(--muted);margin-top:1px}
.tr-n{flex:none;font-size:12px;font-weight:800;color:var(--muted);font-variant-numeric:tabular-nums;min-width:30px;text-align:right}

/* ---------- Blitz: trivia during breaks ---------- */
.bz-cta{position:fixed;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 80px);z-index:60;display:flex;align-items:center;gap:12px;padding:10px 10px 10px 14px;border:0;border-radius:20px;font:inherit;color:#fff;text-align:left;cursor:pointer;
  background:linear-gradient(135deg,#ff5a1f,#ff8a00 60%,#ffb000);box-shadow:0 10px 30px rgba(255,90,31,.35),0 0 0 1px rgba(255,255,255,.12) inset;animation:bzIn .45s cubic-bezier(.2,.9,.3,1.2) both}
.bz-cta[hidden]{display:none!important}
@media(min-width:761px){.bz-cta{left:auto;right:24px;bottom:24px;width:360px}}
.bz-cta .bz-bolt{flex:none;width:34px;height:34px;border-radius:12px;background:rgba(0,0,0,.18);display:grid;place-items:center}
.bz-cta .bz-bolt svg{width:20px;height:20px}
.bz-cta .bz-bolt svg *{stroke:#fff!important}
.bz-ct{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}
.bz-ct b{font-size:15px;font-weight:800;letter-spacing:-.01em}
.bz-ct small{font-size:11.5px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bz-go{flex:none;background:#0b0b0d;color:#fff;font-weight:800;font-size:13px;padding:9px 16px;border-radius:999px;position:relative}
@keyframes bzIn{from{transform:translateY(24px) scale(.96);opacity:0}to{transform:none;opacity:1}}

.bz{position:fixed;inset:0;z-index:200;background:rgba(5,5,7,.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top) + 12px) 16px calc(env(safe-area-inset-bottom) + 16px)}
.bz[hidden]{display:none}
body.bz-on{overflow:hidden}
body.bz-on .bz-cta,body.bz-on .game-bar{display:none!important}
.bz-card{width:100%;max-width:440px;max-height:100%;overflow:auto;background:#121215;border:1px solid rgba(255,255,255,.08);border-radius:28px;padding:18px 18px 20px;color:#fff;animation:bzIn .35s cubic-bezier(.2,.9,.3,1.1) both;transition:box-shadow .3s}
.bz-card.hurry{box-shadow:0 0 0 2px rgba(255,69,58,.55),0 0 40px rgba(255,69,58,.18)}
.bz-intro{text-align:center;padding:30px 4px 24px}
.bz-lbl{font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#ff8a3d}
.bz-lbl.sm{font-size:11px}
.bz-count{font-size:110px;font-weight:900;line-height:1;margin:22px 0 18px;background:linear-gradient(180deg,#ffd27a,#ff5a1f);-webkit-background-clip:text;background-clip:text;color:transparent;animation:bzPop .7s ease both}
@keyframes bzPop{0%{transform:scale(.4);opacity:0}35%{transform:scale(1.12);opacity:1}100%{transform:scale(1)}}
.bz-sub{font-size:13.5px;color:#a7a7ae;line-height:1.5}
.bz-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.bz-dots{display:flex;gap:5px;flex:1}
.bz-dots i{width:22px;height:5px;border-radius:3px;background:rgba(255,255,255,.12)}
.bz-dots i.cur{background:#fff}
.bz-dots i.ok{background:#34c759}
.bz-dots i.no{background:#ff453a}
.bz-score{font-weight:900;font-size:15px;font-variant-numeric:tabular-nums;color:#ffb35c}
.bz-score.bump{animation:bzPop .5s ease}
.bz-x{width:30px;height:30px;border-radius:50%;border:0;background:rgba(255,255,255,.08);color:#aaa;font-size:13px;cursor:pointer;margin-left:auto}
.bz-bar{height:6px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden;margin-bottom:18px}
.bz-bar span{display:block;height:100%;width:100%;border-radius:3px;background:linear-gradient(90deg,#ff5a1f,#ffb000)}
.bz-card.hurry .bz-bar span{background:#ff453a}
.bz-qn{font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7d7d85;margin-bottom:6px}
.bz-q{font-size:21px;font-weight:800;line-height:1.28;letter-spacing:-.01em;margin-bottom:18px;min-height:54px}
.bz-opts{display:flex;flex-direction:column;gap:9px}
.bz-opts.grid{display:grid;grid-template-columns:1fr 1fr}
.bz-o{font:inherit;font-size:15px;font-weight:700;color:#fff;background:#1d1d22;border:1.5px solid rgba(255,255,255,.08);border-radius:16px;padding:15px 14px;text-align:left;cursor:pointer;transition:transform .12s,background .2s,border-color .2s,opacity .2s;min-height:54px}
.bz-opts.grid .bz-o{text-align:center}
.bz-o:active{transform:scale(.97)}
.bz-o.picked{border-color:#fff}
.bz-o.right{background:rgba(52,199,89,.18);border-color:#34c759;color:#7dff9e}
.bz-o.wrong{background:rgba(255,69,58,.16);border-color:#ff453a;color:#ff8a82;animation:bzShake .35s}
.bz-o.dim{opacity:.4}
.bz-o:disabled{cursor:default}
@keyframes bzShake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.bz-foot{min-height:58px;margin-top:14px;text-align:center}
#bzSecs{display:inline-block;font-size:30px;font-weight:900;font-variant-numeric:tabular-nums;color:#fff}
.bz-card.hurry #bzSecs{color:#ff453a;animation:bzPop .5s ease}
.bz-res{display:flex;align-items:baseline;justify-content:center;gap:10px}
.bz-res b{font-size:22px;font-weight:900}
.bz-res.ok b{color:#34c759}
.bz-res.no b{color:#ff6b61}
.bz-res span{font-size:12.5px;color:#9a9aa2}
.bz-ex{font-size:12.5px;color:#a7a7ae;margin-top:6px;line-height:1.4}
.bz-end{text-align:center;padding:10px 0 16px}
.bz-big{width:86px;height:86px;margin:4px auto 12px;border-radius:28px;display:grid;place-items:center;background:#1d1d22}
.bz-big b{font-size:28px;font-weight:900}
.bz-end.perfect .bz-big{background:linear-gradient(135deg,#ff5a1f,#ffb000);box-shadow:0 12px 40px rgba(255,120,30,.4);animation:bzPop .6s ease}
.bz-end.perfect .bz-big svg{width:44px;height:44px}
.bz-end.perfect .bz-big svg *{stroke:#fff!important}
.bz-end h2{margin:0 0 6px;font-size:24px;font-weight:900;letter-spacing:-.02em}
.bz-coins{font-size:40px;font-weight:900;color:#ffc24b;line-height:1.1}
.bz-coins span{font-size:15px;color:#d7b56d;font-weight:800}
.bz-break{font-size:12.5px;color:#9a9aa2;margin-top:6px;line-height:1.45}
.bz-break b{color:#ffb35c}
.bz-pts{margin-top:12px;font-size:13px;font-weight:800;color:#d9d9de}
.bz-board{background:#18181c;border-radius:18px;padding:6px 0;margin-bottom:14px}
.bz-bh{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7d7d85;padding:8px 14px 4px}
.bz-row{display:flex;align-items:center;gap:10px;padding:8px 14px;font-size:13.5px}
.bz-row.mine{background:rgba(255,138,61,.1)}
.bz-row .av{flex:none;width:26px;height:26px;margin:0}
.bz-bolt .hm,.bz-big .hm{display:grid;place-items:center;width:auto;height:auto;animation:none}
.bz-bolt .hw,.bz-end.perfect .bz-big .hw{fill:#fff;animation:none;opacity:1}
.bz-bolt .hm svg{width:20px;height:22px}
.bz-big .hm svg{width:40px;height:46px}
.bz-rk{width:16px;font-weight:900;color:#7d7d85;text-align:center}
.bz-nm{flex:1;min-width:0;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bz-sc{font-weight:800;color:#c9c9cf;font-variant-numeric:tabular-nums;font-size:12.5px}
.bz-done{width:100%;font:inherit;font-weight:800;font-size:15px;border:0;border-radius:16px;padding:15px;background:#fff;color:#000;cursor:pointer}

/* ---------- Shop v2 ---------- */
.sh2{display:flex;flex-direction:column;gap:6px}
.sh-bal{display:flex;flex-direction:column;gap:2px;padding:16px 18px;border-radius:20px;background:linear-gradient(135deg,rgba(255,90,31,.16),rgba(255,176,0,.08));border:1px solid rgba(255,138,61,.22)}
.sh-bal span{font-size:12px;font-weight:700;color:var(--muted)}
.sh-bal b{font-size:28px;font-weight:900;letter-spacing:-.02em}
.sh-bal small{font-size:11.5px;color:var(--muted)}
.sh-sec{margin-top:14px}
.sh-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 2px 10px}
.sh-h h2{margin:0;font-size:17px;font-weight:800;letter-spacing:-.01em}
.sh-h span{font-size:11.5px;color:var(--muted);text-align:right}
.drop-t{color:#ff8a3d!important;font-weight:800}
.pu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pu-card{position:relative;display:flex;flex-direction:column;gap:3px;padding:14px;border-radius:18px;background:var(--card);border:1px solid var(--line)}
.pu-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.pu-ic{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:rgba(255,138,61,.14);color:#ff8a3d;flex:none}
.pu-ic svg{width:20px;height:20px}
.pu-have{font-size:12px;font-weight:900;color:#ffb35c;background:rgba(255,179,92,.12);padding:3px 8px;border-radius:999px}
.pu-card b{font-size:15px;font-weight:800}
.pu-use{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pu-card p{margin:2px 0 10px;font-size:12px;line-height:1.4;color:var(--muted);flex:1}
.pu-card .buy,.jsy-card .buy,.crate-card .buy{width:100%}
.jsy-card{display:flex;gap:16px;padding:16px;align-items:flex-start;flex-wrap:wrap}
.jsy-prev{flex:none;width:120px;height:132px;display:grid;place-items:center;border-radius:18px;background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.08),transparent 70%)}
.jsy-prev svg{filter:drop-shadow(0 10px 18px rgba(0,0,0,.45))}
.jsy-form{flex:1;min-width:200px;display:flex;flex-direction:column;gap:10px}
.jsy-form label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:800;color:var(--muted);letter-spacing:.03em}
.jsy-form select,.jsy-form input{font:inherit;font-size:14px;font-weight:700;color:var(--text);background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;outline:none;width:100%;box-sizing:border-box}
.jsy-row{display:grid;grid-template-columns:80px 1fr;gap:10px}
.jsy-styles{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.jsy-styles::-webkit-scrollbar{display:none}
.jst{flex:none;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 8px 6px;min-width:62px;border-radius:14px;border:1.5px solid var(--line);background:var(--card2);color:var(--text);font:inherit;cursor:pointer}
.jst span{font-size:11px;font-weight:700}
.jst small{font-size:10px;color:#ffb35c;font-weight:800}
.jst.on{border-color:#ff8a3d;background:rgba(255,138,61,.1)}
.jst.lock svg{opacity:.55}
.jsy-acts{display:flex;gap:8px}
.crate-card{display:grid;grid-template-columns:84px 1fr;gap:14px;padding:16px;align-items:center}
.crate-card .buy{grid-column:1/-1}
.crate-art{width:84px;height:84px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,#2a2a31,#17171b);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 0 30px rgba(255,138,61,.15)}
.crate-art .hm svg{width:34px;height:40px}
.crate-odds{display:flex;flex-direction:column;gap:5px}
.crate-odds div{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}
.crate-odds b{color:var(--text);font-variant-numeric:tabular-nums}
.mo-grid{display:flex;flex-direction:column;gap:8px}
.mo-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:var(--card);border:1px solid var(--line)}
.mo-card div{flex:1;min-width:0}
.mo-card b{font-size:14px}
.mo-card p{margin:2px 0 0;font-size:12px;color:var(--muted);line-height:1.35}
.mo-p{flex:none;display:flex;flex-direction:column;align-items:flex-end;font-weight:800;font-size:13px}
.mo-p small{font-size:10px;color:var(--muted);font-weight:700}
/* jersey avatar */
.av.jsy{background:none!important;display:inline-grid;place-items:center;overflow:visible}
.av.jsy .jsy-svg{display:block}
/* crate opening */
.crate-pop{position:fixed;inset:0;z-index:250;display:grid;place-items:center;background:rgba(5,5,7,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:20px}
.crate-box{width:140px;height:140px;border-radius:36px;display:grid;place-items:center;background:linear-gradient(135deg,#ff5a1f,#ffb000);box-shadow:0 20px 60px rgba(255,120,30,.45)}
.crate-box .hm svg{width:64px;height:74px}
.crate-box .hw{fill:#fff}
.crate-box.shake{animation:crShake .9s ease-in-out}
@keyframes crShake{0%,100%{transform:rotate(0) scale(1)}15%{transform:rotate(-8deg) scale(1.03)}30%{transform:rotate(8deg)}45%{transform:rotate(-6deg) scale(1.06)}60%{transform:rotate(6deg)}80%{transform:rotate(-2deg) scale(1.12)}}
.crate-res{width:100%;max-width:340px;text-align:center;background:#121215;border:1px solid rgba(255,255,255,.08);border-radius:28px;padding:24px 20px 20px;color:#fff;animation:bzIn .4s cubic-bezier(.2,.9,.3,1.2) both}
.crate-res.legendary{box-shadow:0 0 0 2px #ffd36b,0 0 60px rgba(255,211,107,.35)}
.crate-res.epic{box-shadow:0 0 0 2px #b77dff,0 0 50px rgba(183,125,255,.25)}
.crate-k{font-size:11px;font-weight:900;letter-spacing:.16em;color:#ffb35c}
.crate-prev{min-height:96px;display:grid;place-items:center;margin:14px 0}
.crate-res h3{margin:0 0 4px;font-size:22px;font-weight:900}
.crate-res p{margin:0 0 18px;font-size:13px;color:#9a9aa2}
.crate-pus{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.crate-pus span{font-size:13px;font-weight:800;padding:8px 12px;border-radius:999px;background:rgba(255,138,61,.14);color:#ffb35c}
/* moments: Heat sheet buttons + what everyone sees */
.mo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px!important}
.mo-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 4px;border-radius:14px;border:1px solid var(--line);background:var(--card2);color:var(--text);font:inherit;cursor:pointer}
.mo-btn b{font-size:12px}
.mo-btn small{font-size:11px;color:#ffb35c;font-weight:800}
.mo-btn:disabled{opacity:.45}
.mo-btn:active{transform:scale(.96)}
.mo-pop{position:fixed;left:50%;top:38%;z-index:240;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:none;animation:moIn 2.2s ease both}
.mo-ic{width:110px;height:110px;border-radius:34px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#ff5a1f,#ffb000);box-shadow:0 20px 60px rgba(255,110,30,.5)}
.mo-ic svg{width:58px;height:58px}
.mo-ic .hm svg{width:54px;height:62px}
.mo-ic .hw{fill:#fff}
.mo-t{font-size:15px;color:#fff;background:rgba(0,0,0,.72);padding:8px 14px;border-radius:999px;white-space:nowrap}
.mo-pop.horn .mo-ic{animation:moHorn .3s ease-in-out 3}
@keyframes moIn{0%{opacity:0;transform:translate(-50%,-40%) scale(.6)}12%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}20%{transform:translate(-50%,-50%) scale(1)}82%{opacity:1}100%{opacity:0;transform:translate(-50%,-56%) scale(.96)}}
@keyframes moHorn{50%{transform:scale(1.12) rotate(-6deg)}}
body.mo-shake #gameView{animation:bzShake .3s 2}
/* Blitz power-ups */
.bz-pus{display:flex;justify-content:center;gap:8px;margin-top:10px}
.bz-pu{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:12.5px;font-weight:800;color:#ffb35c;background:rgba(255,138,61,.12);border:1px solid rgba(255,138,61,.3);border-radius:999px;padding:7px 12px;cursor:pointer}
.bz-pu svg{width:15px;height:15px}
.bz-pu i{font-style:normal;font-size:10.5px;background:rgba(255,179,92,.2);border-radius:999px;padding:1px 6px}
.bz-o.cut{opacity:.18;text-decoration:line-through}
.bz-dots i.saved{background:#ffb35c}
.bz-save{display:flex;gap:8px;justify-content:center;margin-top:12px}
.bz-sv{display:inline-flex;align-items:center;gap:6px;font:inherit;font-weight:800;font-size:13.5px;border:0;border-radius:14px;padding:11px 14px;background:linear-gradient(135deg,#ff5a1f,#ffb000);color:#fff;cursor:pointer}
.bz-sv svg{width:16px;height:16px}
.bz-sv i{font-style:normal;font-size:11px;background:rgba(0,0,0,.2);border-radius:999px;padding:1px 6px}
.bz-skip{font:inherit;font-weight:700;font-size:13.5px;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:11px 14px;background:none;color:#ccc;cursor:pointer}
/* pick boosts */
.pb-row{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.pb{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:12.5px;font-weight:800;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,138,61,.3);background:rgba(255,138,61,.1);color:#ffb35c;cursor:pointer}
.pb svg{width:15px;height:15px}
.pb i{font-style:normal;font-size:10.5px;background:rgba(255,179,92,.2);border-radius:999px;padding:1px 6px}
.pb.on{background:rgba(52,199,89,.14);border-color:rgba(52,199,89,.4);color:#5ee07f;cursor:default}
.pb.ghost{background:none;border-style:dashed;color:var(--muted);font-weight:700}
.crate-box .hm,.crate-art .hm,.mo-ic .hm{display:grid;place-items:center;width:auto;height:auto;animation:none}
.crate-box .hw,.crate-art .hw{animation:none}
.mo-ic{position:relative}
.mo-n{position:absolute;top:-10px;right:-14px;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:#fff;color:#ff5a1f;font-size:15px;font-weight:900;display:grid;place-items:center;box-shadow:0 6px 16px rgba(0,0,0,.35);animation:bzPop .35s ease}

/* ---------- Playoffs: series dots, round line, bracket ---------- */
.sdots{display:inline-flex;gap:3px;margin-left:8px;vertical-align:middle}
.sdots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.14)}
.sdots i.on{background:#ff8a3d;box-shadow:0 0 6px rgba(255,138,61,.6)}
.gc .r.po{color:#ffb35c;font-weight:800}
.hero .rc .sdots{margin:4px 0 0}
.hero .rc .sdots i{width:8px;height:8px}
.po-line{display:flex;align-items:center;gap:8px;width:100%;margin-top:12px;padding:10px 12px;border:0;border-radius:14px;background:rgba(255,138,61,.1);color:var(--text);font:inherit;font-size:12.5px;cursor:pointer;text-align:left}
.po-line .hm svg{width:13px;height:15px}
.po-line span{flex:1;min-width:0;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.po-line b{flex:none;color:#ff8a3d;font-size:12px}
.po-link{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:10px;padding:12px 14px;border:1px solid rgba(255,138,61,.25);border-radius:18px;background:linear-gradient(135deg,rgba(255,90,31,.14),rgba(255,176,0,.06));color:var(--text);font:inherit;text-align:left;cursor:pointer}
.po-link .hm svg{width:18px;height:21px}
.po-link span{flex:1;display:flex;flex-direction:column}
.po-link b{font-size:14.5px;font-weight:800}
.po-link small{font-size:12px;color:var(--muted)}
.po-link i{font-style:normal;font-size:20px;color:#ff8a3d}
.st-seg{margin:0 0 12px}
.bk{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 8px;margin:0 -2px;scrollbar-width:none}
.bk::-webkit-scrollbar{display:none}
.bk-col{flex:none;width:min(74vw,250px);scroll-snap-align:start;display:flex;flex-direction:column;gap:8px}
.bk-h{font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:2px 4px 4px}
.bk-s{position:relative;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:8px 10px;cursor:pointer}
.bk-s.live{border-color:rgba(255,69,58,.5);box-shadow:0 0 0 1px rgba(255,69,58,.25)}
.bk-conf{position:absolute;top:8px;right:10px;font-size:9.5px;font-weight:900;letter-spacing:.06em;color:var(--muted)}
.bk-t{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px}
.bk-t img{width:22px;height:22px;object-fit:contain}
.bk-t b{flex:1;font-weight:800}
.bk-t .sdots{margin-left:0}
.bk-t.out{opacity:.38}
.bk-t.won b{color:#fff}
.bk-ph{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.08)}
.bk-st{margin-top:4px;padding-top:6px;border-top:1px solid var(--line);font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk-st .live{color:#ff453a;font-weight:800}

/* ---------- Playoffs: series dots, round line, bracket ---------- */
.sdots{display:inline-flex;gap:3px;margin-left:8px;vertical-align:middle}
.sdots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.14)}
.sdots i.on{background:#ff8a3d;box-shadow:0 0 6px rgba(255,138,61,.6)}
.gc .r.po{color:#ffb35c;font-weight:800}
.hero .rc .sdots{margin:4px 0 0}
.hero .rc .sdots i{width:8px;height:8px}
.po-line{display:flex;align-items:center;gap:8px;width:100%;margin-top:12px;padding:10px 12px;border:0;border-radius:14px;background:rgba(255,138,61,.1);color:var(--text);font:inherit;font-size:12.5px;cursor:pointer;text-align:left}
.po-line .hm svg{width:13px;height:15px}
.po-line span{flex:1;min-width:0;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.po-line b{flex:none;color:#ff8a3d;font-size:12px}
.po-link{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:10px;padding:12px 14px;border:1px solid rgba(255,138,61,.25);border-radius:18px;background:linear-gradient(135deg,rgba(255,90,31,.14),rgba(255,176,0,.06));color:var(--text);font:inherit;text-align:left;cursor:pointer}
.po-link .hm svg{width:18px;height:21px}
.po-link span{flex:1;display:flex;flex-direction:column}
.po-link b{font-size:14.5px;font-weight:800}
.po-link small{font-size:12px;color:var(--muted)}
.po-link i{font-style:normal;font-size:20px;color:#ff8a3d}
.st-seg{margin:0 0 12px}
.bk{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 8px;margin:0 -2px;scrollbar-width:none}
.bk::-webkit-scrollbar{display:none}
.bk-col{flex:none;width:min(74vw,250px);scroll-snap-align:start;display:flex;flex-direction:column;gap:8px}
.bk-h{font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:2px 4px 4px}
.bk-s{position:relative;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:8px 10px;cursor:pointer}
.bk-s.live{border-color:rgba(255,69,58,.5);box-shadow:0 0 0 1px rgba(255,69,58,.25)}
.bk-conf{position:absolute;top:8px;right:10px;font-size:9.5px;font-weight:900;letter-spacing:.06em;color:var(--muted)}
.bk-t{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px}
.bk-t img{width:22px;height:22px;object-fit:contain}
.bk-t b{flex:1;font-weight:800}
.bk-t .sdots{margin-left:0}
.bk-t.out{opacity:.38}
.bk-ph{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.08)}
.bk-st{margin-top:4px;padding-top:6px;border-top:1px solid var(--line);font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk-st .live{color:#ff453a;font-weight:800}
.po-link .hm,.po-line .hm{display:grid;place-items:center;width:auto;height:auto;animation:none;flex:none}
.po-link .hm{width:36px;height:36px;border-radius:12px;background:rgba(255,138,61,.16)}
.po-link span{align-items:flex-start;text-align:left}
.bk-st .bk-conf{position:static;margin-right:6px;font-size:10px;font-weight:900;color:#ffb35c}

/* ---------- Smooth scrolling on phones ----------
   Live blurs behind fixed bars get redrawn every frame while scrolling, and
   anything that changes size mid-scroll forces a relayout. Keep both cheap. */
@media(max-width:760px){
  header::before{background:rgba(10,10,11,.97)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  header.compact .days{max-height:none;opacity:1;padding-top:revert;padding-bottom:revert}
  html .subnav,html .game-bar,html.is-app .subnav{-webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;background:rgba(30,30,34,.78)!important;transform:translateZ(0);will-change:transform}
  .gc::after,.card::after,.spot-card::after{display:none!important}
}
html,body{overscroll-behavior-x:none}
/* The page body must contain its children's bottom margins (room for the tab bar);
   otherwise it ends early and drags the sticky header off-screen near the bottom. */
body{display:flow-root;min-height:100vh}

/* ---------- Chat v2: full-screen, rows not bubbles ---------- */
.g-sheet.full .g-sheet-p{max-width:none;height:100%;max-height:none;border-radius:0;padding:0;background:#0b0b0d}
.g-sheet.full .g-sheet-h{display:none}
.g-sheet.full .g-sheet-bg{display:none}
.g-sheet.full #gChat{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.cx{flex:1;min-height:0;display:flex;flex-direction:column}
.cx-top{position:relative;display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top) + 8px) 52px 10px;background:#111114;border-bottom:1px solid rgba(255,255,255,.06)}
.cx-score{display:flex;align-items:center;gap:10px;font-size:13px;color:#9a9aa2}
.cx-score img{width:24px;height:24px;object-fit:contain}
.cx-score b{font-size:19px;font-weight:900;color:#fff;font-variant-numeric:tabular-nums}
.cx-score span{font-weight:700;padding:0 4px}
.cx-live{width:7px;height:7px;border-radius:50%;background:var(--live);animation:pulse 1.2s infinite}
.cx-x{position:absolute;right:12px;bottom:8px;width:32px;height:32px;border-radius:50%;border:0;background:rgba(255,255,255,.08);color:#cfcfd4;display:grid;place-items:center;cursor:pointer}
.cx-x svg{width:16px;height:16px}
.cx-h{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 8px}
.cx-h h3{margin:0;font-size:17px;font-weight:800}
.cx-h h3 span{font-size:13px;color:#7d7d85;font-weight:700;margin-left:4px}
.cx-sort{display:flex;background:#1a1a1e;border-radius:999px;padding:3px}
.cx-sort button{border:0;background:none;color:#8d8d95;font:inherit;font-size:12.5px;font-weight:800;padding:5px 12px;border-radius:999px;cursor:pointer}
.cx-sort button.on{background:#2a2a30;color:#fff}
.cs{padding:0 16px 8px}
.cs-bar{position:relative;display:flex;height:40px;border-radius:14px;overflow:hidden;background:linear-gradient(90deg,var(--a) 0 var(--p),var(--b) var(--p) 100%);transition:background .4s}
.cs-bar::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.42);pointer-events:none}
.cs-t{position:relative;z-index:1;flex:1;display:flex;align-items:center;gap:8px;padding:0 12px;border:0;background:none;color:#fff;font:inherit;cursor:pointer}
.cs-t+.cs-t{justify-content:flex-end;flex-direction:row-reverse}
.cs-t img{width:24px;height:24px;object-fit:contain;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}
.cs-t b{font-size:15px;font-weight:900;font-variant-numeric:tabular-nums}
.cs-t.on{background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 2px rgba(255,255,255,.75);border-radius:14px}
.cs-sub{font-size:11.5px;color:#7d7d85;text-align:center;margin-top:6px}
.cx .chat-pin-slot{padding:0 16px}
.cx-list{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:6px 0 12px;overscroll-behavior:contain}
.cm{display:flex;gap:11px;padding:10px 16px}
.cm.in{animation:cmIn .28s ease both}
@keyframes cmIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cm.pinned{background:linear-gradient(90deg,rgba(255,138,61,.1),transparent)}
.cm-av{position:relative;flex:none;height:fit-content}
.cm-side{position:absolute;right:-4px;bottom:-4px;width:18px;height:18px;border-radius:50%;background:#0b0b0d;display:grid;place-items:center;box-shadow:0 0 0 2px #0b0b0d}
.cm-side img{width:15px;height:15px;object-fit:contain}
.cm-c{flex:1;min-width:0}
.cm-h{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:800;line-height:1.2}
.cm-h .ttl{font-size:10px}
.cm-pin{font-size:10px;font-weight:900;color:#ffb35c;background:rgba(255,179,92,.14);padding:2px 6px;border-radius:999px}
.cm-t{margin-top:3px;font-size:15.5px;line-height:1.38;color:#ececf0;word-wrap:break-word;overflow-wrap:anywhere}
.cm-stk{font-size:40px;line-height:1.15;margin-top:2px}
.cm-f{display:flex;align-items:center;gap:14px;margin-top:6px;font-size:13px;color:#7d7d85}
.cm-f button{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer}
.cm-rp{font-weight:800;color:#ff9a52!important}
.cm-more{font-size:12px;letter-spacing:1px;color:#6d6d75!important}
.cm-fl{margin-left:auto;display:inline-flex;align-items:center;gap:4px;color:#6d6d75!important;min-width:38px;justify-content:flex-end;min-height:28px}
.cm-fl svg{width:20px;height:20px}
.cm-fl b{font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}
.cm-fl.on{color:#ff6a1a!important}
.cm-fl.on svg{fill:#ff6a1a}
.cm-fl.pop svg{animation:bzPop .35s ease}
.cm-thr{display:flex;align-items:center;gap:8px;margin-top:8px;border:0;background:none;color:#9a9aa2;font:inherit;font-size:13px;font-weight:800;padding:0;cursor:pointer}
.cm-thr::before{content:"";width:22px;height:1.5px;background:#3a3a40}
.cm-kids{margin-top:4px;margin-left:-8px;border-left:1.5px solid #2a2a30}
.cm.rep{padding:8px 0 4px 10px}
.cm.rep .cm-t{font-size:14.5px}
.cx-typing{align-self:center;display:flex;align-items:center;gap:8px;margin:-38px 0 8px;position:relative;z-index:2;padding:7px 14px;border-radius:999px;background:linear-gradient(135deg,#ff5a1f,#ff8a00);color:#fff;font-size:12.5px;font-weight:800;box-shadow:0 8px 20px rgba(255,90,31,.3)}
.cx-typing[hidden]{display:none}
.cx-dots{display:inline-flex;gap:3px}
.cx-dots i{width:5px;height:5px;border-radius:50%;background:#fff;animation:cxDot 1s infinite}
.cx-dots i:nth-child(2){animation-delay:.15s}.cx-dots i:nth-child(3){animation-delay:.3s}
@keyframes cxDot{0%,60%,100%{opacity:.35;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.cx-tools{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:8px 16px 0;border-top:1px solid rgba(255,255,255,.06)}
.cx-tools[hidden]{display:none}
.cx-tools::-webkit-scrollbar{display:none}
.cx-tools button{flex:none;border:1px solid rgba(255,255,255,.1);background:#17171b;color:#e5e5ea;font:inherit;font-size:13px;font-weight:700;padding:8px 12px;border-radius:999px;cursor:pointer}
.cx-tools .stk{font-size:20px;padding:4px 10px}
.cx-tools .pin-t.on{border-color:#ff8a3d;color:#ffb35c}
.cx-reply{display:flex;align-items:center;gap:6px;padding:8px 16px 0;font-size:12.5px;color:#9a9aa2}
.cx-reply[hidden]{display:none}
.cx-reply b{color:#fff}
.cx-reply button{margin-left:auto;border:0;background:none;color:#9a9aa2;font-size:14px;cursor:pointer}
.cx-in{display:flex;align-items:center;gap:10px;padding:10px 12px calc(env(safe-area-inset-bottom) + 10px);background:#0b0b0d;border-top:1px solid rgba(255,255,255,.06)}
.cx-tools:not([hidden])+.cx-reply+.cx-in,.cx-reply:not([hidden])+.cx-in{border-top:0}
.cx-me{flex:none}
.cx-field{flex:1;display:flex;align-items:center;background:#1a1a1e;border-radius:999px;padding:0 6px 0 16px;min-height:44px}
.cx-field input{flex:1;min-width:0;border:0;background:none;color:#fff;font:inherit;font-size:16px;outline:none;padding:10px 0}
.cx-field input::placeholder{color:#6d6d75}
.cx-plus{flex:none;width:32px;height:32px;border-radius:50%;border:0;background:#2a2a30;color:#cfcfd4;font-size:20px;line-height:1;cursor:pointer;transition:transform .2s}
.cx-plus.on{transform:rotate(45deg);background:#ff8a3d;color:#fff}
.cx-send{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:linear-gradient(135deg,#ff5a1f,#ff8a00);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 16px rgba(255,90,31,.3)}
.cx-send svg{width:20px;height:20px}
.cx-send:active{transform:scale(.94)}
.cx-tools{flex:none;align-items:center;padding-bottom:2px}
.cx-tools button{height:36px;min-height:0;line-height:1;white-space:nowrap;display:inline-flex;align-items:center}
.cx-typing,.cx-reply,.cx-in{flex:none}

/* ---------- Chat v3: Scorch's own — pulse header, tug-of-war, game moments, team-tinted bubbles ---------- */
.cx-top{display:block;padding:calc(env(safe-area-inset-top) + 6px) 0 0;background:#0e0e11;border-bottom:0}
.cx-pulse{position:relative;height:74px;overflow:hidden}
.cx-pulse>svg{position:absolute;left:0;right:0;bottom:0;width:100%;height:46px;opacity:.55}
.cx-sc{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;padding-top:6px}
.cx-sc img{width:28px;height:28px;object-fit:contain}
.cx-sc b{font-size:24px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.cx-sc span{font-size:12px;font-weight:800;color:#9a9aa2;padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.07)}
.cx-sc span.live{color:#ff6b61;background:rgba(255,69,58,.14)}
.cx-x{top:calc(env(safe-area-inset-top) + 10px);bottom:auto}
.tug{display:flex;align-items:center;gap:10px;padding:10px 16px 2px}
.tug-t{flex:none;display:flex;align-items:center;gap:6px;border:0;background:none;color:#fff;font:inherit;padding:4px;border-radius:12px;cursor:pointer}
.tug-t img{width:26px;height:26px;object-fit:contain}
.tug-t b{font-size:14px;font-weight:900;font-variant-numeric:tabular-nums;color:#cfcfd4}
.tug-t.on{background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
.tug-line{position:relative;flex:1;height:6px;border-radius:3px;background:linear-gradient(90deg,var(--a) 0 var(--p),var(--b) var(--p) 100%)}
.tug-knot{position:absolute;top:50%;left:var(--p);width:14px;height:14px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #0b0b0d,0 0 12px rgba(255,255,255,.4);transition:left .5s cubic-bezier(.3,1.4,.5,1)}
.tug-sub{text-align:center;font-size:11px;color:#6d6d75;padding:2px 0 6px}
.cx-hot{display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px 16px 8px}
.cx-hot::-webkit-scrollbar{display:none}
.cx-hot-l{flex:none;display:flex;align-items:center;gap:4px;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#ff8a3d}
.cx-hot-l svg{width:14px;height:14px;fill:#ff6a1a;stroke:#ff6a1a}
.cx-hc{flex:none;max-width:210px;display:flex;align-items:center;gap:6px;border:1px solid rgba(255,138,61,.28);background:rgba(255,106,26,.08);color:#ececf0;font:inherit;font-size:12.5px;padding:6px 10px;border-radius:12px;cursor:pointer;text-align:left}
.cx-hc b{flex:none;font-weight:800}
.cx-hc span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b5b5bc}
.cx-hc i{flex:none;display:flex;align-items:center;gap:2px;font-style:normal;font-weight:900;color:#ff8a3d}
.cx-hc i svg{width:12px;height:12px;fill:#ff6a1a;stroke:#ff6a1a}
.cx-list{padding:8px 0 14px;border-top:1px solid rgba(255,255,255,.05)}
/* game moments inside the chat */
.cmo{display:flex;align-items:center;gap:8px;margin:10px 16px;padding:7px 10px;border-radius:12px;background:#141418;border:1px solid rgba(255,255,255,.06);font-size:12px;color:#b5b5bc;box-shadow:inset 3px 0 0 var(--tc)}
.cmo img{width:18px;height:18px;object-fit:contain;flex:none}
.cmo span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmo b{flex:none;color:#fff;font-weight:900;font-variant-numeric:tabular-nums}
.cmo i{flex:none;font-style:normal;font-size:11px;color:#7d7d85;font-weight:700}
/* bubbles */
.cb{--tc:#3a3a42;display:flex;gap:8px;padding:6px 16px 0;align-items:flex-end}
.cb.grp{padding-top:2px;padding-left:54px}
.cb.mine{justify-content:flex-end;padding-left:60px}
.cb.in{animation:cmIn .28s ease both}
.cb.flash .cb-b{animation:cbFlash 1.2s ease}
@keyframes cbFlash{0%,100%{box-shadow:none}30%{box-shadow:0 0 0 2px #ff8a3d,0 0 24px rgba(255,138,61,.5)}}
.cb-av{flex:none;align-self:flex-start;margin-top:18px}
.cb-c{min-width:0;max-width:82%;display:flex;flex-direction:column}
.cb.mine .cb-c{align-items:flex-end}
.cb-h{display:flex;align-items:center;gap:5px;font-size:12.5px;font-weight:800;margin:0 0 3px 4px}
.cb-h .ttl{font-size:9.5px}
.cb-tm{width:14px;height:14px;object-fit:contain}
.cb-clk{font-size:10.5px;font-weight:700;color:#6d6d75;margin-left:2px}
.cb-b{position:relative;padding:9px 13px;border-radius:18px 18px 18px 6px;background:color-mix(in srgb,var(--tc) 22%,#17171b);border:1px solid color-mix(in srgb,var(--tc) 40%,transparent);color:#f0f0f3;font-size:15px;line-height:1.38;overflow-wrap:anywhere;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .12s}
.cb-b:active{transform:scale(.98)}
.cb.grp .cb-b{border-radius:6px 18px 18px 6px}
.cb.mine .cb-b{border-radius:18px 18px 6px 18px;background:linear-gradient(135deg,#ff5a1f,#ff8a00);border-color:transparent;color:#fff}
.cb.hot .cb-b{box-shadow:0 0 0 1px rgba(255,138,61,.6),0 0 18px rgba(255,106,26,.25)}
.cb-b.stk{background:none;border:0;font-size:42px;padding:0 4px;line-height:1.1}
.cb-q{font-size:12px;color:rgba(255,255,255,.62);border-left:2px solid rgba(255,255,255,.35);padding-left:7px;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}
.cb-fl{position:absolute;right:-6px;bottom:-10px;display:flex;align-items:center;gap:2px;padding:2px 7px 2px 5px;border-radius:999px;background:#1f1f24;border:1.5px solid #0b0b0d;font-size:11px;font-weight:900;color:#ffb35c}
.cb-fl svg{width:12px;height:12px;fill:#ff6a1a;stroke:#ff6a1a}
.cb.mine .cb-fl{right:auto;left:-6px}
.cb-b:has(.cb-fl){margin-bottom:8px}
.cb-acts{display:flex;gap:6px;margin:8px 0 4px}
.cb-acts[hidden]{display:none}
.cb-acts button{display:flex;align-items:center;gap:4px;border:1px solid rgba(255,255,255,.1);background:#17171b;color:#e5e5ea;font:inherit;font-size:12px;font-weight:800;padding:6px 10px;border-radius:999px;cursor:pointer}
.cb-acts button svg{width:14px;height:14px}
.cb-acts button.on{color:#ff8a3d;border-color:rgba(255,138,61,.4)}
.cb-acts button.on svg{fill:#ff6a1a}
.fire-pop{position:fixed;z-index:300;width:56px;height:56px;margin:-28px 0 0 -28px;color:#ff6a1a;pointer-events:none;animation:firePop .7s ease forwards}
.fire-pop svg{width:100%;height:100%;fill:#ff6a1a;filter:drop-shadow(0 0 12px rgba(255,106,26,.8))}
@keyframes firePop{0%{transform:scale(.3);opacity:0}30%{transform:scale(1.15);opacity:1}100%{transform:scale(1) translateY(-26px);opacity:0}}
.cx-in{gap:8px}
.cx-in .cx-plus{width:38px;height:38px;font-size:22px}
.cx-field{padding:0 16px}
.cx-hint{text-align:center;font-size:10.5px;color:#55555c;margin:-4px 0 0;padding-bottom:calc(env(safe-area-inset-bottom) + 6px);background:#0b0b0d}
.cx-in{padding-bottom:10px}
.cx-reply span{flex:1}

/* Chat v3, compact: tighter everything */
.cx-pulse{height:52px}
.cx-pulse>svg{height:34px}
.cx-sc{gap:9px;padding-top:4px}
.cx-sc img{width:22px;height:22px}
.cx-sc b{font-size:19px}
.cx-sc span{font-size:11px;padding:2px 7px}
.cx-x{width:28px;height:28px;top:calc(env(safe-area-inset-top) + 8px)}
.cx-x svg{width:14px;height:14px}
.tug{padding:6px 14px 0;gap:8px}
.tug-t{padding:2px;gap:5px}
.tug-t img{width:20px;height:20px}
.tug-t b{font-size:12.5px}
.tug-line{height:4px}
.tug-knot{width:11px;height:11px}
.tug-sub{font-size:10px;padding:2px 0 4px}
.cx-hot{padding:2px 14px 6px}
.cx-hc{font-size:11.5px;padding:4px 8px;border-radius:10px}
.cx-list{padding:4px 0 10px}
.cmo{margin:6px 14px;padding:5px 8px;font-size:11px;border-radius:10px;gap:6px}
.cmo img{width:15px;height:15px}
.cmo i{font-size:10px}
.cb{padding:3px 14px 0;gap:6px}
.cb.grp{padding-top:1px;padding-left:44px}
.cb.mine{padding-left:56px}
.cb-av{margin-top:15px}
.cb-c{max-width:84%}
.cb-h{font-size:11.5px;margin:0 0 2px 3px;gap:4px}
.cb-tm{width:12px;height:12px}
.cb-clk{font-size:9.5px}
.cb-b{padding:6px 10px;font-size:14px;line-height:1.32;border-radius:15px 15px 15px 5px}
.cb.grp .cb-b{border-radius:5px 15px 15px 5px}
.cb.mine .cb-b{border-radius:15px 15px 5px 15px}
.cb-b.stk{font-size:34px}
.cb-q{font-size:11px;margin-bottom:3px;padding-left:6px}
.cb-fl{font-size:10px;padding:1px 6px 1px 4px;bottom:-8px}
.cb-fl svg{width:10px;height:10px}
.cb-b:has(.cb-fl){margin-bottom:6px}
.cb-acts{margin:6px 0 2px;gap:5px}
.cb-acts button{font-size:11px;padding:4px 9px}
.cx-tools{padding:6px 14px 0}
.cx-tools button{height:30px;font-size:12px;padding:0 10px}
.cx-reply{padding:6px 14px 0;font-size:11.5px}
.cx-in{padding:7px 10px 7px;gap:7px}
.cx-in .cx-plus{width:32px;height:32px;font-size:19px}
.cx-field{min-height:36px;padding:0 13px}
.cx-field input{font-size:16px;padding:7px 0}
.cx-send{width:36px;height:36px}
.cx-send svg{width:17px;height:17px}
.cx-hint{font-size:9.5px;margin-top:-2px}
.cx-typing{font-size:11px;padding:5px 11px;margin:-30px 0 6px}
/* Chat v3 on phones: fill the screen, no gaps from the old chat list, pulse under the score */
#gChat .cx-list{max-height:none;gap:0;display:block;padding:2px 0 8px;scroll-behavior:auto}
.cx-pulse{height:auto;display:flex;flex-direction:column;align-items:center;padding-bottom:2px}
.cx-pulse>svg{position:static;order:2;width:100%;height:16px;opacity:.5;margin-top:4px}
.cx-sc{order:1;padding-top:0}
.cx-sc img{width:20px;height:20px}
.cx-sc b{font-size:17px}
.cx-x{top:calc(env(safe-area-inset-top) + 4px)}
.cb-h{font-size:11px}
.cb-b{font-size:13.5px;padding:5px 10px}
.cb{padding-top:2px}
.cb-av{margin-top:13px}
.cb-av .av{--s:22px!important}
.cb.grp{padding-left:42px}
.cmo{margin:5px 14px}
.tug{padding-top:4px}
.tug-sub{padding-bottom:3px}

/* A play's own chat: the play pinned on top, its reactions under it */
.cx-play{display:flex;align-items:center;gap:10px;padding:2px 52px 6px 14px}
.cx-play img{width:38px;height:38px;border-radius:50%;object-fit:cover;background:#1d1d22;flex:none}
.cx-pctx{font-size:10.5px;color:#7d7d85;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cx-ptxt{font-size:14px;font-weight:800;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.play.cx-rx{all:unset;display:block;padding:0 14px 8px}
.play.cx-rx .acts{display:flex!important;flex-wrap:wrap;gap:5px;margin:0;padding:0;border:0}
.play.cx-rx .rx{font-size:12px;padding:4px 9px}
.play.cx-rx .rx.cm{display:none}
.cx-rlabel{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#7d7d85;padding:8px 16px 4px;border-top:1px solid rgba(255,255,255,.05)}
.cx.room .cx-list{border-top:0}

/* Launch animation v2: room for the waves to sway (no clipped edges) and a GPU-cheap glow
   (a blurred layer that only fades/scales, instead of animating a drop-shadow filter). */
.intro-mark{position:relative;width:110px;height:138px;display:grid;place-items:center}
.intro svg{width:110px;height:138px;overflow:visible;animation:none;filter:none}
.intro-glow{position:absolute;inset:-10px;border-radius:50%;background:radial-gradient(circle,rgba(255,106,26,.55) 0%,rgba(255,106,26,.18) 45%,transparent 70%);opacity:0;transform:scale(.6);animation:introGlowV2 1.1s ease .45s forwards;will-change:transform,opacity}
@keyframes introGlowV2{60%{opacity:1;transform:scale(1.1)}to{opacity:.7;transform:scale(1)}}
.intro .hw{will-change:transform,opacity}
.intro{animation:introOutV2 .45s cubic-bezier(.4,0,.2,1) 1.55s forwards}
@keyframes introOutV2{to{opacity:0;visibility:hidden;transform:scale(1.04)}}
.intro-word{margin-top:10px}

/* ---------- Scroll performance, round 2 ---------- */
@media(max-width:760px){
  /* masks are expensive to keep on screen: no edge fade on the league row */
  .leagues{-webkit-mask-image:none!important;mask-image:none!important}
  /* bottom bar: solid, so nothing has to be re-blurred every frame */
  html .subnav,html .game-bar,html.is-app .subnav{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:rgba(24,24,28,.97)!important}
}

/* ---------- Home ---------- */
body.v-dash .leagues,body.v-social .leagues{display:none}
.dash{padding-top:4px;padding-bottom:calc(env(safe-area-inset-bottom) + 96px)}
.dh{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 2px 14px}
.dh-hi{font-size:22px;font-weight:900;letter-spacing:-.02em;line-height:1.15}
.dh-sub{font-size:13px;color:var(--muted);margin-top:2px}
.dh-r{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}
.dh-coins{font-size:13px;font-weight:800;padding:5px 10px;border-radius:999px;background:var(--card2)}
.dh-claim{border:0;font:inherit;font-size:12px;font-weight:900;color:#1a1200;background:linear-gradient(135deg,#ffd76a,#ffb020);padding:6px 11px;border-radius:999px;cursor:pointer;animation:bzPop .5s ease}
.ds{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;margin:0 -16px 18px;padding:2px 16px}
.ds::-webkit-scrollbar{display:none}
.ds-i{flex:none;display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:none;color:var(--text);font:inherit;cursor:pointer}
.ds-ring{width:64px;height:64px;border-radius:50%;padding:2.5px;background:#2a2a30;display:grid}
.ds-i.live .ds-ring{background:conic-gradient(#ff5a1f,#ffb000,#ff5a1f)}
.ds-in{border-radius:50%;background:#111114;border:2px solid var(--bg);display:flex;align-items:center;justify-content:center;gap:1px}
.ds-in img{width:22px;height:22px;object-fit:contain}
.ds-i b{font-size:11px;font-weight:800;color:var(--muted)}
.ds-i.live b{color:var(--text)}
.dsec{margin-bottom:22px}
.dsec-h{display:flex;align-items:center;justify-content:space-between;margin:0 2px 10px}
.dsec-h h2{display:flex;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:900;letter-spacing:-.01em}
.dsec-h button{border:0;background:none;color:#ff8a3d;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.dlive{width:8px;height:8px;border-radius:50%;background:var(--live);box-shadow:0 0 0 4px rgba(255,69,58,.18)}
.dgs{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px 2px;scroll-snap-type:x mandatory}
.dgs::-webkit-scrollbar{display:none}
.dg{flex:none;width:156px;scroll-snap-align:start;display:flex;flex-direction:column;gap:6px;padding:11px 12px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(160deg,color-mix(in srgb,var(--c1) 18%,#141417),#141417 55%);color:var(--text);font:inherit;text-align:left;cursor:pointer}
.dg.live{border-color:rgba(255,69,58,.35)}
.dg-h{display:flex;justify-content:space-between;align-items:center;font-size:10.5px;font-weight:800;color:var(--muted);margin-bottom:2px}
.dg-st.live{color:#ff6b61}
.dg-t{display:flex;align-items:center;gap:8px}
.dg-t img{width:22px;height:22px;object-fit:contain}
.dg-t b{flex:1;font-size:15px;font-weight:800}
.dg-t span{font-size:18px;font-weight:900;font-variant-numeric:tabular-nums}
.dg-t.lose{opacity:.5}
.dts{display:flex;flex-direction:column;gap:8px}
.dt{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;border-radius:16px;border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit;text-align:left;cursor:pointer}
.dt.live{border-color:rgba(255,69,58,.35)}
.dt img{width:34px;height:34px;object-fit:contain;flex:none}
.dt div{flex:1;min-width:0;display:flex;flex-direction:column}
.dt b{font-size:14.5px;font-weight:800}
.dt span{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dt.live span{color:#ff8a82}
.dt-dot{width:6px;height:6px;border-radius:50%;background:var(--live);flex:none}
.dt em{font-style:normal;color:var(--muted);font-size:18px}
.dt-empty{display:flex;flex-direction:column;gap:3px;width:100%;padding:16px;border-radius:16px;border:1.5px dashed rgba(255,138,61,.35);background:rgba(255,138,61,.05);color:var(--text);font:inherit;text-align:left;cursor:pointer}
.dt-empty span{font-size:12.5px;color:var(--muted)}
.dn-list{display:flex;flex-direction:column;gap:10px}
.dnw{display:flex;gap:12px;align-items:center;color:var(--text);text-decoration:none}
.dnw img{width:84px;height:60px;border-radius:12px;object-fit:cover;flex:none;background:var(--card2)}
.dnw div{min-width:0;display:flex;flex-direction:column;gap:2px}
.dnw b{font-size:14px;font-weight:800;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dnw small{font-size:11.5px;color:var(--muted)}
.dnw-lg{font-size:10px;font-weight:900;letter-spacing:.06em;color:#ff8a3d}
.dnw.big{flex-direction:column;align-items:stretch;gap:8px}
.dnw.big img{width:100%;height:auto;aspect-ratio:16/9}
.dnw.big b{font-size:17px}

/* ---------- League row v3: logo pills ---------- */
.leagues{display:flex;gap:7px!important;padding:6px 16px 8px!important;overflow-x:auto;scrollbar-width:none}
.leagues::-webkit-scrollbar{display:none}
.leagues .lg-ind{display:none!important}
.leagues .lp{flex:none;display:inline-flex!important;align-items:center;gap:6px;height:34px;padding:0 13px 0 9px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.09)!important;background:#17171b!important;color:#d6d6db!important;font:inherit;font-size:13px!important;font-weight:800!important;letter-spacing:-.01em;white-space:nowrap;cursor:pointer;position:relative;transition:background .2s,color .2s,transform .12s}
.leagues .lp:active{transform:scale(.96)}
.leagues .lp img{width:20px;height:20px;object-fit:contain}
.leagues .lp .lp-e{width:20px;height:20px;display:grid;place-items:center;font-size:14px;line-height:1}
.leagues .lp.me .lp-e{color:#ffb35c;font-size:15px}
.leagues .lp.on{background:#fff!important;color:#0b0b0d!important;border-color:#fff!important}
.leagues .lp.on.me .lp-e{color:#ff6a1a}
.leagues .lp.quiet{opacity:.55}
.leagues .lp-live{width:7px;height:7px;border-radius:50%;background:var(--live);margin-left:1px;box-shadow:0 0 0 2px #17171b}
.leagues .lp.on .lp-live{box-shadow:0 0 0 2px #fff}
.leagues .lp::after{display:none!important}
/* a little more room between the status bar and the league pills */
@media(max-width:760px){ .leagues{padding-top:16px!important} }

/* ---------- Fixed header + pull to refresh (phones) ---------- */
@media(max-width:760px){
  header{position:fixed!important;top:0;left:0;right:0}
  body{padding-top:var(--hh,160px)}
  html{scroll-padding-top:var(--hh,160px)}
}
.ptr{position:fixed;left:50%;top:var(--hh,160px);z-index:19;width:34px;height:34px;margin-left:-17px;opacity:0;pointer-events:none;border-radius:50%;background:#17171b;box-shadow:0 4px 14px rgba(0,0,0,.45);will-change:transform,opacity;transform:translate3d(0,-18px,0)}
.ptr svg{width:34px;height:34px;display:block}
.ptr-bg{fill:none;stroke:rgba(255,255,255,.1);stroke-width:2.6}
.ptr-arc{fill:none;stroke:#8d8d95;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transform:rotate(-90deg);transform-origin:16px 16px}
.ptr.armed .ptr-arc,.ptr.spin .ptr-arc{stroke:#ff6a1a}
.ptr.settle{transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s}
.ptr.hide{transition:transform .25s ease,opacity .2s ease}
.ptr.spin svg{animation:ptrSpin .8s linear infinite}
@keyframes ptrSpin{to{transform:rotate(360deg)}}
@media(min-width:761px){.ptr{display:none}}

/* ---------- Social: friends, chats, groups ---------- */
.subnav button{position:relative}
.tab-dot{position:absolute;top:8px;left:calc(50% + 6px);min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:#ff3b30;color:#fff;font:800 10.5px/17px system-ui;font-style:normal;text-align:center;box-shadow:0 0 0 2px #18181c;pointer-events:none}
.tab-dot[hidden]{display:none}
#socialView{padding-bottom:110px}
.so-h{display:flex;align-items:center;justify-content:space-between;padding:4px 0 12px}
.so-h h2{margin:0;font-size:28px;font-weight:900;letter-spacing:-.02em}
.so-acts{display:flex;gap:8px}
.so-ic{flex:none;width:34px;height:34px;border-radius:50%;border:0;background:#1c1c21;color:#d8d8de;display:grid;place-items:center;cursor:pointer;padding:0}
.so-ic svg{width:17px;height:17px}
.so-ic.big{width:40px;height:40px}.so-ic.big svg{width:20px;height:20px}
.so-ic:active{transform:scale(.92)}
.so-seg{position:relative;display:grid;grid-template-columns:repeat(3,1fr);background:#151518;border-radius:14px;padding:4px;margin-bottom:14px;--i:0}
.so-seg-i{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px)/3);border-radius:10px;background:#2a2a31;transform:translateX(calc(var(--i) * 100%));transition:transform .32s cubic-bezier(.3,.9,.3,1)}
.so-seg button{position:relative;z-index:1;border:0;background:none;color:#8d8d95;font:inherit;font-size:14px;font-weight:800;height:36px;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:color .2s}
.so-seg button.on{color:#fff}
.so-seg i{font-style:normal;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ff5a1f;color:#fff;font-size:11px;line-height:18px}
.so-seg i[hidden]{display:none}
.so-list{display:flex;flex-direction:column}
.sr{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;color:inherit;font:inherit;text-align:left;padding:9px 4px;border-radius:14px;cursor:pointer}
.sr:active,.gr:active,.pr.pk:active{background:rgba(255,255,255,.05)}
.sr-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.sr-m b{font-size:15.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:4px}
.sr-m>span{font-size:14px;color:#8d8d95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr.sr-u .sr-m b{font-weight:900}
.sr.sr-u .sr-m>span{color:#e8e8ec;font-weight:600}
.sr-r{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:5px;align-self:stretch;justify-content:center}
.sr-r time{font-size:12px;color:#6d6d75}
.sr.sr-u .sr-r time{color:#ff8a3d;font-weight:700}
.sr-n{font-style:normal;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:linear-gradient(135deg,#ff5a1f,#ff8a00);color:#fff;font-size:11.5px;font-weight:800;line-height:20px;text-align:center}
.so-avw{position:relative;flex:none;display:inline-flex}
.so-on{position:absolute;right:1px;bottom:1px;width:13px;height:13px;border-radius:50%;background:#30d158;box-shadow:0 0 0 2.5px var(--bg)}
.so-stack{--s:52px;position:relative;flex:none;width:var(--s);height:var(--s)}
.so-stack>.av{position:absolute;box-shadow:0 0 0 2.5px var(--bg)}
.so-stack>.av:first-child{top:0;right:0}.so-stack>.av:last-child{left:0;bottom:0}
.so-tile{--s:52px;flex:none;width:var(--s);height:var(--s);border-radius:calc(var(--s) * .3);display:grid;place-items:center;font-size:calc(var(--s) * .48);background:linear-gradient(145deg,#26262d,#18181d);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);overflow:hidden}
.so-tile img{width:68%;height:68%;object-fit:contain}
.so-ok{font-style:normal;display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#ff6a1a;color:#fff;font-size:9px;font-weight:900;flex:none}
.so-btn{border:0;border-radius:999px;background:#24242a;color:#fff;font:inherit;font-size:14.5px;font-weight:800;height:42px;padding:0 18px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;transition:transform .12s,opacity .2s}
.so-btn.pri{background:linear-gradient(135deg,#ff5a1f,#ff8a00);box-shadow:0 6px 16px rgba(255,90,31,.25)}
.so-btn.ghost{background:none;box-shadow:inset 0 0 0 1.5px #34343b;color:#b5b5bc}
.so-btn.sm{height:32px;padding:0 14px;font-size:13px}
.so-btn.wide{width:100%;height:48px;font-size:15.5px;margin-top:10px}
.so-btn:active{transform:scale(.96)}
.so-btn:disabled{opacity:.55}
.so-search{display:flex;align-items:center;gap:8px;background:#151518;border-radius:12px;padding:0 12px;margin-bottom:12px;height:42px}
.so-search svg{width:17px;height:17px;color:#6d6d75;flex:none}
.so-search input{flex:1;min-width:0;border:0;background:none;color:#fff;font:inherit;font-size:16px;outline:none;-webkit-appearance:none}
.so-search input::placeholder{color:#6d6d75}
.so-sec{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:800;color:#8d8d95;text-transform:uppercase;letter-spacing:.06em;margin:18px 4px 8px}
.so-sec span{color:#5d5d65}
.so-link{margin-left:auto;border:0;background:none;color:#ff8a3d;font:inherit;font-size:13px;font-weight:800;text-transform:none;letter-spacing:0;cursor:pointer}
.so-card{background:#111114;border-radius:18px;padding:4px 10px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.pr{display:flex;align-items:center;gap:12px;padding:9px 2px;width:100%;border:0;background:none;color:inherit;font:inherit;text-align:left}
.pr+.pr,.gr+.gr{border-top:1px solid rgba(255,255,255,.05)}
.pr-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.pr-m b{font-size:15px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pr-m span{font-size:12.5px;color:#7d7d85}
.pr-m .on{color:#30d158;font-weight:700}
.pr-acts{display:flex;align-items:center;gap:8px}
.pr-you{font-size:12px;font-weight:800;color:#6d6d75}
.pr.pk{cursor:pointer;border-radius:12px}
.pk-c{flex:none;width:24px;height:24px;border-radius:50%;box-shadow:inset 0 0 0 2px #3a3a42;display:grid;place-items:center;color:transparent;transition:background .15s,box-shadow .15s}
.pk-c svg{width:14px;height:14px}
.pr.pk.on .pk-c{background:#ff6a1a;box-shadow:none;color:#fff}
.gr{display:flex;align-items:center;gap:12px;width:100%;padding:10px 2px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:12px}
.gr-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.gr-m b{font-size:15px;font-weight:800;display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gr-m>span{font-size:12.5px;color:#7d7d85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gr-n{flex:none;display:flex;flex-direction:column;align-items:flex-end;font-size:14px;font-weight:800;line-height:1.1}
.gr-n small{font-size:10.5px;color:#6d6d75;font-weight:700}
.gr-go{color:#5d5d65;font-size:22px}
.so-make{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border-radius:18px;border:1.5px dashed rgba(255,138,61,.35);background:rgba(255,106,26,.05);color:inherit;font:inherit;text-align:left;cursor:pointer}
.so-make>span:first-child{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#ff5a1f,#ff8a00);display:grid;place-items:center;font-size:22px;color:#fff;flex:none}
.so-make b{display:block;font-size:15px}
.so-make small{font-size:12.5px;color:#8d8d95}
.so-hint{font-size:13.5px;color:#7d7d85;padding:4px 6px 12px}
#soFound .so-card,#soGFound .so-card{margin-bottom:6px}
.so-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:40px 20px}
.so-empty b{font-size:18px}
.so-empty span{font-size:14px;color:#8d8d95;max-width:280px;line-height:1.4}
.so-empty.sm{padding:16px 10px}
.so-empty-b{display:flex;gap:8px;margin-top:12px}
.so-gate{display:flex;flex-direction:column;align-items:center;text-align:center;padding:36px 16px;gap:10px}
.so-gate-art{display:flex;margin-bottom:8px}
.so-gate-art span{width:64px;height:64px;border-radius:22px;display:grid;place-items:center;font-size:30px;background:#1a1a1f;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.so-gate-art span:nth-child(1){transform:rotate(-10deg) translateX(10px)}
.so-gate-art span:nth-child(2){position:relative;z-index:1;background:linear-gradient(135deg,#ff5a1f,#ff8a00);transform:translateY(-8px)}
.so-gate-art span:nth-child(3){transform:rotate(10deg) translateX(-10px)}
.so-gate h3{margin:0;font-size:22px;font-weight:900}
.so-gate p{margin:0 0 8px;color:#8d8d95;font-size:14.5px;line-height:1.45;max-width:300px}
.so-gate .so-btn{width:100%;max-width:320px;height:48px}
.mc-rel{padding:0 16px 16px}

/* Conversation: full screen, slides in from the right */
.cv{position:fixed;inset:0;z-index:70;background:#09090b;display:flex;flex-direction:column;animation:cvIn .3s cubic-bezier(.2,.8,.2,1)}
.cv[hidden]{display:none}
.cv.out{animation:cvOut .23s ease forwards}
@keyframes cvIn{from{transform:translateX(100%)}}
@keyframes cvOut{to{transform:translateX(100%)}}
.cv-open .toast{z-index:120}
.cv-top{flex:none;display:flex;align-items:center;gap:6px;padding:calc(env(safe-area-inset-top) + 6px) 10px 8px;background:rgba(14,14,17,.96);border-bottom:1px solid rgba(255,255,255,.06)}
.cv-ic{flex:none;width:38px;height:38px;border-radius:50%;border:0;background:none;color:#e5e5ea;display:grid;place-items:center;cursor:pointer;padding:0}
.cv-ic svg{width:22px;height:22px}
.cv-t{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:0}
.cv-t>span{min-width:0;display:flex;flex-direction:column}
.cv-t b{font-size:16px;font-weight:800;display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cv-t small{font-size:12px;color:#7d7d85}
.cv-t small .on{color:#30d158;font-weight:700}
.cv-t .so-on{width:10px;height:10px;box-shadow:0 0 0 2px #0e0e11}
.cv-list{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:10px 12px 14px;display:flex;flex-direction:column}
.cv-hello{margin:auto;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:30px}
.cv-hello b{font-size:19px}
.cv-hello span{font-size:14px;color:#8d8d95;max-width:260px}
.cvt{align-self:center;font-size:11.5px;font-weight:700;color:#5d5d65;margin:14px 0 8px}
.cvs{align-self:center;font-size:12px;color:#6d6d75;margin:8px 20px;text-align:center}
.cvm{display:flex;align-items:flex-end;gap:7px;margin-top:2px;max-width:100%}
.cvm.first{margin-top:8px}
.cvm.mine{justify-content:flex-end}
.cvm.in{animation:cmIn .25s ease both}
.cvm-av{flex:none;width:28px}
.cvm-c{position:relative;min-width:0;max-width:76%;display:flex;flex-direction:column}
.cvm.mine .cvm-c{align-items:flex-end}
.cvm-n{font-size:11.5px;font-weight:700;color:#8d8d95;margin:0 0 3px 12px}
.cvb{position:relative;padding:8px 13px;font-size:16px;line-height:1.35;border-radius:20px;background:#1e1e23;color:#f2f2f5;word-wrap:break-word;overflow-wrap:anywhere;white-space:pre-wrap;cursor:pointer;-webkit-user-select:none;user-select:none}
.cvm:not(.mine):not(.first) .cvb{border-top-left-radius:6px}
.cvm:not(.mine):not(.last) .cvb{border-bottom-left-radius:6px}
.cvm.mine .cvb{background:linear-gradient(135deg,#ff5a1f,#ff7f0e);color:#fff}
.cvm.mine:not(.first) .cvb{border-top-right-radius:6px}
.cvm.mine:not(.last) .cvb{border-bottom-right-radius:6px}
.cvq{font-size:12.5px;line-height:1.3;opacity:.75;border-left:2.5px solid currentColor;padding:1px 0 1px 8px;margin:2px 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}
.cvq b{display:block;font-size:11.5px}
.cvf{position:absolute;bottom:-9px;right:-6px;display:inline-flex;align-items:center;gap:2px;padding:2px 6px 2px 4px;border-radius:999px;background:#2a2a30;color:#ff8a3d;font-size:11px;font-weight:800;box-shadow:0 0 0 2px #09090b}
.cvm.mine .cvf{right:auto;left:-6px}
.cvf svg{width:13px;height:13px;fill:currentColor}
.cvf.pop svg{animation:bzPop .35s ease}
.cvm:has(.cvf){margin-bottom:9px}
.cv-menu{display:flex;gap:4px;margin-top:6px;padding:4px;border-radius:14px;background:#1c1c21;box-shadow:0 8px 24px rgba(0,0,0,.5);animation:sheet .2s ease}
.cv-menu button{border:0;background:none;color:#e5e5ea;font:inherit;font-size:13px;font-weight:700;padding:7px 10px;border-radius:10px;display:inline-flex;align-items:center;gap:4px;cursor:pointer}
.cv-menu button:active{background:rgba(255,255,255,.08)}
.cv-menu svg{width:15px;height:15px}
.cv-reply{flex:none;display:flex;align-items:center;gap:6px;padding:8px 14px 0;font-size:12.5px;color:#9a9aa2;background:#0b0b0d}
.cv-reply[hidden]{display:none}
.cv-reply b{color:#fff}
.cv-reply span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#6d6d75}
.cv-reply button{border:0;background:none;color:#9a9aa2;padding:4px;cursor:pointer;display:grid}
.cv-reply svg{width:15px;height:15px}
.cv-in{flex:none;display:flex;align-items:center;gap:8px;padding:8px 10px calc(env(safe-area-inset-bottom) + 8px);background:#0b0b0d;border-top:1px solid rgba(255,255,255,.06)}
.cv-reply:not([hidden])+.cv-in{border-top:0}
.cv-in .cx-send{width:40px;height:40px}
.cv-in.join{padding:10px 16px calc(env(safe-area-inset-bottom) + 10px)}
.cv-in.join .so-btn{margin:0}

/* Sheets: new chat, new group, details */
.sosh{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end}
.sosh[hidden]{display:none}
.ss-bg{position:absolute;inset:0;background:rgba(0,0,0,.55);animation:fadeIn .2s}
.ss-p{position:relative;width:100%;max-width:640px;margin:0 auto;max-height:88vh;display:flex;flex-direction:column;background:#141417;border-radius:24px 24px 0 0;animation:sheet .3s cubic-bezier(.2,.8,.2,1)}
.ss-h{position:relative;flex:none;display:flex;align-items:center;justify-content:center;padding:18px 12px 10px}
.ss-h .grab{position:absolute;top:7px;left:50%;transform:translateX(-50%);width:38px;height:5px;border-radius:3px;background:rgba(255,255,255,.2)}
.ss-h b{font-size:16px}
.ss-h .cv-ic{position:absolute;right:10px;top:10px;width:32px;height:32px;background:rgba(255,255,255,.08)}
.ss-h .cv-ic svg{width:15px;height:15px}
.ss-b{overflow-y:auto;padding:4px 14px calc(env(safe-area-inset-bottom) + 16px)}
.ss-b .so-card{background:#1a1a1e}
.ss-in{width:100%;box-sizing:border-box;border:0;border-radius:12px;background:#1f1f24;color:#fff;font:inherit;font-size:16px;padding:12px 14px;margin-bottom:10px;outline:none;resize:none}
.ss-in[hidden]{display:none}
.ss-in:focus{box-shadow:inset 0 0 0 1.5px #ff6a1a}
.ss-note{font-size:12.5px;color:#7d7d85;margin:0 4px 4px}
.ss-emo{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.ss-emo button{width:44px;height:44px;border-radius:14px;border:0;background:#1f1f24;font-size:22px;cursor:pointer;transition:transform .15s}
.ss-emo button.on{box-shadow:inset 0 0 0 2px #ff6a1a;background:rgba(255,106,26,.12);transform:scale(1.06)}
.ci-top{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:4px 0 14px}
.ci-top b{font-size:19px}
.ci-top span{font-size:13.5px;color:#8d8d95}
.ci-edit{display:flex;gap:8px;align-items:center}
.ci-edit .ss-in{margin:0}
.ci-row{display:flex;align-items:center;gap:12px;width:100%;border:0;background:#1a1a1e;color:#fff;font:inherit;font-size:15px;font-weight:700;padding:10px 12px;border-radius:14px;margin-top:10px;cursor:pointer;text-align:left}
.ci-row .so-tile{font-size:20px;color:#ff8a3d}
.ci-row.red{color:#ff5c52;justify-content:center;padding:14px}
.sosh .so-sec{margin-top:16px}

/* New-message banner */
.dmb{position:fixed;z-index:110;left:10px;right:10px;top:calc(env(safe-area-inset-top) + 8px);max-width:520px;margin:0 auto;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:20px;border:0;background:rgba(32,32,37,.97);box-shadow:0 14px 40px rgba(0,0,0,.55);color:#fff;font:inherit;text-align:left;cursor:pointer;animation:dmbIn .35s cubic-bezier(.2,.9,.3,1.2)}
.dmb.out{animation:dmbOut .3s ease forwards}
.dmb>span{min-width:0;display:flex;flex-direction:column}
.dmb b{font-size:14px}
.dmb>span>span{font-size:13.5px;color:#c5c5cc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@keyframes dmbIn{from{transform:translateY(-120%)}}
@keyframes dmbOut{to{transform:translateY(-130%);opacity:0}}

/* ---------- Social v2: calmer — monograms, flat buttons, no glow ---------- */
.mono{--s:44px;--h:20;flex:none;width:var(--s);height:var(--s);border-radius:50%;display:inline-grid;place-items:center;background:hsl(var(--h) 14% 21%);color:hsl(var(--h) 30% 82%);font-size:calc(var(--s) * .36);font-weight:700;letter-spacing:.02em;line-height:1;cursor:default}
.mono[data-prof]{cursor:pointer}
.so-tile.mono-t{background:hsl(var(--h) 12% 18%);color:hsl(var(--h) 26% 80%);font-size:calc(var(--s) * .34);font-weight:700;letter-spacing:.03em;box-shadow:none}
.so-tile{background:#17171b;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);border-radius:calc(var(--s) * .28)}
.so-tile svg{width:46%;height:46%;color:#cfcfd4}
.so-ok{width:15px;height:15px;background:none;color:#e6e6ea;border-radius:0}
.so-ok svg{width:15px;height:15px}
.so-h h2{font-weight:800;letter-spacing:-.01em}
.so-ic{background:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.so-btn{font-weight:700;background:#222227;box-shadow:none}
.so-btn.pri{background:#f2f2f4;color:#0b0b0d;box-shadow:none}
.so-btn.ghost{box-shadow:inset 0 0 0 1px #34343b}
.so-seg i,.sr-n{background:#ff5a1f;font-weight:700}
.sr-n{min-width:18px;height:18px;line-height:18px;font-size:11px}
.sr.sr-u .sr-r time{color:#ff6a1a;font-weight:600}
.sr.sr-u .sr-m b{font-weight:800}
.sr-m b,.pr-m b,.gr-m b{font-weight:600}
.so-sec{font-size:12px;font-weight:700;letter-spacing:.05em}
.so-card{background:transparent;box-shadow:none;padding:0}
.so-card .pr,.so-card .gr{padding-left:0;padding-right:0}
.ss-b .so-card{background:transparent}
.so-make{border:0;background:#141417;border-radius:14px;padding:12px}
.so-make>span:first-child{background:#222227;width:40px;height:40px;border-radius:12px}
.so-make>span:first-child svg{width:20px;height:20px;color:#fff}
.so-make b{font-weight:600}
.so-gate-ic{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);color:#e6e6ea;margin-bottom:6px}
.so-gate-ic svg{width:30px;height:30px}
.so-gate h3{font-weight:800;font-size:21px}
.so-on{background:#30d158}
/* Conversation */
.cvb{background:#1c1c20;font-size:15.5px}
.cvm.mine .cvb{background:#ff5a1f}
.cvf{background:#1c1c20;color:#ff6a1a}
.cv .cx-send,.cv-in .cx-send{background:#ff5a1f;box-shadow:none}
.cv-top{background:#0c0c0e}
.cv-t b{font-weight:700}
.cvm-n{font-weight:600}
.ci-row .so-tile{color:#e6e6ea}
.ci-top b{font-weight:700}
.dmb{background:#1c1c20;border-radius:16px}
.pk-c{box-shadow:inset 0 0 0 1.5px #3a3a42}
.pr.pk.on .pk-c{background:#f2f2f4;color:#0b0b0d}
.ss-in:focus{box-shadow:inset 0 0 0 1px #6d6d75}
.so-tile:has(img){background:#ededf0;box-shadow:none}
.cv-t>.so-tile{display:grid;flex-direction:initial}.cv-t>.so-avw{flex-direction:row}

/* ---------- Profile photos ---------- */
.av.ph,.av.mi{overflow:hidden}
.av.ph>img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.av.mi{background:hsl(var(--h,20) 14% 21%)}
.av.mi>span{font-size:calc(var(--s) * .36);font-weight:700;letter-spacing:.02em;color:hsl(var(--h,20) 30% 82%);font-family:system-ui,-apple-system,sans-serif}
.mono.ph{overflow:hidden;background:#1c1c20}
.mono.ph>img{width:100%;height:100%;object-fit:cover;display:block}
.mc-photo{position:relative;border:0;background:none;padding:0;cursor:pointer;flex:none;border-radius:50%}
.mc-photo>i{position:absolute;right:-2px;bottom:-2px;width:26px;height:26px;border-radius:50%;background:#f2f2f4;color:#0b0b0d;display:grid;place-items:center;box-shadow:0 0 0 3px var(--card,#111318)}
.mc-photo>i svg{width:14px;height:14px}
.mc-photo:active{transform:scale(.96)}
.mc-report{display:block;margin:0 auto 14px;border:0;background:none;color:#7d7d85;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.crop{position:relative;width:var(--v);height:var(--v);margin:4px auto 16px;overflow:hidden;border-radius:18px;background:#000;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}
.crop img{position:absolute;left:0;top:0;max-width:none;pointer-events:none;will-change:transform}
.crop-ring{position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 999px rgba(0,0,0,.55);outline:1.5px solid rgba(255,255,255,.7);outline-offset:-1.5px;pointer-events:none}
.crop-z{display:flex;align-items:center;gap:12px;max-width:var(--v,280px);margin:0 auto 6px;color:#8d8d95}
.crop-z span{display:grid}
.crop-z svg{width:14px;height:14px}
.crop-z .big svg{width:20px;height:20px}
.crop-z input{flex:1;accent-color:#f2f2f4}
.crop-b{display:flex;gap:10px}
.mod-ph{display:flex;align-items:center;gap:12px}
.mod-ph img{width:96px;height:96px;border-radius:50%;object-fit:cover}

/* ---------- Chat motion: slide up to open, slide down (or drag down) to close, glide to new messages ---------- */
.g-sheet.full .g-sheet-p{animation:chatUp .34s cubic-bezier(.2,.85,.25,1);transition:transform .32s cubic-bezier(.2,.85,.25,1);will-change:transform}
.g-sheet.full.dragging .g-sheet-p{transition:none}
.g-sheet.full.closing .g-sheet-p{animation:chatDown .26s cubic-bezier(.4,0,.8,.4) forwards}
@keyframes chatUp{from{transform:translate3d(0,100%,0)}}
@keyframes chatDown{to{transform:translate3d(0,100%,0)}}
.g-sheet.full .cx-top::before{content:"";position:absolute;top:calc(env(safe-area-inset-top) + 2px);left:50%;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:rgba(255,255,255,.22);z-index:2}
.g-sheet.full .cx-top{touch-action:none}
.cx-list{scroll-behavior:auto;overflow-anchor:auto}
.cx-new{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 84px);transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:6px;border:0;border-radius:999px;padding:8px 14px;background:#f2f2f4;color:#0b0b0d;font:inherit;font-size:13px;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.45);cursor:pointer;animation:dmbIn .25s ease}
.cx-new[hidden]{display:none}
.cx-new svg{width:15px;height:15px}
.cx{position:relative}
@media(prefers-reduced-motion:reduce){.g-sheet.full .g-sheet-p{animation:none}}
/* Live feed order: the "new messages" pill sits at the top of the list */
.cx-new{top:auto;bottom:auto}
.cx-list{position:relative}
.cx-new{white-space:nowrap}

/* ---------- Game-day group chat: live score bar, picks, shared plays, group results ---------- */
.cv-ic.on{color:#ff6a1a}
.cvg{flex:none;padding:8px 12px 10px;background:#0c0c0e;border-bottom:1px solid rgba(255,255,255,.06)}
.cvg-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cvg-l{font-weight:700}
.cvg-t{display:flex;align-items:center;gap:7px;min-width:0}
.cvg-row .cvg-t:last-child{flex-direction:row-reverse}
.cvg-t img{width:26px;height:26px;object-fit:contain;border-radius:50%}
.cvg-t b{font-size:14px;font-weight:800}
.cvg-t i{font-style:normal;font-size:22px;font-weight:900;font-variant-numeric:tabular-nums}
.cvg-st{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#9a9aa2;white-space:nowrap}
.cvg-st.live{color:#ff6b61}
.cvg-st em{width:7px;height:7px;border-radius:50%;background:#ff3b30;animation:pulse 1.2s infinite}
.cvg-picks{display:flex;align-items:center;gap:8px;margin-top:8px}
.cvg-picks>span{font-size:12px;font-weight:700;color:#8d8d95;margin-right:2px}
.cvg-pick{flex:1;display:flex;align-items:center;justify-content:space-between;gap:6px;height:36px;padding:0 10px;border:0;border-radius:10px;background:#1c1c20;color:#fff;font:inherit;cursor:pointer}
.cvg-pick b{font-size:13px}
.cvg-pick.on{box-shadow:inset 0 0 0 1.5px #ff6a1a;background:rgba(255,106,26,.1)}
.cvg-who{display:flex;align-items:center}
.cvg-who .mono{box-shadow:0 0 0 2px #1c1c20;margin-left:-5px;font-size:9px}
.cvg-who small{font-size:11px;color:#9a9aa2;margin-left:4px}
.cvg-go{display:block;width:100%;margin-top:8px;border:0;background:none;color:#ff8a3d;font:inherit;font-size:12.5px;font-weight:700;text-align:center;cursor:pointer}
/* Shared play / game card */
.cva{display:flex;flex-direction:column;gap:6px;width:250px;max-width:100%;padding:10px 12px;border:0;border-radius:16px;background:#17171b;box-shadow:inset 3px 0 0 var(--tc);color:#f2f2f5;font:inherit;text-align:left;cursor:pointer;margin-bottom:3px}
.cva-top{display:flex;align-items:center;gap:8px;font-size:11.5px;color:#9a9aa2}
.cva-top b{color:#e6e6ea;font-weight:800;letter-spacing:.04em}
.cva-top span{font-weight:700;color:#d8d8de}
.cva-top i{font-style:normal;margin-left:auto}
.cva-b{display:flex;align-items:flex-start;gap:10px}
.cva-b img{width:34px;height:34px;border-radius:50%;object-fit:contain;flex:none;background:#0b0b0d}
.cva-b>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.cva-b b{font-size:14.5px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cva-b small{font-size:12px;color:#8d8d95}
.cva-go{font-size:12px;font-weight:700;color:#ff8a3d}
.cvm.mine .cvm-c{align-items:flex-end}
.cvb.att-only{display:none}
/* Group results (Blitz, picks) */
.cve{align-self:center;display:flex;align-items:center;gap:8px;margin:8px 16px;padding:7px 12px;border-radius:999px;background:#141417;font-size:13px;color:#cfcfd4;max-width:92%}
.cve b{color:#fff}
.cve-ic{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#24242a;color:#9a9aa2;flex:none}
.cve-ic svg{width:12px;height:12px}
.cve.ok .cve-ic{background:rgba(255,106,26,.18);color:#ff8a3d}
/* Watch picker */
.wg-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.wg{display:grid;grid-template-columns:44px 1fr 1fr auto;align-items:center;gap:8px;padding:10px 12px;border:0;border-radius:14px;background:#1a1a1e;color:#fff;font:inherit;text-align:left;cursor:pointer}
.wg.on{box-shadow:inset 0 0 0 1.5px #ff6a1a}
.wg-lg{font-size:11px;font-weight:800;color:#8d8d95;letter-spacing:.04em}
.wg-t{display:flex;align-items:center;gap:6px}
.wg-t img{width:22px;height:22px;object-fit:contain;border-radius:50%}
.wg-t b{font-size:13.5px}
.wg-t i{font-style:normal;font-weight:800;margin-left:auto;margin-right:8px}
.wg-st{font-size:11.5px;color:#9a9aa2;font-weight:700;white-space:nowrap}
.wg-st.live{color:#ff6b61}
/* Season pick standings */
.pb-r{display:flex;align-items:center;gap:10px;padding:8px 0}
.pb-r+.pb-r{border-top:1px solid rgba(255,255,255,.05)}
.pb-n{width:18px;text-align:center;font-size:13px;font-weight:800;color:#8d8d95}
.pb-r b{flex:1;font-weight:600}
.pb-rec{font-weight:800;font-variant-numeric:tabular-nums}
/* Send in Scorch row on the share sheet */
.shs-chats{margin:2px 0 6px}
.shs-cl{font-size:12px;font-weight:700;color:#8d8d95;margin:4px 2px 8px}
.shs-row2{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.shs-row2::-webkit-scrollbar{display:none}
.shs-row2 button{flex:none;width:64px;display:flex;flex-direction:column;align-items:center;gap:5px;border:0;background:none;color:#cfcfd4;font:inherit;font-size:11px;cursor:pointer}
.shs-row2 button span:last-child{max-width:64px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shs-row2 button.sent{opacity:.5}

/* ---------- No ESPN images: text-only headlines and league pills; hide any image that was dropped ---------- */
img[src=""]{display:none!important}
.dnw.txt{display:block;padding:12px 14px;border-radius:14px;background:#111114;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);margin-bottom:8px}
.dnw.txt>div{display:flex;flex-direction:column;gap:4px}
.dnw.txt b{font-size:15px;line-height:1.3;font-weight:700}
.dnw.txt small{color:#7d7d85}
.lp .lp-e,.leagues .lp-e{display:none}
.rp-list{display:flex;flex-direction:column}.rp-list .ci-row{margin-top:8px}
