/* R45: DOM arena / election surfaces share the fight and menu visual language.
   Load after all r25r36 arena and r25r44 election styles. Existing controls,
   image URLs, image visibility and selection attributes remain authoritative. */
#r25r36VersusArenaPicker,
#r25r44-election-night {
  font-family:var(--sk-r45-font,"Atkinson Hyperlegible Next",Arial,sans-serif);
  font-size:1rem;
  line-height:1.45;
  color:var(--sk-r45-ivory,#f4f0df);
  background:#050a12;
  text-shadow:none;
}
#r25r36VersusArenaPicker *,
#r25r44-election-night * {
  font-family:var(--sk-r45-font,"Atkinson Hyperlegible Next",Arial,sans-serif);
  text-shadow:none;
  letter-spacing:normal;
}
#r25r36VersusArenaPicker .r25r36-arena-dialog,
#r25r44-election-night .election-window {
  border:1px solid #a88d53;
  border-radius:14px;
  background:#091728;
  box-shadow:0 22px 72px #0009,inset 0 1px #ffe5a71a;
}
#r25r36VersusArenaPicker .r25r36-arena-dialog::before {background:#d6b66f;box-shadow:none;width:2px;}
#r25r36VersusArenaPicker .r25r36-arena-header,
#r25r36VersusArenaPicker .r25r36-arena-footer,
#r25r44-election-night .election-header,
#r25r44-election-night .election-footer {
  background:#0d2032;
  border-color:#3f5263;
}
#r25r36VersusArenaPicker .r25r36-arena-title,
#r25r44-election-night h1,
#r25r44-election-night h2 {
  color:#f4f0df;
  font-size:2rem;
  line-height:1.2;
  font-weight:700;
  letter-spacing:normal;
  overflow-wrap:anywhere;
}
#r25r36VersusArenaPicker .r25r36-arena-eyebrow,
#r25r36VersusArenaPicker .r25r36-arena-selection-label,
#r25r36VersusArenaPicker .r25r36-arena-step-count,
#r25r44-election-night .election-kicker,
#r25r44-election-night .election-eyebrow,
#r25r44-election-night h3 {
  color:#f1c76b;
  font-size:.875rem;
  line-height:1.4;
  font-weight:700;
}
#r25r36VersusArenaPicker .r25r36-arena-hint,
#r25r36VersusArenaPicker .r25r36-arena-controls-hint,
#r25r36VersusArenaPicker .r25r36-arena-showcase-meta,
#r25r44-election-night p,
#r25r44-election-night .election-rules,
#r25r44-election-night .election-next p,
#r25r44-election-night .election-footer>span {
  color:#c3cfda;
  font-size:1rem;
  line-height:1.5;
  font-weight:400;
}
#r25r36VersusArenaPicker .r25r36-arena-step {background:#091728;border-color:#8b764d;}
#r25r36VersusArenaPicker .r25r36-arena-step-name {font-size:1rem;color:#f4f0df;}
#r25r36VersusArenaPicker .r25r36-arena-selection-value {
  font-size:2rem;line-height:1.2;white-space:normal;overflow:visible;text-overflow:clip;
}
#r25r36VersusArenaPicker .r25r36-arena-showcase-copy {
  background:#091728;
  padding:.75rem 1rem;
  border-left:3px solid #f1c76b;
  border-radius:4px;
  max-width:min(75%,48rem);
}
#r25r36VersusArenaPicker .r25r36-arena-showcase-counter {
  font-size:.875rem;font-weight:700;background:#f1c76b;color:#091728;box-shadow:none;
}
/* Labels are ordinary flowing content below each unchanged arena image.
   They remain whole when text grows to 200%; the grid scrolls instead of
   truncating a name or painting text over a bright picture. Keyboard already
   reads the actual grid column count, so responsive wrapping keeps its route. */
