/* Game Watch combined demo — mobile-first, thumb-reachable. */
:root{
  --bg:#0b0f17; --bg2:#111825; --card:#151d2b; --card2:#1b2536;
  --line:#26324a; --text:#e8edf6; --muted:#93a1b8; --muted2:#6b7a93;
  --green:#3ddc84; --blue:#4aa8ff; --amber:#ffb020; --red:#ff5c6c;
  --lal:#552583; --lal2:#FDB927;
  --r:16px; --nav-h:64px;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
[hidden]{display:none !important}
html,body{margin:0;padding:0;background:var(--bg)}
body{font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}
.app{
  max-width:480px;margin:0 auto;min-height:100dvh;position:relative;
  background:radial-gradient(600px 340px at 80% -60px,#1a2740 0%,var(--bg) 60%);
  padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 12px);
}

/* ---------- header ---------- */
.hdr{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:calc(10px + env(safe-area-inset-top)) 16px 10px;
  position:sticky;top:0;z-index:20;
  background:rgba(11,15,23,.85);backdrop-filter:blur(14px);
}
.brand{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none}
.brand:active{opacity:.75}
.brand-logo{
  width:44px;height:44px;border-radius:12px;object-fit:cover;flex:none;
  border:1px solid var(--line);box-shadow:0 2px 10px rgba(0,0,0,.45);
}
.brand h1{font-size:17px;margin:0;font-weight:800;letter-spacing:.2px}
.brand .tag{font-size:10.5px;color:var(--muted);letter-spacing:1.3px;text-transform:uppercase}
.install-btn{
  background:linear-gradient(135deg,var(--blue),#2a7fd4);color:#fff;border:none;
  font:inherit;font-size:12.5px;font-weight:700;padding:9px 13px;border-radius:999px;cursor:pointer;
  box-shadow:0 4px 14px rgba(74,168,255,.35);white-space:nowrap;
}
.install-btn:active{transform:scale(.96)}

/* ---------- views ---------- */
.view{display:none;padding:12px 14px 8px;animation:fadein .18s ease}
.view.active{display:block}
@keyframes fadein{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.vh{font-size:19px;font-weight:800;margin:6px 2px 12px}
.vh-sub{display:block;font-size:12px;font-weight:500;color:var(--muted2);margin-top:2px}
.card{
  background:linear-gradient(180deg,var(--card),var(--bg2));
  border:1px solid var(--line);border-radius:var(--r);
  padding:14px;margin-bottom:12px;box-shadow:0 6px 22px rgba(0,0,0,.3);
}

/* ---------- scorebox ---------- */
.scorebox{
  border-radius:20px;padding:18px 14px 16px;margin-bottom:12px;position:relative;overflow:hidden;
  background:
    radial-gradient(340px 200px at 12% 0%,rgba(85,37,131,.55),transparent 70%),
    radial-gradient(340px 200px at 88% 0%,rgba(0,122,51,.45),transparent 70%),
    linear-gradient(180deg,#161f31,var(--bg2));
  border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.4);
}
.live-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.live-pill{
  font-size:11px;font-weight:800;letter-spacing:.8px;color:var(--red);
  background:rgba(255,92,108,.12);border:1px solid rgba(255,92,108,.3);
  padding:4px 10px;border-radius:999px;
}
.live-pill .dot{animation:pulse 1.3s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.live-meta{font-size:12px;color:var(--muted);font-weight:600}
.score-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px}
.s-team{display:flex;flex-direction:column;align-items:center;gap:6px}
.s-team img{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.5))}
.s-team .abbr{font-size:13px;font-weight:800;color:var(--muted)}
.s-team .pts{font-size:44px;font-weight:900;line-height:1;font-variant-numeric:tabular-nums}
.s-team.leading .pts{color:#fff}
.s-team.trailing .pts{color:var(--muted)}
.s-mid{font-size:13px;color:var(--muted2);text-align:center;font-weight:700}
.s-venue{margin-top:10px;text-align:center;font-size:11.5px;color:var(--muted2)}

/* ---------- win-prob meter ---------- */
.wp-title{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.wp-title .t{font-size:11px;font-weight:800;letter-spacing:.8px;color:var(--muted);text-transform:uppercase}
.wp-title .v{font-size:20px;font-weight:900;color:var(--green)}
.wp-bar{height:14px;border-radius:999px;background:linear-gradient(90deg,#233049,#1a2334);overflow:hidden;position:relative}
.wp-fill{
  height:100%;border-radius:999px;background:linear-gradient(90deg,var(--lal),var(--lal2));
  transition:width .9s cubic-bezier(.22,1,.36,1);box-shadow:0 0 14px rgba(253,185,39,.45);
}
.wp-ends{display:flex;justify-content:space-between;font-size:11px;color:var(--muted2);margin-top:6px;font-weight:700}
.wp-hint{font-size:11.5px;color:var(--muted2);margin-top:8px}
.wp-hint b{color:var(--amber)}

/* ---------- star / plays / next ---------- */
.card-title{font-size:11px;font-weight:800;letter-spacing:.8px;color:var(--muted);text-transform:uppercase;margin-bottom:10px}
.star-row{display:flex;align-items:center;gap:12px}
.star-face{width:62px;height:62px;border-radius:50%;border:2px solid var(--lal2);object-fit:cover;background:#1b2536}
.star-info{flex:1;min-width:0}
.star-name{font-size:15.5px;font-weight:800}
.star-sub{font-size:11.5px;color:var(--muted2);margin-top:2px}
.star-line{display:flex;gap:8px;margin-top:10px}
.stat{flex:1;text-align:center;background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:8px 4px}
.stat .n{font-size:22px;font-weight:900;color:var(--amber)}
.stat .l{font-size:10px;font-weight:700;color:var(--muted2);letter-spacing:.6px}
.play-row{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:13.5px;line-height:1.45}
.play-row:last-child{border-bottom:none}
.play-row .pt{color:var(--muted2);font-size:11.5px;font-weight:700;white-space:nowrap;padding-top:2px}
.play-row.key .px{color:#fff}
.play-row .px{color:var(--muted)}
.play-row.flash{animation:flash 1.2s ease}
@keyframes flash{0%{background:rgba(61,220,132,.14)}100%{background:transparent}}
.next-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.next-info .n1{font-size:14px;font-weight:800}
.next-info .n2{font-size:11.5px;color:var(--muted2);margin-top:2px}
.countdown{display:flex;gap:6px}
.cd{background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:6px 9px;text-align:center;min-width:46px}
.cd .n{font-size:18px;font-weight:900;font-variant-numeric:tabular-nums}
.cd .l{font-size:9px;color:var(--muted2);font-weight:700;letter-spacing:.5px}

/* ---------- momentum ---------- */
.mom-card{padding:16px 14px}
.mom-now{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;gap:8px}
.mom-now .who{font-size:12px;font-weight:800;color:var(--muted)}
.mom-now .pct{font-size:30px;font-weight:900;color:var(--green)}
.mom-chart{width:100%;height:200px;display:block}
.mom-axis{display:flex;justify-content:space-between;font-size:10px;color:var(--muted2);font-weight:700;letter-spacing:.6px;margin-top:6px;margin-bottom:8px}
.big-btn{
  width:100%;border:none;font:inherit;font-size:16px;font-weight:800;color:#04140b;
  background:linear-gradient(135deg,var(--green),#27b96a);
  padding:16px;border-radius:16px;cursor:pointer;margin-top:4px;
  box-shadow:0 8px 24px rgba(61,220,132,.35);
}
.big-btn:active{transform:scale(.97)}
.big-btn.ghost{background:var(--card2);color:var(--text);border:1px solid var(--line);box-shadow:none}
.big-btn.danger{background:rgba(255,92,108,.12);color:var(--red);border:1px solid rgba(255,92,108,.35);box-shadow:none}
.fineprint{font-size:11.5px;color:var(--muted2);margin:10px 2px;line-height:1.5}
.fineprint.center{text-align:center}

/* ---------- Profile ---------- */
.hdr-actions{display:flex;align-items:center;gap:8px}
.prof-btn{
  background:var(--card2);border:1px solid var(--line);border-radius:50%;
  width:38px;height:38px;font-size:16px;cursor:pointer;flex:none;
  display:flex;align-items:center;justify-content:center;
}
.prof-btn:active{transform:scale(.94)}
.prof-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin:6px 2px 12px}
.chiprow{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;font-weight:600;
  background:var(--card2);border:1px solid var(--line);border-radius:999px;
  padding:8px 13px;color:var(--muted);cursor:pointer;
}
.chip:active{transform:scale(.96)}
.chip.on{border-color:rgba(61,220,132,.5);color:var(--text);background:rgba(61,220,132,.08)}
.chip img{width:18px;height:18px;object-fit:contain}
.chip .x,.chip .star{background:none;border:none;font:inherit;cursor:pointer;color:var(--muted2);padding:0 1px;font-size:13px}
.chip .star.on{color:var(--amber)}
.chip .x:hover{color:var(--red)}
.prof-search{
  width:100%;background:var(--card);color:var(--text);border:1px solid var(--line);
  border-radius:10px;padding:11px 12px;font:inherit;font-size:14px;outline:none;margin-bottom:10px;
}
.prof-search:focus{border-color:var(--blue)}
.prof-results{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;max-height:280px;overflow:auto}
.prof-row{
  display:flex;align-items:center;gap:9px;background:var(--card2);
  border-radius:9px;padding:7px 10px;font-size:13.5px;
}
.prof-row img{width:20px;height:20px;object-fit:contain}
.prof-row .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.prof-row .lg{font-size:10px;color:var(--muted2);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}
.prof-row .mini-btn{font-size:12px;padding:6px 10px;white-space:nowrap}
.prof-row .mini-btn.added{color:var(--green);border-color:rgba(61,220,132,.4)}
.prof-hint{font-size:11.5px;color:var(--muted2);margin-top:9px;line-height:1.5}
.addrow{display:flex;gap:8px;margin-bottom:10px}
.addrow input{flex:1}
.chip.roster-open{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}

/* Live roster panel */
.roster{margin-top:12px;max-height:380px;overflow:auto;border-radius:12px}
.roster:empty{display:none}
.roster-head{
  display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;
  padding:10px 4px 8px;position:sticky;top:0;background:linear-gradient(180deg,var(--card) 70%,transparent);
}
.roster-head img{width:22px;height:22px;object-fit:contain}
.roster-head em{font-style:normal;font-weight:600;font-size:11px;color:var(--muted2);margin-left:auto}
.roster-group{
  font-size:10.5px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;
  color:var(--muted2);padding:10px 4px 5px;
}
.roster-row{
  display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:9px;
  background:var(--card2);margin-bottom:4px;font-size:13.5px;
}
.roster-row img,.roster-noimg{width:30px;height:30px;border-radius:50%;object-fit:cover;background:#0d1320;flex:none}
.roster-row .rname{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.roster-row .rmeta{font-size:11px;color:var(--muted2);white-space:nowrap}
.roster-row .mini-btn{font-size:11px;padding:5px 9px;white-space:nowrap}
.roster-row .mini-btn.added{color:var(--green);border-color:rgba(61,220,132,.4)}
.stat .n.small{font-size:13px;line-height:1.7}

/* ---------- WATCH tab ---------- */
.w-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;align-items:center}
.w-controls select,.w-controls input[type=date]{
  background:var(--card);color:var(--text);border:1px solid var(--line);
  border-radius:10px;padding:9px 8px;font-size:13px;font-family:inherit;outline:none;
  flex:1 1 110px;min-width:0;max-width:100%;
}
/* Date inputs have a big intrinsic min-width in Chrome; width:0 + flex-grow
   lets them shrink so the ‹ › chevrons NEVER overflow or get painted over. */
.w-datenav{display:flex;gap:6px;align-items:center;flex:1 1 185px;min-width:0}
.w-datenav input{flex:1 1 auto;width:0;min-width:0}
.w-datenav .mini-btn{flex:none}
#wLeague{flex:0 1 132px;min-width:96px}
#wLoc{flex:1 1 128px;min-width:104px}
.mini-btn{
  background:var(--card);color:var(--text);border:1px solid var(--line);
  border-radius:10px;padding:9px 12px;font-size:15px;line-height:1;cursor:pointer;font-family:inherit;
}
/* Location inputs (zip/postal + country) */
.w-locwrap{display:flex;gap:6px;align-items:center;flex:1 1 100%;min-width:0}
#wCountry{flex:0 0 88px;min-width:0}
.w-zip{
  flex:0 1 130px;min-width:84px;background:var(--card);color:var(--text);
  border:1px solid var(--line);border-radius:10px;padding:9px 10px;
  font:inherit;font-size:13px;outline:none;
}
.w-zip:focus{border-color:var(--blue)}
.w-place{font-size:12px;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.loc-row{display:flex;gap:8px;margin-bottom:6px}
.loc-row select{
  flex:0 0 auto;background:var(--card);color:var(--text);border:1px solid var(--line);
  border-radius:10px;padding:10px;font:inherit;font-size:13px;outline:none;
}
.loc-row input{flex:1}
.w-localline{
  margin-top:8px;font-size:11.5px;line-height:1.55;color:var(--green);
  background:rgba(61,220,132,.06);border:1px solid rgba(61,220,132,.18);
  border-radius:9px;padding:8px 10px;
}
.w-localline b{color:var(--green)}
.w-localline a{color:var(--blue);text-decoration:none}

.w-checks{display:flex;gap:12px;font-size:12.5px;color:var(--muted);flex-basis:100%}
.w-checks label{display:flex;align-items:center;gap:6px;cursor:pointer}
.w-checks input{width:15px;height:15px;accent-color:var(--green)}
.w-placeholder{text-align:center;color:var(--muted2);padding:40px 16px;font-size:13.5px;line-height:1.6}
.w-daynote{font-size:12px;color:var(--muted2);margin:2px 2px 10px}

.w-card{
  background:linear-gradient(180deg,var(--card),var(--bg2));
  border:1px solid var(--line);border-radius:var(--r);padding:13px;margin-bottom:10px;
}
.w-card.is-fav{border-color:rgba(255,176,32,.4)}
.w-head{display:flex;justify-content:space-between;font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;margin-bottom:8px}
.w-status{color:var(--muted)}
.w-status.live{color:var(--red)}
.w-status.live::before{content:"● ";animation:pulse 1.3s infinite}
.w-status.final{color:var(--muted2)}
.w-lg{color:var(--muted2)}
.w-team{display:flex;align-items:center;gap:8px;padding:3px 0}
.w-team img{width:24px;height:24px;object-fit:contain}
.w-tname{flex:1;font-size:14px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.w-tname i{font-style:normal;font-size:11px;color:var(--muted2)}
.w-team.lose{opacity:.55}
.w-score{font-size:17px;font-weight:900;min-width:24px;text-align:right}
.fav-star2{background:none;border:none;font-size:15px;color:var(--muted2);cursor:pointer;padding:0 2px}
.fav-star2.on{color:var(--amber)}
.w-watchband{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}
.w-cheapest{
  display:flex;align-items:center;gap:10px;text-decoration:none;
  background:rgba(61,220,132,.07);border:1px solid rgba(61,220,132,.22);
  border-radius:11px;padding:9px 11px;color:inherit;
}
.w-cheapest.paid{background:rgba(255,176,32,.07);border-color:rgba(255,176,32,.22)}
.w-price{font-size:18px;font-weight:900;color:var(--green);white-space:nowrap}
.w-cheapest.paid .w-price{color:var(--amber)}
.w-svc{font-size:13px;font-weight:600;color:#fff;display:flex;flex-direction:column;min-width:0}
.w-svc i{font-style:normal;font-size:11px;color:var(--muted);font-weight:500}
.w-opts{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.w-opt{
  display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);
  background:var(--card2);border-radius:8px;padding:6px 9px;text-decoration:none;
}
.w-opt span:last-child{color:var(--muted2);font-variant-numeric:tabular-nums}
.w-nets{font-size:11px;color:var(--muted2);margin-top:8px;line-height:1.6}
.w-nets b{color:var(--muted);font-weight:700}
.w-kind{
  font-style:normal;font-size:8.5px;font-weight:800;letter-spacing:.4px;
  color:var(--muted2);background:var(--card);border:1px solid var(--line);
  border-radius:4px;padding:1px 4px;margin-right:3px;vertical-align:1px;
}
.w-opt span:first-child{display:flex;align-items:center;min-width:0}
.w-opt span:first-child .w-kind{flex:none}
.w-blackout{
  margin-top:8px;font-size:11.5px;line-height:1.45;color:#ffd7db;
  background:rgba(255,92,108,.08);border:1px solid rgba(255,92,108,.22);
  border-radius:9px;padding:8px 10px;
}

/* Plays of the Day strip */
.wp-strip{margin:2px 0 14px}
.wp-head{font-size:11px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;margin-bottom:8px}
.wp-head span{color:var(--muted2);font-weight:600;text-transform:none;letter-spacing:.2px;margin-left:6px}
.wp-track{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity}
.wp-card{flex:0 0 170px;scroll-snap-align:start;text-decoration:none;color:inherit}
.wp-thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:var(--card2);border:1px solid var(--line)}
.wp-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.wp-thumb b{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.55);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;
  border:1px solid rgba(255,255,255,.8);font-weight:400;
}
.wp-thumb em{position:absolute;bottom:4px;right:5px;font-style:normal;font-size:10px;font-weight:700;color:#fff;background:rgba(0,0,0,.65);padding:1px 5px;border-radius:4px}
.wp-h{display:block;font-size:11.5px;font-weight:600;color:var(--muted);margin-top:5px;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- UPCOMING tab ---------- */
.seg{display:inline-flex;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.seg-btn{background:none;border:none;color:var(--muted);font:inherit;font-size:13px;font-weight:600;padding:9px 14px;cursor:pointer}
.seg-btn.active{background:var(--blue);color:#fff}
/* Month nav stays a compact ‹ July 2026 › group — never stretched to the
   column edge where the right chevron can get clipped. */
#uMonthNav{flex:0 0 auto;min-width:0}
#uMonthNav .mini-btn{flex:none}
.u-mlabel{min-width:104px;text-align:center;font-weight:700;font-size:13.5px}
.u-day{margin-bottom:16px}
.u-dhead{font-size:13px;font-weight:800;margin-bottom:6px;display:flex;align-items:baseline;gap:8px}
.u-dhead span{font-size:11px;color:var(--muted2);font-weight:600}
.u-dhead b{font-size:9px;color:var(--green);background:rgba(61,220,132,.12);padding:2px 6px;border-radius:4px;letter-spacing:.5px}
.u-row{
  display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);
  border-radius:10px;padding:9px 11px;margin-bottom:5px;font-size:13px;
}
.u-row.is-fav{border-color:rgba(255,176,32,.4)}
.u-time{font-size:11.5px;font-weight:700;color:var(--muted2);min-width:60px;font-variant-numeric:tabular-nums}
.u-match{flex:1;font-weight:600}
.u-path{font-weight:800;color:var(--green);font-size:12.5px}
.u-path.paid{color:var(--amber)}
.u-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.u-dow{text-align:center;font-size:10px;color:var(--muted2);font-weight:800;padding:3px 0}
.u-cell{
  aspect-ratio:1;background:var(--card);border:1px solid var(--line);border-radius:9px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
}
.u-cell.empty{background:transparent;border-color:transparent}
.u-cell b{font-size:12.5px;font-weight:800}
.u-cell i{font-style:normal;font-size:9.5px;color:var(--muted2);font-weight:700}
.u-cell.has{cursor:pointer}
.u-cell.has:active{transform:scale(.94)}
.u-cell.has i{color:var(--blue)}
.u-cell.today{border-color:var(--blue)}
.u-cell.fav{border-color:rgba(255,176,32,.55)}
.u-legend{font-size:10.5px;color:var(--muted2);margin-top:10px;text-align:center}

/* ---------- World Cup ---------- */
.wc-hero{
  margin:0 0 10px;border-radius:20px;overflow:hidden;border:1px solid var(--line);
  box-shadow:0 12px 34px rgba(18,39,92,.45);
}
.wc-hero svg{display:block;width:100%;height:auto}
.wc-hero img{display:block;width:100%;height:auto;max-height:240px;object-fit:cover}

/* interactive stat tiles */
button.wc-stat{border:1px solid var(--line);font:inherit;color:var(--text);cursor:pointer;position:relative}
button.wc-stat:active{transform:scale(.96)}
button.wc-stat .tap{font-size:8px;color:var(--muted2);margin-top:3px;letter-spacing:.5px}
button.wc-stat.active{border-color:var(--green);background:rgba(61,220,132,.08)}
button.wc-stat.active .tap{color:var(--green)}

/* detail panels */
.wc-detail{animation:fadein .18s ease}
.wc-teams{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.wc-teamchip{
  display:flex;align-items:center;gap:7px;background:var(--card2);border:1px solid var(--line);
  border-radius:9px;padding:7px 9px;font-size:12.5px;font-weight:600;min-width:0;
}
.wc-teamchip img{width:20px;height:20px;object-fit:contain;flex:none}
.wc-teamchip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wc-teamchip.out{opacity:.42}
.wc-teamchip em{font-style:normal;font-size:9px;color:var(--red);margin-left:auto;flex:none}
.wc-stage{border-bottom:1px solid rgba(255,255,255,.05);padding:4px 0}
.wc-stage summary{
  cursor:pointer;font-size:13.5px;font-weight:800;padding:8px 2px;list-style:none;
  display:flex;align-items:baseline;gap:8px;
}
.wc-stage summary::before{content:"▸";color:var(--muted2);font-size:11px}
.wc-stage[open] summary::before{content:"▾"}
.wc-stage summary em{font-style:normal;font-size:11px;color:var(--muted2);font-weight:600}
.wc-city{display:flex;align-items:baseline;gap:9px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:13.5px}
.wc-city:last-of-type{border-bottom:none}
.wc-city .fl{font-size:15px}
.wc-city .c{font-weight:700;min-width:0}
.wc-city .v{margin-left:auto;color:var(--muted2);font-size:12px;text-align:right}
.wc-nation{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.wc-nation:last-child{border-bottom:none}
.wc-nation .head{display:flex;align-items:baseline;gap:8px;font-size:14.5px}
.wc-nation .head .fl{font-size:17px}
.wc-nation .head em{font-style:normal;margin-left:auto;font-size:11.5px;color:var(--amber);font-weight:700}
.wc-nation .note{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.5}
.wc-count{
  text-align:center;font-size:13.5px;color:var(--muted);margin:0 0 12px;
  background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 14px;
}
.wc-count b{color:var(--green);font-variant-numeric:tabular-nums}
.wc-live{color:var(--red);font-weight:800}
.wc-live::before{content:"";}
/* LIVE NOW banner (replaces the countdown at kickoff) */
.wc-livewrap{margin:0 0 12px}
.wc-livecard{
  background:linear-gradient(135deg,rgba(255,92,108,.10),rgba(255,92,108,.02)),
             linear-gradient(180deg,var(--card),var(--bg2));
  border:1px solid rgba(255,92,108,.45);border-radius:16px;padding:14px;margin-bottom:10px;
  box-shadow:0 8px 26px rgba(255,92,108,.12);
}
.lc-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.lc-head .wc-live::before{content:"";}
.lc-min{font-size:12px;font-weight:700;color:var(--muted)}
.lc-match{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.lc-match .t{display:flex;align-items:center;gap:7px;font-size:14.5px}
.lc-match .t img{width:26px;height:26px;object-fit:contain}
.lc-score{font-size:28px;font-weight:900;font-variant-numeric:tabular-nums}
.lc-watch-title{font-size:10px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.lc-alts{font-size:11.5px;color:var(--muted2);margin-top:7px}

/* live in-game stats */
.lc-stats:empty{display:none}
.lc-stats{margin-top:12px;border-top:1px solid rgba(255,255,255,.07);padding-top:10px}
.lcs-poss{display:flex;align-items:center;gap:10px}
.lcs-poss b{font-size:13px;font-variant-numeric:tabular-nums;min-width:44px;text-align:center}
.lcs-poss .bar{flex:1;height:10px;border-radius:999px;background:var(--card2);overflow:hidden}
.lcs-poss .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--red),#ff8b96);border-radius:999px 0 0 999px}
.lcs-posslabel{text-align:center;font-size:9.5px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--muted2);margin:4px 0 8px}
.lcs-row{
  display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  padding:4px 0;font-size:12.5px;
}
.lcs-row b{min-width:44px;text-align:center;font-variant-numeric:tabular-nums}
.lcs-row span{color:var(--muted2);font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}
.lcs-evhead{font-size:9.5px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--muted2);margin:10px 0 6px}
.lcs-ev{display:flex;gap:8px;align-items:baseline;font-size:12.5px;padding:3px 0}
.lcs-ev .m{color:var(--amber);font-weight:800;min-width:30px;font-variant-numeric:tabular-nums}
.lcs-ev .t{color:var(--muted);min-width:0}
.lc-open{width:100%;margin-top:9px;font-size:13px}

.wc-stats{display:flex;gap:8px;padding:12px}
.wc-stat{flex:1;text-align:center;background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:10px 4px}
.wc-stat .n{font-size:22px;font-weight:900;color:var(--green)}
.wc-stat .l{font-size:9px;font-weight:700;color:var(--muted2);letter-spacing:.6px;margin-top:2px}
.wc-phase{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:13.5px;align-items:baseline}
.wc-phase:last-child{border-bottom:none}
.wc-phase b{color:var(--amber);font-size:12px;min-width:64px;white-space:nowrap}
.wc-phase span{color:var(--muted)}
.wc-link{
  display:block;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05);
  color:var(--text);font-size:14px;font-weight:600;text-decoration:none;
}
.wc-link:last-of-type{border-bottom:none}
.wc-link:active{opacity:.7}
.wc-row .u-match{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px}
.wc-row .u-match img{width:20px;height:20px;object-fit:contain}
.wc-row.is-live{border-color:rgba(255,92,108,.45)}
.wc-tab .ic{filter:drop-shadow(0 0 4px rgba(61,220,132,.6))}

/* ---------- picks ---------- */
.superfan{background:linear-gradient(135deg,rgba(255,176,32,.12),rgba(255,176,32,.03)),linear-gradient(180deg,var(--card),var(--bg2));border-color:rgba(255,176,32,.3)}
.sf-row{display:flex;align-items:center;gap:12px}
.sf-badge{
  width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 35% 30%,#ffd35c,#c8860a);font-size:24px;
  box-shadow:0 4px 14px rgba(255,176,32,.4);
}
.sf-info{flex:1}
.sf-tier{font-size:15px;font-weight:900}
.sf-sub{font-size:11.5px;color:var(--muted);margin-top:2px}
.sf-streak{text-align:center}
.sf-streak .n{font-size:22px;font-weight:900;color:var(--amber)}
.sf-streak .l{font-size:9.5px;color:var(--muted2);font-weight:700;letter-spacing:.5px}
.sf-progress{height:8px;border-radius:999px;background:var(--card2);margin-top:12px;overflow:hidden}
.sf-progress .fill{height:100%;background:linear-gradient(90deg,var(--amber),#ffd35c);border-radius:999px}
.sf-next{font-size:10.5px;color:var(--muted2);margin-top:6px;text-align:right}
.pick-q{font-size:15px;font-weight:800;margin-bottom:12px}
.pick-btns{display:flex;gap:10px}
.pick-btn{
  flex:1;font:inherit;font-size:15px;font-weight:800;color:var(--text);
  background:var(--card2);border:1.5px solid var(--line);border-radius:14px;
  padding:16px 8px;cursor:pointer;transition:border-color .15s,background .15s;
}
.pick-btn:active{transform:scale(.97)}
.pick-btn.locked{border-color:var(--green);background:rgba(61,220,132,.1);color:var(--green)}
.pick-btn.dim{opacity:.4}
.pick-reward{font-size:11.5px;color:var(--muted2);margin-top:10px;text-align:center}
.pick-reward b{color:var(--amber)}
.ph-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:13.5px}
.ph-row:last-child{border-bottom:none}
.ph-ico{font-size:15px}
.ph-text{flex:1;color:var(--muted)}
.ph-row.hit .ph-text{color:var(--text)}
.ph-pts{font-weight:800;font-size:12.5px}
.ph-row.hit .ph-pts{color:var(--green)}
.ph-row.miss .ph-pts{color:var(--muted2)}

/* ---------- your data ---------- */
.manifesto p{margin:0;font-size:13.5px;line-height:1.6;color:var(--muted)}
.manifesto strong{color:var(--text)}
.dl-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13.5px}
.dl-row:last-child{border-bottom:none}
.dl-k{color:var(--muted)}
.dl-v{font-weight:700;font-variant-numeric:tabular-nums}
.dl-v.green{color:var(--green)}
.dl-events{margin-top:10px;background:#0d1320;border:1px solid var(--line);border-radius:12px;padding:10px;max-height:180px;overflow:auto}
.dl-ev{font-family:ui-monospace,Menlo,monospace;font-size:10.5px;color:var(--muted2);padding:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dl-ev b{color:var(--blue);font-weight:600}
.data-actions{display:flex;flex-direction:column;gap:10px;margin-top:4px}

/* ---------- bottom nav ---------- */
.bottomnav{
  position:fixed;bottom:0;left:50%;transform:translateX(-50%);
  width:100%;max-width:480px;height:calc(var(--nav-h) + env(safe-area-inset-bottom));
  display:flex;z-index:30;
  background:rgba(13,18,29,.92);backdrop-filter:blur(16px);
  border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);
}
.nav-btn{
  flex:1;background:none;border:none;font:inherit;font-size:10px;font-weight:700;
  color:var(--muted2);display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;cursor:pointer;
}
.nav-btn .ic{font-size:19px;line-height:1}
.nav-btn.active{color:var(--green)}

/* ---------- modals & toast ---------- */
.modal{
  position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;
  background:rgba(4,7,12,.8);backdrop-filter:blur(6px);padding:20px;
}
.modal-card{
  width:100%;max-width:400px;background:var(--card);border:1px solid var(--line);
  border-radius:20px;padding:14px;box-shadow:0 20px 60px rgba(0,0,0,.6);
  animation:pop .22s cubic-bezier(.22,1.4,.36,1);
}
@keyframes pop{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
.modal-card img{width:100%;border-radius:14px;display:block}
.modal-actions{display:flex;gap:10px;margin-top:12px}
.modal-actions .big-btn{margin-top:0}
.ios-card h3{margin:4px 0 12px;font-size:17px}
.ios-card ol{margin:0 0 16px;padding-left:22px;color:var(--muted);font-size:14.5px;line-height:2}
.ios-ico{font-size:16px}
.toast{
  position:fixed;bottom:calc(var(--nav-h) + 24px);left:50%;transform:translateX(-50%);
  background:#1c2740;border:1px solid var(--line);color:var(--text);
  font-size:13.5px;font-weight:600;padding:12px 18px;border-radius:999px;z-index:60;
  box-shadow:0 10px 30px rgba(0,0,0,.5);animation:pop .2s ease;white-space:nowrap;
}

/* ---------- desktop & laptop (≥900px): actually use the width ---------- */
@media (min-width:900px){
  .app{max-width:760px}
  .bottomnav{max-width:760px}
  .wc-hero img{max-height:300px}
  /* dashboards read better capped + centered */
  #view-home,#view-profile,#view-picks,#view-data{max-width:640px;margin-left:auto;margin-right:auto}
  /* Watch: two-column game-card grid */
  #wGames{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
  #wGames .w-daynote,#wGames .w-placeholder{grid-column:1/-1}
  #wGames .w-card{margin-bottom:0}
  /* Upcoming list: two columns of day groups (calendar spans full width) */
  #uBody{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;align-items:start}
  #uBody .w-placeholder,#uBody .u-grid,#uBody .u-legend{grid-column:1/-1}
  /* World Cup: matches in two columns; live cards side-by-side when multiple */
  #wcMatches{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;align-items:start}
  #wcMatches .card-title,#wcMatches .w-placeholder{grid-column:1/-1}
  .wc-livewrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:10px}
  .wc-livecard{margin-bottom:0}
}

/* ---------- narrow phones (Galaxy 384, iPhone mini/SE) ---------- */
@media (max-width:440px){
  .hdr{padding-left:12px;padding-right:12px;gap:8px}
  .brand h1{font-size:15px}
  .brand .tag{font-size:9px;letter-spacing:1px}
  .brand-logo{width:38px;height:38px;border-radius:10px}
  .install-btn{font-size:11px;padding:8px 10px}
  .prof-btn{width:34px;height:34px;font-size:14px}
  .view{padding:10px 10px 8px}
  .wc-stats{gap:6px;padding:10px}
  .wc-stat .n{font-size:19px}
  .lc-match .t{font-size:13px}
  .lc-score{font-size:24px}
  .nav-btn{font-size:9px}
  .nav-btn .ic{font-size:17px}
}
@media (max-width:392px){
  .brand .tag{display:none}
  .install-btn{font-size:10.5px;padding:7px 8px}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important}
}

/* local-station links */
.w-localline a{color:var(--green)}
.w-localline a b{text-decoration:underline;text-decoration-color:rgba(61,220,132,.5)}
.prof-hint a{color:var(--blue);text-decoration:none;font-weight:700}

/* watch-card live stats toggle */
.w-statsbtn{width:100%;margin-top:10px;font-size:12px}
.w-card .lc-stats{border-top:none;padding-top:0;margin-top:10px}
.w-card .lc-stats:not(:empty){border-top:1px solid rgba(255,255,255,.07);padding-top:10px}

/* clickable stations in the broadcast line */
.w-nets a{color:var(--blue);text-decoration:none;font-weight:600}

/* my players (live lines) */
.mp-row{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04)}
.mp-row:last-child{border-bottom:none}
.mp-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13.5px}
.mp-ctx{font-size:11px;color:var(--muted2);white-space:nowrap}
.mp-line{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
.mp-stat{background:var(--card2);border:1px solid var(--line);border-radius:8px;padding:3px 8px;font-size:11px;color:var(--muted2)}
.mp-stat b{color:var(--amber);font-size:12.5px;margin-right:4px}

/* alerts row */
.alert-row{display:flex;gap:8px;margin-top:12px}
.alert-row .mini-btn{flex:1;font-size:11.5px}
.mini-btn.added{color:var(--green);border-color:rgba(61,220,132,.4)}

/* per-type delete */
.dl-del{background:none;border:none;color:var(--muted2);cursor:pointer;font-size:11px;margin-left:6px}
.dl-del:hover{color:var(--red)}

/* onboarding */
.ob-card h3{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.ob-step{font-size:10.5px;color:var(--muted2);font-weight:600}
.ob-teams{display:flex;flex-direction:column;gap:4px;max-height:320px;overflow:auto;margin-top:8px}
.ob-team{display:flex;align-items:center;gap:9px;background:var(--card2);border:1px solid var(--line);
  border-radius:9px;padding:9px 10px;font:inherit;font-size:13.5px;color:var(--text);cursor:pointer;text-align:left}
.ob-team img{width:20px;height:20px;object-fit:contain}
.ob-team .nm{flex:1}
.ob-team em{color:var(--muted2);font-style:normal}

/* matchup name in the countdown chip */
.wc-next{color:#e8edf6;font-weight:800}

/* ---------------- GameCast visualizer (data-only "feels-live") ---------------- */
.gc { margin: 8px 0 10px; }
.gc svg { display: block; width: 100%; height: auto; border-radius: 10px; }

/* ---------------- Sanctioned YouTube embeds (official channels) ---------------- */
.yt-btn { margin-top: 8px; }
.wp-head .yt-btn { margin: 0 0 0 auto; }
.yt-modal {
  position: fixed; inset: 0; z-index: 300; display: flex;
  align-items: center; justify-content: center;
  background: rgba(4, 8, 18, .82); backdrop-filter: blur(4px); padding: 14px;
}
.yt-box {
  width: min(720px, 100%); background: var(--card, #101827);
  border: 1px solid var(--line, #223); border-radius: 14px; overflow: hidden;
}
.yt-bar { display: flex; align-items: center; gap: 8px; padding: 10px 12px; }
.yt-title { font-weight: 700; font-size: 14px; flex: 1; min-width: 0; }
.yt-close {
  background: none; border: 1px solid var(--line, #223); color: inherit;
  border-radius: 8px; width: 30px; height: 30px; cursor: pointer; flex: none;
}
.yt-frame { position: relative; aspect-ratio: 16 / 9; background: #000; }
.yt-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.yt-note { padding: 8px 12px; font-size: 11px; color: var(--muted2, #7e8aa0); }

/* ---------------- player season-stats card (tap any player) ---------------- */
.ps-click { cursor: pointer; }
.ps-click:hover, .ps-click:active { text-decoration: underline; text-underline-offset: 3px; }
.ps-box { max-width: 480px; }
.ps-body { padding: 4px 14px 14px; }
.ps-head { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.ps-shot { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; background: #1a2436; flex: none; }
.ps-meta { font-weight: 700; font-size: 14px; }
.ps-bio { color: var(--muted2, #7e8aa0); font-size: 12px; margin-top: 2px; }
.ps-sum { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 10px; }
.ps-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(74px, 1fr)); gap: 8px; margin-top: 8px; }
.ps-cell { background: rgba(255,255,255,.04); border: 1px solid var(--line, #223);
  border-radius: 10px; padding: 8px 6px; text-align: center; }
.ps-cell b { display: block; font-size: 15px; }
.ps-cell span { font-size: 10px; color: var(--muted2, #7e8aa0); letter-spacing: .04em; }

/* My Players — photo thumbnails + per-player stat rows */
.mp-row { display: flex; align-items: center; gap: 10px; }
.mp-shot { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; background: #1a2436; flex: none; }
.mp-main { flex: 1; min-width: 0; }
.mp-tag { font-size: 10px; letter-spacing: .06em; text-transform: uppercase;
  color: var(--muted2, #7e8aa0); border: 1px solid var(--line, #223);
  border-radius: 6px; padding: 2px 6px; margin-left: 2px; vertical-align: middle; }
.mp-tag.live { color: #ff6b6b; border-color: #ff6b6b55; }

/* Brand-first landing hero: banner opens, World Cup photo takes over */
.wc-hero img{transition:opacity .35s ease}
.wc-hero img.brand-flash{object-fit:contain;background:#04060c}

/* Post-World-Cup: the brand banner opens Home */
.home-hero{margin-bottom:12px}
.home-hero img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--line,#223)}

/* Header brand = small hero banner (wordmark + tagline live in the art) */
.brand-banner{display:block;height:44px;width:auto;border-radius:9px}
@media (max-width:440px){ .brand-banner{height:38px} }

/* Header banner waits offstage until the landing hero hands off */
.brand-banner{transition:opacity .4s ease}
.hdr.hide-brand .brand-banner{opacity:0}

/* Brand-phase chips: same tile look, not tappable */
.hf-stat{cursor:default}

/* Last-plays voice narration toggle */
.pl-title{display:flex;align-items:center;justify-content:space-between;gap:8px}
.narr.on{color:#3ddc84;border-color:#3ddc8455}

/* AI commentary state of the narration toggle */
.narr.ai{color:#c792ea;border-color:#c792ea55}

/* Header narration toggle states */
.prof-btn.narr.on{color:#3ddc84;border-color:#3ddc8455}
.prof-btn.narr.ai{color:#c792ea;border-color:#c792ea55}

/* "Today's Games" label leading the countdown block */
.wc-today{font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:12px;
  color:var(--muted,#9aa7bd);margin-right:10px;padding-right:10px;border-right:1px solid var(--line,#223)}

/* 🎧 Listen row — the radio half of cheapest-legal-path */
.w-listen{font-size:12px;color:var(--muted,#9aa7bd);margin-top:8px;line-height:1.6}
.w-listen a{color:var(--text,#e8eaed);text-decoration:none;border-bottom:1px dotted var(--line,#334)}
.w-listen a i{color:var(--muted2,#7e8aa0);font-style:normal;font-size:11px}

/* Embed modal: hand-off states when the rights-holder blocks playback */
.yt-out{margin-left:auto;margin-right:10px;font-size:12px;color:var(--muted,#9aa7bd);text-decoration:none;flex:none}
.yt-out:hover{color:var(--text,#e8eaed)}
.yt-wait,.yt-blocked{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:14px;color:var(--muted,#9aa7bd);font-size:14px;text-align:center;padding:24px}
.yt-blocked p{max-width:420px;margin:0;line-height:1.5}
.yt-go{display:inline-block;text-decoration:none;text-align:center}

/* 🎙 live text color commentary on live cards */
.w-comm{font-size:12.5px;color:#c792ea;margin-top:8px;line-height:1.5;min-height:0}
.w-comm i{font-style:italic}

/* heading above the GameCast fallback visualizer */
.gc-head{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted,#9aa7bd);
  margin:10px 0 6px;text-align:center}

/* 🖥 Companion mode — narrow second-screen column (PiP window / popup / overlay) */
.comp{padding:12px;max-width:400px;margin:0 auto;font-family:inherit;color:var(--text,#e8eaed)}
.comp-overlay{position:fixed;inset:0;z-index:400;background:var(--bg,#0b0f17);overflow:auto}
.comp-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.comp-brand{font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--muted,#9aa7bd)}
.comp-x{background:none;border:1px solid var(--line,#223);color:inherit;border-radius:8px;
  width:28px;height:28px;cursor:pointer}
.comp-score{display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:var(--card,#101827);border:1px solid var(--line,#223);border-radius:14px;padding:14px}
.comp-score .t{display:flex;flex-direction:column;align-items:center;min-width:64px}
.comp-score .t b{font-size:20px}
.comp-score .t span{font-size:10px;color:var(--muted2,#7e8aa0)}
.comp-score .s{font-size:34px;font-weight:800;font-variant-numeric:tabular-nums}
.comp-score .s i{font-style:normal;color:var(--muted2,#7e8aa0);margin:0 4px}
.comp-status{text-align:center;font-size:12px;color:var(--muted,#9aa7bd);margin:8px 0}
.comp-status.live{color:#ff6b6b}
.comp-plays{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.comp-play{font-size:12px;line-height:1.4;color:var(--text,#e8eaed)}
.comp-play span{color:var(--muted2,#7e8aa0);margin-right:6px}
.comp .mini-btn{margin-top:12px;width:100%}
.comp-wait{padding:30px 10px;text-align:center;color:var(--muted,#9aa7bd)}
.gc-strip{margin:10px 0 4px}

/* Header entry to sports/teams/players (replaces the onboarding modal) */
.mysports-btn{
  background:var(--card,#101827);border:1px solid var(--line,#223);color:var(--text,#e8eaed);
  border-radius:10px;padding:8px 12px;font-size:12.5px;font-weight:700;cursor:pointer;
  white-space:nowrap;line-height:1;letter-spacing:.1px}
.mysports-btn:hover{border-color:#3a4a63}
.mysports-btn:active{transform:scale(.96)}
@media (max-width:440px){ .mysports-btn{font-size:11px;padding:7px 9px} }

/* 🛒 official merch links (plain deep-links; affiliate tag added later) */
.shop-btn{text-decoration:none}
a.shop-btn.mini-btn{display:inline-block}
a.shop-btn.big-btn{display:block;text-align:center;margin-top:12px}

/* team merch: branded storefront button + search companion */
.shop-row{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}
.shop-search{font-size:12px;color:var(--muted,#9aa7bd);text-decoration:none;border-bottom:1px dotted var(--line,#334)}
.shop-search:hover{color:var(--text,#e8eaed)}

/* Ways-to-watch block on the My Team card */
.s-watchhead{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#9aa7bd);margin:12px 0 6px}

/* where-to-watch chip is now a tappable link in dense lists */
a.u-path{text-decoration:none;white-space:nowrap}
a.u-path:hover{text-decoration:underline}
