:root{color-scheme:dark;--bg:#101413;--panel:#1b211f;--line:#343d36;--ink:#eeeade;--muted:#a2aa9c;--accent:#dbed9c;--slash:#e8b482;--blunt:#b0a4dc;--pierce:#88c9ba}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#263028 0,transparent 65%),var(--bg);color:var(--ink);font-family:system-ui,-apple-system,'Segoe UI',sans-serif;font-size:14px}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{cursor:default;opacity:.3}button:not(:disabled):hover{filter:brightness(1.15)}.shell{max-width:860px;margin:auto;padding:28px 26px 20px}.masthead{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);margin:0 0 8px}h1{font-size:34px;font-weight:650;letter-spacing:-2px;margin:0}.sword-mark{color:var(--accent);margin-left:14px;font-weight:200}button.quiet{border:1px solid var(--line);background:#1e2520;color:var(--ink);border-radius:6px;padding:10px 13px;min-height:44px}.journey{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;font-size:12px;font-weight:600}#stage-dots{display:flex;gap:7px}#stage-dots i{width:24px;height:3px;background:var(--line)}#stage-dots i.active{background:var(--accent)}#phase-label{color:var(--accent)}.vitals{padding:18px 0}.health-title{display:flex;justify-content:space-between;align-items:center}.health-title strong{font-size:23px;font-variant-numeric:tabular-nums}.health-title small{font-size:12px;color:var(--muted);font-weight:400}.bar{height:4px;background:#343c35;overflow:hidden;border-radius:3px}.bar i{display:block;height:100%;background:var(--accent);width:100%}.health{height:7px;margin-top:7px}.vitals p{font-size:11px;color:var(--muted);margin:7px 0 0}.battlefield{background:linear-gradient(120deg,#283126,#1a231f);border:1px solid #47503b;border-radius:10px;padding:14px 18px}.field-top{display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-size:11px}.duel{display:grid;grid-template-columns:1fr 40px 1fr;align-items:center;text-align:center;margin:8px 0 10px}.duel>div{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}.fighter-icon{display:grid;place-items:center;font-size:33px;height:47px;width:47px;color:var(--slash)}.enemy-icon{color:var(--blunt)}.duel strong{font-size:15px}.duel small{font-size:11px;color:var(--muted)}.versus{font-family:serif;font-style:italic;color:#849278;font-size:15px}.matchup{text-align:center;border-top:1px solid #3b4736;padding-top:10px;color:var(--accent);font-size:12px}.legend{display:flex;align-items:center;justify-content:center;gap:9px;font-size:11px;padding:14px 0}.legend b{color:#6e7a6b;font-weight:400}.legend small{color:var(--muted);font-size:10px;margin-left:8px}.slash{color:var(--slash)}.blunt{color:var(--blunt)}.pierce{color:var(--pierce)}.rosters{display:grid;grid-template-columns:1fr 1fr;gap:20px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:10px 0}.section-heading h2{font-size:15px;margin:0;font-weight:600}.section-heading h2 span{color:var(--muted);font-size:12px;margin-left:5px}.section-heading small{color:var(--muted);font-size:10px}.cards{display:flex;flex-direction:column;gap:7px}.card{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--panel);min-height:76px}.card.current{border-color:#81965b;background:#252e23}.card.dead{opacity:.35}.order{font-size:11px;color:#808d79;width:12px}.type-icon{font-size:21px;width:24px;text-align:center}.card-main{flex:1;min-width:0}.card-name{font-size:13px;font-weight:650;margin-bottom:5px}.card-stats{display:flex;justify-content:space-between;gap:5px;font-size:11px;color:var(--muted);margin-bottom:7px;font-variant-numeric:tabular-nums}.card-stats b{font-weight:500;color:var(--ink)}.arrows{display:flex;gap:3px}.arrows button{width:36px;min-height:44px;border:1px solid var(--line);border-radius:4px;color:var(--ink);background:#262e28;font-size:17px}.card .bar i{background:currentColor}.controls{margin-top:16px}.speed-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.speed-row>span{font-size:11px;color:var(--muted)}.primary{background:var(--accent);color:#20291a;border:0;border-radius:6px;min-height:49px;padding:12px 16px;font-weight:750;font-size:15px;width:100%}.primary span{float:right}.controls>p{text-align:center;font-size:11px;color:var(--muted);margin:10px 0 18px;min-height:16px}.rules{border-top:1px solid var(--line);padding-top:14px;font-size:12px;color:var(--muted)}summary{cursor:pointer;list-style:none}summary span{float:right}.rules p{line-height:1.8}.signature{text-align:center;color:#697563;font-size:8px;letter-spacing:2px;margin-top:24px}.result{margin-top:16px;padding:16px;background:#263025;border:1px solid #65744e;border-radius:8px}.result h2{font-size:20px;margin:0 0 7px}.result p{color:var(--muted);font-size:12px;line-height:1.6;margin:5px 0}.result .metrics{display:flex;justify-content:space-between;margin:14px 0 0;font-size:12px}.result.loss{border-color:#9e6358;background:#312623}#reward{padding-top:15px}#reward-help{font-size:12px;color:var(--muted)}#candidates{display:grid;grid-template-columns:1fr 1fr;gap:8px}button.choice{text-align:left;width:100%;color:var(--ink)}button.choice.selected{outline:2px solid var(--accent);background:#303b28}#replacement{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}#replacement button{font-size:12px}#replacement button.selected{border-color:var(--accent);color:var(--accent)}dialog{background:#222b23;border:1px solid #71815e;border-radius:10px;color:var(--ink);max-width:calc(100vw - 32px);padding:24px}dialog::backdrop{background:#0009}dialog h2{font-size:20px}dialog p{color:var(--muted)}.dialog-actions{display:flex;gap:10px;margin-top:24px}.dialog-actions button{width:auto;flex:1;white-space:nowrap}[hidden]{display:none!important}@media(max-width:620px){.shell{padding:20px 16px}.masthead{margin-bottom:18px}h1{font-size:30px}.rosters{grid-template-columns:1fr;gap:10px}.card{min-height:67px;padding:8px 10px}.arrows button{width:44px}.legend{gap:7px}.legend small{margin-left:1px;font-size:9px}.battlefield{padding:11px 14px}.duel{margin:4px 0 8px}.fighter-icon{height:35px;font-size:28px}.vitals{padding:14px 0}.card-name{font-size:14px}.section-heading{margin:6px 0 8px}.eyebrow{font-size:9px;letter-spacing:1.5px}}@media(prefers-reduced-motion:no-preference){.primary{transition:filter .15s}.battlefield{transition:border-color .2s}}
@media(max-width:620px){.shell{padding-top:14px}.masthead{margin-bottom:12px}.journey{padding:10px 0}.vitals{padding:11px 0}.battlefield{padding:9px 12px}.fighter-icon{height:27px;font-size:24px}.duel strong{font-size:13px}.legend{padding:11px 0}.card{min-height:60px;padding:6px 9px}.card-name{font-size:13px;margin-bottom:4px}.card-stats{margin-bottom:5px}.cards{gap:5px}.controls{position:sticky;bottom:0;background:linear-gradient(180deg,#101413f5,#101413);padding:9px 0 1px;z-index:2;border-top:1px solid var(--line)}.controls>p{margin:6px 0 4px}.speed-row{margin-bottom:7px}.controls .primary{min-height:46px}.rules{margin-top:14px}}