#r25r36VersusArenaPicker .r25r36-arena-dialog {display:flex;flex-direction:column;}
#r25r36VersusArenaPicker .r25r36-arena-header,
#r25r36VersusArenaPicker .r25r36-arena-showcase,
#r25r36VersusArenaPicker .r25r36-arena-footer {flex:0 0 auto;}
#r25r36VersusArenaPicker .r25r36-arena-grid {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,10.5rem),1fr));
  grid-template-rows:none;
  grid-auto-rows:auto;
  align-content:start;
  align-items:stretch;
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  gap:.75rem;
  padding:1rem;
  scrollbar-color:#8b9dae #091728;
}
#r25r36VersusArenaPicker .r25r36-arena-card {
  display:flex;flex-direction:column;
  height:auto;aspect-ratio:auto;
  border:1px solid #536475;
  border-radius:7px;
  background:#0d2032;
  box-shadow:none;
  min-height:48px;
  transform:none;
}
#r25r36VersusArenaPicker .r25r36-arena-card-media {
  position:relative;inset:auto;flex:0 0 auto;height:auto;aspect-ratio:16/9;
}
#r25r36VersusArenaPicker .r25r36-arena-card-copy {
  position:relative;inset:auto;align-items:baseline;flex:1 0 auto;
  padding:.6rem .65rem;gap:.45rem;width:100%;background:#0d2032;
}
#r25r36VersusArenaPicker .r25r36-arena-card-title {
  font-size:1rem;line-height:1.35;font-weight:600;color:#f4f0df;
  white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;
}
#r25r36VersusArenaPicker .r25r36-arena-card-index {font-size:.875rem;color:#9cdbe8;line-height:1.35;font-weight:600;}
#r25r36VersusArenaPicker .r25r36-arena-card-check {
  font-size:.75rem;line-height:1.4;font-weight:700;
  color:#091728;background:#f1c76b;padding:.2rem .4rem;box-shadow:none;
}
#r25r36VersusArenaPicker .r25r36-arena-card.is-selected {
  border-color:#f1c76b;box-shadow:0 0 0 2px #f1c76b;transform:none;
}
#r25r36VersusArenaPicker .r25r36-arena-card:focus-visible {
  outline:3px solid #ffe5a7;outline-offset:3px;transform:none;
}
#r25r36VersusArenaPicker .r25r36-arena-card.has-image-error .r25r36-arena-card-media::before {
  font-size:.875rem;color:#f4f0df;background:#091728;
}
#r25r36VersusArenaPicker .r25r36-arena-random-count {
  font-size:.75rem;color:#f4f0df;background:#091728;padding:.2rem .4rem;border-radius:3px;
}
#r25r36VersusArenaPicker .r25r36-arena-random-mark {color:#ffe5a7;text-shadow:none;}
#r25r36VersusArenaPicker .r25r36-arena-footer,
#r25r36VersusArenaPicker .r25r36-arena-actions,
#r25r44-election-night .election-footer,
#r25r44-election-night .election-footer-left,
#r25r44-election-night .election-header,
#r25r44-election-night .election-setup-head {flex-wrap:wrap;}
#r25r36VersusArenaPicker .r25r36-arena-action,
#r25r44-election-night button,
#r25r44-election-night input,
#r25r44-election-night select {
  font-family:var(--sk-r45-font,"Atkinson Hyperlegible Next",Arial,sans-serif);
  font-size:1rem;line-height:1.4;font-weight:600;letter-spacing:normal;
  color:#f4f0df;background:#10263a;border:1px solid #65778a;border-radius:7px;
  min-height:48px;white-space:normal;overflow-wrap:anywhere;box-shadow:none;
}
#r25r36VersusArenaPicker .r25r36-arena-action.is-confirm,
#r25r44-election-night .election-primary {
  color:#091728;background:linear-gradient(#f2d798,#c6a057);border-color:#f1c76b;font-weight:700;
}
#r25r36VersusArenaPicker .r25r36-arena-action:hover,
#r25r44-election-night button:hover {background:#203b51;border-color:#f1c76b;filter:none;}
#r25r36VersusArenaPicker .r25r36-arena-action.is-confirm:hover,
#r25r44-election-night .election-primary:hover {background:#ffe5a7;color:#091728;}
#r25r36VersusArenaPicker .r25r36-arena-action:focus-visible,
#r25r44-election-night button:focus-visible,
#r25r44-election-night input:focus-visible,
#r25r44-election-night select:focus-visible {outline:3px solid #ffe5a7;outline-offset:3px;box-shadow:none;}
#r25r44-election-night .election-body {scrollbar-color:#8b9dae #091728;}
#r25r44-election-night .election-format {background:#0d2032;border-color:#536475;}
#r25r44-election-night .election-format-gold {border-color:#a88d53;background:#172332;}
#r25r44-election-night .election-format strong {font-size:1.25rem;line-height:1.4;}
#r25r44-election-night .election-format>span:last-child {font-size:1rem;line-height:1.5;color:#c3cfda;}
#r25r44-election-night .election-format-number {font-size:2.5rem;color:#9cdbe8;}
#r25r44-election-night .election-format-number small {font-size:1.125rem;color:#c3cfda;}
#r25r44-election-night .election-format-gold .election-format-number {color:#f1c76b;}
#r25r44-election-night .election-live {font-size:.875rem;color:#c3cfda;white-space:normal;}
#r25r44-election-night .election-live strong {font-size:1rem;color:#f1c76b;}
#r25r44-election-night .election-count-label,
#r25r44-election-night .election-names label span {font-size:1rem;color:#f4f0df;}
#r25r44-election-night .election-names label span {width:auto;min-width:1.5rem;flex-shrink:0;}
#r25r44-election-night input::placeholder {color:#bbc8d5;opacity:1;}
#r25r44-election-night #election-error {font-size:1rem;line-height:1.4;color:#ffb8c5;}
#r25r44-election-night .election-next {align-items:flex-start;flex-wrap:wrap;}
#r25r44-election-night .election-next h2 {font-size:1.75rem;}
#r25r44-election-night .election-next h2 small {font-size:1rem;color:#c3cfda;}
#r25r44-election-night .election-progress {font-size:1.5rem;color:#f1c76b;}
#r25r44-election-night .election-progress small {font-size:.875rem;color:#c3cfda;}
#r25r44-election-night .election-bracket {gap:1rem;overflow-x:auto;padding:.25rem .25rem .75rem;}
#r25r44-election-night .election-match {background:#0d2032;border-color:#536475;}
#r25r44-election-night .election-up-next {border:2px solid #f1c76b;box-shadow:none;}
#r25r44-election-night .election-entrant {font-size:1rem;line-height:1.4;border-color:#405263;}
#r25r44-election-night .election-entrant b {font-size:1rem;color:#c3cfda;}
#r25r44-election-night .election-winner {color:#ffe5a7;background:#253142;font-weight:700;}
#r25r44-election-night .election-winner b {color:#ffe5a7;}
/* Winner is visible through weight, rule, score and the existing result caption,
   without relying on cyan/red/gold color perception. */
