@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/anton-latin-400-normal-Byf51wtH.woff2)format("woff2"),url(/assets/anton-latin-400-normal-AUNGEG_V.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2)format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff)format("woff")}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--touch-min:52px;--touch-big:96px;--content-max:480px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--color-ground);min-height:100%;color:var(--color-bone);font-family:var(--font-ui);-webkit-text-size-adjust:100%;margin:0;font-size:16px}#app{justify-content:center;min-height:100dvh;display:flex}.screen{width:100%;max-width:var(--content-max);padding:var(--space-6) var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom));gap:var(--space-4);flex-direction:column;display:flex}h1,h2,.code{font-family:var(--font-display);letter-spacing:.02em;margin:0;font-weight:400}.brand h1{font-size:clamp(48px,15vw,72px);line-height:.9}.tagline{margin:var(--space-3) 0 0;color:var(--color-bronze);font-size:18px;font-weight:500;line-height:1.35}.hero{padding-top:var(--space-6);flex:1;justify-content:center;align-items:flex-end;display:flex}label,.label{margin:0 0 var(--space-1);letter-spacing:.14em;text-transform:uppercase;color:var(--color-grey);font-size:12px;font-weight:700;display:block}input{width:100%;min-height:var(--touch-min);padding:0 var(--space-3);border:3px solid var(--color-greyMid);background:var(--color-greyDark);color:var(--color-bone);font:700 20px var(--font-ui);border-radius:0}input:focus-visible,button:focus-visible{outline:3px solid var(--color-neon);outline-offset:2px}.code-input{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;font-size:28px}.row{gap:var(--space-2);display:flex}.row input{flex:1;min-width:0}button{min-height:var(--touch-min);padding:0 var(--space-6);font:400 24px var(--font-display);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;border:0;border-radius:0}button:disabled{cursor:not-allowed;opacity:.45}.primary{background:var(--color-bone);color:var(--color-ground)}.secondary{color:var(--color-bone);border:3px solid var(--color-bone);background:0 0}.ghost{color:var(--color-grey);font-family:var(--font-ui);text-transform:none;background:0 0;font-size:16px;font-weight:700}.big{width:100%;min-height:var(--touch-big);font-size:40px}.or{text-align:center;color:var(--color-grey);text-transform:uppercase;letter-spacing:.14em;margin:0;font-size:12px}.error{min-height:1.4em;color:var(--color-failText);margin:0;font-weight:700}.hint{color:var(--color-grey);text-align:center;margin:0;font-size:14px}.waiting{padding:var(--space-6) 0;font-size:16px}.code-card{background:var(--color-greyDark);padding:var(--space-4);align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.code{letter-spacing:.12em;color:var(--color-neon);font-size:64px;line-height:1}.qr{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.qr svg{width:168px;height:168px}.code-card #invite,.invite-link{width:100%}.copy-row{display:flex}.copy-row input{min-width:0;color:var(--color-grey);text-overflow:ellipsis;border-right:0;flex:1;font-size:14px}.copy-row button{min-width:112px;padding:0 var(--space-4);border:3px solid var(--color-greyMid);color:var(--color-bone)}.copy-row button.done{color:var(--color-neon)}.players h2{margin-bottom:var(--space-2);font-size:22px}.players ul{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.player{align-items:center;gap:var(--space-2);min-height:var(--touch-min);padding:var(--space-2);background:var(--color-greyDark);border:2px solid #0000;display:flex}.player.self{border-color:var(--color-neon)}.who{flex-direction:column;flex:1;min-width:0;display:flex}.player .name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.badge{letter-spacing:.1em;text-transform:uppercase;color:var(--color-bronze);font-size:11px;font-weight:700}.start-area{gap:var(--space-2);flex-direction:column;display:flex}.connecting{text-align:center;justify-content:center;min-height:100dvh}[hidden]{display:none!important}.arena{--tap-height:clamp(88px, 20dvh, 150px);height:100dvh;min-height:0;padding:var(--space-4) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));gap:var(--space-3);background:var(--color-groundDeep);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;grid-template:"head""tiles""comm""stage"minmax(0,1fr)"controls"/minmax(0,1fr);display:grid}body:has(.arena){background:var(--color-groundDeep)}.arena-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);grid-area:head;display:flex}.arena-head h1{letter-spacing:.04em;font-size:22px}.arena-status{letter-spacing:.14em;text-transform:uppercase;color:var(--color-bronze);text-align:right;margin:0;font-size:13px;font-weight:700}.tiles{gap:var(--space-2);grid-area:tiles;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.tile{align-items:center;gap:var(--space-1);min-width:0;padding:var(--space-2) var(--space-1);background:var(--color-greyDark);border:2px solid #0000;flex-direction:column;display:flex}.tile.self{border-color:var(--color-neon)}.tile-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;font-weight:700;overflow:hidden}.tile-status{text-align:center;overflow-wrap:anywhere;max-width:100%;color:var(--color-neon);font-size:11px;font-weight:700;line-height:1.2}.tone-fail{background:var(--color-failGround)}.tone-fail .tile-status,.tone-fail .result-value{color:var(--color-failText);text-transform:uppercase}.tone-fail svg{transform:rotate(90deg)}.tone-idle{opacity:.55}.tone-idle .tile-status{color:var(--color-grey)}.commentator{padding:10px var(--space-3);background:var(--color-greyDark);grid-area:comm;font-size:14px;font-weight:500;line-height:1.3}.commentator .label{letter-spacing:.1em;margin-bottom:2px;font-size:11px}.commentator.fail{background:var(--color-crimson)}.commentator.fail .label{color:var(--color-bone)}.commentary-text{margin:0}.stage{grid-area:stage;min-height:0;position:relative;overflow:hidden}.stage-canvas{position:absolute;inset:0}.stage-canvas canvas{display:block;width:100%!important;height:100%!important}.stage-call{justify-content:center;align-items:center;gap:var(--space-3);padding:0 var(--space-4);pointer-events:none;text-align:center;flex-direction:column;display:flex;position:absolute;inset:0}.stage-headline{font-family:var(--font-display);letter-spacing:.06em;margin:0;font-size:clamp(36px,min(15vw,9dvh),72px);line-height:1}.arena[data-stage=go] .stage-headline{color:var(--color-neon)}.stage-hint{max-width:280px;color:var(--color-grey);margin:0;font-size:15px}.stage.dimmed .stage-canvas{opacity:.3;-webkit-mask-image:linear-gradient(#0000 0 55%,#000 80%);mask-image:linear-gradient(#0000 0 55%,#000 80%)}#again.cooldown{position:relative;overflow:hidden}#again.cooldown:after{content:"";background:var(--color-neon);transform-origin:0;height:4px;animation:again-cooldown var(--again-cooldown-ms) linear forwards;position:absolute;inset:auto 0 0}@keyframes again-cooldown{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.result{touch-action:pan-y;gap:var(--space-2);flex-direction:column;display:flex;position:absolute;inset:0;overflow-y:auto}.result h2{font-size:40px;line-height:1}.result-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.result-row{align-items:center;gap:var(--space-2);min-height:var(--touch-min);padding:0 var(--space-3);background:var(--color-greyDark);border:2px solid #0000;grid-template-columns:2.5ch auto minmax(0,1fr) auto;display:grid}.result-row.self{border-color:var(--color-neon)}.result-row .place{font-family:var(--font-display);color:var(--color-bronze);font-size:22px}.result-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.result-value{font-variant-numeric:tabular-nums;font-weight:700}.controls{gap:var(--space-2);flex-direction:column;grid-area:controls;display:flex}.tap{width:100%;height:var(--tap-height);border:4px solid var(--color-greyMid);background:var(--color-ground);color:var(--color-grey);touch-action:none;-webkit-tap-highlight-color:transparent;font-size:clamp(32px,11vw,46px)}.tap[data-state=go]{background:var(--color-bone);border-color:var(--color-bone);color:var(--color-ground)}.tap:disabled{opacity:1;cursor:default}.tap.pressed{transform:scale(.97)}.result-actions{gap:var(--space-2);flex-direction:column;display:flex}.spectator{min-height:var(--tap-height);justify-content:center;align-items:center;display:flex}.speerwurf{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.phase-steps{top:var(--space-2);justify-content:center;gap:var(--space-2);pointer-events:none;counter-reset:phase;margin:0;padding:0;list-style:none;display:flex;position:absolute;left:0;right:0}.phase-steps[hidden]{display:none}.phase-steps li{counter-increment:phase;padding:var(--space-1) var(--space-2);border:2px solid var(--color-greyMid);color:var(--color-grey);letter-spacing:.04em;text-transform:uppercase;font-size:13px;font-weight:700}.phase-steps li:before{content:counter(phase) " "}.phase-steps li.active{border-color:var(--color-neon);color:var(--color-neon)}.tap[data-state=tap]{background:var(--color-bone);border-color:var(--color-bone);color:var(--color-ground)}.tap[data-state=hold]{background:var(--color-neon);border-color:var(--color-neon);color:var(--color-ground)}.tap[data-state=release]{background:var(--color-crimson);border-color:var(--color-bone);color:var(--color-bone)}@media (prefers-reduced-motion:no-preference){.tap[data-state=hold]{animation:.42s ease-in-out infinite alternate hold-pulse}}@keyframes hold-pulse{to{box-shadow:0 0 0 6px color-mix(in srgb, var(--color-neon) 35%, transparent)}}.flight-meter{top:calc(var(--space-8) + var(--space-4));text-align:center;font-family:var(--font-display);letter-spacing:.04em;color:var(--color-bone);text-shadow:0 3px 0 var(--color-ground);font-variant-numeric:tabular-nums;pointer-events:none;margin:0;font-size:clamp(40px,min(16vw,10dvh),80px);line-height:1;position:absolute;left:0;right:0}.flight-meter[hidden]{display:none}.flight-meter.landed{color:var(--color-neon)}@media (prefers-reduced-motion:no-preference){.flight-meter.landed{animation:.36s ease-out meter-land}}@keyframes meter-land{0%{transform:scale(1.35)}to{transform:scale(1)}}.discipline-picker{gap:var(--space-1);flex-direction:column;display:flex}.discipline-options{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.discipline-option{min-height:44px;padding:0 var(--space-2);border:2px solid var(--color-greyMid);color:var(--color-grey);background:0 0}.discipline-option[aria-pressed=true]{border-color:var(--color-neon);color:var(--color-neon)}@media (aspect-ratio>=4/3){.arena{grid-template:"head head""stage tiles""stage comm""stage controls"minmax(0,1fr)/minmax(0,1fr) minmax(280px,380px);max-width:1200px}.controls{justify-content:flex-end}}@media (prefers-reduced-motion:no-preference){button{transition:transform 80ms ease-out}button:not(:disabled):active{transform:scale(.97)}}.reconnect-banner{z-index:10;padding:var(--space-3) var(--space-4) calc(var(--space-3));padding-top:calc(var(--space-3) + env(safe-area-inset-top));background:var(--color-bronze);color:var(--color-ground);text-align:center;margin:0;font-weight:700;position:fixed;top:0;left:0;right:0}.reconnect-banner[hidden]{display:none}.player.away{opacity:.55}.badge.away{color:var(--color-failText)}
