:root{
  --bg:#08080c; --panel:#121218; --fg:#f2f3f5; --dim:rgba(255,255,255,.55);
  --gold:#E8B44F; --red:#ff3e5e; --blue:#4da3ff; --grn:#7dffb2; --line:rgba(255,255,255,.12);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:var(--bg);color:var(--fg);font-family:Manrope,system-ui,sans-serif;overflow:hidden;overscroll-behavior:none}
[hidden]{display:none!important}
#menu{overflow-y:auto;justify-content:flex-start;padding-top:max(28px,5vh);padding-bottom:40px}
.screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;text-align:center}
h1{font-family:'Press Start 2P',monospace;font-size:clamp(28px,8vw,56px);letter-spacing:4px;color:var(--gold);margin:0 0 8px;text-shadow:0 0 24px rgba(232,180,79,.35)}
.sub{color:var(--dim);margin:0 0 28px;font-size:16px}
.tiles{display:grid;gap:12px;width:min(440px,100%)}
@media (min-width:760px){.tiles{grid-template-columns:repeat(3,1fr);width:min(960px,100%)}}
.tile{background:var(--panel);border:2px solid var(--line);border-radius:16px;padding:18px 18px 14px;color:var(--fg);text-align:left;cursor:pointer;display:grid;gap:6px;font:inherit;transition:border-color .15s,transform .1s}
.tile:hover,.tile:focus-visible{border-color:var(--gold);outline:none}
.tile:active{transform:scale(.985)}
.t-name{font-family:'Press Start 2P',monospace;font-size:14px;letter-spacing:2px;color:var(--gold)}
.t-demo{width:100%;aspect-ratio:300/170;border-radius:10px;background:#0e0e14;border:1px solid var(--line);display:block}
.t-line{font-size:15px;line-height:1.3}
.t-best{font-size:12px;color:var(--dim);letter-spacing:1px;text-transform:uppercase;min-height:1em}
.foot{color:var(--dim);font-size:12px;margin:28px 0 0;letter-spacing:1px}

#play{padding:0;display:block}
#c{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}
#hud{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;pointer-events:none;font-family:'Press Start 2P',monospace;font-size:12px;letter-spacing:1px;color:var(--dim)}
#hud #hud-mid{color:var(--fg)}
#back{pointer-events:auto;background:var(--panel);border:2px solid var(--line);color:var(--fg);border-radius:10px;width:40px;height:36px;font-size:18px;cursor:pointer;line-height:1}
#rewind{position:absolute;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translateX(-50%);font-family:'Press Start 2P',monospace;font-size:13px;letter-spacing:2px;padding:14px 22px;border-radius:14px;border:2px solid var(--gold);background:rgba(232,180,79,.12);color:var(--gold);cursor:pointer}
#rewind:active{background:rgba(232,180,79,.3)}

.e-game{font-family:'Press Start 2P',monospace;font-size:13px;letter-spacing:2px;color:var(--dim);margin:0 0 14px}
.e-score{font-family:'Press Start 2P',monospace;font-size:clamp(26px,7vw,44px);color:var(--gold);margin:0 0 14px}
.e-why{font-size:17px;line-height:1.4;max-width:440px;margin:0 0 10px}
.e-best{font-size:13px;color:var(--dim);letter-spacing:1px;text-transform:uppercase;margin:0 0 28px;min-height:1em}
.e-row{display:flex;gap:10px}
.e-row button{font-family:'Press Start 2P',monospace;font-size:13px;letter-spacing:2px;padding:16px 20px;border-radius:14px;border:2px solid var(--gold);background:var(--gold);color:#000;cursor:pointer}
.e-row button.ghost{background:none;color:var(--gold)}
