:root{
  --ink:#eee; --bg:#182016; --panel:#202820; --accent:#e74c3c; --accent2:#f1c40f; --good:#2ecc71;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif}
main{display:grid;place-items:center;min-height:100vh;padding-top:64px;padding-bottom:40px}
#wrap{position:relative;width:min(100vw,1200px);aspect-ratio:16/9;background:#22301f;border:1px solid #000;box-shadow:0 10px 30px #0008}
canvas{width:100%;height:100%;display:block;background:#2a3a25}
header.hud{
  position:fixed;inset:0 0 auto 0;height:56px;display:flex;align-items:center;justify-content:space-between;
  gap:14px;padding:8px 12px;background:linear-gradient(#111a,#0009);backdrop-filter:blur(6px);border-bottom:1px solid #0008;z-index:10
}
.hud .left,.hud .right{display:flex;align-items:center;gap:10px}
.health{display:flex;align-items:center;gap:6px}
.health .bar{width:180px;height:12px;background:#3a0000;border-radius:6px;overflow:hidden;border:1px solid #0008}
.health .bar i{display:block;height:100%;background:linear-gradient(90deg,#30e36e,#18a34b)}
.stat{background:#0006;border:1px solid #0009;border-radius:8px;padding:4px 8px;font-variant-numeric:tabular-nums}
.tab,#btnPause, .shop .card, .modal .box button{
  background:#2b2b2b;border:1px solid #000a;color:#fff;padding:8px 12px;border-radius:10px;cursor:pointer
}
.tab.active{outline:2px solid var(--accent2)}
#wrap #overlay{position:absolute;inset:0;pointer-events:none}
.help{position:absolute;left:12px;top:12px;background:#0008;border:1px solid #000a;border-radius:10px;padding:8px 10px;font-size:.9rem;max-width:360px;line-height:1.35;pointer-events:none}
.mobile{position:absolute;bottom:12px;pointer-events:auto;opacity:.9}
.leftpad{left:12px}
.rightpad{right:12px;text-align:right}
.pad{width:90px;height:90px;border-radius:16px;background:#0005;border:1px solid #000a;display:grid;place-items:center;margin-bottom:8px}
.pad b{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;border:1px solid #0006;background:#ffffff20;font-weight:700}
.pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border-radius:999px;background:#0007;border:1px solid #0009}
.shop{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);background:#0006;border:1px solid #000a;border-radius:12px;padding:6px 8px;pointer-events:auto}
.shop-row{display:flex;gap:8px;justify-content:center;margin:4px 0}
.shop .card small{opacity:.85}
.modal{position:absolute;inset:0;display:grid;place-items:center;background:#0006;backdrop-filter:blur(4px);pointer-events:auto}
.modal.hidden{display:none}
.modal .box{background:var(--panel);border:1px solid #000a;border-radius:12px;padding:16px;min-width:280px}
.modal .box .row{display:flex;gap:10px;margin-top:8px}
footer{position:fixed;inset:auto 0 0 0;height:32px;display:grid;place-items:center;background:#111;color:#bbb;border-top:1px solid #000}
@media (min-width:900px){
  .mobile{display:none}
}