:root{color-scheme:dark;--bg: #14161c;--card: #20242e;--line: #343a48;--fg: #e8eaf0;--dim: #9aa2b4;--acc: #f2a33a;--bad: #e5645a;--good: #5ac47a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.4 system-ui,sans-serif}#app{max-width:640px;margin:0 auto;padding:12px 16px 48px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}h1,h2,h3{margin:12px 0 6px}h3 small{font-weight:400;color:var(--dim)}small{color:var(--dim)}button,select,input{font:inherit;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px 12px;min-height:40px}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--acc);color:#111;border-color:var(--acc);font-weight:600;width:100%;margin-top:12px}button.sel{border-color:var(--acc);background:#3a3020}form{display:grid;gap:10px;margin-top:24px}.card{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;margin:6px 0;padding:10px 12px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:8px;position:relative}.card.sel{border-color:var(--acc)}.card.ko{opacity:.5}.badge{position:absolute;top:-8px;right:-4px;background:var(--acc);color:#111;border-radius:50%;width:22px;height:22px;text-align:center;font-size:14px;font-weight:700}.boost{border:1px solid var(--good);color:var(--good);border-radius:10px;padding:0 6px}.chips,.row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0}.rules{padding-left:20px}.rules li{display:flex;justify-content:space-between;gap:6px;padding:4px 0}.builder{border:1px dashed var(--line);border-radius:8px;padding:8px}input[type=number]{width:80px}.tree{margin:0 0 0 4px;padding-left:14px;border-left:1px solid var(--line);list-style:none}.plog{padding-left:20px;margin:0}.error{color:var(--bad)}.win{color:var(--good)}.pname{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar{height:6px;background:#000;border-radius:3px;overflow:hidden;margin-top:4px}.bar i{display:block;height:100%;background:var(--good);transition:width .2s}.forms{font-size:11px;color:var(--acc);min-height:14px}.controls{display:flex;gap:6px}.controls button{flex:1}.log{height:200px;overflow-y:auto;margin-top:8px;padding:8px;background:#0c0e12;border-radius:8px;font-size:14px}.stage{position:relative;display:flex;justify-content:space-between;align-items:flex-end;margin:8px 0;padding:8px;border-radius:8px;overflow:hidden;background:linear-gradient(#1b2a4a,#3a5a7a 70%,#4b3d2a 70%)}.side{display:flex;flex-direction:column;align-items:center;width:40%}.fighter{position:relative;width:100%;text-align:center}.sprite{position:relative;display:inline-block}.aura{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0}.aura.on{opacity:.6}.chip{background:#456;display:inline-grid;place-items:center;width:24px;height:24px;overflow:hidden;margin:2px;border-radius:50%;font-size:11px;font-weight:700}.chip.head{width:28px;height:28px;background:#0006;position:relative}.chip.head .lsprite{position:absolute!important;left:-18px;top:-6px}.fighter.ko .aura{display:none}.chip.ko,.fighter.ko{opacity:.3;filter:grayscale(1)}.stage .pname,.stage .forms{text-shadow:0 1px 2px #000}.dmg{position:absolute;top:0;left:50%;color:#ff5;font-size:22px;text-shadow:0 2px 3px #000;animation:float calc(var(--d) * .9) ease-out forwards}.blast{position:absolute;top:45%;opacity:0;animation:fly calc(var(--d) * .6) ease-in forwards}.b0{--from: 25%;--to: 70%}.b1{--from: 70%;--to: 25%}.lunge .sprite{animation:lunge calc(var(--d) * .6) ease-in-out}.s1 .lunge .sprite{animation-name:lunge1}.hit .sprite{animation:hit calc(var(--d) * .5) calc(var(--d) * .5) both}.charge .aura,.charge_ki .aura,.transform .aura{animation:glow calc(var(--d) * .9) ease-out}.transform .sprite{animation:pop calc(var(--d) * .9) ease-out}.guard .sprite:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid #8cf;border-radius:50%;animation:glow calc(var(--d) * .9)}.enter{animation:enter calc(var(--d) * .8) ease-out}.s1 .enter{animation-name:enter1}.falling .sprite{animation:fall calc(var(--d) * .5) ease-in}@keyframes float{to{transform:translateY(-40px);opacity:0}}@keyframes fly{0%{opacity:1;left:var(--from)}90%{opacity:1}to{opacity:0;left:var(--to)}}@keyframes lunge{50%{transform:translate(60px)}}@keyframes lunge1{50%{transform:translate(-60px)}}@keyframes hit{0%,to{transform:none;filter:none}25%{transform:translate(-8px);filter:brightness(3) saturate(0)}60%{transform:translate(8px)}}@keyframes glow{0%{opacity:0;transform:scale(.6)}40%{opacity:1}to{opacity:0;transform:scale(1.5)}}@keyframes pop{30%{transform:scale(1.25);filter:brightness(2)}}@keyframes enter{0%{opacity:0;transform:translate(-60px)}}@keyframes enter1{0%{opacity:0;transform:translate(60px)}}@keyframes fall{0%{transform:translateY(-14px)}}@media(prefers-reduced-motion:reduce){.stage *{animation:none!important}.stage .bar i{transition:none}}.trait{font-weight:600}.who{display:flex;align-items:center;gap:10px}.lsprite{flex:none}.item{border:1px solid currentColor;border-radius:10px;padding:0 8px;font-size:13px}.rare-common{color:#b8c0cc}.rare-rare{color:#5aa8f0}.rare-legendary{color:#f2a33a}.item small{color:var(--dim)}.dmg.crit{color:#f55;font-size:30px}.poison .sprite{animation:tint calc(var(--d) * .6) both;filter:hue-rotate(250deg)}.thorns .sprite{animation:hit calc(var(--d) * .5) both}.dodge .sprite{animation:dodge calc(var(--d) * .6) both}.heal .sprite,.last_stand .sprite{animation:pop calc(var(--d) * .7) both}@keyframes dodge{30%{transform:translate(-24px);opacity:.4}to{transform:none}}@keyframes tint{50%{filter:hue-rotate(250deg) brightness(1.4)}}.intro{border-left:3px solid var(--acc);background:var(--card);border-radius:0 8px 8px 0;padding:8px 12px;margin:8px 0}.intro p{margin:4px 0 0}.grid,.planets{display:block}@media(min-width:900px){#app{max-width:1280px;padding:16px 32px 64px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:0 12px}.planets{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:0 20px;align-items:start}section>button.primary,form{max-width:480px}section>p,section>.intro{max-width:900px}.row>button.primary{max-width:480px}.rules{max-width:720px}.log{height:320px}}
