* { box-sizing: border-box; min-width: 0; }
html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; background: transparent !important; }
body {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(4px, 1.5vw, 10px);
}
.overlay-shell {
  position: relative !important;
  inset: auto !important;
  width: min(100%, 760px) !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: min(94vh, 390px) !important;
  transform: none !important;
  translate: none !important;
  scale: 1 !important;
  transform-origin: center !important;
  overflow: visible !important;
  flex: 0 1 760px;
  margin-inline: auto !important;
}
.scoreboard {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  grid-template-columns: minmax(0, 1fr) minmax(76px, .72fr) minmax(0, 1fr) !important;
  gap: clamp(4px, 1vw, 10px) !important;
  padding: clamp(5px, 1.2vw, 10px) !important;
}
.team-panel, .match-status { min-width: 0 !important; width: auto !important; max-width: 100% !important; overflow: hidden !important; }
.team-label, .team-panel strong, #lead-text { max-width: 100% !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.rope-stage { width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin-inline: 0 !important; }
.rope-stage__track, .rope-stage .rope {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body[data-overlay-size="compact"] .overlay-shell { height: min(94vh, 255px) !important; }
body[data-overlay-size="compact"] .scoreboard { min-height: 68px !important; padding: 4px !important; gap: 4px !important; }
body[data-overlay-size="compact"] .team-panel, body[data-overlay-size="compact"] .match-status { padding: 6px !important; }
body[data-overlay-size="compact"] .team-label { font-size: calc(var(--overlay-team-label-size) * 0.85) !important; }
body[data-overlay-size="compact"] .team-panel strong { font-size: calc(var(--overlay-wins-size) * 0.85) !important; }
body[data-overlay-size="compact"] .rope-stage { min-height: 68px !important; margin-top: 4px !important; }

body[data-overlay-size="standard"] .overlay-shell { height: min(94vh, 330px) !important; }
body[data-overlay-size="standard"] .scoreboard { min-height: 88px !important; }
body[data-overlay-size="standard"] .rope-stage { min-height: 96px !important; }

body[data-overlay-size="large"] .overlay-shell { height: min(94vh, 390px) !important; }
body[data-overlay-size="large"] .scoreboard { min-height: 108px !important; padding: 10px !important; }
body[data-overlay-size="large"] .team-label { font-size: calc(var(--overlay-team-label-size) * 1.2) !important; }
body[data-overlay-size="large"] .team-panel strong { font-size: calc(var(--overlay-wins-size) * 1.2) !important; }
body[data-overlay-size="large"] .rope-stage { min-height: 120px !important; }

body[data-overlay-layout="compactBar"] .overlay-shell {
  height: auto !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto 0 !important;
  align-content: center !important;
}
body[data-overlay-layout="compactBar"] .scoreboard {
  position: relative !important;
  z-index: 4 !important;
  min-height: 0 !important;
  height: clamp(54px, 18vw, 82px) !important;
  grid-template-columns: minmax(0, 1fr) minmax(54px, .42fr) minmax(0, 1fr) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
body[data-overlay-layout="compactBar"][data-overlay-size="compact"] .scoreboard { height: clamp(44px, 14vw, 58px) !important; padding: 3px !important; }
body[data-overlay-layout="compactBar"][data-overlay-size="large"] .scoreboard { height: clamp(68px, 22vw, 96px) !important; }
body[data-overlay-layout="compactBar"] .rope-stage {
  position: absolute !important;
  z-index: 2 !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
}
body[data-overlay-layout="compactBar"] .rope-stage__track,
body[data-overlay-layout="compactBar"] .rope-stage .rope { inset: 0 !important; height: 100% !important; border-radius: 12px !important; }
body[data-overlay-layout="compactBar"] .team-panel,
body[data-overlay-layout="compactBar"] .match-status { z-index: 5 !important; padding: clamp(4px, 1.5vw, 10px) !important; background: transparent !important; border: 0 !important; }
body[data-overlay-layout="compactBar"] .battle-kicker { display: none !important; }

@media (max-width: 430px) {
  body { padding: 4px; }
  .scoreboard { grid-template-columns: minmax(0, 1fr) minmax(62px, .6fr) minmax(0, 1fr) !important; gap: 3px !important; }
  .team-panel, .match-status { padding-inline: 5px !important; }
  .team-label { font-size: calc(var(--overlay-team-label-size) * 0.85) !important; letter-spacing: .02em !important; }
  .team-panel strong { font-size: calc(var(--overlay-wins-size) * 0.85) !important; }
  .battle-kicker { font-size: .46rem !important; }
  .flag { max-width: 34px !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
