:root{--w-primary:#0e2238;--w-accent:#f3b51b;--w-bg:#0a1726;--w-team:var(--w-primary);--w-card:rgba(255,255,255,.06);--w-line:rgba(255,255,255,.12);--w-text:#f4f7fb;--w-muted:#a9b8ca;--w-live:#d62828}
*{box-sizing:border-box}
html,body{margin:0;background:var(--w-bg);color:var(--w-text);font:16px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-text-size-adjust:100%}
a{color:var(--w-accent)}
.w-top{position:sticky;top:0;z-index:5;background:var(--w-primary);border-bottom:3px solid var(--w-accent);padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top))}
.w-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;font-size:19px;min-height:40px}
.w-brand img{height:36px;width:auto;border-radius:6px}
.w-main{max-width:1100px;margin:0 auto;padding:12px 16px 32px}
.w-h{font-size:21px;margin:22px 0 10px;display:flex;align-items:center;gap:10px}
h1.w-h{font-size:24px}
.w-muted{color:var(--w-muted)}.w-small{font-size:13px;min-height:18px;margin:6px 0}
.w-row{display:grid;gap:12px;grid-template-columns:1fr}
.w-list{display:grid;gap:10px;grid-template-columns:1fr}
.w-grid{display:grid;gap:10px;grid-template-columns:1fr 1fr}
@media(min-width:720px){.w-row{grid-template-columns:repeat(2,1fr)}.w-list{grid-template-columns:repeat(2,1fr)}.w-grid{grid-template-columns:repeat(4,1fr)}}
.w-card{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;background:var(--w-card);border:1px solid var(--w-line);border-radius:14px;padding:14px;min-height:64px;color:inherit;text-decoration:none}
.w-card:active{transform:scale(.99)}
.w-card-live{border-color:var(--w-live);box-shadow:0 0 0 1px var(--w-live) inset}
.w-match{display:flex;align-items:center;gap:8px;flex:1 1 220px;min-width:0;font-size:17px}
.w-match b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.w-vs{color:var(--w-muted);font-size:14px}
.w-when{color:var(--w-muted);font-size:14px;flex-basis:100%}
.w-sc{font-weight:800;font-size:20px;margin-left:auto}
.w-play{margin-left:auto;font-size:20px;color:var(--w-accent)}
.w-badge{background:var(--w-live);color:#fff;font-weight:800;font-size:13px;border-radius:999px;padding:3px 10px;letter-spacing:.03em}
.w-badge-warn{background:var(--w-accent);color:#0e2238}
.w-tag{background:rgba(255,255,255,.14);border-radius:999px;padding:3px 10px;font-size:13px;font-weight:700}
.w-tlogo{width:34px;height:34px;object-fit:contain;border-radius:8px;flex:none;background:rgba(255,255,255,.08)}
.w-tlogo-ph{display:inline-flex;align-items:center;justify-content:center;font-size:18px}
.w-tlogo-lg{width:64px;height:64px}
.w-team{display:flex;align-items:center;gap:10px;background:var(--w-card);border:1px solid var(--w-line);border-left:5px solid var(--tc,var(--w-accent));border-radius:12px;padding:12px;min-height:60px;color:inherit;text-decoration:none;flex-wrap:wrap}
.w-team span{display:flex;flex-direction:column;font-weight:700;min-width:0}
.w-team small{color:var(--w-muted);font-weight:400}
.w-chan{display:flex;align-items:center;gap:14px;margin-top:8px;border-left:6px solid var(--w-team);padding-left:12px}
.w-chan .w-h{margin:0}
.w-player{display:block;width:100%;aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;--controls-backdrop-color:rgba(0,0,0,.4)}
.w-ph{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;background:#000;border-radius:12px;color:var(--w-muted);line-height:1.5}
.w-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;background:var(--w-accent);color:#0e2238;font-weight:800;text-decoration:none;margin-top:10px}
.w-chip{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;background:var(--w-card);border:1px solid var(--w-line);color:inherit;text-decoration:none;font-size:14px}
.w-reps{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
/* Score banner: page graphics above the player */
.w-banner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;background:var(--w-primary);border:2px solid var(--w-accent);border-radius:14px;padding:10px 12px;margin:10px 0 12px}
.w-banner:empty{display:none}
.w-bteam{display:flex;align-items:center;gap:8px;min-width:0}
.w-bteam-r{justify-content:flex-end}
.w-bname{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(14px,3.6vw,20px)}
.w-bscore{font-weight:900;font-size:clamp(26px,7vw,42px);font-variant-numeric:tabular-nums;min-width:1.4em;text-align:center}
.w-bmid{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.w-bq{font-weight:800;font-variant-numeric:tabular-nums}
.w-bdd{color:var(--w-accent);font-weight:700;font-size:14px}
@media(max-width:420px){.w-bteam .w-tlogo{display:none}}
.w-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.w-stat{background:var(--w-card);border:1px solid var(--w-line);border-radius:10px;padding:10px;display:flex;flex-direction:column}
.w-stat b{font-size:22px}.w-stat span{color:var(--w-muted);font-size:13px}
.w-tablewrap{overflow-x:auto;margin-top:12px;border:1px solid var(--w-line);border-radius:10px}
.w-table{border-collapse:collapse;width:100%;font-size:14px}
.w-table th,.w-table td{padding:8px 10px;border-bottom:1px solid var(--w-line);text-align:right;white-space:nowrap}
.w-table th:first-child,.w-table td:first-child{text-align:left;position:sticky;left:0;background:var(--w-bg)}
.w-foot{text-align:center;color:var(--w-muted);font-size:13px;padding:20px 16px max(20px,env(safe-area-inset-bottom))}
/* embed */
.w-embed .w-main{padding:0;max-width:none}
.w-embed .w-player,.w-embed .w-ph{border-radius:0}
.w-embed-brand{position:fixed;right:8px;bottom:8px;font-size:11px;color:#fff;opacity:.7;text-decoration:none;background:rgba(0,0,0,.4);padding:2px 8px;border-radius:999px}
.w-row>*,.w-list>*,.w-grid>*{min-width:0}
.w-match{flex:1 1 160px}
/* ===== Scoreboard v2: each team is a column (logo / name / score) so text can never overlap ===== */
.w-banner{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;padding:14px 12px 12px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(0,0,0,.18)),var(--w-primary);box-shadow:0 8px 24px rgba(0,0,0,.35)}
.w-sb-team{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;min-width:0}
.w-sb-logo{width:48px;height:48px;border-radius:50%;object-fit:contain;background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.18)}
.w-sb-init{display:flex;align-items:center;justify-content:center;font-weight:900;font-size:22px;color:#fff;background:linear-gradient(135deg,var(--w-team),rgba(255,255,255,.08))}
.w-sb-r .w-sb-init{background:linear-gradient(135deg,#55657a,#2b3646)}
.w-sb-name{font-weight:800;font-size:clamp(13px,3.4vw,18px);line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;max-width:100%}
.w-sb-score{font-weight:900;font-size:clamp(34px,10vw,56px);line-height:1;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.75)}
.w-sb-lead .w-sb-score{color:#fff;text-shadow:0 0 18px rgba(243,181,27,.45)}
.w-sb-mid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:76px}
.w-sb-q{display:flex;flex-direction:column;align-items:center;font-weight:800;font-size:15px;line-height:1.1}
.w-sb-q b{font-size:22px;font-variant-numeric:tabular-nums;margin-top:2px}
.w-sb-dd{background:var(--w-accent);color:#0e2238;font-weight:800;font-size:13px;border-radius:999px;padding:3px 10px;white-space:nowrap}
.w-sb-qs{display:flex;gap:4px;margin-top:2px}
.w-sb-qs i{width:12px;height:5px;border-radius:3px;background:rgba(255,255,255,.2)}
.w-sb-qs i.on{background:rgba(255,255,255,.75)}
.w-sb-qs i.now{background:var(--w-accent);box-shadow:0 0 8px var(--w-accent)}
/* ===== Stats ===== */
.w-h small{font-size:14px;font-weight:600;color:var(--w-muted);margin-left:auto}
.w-dot{width:10px;height:10px;border-radius:50%;background:var(--w-live);box-shadow:0 0 0 4px rgba(214,40,40,.25);animation:wPulse 1.6s infinite}
@keyframes wPulse{50%{box-shadow:0 0 0 8px rgba(214,40,40,0)}}
@media(prefers-reduced-motion:reduce){.w-dot{animation:none}}
.w-h3{font-size:17px;margin:22px 0 10px;color:var(--w-muted);text-transform:uppercase;letter-spacing:.06em}
.w-empty{background:var(--w-card);border:1px dashed var(--w-line);border-radius:14px;padding:22px;text-align:center;color:var(--w-muted)}
.w-glance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(min-width:720px){.w-glance{grid-template-columns:2fr 1fr 1fr 1fr}}
.w-gl{position:relative;overflow:hidden;background:var(--w-card);border:1px solid var(--w-line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:2px;min-width:0}
.w-gl b{font-size:30px;line-height:1.1;font-variant-numeric:tabular-nums}
.w-gl span:last-child{color:var(--w-muted);font-size:13px;font-weight:600}
.w-gl-i{position:absolute;right:10px;top:8px;font-size:26px;opacity:.35}
.w-gl-main{grid-column:1/-1;background:linear-gradient(135deg,var(--w-team),rgba(243,181,27,.18));border-color:transparent}
@media(min-width:720px){.w-gl-main{grid-column:auto}}
.w-gl-main b{font-size:40px}
.w-gl-main span:last-child{color:rgba(255,255,255,.85)}
.w-split{margin:12px 0 4px}
.w-split-bar{display:flex;height:14px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.08)}
.w-split-pass{background:var(--w-accent)}
.w-split-rush{background:#3fa7f5}
.w-split-lbl{display:flex;justify-content:space-between;gap:10px;margin-top:6px;font-size:13px;color:var(--w-muted);flex-wrap:wrap}
.w-split-lbl i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.w-k-pass{background:var(--w-accent)}.w-k-rush{background:#3fa7f5}
.w-leaders{display:grid;gap:10px;grid-template-columns:1fr}
@media(min-width:620px){.w-leaders{grid-template-columns:repeat(2,minmax(0,1fr))}}
.w-lead{display:flex;align-items:center;gap:12px;background:var(--w-card);border:1px solid var(--w-line);border-radius:16px;padding:12px 14px;min-width:0}
.w-lead>div{display:flex;flex-direction:column;min-width:0}
.w-lead small{color:var(--w-muted);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.w-lead b{font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.w-lead span{font-size:14px;color:var(--w-text);opacity:.85}
.w-jersey{flex:none;width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:19px;color:#fff;background:linear-gradient(160deg,var(--w-team),#0e2238);border:2px solid rgba(255,255,255,.2)}
.w-jersey-sm{width:34px;height:34px;font-size:14px;border-radius:9px}
.w-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px;margin:22px 0 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.w-tabs::-webkit-scrollbar{display:none}
.w-tab{flex:none;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--w-line);background:var(--w-card);color:var(--w-text);font:inherit;font-weight:700;font-size:15px;cursor:pointer;white-space:nowrap}
.w-tab.on{background:var(--w-accent);color:#0e2238;border-color:transparent}
.w-cat{background:var(--w-card);border:1px solid var(--w-line);border-radius:16px;padding:12px}
.w-cat-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px}
.w-ct{background:rgba(255,255,255,.05);border-radius:12px;padding:10px 6px;text-align:center;display:flex;flex-direction:column}
.w-ct b{font-size:22px;font-variant-numeric:tabular-nums}
.w-ct span{font-size:12px;color:var(--w-muted);font-weight:600}
.w-plist{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.w-prow{border-top:1px solid var(--w-line);padding-top:10px}
.w-prow-top{display:flex;align-items:center;gap:10px;min-width:0}
.w-prow-top b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.w-bar{height:6px;border-radius:999px;background:rgba(255,255,255,.08);margin:8px 0 6px;overflow:hidden}
.w-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--w-accent),#ffd76a)}
.w-pstats{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--w-muted)}
.w-pstats b{color:var(--w-text);font-size:15px;margin-right:4px;font-variant-numeric:tabular-nums}
.w-glance{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:719px){.w-gl{padding:12px 10px}.w-gl b{font-size:26px}.w-gl-i{font-size:20px;right:6px;top:6px}}
@media(min-width:720px){.w-glance{grid-template-columns:2fr 1fr 1fr 1fr}}
.w-banner{align-items:stretch}
.w-sb-team{justify-content:space-between}
.w-sb-name{flex:1;display:-webkit-box;align-content:center}
