:root{--bg: #0b0d12;--panel: #141824;--panel-light: #1e2434;--line: #e8b64c;--text: #e8e4d8;--text-dim: #8a8776;--danger: #d94f4f;--heal: #6fd08c;--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:system-ui,sans-serif;overscroll-behavior:none}button{font:inherit}.screen{height:100%;display:flex;flex-direction:column;padding:calc(12px + var(--sat)) calc(16px + var(--sar)) calc(12px + var(--sab)) calc(16px + var(--sal));overflow-y:auto}.screen.game{padding:0;overflow:hidden}.brand{text-align:center;letter-spacing:.28em;font-weight:700;margin:8px 0 2px}.tagline{text-align:center;color:var(--text-dim);font-size:13px;margin:0 0 18px}.panel{background:var(--panel);border-radius:14px;padding:14px;margin-bottom:12px}.panel h3{margin:0 0 10px;font-size:14px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim)}.btn{display:block;width:100%;padding:14px;margin:8px 0;border:0;border-radius:12px;background:var(--panel-light);color:var(--text);font-size:16px;font-weight:600;cursor:pointer;transition:transform .06s ease}.btn:active{transform:scale(.98)}.btn.primary{background:var(--line);color:#171204}.btn.ghost{background:transparent;color:var(--text-dim)}.btn:disabled{opacity:.45;cursor:default}.btn.small{width:auto;display:inline-block;padding:8px 14px;font-size:14px;margin:0}.input{width:100%;padding:13px;border-radius:12px;border:1px solid var(--panel-light);background:var(--panel);color:var(--text);font-size:16px;outline:none}.input:focus{border-color:var(--line)}.row{display:flex;gap:10px;align-items:center}.row>.grow{flex:1}.muted{color:var(--text-dim);font-size:13px}.error{color:var(--danger);font-size:14px}.cardgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.card{background:var(--panel-light);border-radius:12px;padding:12px;cursor:pointer;border:2px solid transparent;text-align:left;color:var(--text)}.card.selected{border-color:var(--line)}.card .name{font-weight:700;font-size:14px}.card .blurb{color:var(--text-dim);font-size:12px;margin-top:4px;line-height:1.35}.seat{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--panel-light)}.seat:last-child{border-bottom:0}.dot{width:10px;height:10px;border-radius:50%;background:var(--text-dim);flex:0 0 auto}.dot.on{background:var(--heal)}.dot.bot{background:var(--line)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(24px + var(--sab));background:var(--panel-light);color:var(--text);border-radius:12px;padding:12px 18px;box-shadow:0 6px 24px #00000080;z-index:40;max-width:90vw;display:flex;gap:12px;align-items:center}.banner{position:fixed;top:calc(8px + var(--sat));left:50%;transform:translate(-50%);background:var(--danger);color:#fff;padding:8px 16px;border-radius:10px;z-index:40;font-size:13px}.banner.info{background:var(--panel-light)}.spin{width:34px;height:34px;margin:40px auto;border-radius:50%;border:3px solid var(--panel-light);border-top-color:var(--line);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hud-top{position:absolute;top:0;left:0;right:0;z-index:10;padding:calc(6px + var(--sat)) calc(10px + var(--sar)) 6px calc(10px + var(--sal));display:flex;justify-content:space-between;align-items:center;gap:8px;pointer-events:none;font-size:13px;text-shadow:0 1px 3px #000}.hud-bottom{position:absolute;bottom:0;left:0;right:0;z-index:10;padding:8px calc(10px + var(--sar)) calc(8px + var(--sab)) calc(10px + var(--sal));display:flex;justify-content:space-between;align-items:flex-end;gap:8px;pointer-events:none}.hud-bottom>*,.hud-top>*{pointer-events:auto}.hpbar{height:10px;border-radius:5px;background:var(--panel-light);overflow:hidden;flex:1}.hpbar>div{height:100%;background:var(--line);transition:width .3s ease}.hpbar.boss>div{background:var(--danger)}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:#0b0d12d1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(16px + var(--sat)) 16px calc(16px + var(--sab))}.overlay .panel{width:100%;max-width:420px}.skillbtn{min-width:64px;padding:10px;border-radius:12px;border:2px solid var(--panel-light);background:var(--panel);color:var(--text);font-size:12px;font-weight:700;cursor:pointer}.skillbtn.armed{border-color:var(--line);background:var(--panel-light)}.skillbtn:disabled{opacity:.4}.initbar{display:flex;gap:4px}.initbar .chip{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;background:var(--panel);border:2px solid transparent;color:var(--text)}.initbar .chip.active{border-color:var(--line)}.initbar .chip.dead{opacity:.35}
