*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:#08080f;color:#e8e8f0;font-family:Courier New,Courier,monospace;overflow:hidden;-webkit-user-select:none;user-select:none}.app{height:100%;display:flex;align-items:center;justify-content:center}.stage{position:relative;aspect-ratio:16 / 9;width:min(100vw,177.78vh)}.stage canvas{width:100%;height:100%;display:block;image-rendering:pixelated;background:#10101f}.hud-bar{position:absolute;top:8px;left:0;right:0;display:flex;justify-content:space-between;gap:8px;padding:0 16px;font-weight:700;letter-spacing:2px;font-size:clamp(10px,1.7vw,18px);text-shadow:2px 2px 0 #000;pointer-events:none}.hud-lives{color:#ff6b6b}.hud-lives-lost{color:#3a3450}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;background:#080812bd}.overlay h1{margin:0;font-size:clamp(40px,8vw,80px);letter-spacing:12px;color:#ffe08a;text-shadow:5px 5px 0 #59324a}.overlay h2{margin:0;font-size:clamp(28px,5vw,48px);letter-spacing:8px;color:#ffe08a;text-shadow:4px 4px 0 #59324a}.tagline{margin:0;color:#b8b2d6;letter-spacing:2px}.controls-list{list-style:none;margin:6px 0;padding:0;color:#8d86b8;font-size:clamp(11px,1.6vw,16px);line-height:1.8;letter-spacing:1px}.final-score{margin:0;font-size:clamp(18px,3vw,28px);letter-spacing:3px}.best-score{margin:0;color:#ffd27f;letter-spacing:3px}.menu-btn{font-family:inherit;font-weight:700;font-size:clamp(14px,2vw,20px);letter-spacing:3px;color:#16161f;background:#ffe08a;border:none;border-radius:4px;padding:12px 28px;cursor:pointer;box-shadow:0 4px #b08d3e}.menu-btn:active{transform:translateY(3px);box-shadow:0 1px #b08d3e}.touch-controls{display:none;position:absolute;left:0;right:0;bottom:10px;justify-content:space-between;padding:0 14px;pointer-events:none}.touch-group{display:flex;gap:12px;align-items:flex-end}.touch-btn{pointer-events:auto;width:72px;height:72px;border-radius:50%;background:#ffffff1f;border:2px solid rgba(255,255,255,.35);color:#fff;font-family:inherit;font-weight:700;font-size:20px;touch-action:none;-webkit-tap-highlight-color:transparent}.touch-flap{width:92px;height:92px;font-size:16px;background:#ffe08a2e;border-color:#ffe08a80}.touch-pause{width:48px;height:48px;font-size:16px}@media(pointer:coarse){.touch-controls{display:flex}}
