:root{
  --navy:#061529;
  --navy2:#0b2343;
  --blue:#0f4c81;
  --ice:#dcecff;
  --white:#ffffff;
  --red:#e23b3b;
  --gold:#ffd166;
  --green:#37d67a;
  --muted:#9fb7d7;
  --card:rgba(255,255,255,.075);
  --line:rgba(255,255,255,.16);
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:radial-gradient(circle at top left,var(--blue),var(--navy) 42%,#020812);color:var(--white)}
.page-shell{min-height:100vh;padding:24px;display:flex;flex-direction:column;gap:18px}
.hero{display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid var(--red);padding-bottom:14px;gap:18px}
.kicker{text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-size:15px;font-weight:800}
h1{margin:4px 0 0;font-size:46px;line-height:1;text-transform:uppercase;letter-spacing:.04em}
.subtitle{font-size:24px;color:var(--ice);font-weight:700;margin-top:6px}
.live-panel{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 18px;min-width:170px;justify-content:center;text-align:left}
.live-dot{width:16px;height:16px;border-radius:50%;background:var(--red);box-shadow:0 0 18px var(--red)}
.match-summary{display:grid;grid-template-columns:1fr .72fr 1fr;gap:16px;align-items:stretch}
.team-total,.lead-box{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.055));border:1px solid var(--line);border-radius:18px;padding:18px;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.team-total .team{font-size:24px;text-transform:uppercase;font-weight:900;color:var(--ice)}
.team-total .score{font-size:54px;font-weight:900;letter-spacing:.03em;margin-top:6px}
.team-total.leading{outline:3px solid var(--green)}
.lead-box{display:flex;flex-direction:column;align-items:center;justify-content:center}
.lead-label{font-size:18px;text-transform:uppercase;color:var(--muted);font-weight:800;letter-spacing:.12em}
.lead-value{font-size:42px;font-weight:900;color:var(--gold);margin-top:4px}
.tv-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;flex:1}
.team-card{background:rgba(0,0,0,.18);border:1px solid var(--line);border-radius:18px;padding:16px;overflow:hidden}
.team-heading{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--red);padding-bottom:8px;margin-bottom:12px}
.team-heading h2{margin:0;text-transform:uppercase;font-size:32px;letter-spacing:.05em}
.team-heading .grand{font-size:30px;font-weight:900;color:var(--gold)}
.squad{background:var(--card);border:1px solid var(--line);border-radius:14px;margin:12px 0;overflow:hidden}
.squad-title{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:rgba(255,255,255,.08);font-weight:900;text-transform:uppercase;color:var(--ice);font-size:20px}
.squad-title .status{font-size:15px;color:var(--muted);text-transform:none}
.squad.winner{box-shadow:inset 5px 0 0 var(--green)}
.squad.loser{box-shadow:inset 5px 0 0 var(--red)}
table{width:100%;border-collapse:collapse}
th,td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.08);font-size:18px;text-align:left;white-space:nowrap}
th{font-size:13px;text-transform:uppercase;color:var(--muted);letter-spacing:.08em}
td.score-cell,th.score-cell{text-align:right;font-variant-numeric:tabular-nums;font-weight:800}
td.name{font-weight:800;max-width:270px;overflow:hidden;text-overflow:ellipsis}
.grade{display:inline-block;min-width:28px;text-align:center;border-radius:9px;background:rgba(255,255,255,.12);padding:3px 7px;font-weight:900}
.junior{color:var(--gold);font-weight:900;margin-left:6px}
.squad-total{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;font-size:20px;font-weight:900;color:var(--gold)}
footer{display:flex;justify-content:space-between;color:var(--muted);font-weight:700;font-size:15px;border-top:1px solid var(--line);padding-top:10px}
.mobile .page-shell{padding:12px;gap:12px}
.mobile .hero{align-items:flex-start;padding-bottom:10px}
.mobile h1{font-size:25px;line-height:1.05}.mobile .subtitle{font-size:16px}.mobile .kicker{font-size:11px}.mobile .live-panel{font-size:12px;min-width:auto;padding:8px;border-radius:12px}.mobile .live-dot{width:10px;height:10px}
.mobile-summary{grid-template-columns:1fr;gap:10px}.mobile .team-total,.mobile .lead-box{padding:12px}.mobile .team-total .team{font-size:18px}.mobile .team-total .score{font-size:36px}.mobile .lead-value{font-size:30px}.mobile-stack{display:block}.mobile .team-card{padding:12px;margin-bottom:14px}.mobile .team-heading h2{font-size:24px}.mobile .team-heading .grand{font-size:24px}.mobile .squad-title{font-size:17px}.mobile th,.mobile td{font-size:14px;padding:7px 5px}.mobile td.name{max-width:155px}.mobile .hide-mobile{display:none}.mobile footer{font-size:12px;display:block;text-align:center}
.error{background:#3a1020;border:1px solid var(--red);padding:18px;border-radius:16px;color:white;font-weight:800}
@media (max-width:900px){body:not(.tv) .match-summary{grid-template-columns:1fr}.tv h1{font-size:34px}.tv-grid{grid-template-columns:1fr}}
