*{box-sizing:border-box}
:root{--ink:#4e1210;--ink2:#8a5a48;--cream:#f8f0e6;--orange:#fcae68;--red:#de4c37;--green:#6f9a3f;--gold:#f0bd5c}
html,body{margin:0;height:100%;overflow:hidden;background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
#c{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}

#hud{position:fixed;left:0;right:0;top:0;padding:calc(10px + env(safe-area-inset-top)) 14px 18px;background:linear-gradient(to bottom,rgba(248,240,230,.92),rgba(248,240,230,0));pointer-events:none;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
#hud .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13.5px}
#score,#wrath,#depth{white-space:nowrap}
#depth{color:var(--ink2)}
#depth.good{color:var(--green)}
#depth.bad{color:var(--red)}
#hud b{font-weight:800}
#wrath{color:var(--ink2)}
#wrath.on{color:var(--red);font-weight:800}
#banner{margin:10px auto 0;text-align:center;font-family:Georgia,"Times New Roman",serif;font-size:24px;font-weight:700;text-shadow:0 0 12px var(--cream),0 0 4px var(--cream)}
#banner.big{font-size:38px;margin-top:22vh}
#banner small{display:block;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:14px;font-weight:600;margin-top:6px;color:var(--ink2)}
#banner button{pointer-events:auto;margin-top:16px;font:inherit;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:16px;font-weight:700;padding:10px 22px;border-radius:12px;border:2.5px solid var(--ink);background:var(--ink);color:var(--cream);box-shadow:0 4px 0 var(--ink)}
#banner #btnLevel{background:var(--cream);color:var(--ink)}

#controls{position:fixed;left:0;right:0;bottom:0;padding:26px 12px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to bottom,rgba(248,240,230,0),rgba(248,240,230,.94) 40%)}
#controls .status{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;color:var(--ink2);padding:0 6px 8px;font-variant-numeric:tabular-nums}
#controls .status b{color:var(--ink);font-weight:800}
#mine b{color:var(--red)}
#theirs b{color:#2f3f9e}
#breath,#breathHim{display:inline-flex;gap:3px;vertical-align:middle}
#breath i,#breathHim i{display:block;width:13px;height:9px;border-radius:3px;background:rgba(78,18,16,.14);border:1.5px solid rgba(78,18,16,.35)}
#breathHim i{width:10px;height:8px}
#breath i.on,#breathHim i.on{background:var(--green);border-color:var(--ink)}
#breath.low i.on,#breathHim.low i.on{background:var(--red)}
#tip{text-align:center;font-size:14px;font-weight:700;color:var(--ink);padding:0 8px 8px;text-shadow:0 0 10px var(--cream),0 0 4px var(--cream)}
.btns{display:grid;grid-template-columns:1fr;gap:12px}
#safe{text-align:center;font-size:13px;font-weight:700;padding:0 8px 8px;text-shadow:0 0 10px var(--cream),0 0 4px var(--cream)}
#safe.ok{color:var(--green)}
#safe.bad{color:var(--red)}
.btns button{font:inherit;font-size:20px;font-weight:800;color:var(--ink);border:3px solid var(--ink);border-radius:18px;padding:15px 10px 11px;touch-action:none;line-height:1.1;box-shadow:0 5px 0 var(--ink);transition:transform .05s,box-shadow .05s}
.btns button small{display:block;font-size:11.5px;font-weight:600;opacity:.75;margin-top:3px}
#btnPush{background:var(--orange)}
#btnPush.active{background:var(--gold);transform:translateY(4px);box-shadow:0 1px 0 var(--ink)}
#btnBolt{background:var(--cream)}
#btnBolt:disabled{opacity:.4}
#btnBolt.flash{background:#fff7d6;transform:translateY(4px);box-shadow:0 1px 0 var(--ink)}

#intro{position:fixed;inset:0;background:linear-gradient(to bottom,rgba(248,240,230,.35),rgba(248,240,230,.97) 42%);display:flex;align-items:flex-end;justify-content:center;padding:20px;overflow:auto}
#intro .card{max-width:440px;width:100%;padding-bottom:calc(6px + env(safe-area-inset-bottom))}
#intro h1{font-family:Georgia,"Times New Roman",serif;font-size:64px;margin:0;line-height:1;letter-spacing:-.01em}
#intro .sub{color:var(--ink2);margin:6px 0 16px;font-weight:600}
#intro p{font-size:14.5px;line-height:1.45;margin:0 0 9px}
#intro p b{font-weight:800}
#intro .goal{font-weight:700;margin-top:12px}
#intro button{font:inherit;font-size:19px;font-weight:800;width:100%;padding:15px;border:3px solid var(--ink);border-radius:18px;background:var(--orange);color:var(--ink);margin-top:14px;box-shadow:0 5px 0 var(--ink)}
#intro button:active{transform:translateY(4px);box-shadow:0 1px 0 var(--ink)}
#intro .keys{color:var(--ink2);font-size:12.5px;text-align:center;margin-top:10px}
#levels{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:14px}
#levels span{color:var(--ink2);margin-right:4px;font-weight:600}
#levels button{font:inherit;font-size:14px;font-weight:700;padding:7px 12px;border-radius:12px;border:2px solid var(--ink);background:transparent;color:var(--ink);width:auto;margin:0;box-shadow:none}
#levels button.on{background:var(--ink);color:var(--cream)}
#levels button:active{transform:none}
[hidden]{display:none!important}
