:root{
  color-scheme:dark;
  --bg:#030712;--surface:rgba(8,18,36,.72);--surface2:rgba(255,255,255,.08);--line:rgba(255,255,255,.14);
  --text:#f7fbff;--muted:#9aaeca;--cyan:#42d8ff;--green:#35f2a2;--gold:#ffd166;--red:#ff6b7a;--violet:#9b7bff;
  --shadow:0 28px 100px rgba(0,0,0,.42);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;background:#030712;color:var(--text);overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 15% 12%,rgba(53,242,162,.22),transparent 28%),radial-gradient(circle at 85% 10%,rgba(66,216,255,.18),transparent 26%),radial-gradient(circle at 50% 100%,rgba(155,123,255,.18),transparent 32%),linear-gradient(135deg,#04111e,#071325 50%,#030712);z-index:-4}.pitch-lines{position:fixed;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,transparent,black 10%,black 80%,transparent);z-index:-3}.stadium-light{position:fixed;width:380px;height:380px;border-radius:999px;filter:blur(46px);opacity:.45;pointer-events:none;z-index:-2}.stadium-light.left{left:-110px;top:120px;background:var(--cyan)}.stadium-light.right{right:-120px;top:40px;background:var(--green)}
.wrap{width:min(1320px,calc(100% - 34px));margin:auto;padding:28px 0 86px}.card{background:linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.035));border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);backdrop-filter:blur(20px)}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--green);font-size:11px;font-weight:900}.btn{border:0;border-radius:16px;padding:13px 17px;font-weight:900;cursor:pointer;background:linear-gradient(135deg,var(--green),var(--cyan));color:#03121e;box-shadow:0 14px 36px rgba(53,242,162,.18);transition:transform .18s ease,opacity .18s ease}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.44;cursor:not-allowed;transform:none}.btn.secondary{background:rgba(255,255,255,.09);color:var(--text);border:1px solid var(--line);box-shadow:none}.input,select{width:100%;border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.25);color:var(--text);border-radius:16px;padding:13px 15px;font-size:15px;outline:none}.input:focus,select:focus{border-color:rgba(66,216,255,.8);box-shadow:0 0 0 4px rgba(66,216,255,.1)}
.login-hero{display:grid;grid-template-columns:1.35fr .65fr;gap:20px;min-height:calc(100vh - 90px);align-items:center}.hero-main{position:relative;overflow:hidden;padding:38px}.hero-main:after{content:"";position:absolute;right:-90px;top:-110px;width:300px;height:300px;border:44px solid rgba(255,255,255,.065);border-radius:999px}.h1{font-size:clamp(42px,7vw,86px);line-height:.88;margin:14px 0 18px;font-weight:1000;letter-spacing:-.06em}.sub{color:var(--muted);font-size:18px;line-height:1.65;max-width:780px}.rules-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}.rules-grid div{padding:16px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.055)}.rules-grid strong{display:block;font-size:34px;color:var(--gold)}.rules-grid span{color:var(--muted);font-size:13px}.login-card{padding:28px;position:relative}.login-card h2{font-size:30px;margin:8px 0}.ball-mark{width:60px;height:60px;border-radius:22px;display:grid;place-items:center;background:rgba(255,255,255,.09);font-size:30px;margin-bottom:18px}.field{display:flex;gap:10px;margin-top:18px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.brand{display:flex;gap:12px;align-items:center}.logo{width:50px;height:50px;border-radius:18px;background:linear-gradient(135deg,var(--green),var(--cyan));display:grid;place-items:center;color:#06111f;font-weight:1000;box-shadow:0 14px 45px rgba(53,242,162,.22)}.brand strong{font-size:18px}.top-actions{display:flex;gap:10px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat{padding:18px}.stat span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:900}.stat strong{display:block;font-size:26px;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat small{color:var(--green)}
.admin-panel{padding:20px;margin-bottom:18px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-block{padding:18px;border-radius:22px;background:rgba(255,255,255,.055);border:1px solid var(--line)}.admin-block.highlight{background:linear-gradient(135deg,rgba(53,242,162,.12),rgba(66,216,255,.08))}.admin-block h2{margin:8px 0 8px}.admin-details{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.admin-details summary{cursor:pointer;font-weight:900}.user-admin{margin-top:12px}.user-row{display:grid;grid-template-columns:1.2fr .55fr 1fr auto;gap:10px;margin:10px 0;align-items:center}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:18px}.section-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin:6px 0 12px}.section-title{font-size:24px;margin:0}.matches{display:grid;gap:16px}.match{position:relative;overflow:hidden;padding:20px;transition:transform .2s ease,border-color .2s ease}.match:hover{transform:translateY(-2px);border-color:rgba(66,216,255,.33)}.match-glow{position:absolute;inset:auto -80px -140px auto;width:260px;height:260px;border-radius:999px;background:rgba(66,216,255,.13);filter:blur(30px);pointer-events:none}.match.finished .match-glow{background:rgba(53,242,162,.16)}.match.live .match-glow{background:rgba(255,107,122,.16)}.match-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.venue{color:var(--muted);font-size:12px;margin-left:8px}.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--muted);font-size:12px;font-weight:850}.stage-chip{color:#d8f7ff;background:rgba(66,216,255,.08)}.gold-chip{color:#1d1500;background:linear-gradient(135deg,#ffe29a,#ffd166);border-color:transparent}.green-chip{color:#042014;background:rgba(53,242,162,.22);border-color:rgba(53,242,162,.35)}.blue-chip{color:#061827;background:rgba(66,216,255,.22);border-color:rgba(66,216,255,.35)}.red-chip{color:#2b0308;background:rgba(255,107,122,.3);border-color:rgba(255,107,122,.42)}.muted-chip{background:rgba(255,255,255,.07)}.status{padding:8px 12px;border-radius:999px;font-weight:950;text-transform:uppercase;font-size:11px;background:rgba(66,216,255,.12);color:#b9efff;border:1px solid rgba(66,216,255,.22)}.status.finished{background:rgba(53,242,162,.14);color:#aeffd8;border-color:rgba(53,242,162,.24)}.status.live{background:rgba(255,107,122,.16);color:#ffc4cb;border-color:rgba(255,107,122,.25)}.teams{display:grid;grid-template-columns:1fr 120px 1fr;gap:16px;align-items:center}.team{display:flex;gap:12px;align-items:center;font-size:23px;font-weight:1000;letter-spacing:-.02em}.team.away{justify-content:flex-end;text-align:right}.crest{flex:0 0 44px;height:44px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.06));border:1px solid var(--line);font-weight:1000;color:#eafcff}.scorebox{display:flex;justify-content:center;align-items:center;gap:8px;font-size:28px;font-weight:1000}.scorebox span{min-width:44px;text-align:center;padding:9px 8px;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}.match-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px;color:var(--muted);font-size:12px}.match-meta span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}.predict-card{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:16px;padding:14px;border-radius:20px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.1)}.predict-controls{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.score-input{width:72px;text-align:center;font-weight:900}.emergency{margin-top:12px;color:var(--muted);font-size:13px}.emergency summary{cursor:pointer}.emergency-controls{margin-top:10px}.prediction-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:12px}.prediction-list>span{display:inline-flex;gap:7px;align-items:center;padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09)}
.leader{padding:20px;position:sticky;top:18px;height:max-content}.rank{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:12px;border-radius:20px;margin-bottom:9px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}.rank.champion{background:linear-gradient(135deg,rgba(255,209,102,.22),rgba(255,255,255,.055));border-color:rgba(255,209,102,.35)}.place{width:30px;height:30px;border-radius:12px;background:rgba(255,255,255,.08);display:grid;place-items:center;font-weight:950}.rank-user{display:flex;gap:10px;align-items:center;min-width:0}.avatar{width:40px;height:40px;border-radius:15px;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.06));border:1px solid var(--line);display:grid;place-items:center;font-weight:1000}.points{font-size:26px;font-weight:1000;color:var(--gold)}.toast{position:fixed;right:18px;bottom:18px;max-width:380px;padding:14px 16px;background:#0b1728;border:1px solid rgba(255,255,255,.16);border-radius:18px;box-shadow:0 14px 60px rgba(0,0,0,.45);z-index:20}
@media(max-width:980px){.login-hero,.layout,.admin-grid,.stats{grid-template-columns:1fr}.leader{position:static}.rules-grid{grid-template-columns:1fr 1fr}.teams{grid-template-columns:1fr}.team.away{justify-content:flex-start;text-align:left}.scorebox{justify-content:flex-start}.predict-card{align-items:flex-start;flex-direction:column}.topbar{align-items:flex-start;flex-direction:column}.field{flex-direction:column}.user-row{grid-template-columns:1fr}}
@media(max-width:560px){.wrap{width:min(100% - 20px,1320px);padding-top:16px}.hero-main,.login-card,.match,.admin-panel,.leader{border-radius:22px;padding:16px}.rules-grid{grid-template-columns:1fr}.h1{font-size:42px}.score-input{width:64px}.team{font-size:19px}.stats{gap:10px}.stat strong{font-size:21px}}

/* Responsive match controls and mobile-first improvements */
.layout>main{grid-column:1;grid-row:1}.layout>.leader{grid-column:2;grid-row:1}
.match-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;margin-bottom:14px;border-radius:22px}.match-toolbar strong{display:block;font-size:18px}.match-toolbar .muted{display:block;font-size:12px;margin-top:3px}.toolbar-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.btn.compact{padding:10px 12px;border-radius:13px;font-size:13px}.bottom-more{display:flex;justify-content:center;margin-top:16px}.bottom-more .btn{min-width:min(100%,320px)}
.all-preds{margin-top:12px;border-top:1px solid rgba(255,255,255,.08);padding-top:12px}.all-preds summary{cursor:pointer;font-weight:900;color:#d8f7ff;list-style:none}.all-preds summary::-webkit-details-marker{display:none}.all-preds summary:after{content:'+';display:inline-grid;place-items:center;width:22px;height:22px;margin-left:8px;border-radius:999px;background:rgba(255,255,255,.08);color:var(--green)}.all-preds[open] summary:after{content:'–'}
.prediction-list .chip{padding:4px 7px;font-size:10px}.prediction-list>span{max-width:100%;white-space:nowrap}.match-toolbar+.matches{margin-top:0}
@media(max-width:980px){.layout>main,.layout>.leader{grid-column:auto;grid-row:auto}.layout>.leader{order:-1}.match-toolbar{align-items:flex-start;flex-direction:column}.toolbar-actions{justify-content:flex-start;width:100%}.toolbar-actions .btn{flex:1;min-width:145px}.section-head{align-items:flex-start;flex-direction:column}.leader{margin-bottom:2px}.matches{gap:14px}}
@media(max-width:560px){.top-actions,.toolbar-actions,.predict-controls{width:100%}.top-actions .btn,.toolbar-actions .btn{flex:1}.predict-controls .btn{width:100%}.predict-controls .chip{margin-top:2px}.match-head{align-items:flex-start;flex-direction:column}.venue{display:block;margin:8px 0 0}.match-meta span{width:100%;border-radius:14px}.prediction-list{display:grid;grid-template-columns:1fr;gap:7px}.prediction-list>span{border-radius:14px;justify-content:space-between}.scorebox{font-size:24px}.scorebox span{min-width:40px}.stats{grid-template-columns:1fr 1fr}.stat{padding:14px;border-radius:20px}.brand{width:100%}.logo{flex:0 0 50px}}

.version-badge{display:inline-flex;margin-top:6px;padding:4px 9px;border-radius:999px;background:rgba(43,255,175,.14);border:1px solid rgba(43,255,175,.28);color:#c8ffe8;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}


/* v5: keep teams and match score on one readable line on phones */
.teams{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.team{min-width:0;overflow:hidden}.team-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team.away .team-name{text-align:right}.scorebox{flex:0 0 auto;white-space:nowrap}.scorebox b{line-height:1}
@media(max-width:980px){.teams{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px}.team.away{justify-content:flex-end;text-align:right}.scorebox{justify-content:center}.team{font-size:20px}.crest{flex-basis:38px;width:38px;height:38px;border-radius:14px}.scorebox span{min-width:36px;padding:8px 6px}}
@media(max-width:560px){.teams{gap:7px}.team{gap:7px;font-size:15px;letter-spacing:-.04em}.crest{flex-basis:32px;width:32px;height:32px;border-radius:12px;font-size:13px}.scorebox{font-size:18px;gap:4px}.scorebox span{min-width:28px;padding:7px 5px;border-radius:12px}.match{padding:14px}.match-head{margin-bottom:12px}}
@media(max-width:380px){.team{font-size:14px}.crest{display:none}.scorebox span{min-width:26px;padding:6px 4px}}
