.battle-dialog{width:min(680px,calc(100% - 24px));padding:25px 30px;background:radial-gradient(ellipse at top,#253d70,#0c1b36 65%);border:1px solid #6886bc;border-radius:22px;box-shadow:0 30px 120px #000b;overflow-y:auto;max-height:94dvh}.battle-dialog::backdrop{background:#020b21b8;backdrop-filter:blur(7px)}.battle-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.battle-heading h2{font:700 24px/1.25 'DM Sans',system-ui,sans-serif;margin:9px 0 0;letter-spacing:-.035em}.battle-heading h2 span{color:#6b91c1}.battle-heading .eyebrow{font-size:8px;color:#8dd8ff}.battle-close{background:#24395f;border:1px solid #4b638c;border-radius:50%;width:33px;height:33px;flex-shrink:0;font-size:20px}.battle-versus{display:grid;grid-template-columns:1fr 50px 1fr;align-items:center;text-align:center;margin:22px 0 19px}.battle-versus>div{display:flex;align-items:center;flex-direction:column;gap:8px}.battle-versus .avatar{width:70px;height:70px;box-shadow:0 0 25px color-mix(in srgb,var(--side) 30%,transparent)}.battle-versus strong{font-size:18px;letter-spacing:-.025em}.battle-versus small{font-size:8px;letter-spacing:2px;color:#9fb5d3}.battle-versus>span{font-weight:800;font-size:22px;color:#728bad}.battle-round{border:1px solid #344e78;background:#07172d99;border-radius:14px;padding:15px 20px}.roll-heading{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;color:#9fbdde;padding-bottom:10px}.roll-heading strong{color:#fff}.roll-heading strong span{color:#7291b6}.duel-grid{display:grid;gap:8px}.duel-row{display:grid;grid-template-columns:1fr 170px 1fr;align-items:center;text-align:center;min-height:55px}.duel-face{display:flex;justify-content:center;padding:5px;border-radius:9px;border:1px solid transparent}.duel-face.winner{background:#47f2b512;border-color:#57eab24d}.battle-round .game-die{width:44px;height:44px;padding:7px;gap:3px;border-radius:9px}.battle-round .game-die i{width:6px;height:6px}.pair-result{font-size:9px;font-weight:700;color:#afc5e3;letter-spacing:.3px}.rolling .game-die{animation:battle-roll .2s linear infinite}.rolling .game-die i{opacity:.2}.round-losses{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#b0c8e7;border-top:1px solid #263d61;padding-top:12px;margin-top:12px;min-height:29px}.round-losses b{color:#ffb4a6}.battle-total{display:flex;gap:12px;justify-content:space-between;margin-top:15px;color:#95adce;font-size:9px}.battle-total strong{font-size:10px;color:#d9e9ff}.battle-outcome{font-size:12px;text-align:center;line-height:1.6;color:#e7f3ff;padding:15px 0}.battle-playback{display:flex;gap:7px}.battle-playback button{padding:10px 14px;border-radius:8px;font-size:11px}.battle-playback .primary{margin-left:auto}.battle-rule{margin:15px 0 0;text-align:center;font-size:9px;line-height:1.5;color:#8faacc}.dice-count-control select{padding:5px;width:auto;min-height:29px;margin-top:4px}.territory-card small{text-align:center;padding:5px;font-size:8px}.territory-card.owned-card{box-shadow:0 0 14px #52ffb84d}.occupation-callout{flex:1;min-width:190px}.occupation-callout strong{font-size:13px;color:#8affc8}.occupation-callout p{font-size:10px;line-height:1.5;color:#bdd4ed}.battle-replay{background:#163857;border:1px solid #347299;border-radius:6px;padding:5px 8px;margin-top:6px;color:#a5e8ff;font-size:9px}.card-mode-note{font-size:10px;color:#bed7f1}@keyframes battle-roll{0%{transform:rotate(-12deg) translateY(0)}50%{transform:rotate(12deg) translateY(-5px)}100%{transform:rotate(-12deg) translateY(0)}}@media(max-width:600px){.battle-dialog{padding:20px 16px;border-radius:16px}.battle-heading h2{font-size:20px}.battle-versus{margin:16px 0}.battle-versus .avatar{width:54px;height:54px}.battle-versus strong{font-size:15px}.battle-round{padding:12px}.duel-row{grid-template-columns:1fr 130px 1fr}.battle-round .game-die{width:38px;height:38px;padding:6px;gap:2px}.battle-round .game-die i{width:5px;height:5px}.pair-result{font-size:8px}.battle-total{flex-wrap:wrap;gap:6px}.battle-total>span{width:100%}.battle-playback{flex-wrap:wrap}.battle-playback button{padding:10px 12px}.round-losses{font-size:8px}.battle-outcome{padding:12px 0}}@media(prefers-reduced-motion:reduce){.rolling .game-die{animation:none}}
