:root{--gap:12px;--border:#d0d4da;--panel-bg:#fff;--bg:#f3f4f6;--text:#1f2430;--muted:#6b7280;--player:#2563eb;--enemy:#dc2626}*{box-sizing:border-box}html,body{height:100%}body{color:var(--text);background:var(--bg);margin:0;font-family:system-ui,Segoe UI,Hiragino Kaku Gothic ProN,Meiryo,sans-serif}#app{height:100vh}.layout{gap:var(--gap);height:100vh;padding:var(--gap);grid-template-columns:minmax(380px,1.05fr) minmax(320px,.95fr);display:grid}.col{gap:var(--gap);flex-direction:column;min-height:0;display:flex}section,.panel{background:var(--panel-bg);border:1px solid var(--border);border-radius:8px}.section-label{color:var(--muted);padding:8px 10px 4px;font-size:12px;font-weight:600}.status{gap:var(--gap);background:0 0;border:none;grid-template-columns:1fr 1fr;display:grid}.actor{border:1px solid var(--border);background:var(--panel-bg);border-radius:8px;padding:12px}.actor.player{border-top:3px solid var(--player)}.actor.enemy{border-top:3px solid var(--enemy)}.actor-title{color:var(--muted);font-size:13px}.hp-num{font-variant-numeric:tabular-nums;margin:2px 0 8px;font-size:24px;font-weight:700}.hp-track{background:#eceef1;border-radius:999px;height:10px;overflow:hidden}.hp-fill{border-radius:999px;height:100%;transition:width .15s}.actor.player .hp-fill{background:var(--player)}.actor.enemy .hp-fill{background:var(--enemy)}.action{flex:1;min-height:0;padding:10px;overflow:auto}.panel{border:none}.seed-row{align-items:center;gap:8px;margin:6px 0 10px;display:flex}.field-label{color:var(--muted);font-size:13px}.seed-input{border:1px solid var(--border);border-radius:6px;flex:1;padding:6px 8px;font-size:14px}.deck-row{border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;padding:8px 10px;display:flex}.deck-info{flex-direction:column;display:flex}.deck-name{font-weight:600}.deck-eff{color:var(--muted);font-size:12px}.stepper{align-items:center;gap:8px;display:flex}.step-btn{border:1px solid var(--border);cursor:pointer;background:#f8fafc;border-radius:6px;width:32px;height:32px;font-size:16px;line-height:1}.step-btn:hover{background:#eef2f7}.count{text-align:center;font-variant-numeric:tabular-nums;min-width:22px}.setup-footer{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.total{color:var(--muted);font-size:13px}.primary-btn{background:var(--player);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:9px 18px;font-size:14px}.primary-btn:disabled{cursor:not-allowed;background:#9aa6bf}.turn-label{color:var(--muted);margin-bottom:8px;font-size:13px}.hand{flex-direction:column;gap:8px;display:flex}.hand-btn{border:1px solid var(--border);cursor:pointer;text-align:left;background:#f8fafc;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;display:flex}.hand-btn:hover:not(:disabled){background:#eef2f7;border-color:#b9c0cc}.hand-btn:disabled{opacity:.5;cursor:not-allowed}.hand-name{font-size:16px;font-weight:700}.hand-eff{color:var(--muted);font-size:13px}.winner{text-align:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;margin:10px 0;padding:10px;font-weight:700}.committed{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:12px 0;font-size:13px;display:flex}.committed-label{color:var(--text);font-weight:600}.battle-btns{gap:8px;display:flex}.secondary-btn{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;padding:8px 14px;font-size:14px}.secondary-btn:hover{background:#f1f5f9}.reference{flex-direction:column;max-height:38%;display:flex}.ref-list{flex-direction:column;gap:6px;padding:4px 10px 10px;display:flex;overflow:auto}.ref-item{border:1px solid var(--border);border-radius:6px;justify-content:space-between;gap:12px;padding:8px 10px;display:flex}.ref-name{font-weight:600}.ref-eff{color:var(--muted);font-size:13px}.log{flex-direction:column;flex:1;min-height:0;display:flex}.log-list{font-variant-numeric:tabular-nums;flex-direction:column;flex:1;gap:2px;min-height:0;padding:4px 10px 10px;font-size:13px;display:flex;overflow:auto}.log-line{border-bottom:1px solid #f0f1f3;padding:3px 6px;line-height:1.4}