#r25r44-election-night .election-winner {border-left:3px solid #ffe5a7;}
#r25r44-election-night .election-match-caption {font-size:.875rem;line-height:1.4;min-height:1.5rem;color:#c3cfda;}
#r25r44-election-night .election-notice {font-size:1rem;line-height:1.5;color:#f4f0df;background:#253142;border-color:#f1c76b;}
#r25r44-election-night .election-laurel {color:#f1c76b;text-shadow:none;}
#r25r44-election-night .election-champion h2 {font-size:2.5rem;color:#ffe5a7;}
#r25r44-election-night .election-champion p {font-size:1rem;color:#c3cfda;}
@media (max-width:48rem) {
  #r25r44-election-night .election-bracket {grid-template-columns:repeat(3,minmax(12rem,1fr));}
  #r25r44-election-night .election-names {grid-template-columns:1fr;}
  #r25r44-election-night .election-formats {grid-template-columns:1fr;}
}
@media (max-height:700px) and (orientation:landscape) {
  #r25r36VersusArenaPicker .r25r36-arena-title {font-size:1.5rem;}
  #r25r36VersusArenaPicker .r25r36-arena-grid {padding:.65rem;gap:.65rem;}
  #r25r36VersusArenaPicker .r25r36-arena-actions {width:min(34rem,100%);}
  #r25r36VersusArenaPicker .r25r36-arena-action {min-height:48px;}
}
@media (max-height:320px) {
  #r25r36VersusArenaPicker,#r25r44-election-night {overflow:auto;place-items:start center;}
  #r25r36VersusArenaPicker .r25r36-arena-dialog,#r25r44-election-night .election-window {height:auto;max-height:none;overflow:visible;}
  #r25r36VersusArenaPicker .r25r36-arena-grid,#r25r44-election-night .election-body {overflow:visible;}
}
@media (prefers-reduced-motion:reduce) {
  #r25r36VersusArenaPicker *,#r25r44-election-night * {transition:none!important;animation:none!important;}
}

