/* Material pass only: numerical replay, flips and layout keep their existing contracts. */
.game-arena { --own:#a9e0e5; --enemy:#eda392; --field:#e3c28b; font-family:var(--font-ui); background:#10191d; }
.game-arena .arena-background { filter:saturate(.82); }
.game-arena :is(.arena-topbar,.arena-action-bar,.mulligan-actions) { background:linear-gradient(180deg,#242a2ceb,#111a1bf7); border-color:#a58c5d5e; box-shadow:inset 0 1px #efdaac18,0 4px 16px #0005; }
.game-arena .arena-brand { font:700 23px var(--font-display); letter-spacing:4px; color:#e6c589; }
.game-arena :is(.arena-phase-announcement h1,.mulligan-heading h1,.arena-final h2,.duel-card h2,.hand-description h3,.mulligan-card h3,.deploy-card h3,.field-inspect strong,.battle-insight h3) { font-family:var(--font-display); font-weight:700; letter-spacing:.35px; text-transform:uppercase; }
.game-arena :is(.duel-button,.mulligan-confirm) { background:linear-gradient(165deg,#f6dfaa,#d4a767 58%,#ae7d45); border:1px solid #f4d99f; color:#211d18; font:700 21px/1 var(--font-display); letter-spacing:.8px; border-radius:3px 11px 3px 11px; box-shadow:inset 0 2px #fff0c7,inset 0 -3px #825727,0 3px 0 #0a1011; }
.game-arena .duel-button:disabled { opacity:.55; }
.game-arena .battle-scoreboard .commander { background:linear-gradient(115deg,#203a3dec,#151f22ed); border:1px solid #94b7ac67; border-radius:3px 12px 3px 12px; box-shadow:inset 0 1px #d3e6d31a,0 4px 0 #080e10; }
.game-arena .battle-scoreboard .commander-opponent { background:linear-gradient(245deg,#412e2cec,#1e2326ed); border-color:#bb967456; border-radius:12px 3px 12px 3px; }
.game-arena .life-value>b { font-family:var(--font-display); font-weight:700; }
.game-arena .life-track { height:6px; background:#060d0f; box-shadow:0 1px #d5c58d2e; border-radius:1px; }
.game-arena .life-fill { background:linear-gradient(0deg,#438d89,#abddd1); box-shadow:0 0 9px #9de4d13d; }
.game-arena .commander-opponent .life-fill { background:linear-gradient(0deg,#984f43,#f0ab8e); }
.game-arena .score-versus { font:700 17px var(--font-display); }
.game-arena .shared-field.field-brief { background:linear-gradient(105deg,#31382fef,#182326e8); border:1px solid #b196605e; border-radius:2px 9px; box-shadow:inset 0 1px #ffe4a321,0 3px 0 #081010; }
.game-arena .field-brief .field-brief-name>strong { font-family:var(--font-display); font-weight:700; letter-spacing:.5px; text-transform:uppercase; }
.game-arena .field-brief .field-thumbnail { border:1px solid #c2a27080; border-radius:2px; }
.game-arena .battle-insight { border-color:#a58b5659; border-radius:3px 12px; background:linear-gradient(145deg,#283132e6,#162024e6); }
.game-arena .plan-attack { font-family:var(--font-display); font-weight:700; }
.game-arena.has-combined-effects .duel-card,
.game-arena.has-combined-effects .duel-card.face-up { border:3px solid #967d59; border-top-color:#cfb083; border-right-color:#645440; border-bottom-color:#645440; border-radius:5px 15px 5px 15px; background:#172024; box-shadow:inset 0 0 0 1px #090f13,0 5px 0 #0a1012,0 13px 26px #000a,0 0 20px color-mix(in srgb,var(--race-color,#aacaca) 10%,transparent); }
.game-arena .duel-card::before { inset:5px; border:1px solid #d4ba8177; border-radius:2px 9px; z-index:1; }
.game-arena .duel-card>.portrait { border-radius:2px 12px; filter:saturate(1.05); }
.game-arena.has-combined-effects .duel-card.face-up .duel-card-shade { border-radius:2px 12px; background:linear-gradient(0deg,#10181dfc 2%,#101b22e6 29%,#13202744 54%,transparent 74%); }
.game-arena.has-combined-effects .duel-card-caption { background:linear-gradient(0deg,#10191df5,#142024bd 76%,transparent); }
.game-arena .duel-card-caption h2 { color:#fff0d1; font-weight:700; text-shadow:0 2px #060c12,0 0 9px #000; letter-spacing:.3px; }
.game-arena .duel-race { left:8px; top:8px; padding:0; border:0; background:none; }
.game-arena .duel-stars { top:9px; right:7px; }
.game-arena .combat-channel { background:#0e181dd9; border-color:#9aaa8b33; border-radius:2px; box-shadow:inset 2px 0 #a4caba4d; }
.game-arena .combat-channel.is-inactive { border-left-color:#70809566; background:#101c2b99; box-shadow:none; }
.game-arena .combat-channel.is-blocked { border-left-color:#df9283; box-shadow:inset 2px 0 #df928333; }
.game-arena .duel-card-stats { border-top-color:#b09e685e; }
.game-arena .duel-card-stats>span { background:linear-gradient(160deg,#273c48dd,#111e28); border:1px solid #81b6cf70; border-radius:4px 9px 4px 9px; padding:5px 1px 4px; box-shadow:inset 0 1px #d4e9f327,0 2px 0 #080e13; }
.game-arena .duel-card-stats>.stat-damage { background:linear-gradient(160deg,#49352add,#271b17); border-color:#d9986b88; }
.game-arena .duel-card-stats>.stat-attack { background:linear-gradient(160deg,#51482edd,#26291d); border-color:#d4c16d99; }
.game-arena .duel-card-stats b { font-family:var(--font-display); font-weight:700; }
.game-arena .duel-card-stats small { letter-spacing:.1px; }
.game-arena .duel-multiplier { border-color:#8dccb677; background:#102729ef; border-radius:2px 8px; }
.game-arena .combat-charges>i { border-radius:1px; }
.game-arena .combat-charges>i.filled { background:#a8e7d1; box-shadow:0 0 7px #86e9cb5e; }
.game-arena.has-combined-effects .duel-card.card-back { background:repeating-linear-gradient(135deg,#c0ae6909 0 1px,transparent 1px 9px),radial-gradient(ellipse,#394b444d,#101f27 76%); }
.game-arena .card-back-border { border-color:#b697605c; border-radius:2px 9px; }
.game-arena .back-rune { border-color:#b99a6266; color:#c9b078; border-radius:4px 16px; background:#203434; }
.game-arena .card-back>strong { font:700 19px var(--font-display); letter-spacing:.5px; text-transform:uppercase; color:#dfcfb1; }
.game-arena .duel-divider>span { font-family:var(--font-display); font-weight:700; }
.game-arena .winner-ribbon { background:linear-gradient(90deg,#b88c4c,#fae1a4,#be975a); color:#302510; font:700 12px var(--font-display); box-shadow:0 2px 7px #0007; }
.game-arena .bench-card { border:2px solid #927853; border-radius:3px 8px; box-shadow:inset 0 0 0 1px #d9b67166,0 3px 0 #091116; }
.game-arena .bench-card>.portrait { filter:saturate(1); }
.game-arena .bench-name { font-family:var(--font-display); font-weight:700; font-size:12px; }
.game-arena .bench-card.selected { border-color:#bfe9d9; box-shadow:0 0 0 1px #8accb0,0 0 15px #8be0bc33,0 3px 0 #071015; }
.game-arena .hand-card { border:2px solid #9d825d; border-right-color:#746143; border-bottom-color:#6f563b; border-radius:4px 12px 4px 12px; background:#172229; }
.game-arena .hand-card.selected { border-color:#c0e2cc; box-shadow:0 0 0 1px #b1d9be,0 0 16px #82dca938,0 4px 0 #071116; }
.game-arena .hand-description { background:linear-gradient(0deg,#142028,#142028d9 77%,transparent); }
.game-arena .hand-description h3 { font-size:17px; color:#f1dfbc; text-shadow:0 2px #10151c; }
.game-arena .hand-cost { border:1px solid #b3d4ba9e; border-radius:3px 8px; background:linear-gradient(145deg,#416359,#1c3738); color:#d1f3e3; box-shadow:0 2px 0 #0c1b21; }
.game-arena .hand-selection { background:#112c2ae8; color:#bfd8c8; border-top-color:#688c713b; }
.game-arena .hand-card.selected .hand-selection { background:#add1b3; color:#193028; }
.game-arena .mulligan-heading h1 { font-size:43px; }
.game-arena .mulligan-card-body { background:linear-gradient(0deg,#16242a,#16242aee); }
.game-arena .mulligan-card-decision { background:#263d37; border-color:#adc8a147; }
.game-arena .mulligan-card.selected .mulligan-card-decision { background:#684629; color:#ffe0af; }
.game-arena .mulligan-reference { background:#111c20df; border-color:#9a81594d; border-radius:3px 9px; }
.game-arena .mulligan-reference>summary { color:#d2cbb5; }
.game-arena .combat-playback { background:#162127dc; border-color:#997e5355; border-radius:3px 9px; }
.game-arena .arena-final { background:radial-gradient(ellipse,#ae8a4322,transparent 68%); }
.game-arena .arena-final h2 { color:#f4d699; font-size:72px; text-shadow:0 3px #332d20,0 0 36px #d2a86526; }
.game-arena .arena-final-score b { font-family:var(--font-display); font-weight:700; }
.game-arena .arena-final-score { border-color:#baa16a55; }
.game-arena .arena-round-results>span { background:#1c292ad9; border-color:#b39b6155; border-radius:3px 9px; }
.game-arena .combat-fx { background:linear-gradient(140deg,#263431f5,#14242bf5); border-color:#cab17c99; box-shadow:0 5px 18px #0009,inset 0 1px #f4dfa729; }
.game-arena .hand-card[data-affinity] { border-color:#aa9068; border-top-color:#c7b58d; border-left:3px solid var(--race-color,#aa9068); border-radius:4px 12px 4px 12px; }
.game-arena .hand-card[data-affinity].selected { border-color:#b8e3cf; box-shadow:0 0 0 1px #89bea4,0 0 20px #97ddaf33,0 4px 0 #0c1417; }
@media (min-width:701px) {
  .game-arena.has-battle-layout.has-combined-effects .duel-card { width:235px; max-width:235px; height:355px; }
  .game-arena.has-battle-layout.has-combined-effects .duel-stage { min-height:385px; }
  .game-arena.has-battle-layout.has-combined-effects .duel-card-caption { padding:10px; }
  .game-arena.has-battle-layout.has-combined-effects .duel-card-caption h2 { font-size:23px; min-height:0; margin-bottom:8px; line-height:1.02; }
  .game-arena .combat-channel-heading { flex-wrap:nowrap; }
  .game-arena .combat-channel { padding:4px 5px; }
  .game-arena .combat-channel-state { font-size:8px; }
  .game-arena .combat-channel-keywords { margin-top:3px; }
}
/* Numerical replay states outrank the resting material, without changing its
   clock, grayscale, transforms, life-trail widths or reveal visibility. */
.game-arena .duel-position[data-effect-stat=power] .duel-card-stats>.stat-power,
.game-arena .duel-position[data-effect-stat=attack] .duel-card-stats>.stat-attack,
.game-arena .duel-position[data-effect-stat=damage] .duel-card-stats>.stat-damage {
  border-color:#ecd093;
  background:linear-gradient(155deg,#51462f,#302d23);
  box-shadow:0 0 0 1px #f4d49a70,0 0 20px #e8c38240;
}
.game-arena.has-combined-effects .duel-position.is-winner .duel-card {
  border-color:#ffe4a4;
  box-shadow:inset 0 0 0 1px #090f13,0 5px 0 #0a1012,0 0 0 1px #f7d79199,0 0 36px #e8bc6945,0 13px 26px #000a;
}
.has-battle-feedback .game-arena .duel-position.is-damage-source .duel-card {
  border-color:#fff0c4;
  box-shadow:inset 0 0 0 1px #090f13,0 5px 0 #0a1012,0 0 0 2px #ffe2a799,0 0 40px #e8bc6966,0 13px 26px #000a;
}
@media (max-width:700px) {
  .game-arena.has-battle-layout .arena-brand { font-size:17px; letter-spacing:2px; }
  .game-arena .battle-scoreboard .life-value>b { font-size:35px; }
  .game-arena.has-combined-effects .duel-card,
  .game-arena.has-combined-effects .duel-card.face-up { border-width:2px; }
  .game-arena.has-battle-layout.has-combined-effects .duel-card-caption { padding:8px 7px; }
  .game-arena.has-battle-layout.has-combined-effects .duel-card-caption h2 { font-size:20px; line-height:1; }
  .game-arena .duel-card-stats b { font-size:26px; }
  .game-arena .duel-card-stats>.attack-number b { font-size:30px; }
  .game-arena .duel-card-stats small { margin-bottom:2px; }
  .game-arena .bench-name { font-size:11px; }
  .game-arena .hand-description h3 { font-size:15px; line-height:1.04; }
  .game-arena .mulligan-heading h1 { font-size:33px; }
  .game-arena .duel-button { font-size:19px; min-height:48px; }
  .game-arena .arena-final h2 { font-size:60px; }
}

/* The duel pair owns the full board width. The plan estimate must never reserve
   an asymmetric column, including while a replay is showing underneath it. */
@media (min-width:701px) {
  .game-arena.has-battle-layout.has-automatic-field .battlefield { grid-template-columns:minmax(0,1fr); gap:10px; max-width:1060px; }
  .game-arena.has-battle-layout.has-automatic-field .field-brief { grid-column:1; grid-row:1; }
  .game-arena.has-battle-layout.has-combined-effects .duel-stage { grid-column:1; grid-row:2; width:min(680px,100%); max-width:680px; justify-self:center; grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr); gap:26px; padding:6px 20px; }
  .game-arena.has-battle-layout .duel-position.player { grid-column:1; }
  .game-arena.has-battle-layout .duel-position.opponent { grid-column:3; }
  .game-arena.has-battle-layout .battlefield>.battle-insight { grid-column:1; grid-row:3; width:min(680px,100%); justify-self:center; }
  .game-arena.has-battle-layout .battlefield>.combat-playback { grid-column:1; }
}
@media (min-width:1100px) {
  .game-arena.has-battle-layout.phase-plan .battlefield>.battle-insight { position:absolute; grid-column:1; grid-row:2; right:0; top:50%; bottom:auto; transform:translateY(-50%); width:165px; }
}
@media (min-width:701px) and (max-width:1099px) {
  .game-arena.has-battle-layout.phase-plan .battlefield>.battle-insight { display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:5px 12px; text-align:left; padding:11px 15px; }
  .game-arena.has-battle-layout.phase-plan .battle-insight .insight-label { grid-column:1; }
  .game-arena.has-battle-layout.phase-plan .battle-insight .plan-attack { grid-column:2; grid-row:1/3; margin:0; font-size:35px; }
  .game-arena.has-battle-layout.phase-plan .battle-insight .insight-unit { grid-column:1; grid-row:2; }
  .game-arena.has-battle-layout.phase-plan .battle-insight p { grid-column:3; grid-row:1; margin:0; }
  .game-arena.has-battle-layout.phase-plan .battle-insight .charge-dots { grid-column:3; grid-row:2; margin:0; justify-content:flex-start; }
  .game-arena.has-battle-layout.phase-plan .battle-insight>small { grid-column:1/-1; margin:2px 0 0; }
}
