:root{--ui-edge:clamp(.375rem, 2.4vmin, 1.75rem);--ui-gap:clamp(.25rem, 1.4vmin, .75rem);--ui-font-xs:clamp(.5625rem, 2.4vmin, .75rem);--ui-font-sm:clamp(.625rem, 2.8vmin, .875rem);--ui-font-md:clamp(.6875rem, 3.2vmin, 1rem);--ui-font-lg:clamp(.875rem, 4.2vmin, 1.5rem);--ui-button-height:clamp(2rem, 11.5vmin, 3.5rem);--ui-action-size:clamp(2rem, 12.5vmin, 4rem);--ui-ability-size:clamp(2.25rem, 15vmin, 5.25rem);--ui-stick-size:clamp(4rem, 28vmin, 8.25rem);--ui-crosshair-size:clamp(1.25rem, 6vmin, 1.625rem)}html,body{color:#f4f0e8;background:#101214;width:100%;height:100%;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}#game{touch-action:none;width:100vw;height:100vh;display:block}.ui-root{pointer-events:none;-webkit-user-select:none;user-select:none;width:100dvw;height:100dvh;position:fixed;inset:0}.ui-safe-area{inset:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:absolute}.ui-safe-area button,.ui-safe-area [data-interactive=true]{pointer-events:auto}#hangar{z-index:10;padding:var(--ui-edge);pointer-events:auto;background:radial-gradient(circle at 50% 35%,#29343cad,#101214b8 68%);place-items:center;display:grid;position:absolute;inset:0}#hangar[hidden]{display:none}#hangar[data-visual-hidden=true]>*{visibility:hidden}.hangar-card{left:var(--ui-edge);top:var(--ui-edge);text-align:left;width:min(48%,28rem);min-width:0;position:absolute}.hangar-card h1{margin:var(--ui-gap) 0;font-size:var(--ui-font-lg);line-height:1.15}.hangar-card p{color:#b9c5c8;font-size:var(--ui-font-sm);margin:0;line-height:1.25}.eyebrow{letter-spacing:.16em;color:#f2bf49!important;font-size:var(--ui-font-xs)!important}#start-button{right:var(--ui-edge);bottom:var(--ui-edge);min-height:var(--ui-button-height);color:#171512;font-size:var(--ui-font-md);background:#f2bf49;border:1px solid #f2bf49;border-radius:4px;padding:0 clamp(.75rem,4vmin,1.75rem);font-weight:800;position:absolute}#map-title{left:var(--ui-edge);top:calc(var(--ui-edge) + var(--ui-button-height));z-index:3;max-width:calc(100% - 2 * var(--ui-edge));padding:var(--ui-gap) calc(var(--ui-gap) * 1.25);color:#f2bf49;font-size:var(--ui-font-sm);background:#101214b8;border:1px solid #ffffff29;border-radius:4px;display:none;position:absolute}body[data-scene=gameplay] #map-title{display:block}#combat-test-hud{left:var(--ui-edge);top:calc(var(--ui-edge) + var(--ui-button-height) + 2.75rem);z-index:3;max-width:min(14rem, calc(50% - 2 * var(--ui-edge)));padding:var(--ui-gap) calc(var(--ui-gap) * 1.25);font-size:var(--ui-font-xs);font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#101214c7;border:1px solid #9fc7ff6b;border-radius:4px;flex-direction:column;gap:.15rem;line-height:1.25;display:none;position:absolute}body[data-scene=gameplay] #combat-test-hud{display:flex}#combat-test-hud strong{color:#9fc7ff;letter-spacing:.08em}#combat-crosshair-status{color:#c8dcff}#combat-test-hud[data-target-state=out-of-range] #combat-crosshair-status{color:#ffb45f}#combat-test-hud[data-target-state=in-range] #combat-crosshair-status{color:#8df0a9}#combat-test-hud[data-target-state=destroyed]{color:#ff8d7c;border-color:#ff6652b8}#combat-test-hud[data-visual-hidden=true]{display:none!important}#weapon-hud{top:var(--ui-edge);right:var(--ui-edge);z-index:3;gap:var(--ui-gap);padding:var(--ui-gap) calc(var(--ui-gap) * 1.25);color:#ffe84a;font-size:var(--ui-font-sm);font-variant-numeric:tabular-nums;background:#101214b8;border:1px solid #ffe14c6b;border-radius:4px;display:flex;position:absolute}#weapon-hud [data-reloading=true],#weapon-hud [data-cooling-down=true]{color:#ff9f55}body:not([data-scene=gameplay]):not([data-scene=debug]) #weapon-hud,body[data-visual-mode=map-overview] #weapon-hud,body[data-visual-mode=map-overview] #map-title,body[data-visual-mode=map-overview] #combat-test-hud,body[data-visual-mode=map-overview] #crosshair,body[data-visual-mode=map-overview] #fire-controls,body:not([data-scene=debug]) #debug-hud,body:not([data-scene=gameplay]) #movement-stick,body:not([data-scene=gameplay]) #crosshair,body:not([data-scene=gameplay]) #ability-button,body:not([data-scene=gameplay]) #fire-controls{display:none}body[data-scene=debug] #movement-stick,body[data-scene=debug] #fire-controls{display:block}body[data-scene=debug] #ability-button{display:flex}body[data-touch-controls=hidden] #movement-stick,body[data-touch-controls=hidden] #ability-button,body[data-touch-controls=hidden] #fire-controls{display:none}#debug-hud{left:var(--ui-edge);top:var(--ui-edge);gap:var(--ui-gap);max-width:min(32rem, calc(100% - 2 * var(--ui-edge)));padding:var(--ui-gap) calc(var(--ui-gap) * 1.25);font-size:var(--ui-font-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#101214b8;border:1px solid #ffffff29;border-radius:4px;flex-wrap:wrap;align-items:center;line-height:1.3;display:flex;position:absolute}#tick,#position,#input{color:#9fc7ff;font-variant-numeric:tabular-nums;white-space:nowrap}#movement-stick{--stick-thumb-size:calc(var(--ui-stick-size) * .36);z-index:2;width:var(--ui-stick-size);height:var(--ui-stick-size);touch-action:none;position:absolute;top:80%;left:11%;transform:translate(-50%,-50%)}#movement-stick-base{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);-webkit-user-select:none;user-select:none;background:radial-gradient(circle,#9fc7ff29 0 30%,#0000 31%),#10121494;border:1px solid #fff3;border-radius:50%;width:100%;height:100%;position:relative;box-shadow:inset 0 1px #ffffff1a}#movement-stick-thumb{left:calc((var(--ui-stick-size) - var(--stick-thumb-size)) / 2);top:calc((var(--ui-stick-size) - var(--stick-thumb-size)) / 2);width:var(--stick-thumb-size);height:var(--stick-thumb-size);pointer-events:none;background:#2a5b8ed1;border:1px solid #ffffff3d;border-radius:50%;position:absolute;box-shadow:inset 0 1px #ffffff29,0 6px 18px #0000003d}#movement-stick:active #movement-stick-base{border-color:#9fc7ffb8}#crosshair{width:var(--ui-crosshair-size);height:var(--ui-crosshair-size);pointer-events:none;filter:drop-shadow(0 1px 2px #000000d1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#ability-button{z-index:2;width:var(--ui-ability-size);min-width:var(--ui-ability-size);height:var(--ui-ability-size);color:#fff;font:700 var(--ui-font-xs)/1.1 Inter, ui-sans-serif, system-ui, sans-serif;touch-action:manipulation;background:radial-gradient(circle at 35% 30%,#b477e480,#733ca280 62%,#4b236d80);border:1px solid #c484ffb3;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:16%;left:94%;transform:translate(-100%);box-shadow:0 5px 18px #0000004d,inset 0 1px #fff3}#ability-button:active{filter:brightness(1.2);transform:translate(-100%,1px)}#ability-button[data-cooling-down=true],#fire-controls button[data-reloading=true]{filter:brightness(.58)saturate(.55)}#fire-controls{z-index:2;grid-template-columns:repeat(2, var(--ui-action-size));grid-template-rows:repeat(2, var(--ui-action-size));gap:var(--ui-gap);display:grid;position:absolute;top:16%;left:84%;transform:translate(-100%)}#fire-controls button{width:var(--ui-action-size);height:var(--ui-action-size);color:#ffe84a;font:700 var(--ui-font-lg)/1 Inter, ui-sans-serif, system-ui, sans-serif;touch-action:manipulation;background:#14191cd1;border:1px solid #ffe14cc7;border-radius:50%;padding:0;position:relative;box-shadow:0 4px 14px #0000004d,inset 0 1px #ffffff29}#fire-left-button{grid-area:2/1}#fire-both-button{grid-area:2/2}#fire-right-button{grid-area:1/2}#fire-controls button:active{filter:brightness(1.3);transform:translateY(1px)}.combat-action-icon,.combat-action-reload-icon{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:70%;height:70%;position:absolute;inset:15%}.combat-action-reload-icon{display:none}#fire-controls button[data-reloading=true] .combat-action-icon{opacity:0}#fire-controls button[data-reloading=true] .combat-action-reload-icon{animation:1s linear infinite combat-action-reload-spin;display:block}@keyframes combat-action-reload-spin{to{transform:rotate(360deg)}}#crosshair:before,#crosshair:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#crosshair:before{width:var(--ui-crosshair-size);background:linear-gradient(90deg,#f5faffeb 0 35%,#0000 35% 65%,#f5faffeb 65% 100%);height:2px}#crosshair:after{width:2px;height:var(--ui-crosshair-size);background:linear-gradient(#f5faffeb 0 35%,#0000 35% 65%,#f5faffeb 65% 100%)}@media (width<=360px),(height<=240px){#map-title{top:var(--ui-edge)}#combat-test-hud{top:calc(var(--ui-edge) + 2rem);max-width:40%;padding:.25rem .375rem;line-height:1.1}#debug-hud{max-width:calc(100% - 2 * var(--ui-edge));gap:.25rem;padding:.25rem .375rem;line-height:1.1}.hangar-card p:last-child{display:none}}
