:root{font-family:Inter,system-ui,sans-serif;color:#1d2433;background:#f4f6fa}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.app-shell,.game-screen{width:min(1100px,100%);margin:0 auto;padding:24px}.hero{margin-bottom:20px}.hero h1{margin-bottom:6px}.hero p{color:#5f6878}.mode-tabs{display:flex;gap:8px;margin-bottom:16px}.mode-tabs button,.chip,.candidate,.game-header button{border:1px solid #ccd3df;background:#fff;border-radius:10px;padding:10px 14px}.mode-tabs button.active,.chip.active,.candidate.selected{border-color:#3659d9;background:#edf1ff}.panel,.start-panel,.result-panel{background:#fff;border:1px solid #dce1ea;border-radius:14px;padding:18px;margin:14px 0}.panel h2,.result-panel h2{margin-top:0}.panel select{width:100%;padding:10px;border-radius:8px;border:1px solid #ccd3df}.mechanic-group{margin-top:14px}.mechanic-group h3{font-size:.9rem;color:#657084}.chip-grid{display:flex;flex-wrap:wrap;gap:8px}.formula{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;padding:24px;border:2px solid #cfd7e8;border-radius:16px;background:#fff}.formula-side{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:46px}.formula-token{display:flex;align-items:center;gap:8px}.formula-token span,.formula-result{background:#edf1ff;border:1px solid #b9c7ff;padding:10px 12px;border-radius:10px}.operator,.equals{font-size:1.4rem}.formula-result{text-align:center;font-weight:700}.placeholder{color:#7d8797}.candidate-list{display:grid;gap:10px}.candidate{text-align:left;display:grid;gap:5px}.candidate-title{font-weight:700}.status{width:fit-content;padding:3px 7px;border-radius:999px;background:#eef0f4;font-size:.8rem}.status.exact,.status.playable{background:#e4f6e9}.status.conflict{background:#ffe6e6}.start-panel{display:flex;align-items:center;justify-content:space-between;gap:20px}.start-panel p{margin-bottom:0;color:#667085}.primary{border:0;border-radius:10px;padding:12px 22px;background:#3659d9;color:#fff;font-weight:700}.game-header{display:flex;justify-content:space-between;gap:20px;align-items:start}.board{display:grid;width:min(500px,100%);gap:6px;margin:24px 0}.cell{aspect-ratio:1;border:1px solid #aeb8c8;border-radius:7px;background:#fff}.cell.occupied{background:#3659d9}.score-row{margin-top:16px;font-size:1.1rem}.modifier-note{margin:12px 0;padding:10px 12px;border-radius:8px;background:#eef5ff;color:#314d7c}.modifier-warning{margin:12px 0;padding:10px 12px;border-radius:8px;background:#fff0e8;color:#8a3c19}.cell.blocked{background:repeating-linear-gradient(135deg,#d6d9df,#d6d9df 6px,#bfc4cc 6px,#bfc4cc 12px);border-color:#a6acb5}.battle-status{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:20px}.squad-panel{display:flex;flex-wrap:wrap;gap:8px 18px;margin:12px 0;padding:12px;border:1px solid #c8d2e5;border-radius:10px;background:#fff}.synergy-row{margin:12px 0;color:#465268}.battle-board{grid-template-columns:repeat(6,1fr)}.battle-cell{display:grid;place-items:center;padding:4px;font-size:.72rem;color:#fff}.battle-cell.enemy-zone{background:#fff4f1;border-color:#e7b5ac}.battle-cell.player-zone{background:#f1f5ff;border-color:#aabbea}.battle-cell.unit{background:#3659d9;border-color:#2945ab}.battle-cell.enemy-unit,.battle-cell.enemy-unit:disabled{background:#bd4a3b;border-color:#92382d;opacity:1}.defense-cell{display:grid;place-items:center;padding:3px;font-size:.7rem}.defense-cell.path-cell,.defense-cell.path-cell:disabled{background:#e8dcc5;border-color:#b89e72;color:#5f4928;opacity:1}.defense-cell.base-cell,.defense-cell.base-cell:disabled{background:#bd4a3b;border-color:#92382d;color:#fff}.defense-cell.tower-cell{background:#3659d9;border-color:#2945ab;color:#fff}@media(max-width:680px){.app-shell,.game-screen{padding:14px}.formula{grid-template-columns:1fr;text-align:center}.formula-side{justify-content:center}.equals{transform:rotate(90deg)}.start-panel,.game-header{align-items:stretch;flex-direction:column}}
