:root{color-scheme:dark;font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#eafffa;background:#06171b;font-synthesis:none;--safe-top: max(14px, env(safe-area-inset-top));--safe-right: max(14px, env(safe-area-inset-right));--safe-bottom: max(14px, env(safe-area-inset-bottom));--safe-left: max(14px, env(safe-area-inset-left))}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;touch-action:none;user-select:none;background:#06171b}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}#game-canvas{position:fixed;inset:0;width:100%;height:100%;display:block;cursor:crosshair}.screen,.death-screen{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 18% 20%,rgba(44,208,178,.14),transparent 35%),radial-gradient(circle at 82% 75%,rgba(94,100,255,.12),transparent 38%),#021014e0;backdrop-filter:blur(9px);opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease}.screen--visible{opacity:1;visibility:visible}.join-card,.death-card{width:min(92vw,410px);padding:34px;border:1px solid rgba(141,255,234,.22);border-radius:28px;background:linear-gradient(145deg,#0e2b30e6,#05191feb);box-shadow:0 30px 90px #00000073,inset 0 1px #ffffff14}.join-card h1{margin:10px 0 0;font-size:clamp(38px,10vw,62px);letter-spacing:.13em;line-height:.95;color:#d9fff6;text-shadow:0 0 34px rgba(86,255,219,.27)}.tagline{margin:12px 0 30px;color:#78cdbd;font-weight:600;letter-spacing:.05em}.join-card label{display:block;margin:0 0 8px 3px;color:#9abdb7;font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.join-card input{width:100%;height:56px;padding:0 17px;color:#fff;background:#010d11bf;border:1px solid rgba(133,230,214,.24);border-radius:14px;outline:none;user-select:text;touch-action:manipulation}.join-card input:focus{border-color:#62e9cd;box-shadow:0 0 0 3px #62e9cd1f}.primary-button{width:100%;min-height:56px;margin-top:13px;border:0;border-radius:14px;color:#05231f;background:linear-gradient(135deg,#8dffe4,#42d7b8);font-weight:900;letter-spacing:.12em;cursor:pointer;box-shadow:0 10px 26px #32d5b533}.primary-button:hover{filter:brightness(1.07);transform:translateY(-1px)}.primary-button:active{transform:translateY(1px) scale(.99)}.primary-button:disabled{opacity:.55;cursor:wait}.join-status{min-height:20px;margin:10px 0 0;color:#ffce7d;font-size:13px;text-align:center}.microcopy{margin:15px 0 0;color:#7ca19c;font-size:12px;text-align:center;letter-spacing:.04em}.microcopy b{color:#4ed8bd;padding:0 4px}.join-card details{margin-top:20px;color:#8db2ab;font-size:13px;line-height:1.5}.join-card summary{cursor:pointer;color:#b8d9d3}.logo-mark{position:relative;width:54px;height:38px}.logo-mark i{position:absolute;display:block;border-radius:50%;background:#60e8cd;box-shadow:0 0 20px #47e5c6a6}.logo-mark i:nth-child(1){width:30px;height:30px;left:10px;top:2px}.logo-mark i:nth-child(2){width:13px;height:13px;left:0;top:22px;opacity:.65}.logo-mark i:nth-child(3){width:9px;height:9px;right:0;top:0;opacity:.45}.hud{position:fixed;inset:0;z-index:10;pointer-events:none}.mass-card{position:absolute;left:var(--safe-left);top:var(--safe-top);min-width:118px;padding:12px 15px;border:1px solid rgba(139,242,224,.16);border-radius:16px;background:#04181da8;backdrop-filter:blur(9px);box-shadow:0 10px 35px #00000029}.mass-card span{display:block;color:#81aca5;font-size:10px;font-weight:800;letter-spacing:.16em}.mass-card strong{display:block;margin-top:-2px;font-size:28px;line-height:1.1}.mass-card small{color:#57d9c1;font-size:9px;font-weight:800;letter-spacing:.1em}.leaderboard{position:absolute;top:var(--safe-top);right:var(--safe-right);width:min(210px,42vw);margin:0;padding:10px 12px;list-style:none;border:1px solid rgba(139,242,224,.13);border-radius:14px;background:#04181d8f;backdrop-filter:blur(8px);font-size:12px}.leaderboard li{display:flex;gap:8px;justify-content:space-between;padding:3px 1px;color:#9fc1bb;white-space:nowrap}.leaderboard li span{overflow:hidden;text-overflow:ellipsis}.leaderboard li b{color:#d7eee9}.leaderboard .leaderboard__you{color:#71f2d8}.icon-button{position:absolute;pointer-events:auto;left:var(--safe-left);top:calc(var(--safe-top) + 106px);width:42px;height:42px;border:1px solid rgba(139,242,224,.16);border-radius:13px;color:#c4e8e0;background:#04181da8;cursor:pointer}.connection-badge{position:absolute;left:50%;top:var(--safe-top);transform:translate(-50%);color:#e9bd70;font-size:9px;font-weight:800;letter-spacing:.13em;opacity:.85}.connection-badge--online{color:#67d6c0}.touch-controls{position:fixed;inset:0;z-index:12;pointer-events:none}.joystick{position:absolute;left:calc(var(--safe-left) + 3px);bottom:calc(var(--safe-bottom) + 9px);width:132px;height:132px;border:1px solid rgba(141,255,234,.2);border-radius:50%;background:radial-gradient(circle,#4ecab517,#041c2157);box-shadow:inset 0 0 25px #36d5b812;pointer-events:auto;touch-action:none}.joystick:after{content:"";position:absolute;inset:49%;border-radius:50%;background:#99ffec59}.joystick i{position:absolute;left:37px;top:37px;width:58px;height:58px;border:2px solid rgba(157,255,238,.44);border-radius:50%;background:#47c8b14d;box-shadow:0 5px 20px #00000042;will-change:transform}.ability-buttons{position:absolute;right:var(--safe-right);bottom:calc(var(--safe-bottom) + 8px);display:flex;align-items:end;gap:12px;pointer-events:auto}.ability-button{--cooldown: 0deg;position:relative;width:78px;height:78px;padding:10px 5px 7px;overflow:hidden;border:1px solid rgba(156,255,236,.35);border-radius:50%;color:#fff;background:radial-gradient(circle at 35% 25%,#81ffe640,#083538d1);box-shadow:0 8px 30px #00000047,inset 0 1px #ffffff1f;touch-action:none}.ability-button:after{content:"";position:absolute;inset:0;background:conic-gradient(rgba(0,8,11,.72) var(--cooldown),transparent 0);pointer-events:none}.ability-button b,.ability-button span,.ability-button small{position:relative;z-index:1;display:block}.ability-button b{font-size:19px;line-height:19px;color:#8affe7}.ability-button span{font-size:10px;font-weight:900;letter-spacing:.08em}.ability-button small{color:#a8c9c3;font-size:9px}.ability-button--sacrifice{--charge: 0deg;width:96px;height:96px;border-color:#73ffe07a;background:radial-gradient(circle at 36% 28%,#71ffe052,#073a39e0)}.ability-button--sacrifice:before{content:"";position:absolute;inset:4px;z-index:0;border-radius:50%;background:conic-gradient(rgba(117,255,222,.72) var(--charge),transparent 0);opacity:.65;mask:radial-gradient(circle,transparent 61%,#000 63%)}.ability-button--sacrifice.ability-button--charging{animation:sacrifice-breathe .7s ease-in-out infinite alternate}.ability-button--sacrifice.ability-button--charging b{color:#d8fff5;text-shadow:0 0 12px #62f4d5}.ability-button--sacrifice.ability-button--engaged{border-color:#a1ffebbf}.ability-button--sacrifice.ability-button--aiming{transform:scale(1.04);box-shadow:0 8px 30px #00000047,inset 0 1px #ffffff2e,0 0 28px #4ceecd52}.ability-button--sacrifice.ability-button--aiming b{color:#fff2aa;text-shadow:0 0 14px rgba(255,224,111,.7)}.ability-button--dash{width:88px;height:88px;margin-bottom:19px}.ability-button--dash b{color:#ffd389}.ability-button:active{transform:scale(.94);filter:brightness(1.2)}.ability-button:disabled{opacity:.36}.death-screen{opacity:1;visibility:visible;z-index:35;background:#020d119e}.death-card{text-align:center}.death-card .eyebrow{color:#ff8e87;font-size:11px;font-weight:900;letter-spacing:.15em}.death-card h2{margin:5px 0 24px;font-size:25px}.death-card dl{display:grid;grid-template-columns:repeat(4,1fr);margin:0}.death-card dl div{padding:9px 4px;border-right:1px solid rgba(255,255,255,.09)}.death-card dl div:last-child{border:0}.death-card dt{color:#769c96;font-size:9px;text-transform:uppercase}.death-card dd{margin:3px 0 0;font-size:19px;font-weight:800}.tutorial-hint,.event-toast{position:fixed;z-index:18;left:50%;transform:translate(-50%,-14px);max-width:min(85vw,520px);padding:10px 17px;border:1px solid rgba(126,241,220,.2);border-radius:999px;color:#d9fff7;background:#041c21d1;box-shadow:0 9px 35px #00000040;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;text-align:center;font-size:13px}.tutorial-hint{bottom:calc(var(--safe-bottom) + 128px)}.event-toast{top:calc(var(--safe-top) + 38px);color:#ffd486;border-color:#ffcd6b40}.tutorial-hint--visible,.event-toast--visible{opacity:1;transform:translate(-50%)}.debug-overlay{position:fixed;z-index:50;left:var(--safe-left);top:calc(var(--safe-top) + 157px);margin:0;padding:12px 14px;border:1px solid rgba(107,243,216,.28);border-radius:10px;color:#8df4df;background:#000c0fdb;font:11px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;pointer-events:none}.desktop-help{position:fixed;z-index:9;left:50%;bottom:12px;transform:translate(-50%);color:#b5dad380;font-size:10px;white-space:nowrap;pointer-events:none}@keyframes sacrifice-breathe{0%{box-shadow:0 8px 30px #00000047,inset 0 1px #ffffff1f,0 0 #50f4d200}to{box-shadow:0 8px 30px #00000047,inset 0 1px #ffffff1f,0 0 24px #50f4d240}}[hidden]{display:none!important}@media(pointer:fine)and (min-width:701px){.touch-controls{display:none!important}}@media(pointer:coarse){#game-canvas{cursor:default}.desktop-help{display:none}}@media(max-width:560px){.join-card{padding:27px 24px}.leaderboard{font-size:10px;width:40vw}.mass-card{min-width:103px;padding:10px 12px}.mass-card strong{font-size:24px}.connection-badge,.desktop-help{display:none}.death-card dl{grid-template-columns:repeat(2,1fr)}.death-card dl div:nth-child(2){border-right:0}.debug-overlay{top:calc(var(--safe-top) + 140px);max-width:calc(100vw - var(--safe-left) - var(--safe-right));padding:9px 10px;font-size:9px;line-height:1.42}}@media(max-height:540px)and (orientation:landscape){.joystick{width:106px;height:106px}.joystick i{left:29px;top:29px;width:48px;height:48px}.ability-button{width:68px;height:68px}.ability-button--sacrifice{width:82px;height:82px}.ability-button--dash{width:76px;height:76px;margin-bottom:8px}.join-card{padding:20px 28px}.join-card h1{font-size:38px}.tagline{margin:8px 0 15px}.join-card details,.microcopy{display:none}}
