/* Worlds 2026: dark broadcast / trophy / arena design. No JS framework required. */
:root{color-scheme:dark;--bg:#060b1a;--panel:#101b33;--panel2:#152340;--panel-hi:#1a2b49;--line:#2b3d61;--muted:#a8b8d3;--ink:#f4f8ff;--mint:#58ddff;--gold:#e6bd70;--violet:#987aff;--red:#f47e91;--blue:#286ceb}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse 70% 50% at 85% -15%,#152e69 0%,transparent 78%),var(--bg);color:var(--ink);font:15px/1.55 system-ui,-apple-system,'Segoe UI',sans-serif;min-height:100vh}button,input,select,textarea{font:inherit}a{color:var(--mint)}button{font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--mint);outline-offset:3px}::selection{background:#2366ac;color:#fff}
.sidebar{position:fixed;z-index:10;inset:0 auto 0 0;width:255px;padding:30px 18px 18px;background:linear-gradient(180deg,#0e1932,#081021 90%);border-right:1px solid #243753;display:flex;flex-direction:column;box-shadow:12px 0 42px #01030d66}
.brand{display:flex;align-items:center;gap:10px;color:white;text-decoration:none;padding:3px 10px 25px}.brand-symbol{display:grid;place-items:center;width:43px;height:43px;border:1px solid #6daace;border-radius:11px;background:radial-gradient(circle at 30% 20%,#38639b,#131e3b);color:#a4eaff;font:34px Georgia,serif;box-shadow:0 0 22px #3c95ff39}.brand>span:last-child{font-family:Impact,'Arial Narrow',system-ui,sans-serif;font-size:24px;letter-spacing:1.3px;line-height:1}.brand small{display:block;color:#9aaccd;font:600 8px/2 system-ui,sans-serif;letter-spacing:1.35px}.nav-caption{font-size:10px;letter-spacing:2.2px;color:#7189b1;margin:17px 15px 12px;font-weight:800}
nav{display:grid;gap:5px}nav button{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:transparent;color:#b5c5e0;border:1px solid transparent;border-radius:9px;padding:12px 13px;font-weight:650;font-size:13px;transition:background .18s,transform .18s,color .18s}nav button:hover{background:#1b2d4c;color:white;transform:translateX(2px)}nav button.active{background:linear-gradient(105deg,#173f65,#172d51);border-color:#296b9d;color:#c0efff;box-shadow:inset 3px 0 0 var(--mint),0 5px 25px #051729}#extras-nav{padding-left:9px;border-left:1px solid var(--line);margin-left:17px}.sidebar-foot{margin-top:auto;padding:16px 12px;border-top:1px solid #233451;color:#c3d4ed;position:relative}.sidebar-foot .season-mark{font:90px/.9 Impact,'Arial Narrow',sans-serif;color:#24456b;position:absolute;right:5px;bottom:5px;opacity:.35;pointer-events:none}.sidebar-foot strong{display:block;position:relative;font:20px/1.1 Impact,'Arial Narrow',sans-serif;letter-spacing:1px}.sidebar-foot p{position:relative;font-size:11px;line-height:1.8;color:#97a9c5;margin-bottom:0}
main{margin-left:255px;padding:0 40px 28px;max-width:1800px;min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:82px;border-bottom:1px solid #284161;font-size:11px;letter-spacing:1.3px;color:#afc2e2}.topbar-actions{display:flex;align-items:center;gap:14px}.topbar .pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px #58ddff99}.topbar-brand{display:flex;align-items:center;gap:12px}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:800}.eyebrow b{color:var(--mint)}#connection{border:1px solid #395175;border-radius:100px;padding:7px 10px;color:#c0d5f0;letter-spacing:.9px;font-size:9px}
h1,h2,h3{color:var(--ink)}h1{font:clamp(44px,5.4vw,82px)/.98 Impact,'Arial Narrow','Segoe UI',sans-serif;letter-spacing:.8px;text-transform:uppercase;margin:16px 0 20px}h2{font:26px/1.2 Impact,'Arial Narrow',system-ui,sans-serif;letter-spacing:.7px;margin:0 0 12px}h3{font-size:17px;font-weight:750;line-height:1.3;margin:0 0 12px}p{color:var(--muted);line-height:1.7}em{font-style:normal;color:#80e3ff;text-shadow:0 0 36px #00bdff40}
.hero{min-height:280px;position:relative;isolation:isolate;padding:38px 40px 35px;overflow:hidden;margin:27px 0 26px;border:1px solid #2b548a;border-radius:15px;background:linear-gradient(90deg,#060e27 0%,#0a1531f0 38%,#09225e90 100%),url('/static/media/arena.webp') center 45%/cover no-repeat;box-shadow:0 24px 65px #0006,inset 0 1px 0 #6ab5f94a}.hero:after{content:'';position:absolute;inset:auto -5% 0;height:4px;background:linear-gradient(90deg,transparent,#2986f7,#91ecff,transparent);opacity:.9}.hero-content,.hero>*{position:relative}.hero p{max-width:610px;color:#c3d5ee;font-size:15px;margin:0}.landing-hero{min-height:490px;display:flex;align-items:center;padding:42px 5.5%;background:linear-gradient(90deg,#060c20 0%,#07122de7 39%,#0617384d 100%),url('/static/media/arena.webp') center/cover no-repeat}.landing-hero h1{font-size:clamp(65px,9vw,130px);line-height:.93}.landing-hero p{font-size:16px;max-width:530px}.hero-watermark{position:absolute!important;right:4%;bottom:-30px;opacity:.16;color:#dff6ff;font:180px/1 Impact,'Arial Narrow',sans-serif;letter-spacing:-12px;pointer-events:none}.hero-watermark span{color:var(--mint)}.hero-actions{align-items:center;margin-top:30px}.hero-secondary{font-size:12px;color:#bacce3}.intro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.intro-card{padding:26px;background:linear-gradient(130deg,#10213d,#0b1427);border:1px solid var(--line);border-radius:12px}.intro-card>span{color:var(--mint);font-size:11px;font-weight:800;letter-spacing:1.7px}.intro-card h2{margin-top:12px}.intro-card p{font-size:13px;margin-bottom:0}
.pill{display:inline-block;font-size:10px;letter-spacing:1.6px;font-weight:850;border:1px solid #4693c6;color:#b0eaff;background:#12315f7b;padding:7px 12px;border-radius:100px;text-transform:uppercase}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0 28px}.stat,.panel,.card{background:linear-gradient(155deg,#13223e,#0e1a30);border:1px solid #304665;border-radius:13px;padding:23px;box-shadow:0 10px 28px #03081847}.stat{position:relative;overflow:hidden}.stat:before{content:'';position:absolute;right:-20px;top:-50px;width:100px;height:100px;border-radius:50%;background:#2d84fd22;filter:blur(22px)}.stat strong{display:block;font:38px/1.1 Impact,'Arial Narrow',sans-serif;letter-spacing:.5px;color:#8eeaff;margin-top:13px}.stat span{font-size:11px;color:#b5c8e4;letter-spacing:.6px;text-transform:uppercase;font-weight:750}.panel{margin:18px 0}.card{position:relative;overflow:hidden;transition:border-color .18s,transform .18s,box-shadow .18s}.card:hover{border-color:#4386c2;transform:translateY(-2px);box-shadow:0 15px 36px #0307158a}.card .tag{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold);font-weight:800}.matchup{font:24px/1.15 Impact,'Arial Narrow',system-ui,sans-serif;letter-spacing:.3px;margin:22px 0 14px;min-height:67px;display:flex;flex-direction:column;gap:5px}.matchup span{color:#81a0cb;font:750 10px/1.5 system-ui,sans-serif;letter-spacing:2px;text-transform:uppercase}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}button,.button{cursor:pointer;border:1px solid #64c7fc;border-radius:7px;padding:10px 16px;background:linear-gradient(110deg,#78e6ff,#389fff);color:#031731;font-weight:800;font-size:13px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:filter .18s,transform .18s,box-shadow .18s}button:hover,.button:hover{filter:brightness(1.12);box-shadow:0 3px 18px #36c4ff45}button:active,.button:active{transform:translateY(1px)}button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.quiet{color:#d9e9ff;border-color:#476082;background:#152440}.quiet:hover{background:#20375b}.gold{background:linear-gradient(90deg,#e4b465,#ffe5ae);border-color:#d9bd80;color:#1d1607}.muted,small{color:var(--muted)}label{display:block;margin:15px 0 6px;font-size:12px;color:#d1dcf0;font-weight:700}input,select,textarea{background:#08152b;border:1px solid #425c7d;border-radius:7px;color:var(--ink);padding:11px;width:100%}input[type=checkbox]{width:auto}textarea{min-height:140px;font:13px/1.5 ui-monospace,monospace}form button{margin-top:16px}table{width:100%;border-collapse:collapse;font-size:13px}td,th{padding:14px 11px;border-bottom:1px solid var(--line);text-align:left}tr:hover td{background:#243e5e29}th{color:#b1c1dc;font-size:10px;text-transform:uppercase;letter-spacing:1.3px}.scroll{overflow:auto}.rank{color:var(--gold);font-weight:800}.positive{color:#81edc7}.negative{color:var(--red)}footer{font-size:10px;color:#829ac0;letter-spacing:.3px;margin:55px 0 0;border-top:1px solid #213754;padding:21px 0;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}footer b{color:#abdbf9}#toast{position:fixed;bottom:22px;right:22px;background:#c3f3ff;color:#0b233c;max-width:440px;padding:15px 20px;border-radius:9px;z-index:20;box-shadow:0 12px 50px #000a}#toast.error{background:#ffc7ce}dialog{width:min(680px,94vw);max-height:90vh;background:#111d35;color:var(--ink);border:1px solid #5578a7;border-radius:15px;padding:28px;box-shadow:0 20px 70px #0008}dialog::backdrop{background:#000d;backdrop-filter:blur(5px)}dialog .close{float:right}pre{white-space:pre-wrap;word-break:break-word;background:#071328;border:1px solid #284265;border-radius:8px;padding:15px;max-height:420px;overflow:auto;font-size:12px}.bingo{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.bingo div{border:1px solid var(--line);padding:14px;font-size:12px;min-height:90px}.bingo .marked{background:#1b5363;color:#85e9ff}.progress{height:8px;background:#203754;border-radius:10px;margin:20px 0}.progress i{display:block;height:100%;background:linear-gradient(90deg,#4a9aff,#9aedff);border-radius:10px}.section-title{margin:35px 0 18px}.empty{border:1px dashed #4d6688;padding:28px;color:var(--muted);border-radius:10px}.game-no{font:56px/1 Impact,sans-serif;color:#305580;font-weight:800;position:absolute;right:18px;top:12px;opacity:.7}details summary{cursor:pointer;color:#82ddff}.badge{display:inline-block;margin:4px;padding:8px 12px;border:1px solid #9f8254;color:#ffe3a3;border-radius:20px}.review{padding:12px 0;border-bottom:1px solid var(--line)}.loading{display:flex;gap:15px;align-items:center;color:#b9d5f2}.loader{width:19px;height:19px;border:2px solid #4c6583;border-top-color:var(--mint);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
/* Tournament guide — informative only. Markets open only from the validated database import. */
.tournament-head{display:flex;gap:14px;align-items:start;justify-content:space-between;flex-wrap:wrap}.data-status{display:inline-flex;gap:7px;align-items:center;background:#142c4b;color:#a0dffb;border:1px solid #3275aa;border-radius:100px;padding:7px 12px;font-size:10px;font-weight:800;letter-spacing:.9px}.stage-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 26px}.stage-tile{padding:17px;background:linear-gradient(145deg,#132a50,#0c1932);border:1px solid #365c87;border-radius:10px}.stage-tile strong{display:block;font:22px Impact,'Arial Narrow',sans-serif}.stage-tile small{font-size:11px;color:#abc2df}.guide-card{display:flex;flex-direction:column;gap:10px}.guide-card .guide-teams{display:flex;align-items:center;justify-content:space-between;gap:8px;font:22px Impact,'Arial Narrow',sans-serif}.guide-card .guide-teams>span:nth-child(2){font:10px system-ui,sans-serif;color:#7e9ec9}.guide-time{color:#bed4ee;font-size:12px}.guide-notice{border-left:3px solid #69d1f4;padding:14px 18px;background:#102847a6;color:#c3dbf0;font-size:12px;margin:12px 0 24px}.team-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.team-line{display:flex;justify-content:space-between;gap:8px;align-items:start;flex-wrap:wrap}.team-code{font:25px Impact,'Arial Narrow',sans-serif;color:#a2e7ff}.team-meta{display:block;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}.lineup{font-size:12px;color:#b3c9e8;line-height:1.9;margin-top:12px}.source-link{font-size:11px}.game-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.game-shortcuts button{background:#1b3e64;color:#d8f0ff;border-color:#457da9}
[hidden]{display:none!important}@media(max-width:1150px){.sidebar{width:210px;padding:23px 10px}main{margin-left:210px;padding:0 24px 20px}.grid,.team-list{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{padding:31px}}
@media(max-width:760px){.sidebar{position:relative;width:auto;padding:13px 13px 10px;box-shadow:none;border-right:0;border-bottom:1px solid #345273}.brand{padding:0 5px 10px}.brand-symbol{width:33px;height:33px;font-size:27px}.brand>span:last-child{font-size:21px}.nav-caption,.sidebar-foot{display:none}nav{display:flex;overflow-x:auto;overscroll-behavior-inline:contain;margin-top:5px;gap:5px;padding-bottom:4px;scrollbar-width:thin}nav button{flex:0 0 auto;width:auto;white-space:nowrap;font-size:11px;padding:9px 11px;gap:6px}#extras-nav{display:flex;gap:3px;padding-left:0;margin-left:0;border:0}main{margin-left:0;padding:0 14px 15px}.topbar{min-height:63px}.eyebrow{font-size:9px;letter-spacing:1px}#connection{display:none}.hero{min-height:260px;padding:29px 22px;margin:15px 0 20px}.landing-hero{min-height:480px}h1{font-size:clamp(39px,10vw,62px)}.landing-hero h1{font-size:clamp(64px,13vw,93px)}.hero-watermark{font-size:120px}.grid,.two,.intro-grid,.team-list{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat,.panel,.card{padding:17px}.stat strong{font-size:29px}.stage-row{grid-template-columns:1fr 1fr}.stage-tile{padding:12px}.stage-tile strong{font-size:18px}.hero-secondary{display:block}.matchup{font-size:23px}.card:hover{transform:none}dialog{padding:19px}td,th{padding:11px 8px}.section-title{margin:28px 0 14px}footer{margin-top:35px}}
@media(max-width:380px){.stats,.stage-row{grid-template-columns:1fr}.topbar .eyebrow{font-size:8px}.hero{padding:23px 18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Atmospheric trophy treatment only on the public welcome page. */
.landing-hero:before{content:'';position:absolute;z-index:-1;right:-8%;top:-12%;width:55%;height:125%;background:url('/static/media/trophy.webp') 50% 44%/cover no-repeat;opacity:.33;mask-image:linear-gradient(to right,transparent 0%,#000 38%,#000 88%,transparent 100%);pointer-events:none}
@media(max-width:760px){.landing-hero:before{right:-30%;width:100%;opacity:.19}}

/* Team identities: editorial crests cached on this server. No hotlinked tracking. */
.brand-symbol img{display:block;width:31px;height:31px;object-fit:contain;filter:drop-shadow(0 0 10px #68cfff78)}
.team-logo{position:relative;display:inline-grid;place-items:center;flex:none;width:51px;height:51px;isolation:isolate;border:1px solid #53749e;border-radius:12px;background:radial-gradient(circle at 25% 15%,#304b6d,#0c1529 85%);box-shadow:inset 0 1px 0 #a7d4ff34,0 7px 20px #0006;overflow:hidden;vertical-align:middle}
.team-logo--large{width:73px;height:73px;border-radius:15px}
.team-logo--small{width:34px;height:34px;border-radius:9px}
.team-logo img{position:absolute;inset:9%;width:82%;height:82%;object-fit:contain;display:block;filter:drop-shadow(0 2px 3px #0008)}
.team-logo img[hidden]{display:none}
.team-logo-fallback{font:700 12px/1 system-ui,sans-serif;letter-spacing:.3px;color:#9ac1e1}
.team-logo--large .team-logo-fallback{font-size:15px}
.match-brand{margin:17px 0;min-height:110px;display:grid;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr);gap:8px;align-items:center}
.match-side{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;gap:9px}
.match-side strong{font:17px/1.15 Impact,'Arial Narrow',system-ui,sans-serif;letter-spacing:.6px;text-wrap:balance;overflow-wrap:anywhere}
.match-brand .versus{align-self:center;text-align:center;font:900 11px/1 system-ui,sans-serif;letter-spacing:1.4px;color:var(--gold)}
.guide-card .guide-brand{min-height:106px;align-items:center;gap:8px}
.guide-brand>div{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:0;flex:1}
.guide-brand strong{font:23px/1 Impact,'Arial Narrow',system-ui,sans-serif;letter-spacing:.8px}
.team-heading{display:flex;align-items:center;gap:15px;min-width:0}
.team-list .card{border-color:#33496b}
.team-list .card:hover{border-color:#ccae75}
.team-list .team-code{color:#d3e9ff}
.modal-match{display:flex;align-items:center;gap:11px;flex-wrap:wrap;padding:14px 0}
.modal-match>span:not(.team-logo){color:var(--gold);font-weight:850}
.modal-match strong{font-weight:750}
:root{--gold:#f0cb88}
.hero:before{content:'';position:absolute;pointer-events:none;z-index:-1;inset:0;background:radial-gradient(ellipse at 90% 10%,#84e0ff1c,transparent 50%),linear-gradient(100deg,transparent 70%,#e5bd7010)}
.section-title h2{margin:0}
@media(max-width:760px){.team-logo--large{width:60px;height:60px}.match-brand{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)}.match-side strong{font-size:16px}.team-heading{gap:10px}.guide-brand strong{font-size:20px}}

.team-logo.has-logo .team-logo-fallback{visibility:hidden}