/* R46: arena wall and election bracket use the same blue/gold fight identity.
   Image ownership, aspect ratio, flowing labels and full 48px hit areas survive. */
#r25r36VersusArenaPicker,
#r25r44-election-night {background:linear-gradient(125deg,#102438,#040a12 65%);}
#r25r36VersusArenaPicker .r25r36-arena-dialog,
#r25r44-election-night .election-window {
  border-radius:0;
  border:1px solid #65788b;
  border-top:3px solid #f1c76b;
  background:#07121f;
  box-shadow:0 24px 80px #000b;
}
#r25r36VersusArenaPicker .r25r36-arena-header,
#r25r44-election-night .election-header {background:linear-gradient(110deg,#172e43,#06111e);}
#r25r36VersusArenaPicker .r25r36-arena-footer,
#r25r44-election-night .election-footer {background:#040d17;border-top:1px solid #65788b;}
#r25r36VersusArenaPicker .r25r36-arena-title,
#r25r44-election-night h1 {font-weight:800;}
#r25r36VersusArenaPicker .r25r36-arena-step {border-radius:0;border:0;border-left:3px solid #f1c76b;}
#r25r36VersusArenaPicker .r25r36-arena-showcase-copy {
  border-radius:0;
  background:linear-gradient(110deg,#07121ff5,#07121fdc);
  border-left:4px solid #f1c76b;
  box-shadow:0 6px 20px #0005;
}
#r25r36VersusArenaPicker .r25r36-arena-showcase-counter {border-radius:0;}
#r25r36VersusArenaPicker .r25r36-arena-grid {gap:.5rem;background:#040b14;}
#r25r36VersusArenaPicker .r25r36-arena-card {
  border-radius:0;
  border-color:#42576b;
  background:#0c1d2d;
}
#r25r36VersusArenaPicker .r25r36-arena-card-copy {
  border-top:1px solid #577085;
  background:#0b1a2a;
  padding:.65rem;
}
#r25r36VersusArenaPicker .r25r36-arena-card.is-selected {
  border-color:#ffe5a7;
  box-shadow:0 0 0 2px #ffe5a7,inset 0 0 0 1px #ffe5a7;
}
#r25r36VersusArenaPicker .r25r36-arena-card.is-selected .r25r36-arena-card-copy {
  background:#f1c76b;
  border-top-color:#ffe5a7;
}
#r25r36VersusArenaPicker .r25r36-arena-card.is-selected .r25r36-arena-card-title,
#r25r36VersusArenaPicker .r25r36-arena-card.is-selected .r25r36-arena-card-index {color:#07121f;font-weight:700;}
#r25r36VersusArenaPicker .r25r36-arena-card-check {border-radius:0;border-left:3px solid #07121f;}
#r25r36VersusArenaPicker .r25r36-arena-action,
#r25r44-election-night button,
#r25r44-election-night input,
#r25r44-election-night select {border-radius:2px;background:#13293d;border-color:#71889b;}
#r25r36VersusArenaPicker .r25r36-arena-action.is-confirm,
#r25r44-election-night .election-primary {background:linear-gradient(115deg,#ffe5a7,#d5ad5d);box-shadow:inset 0 -3px #8a672d;color:#07121f;}
#r25r44-election-night .election-format,
#r25r44-election-night .election-match,
#r25r44-election-night .election-notice {border-radius:0;}
#r25r44-election-night .election-format {border-top:3px solid #58d8ed;background:linear-gradient(135deg,#182f43,#07121f);}
#r25r44-election-night .election-format-gold {border-top-color:#f1c76b;}
#r25r44-election-night .election-match {background:#0b1a2a;}
#r25r44-election-night .election-up-next {border-color:#ffe5a7;border-left:5px solid #ffe5a7;}
#r25r44-election-night .election-winner {background:#1b3446;border-left:4px solid #ffe5a7;}
#r25r44-election-night .election-champion {border-top:3px solid #f1c76b;border-bottom:1px solid #65788b;background:linear-gradient(110deg,#1b2d40,#08131f);}
