*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:#0b1020;color:#eee;font-family:system-ui,sans-serif;overflow:hidden;touch-action:none}
#wrap{position:relative;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center}
canvas{width:100vw;height:100vh;background:#5fa8ff;image-rendering:pixelated;display:block}
#overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:rgba(5,10,30,.78);text-align:center;padding:1rem}
#overlay.hidden{display:none}
#overlay h1{font-size:clamp(1.8rem,6vw,3.5rem);letter-spacing:.05em;color:#ffd84a;text-shadow:3px 3px 0 #b3261e}
#overlay .sub{margin-top:-.6rem;font-size:clamp(1rem,3vw,1.6rem);letter-spacing:.3em;text-transform:uppercase;color:#fff;text-shadow:2px 2px 0 #b3261e}
#overlay p{max-width:36rem;line-height:1.5}
#overlay .keys{opacity:.8;font-size:.9rem}
#overlay button{font:inherit;font-size:1.25rem;padding:.6rem 2.2rem;border:0;border-radius:.4rem;background:#e03a2f;color:#fff;cursor:pointer;box-shadow:0 4px 0 #8c1f17}
#overlay button:active{transform:translateY(3px);box-shadow:0 1px 0 #8c1f17}
#touch{position:absolute;left:0;right:0;bottom:0;display:none;justify-content:space-between;padding:1rem;pointer-events:none}
#touch .pad{display:flex;gap:.6rem;pointer-events:auto}
#touch button{width:4.2rem;height:4.2rem;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:rgba(0,0,0,.35);color:#fff;font-size:1.6rem;user-select:none;-webkit-user-select:none}
@media (pointer:coarse){#touch{display:flex}}
#menuBtn{position:absolute;top:.35rem;right:.5rem;width:2.2rem;height:2.2rem;border:0;border-radius:.3rem;background:rgba(0,0,0,.35);color:#fff;font-size:1.2rem;cursor:pointer;display:none}
#menuBtn.show{display:block}
#menu{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;background:rgba(5,10,30,.82);padding:1rem}
#menu.hidden{display:none}
#menu h2{font-size:2rem;color:#ffd84a;margin-bottom:.5rem}
#menu button{font:inherit;font-size:1.05rem;width:min(20rem,90vw);padding:.6rem 1rem;border:0;border-radius:.4rem;background:#1f2a4a;color:#fff;cursor:pointer;box-shadow:0 3px 0 #0d1328}
#menu button[data-act=resume]{background:#e03a2f;box-shadow:0 3px 0 #8c1f17}
#menu button:active{transform:translateY(2px);box-shadow:none}
#menu .keys{opacity:.7;font-size:.85rem;margin-top:.5rem}
