:root{--bg:#1b1f27;--panel:#252b36;--panel2:#2e3543;--line:#3a4250;--text:#e6e9ef;--muted:#9aa4b2;--accent:#5b9dff;--extra:#c08bff;--good:#57c08a;--bad:#e0697a;--warn:#e0b15a}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,Segoe UI,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;font-size:14px}#app{height:100vh}button{color:var(--text);background:var(--panel2);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:6px 12px;font-family:inherit;font-size:14px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{cursor:default;opacity:.45}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px}.panel-head{border-bottom:1px solid var(--line);color:var(--muted);padding:6px 10px;font-weight:600}.setup{flex-direction:column;gap:16px;max-width:760px;height:100vh;margin:0 auto;padding:20px 16px;display:flex;overflow:auto}.setup .section{flex-direction:column;gap:6px;display:flex}.editor-row{background:var(--panel2);border:1px solid var(--line);border-radius:6px;grid-template-columns:120px 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.editor-row .ename{font-weight:600}.editor-row .edesc{color:var(--muted);font-size:13px}.stepper{align-items:center;gap:8px;display:flex}.stepper button{width:30px;padding:4px 0}.stepper .count{text-align:center;font-variant-numeric:tabular-nums;min-width:24px}.extra-row{grid-template-columns:28px 120px 1fr}.setup .total{font-weight:600}.setup .total.bad{color:var(--bad)}.setup .total.good{color:var(--good)}.setup .start{align-items:center;gap:12px;display:flex}.setup .start button{background:var(--accent);border-color:var(--accent);color:#0d1320;padding:8px 20px;font-weight:700}.setup .hint{color:var(--muted)}.battle{grid-template-columns:1fr 380px;gap:12px;height:100vh;padding:12px;display:grid}.board{flex-direction:column;gap:12px;min-height:0;display:flex;position:relative}.controls{gap:8px;display:flex}.status{gap:12px;display:flex}.status .player{flex:1}.status .enemy{width:220px}.statbox{flex-direction:column;gap:8px;padding:10px 12px;display:flex}.statbox .who{font-weight:700}.statbox.player .who{color:var(--accent)}.statbox.enemy .who{color:var(--bad)}.hp-line{font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.bar{background:#11151c;border-radius:5px;height:10px;overflow:hidden}.bar-fill{border-radius:5px;height:100%;transition:width .15s}.bar-fill.player{background:var(--good)}.bar-fill.enemy{background:var(--bad)}.shield{color:var(--muted)}.shield b{color:var(--text)}.factors{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--panel2);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 10px}.chip b{color:var(--accent)}.statline{color:var(--muted);font-size:13px}.statline b{color:var(--warn)}.slots{align-items:stretch;gap:10px;display:flex}.slot{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-direction:column;flex:1;gap:4px;min-height:92px;padding:8px;display:flex}.slot.extra{border-color:var(--extra);margin-left:8px}.slot-label{color:var(--muted);font-size:12px}.slot.extra .slot-label{color:var(--extra)}.slot-name{font-weight:700}.slot-eff{color:var(--muted);font-size:12px}.slot.empty .slot-name{color:var(--muted);font-weight:400}.action{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px;display:flex;overflow:auto}.action-head{color:var(--muted);font-weight:600}.card-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.card-tile{text-align:left;flex-direction:column;gap:4px;width:150px;min-height:92px;padding:10px;display:flex}.card-tile.extra{border-color:var(--extra)}.card-tile.disabled{opacity:.4}.card-name{font-weight:700}.card-eff{color:var(--muted);font-size:12px}.card-factor{color:var(--accent);font-size:12px}.card-tile.extra .card-factor{color:var(--extra)}.action .big{background:var(--accent);border-color:var(--accent);color:#0d1320;align-self:center;padding:10px 28px;font-weight:700}.result{align-self:center;font-size:22px;font-weight:800}.result.win{color:var(--good)}.result.lose{color:var(--bad)}.deck-area{position:absolute;bottom:0;right:0}.deck-btn{font-weight:700}.deck-pop{background:var(--panel2);border:1px solid var(--line);border-radius:8px;width:180px;padding:8px 10px;position:absolute;bottom:44px;right:0}.deck-pop .dp-head{color:var(--muted);margin-bottom:4px}.deck-pop .dp-row{font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.side{flex-direction:column;gap:12px;min-height:0;display:flex}.side .panel{flex-direction:column;min-height:0;display:flex}.side .reference{flex:45%}.side .logpanel{flex:55%}.scroll-body{padding:8px 10px;overflow:auto}.ref-group-title{color:var(--muted);margin:6px 0 4px;font-size:12px}.ref-card{border:1px solid var(--line);border-radius:6px;margin-bottom:6px;padding:6px 8px}.ref-card.extra{border-color:var(--extra)}.ref-card .rc-name{font-weight:700}.ref-card .rc-eff{color:var(--muted);font-size:12px}.ref-card .rc-factor{color:var(--accent);font-size:12px}.ref-card.extra .rc-factor{color:var(--extra)}.log-line{border-bottom:1px solid #2a303b;padding:2px 0;font-size:13px;line-height:1.4}
