:root{--bg: #0b0e0a;--panel: #16201a;--line: #28392c;--ink: #eaf6e6;--muted: #8fb89a;--accent: #5ad06a;--gold: #ffd36e;--danger: #ff5a6a;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:radial-gradient(800px 500px at 50% -10%,#16241a,var(--bg));color:var(--ink);font-family:Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;user-select:none;touch-action:manipulation}.wrap{max-width:480px;margin:0 auto;padding:12px 12px 22px;display:flex;flex-direction:column;min-height:100vh}header h1{margin:0;font-size:1.8rem;letter-spacing:4px;font-weight:800;background:linear-gradient(180deg,#bff7c8,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.tag{margin:2px 0 0;color:var(--muted);font-size:.76rem;line-height:1.3}.bar{display:flex;align-items:center;gap:7px;margin:9px 0;flex-wrap:wrap}.spacer{flex:1}.seg{display:inline-flex;background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.seg button{background:transparent;color:var(--muted);border:0;padding:6px 11px;font-size:.78rem;cursor:pointer}.seg button.active{background:linear-gradient(180deg,var(--accent),#2fa84a);color:#04150b;font-weight:700}button.btn{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:9px;padding:6px 11px;font-size:.8rem;cursor:pointer}.hud{display:flex;gap:6px;margin-bottom:7px;align-items:stretch}.hud .box{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:3px 9px;text-align:center}.hud .grow{flex:1}.hud .k{font-size:.54rem;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.hud b{font-size:1rem}.lenbar,.timebar{height:7px;border-radius:4px;background:#0c160f;border:1px solid var(--line);margin-top:3px;overflow:hidden;position:relative}.lenbar>i{display:block;height:100%;background:var(--accent)}.lenbar .mark{position:absolute;top:-1px;bottom:-1px;width:2px;background:var(--danger)}.timebar>i{display:block;height:100%;background:var(--gold)}.stage{position:relative;display:flex;justify-content:center;flex:1 1 auto;min-height:0}canvas{display:block;height:auto;width:auto;max-width:100%;max-height:62vh;background:#0a120c;border:1px solid var(--line);border-radius:12px;touch-action:none}.reflex{margin-top:8px;display:none}.reflex button{width:100%;background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:10px;font-size:.85rem;cursor:pointer}.reflex button:active{background:#1d3326}.reflex .gauge{height:5px;background:#0c160f;border-radius:3px;margin-top:5px;overflow:hidden}.reflex .gauge>i{display:block;height:100%;background:#7fd0ff}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#080e0ae0;border-radius:12px;backdrop-filter:blur(2px);text-align:center;padding:14px;overflow:auto}.overlay.hidden{display:none}.overlay .card{width:100%;max-width:340px}.overlay h2{margin:0 0 6px;font-size:1.4rem}.overlay p{margin:0 0 10px;color:var(--muted);font-size:.84rem;line-height:1.45}.overlay b{color:var(--ink)}.warn{color:var(--danger);font-weight:700}button.primary{background:linear-gradient(180deg,var(--accent),#2fa84a);color:#04150b;border:0;border-radius:10px;padding:9px 18px;font-weight:700;font-size:.92rem;cursor:pointer}button.primary:disabled{opacity:.4;cursor:default}button.ghost{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:8px 14px;font-size:.84rem;cursor:pointer;margin-left:6px}.shop{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}.shop button{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:9px;padding:7px 6px;font-size:.72rem;cursor:pointer;text-align:left;line-height:1.25}.shop button:disabled{opacity:.45;cursor:default}.shop .nm{font-weight:700;font-size:.78rem}.shop .cost{color:var(--gold);float:right}.shop .heal{grid-column:span 2;text-align:center;background:#17331f;border-color:#2c6a3e}.hint{margin:9px 0 0;color:var(--muted);font-size:.72rem;line-height:1.4}.hint b{color:var(--accent)}.hint .skull{color:var(--danger);font-weight:700}
