:root{--bg: #05070c;--panel: rgba(9, 13, 22, .78);--panel-solid: #0b111c;--line: rgba(160, 200, 255, .12);--line-strong: rgba(160, 200, 255, .28);--text: #e9f1ff;--muted: #8c9ab3;--dim: #56627a;--volt: #1fc8ff;--blaze: #ff7a1a;--lime: #d7ff3a;--danger: #ff4d6d;--display: "Big Shoulders Display", Impact, sans-serif;--ui: "Inter Tight", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--skew: -10deg;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--ui);-webkit-font-smoothing:antialiased}body.capturing{cursor:none}body.capturing [data-ui]{cursor:default}#game{position:fixed;inset:0;width:100vw;height:100vh;display:block;outline:none}#root{position:fixed;inset:0;pointer-events:none}#root>*{pointer-events:none}.interactive,.interactive *{pointer-events:auto}button{font-family:inherit;color:inherit}input,select,textarea{font-family:inherit}::selection{background:var(--lime);color:#000}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:44px;padding:0 22px;border:1px solid var(--line-strong);background:#ffffff0a;color:var(--text);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:13px;transform:skew(var(--skew));cursor:pointer;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s;user-select:none}.btn>*{transform:skew(calc(var(--skew) * -1))}.btn:hover{background:#ffffff17;border-color:#d7ff3a99}.btn:active{transform:skew(var(--skew)) translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:var(--lime);color:#081000;border-color:var(--lime);box-shadow:0 0 24px #d7ff3a40}.btn.primary:hover{background:#e6ff78;box-shadow:0 0 36px #d7ff3a73}.btn.ghost{background:transparent}.btn.danger{border-color:#ff4d6d80;color:#ffc2cd}.btn.small{height:32px;padding:0 14px;font-size:11px}.btn.big{height:60px;padding:0 34px;font-size:16px}.btn.volt{border-color:#1fc8ff99}.btn.blaze{border-color:#ff7a1a99}.panel{background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}.label{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.display{font-family:var(--display);font-weight:900;letter-spacing:.02em;text-transform:uppercase;line-height:.9}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.row{display:flex;align-items:center;gap:10px}.col{display:flex;flex-direction:column;gap:10px}.spacer{flex:1}.muted{color:var(--muted)}.dim{color:var(--dim)}.volt-text{color:var(--volt)}.blaze-text{color:var(--blaze)}.lime-text{color:var(--lime)}.field{display:flex;flex-direction:column;gap:6px}.input{height:42px;padding:0 12px;background:#00000059;border:1px solid var(--line-strong);color:var(--text);font-size:14px;outline:none;transition:border-color .15s}.input:focus{border-color:var(--lime)}textarea.input{height:80px;padding:10px 12px;resize:none}.seg{display:inline-flex;border:1px solid var(--line-strong);transform:skew(var(--skew))}.seg button{height:36px;min-width:52px;padding:0 14px;background:transparent;border:0;border-right:1px solid var(--line);cursor:pointer;font-weight:700;font-size:12px;letter-spacing:.08em;color:var(--muted)}.seg button:last-child{border-right:0}.seg button span{display:inline-block;transform:skew(calc(var(--skew) * -1))}.seg button.on{background:var(--lime);color:#081000}.seg button:hover:not(.on){color:var(--text);background:#ffffff0d}.toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;color:var(--muted);user-select:none}.toggle i{width:34px;height:18px;border:1px solid var(--line-strong);position:relative;transition:background .15s}.toggle i:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;background:var(--muted);transition:transform .15s,background .15s}.toggle.on i{background:#d7ff3a26;border-color:var(--lime)}.toggle.on i:after{transform:translate(16px);background:var(--lime)}input[type=range]{accent-color:var(--lime);width:100%}.menu{position:absolute;inset:0;display:grid;grid-template-columns:minmax(300px,380px) 1fr minmax(300px,360px);gap:28px;padding:34px 40px}.menu:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#05070ce6,#05070cb8 26%,#05070c1f 48% 62%,#05070ccc),linear-gradient(0deg,#05070c8c,#05070c00 40%);pointer-events:none}.menu>*{position:relative}.logo{font-family:var(--display);font-weight:900;font-size:64px;letter-spacing:.01em;line-height:.85;display:flex;align-items:baseline}.logo b{color:var(--lime);font-weight:900}.logo-sub{font-size:11px;letter-spacing:.38em;color:var(--muted);margin-top:8px;font-weight:700}.nav{display:flex;flex-direction:column;gap:4px;margin-top:34px}.nav button{text-align:left;background:transparent;border:0;padding:12px 0 12px 16px;cursor:pointer;position:relative;font-family:var(--display);font-weight:800;font-size:34px;letter-spacing:.03em;text-transform:uppercase;color:#e9f1ff80;transition:color .15s,padding .15s}.nav button small{display:block;font-family:var(--ui);font-size:11px;font-weight:600;letter-spacing:.14em;color:#93a3bb;margin-top:2px}.nav button:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;background:var(--lime);transform:scaleY(0);transition:transform .15s}.nav button:hover,.nav button.on{color:var(--text);padding-left:22px}.nav button.on:before,.nav button:hover:before{transform:scaleY(1)}.nav button .tag{font-family:var(--ui);font-size:10px;font-weight:800;letter-spacing:.12em;padding:3px 6px;margin-left:10px;vertical-align:middle;background:#d7ff3a1f;color:var(--lime);border:1px solid rgba(215,255,58,.35)}.nav button .tag.lock{background:#ffffff0d;color:var(--muted);border-color:var(--line-strong)}.center-stage{display:flex;flex-direction:column;justify-content:flex-end;min-width:0}.card{padding:22px}.card h2{margin:0 0 4px;font-family:var(--display);font-weight:900;font-size:30px;letter-spacing:.02em;text-transform:uppercase}.card h3{margin:0;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mode{position:relative;padding:20px 18px 18px;border:1px solid var(--line);background:#ffffff06;cursor:pointer;overflow:hidden;transition:border-color .15s,background .15s,transform .15s}.mode:hover{border-color:#d7ff3a8c;background:#d7ff3a0a;transform:translateY(-2px)}.mode.on{border-color:var(--lime);background:#d7ff3a12}.mode .big{font-family:var(--display);font-weight:900;font-size:58px;line-height:.9}.mode .desc{font-size:12px;color:var(--muted);margin-top:6px}.mode .count{position:absolute;top:12px;right:14px;font-size:11px;color:var(--dim)}.side{display:flex;flex-direction:column;gap:14px;min-height:0}.status-line{display:flex;gap:14px;font-size:12px;color:var(--muted);align-items:center}.dot{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px var(--lime);display:inline-block}.dot.off{background:var(--danger);box-shadow:0 0 8px var(--danger)}.dot.wait{background:#ffd23a;box-shadow:0 0 8px #ffd23a}.member{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);background:#ffffff05}.member .av{width:30px;height:30px;display:grid;place-items:center;font-weight:800;font-size:13px;background:#16202f;clip-path:polygon(20% 0,100% 0,80% 100%,0 100%)}.member .nm{font-weight:700;font-size:14px}.member .sub{font-size:11px;color:var(--dim)}.member.volt{border-left:3px solid var(--volt)}.member.blaze{border-left:3px solid var(--blaze)}.chip{font-size:10px;font-weight:800;letter-spacing:.12em;padding:3px 7px;border:1px solid var(--line-strong);color:var(--muted);text-transform:uppercase}.chip.lead{color:var(--lime);border-color:#d7ff3a80}.queuebar{position:absolute;left:50%;bottom:26px;transform:translate(-50%);display:flex;align-items:center;gap:18px;padding:12px 14px 12px 22px}.queuebar .spinner{width:18px;height:18px;border:2px solid rgba(215,255,58,.2);border-top-color:var(--lime);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.screen{position:absolute;inset:0;padding:34px 40px;display:flex;flex-direction:column;gap:20px;background:linear-gradient(180deg,#05070cdb,#05070ceb);overflow:auto}.screen-head{display:flex;align-items:center;gap:18px}.screen-head h1{margin:0;font-family:var(--display);font-weight:900;font-size:52px;text-transform:uppercase;letter-spacing:.02em}.back{background:transparent;border:1px solid var(--line-strong);width:42px;height:42px;cursor:pointer;font-size:18px;transform:skew(var(--skew))}.back:hover{border-color:var(--lime)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.toasts{position:absolute;top:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;z-index:50}.toast{padding:10px 18px;font-size:13px;font-weight:600;border-left:3px solid var(--lime);animation:toastIn .25s ease-out}.toast.error{border-left-color:var(--danger)}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}}.hud{position:absolute;inset:0;pointer-events:none}.scorebug{position:absolute;top:16px;left:50%;transform:translate(-50%);display:flex;align-items:stretch;filter:drop-shadow(0 6px 24px rgba(0,0,0,.5))}.scorebug .team{width:92px;display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:46px;line-height:1;padding:4px 0 2px}.scorebug .team.v{background:linear-gradient(135deg,#0c5fa3,#1fc8ff);clip-path:polygon(14% 0,100% 0,100% 100%,0 100%)}.scorebug .team.b{background:linear-gradient(225deg,#b53d06,#ff7a1a);clip-path:polygon(0 0,86% 0,100% 100%,0 100%)}.scorebug .clock{min-width:150px;background:#05080ee6;display:flex;flex-direction:column;align-items:center;justify-content:center;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.scorebug .clock .t{font-family:var(--mono);font-weight:700;font-size:30px;letter-spacing:.02em}.scorebug .clock .ot{font-size:10px;letter-spacing:.24em;color:var(--lime);font-weight:800}.scorebug .names{position:absolute;top:100%;left:0;right:0;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.24em;font-weight:800;margin-top:6px;color:var(--muted)}#boost-meter{position:absolute;right:40px;bottom:34px;width:188px;height:188px;--boost: .33;border-radius:50%;background:radial-gradient(circle at 50% 42%,#1c2434eb,#080b12eb 58%,#080b1200 71%)}#boost-meter:after{content:"";position:absolute;inset:22px;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 2px 18px #0009;pointer-events:none}#boost-meter svg{width:100%;height:100%;transform:rotate(135deg)}#boost-meter .track{fill:none;stroke:#ffffff17;stroke-width:13;stroke-dasharray:318 424}#boost-meter .fill{fill:none;stroke:url(#boostGrad);stroke-width:13;stroke-linecap:butt;stroke-dasharray:calc(318 * var(--boost)) 424;filter:drop-shadow(0 0 5px rgba(255,182,39,.65));transition:stroke-dasharray .06s linear}#boost-meter .ticks{fill:none;stroke:#080b12f2;stroke-width:15;stroke-dasharray:2 8.6}#boost-meter .rim{fill:none;stroke:#ffffff2e;stroke-width:1.5;stroke-dasharray:318 424}#boost-meter .num{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:66px;line-height:1;color:#fff;text-shadow:0 2px 14px rgba(255,182,39,.35)}#boost-meter .cap{position:absolute;left:0;right:0;bottom:34px;text-align:center;font-size:10px;letter-spacing:.32em;font-weight:800;color:#ffcf6e}#boost-meter.full .num{color:#ffe3a3}#ball-arrow{position:absolute;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;opacity:0;transition:opacity .2s}#ball-arrow:before{content:"";position:absolute;inset:0;background:#bff4ffe6;clip-path:polygon(0 20%,100% 50%,0 80%,22% 50%);filter:drop-shadow(0 0 6px rgba(191,244,255,.8))}.countdown{position:absolute;top:34%;left:50%;transform:translate(-50%,-50%);font-family:var(--display);font-weight:900;font-size:180px;line-height:1;color:#fff;-webkit-text-stroke:3px rgba(5,8,14,.85);text-shadow:0 6px 30px rgba(0,0,0,.45);animation:pop .9s ease-out both}.countdown.go{color:var(--lime)}@keyframes pop{0%{transform:translate(-50%,-50%) scale(1.6);opacity:0}20%{opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:.95}}.goal-banner{position:absolute;top:24%;left:0;right:0;display:flex;flex-direction:column;align-items:center;animation:slam .5s cubic-bezier(.2,1.4,.4,1) both}.goal-banner .word{font-family:var(--display);font-weight:900;font-size:150px;line-height:.85;letter-spacing:.02em;transform:skew(var(--skew));-webkit-text-stroke:3px rgba(5,8,14,.8)}.goal-banner.v .word{color:var(--volt);text-shadow:0 0 60px rgba(31,200,255,.6)}.goal-banner.b .word{color:var(--blaze);text-shadow:0 0 60px rgba(255,122,26,.6)}.goal-banner .strip{margin-top:14px;display:flex;gap:22px;align-items:center;padding:10px 26px;background:#05080ed9;border:1px solid var(--line-strong);transform:skew(var(--skew))}.goal-banner .strip>*{transform:skew(calc(var(--skew) * -1))}.goal-banner .who{font-weight:800;font-size:22px}.goal-banner .spd{font-family:var(--mono);font-size:20px;color:var(--lime)}@keyframes slam{0%{transform:scale(1.8);opacity:0}to{transform:scale(1);opacity:1}}.feed{position:absolute;top:18px;right:22px;display:flex;flex-direction:column;gap:6px;align-items:flex-end}.feed div{padding:7px 12px;font-size:13px;font-weight:600;background:#05080ebf;border-right:3px solid var(--volt);animation:toastIn .2s}.feed div.t1{border-right-color:var(--blaze)}.feed div.t2{border-right-color:var(--lime)}.netinfo{position:absolute;left:18px;top:16px;font-size:11px;color:#d7e2f2;display:flex;gap:10px;align-items:center;font-family:var(--mono);padding:5px 10px;background:#05080e99}.netinfo .bad{color:var(--danger)}.hint{position:absolute;left:22px;bottom:22px;font-size:11px;color:#d7e2f2;display:flex;gap:14px;padding:7px 12px;background:#05080e9e}.hint kbd{font-family:var(--mono);border:1px solid var(--line-strong);padding:1px 6px;color:#fff}#cam-indicator{position:absolute;left:22px;bottom:62px;display:flex;flex-direction:column;gap:2px;padding:8px 12px;background:#05080e9e;border-left:3px solid #ff5a4f}#cam-indicator b{font-family:var(--display);font-size:22px;font-weight:900;letter-spacing:.06em;color:#ff8a80}#cam-indicator.car{border-left-color:var(--muted)}#cam-indicator.car b{color:#d7e2f2}#cam-indicator span{font-size:10px;letter-spacing:.2em;color:#d7e2f2;font-weight:700}.overlay{position:absolute;inset:0;background:#0305099e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center}.pause{width:380px;padding:28px;display:flex;flex-direction:column;gap:10px}.pause .btn{width:100%}.scoreboard{width:min(900px,92vw);padding:0}.scoreboard table{width:100%;border-collapse:collapse;font-size:14px}.scoreboard th{text-align:right;font-size:10px;letter-spacing:.16em;color:var(--muted);padding:10px 14px;font-weight:800}.scoreboard th:first-child,.scoreboard td:first-child{text-align:left}.scoreboard td{text-align:right;padding:10px 14px;border-top:1px solid var(--line);font-family:var(--mono)}.scoreboard td:first-child{font-family:var(--ui);font-weight:700}.scoreboard tr.v td:first-child{border-left:3px solid var(--volt)}.scoreboard tr.b td:first-child{border-left:3px solid var(--blaze)}.scoreboard tr.me td{background:#d7ff3a0d}.scoreboard .head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line-strong)}.end{width:min(980px,94vw);padding:30px;display:flex;flex-direction:column;gap:20px}.end .result{font-family:var(--display);font-weight:900;font-size:96px;line-height:.85;text-transform:uppercase}.tour-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.tour-card{padding:18px;border:1px solid var(--line);background:#ffffff05;cursor:pointer;display:flex;flex-direction:column;gap:10px;transition:border-color .15s}.tour-card:hover{border-color:#d7ff3a80}.tour-card .t{font-family:var(--display);font-weight:900;font-size:28px;text-transform:uppercase;line-height:1}.badge{font-size:10px;font-weight:800;letter-spacing:.14em;padding:3px 8px;text-transform:uppercase;border:1px solid var(--line-strong);color:var(--muted)}.badge.live{color:var(--danger);border-color:#ff4d6d80}.badge.open{color:var(--lime);border-color:#d7ff3a80}.bracket-wrap{position:relative;flex:1;min-height:420px;overflow:hidden;border:1px solid var(--line);background:radial-gradient(circle at 1px 1px,rgba(160,200,255,.08) 1px,transparent 0) 0 0 / 22px 22px,#00000040;cursor:grab}.bracket-wrap:active{cursor:grabbing}.bracket{position:absolute;left:0;top:0;transform-origin:0 0;display:flex;gap:56px;padding:40px}.round{display:flex;flex-direction:column;justify-content:space-around;gap:18px;min-width:250px}.round-title{font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;margin-bottom:6px}.bm{border:1px solid var(--line-strong);background:#090d16eb;position:relative}.bm.live{border-color:#ff4d6d99;box-shadow:0 0 18px #ff4d6d2e}.bm.done{opacity:.95}.bm .slot{display:flex;align-items:center;gap:10px;padding:9px 12px;font-size:14px}.bm .slot+.slot{border-top:1px solid var(--line)}.bm .slot .seed{font-family:var(--mono);font-size:11px;color:var(--dim);width:18px}.bm .slot .nm{flex:1;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bm .slot .sc{font-family:var(--mono);font-weight:700}.bm .slot.win .nm{color:var(--lime)}.bm .slot.lose{opacity:.45}.bm .foot{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;border-top:1px solid var(--line);font-size:10px;letter-spacing:.14em;color:var(--muted);font-weight:800;text-transform:uppercase}.champion{font-family:var(--display);font-weight:900;font-size:36px;color:var(--lime);text-transform:uppercase}.ranked-box{border:1px solid rgba(215,255,58,.25);background:#d7ff3a08;padding:20px}.kv{display:grid;grid-template-columns:1fr auto;gap:10px 20px;font-size:14px}.kv .k{color:var(--muted);font-size:11px;letter-spacing:.16em;font-weight:800;text-transform:uppercase;align-self:center}.kv .v{font-family:var(--mono);font-weight:700;text-align:right}.kv .v.big{font-size:22px;color:var(--lime)}.bind-grid{display:grid;grid-template-columns:1fr 150px 150px 150px;gap:8px 12px;align-items:center;font-size:13px}.keycap{height:34px;border:1px solid var(--line-strong);background:#0000004d;color:var(--text);cursor:pointer;font-family:var(--mono);font-size:12px}.keycap.listening{border-color:var(--lime);color:var(--lime);animation:blink 1s infinite}@keyframes blink{50%{opacity:.5}}@media(max-width:1100px){.menu{grid-template-columns:300px 1fr}.menu .side{grid-column:1 / -1}}
