:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#07110b;color:#f4f7f5;--cyan:#f4df72;--pink:#d8e3db;--panel:#0a1510;--dim:#aebbb3}*{box-sizing:border-box}html,body,#game-root{width:100%;height:100%;margin:0;overflow:hidden;background:#76b9dc}body{touch-action:none;overscroll-behavior:none}canvas{display:block!important;width:100%!important;height:100%!important}.match-canvas{position:absolute;inset:0;outline:none;touch-action:none}.match-canvas:focus-visible{outline:2px solid #f4df72;outline-offset:-3px}button,select{font:inherit}button{min-height:44px;cursor:pointer}#semantic-ui{position:fixed;inset:0;z-index:20;pointer-events:none;display:flex;align-items:center;justify-content:center;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}#semantic-ui button,#semantic-ui select{pointer-events:auto}.asset-loading,.asset-error{pointer-events:auto;width:min(560px,100%);padding:clamp(24px,5vw,48px);text-align:center;background:linear-gradient(160deg,#06110bf7,#0a1310f2);border:1px solid rgba(244,223,114,.5);box-shadow:0 28px 90px #0000009e}.asset-loading p{margin:0 0 18px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.asset-loading progress{display:block;width:100%;height:8px;accent-color:#f4df72}.asset-error h1{margin:.3em 0;font-size:clamp(34px,8vw,64px);line-height:.92;letter-spacing:-.05em;text-transform:uppercase}.asset-error>p:not(.eyebrow){color:#c6d0ca}.asset-error .ghost{display:block;text-decoration:none;padding:12px 18px}.panel{--team:#2f6b3f;--team2:#e4eee7;position:relative;pointer-events:auto;touch-action:pan-y;width:min(820px,100%);max-height:calc(100vh - 20px);overflow:auto;background:linear-gradient(155deg,#08130df0,#0c1511f7);border:1px solid rgba(232,239,234,.28);border-top:4px solid var(--team);box-shadow:0 24px 80px #00000094;padding:clamp(16px,2.5vw,28px);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.panel h1{margin:.12em 0;font-size:clamp(32px,5.4vw,58px);line-height:.92;letter-spacing:-.045em;text-transform:uppercase}.panel h1 em{font-style:normal;color:#f4df72;text-shadow:none}.panel h2{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin:12px 0 8px}.eyebrow{margin:0;color:color-mix(in srgb,var(--team) 45%,#fff);font:800 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em}.lede{color:#c7d1ca;max-width:55ch;margin:8px 0}.primary,.ghost,.back{border:1px solid #f4df72;background:#f4df72;color:#11170d;padding:9px 18px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.primary{width:100%}.primary:hover,.primary:focus-visible,.ghost:focus-visible,.back:focus-visible{background:#fff2a7;outline:3px solid #fff;outline-offset:2px}.ghost,.back{background:#ffffff06;color:#eef3ef;border-color:#64736a}.ghost{width:100%}.back{padding:7px 12px;margin-bottom:8px}.panel-actions{display:grid;gap:8px;margin-top:12px}.resume-action{margin:8px 0}.lineup{padding:0;margin:8px 0;list-style:none;display:grid;gap:5px}.lineup li{display:grid;grid-template-columns:30px 1fr auto auto;align-items:center;gap:8px;min-height:48px;padding:2px 6px;background:#ffffff0b;border-left:3px solid var(--team)}.lineup .order{font:900 17px ui-monospace,monospace;color:#f4df72}.lineup small{color:var(--dim);font:700 10px ui-monospace,monospace}.lineup li button{min-width:44px;background:#15231a;border:1px solid #617067;color:#fff}.lineup-panel label{display:flex;justify-content:space-between;align-items:center;font-weight:800}.lineup-panel select{min-height:44px;background:#142219;color:#fff;border:1px solid #768279;padding:0 12px}.keeper-chip{padding:8px 10px;margin:8px 0 0;border:1px solid #536158;background:#ffffff09;color:#dce6df}.bracket-panel{text-align:center}.bracket-panel h1{display:flex;align-items:center;justify-content:center;gap:18px}.bracket-panel h1 b{font-size:.28em;color:#f4df72;letter-spacing:.1em}.bracket{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.bracket li{padding:10px 6px;border:1px solid #536158;color:#8f9c94;font-size:11px}.bracket li span{display:block;font:900 18px ui-monospace,monospace}.bracket li.done{border-color:#4e8060;color:#b9dfc4}.bracket li.active{border-color:#f4df72;color:#fff;background:#f4df7214}.match-hud{position:absolute;inset:0;pointer-events:none}.score-row{position:absolute;top:max(10px,env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(94%,780px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:#050d08e0;border:1px solid rgba(238,244,239,.32);border-top:3px solid #f4df72;padding:8px 48px 8px 14px}.score-row>span{display:flex;align-items:center;gap:8px;font-weight:900;text-transform:uppercase}.score-row>span:last-child{justify-content:flex-end}.score-row b{font:900 26px ui-monospace,monospace;color:#f4df72}.score-row small{min-height:16px}.score-row i{font-style:normal;margin:0 2px}.score-row i.goal{color:#8ee3a8}.score-row i.miss{color:#ff8a8a}.score-row em{font:800 10px ui-monospace,monospace;color:#dce6df;letter-spacing:.12em}.instruction{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);margin:0;width:min(92%,620px);padding:10px 18px;background:#050d08e0;border:1px solid rgba(238,244,239,.34);text-align:center;font-weight:800;letter-spacing:.03em}.pause{position:absolute;right:max(12px,env(safe-area-inset-right));top:max(14px,env(safe-area-inset-top));width:44px;height:44px;background:#07110be6;border:1px solid #f4df72;color:#fff;font-weight:900}.match-hud[data-shot-state=flight] .goal-zones,.match-hud[data-shot-state=settlement] .goal-zones{display:none}.shot-result{position:absolute;z-index:3;left:max(18px,env(safe-area-inset-left));top:50%;transform:translateY(-50%);display:grid;justify-items:center;gap:7px;width:min(360px,34vw);padding:16px 20px;background:linear-gradient(145deg,#040b07f0,#0c1811e8);border:1px solid rgba(255,255,255,.38);border-top:4px solid #f4df72;box-shadow:0 24px 70px #00000094;animation:shot-card-in .18s ease-out}.shot-result p{margin:0;font:950 clamp(34px,5vw,64px)/.9 ui-sans-serif,system-ui;letter-spacing:-.05em}.shot-result.scored p,.shot-result.scored>strong{color:#f4df72;text-shadow:0 0 26px rgba(244,223,114,.24)}.shot-result.missed p{color:#eef3ef}.shot-result>strong{font:950 clamp(28px,5vw,46px)/1 ui-monospace,monospace;animation:score-pop .36s cubic-bezier(.2,1.6,.4,1)}.shot-result>small{font:800 12px ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:#bec9c2}.shot-result>small b{color:#fff;font-size:1.35em}.shot-calculation{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.shot-calculation span,.shot-calculation b{padding:4px 7px;border:1px solid rgba(255,255,255,.2);background:#ffffff0b;font:800 10px ui-monospace,monospace;letter-spacing:.07em}.shot-calculation b{color:#f4df72}.shot-milestones{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}.shot-milestones i{padding:4px 7px;background:#f4df72;color:#11170d;font:900 9px ui-monospace,monospace;font-style:normal;letter-spacing:.06em;text-transform:uppercase}@keyframes shot-card-in{0%{opacity:0;transform:translateY(-42%) scale(.94)}to{opacity:1;transform:translateY(-50%) scale(1)}}@keyframes score-pop{0%{opacity:.2;transform:scale(.55)}to{opacity:1;transform:scale(1)}}.shot-result.result-crossbar{border:3px solid #ff4f32;border-top-width:8px;background:linear-gradient(145deg,#2b0502f7,#120805f2);box-shadow:0 0 0 5px #ff4f3233,0 24px 70px #000000b3}.shot-result.result-crossbar p{color:#ff654c;font-size:clamp(42px,6vw,74px);text-shadow:0 0 28px rgba(255,65,36,.48)}.shot-result.result-crossbar .shot-calculation span:first-child{border-color:#ff654c;background:#ff412433;color:#fff}.shot-result.result-wall{border-top-color:#ff9d2e;background:linear-gradient(145deg,#251202f5,#0f0c07f0)}.shot-result.result-wall p{color:#ffb34d;text-shadow:0 0 22px rgba(255,147,32,.35)}.keeper-read{display:inline-block;margin-left:10px;padding-left:10px;border-left:1px solid #f4df72;color:#f4df72;font:900 11px ui-monospace,monospace;white-space:nowrap}.result-panel,.champion-panel,.pause-panel{text-align:center;max-width:600px}.big-score{font:900 clamp(54px,12vw,100px)/1 ui-monospace,monospace;margin:14px;color:#f4df72}.signal-trophy{width:112px;height:138px;margin:12px auto;position:relative;border:6px solid #f4df72;border-top:none;clip-path:polygon(10% 0,90% 0,76% 65%,58% 78%,58% 90%,82% 90%,82% 100%,18% 100%,18% 90%,42% 90%,42% 78%,24% 65%)}.signal-trophy:after{content:"//";position:absolute;inset:26px 0 auto;color:#e8eee9;font:900 38px ui-monospace,monospace}.run-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:14px 0}.run-stats span{display:grid;gap:3px;padding:9px 6px;border:1px solid rgba(255,255,255,.16);background:#ffffff09;color:#b9c4bd;font:700 10px ui-monospace,monospace;text-transform:uppercase}.run-stats b{color:#fff;font-size:19px}.stage-panel{max-width:680px}.rush-stage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}.rush-stage{min-height:116px;display:grid;align-content:center;gap:5px;padding:12px;text-align:left;border:1px solid color-mix(in srgb,var(--team) 52%,#718078);background:linear-gradient(145deg,color-mix(in srgb,var(--team) 18%,#08130d),#ffffff09);color:#f4f7f5}.rush-stage span{font:800 13px ui-monospace,monospace;color:#f4df72}.rush-stage strong{font-size:18px;letter-spacing:.04em}.rush-stage small{color:#b9c5bd}.rush-stage:not(.locked):hover,.rush-stage:not(.locked):focus-visible{outline:2px solid #f4df72;outline-offset:2px;background:#f4df721f}.rush-stage.locked{opacity:.38;cursor:not-allowed}.match-hud .score-row{grid-template-columns:1fr auto auto auto;gap:10px;padding-right:58px}.match-hud .score-row>span{font-size:13px}.rush-score{font-size:clamp(22px,5vw,34px)!important}.rush-timer{font:900 18px ui-monospace,monospace;color:#f4df72}.rush-streak{font:800 10px ui-monospace,monospace;color:#dce6df;white-space:nowrap}.goal-zones{position:absolute;left:var(--goal-left);top:var(--goal-top);width:var(--goal-width);height:var(--goal-height);pointer-events:none}.goal-zone{position:absolute;padding:3px 5px;border:1px solid rgba(244,223,114,.55);background:#08120c94;color:#f8e98e;font:800 clamp(7px,1.4vw,10px)/1 ui-monospace,monospace;font-style:normal;letter-spacing:.04em;opacity:.82}.goal-zone.top-left{top:5%;left:2%}.goal-zone.top-right{top:5%;right:2%}.goal-zone.low-left{bottom:5%;left:2%}.goal-zone.low-right{bottom:5%;right:2%}@media(max-width:680px){#semantic-ui{align-items:stretch}.panel{margin:auto;padding:14px;max-height:calc(100svh - 20px)}.panel-actions{position:sticky;z-index:3;bottom:-14px;margin:10px -14px -14px;padding:10px 14px max(10px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#08130dc2,#08130dfc 22%)}.lineup li{grid-template-columns:26px 1fr auto}.lineup li>small{display:none}.lineup li strong{font-size:12px}.bracket{grid-template-columns:repeat(2,1fr)}.score-row{grid-template-columns:1fr auto 1fr;font-size:11px;padding:7px 46px 7px 9px}.score-row small{display:block}.score-row em{max-width:82px;text-align:center}.match-hud .score-row{left:9px;transform:none;width:calc(100% - 18px);grid-template-columns:minmax(0,1fr) auto auto;gap:5px;padding:7px 50px 7px 8px}.match-hud .score-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-hud .score-row em{display:none}.rush-streak{grid-column:1/-1}.goal-zone{font-size:7px;padding:2px}.shot-result{left:50%;top:auto;bottom:max(68px,calc(env(safe-area-inset-bottom) + 58px));transform:translate(-50%);width:min(92vw,390px);padding:9px 12px;gap:5px;animation:none}.shot-result p{font-size:32px}.shot-result>strong{font-size:26px}.shot-result>small{font-size:10px}.panel h1{font-size:clamp(30px,10vw,48px)}.rush-stage-grid{grid-template-columns:1fr}.rush-stage{min-height:92px}}@media(max-width:680px)and (max-height:700px){.stage-panel .rush-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:8px}.stage-panel .rush-stage{min-height:78px}.run-stats{gap:4px}.run-stats span{padding:6px 3px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.match-hud .score-row{background:#051215c7;border-top-color:#ffe96f;box-shadow:0 6px 20px #00000038}.bonus-target{position:absolute;left:var(--target-x);top:var(--target-y);width:clamp(54px,14vw,92px);aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center;border:5px solid rgba(108,255,78,.92);border-radius:50%;background:#12ab2bad;box-shadow:0 0 0 4px #e0ffccb8,0 0 28px #3bff5be6,inset 0 0 18px #eaffdc7a;color:#fff;font:950 clamp(20px,5vw,34px)/1 ui-monospace,monospace;text-shadow:0 2px 5px rgba(0,0,0,.48);animation:target-breathe 1.15s ease-in-out infinite alternate}.bonus-target:after{content:"";position:absolute;inset:9%;border:2px solid rgba(255,255,255,.82);border-radius:50%}.bonus-target span{position:relative;z-index:1}.swipe-origin{position:absolute;left:var(--ball-x);top:var(--ball-y);width:70px;height:70px;transform:translate(-50%,-50%);border:3px solid rgba(92,247,255,.72);border-radius:50%;box-shadow:0 0 0 6px #37e1ff21,0 0 20px #42ebff7a;opacity:0;transition:opacity .16s ease;pointer-events:none}.match-hud[data-shot-state=aiming] .swipe-origin{opacity:1}.swipe-origin:after{content:"SWIPE";position:absolute;left:50%;top:calc(100% + 10px);transform:translate(-50%);padding:4px 8px;border-radius:999px;background:#03161cb8;color:#e9ffff;font:900 9px/1 ui-monospace,monospace;letter-spacing:.14em}.swipe-trail{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;opacity:0}.swipe-trail path{fill:none;stroke:#74f5ff;stroke-width:var(--swipe-trail-width,5px);stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 7px rgba(78,239,255,.9))}.match-hud[data-swiping=true] .swipe-trail{opacity:var(--swipe-trail-opacity,.62)}.match-hud[data-swipe-spin=left] .swipe-trail path,.match-hud[data-swipe-spin=right] .swipe-trail path{stroke:#ffe46c;filter:drop-shadow(0 0 9px rgba(255,215,65,.9))}.swipe-spin{position:absolute;left:50%;bottom:calc(100% + 9px);transform:translate(-50%);display:none;min-width:max-content;padding:4px 7px;border-radius:999px;background:#03161cd1;border:1px solid rgba(119,242,255,.65);color:#bffbff;font:900 9px/1 ui-monospace,monospace;letter-spacing:.09em}.match-hud[data-swiping=true] .swipe-spin{display:block}.match-hud[data-swipe-spin=left] .swipe-spin,.match-hud[data-swipe-spin=right] .swipe-spin{border-color:#ffe46c;color:#fff0a1}.swipe-guide{position:absolute;left:50%;top:50%;width:var(--swipe-length,0px);height:6px;transform-origin:0 50%;transform:rotate(var(--swipe-angle,-90deg));border-radius:999px;background:#6ef5ffe6;box-shadow:0 0 16px #55efffd6;opacity:0}.swipe-guide:after{content:"";position:absolute;right:-2px;top:50%;width:14px;height:14px;border-top:5px solid #dfffff;border-right:5px solid #dfffff;transform:translateY(-50%) rotate(45deg)}.match-hud[data-swiping=true] .swipe-guide{opacity:.22}.match-hud[data-swipe-spin=power] .swipe-guide{opacity:.8}.match-hud[data-swiping=true] .swipe-origin{box-shadow:0 0 0 9px #37e1ff33,0 0 34px #42ebffb8}.shot-calculation .target-hit{border-color:#6dff72;background:#30d33d33;color:#a8ff9b}.instruction{background:#041417b8;border-color:#bff9ff6b;box-shadow:0 5px 18px #0003}@keyframes target-breathe{0%{transform:translate(-50%,-50%) scale(.94)}to{transform:translate(-50%,-50%) scale(1.04)}}@media(max-width:680px){.goal-zone{opacity:.46}.bonus-target{width:64px;border-width:4px}.swipe-origin{width:62px;height:62px}.instruction{font-size:12px;padding:8px 12px}}@media(prefers-reduced-motion:reduce){.bonus-target{animation:none}}
