:root{--bg:#1b1f27;--panel:#252b36;--panel2:#2e3543;--line:#3a4252;--text:#e6e9ef;--muted:#9aa3b2;--accent:#5aa9ff;--ok:#5ad18a;--ng:#ff7a7a;--player:#4b8bf5;--enemy:#e0604a;--shield:#57c3d6;--sword:#d98b54;--claw:#c569d6;--tail:#69c58f;--none:#8b94a6}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Segoe UI,Hiragino Kaku Gothic ProN,Meiryo,system-ui,sans-serif;font-size:13px}#app{height:100vh}.app-grid{grid-template-columns:1fr 300px;gap:8px;height:100vh;padding:8px;display:grid}.main-col{flex-direction:column;min-height:0;display:flex}.screen{min-height:0}#battle-screen{flex-direction:column;gap:8px;height:100%;min-height:0;display:flex}.side-col{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-height:0;padding:8px;overflow-y:auto}.panel-head{color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:600}.status-grid{grid-template-columns:1.3fr .8fr 1.4fr;gap:8px;display:grid}.stat-card{background:var(--panel);border:1px solid var(--line);border-left-width:4px;border-radius:8px;padding:8px 10px}.stat-card.player{border-left-color:var(--player)}.stat-card.enemy{border-left-color:var(--enemy)}.stat-card.turn{border-left-color:var(--accent)}.stat-title{justify-content:space-between;align-items:center;gap:6px;margin-bottom:4px;font-weight:700;display:flex}.stat-line{flex-wrap:wrap;align-items:center;gap:6px;margin:2px 0;display:flex}.stat-line .lbl{color:var(--muted);min-width:56px;font-size:12px}.big{font-size:20px;font-weight:700}.big.shield{color:var(--shield)}.stat-line.factors{gap:4px}button.mini{padding:2px 8px;font-size:11px}.chip{background:var(--panel2);border:1px solid var(--line);white-space:nowrap;border-radius:10px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-block}.chip.factor-sword{color:var(--sword);border-color:var(--sword)}.chip.factor-claw{color:var(--claw);border-color:var(--claw)}.chip.factor-tail{color:var(--tail);border-color:var(--tail)}.chip.factor-none{color:var(--none);border-color:var(--none)}.chip.cost{color:var(--accent);border-color:var(--accent)}#log-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-direction:column;flex:auto;min-height:0;padding:8px;display:flex}#log-list{flex:auto;min-height:0;font-size:12px;line-height:1.5;overflow-y:auto}.log-entry{border-bottom:1px solid #ffffff08;padding:1px 2px}.log-turn{color:var(--accent);font-weight:600}.log-damage{color:#ffb27a}.log-shield{color:var(--shield)}.log-enemy{color:#ff9a8a}.log-result{color:var(--ok);font-weight:700}.log-info{color:var(--text)}.slots{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.slot{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:3px;min-height:74px;padding:8px;display:flex}.slot.extra{border-color:#6a5acd}.slot.filled{background:var(--panel2)}.slot-label{color:var(--muted);font-size:11px}.slot-name{font-size:15px;font-weight:700}.slot-eff{color:var(--muted);font-size:11px}.slot-empty{color:var(--muted);margin:auto;font-size:13px}#bottom-strip{align-items:stretch;gap:8px;display:flex}#interaction{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-direction:column;flex:auto;align-items:center;gap:6px;padding:8px;display:flex}.prompt{color:var(--muted);text-align:center;font-size:12px}.hand-cards,.extra-cards{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.hand-card,.extra-card{background:var(--panel2);border:1px solid var(--line);min-width:120px;color:var(--text);cursor:pointer;text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:8px 10px;display:flex}.hand-card:hover,.extra-card:not(.disabled):hover{border-color:var(--accent)}.extra-card.disabled,.extra-card.empty{opacity:.4;cursor:not-allowed}.extra-card.empty{color:var(--muted);justify-content:center}.card-name{font-size:14px;font-weight:700}.hand-eff{color:var(--muted);font-size:11px}.big-btn{padding:8px 24px;font-size:15px}#deck-counter{flex:none;align-items:flex-end;display:flex;position:relative}.deck-btn{background:var(--panel2);border:1px solid var(--line);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:8px;padding:10px 14px}.deck-popup{background:var(--panel);border:1px solid var(--line);z-index:5;border-radius:8px;width:180px;margin-bottom:6px;padding:8px;position:absolute;bottom:100%;right:0;box-shadow:0 6px 18px #0006}.deck-row{justify-content:space-between;padding:2px 0;font-size:12px;display:flex}.result-box{flex-direction:column;align-items:center;gap:10px;padding:10px;display:flex}.result-msg{font-size:24px;font-weight:800}.result-box.win .result-msg{color:var(--ok)}.result-box.lose .result-msg{color:var(--ng)}.result-actions{gap:8px;display:flex}.ref-block{margin-bottom:10px}.ref-cat{color:var(--accent);border-bottom:1px solid var(--line);margin:4px 0;font-size:11px}.ref-row{border-bottom:1px solid #ffffff0a;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 0;display:flex}.ref-eff{color:var(--muted);flex-basis:100%;font-size:11px}.setup-wrap{flex-direction:column;gap:12px;height:100%;padding:4px;display:flex;overflow-y:auto}.edit-block{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px}.edit-row{border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;gap:8px;padding:6px 4px;display:flex}.edit-row.sel{background:#5aa9ff14}.edit-info{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.edit-eff{color:var(--muted);font-size:11px}.edit-ctrl{align-items:center;gap:8px;display:flex}.edit-count{text-align:center;min-width:22px;font-size:15px;font-weight:700}.step-btn{width:28px;height:28px;padding:0;font-size:16px}.toggle-btn.on{background:var(--accent);color:#0c1118;border-color:var(--accent)}.setup-actions{align-items:center;gap:10px;display:flex}.hint{color:var(--ng);font-size:12px}.ok{color:var(--ok)}.ng{color:var(--ng)}button{background:var(--panel2);color:var(--text);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:6px 12px;font-family:inherit;font-size:13px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);color:#0c1118;border-color:var(--accent);font-weight:700}
