:root{--bg:#050409;--ink:#ffffff;--purple:#c44dff;--purple-deep:#7a1fff;--purple-glow:rgba(176,60,255,0.65);--green:#46ff2e;--green-deep:#16b80a;--green-glow:rgba(57,255,20,0.55);--track:rgba(255,255,255,0.07)}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%}body{font-family:Saira,system-ui,sans-serif;background:var(--bg);color:var(--ink);min-height:100vh;position:relative;overflow-x:hidden}.bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.bg:before{content:"";inset:0;background:radial-gradient(120% 90% at 50% 0,rgba(255,255,255,.04),transparent 55%),radial-gradient(140% 120% at 50% 50%,transparent 40%,#000 100%)}.bg:before,.bolt{position:absolute}.bolt{top:-10%;bottom:-10%;width:38%;filter:blur(2px);opacity:.9}.bolt.left{left:-6%;background:radial-gradient(60% 70% at 10% 50%,var(--purple-glow),transparent 70%),linear-gradient(110deg,rgba(176,60,255,.2),transparent 60%);-webkit-mask:linear-gradient(90deg,#000 30%,transparent);mask:linear-gradient(90deg,#000 30%,transparent);animation:flicker 7s infinite}.bolt.right{right:-6%;background:radial-gradient(60% 70% at 90% 50%,var(--green-glow),transparent 70%),linear-gradient(250deg,rgba(57,255,20,.18),transparent 60%);-webkit-mask:linear-gradient(270deg,#000 30%,transparent);mask:linear-gradient(270deg,#000 30%,transparent);animation:flicker 6s infinite reverse}.streak{position:absolute;width:2px;height:70%;top:15%;filter:blur(.4px);opacity:.55}.streak.p1{left:14%;background:linear-gradient(var(--purple),transparent);transform:rotate(8deg) skewX(-6deg);box-shadow:0 0 12px var(--purple);animation:zap 5s infinite}.streak.p2{left:5%;height:45%;top:30%;background:linear-gradient(transparent,var(--purple));transform:rotate(-10deg);box-shadow:0 0 10px var(--purple);animation:zap 8s 1s infinite}.streak.g1{right:13%;background:linear-gradient(var(--green),transparent);transform:rotate(-8deg) skewX(6deg);box-shadow:0 0 12px var(--green);animation:zap 6s .5s infinite}.streak.g2{right:6%;height:40%;top:22%;background:linear-gradient(transparent,var(--green));transform:rotate(10deg);box-shadow:0 0 10px var(--green);animation:zap 7s infinite}.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.scoreboard-page{z-index:2;min-height:100vh;justify-content:center;align-items:center;align-items:safe center;padding:clamp(16px,3vw,48px)}.scoreboard-page,.stage{position:relative;display:flex;flex-direction:column}.stage{width:100%;max-width:1180px;align-items:center;gap:clamp(14px,2vw,26px)}.title{text-align:center;line-height:.86}.title .lead{display:block;font-weight:700;font-size:clamp(26px,5vw,58px);letter-spacing:.04em;background:linear-gradient(180deg,#fff,#e6ebf2 30%,#98a2b3 52%,#c9d1de 70%,#f2f5fa);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:.4px rgba(255,255,255,.25);filter:drop-shadow(0 2px 0 rgba(0,0,0,.6))}.title .lead,.title .main{font-family:Saira Condensed,sans-serif;font-style:italic}.title .main{display:inline-flex;align-items:baseline;gap:.3em;flex-wrap:wrap;justify-content:center;font-weight:900;font-size:clamp(48px,11vw,132px);letter-spacing:.01em}.title .chrome{background:linear-gradient(180deg,#ffffff,#dfe5ee 16%,#aab2c2 40%,#7d8696 50%,#b9c1d0 60%,#ffffff 82%,#c8d0dd);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.18);filter:drop-shadow(0 3px 1px rgba(0,0,0,.7)) drop-shadow(0 0 18px rgba(255,255,255,.12))}.title .pct{background:linear-gradient(180deg,#f3d6ff,var(--purple) 55%,var(--purple-deep));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 22px var(--purple-glow))}.divider{display:flex;align-items:center;gap:14px;width:min(680px,80%)}.divider .line{flex:1 1;height:2px;border-radius:2px}.divider .line.l{background:linear-gradient(90deg,transparent,var(--purple));box-shadow:0 0 10px var(--purple-glow)}.divider .line.r{background:linear-gradient(90deg,var(--green),transparent);box-shadow:0 0 10px var(--green-glow)}.divider .star{font-size:18px;color:#fff;filter:drop-shadow(0 0 8px #fff)}.battle{display:flex;flex-direction:column;align-items:stretch;gap:clamp(18px,3.4vw,40px);width:100%}.battle,.card{position:relative}.card{--c:var(--purple);--c-deep:var(--purple-deep);--glow:var(--purple-glow);border:2px solid var(--c);border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.35));padding:clamp(18px,2.6vw,34px) clamp(20px,3vw,44px);box-shadow:0 0 2px var(--c),0 0 18px var(--glow),0 0 46px -6px var(--glow),inset 0 0 26px -8px var(--glow);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease}.card.gutter{--c:var(--green);--c-deep:var(--green-deep);--glow:var(--green-glow)}.card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(120% 80% at 50% -20%,color-mix(in srgb,var(--c) 14%,transparent),transparent 60%)}.card.leader{transform:scale(1.045);z-index:3;box-shadow:0 0 3px var(--c),0 0 28px var(--glow),0 0 80px -4px var(--glow),inset 0 0 40px -8px var(--glow);animation:hype 2.2s ease-in-out infinite}.card.loser{transform:scale(.97);opacity:.92}.crown{position:absolute;top:-2px;right:clamp(16px,4vw,48px);transform:translateY(-50%);display:inline-flex;gap:8px;padding:7px 16px 7px 12px;border-radius:999px;background:linear-gradient(90deg,var(--c-deep),var(--c));color:#fff;font-family:Saira Condensed,sans-serif;font-style:italic;font-weight:800;font-size:clamp(13px,1.5vw,18px);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 0 18px var(--glow),0 4px 14px rgba(0,0,0,.5);white-space:nowrap;animation:bob 2.2s ease-in-out infinite}.card-head,.crown{align-items:center}.card-head{display:flex;gap:clamp(12px,2vw,22px)}.avatar{flex-shrink:0;width:clamp(56px,7vw,92px);height:clamp(56px,7vw,92px);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--c) 55%,#000),#0a0a0f 78%);border:2px solid var(--c);box-shadow:0 0 16px var(--glow),inset 0 0 16px -4px var(--glow)}.avatar svg{width:60%;height:60%;stroke:var(--c);filter:drop-shadow(0 0 6px var(--glow))}.name-wrap{display:flex;flex-direction:column;gap:6px;flex:1 1;min-width:0}.team-name{font-weight:900;font-size:clamp(40px,8.5vw,104px);line-height:.82;letter-spacing:.01em;background:linear-gradient(180deg,#fff 0,color-mix(in srgb,var(--c) 30%,#fff) 35%,var(--c) 70%,var(--c-deep) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 16px var(--glow))}.milestone-tag,.team-name{font-family:Saira Condensed,sans-serif;font-style:italic;text-transform:uppercase}.milestone-tag{align-self:flex-start;padding:4px 26px;font-weight:800;font-size:clamp(13px,1.7vw,22px);letter-spacing:.1em;color:#fff;background:linear-gradient(90deg,var(--c-deep),var(--c));-webkit-clip-path:polygon(8% 0,92% 0,100% 50%,92% 100%,8% 100%,0 50%);clip-path:polygon(8% 0,92% 0,100% 50%,92% 100%,8% 100%,0 50%);box-shadow:0 0 14px var(--glow)}.card-body{margin-top:clamp(14px,2vw,24px);display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;grid-gap:clamp(14px,3vw,40px);gap:clamp(14px,3vw,40px)}.vsplit{width:1px;height:70%;background:linear-gradient(transparent,var(--c),transparent);box-shadow:0 0 8px var(--glow)}.donut{position:relative;width:clamp(130px,17vw,200px);aspect-ratio:1;margin:0 auto}.donut svg{width:100%;height:100%;transform:rotate(-90deg)}.donut .track{stroke:var(--track)}.donut .prog{stroke:var(--c);stroke-linecap:round;filter:drop-shadow(0 0 6px var(--glow));transition:stroke-dashoffset 1s cubic-bezier(.2,.8,.2,1)}.donut .pctval{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:Saira Condensed,sans-serif;font-weight:900;font-style:italic;font-size:clamp(44px,6.6vw,80px);line-height:1;color:#fff;white-space:nowrap;text-shadow:0 0 16px var(--glow);transform:translateY(-.02em)}.donut .pctval small{font-size:.46em;margin-left:.16em;font-weight:800}.count{text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px}.count .people{width:clamp(40px,5vw,58px);height:auto;stroke:var(--c);filter:drop-shadow(0 0 7px var(--glow));margin-bottom:4px}.count .big{font-weight:900;font-style:italic;font-size:clamp(48px,8vw,96px);line-height:.85;color:var(--c);text-shadow:0 0 18px var(--glow)}.count .big,.count .label{font-family:Saira Condensed,sans-serif}.count .label{font-weight:700;letter-spacing:.16em;font-size:clamp(11px,1.4vw,16px);color:rgba(255,255,255,.65);text-transform:uppercase;margin-top:4px}.count .total{font-size:clamp(26px,4vw,46px)}.count .total,.vs{font-family:Saira Condensed,sans-serif;font-weight:900;font-style:italic;color:#fff}.vs{z-index:5;font-size:clamp(40px,7vw,86px);text-shadow:0 0 10px #fff,0 0 26px var(--purple-glow),0 0 26px var(--green-glow);-webkit-text-stroke:1.5px rgba(0,0,0,.5)}.vs,.vs:before{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.vs:before{content:"";width:220%;height:220%;z-index:-1;background:conic-gradient(from 0deg,transparent 0 8%,rgba(255,255,255,.5) 9% 10%,transparent 11% 20%,rgba(255,255,255,.4) 21% 22%,transparent 23%);-webkit-mask:radial-gradient(closest-side,#000 0 30%,transparent 70%);mask:radial-gradient(closest-side,#000 0 30%,transparent 70%);animation:spin 16s linear infinite;opacity:.5}.foot{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:8px}.live-dot{width:8px;height:8px;border-radius:50%;background:#ff3b5c;box-shadow:0 0 8px #ff3b5c;animation:pulse 1.4s infinite}.notice{text-align:center;max-width:520px;line-height:1.5;color:rgba(255,255,255,.7);font-size:16px}.notice a{color:var(--purple)}@media (min-width:920px){.battle{flex-direction:row;align-items:stretch;gap:clamp(40px,7vw,120px)}.battle>.card{flex:1 1}.team-name{font-size:clamp(40px,5vw,76px)}}@media (min-width:920px) and (max-height:860px){.scoreboard-page{padding:clamp(10px,2vh,28px) clamp(16px,3vw,48px)}.stage{gap:clamp(8px,1.6vh,18px)}.title .lead{font-size:clamp(20px,4.5vh,44px)}.title .main{font-size:clamp(40px,11vh,104px)}.card{padding:clamp(12px,2.2vh,28px) clamp(20px,3vw,44px)}.card-body{margin-top:clamp(8px,1.6vh,20px)}.donut{width:clamp(104px,19vh,170px)}.count .big{font-size:clamp(40px,11vh,84px)}.team-name{font-size:clamp(36px,9vh,70px)}}.celebration{position:fixed;inset:0;z-index:50;pointer-events:none}.celebration.jenter{--c:var(--purple);--c-deep:var(--purple-deep);--glow:var(--purple-glow)}.celebration.gutter{--c:var(--green);--c-deep:var(--green-deep);--glow:var(--green-glow)}.takeover-flash{position:absolute;inset:0;background:radial-gradient(circle at 50% 44%,var(--glow),transparent 62%);animation:takeoverFlash 1.4s ease-out forwards}@keyframes takeoverFlash{0%{opacity:0}12%{opacity:.9}to{opacity:0}}.shockwave{position:absolute;left:50%;top:45%;width:12px;height:12px;transform:translate(-50%,-50%);border-radius:50%;border:3px solid var(--c);box-shadow:0 0 40px var(--glow),inset 0 0 20px var(--glow);animation:shockwave 1.2s cubic-bezier(.2,.7,.3,1) forwards}.shockwave.two{animation-delay:.16s}@keyframes shockwave{0%{width:12px;height:12px;opacity:.85}to{width:175vmax;height:175vmax;opacity:0;border-width:1px}}.confetti-layer{position:absolute;inset:0;overflow:hidden}.confetti{position:absolute;top:-8vh;border-radius:2px;opacity:0;animation:confettiFall var(--dur,2.6s) cubic-bezier(.25,.6,.4,1) var(--delay,0s) forwards}.confetti.a{background:var(--c);box-shadow:0 0 10px var(--glow)}.confetti.b{background:color-mix(in srgb,var(--c) 55%,#fff)}.confetti.c{background:#fff;box-shadow:0 0 8px var(--glow)}@keyframes confettiFall{0%{transform:translate3d(0,-10vh,0) rotate(0);opacity:0}8%{opacity:1}85%{opacity:1}to{transform:translate3d(var(--drift,0),114vh,0) rotate(var(--rot,1turn));opacity:0}}.takeover-banner{text-align:center;white-space:nowrap;z-index:60;animation:bannerPop 2.7s cubic-bezier(.2,.8,.2,1) forwards}.takeover-banner,.takeover-banner:before{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.takeover-banner:before{content:"";width:135%;height:240%;z-index:-1;background:radial-gradient(ellipse at center,rgba(0,0,0,.62),transparent 70%);filter:blur(12px)}.takeover-banner .tb-team{font-weight:900;text-transform:uppercase;font-size:clamp(40px,10vw,100px);line-height:.86;letter-spacing:.01em;max-width:94vw;background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--c) 40%,#fff) 45%,var(--c));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 26px var(--glow)) drop-shadow(0 0 6px var(--c))}.takeover-banner .tb-team,.takeover-banner .tb-text{display:block;font-family:Saira Condensed,sans-serif;font-style:italic}.takeover-banner .tb-text{margin-top:2px;font-weight:800;font-size:clamp(20px,3.6vw,42px);letter-spacing:.16em;color:#fff;text-shadow:0 0 18px var(--glow)}@keyframes bannerPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(-3deg)}10%{opacity:1;transform:translate(-50%,-50%) scale(1.08) rotate(0)}18%{transform:translate(-50%,-50%) scale(.98)}24%{transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.06)}}.card.takeover{animation:takeoverPop 1.25s cubic-bezier(.2,.8,.2,1)}@keyframes takeoverPop{0%{transform:scale(1.045)}22%{transform:scale(1.13);box-shadow:0 0 6px var(--c),0 0 70px var(--glow),0 0 180px var(--glow),inset 0 0 80px -4px var(--glow)}60%{transform:scale(1.04)}to{transform:scale(1.045)}}.sound-toggle{position:fixed;left:16px;bottom:16px;z-index:70;display:inline-flex;align-items:center;gap:8px;font-family:Saira,sans-serif;font-weight:600;font-size:14px;letter-spacing:.02em;color:rgba(255,255,255,.85);padding:9px 15px;border-radius:999px;cursor:pointer;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:filter .15s ease,border-color .15s ease}.sound-toggle:hover{filter:brightness(1.3);border-color:rgba(255,255,255,.4)}.sound-toggle span{font-size:16px;line-height:1}.admin{position:relative;z-index:2;max-width:880px;margin:0 auto;padding:clamp(24px,5vw,56px) clamp(16px,4vw,32px) 80px}.admin h1{font-family:Saira Condensed,sans-serif;font-weight:900;font-style:italic;font-size:clamp(34px,6vw,56px);letter-spacing:.02em;text-transform:uppercase;background:linear-gradient(180deg,#fff,#aab2c2);-webkit-background-clip:text;background-clip:text;color:transparent}.admin .sub{color:rgba(255,255,255,.5);margin-top:4px;letter-spacing:.04em}.admin .topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:28px}.admin .topbar .actions{display:flex;gap:10px;flex-wrap:wrap}.panel{border:1px solid rgba(255,255,255,.12);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.25));padding:clamp(18px,3vw,28px);margin-bottom:20px}.panel.team-jenter{border-color:var(--purple);box-shadow:0 0 24px -8px var(--purple-glow)}.panel.team-gutter{border-color:var(--green);box-shadow:0 0 24px -8px var(--green-glow)}.panel h2{font-family:Saira Condensed,sans-serif;font-weight:900;font-style:italic;font-size:clamp(26px,4vw,40px);text-transform:uppercase;letter-spacing:.02em;margin-bottom:16px}.panel.team-jenter h2{color:var(--purple);text-shadow:0 0 16px var(--purple-glow)}.panel.team-gutter h2{color:var(--green);text-shadow:0 0 16px var(--green-glow)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}input.inp{font-family:Saira,sans-serif;font-size:18px;background:rgba(0,0,0,.4);color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:11px 14px;width:130px}input.inp:focus{outline:none;border-color:#fff}button.btn{font-family:Saira,sans-serif;font-weight:600;font-size:15px;cursor:pointer;border-radius:10px;padding:11px 18px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;transition:filter .15s ease,transform .05s ease}button.btn:hover{filter:brightness(1.25)}button.btn:active{transform:translateY(1px)}button.btn.primary{background:linear-gradient(90deg,var(--purple-deep),var(--purple));border-color:transparent}button.btn.ghost{background:transparent}button.btn.danger{border-color:rgba(255,80,100,.5);color:#ff8093}.stepper{display:flex;align-items:center;gap:16px;margin:8px 0 14px}.stepper button{width:58px;height:58px;border-radius:14px;font-size:30px;font-weight:700;display:grid;place-items:center;cursor:pointer;color:#fff;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);transition:filter .15s ease,transform .05s ease}.stepper button:hover{filter:brightness(1.3)}.stepper button:active{transform:translateY(1px)}.panel.team-jenter .stepper button{border-color:var(--purple)}.panel.team-gutter .stepper button{border-color:var(--green)}.stepper .display{font-family:Saira Condensed,sans-serif;font-weight:900;font-style:italic;font-size:clamp(40px,7vw,64px);line-height:1;min-width:120px;text-align:center}.panel.team-jenter .stepper .display{color:var(--purple);text-shadow:0 0 18px var(--purple-glow)}.panel.team-gutter .stepper .display{color:var(--green);text-shadow:0 0 18px var(--green-glow)}.stepper .display span{color:rgba(255,255,255,.45);font-size:.5em}.pct-readout{font-size:15px;color:rgba(255,255,255,.6)}.pct-readout b{color:#fff;font-size:18px}.login{position:relative;z-index:2;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login form{width:100%;max-width:360px;text-align:center;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.3));padding:36px 28px;box-shadow:0 0 50px -20px var(--purple-glow)}.login h1{font-family:Saira Condensed,sans-serif;font-style:italic;font-weight:900;font-size:34px;text-transform:uppercase;margin-bottom:6px}.login p{color:rgba(255,255,255,.5);margin-bottom:22px;font-size:14px}.login input{width:100%;margin-bottom:14px}.login button{width:100%}.err{color:#ff8093;font-size:14px;margin-top:12px;min-height:18px}.ok{color:#46ff2e}@keyframes hype{0%,to{box-shadow:0 0 3px var(--c),0 0 26px var(--glow),0 0 70px -6px var(--glow),inset 0 0 36px -10px var(--glow)}50%{box-shadow:0 0 4px var(--c),0 0 40px var(--glow),0 0 110px -2px var(--glow),inset 0 0 50px -6px var(--glow)}}@keyframes bob{0%,to{transform:translateY(-50%)}50%{transform:translateY(-62%)}}@keyframes flicker{0%,to{opacity:.9}45%{opacity:.7}50%{opacity:1}55%{opacity:.78}}@keyframes zap{0%,97%,to{opacity:0}98%{opacity:.9}99%{opacity:.3}}@keyframes spin{to{transform:translate(-50%,-50%) rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important}}