:root{--bg:#0d0f0c;--fg:#e8b464;--dim:#8f7a55;--danger:#d64545;--ok:#7bb661}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);-webkit-text-size-adjust:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px}.screen{max-width:480px;height:100%;padding:env(safe-area-inset-top) 12px env(safe-area-inset-bottom);flex-direction:column;gap:8px;margin:0 auto;display:flex}.screen:focus{outline:none}.bar{color:var(--dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 12px;padding:8px 0;display:flex}.version{opacity:.5;letter-spacing:.05em;font-size:.85em}.replay-banner{text-align:center;letter-spacing:2px;color:var(--bg);background:var(--dim);border-radius:4px;padding:4px 0;font-size:13px}.training-hint{color:var(--dim);font-size:13px;line-height:1.4}.cost-danger{color:var(--danger)}.combatant{border-top:1px solid var(--dim);padding-top:8px}.name{margin-bottom:4px}.backpack{color:var(--dim);margin-top:4px;font-size:13px}.energy{letter-spacing:1px;opacity:.85;font-family:inherit}.synergy{color:var(--ok);letter-spacing:1px;font-size:.85em}.synergy.dim{color:var(--dim)}.hp-bar{gap:8px;display:flex}.hp-num{color:var(--dim)}.hp-high{color:var(--ok)}.hp-mid{color:var(--fg)}.hp-low{color:var(--danger)}.log{border-top:1px solid var(--dim);border-bottom:1px solid var(--dim);flex:1;min-height:0;padding:8px 0;overflow-y:auto}.log-line{padding:2px 0;animation:.12s ease-out appear}.cue-heal{color:var(--ok)}.cue-ability{color:#d9c78f}.cue-chain{color:var(--ok);font-weight:700}.cue-shield{color:#7fb4d9}.cue-drain{color:#b07fd9}.cue-stun{color:#d9d97f}.cue-death{color:var(--danger);letter-spacing:1px;font-weight:700}.log-divider{color:var(--dim);opacity:.6;text-align:center;font-size:12px}@keyframes appear{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.spell-warn{letter-spacing:1px}.spell-warn.imminent{color:var(--danger);font-weight:700}.hp-hit{animation:.25s ease-out hp-hit}@keyframes hp-hit{0%{filter:brightness(2.2)}to{filter:none}}button{font:inherit;color:var(--fg);border:1px solid var(--dim);background:0 0;border-radius:4px;padding:14px 18px}button:active:not(:disabled){background:#ffffff12;transform:translateY(1px);box-shadow:inset 0 1px 3px #0009}button:disabled{color:var(--dim)}button:focus-visible{outline:1px solid var(--fg);outline-offset:2px}.ghost{border:none;min-height:44px;padding:10px 12px}.intervention{width:100%}.intervention.chain-ready:not(:disabled){border-color:var(--ok);box-shadow:0 0 6px var(--ok);color:var(--ok)}@media (prefers-reduced-motion:reduce){.log-line,.hp-hit{animation:none}.boot div{opacity:1;animation:none}.boot .cursor{animation:none}}.boot{color:var(--dim);text-align:left;align-self:center;font-size:13px}.boot div{opacity:0;animation:.3s ease-out forwards appear}.boot div:first-child{animation-delay:.1s}.boot div:nth-child(2){animation-delay:.45s}.boot div:nth-child(3){animation-delay:.8s}.boot div:nth-child(4){animation-delay:1.15s}.boot .cursor{animation:1.1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.class-list{flex-direction:column;gap:10px;margin-top:12px;display:flex}.class-card{text-align:left;flex-direction:column;gap:4px;width:100%;display:flex}.stat-line{color:var(--dim);font-size:13px}.drop,.slots{border-top:1px solid var(--dim);margin-top:10px;padding-top:10px}.slot{justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.slot button{padding:8px 12px;font-size:13px}.offer{text-align:left;width:100%;margin-top:6px;padding:10px;display:block}.offer .name{margin-bottom:2px}.offer.skip{color:var(--dim);border-style:dashed}.offer.sub{border-style:dotted;width:calc(100% - 18px);margin-top:2px;margin-left:18px}.offer.swap{border-color:var(--ok);box-shadow:0 0 6px var(--ok);color:var(--ok)}.actions{flex-wrap:nowrap;gap:10px;margin-top:auto;padding:8px 0 12px;display:flex}.actions button{flex:1}.run-end{text-align:center;justify-content:center;align-items:center;gap:14px}.verdict{letter-spacing:4px;font-size:28px}.version-tag{letter-spacing:2px;opacity:.7;margin-top:-8px}.help-link{min-height:44px;color:var(--dim);border:none;padding:4px 8px;font-size:13px}.help-body{border-top:1px solid var(--dim);flex:1;min-height:0;padding:8px 0;overflow-y:auto}.help-section{padding:8px 0}.help-title{letter-spacing:2px;color:var(--dim);margin:0 0 4px;font-size:15px}.help-text{margin:0;line-height:1.5}.help-skill{padding:6px 0}.help-skill .help-text{color:var(--dim)}
