:root{--bg:#0e0b0a;--panel:#1b1512;--panel-2:#261d18;--border:#4a3828;--border-hi:#8a6a3c;--text:#d9cbb4;--text-dim:#8f8170;--gold:#f2c14e;--danger:#d9483b;--q-common:#d8d8d8;--q-uncommon:#3fd13f;--q-rare:#3d8bff;--q-epic:#b455f0;--q-legendary:#ff8a1f;--q-set:#25dcc0;--pixel:"Pixelify Sans", ui-monospace, monospace;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-scale:1;--fs-display-l:2.5rem;--fs-display:2rem;--fs-display-s:1.5rem;--fs-label-l:1rem;--fs-cta:1.25rem;--fs-label:.875rem;--fs-body-l:1rem;--fs-body:.9375rem;--fs-body-s:.875rem;--fs-meta:.8125rem;--fs-micro:.75rem;--num:tabular-nums;--gain:#8ff0c2;font-size:calc(16px * var(--text-scale) * var(--device-scale,1));line-height:1.45;font-family:var(--sans);color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{font-variant-ligatures:none!important}.num{font-variant-numeric:tabular-nums}*{box-sizing:border-box}html{touch-action:manipulation}input,textarea,select{font-size:max(16px,1em)}body{font-size:var(--fs-body);background:radial-gradient(ellipse at top, #1d1511 0%, var(--bg) 60%);min-height:100svh;margin:0}h1,h2{font-family:var(--pixel);color:var(--gold);letter-spacing:.5px;margin:0;font-weight:600}h1{font-size:var(--fs-display-l)}h2{font-size:var(--fs-display-s);line-height:1.15}h3{font:600 var(--fs-label-l) / 1.3 var(--sans);color:var(--gold);margin:0}button{font:600 var(--fs-label-l) / 1.25 var(--sans);color:var(--text);background:var(--panel-2);border:2px solid var(--border);cursor:pointer;padding:6px 12px}button:hover{border-color:var(--border-hi)}button[aria-pressed=true]{border-color:var(--gold);color:var(--gold)}canvas{image-rendering:pixelated}table{border-collapse:collapse}select{font:600 var(--fs-label) var(--sans);color:var(--text);background:var(--panel-2);border:2px solid var(--border);padding:5px 8px}.dim{color:var(--text-dim)}.workbench{max-width:1100px;margin:0 auto;padding:16px}.workbench header{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.workbench h1{font-size:32px}.row{flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0;display:flex}.row .gap{width:10px}.scroll-x{overflow-x:auto}.matrix th,.matrix td{text-align:center;border:1px solid var(--border);font-variant-numeric:tabular-nums;white-space:nowrap;padding:7px 10px}.matrix th{font-family:var(--pixel);color:var(--text-dim);background:var(--panel);font-weight:400}.matrix tbody th{text-align:left;color:var(--text)}.matrix .overall{border-left:3px solid var(--border-hi);font-weight:700}.cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));align-items:start;gap:10px;display:grid}.item-card{font-size:var(--fs-body-s);background:linear-gradient(#17110e,#0f0b09);border:2px solid;padding:10px 12px;line-height:1.4;box-shadow:inset 0 0 0 1px #000,0 2px #000}.item-name{font:700 var(--fs-label-l) / 1.25 var(--sans);margin-bottom:2px}.item-dim{color:var(--text-dim)}.item-main{color:#fff;margin-top:4px}.item-proc{color:var(--q-uncommon);margin-top:4px}.item-minor{margin-top:4px}.item-legendary{color:var(--q-legendary);margin-top:4px}.item-set{color:var(--gold);margin-top:6px}.item-flavor{color:var(--gold);opacity:.8;margin-top:6px;font-style:italic}.item-value{color:var(--text-dim);text-align:right;margin-top:4px}.duel{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=640px){.duel{grid-template-columns:1fr}}.sheet{background:var(--panel);border:2px solid var(--border);padding:10px 12px;font-size:13.5px}.sheet ul{margin:6px 0 0;padding-left:16px}.sheet.side-a{border-top-color:#5aa9e6}.sheet.side-b{border-top-color:#e6795a}.log{border:2px solid var(--border);white-space:pre-wrap;background:#080605;max-height:60vh;padding:10px;font:12.5px/1.5 ui-monospace,Consolas,monospace;overflow:auto}.log .side-a{color:#8ec5f0}.log .side-b{color:#f0a58e}.log .proc{color:var(--gold)}.sprite-sheet{border:2px solid var(--border);background:#2a2622;gap:10px;margin:8px 0 20px;padding:8px;display:flex;overflow-x:auto}.kit-labels{font-family:var(--pixel);color:var(--text-dim);flex:none;align-items:end;width:110px;font-size:13px;display:grid}.kit-labels div{padding-bottom:28px}.fight{max-width:820px}.fight-hud{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:6px;display:grid}.plate{min-width:0}.plate-1{text-align:right}.plate-name{font-family:var(--pixel);white-space:nowrap;justify-content:space-between;gap:6px;font-size:14px;display:flex;overflow:hidden}.plate-1 .plate-name{flex-direction:row-reverse}.plate-name>:first-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.plate-name>:last-child{flex:none}.bar{height:16px;box-shadow:0 0 0 1px var(--border);background:#0a0706;border:2px solid #000;margin-top:3px;position:relative;overflow:hidden}.bar .fill{background:linear-gradient(#e0483a,#9c2018);transition:width .12s linear;position:absolute;inset:0 auto 0 0}.plate-1 .bar .fill{inset:0 0 0 auto}.bar .fill.absorb{background:#a0dcff8c;box-shadow:inset 0 0 0 1px #d0ecff}.bar span{font:600 11px/12px var(--pixel);text-align:center;color:#fff;text-shadow:0 1px #000,1px 0 #000,-1px 0 #000;position:absolute;inset:0}.bar.swing{height:7px}.bar.swing .fill{background:linear-gradient(#f2c14e,#a8781c);transition:none}.bar.swing.off .fill{background:linear-gradient(#b8b8c4,#6c6c7c)}.chips{flex-wrap:wrap;gap:4px;min-height:20px;margin-top:3px;display:flex}.plate-1 .chips{justify-content:flex-end}.chip{font:11px var(--pixel);white-space:nowrap;text-overflow:ellipsis;border:1px solid;max-width:100%;padding:1px 5px;overflow:hidden}.chip.stun{color:#ffe070}.chip.chill{color:#8ad8ff}.chip.haste{color:#7be07b}.chip.reflect{color:#ffb070}.chip.stacks{color:#ff9a3c}.chip.summon{color:#c0a8ff}.chip.brand{color:#ff8a4a}.chip.shackle{color:#9cc4ff}.chip.leech{color:#ff6a78}.chip.decoy{color:#cfe2ff}.fight-stage{border:2px solid var(--border-hi);line-height:0;position:relative;box-shadow:0 0 0 2px #000}.fight-stage canvas{aspect-ratio:16/9;width:100%}.verdict{text-align:center;font:600 clamp(28px, 8vw, 56px) / 1 var(--pixel);text-shadow:0 3px #000,3px 0 #000,-3px 0 #000,0 -3px #000;animation:.5s cubic-bezier(.2,1.6,.4,1) verdict;position:absolute;inset:12% 0 auto}.verdict.win{color:var(--gold)}.verdict.loss{color:var(--danger)}@keyframes verdict{0%{opacity:0;transform:scale(2.2)}}.fight .log{white-space:normal;max-height:220px}.fight .log div{white-space:pre-wrap}
