:root{--bg:#2b1d14;--panel:#4a3222;--ink:#f6ead8;--muted:#cdb9a0;--accent:#e0a458;--support:#4f8a5b;--spy:#4a7bb0;--sabotage:#b5483f}body[data-phase=night]{--bg:#14122b;--panel:#2a2550;--ink:#e9e6ff;--muted:#b3acd9;--accent:#9d8cff}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);margin:0;font-family:system-ui,-apple-system,Apple SD Gothic Neo,sans-serif;font-size:18px;line-height:1.35;transition:background 1s}#app{max-width:480px;height:100dvh;padding:8px 12px calc(8px + env(safe-area-inset-bottom));flex-direction:column;gap:8px;margin:0 auto;display:flex}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;border-radius:8px}button:disabled{opacity:.4;cursor:default}.top{flex-direction:column;flex:none;gap:3px;display:flex}.top-title{flex-wrap:wrap;justify-content:space-between;gap:0 8px;font-size:16px;display:flex}.top-title span{color:var(--muted)}.gauge{grid-template-columns:72px 1fr 48px;align-items:center;gap:6px;font-size:16px;display:grid}.gauge-track{background:var(--panel);border-radius:3px;height:12px;overflow:hidden}.gauge-fill{background:var(--accent);height:100%;transition:width .5s;display:block}.gauge.atk .gauge-fill{background:#d9a441}.gauge.def .gauge-fill{background:#6f8fd0}.gauge.sus .gauge-fill{background:#d0524a}.gauge-value{text-align:right}.stage{flex-direction:column;flex:1;justify-content:center;gap:6px;min-height:0;display:flex;overflow-y:auto}.controls{flex-direction:column;flex:none;justify-content:flex-end;gap:8px;height:58dvh;display:flex;overflow-y:auto}.line,.delta,.banner,.pips{margin:0}.delta{color:var(--accent)}.banner{background:var(--panel);border-radius:6px;padding:4px 8px;font-size:16px}.pips{text-align:center;color:var(--muted);font-size:16px}.heroes{flex-direction:column;gap:6px;display:flex}.hero{background:var(--panel);border-radius:8px;gap:8px;padding:6px;font-size:16px;display:flex}.hero-info{flex-direction:column;min-width:0;display:flex}.portrait{background:#7a6a58;border-radius:6px;flex:none;place-items:center;width:64px;font-size:16px;display:grid}.grade-2 .portrait{background:#4f7f6f}.grade-3 .portrait{background:#6a57a5}.grade-4 .portrait{background:#b0822f}.tabs{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.tab{background:var(--panel);min-height:44px}.tab.active.support,.card.support{background:var(--support)}.tab.active.spy,.card.spy{background:var(--spy)}.tab.active.sabotage,.card.sabotage{background:var(--sabotage)}.cards{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.card{text-align:left;flex-direction:column;gap:2px;min-height:92px;padding:8px;font-size:16px;display:flex}.primary,.choice{flex:none;min-height:52px;padding:8px 12px}.primary{background:var(--accent);color:#20150c;font-weight:700}.choice{background:var(--panel)}.choice.danger{background:var(--sabotage)}.tap-screen{background:var(--panel);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:16px;display:flex}.hint{color:var(--muted);font-size:16px}.defenses{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.defense{background:var(--panel);border-radius:8px;flex-direction:column;padding:6px;font-size:16px;display:flex}.controls.scroll{justify-content:flex-start}.row{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.row .choice{padding:6px 4px;font-size:16px}.stepper{grid-template-columns:1fr 52px 52px 64px;align-items:center;gap:6px;display:grid}.ending{margin:0;font-size:28px}
