.touch-controls.svelte-18oyljh{position:absolute;inset:0;pointer-events:none;z-index:2;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.touch-controls__joystick.svelte-18oyljh,.touch-controls__actions.svelte-18oyljh{position:absolute;pointer-events:none}.touch-controls__joystick.svelte-18oyljh{left:clamp(.75rem,3vw,1.65rem);bottom:calc(clamp(.75rem,3vw,1.65rem) + env(safe-area-inset-bottom,0px))}.touch-controls__joystick.svelte-18oyljh>:where(.svelte-18oyljh){pointer-events:auto}.touch-controls__actions.svelte-18oyljh{right:clamp(.75rem,3vw,1.65rem);bottom:calc(clamp(.75rem,3vw,1.65rem) + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:flex-end;gap:clamp(.5rem,2vw,.85rem)}.touch-controls__actions.svelte-18oyljh>:where(.svelte-18oyljh){pointer-events:auto}.joystick-zone.svelte-18oyljh{position:relative;width:clamp(5.25rem,22vw,7.25rem);aspect-ratio:1 / 1;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none}.joystick-base.svelte-18oyljh{position:relative;width:100%;height:100%}.joystick-base.svelte-18oyljh .joy-bg:where(.svelte-18oyljh),.joystick-base.svelte-18oyljh .joy-ring:where(.svelte-18oyljh){position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.joystick-base.svelte-18oyljh .joy-bg:where(.svelte-18oyljh){opacity:.68}.joystick-base.svelte-18oyljh .joy-ring:where(.svelte-18oyljh){opacity:.92;filter:drop-shadow(0 0 14px rgba(59,130,246,.45))}.joystick-base.svelte-18oyljh .joy-nub:where(.svelte-18oyljh){position:absolute;top:50%;left:50%;width:clamp(44px,18vw,54px);height:clamp(44px,18vw,54px);transform:translate3d(calc(-50% + var(--joy-offset-x, 0px)),calc(-50% + var(--joy-offset-y, 0px)),0);transition:transform .08s ease;pointer-events:none}.joystick-base.svelte-18oyljh .joy-nub:where(.svelte-18oyljh) img:where(.svelte-18oyljh){width:100%;height:100%;filter:drop-shadow(0 12px 24px rgba(2,132,199,.45))}.shoot-button.svelte-18oyljh{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;border:none;border-radius:999px;width:clamp(3.6rem,14vw,4.75rem);aspect-ratio:1 / 1;padding:.55rem;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;font-weight:700;font-size:.9rem;line-height:1;text-transform:uppercase;letter-spacing:.08em;color:#0f172a;background:linear-gradient(to top,#facc15f5,#f97316f5) bottom / 100% var(--ammo-fill, 100%) no-repeat,linear-gradient(to bottom,#0f172a40,#0f172ab3);box-shadow:0 0 0 1px #ffffff1f,0 12px 22px #f9731652;transition:transform .1s ease,box-shadow .18s ease,background .18s ease}.shoot-button.svelte-18oyljh:focus-visible{outline:3px solid rgba(14,165,233,.85);outline-offset:3px}.shoot-button.svelte-18oyljh:active{transform:translateY(1px);box-shadow:0 8px 18px #f973164d}.shoot-button__label.svelte-18oyljh{font-size:.72rem;letter-spacing:.12em;pointer-events:none}.shoot-button__ammo.svelte-18oyljh{font-size:1.2rem;font-weight:800;letter-spacing:.05em;pointer-events:none}.shoot-button.svelte-18oyljh:disabled,.shoot-button[aria-disabled=true].svelte-18oyljh,.shoot-button-empty.svelte-18oyljh{background:linear-gradient(to top,#94a3b8e6,#64748be0) bottom / 100% var(--ammo-fill, 100%) no-repeat,linear-gradient(to bottom,#1e293b73,#0f172ae6);color:#e2e8f0d1;box-shadow:0 0 0 1px #ffffff12,0 8px 18px #1e293b66;cursor:not-allowed}.boost-button.svelte-18oyljh{pointer-events:auto;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;border:none;border-radius:50%;width:clamp(3.2rem,13vw,4.5rem);aspect-ratio:1 / 1;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#0f172a;background:radial-gradient(circle at 32% 30%,#22d3ee,#38bdf8);box-shadow:0 0 0 1px #ffffff1a,0 12px 22px #38bdf852;transition:transform .12s ease,box-shadow .18s ease}.boost-button.svelte-18oyljh:focus-visible{outline:3px solid rgba(125,211,252,.85);outline-offset:3px}.boost-button.svelte-18oyljh:active{transform:translateY(1px);box-shadow:0 8px 18px #38bdf84d}@media(max-width:640px){.touch-controls__joystick.svelte-18oyljh{left:clamp(.6rem,3vw,1.25rem);bottom:calc(clamp(.6rem,3vw,1.25rem) + env(safe-area-inset-bottom,0px))}.touch-controls__actions.svelte-18oyljh{right:clamp(.6rem,3vw,1.25rem);bottom:calc(clamp(.6rem,3vw,1.25rem) + env(safe-area-inset-bottom,0px));gap:clamp(.45rem,2.5vw,.75rem)}.joystick-zone.svelte-18oyljh{width:clamp(5.6rem,28vw,7.4rem)}}@media(max-width:420px){.shoot-button.svelte-18oyljh{width:clamp(3.8rem,18vw,4.9rem);padding:.65rem}.boost-button.svelte-18oyljh{width:clamp(3.4rem,16vw,4.7rem)}}@media(min-width:1024px){.touch-controls.svelte-18oyljh{display:none}}.overlay.svelte-34rf8i{position:absolute;inset:1.5rem;display:grid;place-items:center;background:#020617d1;border-radius:1.5rem;color:#f8fafc;padding:2rem;text-align:center;gap:1rem;z-index:3}.overlay.svelte-34rf8i h2:where(.svelte-34rf8i){font-size:2rem;margin:0}.overlay.svelte-34rf8i ul:where(.svelte-34rf8i){margin:0;padding:0;list-style:none;display:grid;gap:.35rem;font-size:.95rem}.overlay-actions.svelte-34rf8i{display:flex;justify-content:center}.reticle.svelte-1m3id4s{position:absolute;top:0;left:0;width:clamp(36px,4.2vw,60px);height:clamp(36px,4.2vw,60px);transform:translate3d(var(--reticle-x, 0),var(--reticle-y, 0),0) translate(-50%,-50%) scale(var(--reticle-scale, 1));opacity:var(--reticle-opacity, 0);pointer-events:none;color:#7dd3fceb;filter:drop-shadow(0 0 calc(8px + 14px * var(--reticle-glow, 0)) rgba(56,189,248,.6));transition:opacity .12s ease;z-index:1;will-change:transform,opacity}.reticle.svelte-1m3id4s svg:where(.svelte-1m3id4s){width:100%;height:100%;display:block}.reticle-outline.svelte-1m3id4s{fill:none;stroke:currentColor;stroke-width:6;stroke-linecap:round;stroke-dasharray:16 14;opacity:calc(.48 + var(--reticle-glow, 0) * .28)}.reticle-core.svelte-1m3id4s{fill:currentColor;opacity:calc(.22 + var(--reticle-glow, 0) * .35)}.reticle-pointer.svelte-1m3id4s{fill:none;stroke:currentColor;stroke-width:6;stroke-linecap:round;opacity:calc(.68 + var(--reticle-glow, 0) * .24)}.reticle.reticle-active.svelte-1m3id4s{color:#facc15eb;filter:drop-shadow(0 0 calc(10px + 20px * var(--reticle-glow, 0)) rgba(250,204,21,.55))}.targeting-overlay.svelte-ltemvv{position:absolute;inset:0;pointer-events:none;z-index:5}.targeting-overlay.svelte-ltemvv .lead:where(.svelte-ltemvv){position:absolute;transform:translate(-50%,-50%);filter:drop-shadow(0 0 8px rgba(56,189,248,.4))}.targeting-overlay.svelte-ltemvv .lead:where(.svelte-ltemvv) svg:where(.svelte-ltemvv){display:block}.targeting-overlay.svelte-ltemvv .lead-core:where(.svelte-ltemvv){fill:#38bdf8d9}.targeting-overlay.svelte-ltemvv .lead-ring:where(.svelte-ltemvv){fill:none;stroke:#facc15e6;stroke-width:2.5;stroke-linecap:round;transform-origin:50% 50%;transform:rotate(-90deg)}.targeting-overlay.svelte-ltemvv .lead.locked:where(.svelte-ltemvv) .lead-core:where(.svelte-ltemvv){fill:#facc15f2}.targeting-overlay.svelte-ltemvv .lead.locked:where(.svelte-ltemvv) .lead-ring:where(.svelte-ltemvv){stroke:#facc15}.guidance-indicator.svelte-ltemvv{position:absolute;transform:translate(-50%,-50%);pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:.25rem;z-index:4;color:#38bdf8eb;text-shadow:0 1px 2px rgba(2,6,23,.8)}.guidance-arrow.svelte-ltemvv{width:clamp(30px,4vw,44px);height:clamp(30px,4vw,44px);display:grid;place-items:center;filter:drop-shadow(0 0 10px rgba(56,189,248,.6))}.guidance-arrow.svelte-ltemvv svg:where(.svelte-ltemvv){width:100%;height:100%;fill:currentColor}.guidance-label.svelte-ltemvv{font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;background:#020617b8;border:1px solid rgba(56,189,248,.35);border-radius:999px;padding:.2rem .6rem;color:#e0f2feeb}.guidance-distance.svelte-ltemvv{margin-left:.35rem;color:#7dd3fce6}.guidance-indicator.objective.svelte-ltemvv{color:#4ade80e6}.guidance-indicator.objective.svelte-ltemvv .guidance-label:where(.svelte-ltemvv){border-color:#4ade8059;color:#f0fdf4f2}.guidance-indicator.objective.svelte-ltemvv .guidance-distance:where(.svelte-ltemvv){color:#86eface6}.hud-overlay.svelte-1ytjvxb{position:absolute;inset:0;pointer-events:none;color:#f8fafc;font-family:system-ui,-apple-system,sans-serif;z-index:2}.hud-corner.svelte-1ytjvxb{position:absolute;display:flex;flex-direction:column;gap:.35rem;padding:.75rem}.hud-top-left.svelte-1ytjvxb{top:0;left:0}.hud-top-right.svelte-1ytjvxb{top:0;right:0;align-items:flex-end}.hud-stat.svelte-1ytjvxb{display:flex;align-items:baseline;gap:.5rem;line-height:1}.hud-wave-info.svelte-1ytjvxb,.hud-weapon-tier.svelte-1ytjvxb{margin-top:.15rem}.hud-label.svelte-1ytjvxb{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#cbd5e1f2}.boss-label.svelte-1ytjvxb{color:#fbbf24;animation:svelte-1ytjvxb-bossFlash .8s ease-in-out infinite alternate}@keyframes svelte-1ytjvxb-bossFlash{0%{opacity:1}to{opacity:.5}}.hud-value.svelte-1ytjvxb{font-size:1.1rem;font-weight:700;color:#f8fafc}.hud-value--danger.svelte-1ytjvxb{color:#fca5a5}.tier-value.svelte-1ytjvxb{font-size:.9rem;color:#60a5fa}.health-bar-thin.svelte-1ytjvxb{width:min(38vw,11rem);height:.3rem;border-radius:999px;overflow:hidden;background:#94a3b84d;border:1px solid rgba(148,163,184,.35)}.health-fill-thin.svelte-1ytjvxb{height:100%;background:linear-gradient(90deg,#22c55e,#34d399)}.health-fill-thin--danger.svelte-1ytjvxb{background:linear-gradient(90deg,#f97316,#ef4444)}.xp-bar-thin.svelte-1ytjvxb{width:min(38vw,11rem);height:.25rem;border-radius:999px;overflow:hidden;background:#60a5fa33;border:1px solid rgba(96,165,250,.35)}.xp-fill-thin.svelte-1ytjvxb{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);transition:width .3s ease-out}.lobby-overlay.svelte-1oivjlo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;padding:1rem}.lobby-panel.svelte-1oivjlo{background:linear-gradient(135deg,#0f172af2,#1e293be6);border:2px solid rgba(56,189,248,.3);border-radius:1rem;padding:2rem;max-width:500px;width:100%;box-shadow:0 20px 60px #00000080}.lobby-panel.svelte-1oivjlo h2:where(.svelte-1oivjlo){margin:0 0 1.5rem;color:#38bdf8;font-size:1.75rem;text-align:center;text-transform:uppercase;letter-spacing:.1em}.lobby-panel.svelte-1oivjlo h3:where(.svelte-1oivjlo){margin:1.5rem 0 .75rem;color:#22d3ee;font-size:1.125rem;text-transform:uppercase;letter-spacing:.08em}.lobby-info.svelte-1oivjlo{margin-bottom:1.5rem;padding:1rem;background:#0000004d;border-radius:.5rem;border:1px solid rgba(56,189,248,.2)}.lobby-info.svelte-1oivjlo p:where(.svelte-1oivjlo){margin:.5rem 0;color:#cbd5e1;font-size:.95rem}.lobby-players.svelte-1oivjlo{margin-bottom:1.5rem}.lobby-players.svelte-1oivjlo ul:where(.svelte-1oivjlo){list-style:none;padding:0;margin:0}.lobby-players.svelte-1oivjlo li:where(.svelte-1oivjlo){display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;margin:.5rem 0;background:#0000004d;border:1px solid rgba(56,189,248,.2);border-radius:.5rem;transition:all .2s ease}.lobby-players.svelte-1oivjlo li.is-ready:where(.svelte-1oivjlo){border-color:#22d3ee80;background:#22d3ee1a}.lobby-players.svelte-1oivjlo li.is-me:where(.svelte-1oivjlo){border-color:#facc1580;background:#facc151a}.player-id.svelte-1oivjlo{flex:1;color:#f1f5f9;font-weight:600}.host-badge.svelte-1oivjlo{color:#facc15;font-size:.85em;margin-left:.25rem}.player-status.svelte-1oivjlo{color:#94a3b8;font-size:.875rem}.lobby-players.svelte-1oivjlo li.is-ready:where(.svelte-1oivjlo) .player-status:where(.svelte-1oivjlo){color:#22d3ee}.kick-btn.svelte-1oivjlo{padding:.375rem .75rem;background:#ef444433;border:1px solid rgba(239,68,68,.4);border-radius:.375rem;color:#fca5a5;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.kick-btn.svelte-1oivjlo:hover{background:#ef44444d;border-color:#ef444499}.lobby-controls.svelte-1oivjlo{padding-top:1.5rem;border-top:1px solid rgba(56,189,248,.2)}.ready-toggle.svelte-1oivjlo{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#0000004d;border:1px solid rgba(56,189,248,.2);border-radius:.5rem;cursor:pointer;transition:all .2s ease}.ready-toggle.svelte-1oivjlo:hover{background:#38bdf81a;border-color:#38bdf866}.ready-toggle.svelte-1oivjlo input[type=checkbox]:where(.svelte-1oivjlo){width:1.5rem;height:1.5rem;cursor:pointer}.ready-toggle.svelte-1oivjlo span:where(.svelte-1oivjlo){color:#f1f5f9;font-weight:600;font-size:1rem}.host-controls.svelte-1oivjlo{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.require-all-ready-toggle.svelte-1oivjlo{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#0000004d;border:1px solid rgba(56,189,248,.2);border-radius:.5rem;cursor:pointer}.require-all-ready-toggle.svelte-1oivjlo input[type=checkbox]:where(.svelte-1oivjlo){width:1.25rem;height:1.25rem;cursor:pointer}.require-all-ready-toggle.svelte-1oivjlo span:where(.svelte-1oivjlo){color:#cbd5e1;font-size:.9rem}.start-btn.svelte-1oivjlo{margin-top:.75rem;padding:.5rem 1.1rem;border-radius:9999px;border:1px solid rgba(56,189,248,.5);background:linear-gradient(135deg,#0ea5e9,#38bdf8);color:#0f172a;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease,box-shadow .15s ease,opacity .15s ease;box-shadow:0 10px 24px #082f4973}.start-btn.svelte-1oivjlo:hover:enabled{transform:translateY(-1px);box-shadow:0 14px 30px #082f498c}.start-btn.svelte-1oivjlo:active:enabled{transform:translateY(0);box-shadow:0 8px 18px #082f4973}.start-btn.svelte-1oivjlo:disabled{opacity:.6;cursor:not-allowed;background:#0f172ae6;color:#e5e7eb;box-shadow:none}.start-hint.svelte-1oivjlo{margin:.5rem 0 0;padding:.75rem;background:#f973161a;border:1px solid rgba(249,115,22,.3);border-radius:.375rem;color:#fdba74;font-size:.875rem;text-align:center}.space-root.svelte-1s0tf2i{position:relative;width:100%;height:100%;min-height:0;display:flex;flex-direction:column;flex:1 1 auto;overflow:hidden;isolation:isolate}.theme-overlay.svelte-1s0tf2i{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--overlay-color) 20%,transparent),transparent 40%),radial-gradient(circle at 70% 80%,color-mix(in srgb,var(--overlay-color) 22%,transparent),transparent 45%);mix-blend-mode:screen;opacity:var(--overlay-opacity, 0);transition:opacity .2s ease;z-index:1}.theme-overlay--boss.svelte-1s0tf2i{mix-blend-mode:lighten}.viewport.svelte-1s0tf2i{position:absolute;inset:0;width:100%;height:100%;background:radial-gradient(circle at 50% 35%,#2563eb6b,#020617eb);overflow:hidden;z-index:0}.debug-hud.svelte-1s0tf2i{position:absolute;left:12px;top:12px;z-index:6;background:#020617b3;color:#e5e7eb;font:12px/1.3 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;padding:8px 10px;border-radius:8px;border:1px solid rgba(148,163,184,.25);pointer-events:none}.debug-hud.svelte-1s0tf2i>div:where(.svelte-1s0tf2i){white-space:nowrap}
