*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}
:root{
  --bg:#0c0d0f; --panel:#15171a; --muted:#9aa3ad; --text:#e9edf2;
  --accent:#77d4c1; --danger:#e86b6b; --warn:#f1b67a; --ok:#9ed87a;
  --line:#22262b; --primary:#8bbaf1; --secondary:#708090;
}
body{background:var(--bg);color:var(--text);font:16px/1.5 system-ui,Segoe UI,Roboto,Ubuntu,sans-serif}
h1,h2,h3{margin:0 0 .5rem 0;font-weight:700;letter-spacing:.2px}
#app{display:flex;flex-direction:column;height:100%}
.topbar{
  display:flex;justify-content:space-between;align-items:center;
  padding:.75rem 1rem;border-bottom:1px solid var(--line);background:rgba(0,0,0,.25);backdrop-filter:blur(6px);
  position:sticky;top:0;z-index:10
}
.topbar h1{font-size:1.1rem;color:var(--muted)}
.topbar nav button{margin-left:.5rem}
.screen{display:none;max-width:1200px;margin:0 auto;padding:1rem;width:100%}
.screen.active{display:block}
.card{
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.005));
  border:1px solid var(--line);border-radius:16px;padding:1rem 1.25rem;box-shadow:0 10px 30px rgba(0,0,0,.2)
}
.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
button{
  border:1px solid var(--line);background:var(--panel);color:var(--text);
  padding:.6rem .9rem;border-radius:12px;cursor:pointer;transition:transform .06s ease,opacity .2s;
}
button:hover{transform:translateY(-1px)}
button:active{transform:translateY(0)}
button.primary{background:var(--primary);border-color:transparent;color:#0b1220}
button.secondary{background:var(--panel)}
button.ghost{background:transparent}
button.danger{background:var(--danger);border-color:transparent;color:#fff}
.meta{color:var(--muted);margin-top:.5rem}
.scores{width:100%;border-collapse:collapse;margin-top:.5rem}
.scores th,.scores td{border-bottom:1px solid var(--line);padding:.5rem;text-align:left;color:var(--text)}
kbd{background:#222;color:#ddd;border-radius:6px;padding:.1rem .35rem;border:1px solid #333}
.help-list{margin:.5rem 0 .25rem 1rem}
.hud{
  position:sticky;top:56px;display:flex;justify-content:space-between;align-items:center;
  padding:.4rem .7rem;background:rgba(0,0,0,.25);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);z-index:5
}
.hud span{margin-right:.8rem;color:var(--muted)}
#game{display:block;width:100%;height:calc(100dvh - 140px);background:radial-gradient(1000px 500px at 100% 0%, rgba(255,255,255,.03), rgba(0,0,0,0))}
.overlay{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);backdrop-filter:blur(4px)
}
.overlay.hidden{display:none}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:1rem 1.25rem;width:min(520px,92vw)}
.panel h3{margin-bottom:.5rem}
/* Responsive */
@media (max-width:700px){
  .topbar h1{font-size:.95rem}
  .hud{top:52px}
  #game{height:calc(100dvh - 136px)}
  button{padding:.55rem .75rem}
}
