:root{color-scheme:dark;--bg: #0d1517;--panel: rgba(10, 18, 20, .78);--border: rgba(255, 244, 214, .18);--text: #f5ebcf;--muted: #cabd9f}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{overflow:hidden;font-family:Trebuchet MS,Segoe UI,sans-serif;background:radial-gradient(circle at top,rgba(255,165,100,.12),transparent 28%),linear-gradient(180deg,#15262a,#081012);color:var(--text);overscroll-behavior:none}#game{display:block;width:100%;height:100%}.score-banner{position:fixed;top:max(14px,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:15;min-width:168px;padding:10px 20px;border:1px solid rgba(255,236,188,.24);border-radius:999px;background:#0a1214b8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 14px 46px #00000047;color:#fff3cf;font-size:clamp(1rem,2vw,1.2rem);font-weight:700;letter-spacing:.08em;text-align:center;text-transform:uppercase;pointer-events:none}.speedometer{position:fixed;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));z-index:15;min-width:138px;padding:10px 18px;border:1px solid rgba(255,236,188,.2);border-radius:999px;background:#0a1214ad;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 14px 46px #00000047;color:#fff3cf;font-size:clamp(.95rem,1.8vw,1.1rem);font-weight:700;letter-spacing:.06em;text-align:center;text-transform:uppercase;pointer-events:none}.hud{position:fixed;top:18px;left:18px;max-width:min(360px,calc(100vw - 36px));padding:16px 18px;border:1px solid var(--border);border-radius:18px;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 60px #00000059;pointer-events:none;display:none}.hud.is-visible{display:block}.hud h1{margin:0 0 10px;font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase}.hud p{margin:6px 0;line-height:1.4;color:var(--muted)}.hud .hint{margin-top:10px;color:var(--text)}.touch-controls{position:fixed;inset:0;display:none;align-items:flex-end;justify-content:space-between;padding:max(12px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));pointer-events:none;z-index:20}.touch-move-pad{position:relative;width:min(38vw,220px);height:min(38vw,220px)}.touch-btn,.touch-fire{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;border:1px solid rgba(255,244,214,.22);color:#f5ebcfeb;background:#0a121424;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px #ffffff0a;font:inherit;letter-spacing:.08em;text-transform:uppercase}.touch-btn{position:absolute;width:31%;height:31%;border-radius:24px}.touch-up{top:0;left:34.5%}.touch-left{top:34.5%;left:0}.touch-down{left:34.5%;bottom:0}.touch-right{top:34.5%;right:0}.touch-fire{width:min(28vw,170px);height:min(28vw,170px);margin-right:2vw;margin-bottom:2vh;border-radius:999px;font-size:clamp(1rem,3vw,1.25rem)}.touch-btn.is-active,.touch-fire.is-active{background:#ffa95e33;border-color:#ffe2b573;color:#fff6df}@media(max-width:720px){.hud{right:12px;left:12px;top:12px;padding:14px 16px;border-radius:16px}.hud h1{font-size:1rem}}@media(pointer:coarse){.hud,.hud.is-visible{display:none}#game{touch-action:none}}@media(pointer:coarse)and (orientation:landscape){.touch-controls{display:flex}}
