/* Mimicou! - CSS consolidado e limpo. Base funcional: v2.9.20. */
:root {
  --bg: #f3f4f6;
  --surface: #fff;
  --muted: #6b7280;
  --line: #e5e7eb;
  --primary: #111827;
  --radius: 24px;
  --shadow: 0 18px 50px rgba(17,24,39,.09);
}
* {
  box-sizing: border-box;
}
html,
body {
  margin: 0;
  width: 100%;
  height: 100%;
}
html {
  -webkit-text-size-adjust: 100%;
}
button,
input {
  font: inherit;
}
button {
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.app-shell {
  width: 100%;
  height: 100dvh;
  overflow: hidden;
}
.screen {
  display: none;
  width: 100%;
  height: 100dvh;
  overflow: hidden;
}
.screen.active {
  display: block;
}
.card {
  border-radius: var(--radius);
}
.eyebrow {
  margin: 0 0 5px;
  font-size: 10px;
}
.primary-button,
.secondary-button,
.ghost-button,
.text-button,
.pager-button {
  border: 0;
  font-weight: 850;
}
.primary-button {
  border-radius: 15px;
  min-height: 48px;
  padding: 0 20px;
}
.secondary-button {
  border-radius: 15px;
  min-height: 48px;
  padding: 0 18px;
}
.secondary-button.danger {
  border-color: #fecaca;
}
.ghost-button {
  background: transparent;
  padding: 8px 0;
}
.text-button {
  background: transparent;
  padding: 6px;
}
.compact {
  min-height: 42px;
  padding: 0 18px;
}
.notice {
  font-size: 12px;
  font-weight: 750;
}
.setup-shell {
  height: 100%;
  margin: 0 auto;
  display: grid;
  overflow: hidden;
}
.setup-tabs {
  grid-template-columns: repeat(3,1fr);
  gap: 8px;
  padding: 5px;
  border-radius: 15px;
}
.setup-tab {
  border: 0;
  background: transparent;
  border-radius: 11px;
  min-height: 40px;
}
.setup-tab span {
  display: inline-grid;
  place-items: center;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  margin-right: 5px;
  font-size: 11px;
}
.setup-content {
  min-height: 0;
  overflow: hidden;
}
.setup-panel {
  display: none;
  height: 100%;
  min-height: 0;
}
.setup-panel.active {
  display: grid;
  grid-template-rows: auto minmax(0,1fr);
  gap: 12px;
}
.stepper {
  display: grid;
  grid-template-columns: 42px 1fr 42px;
  align-items: center;
  gap: 7px;
}
.stepper button {
  height: 39px;
  border-radius: 11px;
  font-size: 20px;
}
.stepper strong {
  text-align: center;
  font-size: 24px;
}
.teams-editor {
  align-self: center;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.team-edit-row {
  display: grid;
}
.categories-panel {
  grid-template-rows: auto minmax(0,1fr) auto !important;
}
.category-heading-actions {
  display: flex;
  align-items: center;
}
.selection-count {
  border-radius: 999px;
}
.categories-grid {
  min-height: 0;
}
.category-option input {
  pointer-events: none;
}
.category-label strong {
  min-width: 0;
}
.category-pagination {
  justify-content: center;
}
.page-label {
  text-align: center;
}
.setup-footer {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.setup-footer-actions {
  gap: 8px;
}

/* =========================
   Tela: Agora e a vez do time
   Referencia visual: gameshow / palco
   ========================= */
#turn-screen {
  position: relative;
  padding: clamp(10px, 1.8vh, 18px) clamp(12px, 2vw, 24px);
  background: #122a66;
  overflow: hidden;
}

#turn-screen::before,
#turn-screen::after {
  display: none;
}

#turn-screen .turn-layout {
  width: min(1450px, 100%);
  height: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: clamp(260px, 24vw, 330px) minmax(0, 1fr);
  overflow: hidden;
  position: relative;
  z-index: 1;
  border: 2px solid #7854ff;
  border-radius: 28px;
  background: #12063f;
  box-shadow: 0 26px 60px rgba(3, 0, 24, .42), inset 0 1px 0 rgba(255,255,255,.08);
}

#turn-screen .turn-side,
#turn-screen .turn-main {
  isolation: isolate;
  z-index: 2;
  padding: clamp(64px, 8vh, 88px) clamp(34px, 4.3vw, 64px) clamp(22px, 3vh, 30px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  overflow: hidden;
  background: #163477;
}

#turn-screen .turn-side {
  z-index: 3;
  padding: clamp(18px, 2.6vh, 26px) clamp(18px, 2vw, 22px);
  display: flex;
  flex-direction: column;
  gap: 16px;
  background: linear-gradient(180deg, #0d032d 0%, #100337 100%);
  border-right: 1px solid rgba(255,255,255,.10);
}

#turn-screen .turn-exit-button {
  width: max-content;
  min-width: 132px;
  min-height: 58px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 0;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffd13e 0%, #ffb622 100%);
  color: #24105e;
  font-size: 18px;
  font-weight: 1000;
  box-shadow: 0 7px 0 #d98208, 0 10px 24px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.60);
}
#turn-screen .turn-exit-button:hover { filter: brightness(1.04); transform: translateY(-1px); }
#turn-screen .turn-exit-arrow {
  width: auto;
  height: auto;
  display: inline;
  background: none;
  color: inherit;
  font-size: 24px;
  line-height: 1;
  box-shadow: none;
}

#turn-screen .round-chip {
  width: max-content;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 8px 14px;
  border: 1px solid #7854ff;
  border-radius: 999px;
  background: linear-gradient(180deg, #5a2bd8 0%, #4220ad 100%);
  color: #fff;
  font-size: 12px;
  font-weight: 1000;
  box-shadow: 0 5px 0 rgba(31, 12, 92, .85), inset 0 1px 0 rgba(255,255,255,.14);
}

#turn-screen .turn-score-panel {
  margin-top: auto;
  min-height: 0;
  padding: 18px;
  display: flex;
  flex-direction: column;
  border: 2px solid rgba(117, 84, 255, .78);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(44, 20, 112, .98), rgba(23, 8, 70, .98));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 14px 30px rgba(0,0,0,.22);
}
#turn-screen .turn-score-title {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  color: #ffd83d;
  text-align: left;
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .01em;
}
#turn-screen .turn-score-title-icon {
  width: 30px;
  height: 30px;
  object-fit: contain;
  filter: drop-shadow(0 4px 6px rgba(0,0,0,.25));
}
#turn-screen .turn-score-caption {
  margin: 12px 0 14px;
  color: #d3c9f2;
  text-align: left;
  font-family: Nunito, system-ui, sans-serif;
  font-size: 13px;
  font-weight: 800;
}
#turn-screen .mini-scoreboard {
  display: grid;
  gap: 9px;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
#turn-screen .mini-score {
  min-height: 52px;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #6548c7;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(68, 40, 145, .96), rgba(42, 20, 104, .96));
  color: #fff;
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
#turn-screen .mini-score-name {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#turn-screen .mini-score-total {
  min-width: 34px;
  height: 34px;
  padding: 0 9px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 999px;
  background: rgba(255,255,255,.09);
  color: #fff;
  font-size: 17px;
  font-weight: 800;
}
#turn-screen .mini-score.current {
  border: 2px solid #ffd035;
  background: linear-gradient(90deg, rgba(81, 47, 177, .98), rgba(35, 14, 91, .98));
  box-shadow: 0 0 0 2px rgba(255,208,53,.12), inset 0 1px 0 rgba(255,255,255,.08);
}

#turn-screen .turn-main {
  isolation: isolate;
  z-index: 2;
  padding: clamp(76px, 10vh, 102px) clamp(34px, 4.3vw, 64px) clamp(18px, 2.6vh, 26px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 50% 20%, rgba(82, 60, 198, .24), transparent 38%),
    linear-gradient(180deg, #21135f 0%, #160748 62%, #100338 100%);
}

#turn-screen .turn-stage-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}

#turn-screen .turn-spotlight {
  display: block;
  position: absolute;
  top: -8%;
  width: 24%;
  height: 42%;
  clip-path: polygon(35% 0, 65% 0, 100% 100%, 0 100%);
  background: linear-gradient(180deg, rgba(143, 198, 255, .38), rgba(82, 128, 220, .08));
  opacity: .5;
}
#turn-screen .turn-spotlight-left { left: 2%; transform: rotate(-4deg); }
#turn-screen .turn-spotlight-right { right: 1%; transform: rotate(4deg); }

#turn-screen .turn-light-tower,
#turn-screen .turn-light-left,
#turn-screen .turn-light-right {
  display: none;
}

#turn-screen .turn-confetti { display: none !important; }

#turn-screen .turn-stage-platform {
  display: none;
}

#turn-screen .turn-ribbon {
  position: relative;
  width: min(690px, 78%);
  min-height: 66px;
  padding: 13px 34px 12px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffd34b 0%, #ffb51f 100%);
  color: #28105f;
  font-size: clamp(22px, 2.2vw, 34px);
  font-weight: 1000;
  letter-spacing: .05em;
  line-height: 1;
  box-shadow: 0 8px 0 #d78307, 0 15px 26px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.60);
  margin-bottom: 24px;
}
#turn-screen .turn-ribbon::before,
#turn-screen .turn-ribbon::after {
  display: none;
}

#turn-screen .team-orb {
  width: clamp(72px, 9vh, 92px);
  height: clamp(72px, 9vh, 92px);
  margin: 0;
  border: 7px solid #68c8ff;
  border-radius: 50%;
  box-shadow: 0 0 0 10px rgba(80, 48, 201, .82), 0 12px 22px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.18);
}
#turn-screen .turn-main h2 {
  margin: 18px 0 0;
  color: #fff;
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-size: clamp(48px, 5.4vw, 76px);
  font-weight: 800;
  line-height: .95;
  letter-spacing: -.025em;
  -webkit-text-stroke: 0;
  text-shadow: 0 5px 0 rgba(18, 64, 145, .72), 0 10px 22px rgba(0,0,0,.22);
}
#turn-screen .turn-copy {
  max-width: 650px;
  margin: 22px 0 0;
  color: #fff;
  font-size: clamp(12px, 1.18vw, 16px);
  font-weight: 900;
  line-height: 1.35;
}

#turn-screen .turn-meta {
  width: min(560px, 72%);
  margin: clamp(30px, 4vh, 40px) 0 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
#turn-screen .turn-stat-card {
  min-height: 104px;
  padding: 12px 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  border: 2px solid #6848d5;
  border-radius: 22px;
  background: linear-gradient(180deg, #43209b 0%, #2c126f 100%);
  box-shadow: 0 8px 0 #160741, 0 12px 22px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.09);
}
#turn-screen .turn-stat-icon {
  width: 54px;
  height: 54px;
  flex: 0 0 auto;
  object-fit: contain;
  filter: brightness(0) invert(1) drop-shadow(0 4px 6px rgba(0,0,0,.20));
}
#turn-screen .turn-stat-card > div {
  min-width: 82px;
  padding: 7px 10px 8px;
  border: 1px solid rgba(153, 112, 255, .42);
  border-radius: 13px;
  background: rgba(31, 8, 87, .58);
}
#turn-screen .turn-stat-card span {
  display: block;
  margin-bottom: 3px;
  color: #ddd5f5;
  font-size: 11px;
  font-weight: 1000;
  text-transform: uppercase;
}
#turn-screen .turn-stat-card strong {
  display: block;
  color: #ffd43e;
  font-size: clamp(25px, 2.8vw, 36px);
  font-weight: 1000;
  line-height: 1;
  text-shadow: 0 4px 0 rgba(137, 74, 3, .55);
}

#turn-screen .turn-start-button {
  position: relative;
  z-index: 5;
  width: min(430px, 58%);
  min-height: 64px;
  margin: auto 0 0;
  padding-inline: 30px;
  border: 2px solid #ffe679;
  border-radius: 28px;
  background: linear-gradient(180deg, #ffd342 0%, #ffb31f 100%);
  color: #27105e;
  font-size: clamp(18px, 1.9vw, 24px);
  font-weight: 1000;
  letter-spacing: .02em;
  box-shadow: 0 8px 0 #d88208, 0 14px 28px rgba(0,0,0,.27), inset 0 1px 0 rgba(255,255,255,.58);
}
#turn-screen .turn-start-button:hover { transform: translateY(-1px); filter: brightness(1.04); }
#turn-screen .turn-start-button:active { transform: translateY(4px); box-shadow: 0 4px 0 #d88208, 0 8px 18px rgba(0,0,0,.24); }

@media (max-width: 1100px) and (orientation: landscape) {
  #turn-screen .turn-layout { grid-template-columns: clamp(220px, 24vw, 270px) minmax(0, 1fr); }
  #turn-screen .turn-side { padding: 14px; gap: 11px; }
  #turn-screen .turn-exit-button { min-height: 46px; min-width: 118px; font-size: 16px; border-radius: 15px; }
  #turn-screen .turn-score-panel { padding: 12px; }
  #turn-screen .turn-main { padding: 48px 24px 18px; }
  #turn-screen .turn-ribbon { width: min(600px, 82%); min-height: 54px; }
  #turn-screen .turn-meta { width: min(500px, 76%); margin: 24px 0 0; }
  #turn-screen .turn-stat-card { min-height: 88px; padding: 10px 12px; }
  #turn-screen .turn-stat-icon { width: 44px; height: 44px; }
  #turn-screen .turn-start-button { min-height: 54px; width: min(400px, 60%); }
}

@media (max-height: 650px) and (orientation: landscape) {
  #turn-screen { padding: 8px 10px; }
  #turn-screen .turn-layout { grid-template-columns: 210px minmax(0, 1fr); border-radius: 22px; }
  #turn-screen .turn-side { padding: 12px; gap: 9px; }
  #turn-screen .turn-exit-button { min-height: 40px; min-width: 102px; font-size: 14px; box-shadow: 0 5px 0 #d98208; }
  #turn-screen .round-chip { padding: 6px 10px; }
  #turn-screen .turn-score-panel { padding: 10px; border-radius: 16px; }
  #turn-screen .turn-score-title { font-size: 15px; }
  #turn-screen .turn-score-title-icon { width: 24px; height: 24px; }
  #turn-screen .turn-score-caption { margin: 7px 0 8px; font-size: 10px; }
  #turn-screen .mini-score { min-height: 40px; font-size: 12px; padding: 6px 8px; }
  #turn-screen .mini-score-total { min-width: 28px; height: 28px; font-size: 14px; padding: 0 7px; }
  #turn-screen .turn-main { padding: 30px 20px 12px; }
  #turn-screen .turn-ribbon { min-height: 44px; padding: 9px 24px; font-size: 20px; border-radius: 14px; box-shadow: 0 6px 0 #d78307, 0 10px 18px rgba(0,0,0,.22); margin-bottom: 16px; }
  #turn-screen .team-orb { width: 58px; height: 58px; margin: 0; border-width: 5px; box-shadow: 0 0 0 7px rgba(80,48,201,.82), 0 9px 18px rgba(0,0,0,.30); }
  #turn-screen .turn-main h2 { font-size: 40px; margin-top: 12px; }
  #turn-screen .turn-copy { margin-top: 14px; font-size: 11px; }
  #turn-screen .turn-meta { width: min(430px, 72%); margin: 18px 0 0; gap: 10px; }
  #turn-screen .turn-stat-card { min-height: 70px; border-radius: 16px; box-shadow: 0 5px 0 #160741; }
  #turn-screen .turn-stat-icon { width: 36px; height: 36px; }
  #turn-screen .turn-stat-card > div { min-width: 68px; padding: 5px 8px; }
  #turn-screen .turn-stat-card span { font-size: 9px; }
  #turn-screen .turn-stat-card strong { font-size: 24px; }
  #turn-screen .turn-start-button { min-height: 48px; width: min(370px, 58%); border-radius: 21px; font-size: 17px; box-shadow: 0 6px 0 #d88208; }
}
/* Elemento compartilhado: indicador de cor do time */
.small-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex: 0 0 auto;
  box-shadow: 0 0 0 3px rgba(255,255,255,.20);
}

.summary-layout {
  max-width: 1100px;
  height: 100%;
  margin: 0 auto;
  padding: 22px;
  display: grid;
  grid-template-columns: minmax(210px,.7fr) minmax(0,1.5fr);
  grid-template-rows: minmax(0,1fr) auto;
  gap: 14px 22px;
  align-items: center;
}
.scoreboard {
  align-self: center;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
}
.score-row {
  display: grid;
  gap: 8px;
  align-items: center;
  padding: 10px 11px;
  border-radius: 13px;
}
.score-team {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.score-color {
  width: 8px;
  height: 28px;
  border-radius: 99px;
  flex: 0 0 auto;
}
.score-team strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.round-gain {
  grid-column: 1/-1;
  font-size: 10px;
  font-weight: 850;
}
.total-score {
  text-align: right;
}
.total-score span {
  display: block;
  font-size: 8px;
}
.total-score strong {
  font-size: 22px;
}
.summary-button {
  grid-column: 1/-1;
  justify-self: end;
  min-width: 250px;
}
.final-actions {
  grid-column: 1/-1;
  justify-self: end;
  display: flex;
  gap: 8px;
}
.toast {
  position: fixed;
  left: 50%;
  bottom: max(12px,env(safe-area-inset-bottom));
  transform: translate(-50%,15px);
  padding: 9px 14px;
  border-radius: 999px;
  font-size: 11px;
  opacity: 0;
  pointer-events: none;
  transition: .2s;
  z-index: 30;
}
.toast.show {
  opacity: 1;
  transform: translate(-50%,0);
}
.orientation-hint {
  display: none;
}
:root {
  --ink: #10072b;
  --ink-2: #180942;
  --ink-3: #25105b;
  --panel-dark: #21105d;
  --yellow: #ffc928;
  --yellow-2: #ff9f0a;
  --purple: #7c3cff;
  --purple-2: #b13cff;
  --blue: #198cff;
  --cyan: #20cdf0;
  --green: #20cf5d;
  --red: #ff3d55;
  --pink: #ff4fb3;
  --cream: #fff9eb;
  --white: #fff;
  --game-line: rgba(255,255,255,.16);
  --shadow-game: 0 16px 0 rgba(11,4,36,.34),0 22px 42px rgba(5,0,25,.35);
}
html,
body {
  background: #10072b;
  color: #fff;
  overflow: hidden;
}
body {
  font-family: Nunito,"Arial Rounded MT Bold",Inter,system-ui,sans-serif;
  background: radial-gradient(circle at 15% 15%,rgba(57,66,255,.35),transparent 31%),
  radial-gradient(circle at 85% 16%,rgba(193,48,255,.25),transparent 27%),
  radial-gradient(circle at 50% 115%,rgba(46,139,255,.28),transparent 42%),
  linear-gradient(140deg,#10062c 0%,#16083f 44%,#10072b 100%);
}
body:before,
body:after {
  content: "";
  position: fixed;
  pointer-events: none;
  z-index: 0;
  inset: auto;
  border-radius: 999px;
  filter: blur(1px);
  opacity: .45;
}
body:before {
  width: 34vw;
  height: 120vh;
  top: -45vh;
  left: 8vw;
  transform: rotate(28deg);
  background: linear-gradient(90deg,transparent,rgba(45,113,255,.22),transparent);
}
body:after {
  width: 30vw;
  height: 110vh;
  top: -35vh;
  right: 5vw;
  transform: rotate(-27deg);
  background: linear-gradient(90deg,transparent,rgba(215,58,255,.16),transparent);
}
.app-shell {
  position: relative;
  z-index: 1;
}
.screen {
  background: transparent;
  padding: 16px;
}
.card {
  background: linear-gradient(180deg,rgba(34,18,91,.96),rgba(20,9,58,.98));
  border: 2px solid rgba(121,110,255,.30);
  box-shadow: var(--shadow-game);
  color: #fff;
}
.eyebrow {
  color: #a99cff;
  font-weight: 1000;
  letter-spacing: .14em;
}
.text-button,
.ghost-button {
  color: #e7e1ff;
}
.text-button:hover,
.ghost-button:hover {
  color: #fff;
}
.hidden {
  display: none !important;
}
.mimicou-logo {
  display: inline-flex;
  align-items: flex-start;
  transform: rotate(-2deg);
  font-weight: 1000;
  line-height: .82;
  letter-spacing: -.08em;
  filter: drop-shadow(0 5px 0 #3f1778) drop-shadow(0 8px 10px rgba(0,0,0,.3));
}
.mimicou-logo span {
  font-size: clamp(28px,4.3vw,58px);
  color: #ffd631;
  -webkit-text-stroke: 2px #fff3a6;
  text-shadow: 0 3px 0 #ff8700,3px 3px 0 #6d237f;
}
.mimicou-logo b {
  font-size: clamp(32px,5vw,64px);
  color: #ff485d;
  -webkit-text-stroke: 2px #fff;
  margin-left: 2px;
}
@keyframes wave {
  0%,100% {
    transform: rotate(-18deg);
  }
  50% {
    transform: rotate(16deg);
  }
}
.setup-shell {
  max-width: 1280px;
  background: rgba(16,7,43,.7);
  border-color: rgba(115,86,255,.42);
  grid-template-columns: minmax(230px,.64fr) minmax(0,1.8fr);
}
.setup-tabs {
  background: #130933;
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.18);
}
.setup-tab {
  color: #998cc4;
  font-weight: 900;
}
.setup-tab.active {
  background: linear-gradient(180deg,#7548ff,#5125d5);
  color: #fff;
  box-shadow: 0 5px 0 #351495,0 9px 16px rgba(0,0,0,.24);
}
.setup-tab span {
  background: rgba(255,255,255,.14);
  color: #fff;
}
.setup-tab.active span {
  background: #ffd02e;
  color: #35106f;
}
.stepper {
  background: #160a3b;
  border: 1px solid rgba(255,255,255,.11);
}
.stepper button {
  background: linear-gradient(#ffd639,#ffae16);
  color: #321059;
  font-weight: 1000;
  border: 0;
  box-shadow: 0 3px 0 #b85d0b;
}
.stepper strong {
  color: #fff;
}
.setup-footer {
  border-color: rgba(255,255,255,.09);
}
.primary-button {
  border: 2px solid rgba(255,255,255,.25);
  background: linear-gradient(#ffd83c,#ffad14);
  color: #25103d;
  font-weight: 1000;
  letter-spacing: .015em;
  box-shadow: 0 6px 0 #bd650c,0 12px 20px rgba(0,0,0,.22);
  text-transform: uppercase;
}
.primary-button:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}
.primary-button:active {
  transform: translateY(3px);
  box-shadow: 0 3px 0 #bd650c;
}
.primary-button.success {
  background: linear-gradient(#35e86e,#12b848);
  color: #062c17;
  box-shadow: 0 6px 0 #087d31,0 12px 20px rgba(0,0,0,.22);
}
.secondary-button {
  background: linear-gradient(#8050ff,#5b2bd6);
  color: #fff;
  border: 2px solid rgba(255,255,255,.19);
  box-shadow: 0 5px 0 #34129a;
  font-weight: 1000;
  text-transform: uppercase;
}
.notice.error {
  background: #5b173a;
  color: #ffd4df;
  border-color: #a93666;
}
.teams-editor {
  gap: 12px;
}
.team-edit-row {
  position: relative;
  background: linear-gradient(180deg,#291665,#211052);
  border: 2px solid rgba(255,255,255,.1);
  box-shadow: 0 7px 0 rgba(7,2,31,.26);
  padding: 10px;
  border-radius: 16px;
  grid-template-columns: minmax(0,1fr);
  gap: 9px;
}
.category-label {
  position: relative;
}
.category-label:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,rgba(255,255,255,.11),transparent 45%);
  pointer-events: none;
}
.category-label .emoji {
  font-size: 30px;
  filter: drop-shadow(0 3px 1px rgba(0,0,0,.25));
}
.category-label strong {
  text-align: center;
  position: relative;
  z-index: 1;
}
.category-option input:checked+.category-label {
  background: linear-gradient(155deg,#764dff,#4a24c3);
}
.category-option input:checked+.category-label:before {
  content: "✓";
  position: absolute;
  right: 7px;
  top: 6px;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #19ca57;
  color: #fff;
  font-size: 12px;
  font-weight: 1000;
  box-shadow: 0 2px 0 #0b7935;
  z-index: 2;
}
.selection-count {
  font-weight: 1000;
}
.pager-button {
  border-color: rgba(255,255,255,.15);
}
/* =========================
   Tela: Gameplay
   Direcao visual: game show / carta central
   ========================= */
#play-screen {
  position: relative;
  padding: clamp(8px, 1.3vh, 14px);
  background: #090226;
  overflow: hidden;
  isolation: isolate;
}

#play-screen::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 16% 18%, rgba(33, 119, 255, .22), transparent 25%),
    radial-gradient(circle at 85% 18%, rgba(182, 45, 255, .18), transparent 23%),
    linear-gradient(135deg, #0c0533 0%, #17054b 48%, #0a0229 100%);
}

#play-screen .play-accent {
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  z-index: 8;
  box-shadow: 0 0 24px currentColor;
  pointer-events: none;
}

#play-screen .play-layout {
  position: relative;
  width: min(1460px, 100%);
  height: 100%;
  min-height: 0;
  margin: 0 auto;
  padding: clamp(14px, 2.1vh, 22px) clamp(16px, 2vw, 30px) clamp(12px, 1.8vh, 20px);
  display: grid;
  grid-template-rows: minmax(112px, 18vh) minmax(0, 1fr) minmax(76px, 12vh) auto;
  gap: clamp(10px, 1.55vh, 16px);
  align-items: stretch;
  overflow: hidden;
  border: 2px solid rgba(116, 84, 255, .78);
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(13, 5, 50, .22), rgba(7, 2, 31, .52)),
    url("assets/images/bg-play-gameshow.png") center / cover no-repeat;
  box-shadow: 0 28px 64px rgba(3, 0, 22, .40), inset 0 1px 0 rgba(255,255,255,.08);
}

#play-screen .play-stage-art {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 62%, rgba(55, 82, 255, .14), transparent 28%),
    radial-gradient(circle at 82% 58%, rgba(225, 61, 255, .11), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,.015), transparent 28%, rgba(4,0,24,.16) 100%);
}

#play-screen .play-topbar,
#play-screen .play-word-card,
#play-screen .play-actions-row,
#play-screen .play-current-turn-points {
  position: relative;
  z-index: 2;
}

#play-screen .play-topbar {
  display: grid;
  grid-template-columns: minmax(205px, 1fr) auto minmax(320px, 1fr);
  align-items: center;
  gap: clamp(16px, 2.6vw, 42px);
}

#play-screen .play-team-card {
  justify-self: start;
  width: clamp(210px, 21vw, 286px);
  padding: 0;
  color: #fff;
}

#play-screen .play-team-title {
  min-height: 50px;
  padding: 0 18px;
  display: flex;
  align-items: center;
  gap: 11px;
  border: 2px solid #68ccff;
  border-radius: 13px;
  background: linear-gradient(180deg, #168fff 0%, #1267e7 100%);
  box-shadow: 0 6px 0 #0b379e, 0 12px 22px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.28);
}

#play-screen .play-team-title .small-dot {
  width: 11px;
  height: 30px;
  border-radius: 999px;
  box-shadow: 0 0 0 2px rgba(255,255,255,.24);
}

#play-screen .play-team-title strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-size: clamp(17px, 1.55vw, 22px);
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  text-shadow: 0 2px 0 rgba(18, 52, 151, .48);
}

#play-screen .game-round {
  width: max-content;
  margin: 9px 0 0 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(30, 11, 92, .84);
  border: 1px solid rgba(141, 113, 255, .52);
  color: #d9d2ff;
  font-size: clamp(10px, .86vw, 12px);
  font-weight: 1000;
  letter-spacing: .04em;
}

#play-screen .timer-ring {
  --progress: 1;
  position: relative;
  width: clamp(108px, 15vh, 148px);
  aspect-ratio: 1;
  padding: 8px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(#21b7ff calc(var(--progress) * 360deg), #2b185f 0);
  box-shadow: 0 0 0 5px #0d042e, 0 0 0 9px #5a46ae, 0 14px 24px rgba(0,0,0,.34);
  transition: .25s;
}

#play-screen .timer-ring::before {
  content: "";
  position: absolute;
  inset: -10px;
  border: 3px dashed rgba(98, 182, 255, .42);
  border-radius: 50%;
  animation: spin 8s linear infinite;
}

#play-screen .timer-inner {
  width: 100%;
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  text-align: center;
  border-radius: 50%;
  background: radial-gradient(circle at 40% 32%, #2e1e72, #120639 72%);
  border: 2px solid rgba(255,255,255,.12);
  color: #fff;
}

#play-screen .timer-inner span {
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-size: clamp(38px, 7.3vh, 62px);
  font-weight: 800;
  line-height: .82;
  text-shadow: 0 5px 0 rgba(0,0,0,.25);
}

#play-screen .timer-inner small {
  margin-top: 5px;
  color: #b5a9dc;
  font-size: 9px;
  font-weight: 1000;
  letter-spacing: .08em;
}

#play-screen .timer-ring.warning {
  background: conic-gradient(#ffc928 calc(var(--progress) * 360deg), #3a214f 0);
  box-shadow: 0 0 0 5px #10072f, 0 0 0 9px #bc7d18, 0 0 28px rgba(255,200,40,.42);
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

#play-screen .play-top-stats {
  justify-self: end;
  width: min(100%, 410px);
  display: grid;
  grid-template-columns: repeat(2, minmax(142px, 1fr));
  gap: 12px;
}

#play-screen .play-top-stat {
  min-height: 78px;
  padding: 11px 13px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  border: 2px solid rgba(102, 82, 221, .92);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(42, 24, 111, .97), rgba(25, 12, 75, .98));
  box-shadow: 0 6px 0 rgba(8, 3, 34, .72), 0 12px 20px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08);
}

#play-screen .play-top-stat > span {
  color: #d4caf7;
  font-size: clamp(9px, .78vw, 11px);
  font-weight: 1000;
  letter-spacing: .04em;
}

#play-screen .play-top-value {
  width: 100%;
  margin-top: 5px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
}

#play-screen .play-top-value img {
  width: 31px;
  height: 31px;
  object-fit: contain;
  filter: drop-shadow(0 3px 3px rgba(0,0,0,.28));
}

#play-screen .play-top-value strong {
  color: #fff;
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-size: clamp(27px, 2.35vw, 36px);
  font-weight: 800;
  line-height: 1;
  text-shadow: 0 4px 0 rgba(0,0,0,.25);
}

#play-screen .play-word-card {
  align-self: stretch;
  justify-self: center;
  width: min(76vw, 940px);
  min-height: 0;
  padding: clamp(42px, 6vh, 62px) clamp(28px, 4vw, 60px) clamp(26px, 3.5vh, 42px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  overflow: visible;
  border: 5px solid #f4d49a;
  border-radius: 30px;
  background: linear-gradient(165deg, #fffdf6 0%, #fff5df 66%, #f9ead0 100%);
  color: #16103a;
  box-shadow: 0 10px 0 #aa7040, 0 24px 38px rgba(0,0,0,.34), inset 0 2px 0 rgba(255,255,255,.72);
}

#play-screen .play-word-card::before,
#play-screen .play-word-card::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
  background: rgba(255, 196, 55, .10);
}

#play-screen .play-word-card::before {
  width: 230px;
  height: 230px;
  right: -120px;
  top: -135px;
}

#play-screen .play-word-card::after {
  width: 170px;
  height: 170px;
  left: -92px;
  bottom: -104px;
}

#play-screen .play-category-badge {
  position: absolute;
  left: 50%;
  top: -28px;
  transform: translateX(-50%);
  z-index: 4;
  min-width: clamp(210px, 25vw, 310px);
  min-height: 56px;
  padding: 7px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  border: 3px solid #75d8ff;
  border-radius: 16px;
  background: linear-gradient(180deg, #1c9dff 0%, #116cde 100%);
  color: #fff;
  box-shadow: 0 7px 0 #0b3995, 0 12px 22px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.30);
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-size: clamp(16px, 1.45vw, 21px);
  font-weight: 800;
  letter-spacing: .025em;
  text-transform: uppercase;
}

#play-screen .play-category-badge img {
  width: 39px;
  height: 39px;
  object-fit: contain;
  filter: drop-shadow(0 3px 4px rgba(0,0,0,.22));
}

#play-screen .current-word {
  position: relative;
  z-index: 2;
  max-width: 100%;
  margin: 4px 0 0;
  color: #100939;
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-size: clamp(58px, 7.2vw, 112px);
  font-weight: 800;
  line-height: .9;
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
  text-shadow: 0 3px 0 #fff, 0 7px 12px rgba(85, 53, 34, .12);
}

#play-screen .word-hint {
  position: relative;
  z-index: 2;
  margin: clamp(10px, 1.4vh, 16px) 0 0;
  color: #7e6d66;
  font-size: clamp(11px, .95vw, 14px);
  font-weight: 900;
}

#play-screen .play-actions-row {
  justify-self: center;
  align-self: center;
  width: min(74vw, 800px);
  height: 100%;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.25fr);
  gap: 18px;
}

#play-screen .action-button {
  min-height: 0;
  height: 100%;
  padding: 0 clamp(20px, 2.6vw, 34px);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 13px;
  border-width: 3px;
  border-style: solid;
  border-radius: 24px;
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .01em;
  text-shadow: 0 2px 0 rgba(0,0,0,.20);
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
}

#play-screen .play-skip-button {
  background: linear-gradient(180deg, #ff5762 0%, #f02c43 100%);
  color: #fff;
  border-color: #ff9ca4;
  box-shadow: 0 8px 0 #99162d, 0 15px 23px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.20);
}

#play-screen .play-correct-button {
  background: linear-gradient(180deg, #3ce96e 0%, #11b844 100%);
  color: #fff;
  border-color: #9dffb8;
  box-shadow: 0 8px 0 #087b30, 0 15px 23px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.24);
}

#play-screen .action-button:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

#play-screen .action-button:active {
  transform: translateY(4px);
}

#play-screen .action-icon-img {
  width: clamp(36px, 4.2vh, 48px);
  height: clamp(36px, 4.2vh, 48px);
  flex: 0 0 auto;
  object-fit: contain;
  filter: drop-shadow(0 4px 4px rgba(0,0,0,.22));
}

#play-screen .action-button span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

#play-screen .action-button b {
  font-size: .72em;
  font-weight: 800;
}

#play-screen .play-current-turn-points {
  justify-self: center;
  align-self: center;
  padding: 6px 15px 7px;
  border: 1px solid rgba(157, 132, 255, .38);
  border-radius: 999px;
  background: rgba(20, 8, 64, .72);
  color: #d8d0f5;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

#play-screen .play-current-turn-points strong {
  color: #ffd23e;
  font-size: 15px;
}

#play-screen .word-card.feedback-correct {
  animation: correctFlash .34s ease;
}

#play-screen .word-card.feedback-skip {
  animation: skipSlide .34s ease;
}

@keyframes correctFlash {
  35% {
    transform: scale(1.025) rotate(.2deg);
    box-shadow: 0 10px 0 #42a653, 0 0 0 9px rgba(45,211,91,.28), 0 22px 35px rgba(0,0,0,.34);
  }
}

@keyframes skipSlide {
  35% {
    transform: translateX(-3%) rotate(-.8deg);
    opacity: .78;
  }
}

@media (max-width: 1180px) and (orientation: landscape) {
  #play-screen .play-layout {
    padding: 12px 18px 12px;
    grid-template-rows: minmax(96px, 17vh) minmax(0, 1fr) minmax(70px, 11.5vh) auto;
    gap: 11px;
  }

  #play-screen .play-topbar {
    grid-template-columns: minmax(180px, 1fr) auto minmax(270px, 1fr);
    gap: 16px;
  }

  #play-screen .play-team-card { width: clamp(190px, 22vw, 240px); }
  #play-screen .play-team-title { min-height: 44px; padding-inline: 14px; }
  #play-screen .play-top-stats { width: min(100%, 340px); grid-template-columns: repeat(2, minmax(125px, 1fr)); gap: 9px; }
  #play-screen .play-top-stat { min-height: 68px; padding: 8px 10px; }
  #play-screen .play-top-value img { width: 26px; height: 26px; }
  #play-screen .play-word-card { width: min(78vw, 820px); border-radius: 25px; }
  #play-screen .play-category-badge { min-height: 50px; top: -25px; border-radius: 14px; }
  #play-screen .play-category-badge img { width: 34px; height: 34px; }
  #play-screen .play-actions-row { width: min(76vw, 700px); gap: 14px; }
  #play-screen .action-button { border-radius: 20px; }
}

@media (max-height: 650px) and (orientation: landscape) {
  #play-screen { padding: 7px; }

  #play-screen .play-layout {
    padding: 9px 14px 8px;
    border-radius: 22px;
    grid-template-rows: 78px minmax(0, 1fr) 58px 20px;
    gap: 8px;
  }

  #play-screen .play-topbar {
    grid-template-columns: minmax(160px, 1fr) auto minmax(230px, 1fr);
    gap: 12px;
  }

  #play-screen .play-team-card { width: 180px; }
  #play-screen .play-team-title { min-height: 36px; padding-inline: 10px; border-radius: 10px; }
  #play-screen .play-team-title .small-dot { height: 24px; width: 8px; }
  #play-screen .play-team-title strong { font-size: 15px; }
  #play-screen .game-round { margin-top: 5px; padding: 4px 8px; font-size: 9px; }
  #play-screen .timer-ring { width: 76px; padding: 6px; box-shadow: 0 0 0 4px #0d042e, 0 0 0 7px #5a46ae, 0 9px 16px rgba(0,0,0,.28); }
  #play-screen .timer-ring::before { inset: -8px; border-width: 2px; }
  #play-screen .timer-inner span { font-size: 34px; }
  #play-screen .timer-inner small { font-size: 7px; margin-top: 2px; }
  #play-screen .play-top-stats { width: 260px; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; }
  #play-screen .play-top-stat { min-height: 54px; padding: 6px 8px; border-radius: 12px; box-shadow: 0 4px 0 rgba(8,3,34,.72); }
  #play-screen .play-top-stat > span { font-size: 8px; }
  #play-screen .play-top-value { margin-top: 2px; gap: 6px; }
  #play-screen .play-top-value img { width: 21px; height: 21px; }
  #play-screen .play-top-value strong { font-size: 24px; }
  #play-screen .play-word-card { width: min(76vw, 720px); padding: 28px 24px 18px; border-width: 4px; border-radius: 20px; box-shadow: 0 7px 0 #aa7040, 0 16px 26px rgba(0,0,0,.32); }
  #play-screen .play-category-badge { top: -20px; min-width: 180px; min-height: 40px; padding: 5px 13px; border-width: 2px; border-radius: 12px; font-size: 14px; box-shadow: 0 5px 0 #0b3995; }
  #play-screen .play-category-badge img { width: 28px; height: 28px; }
  #play-screen .current-word { font-size: clamp(42px, 7.2vw, 72px); }
  #play-screen .word-hint { display: none; }
  #play-screen .play-actions-row { width: min(74vw, 620px); gap: 10px; }
  #play-screen .action-button { padding-inline: 18px; border-radius: 16px; border-width: 2px; font-size: 17px; box-shadow: 0 5px 0 rgba(0,0,0,.34); }
  #play-screen .action-icon-img { width: 30px; height: 30px; }
  #play-screen .play-current-turn-points { padding: 3px 10px; font-size: 9px; }
  #play-screen .play-current-turn-points strong { font-size: 12px; }
}

@media (max-height: 430px) and (orientation: landscape) {
  #play-screen .play-layout {
    grid-template-rows: 58px minmax(0, 1fr) 48px;
    gap: 6px;
    padding: 7px 10px;
  }

  #play-screen .play-current-turn-points { display: none; }
  #play-screen .play-topbar { grid-template-columns: 150px auto 220px; }
  #play-screen .play-team-title { min-height: 30px; }
  #play-screen .game-round { display: none; }
  #play-screen .timer-ring { width: 58px; padding: 5px; }
  #play-screen .timer-ring::before { display: none; }
  #play-screen .timer-inner span { font-size: 27px; }
  #play-screen .play-top-stat { min-height: 44px; }
  #play-screen .play-top-stat > span { display: none; }
  #play-screen .play-top-value { justify-content: center; margin: 0; }
  #play-screen .play-word-card { padding: 23px 20px 12px; border-width: 3px; }
  #play-screen .play-category-badge { top: -17px; min-height: 34px; }
  #play-screen .play-category-badge img { width: 23px; height: 23px; }
  #play-screen .current-word { font-size: clamp(34px, 6.8vw, 58px); }
  #play-screen .action-button { font-size: 15px; }
  #play-screen .action-icon-img { width: 25px; height: 25px; }
}

.summary-layout {
  background: linear-gradient(145deg,#21105f,#10072e);
  border-color: #6044bf;
  position: relative;
  overflow: hidden;
}
.summary-layout:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 15% 40%,rgba(41,120,255,.22),transparent 30%),radial-gradient(circle at 83% 25%,rgba(255,60,187,.16),transparent 28%);
  pointer-events: none;
}
.summary-layout>* {
  position: relative;
  z-index: 1;
}
@keyframes bob {
  50% {
    transform: translateY(-6px) rotate(5deg);
  }
}
.score-row {
  background: linear-gradient(180deg,#281461,#1d0d4c);
  border: 2px solid rgba(255,255,255,.1);
  box-shadow: 0 5px 0 rgba(5,2,23,.3);
}
.score-team strong,
.total-score strong {
  color: #fff;
}
.total-score span {
  color: #9184bb;
}
.round-gain {
  color: #7ef59f;
}
.score-color {
  box-shadow: 0 0 0 3px rgba(255,255,255,.12);
}
.toast {
  background: #291362;
  color: #fff;
  border: 1px solid #755bca;
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
  font-weight: 900;
}
.orientation-hint {
  background: radial-gradient(circle at 50% 30%,#33207e,#10072b 60%) !important;
}
.orientation-hint div {
  color: #ffd12e !important;
  animation: rotateHint 1.5s ease-in-out infinite;
}
@keyframes rotateHint {
  50% {
    transform: rotate(90deg);
  }
}
.home-screen,
.settings-screen {
  padding: 14px;
  background: radial-gradient(circle at 50% 20%,#3b218e 0,#160742 46%,#09031f 100%);
}
.home-stage {
  background: radial-gradient(circle at 50% 38%,rgba(79,62,255,.42),transparent 32%),linear-gradient(180deg,#241064,#10052f);
  border-color: #7253d9;
}
.home-stage:after {
  opacity: .95;
}
.home-lights {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 14% 14%,rgba(0,177,255,.28),transparent 14%),radial-gradient(circle at 84% 12%,rgba(255,49,198,.28),transparent 14%),radial-gradient(circle at 50% 4%,rgba(255,220,68,.18),transparent 11%);
}
.home-settings-icon {
  cursor: pointer;
}
.home-logo {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  transform: rotate(-2deg);
  margin-bottom: 14px;
}
.home-logo span {
  font-size: clamp(58px,11vw,132px);
  line-height: .9;
  font-weight: 1000;
  letter-spacing: -7px;
  color: #ffd42d;
  -webkit-text-stroke: clamp(2px,.35vw,5px) #5d126f;
  text-shadow: 0 5px 0 #ff8b00,0 9px 0 #bf3f17;
}
.home-logo b {
  font-size: clamp(68px,12vw,145px);
  line-height: .78;
  color: #ffd42d;
  -webkit-text-stroke: clamp(2px,.35vw,5px) #5d126f;
  text-shadow: 0 5px 0 #ff8b00,0 9px 0 #bf3f17;
}
.home-play-button {
  border-color: #fff08a;
}
.settings-shell {
  width: min(100%,1100px);
  margin: auto;
  background: linear-gradient(150deg,#1f0d56,#10052f);
  border-color: #6545bd;
  padding: 20px;
  box-shadow: var(--shadow-game);
}
.app-settings-header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.app-settings-header h2 {
  margin: 2px 0 0;
  color: #fff;
  font-size: clamp(24px,4vw,38px);
}
.settings-saved {
  font-size: 12px;
  color: #9f91c7;
  font-weight: 800;
}
.app-settings-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 16px;
}
.settings-group {
  background: linear-gradient(180deg,#291568,#1c0c4b);
  border: 2px solid rgba(255,255,255,.1);
  border-radius: 20px;
  padding: 16px;
  box-shadow: 0 8px 0 rgba(5,2,25,.28);
}
.settings-group-title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.settings-group-title>span {
  font-size: 31px;
}
.settings-group-title strong {
  display: block;
  color: #fff;
  font-size: 18px;
}
.settings-group-title small {
  color: #a99bcf;
}
.setting-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
  border-top: 1px solid rgba(255,255,255,.08);
  color: #fff;
}
.setting-row strong {
  display: block;
  font-size: 14px;
}
.setting-row small {
  display: block;
  color: #9487bc;
  margin-top: 3px;
  font-size: 11px;
}
.switch-row input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.switch {
  width: 52px;
  height: 29px;
  border-radius: 999px;
  background: #15083c;
  border: 2px solid #4c378b;
  position: relative;
  transition: .2s;
  flex: 0 0 auto;
}
.switch:after {
  content: "";
  position: absolute;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  left: 3px;
  top: 2px;
  background: #9d92c0;
  transition: .2s;
  box-shadow: 0 2px 4px rgba(0,0,0,.35);
}
.switch-row input:checked+.switch {
  background: #6f36ee;
  border-color: #b091ff;
}
.switch-row input:checked+.switch:after {
  left: 24px;
  background: #fff;
}
.range-row {
  align-items: center;
}
.range-row input {
  width: min(58%,300px);
  accent-color: #ffd22e;
}
.settings-about {
  margin-top: 18px;
  padding: 14px;
  border-radius: 14px;
  background: #16083e;
  border: 1px solid rgba(255,255,255,.08);
  color: #a99ecb;
}
.settings-about p {
  margin: 5px 0 0;
  font-size: 12px;
}
.settings-version {
  font-weight: 1000;
  color: #ffd22e;
}
body.reduced-motion * {
  animation-duration: .001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: .001ms !important;
}
.home-logo {
  margin-top: 2vh;
}
.setup-tabs-two {
  grid-template-columns: repeat(2,1fr);
}
.setup-match-panel {
  grid-template-rows: auto minmax(0,1fr) !important;
}
button:disabled {
  cursor: not-allowed;
  filter: saturate(.45);
  opacity: .5;
}
.mini-score.current {
  border-color: rgba(255,210,46,.8);
  box-shadow: inset 0 0 0 1px rgba(255,210,46,.35);
}
#play-screen .timer-ring.critical {
  animation: timerCritical .62s ease-in-out infinite;
  background: conic-gradient(#ff344f calc(var(--progress)*360deg), #3c0a22 0);
  box-shadow: 0 0 0 5px #180630, 0 0 0 9px #8b2348, 0 0 30px rgba(255,52,79,.54);
}
#play-screen .timer-ring.finished {
  animation: none !important;
  background: #3c0a22 !important;
  box-shadow: 0 0 0 5px #180630, 0 0 0 9px #8b2348, 0 0 34px rgba(255,52,79,.58);
}
@keyframes timerCritical {
  0%,100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.055);
  }
}
/* =========================
   Tela: Fim da vez
   Direcao visual: clean gameshow / foco no resultado
   ========================= */
.result-stage-screen {
  padding: clamp(44px, 6.5vh, 62px) clamp(20px, 3vw, 42px) clamp(24px, 4vh, 38px);
  align-items: center;
  justify-content: center;
  background: #173b86;
  overflow: hidden;
}

/* Importante: telas inativas precisam continuar com display:none vindo de .screen.
   O flex so e aplicado enquanto a tela de fim da vez estiver ativa. */
.result-stage-screen.screen.active {
  display: flex;
}

.turn-result-layout {
  --result-team-color: #38a2ff;
  position: relative;
  width: min(900px, calc(100vw - 80px));
  height: min(590px, calc(100dvh - 108px));
  min-height: 0;
  margin: 0 auto;
  padding: clamp(54px, 7vh, 68px) clamp(34px, 5vw, 58px) clamp(28px, 4vh, 38px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: visible;
  background: #251064;
  border: 3px solid #76cfff;
  border-radius: 34px;
  color: #fff;
  box-shadow:
    0 0 0 5px #f0c85a,
    0 24px 54px rgba(4, 8, 42, .28),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.turn-result-layout::before {
  content: "";
  position: absolute;
  inset: 13px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 24px;
  pointer-events: none;
}

.turn-result-layout::after {
  display: none;
}

.turn-result-star-wrap {
  position: absolute;
  top: -38px;
  left: 50%;
  transform: translateX(-50%);
  width: 104px;
  height: 78px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 3;
}

.turn-result-star-wrap::before,
.turn-result-star-wrap::after {
  display: none;
}

.turn-result-star {
  width: 72px;
  height: 72px;
  object-fit: contain;
  filter: drop-shadow(0 6px 0 #a7640a) drop-shadow(0 8px 13px rgba(0,0,0,.25));
}

.turn-result-pill {
  position: relative;
  z-index: 2;
  margin: 0 0 12px;
  padding: 8px 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid rgba(193, 181, 255, .34);
  border-radius: 999px;
  background: #3d248d;
  color: #ddd6ff;
  box-shadow: 0 5px 0 #160748;
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-size: clamp(12px, 1.2vw, 15px);
  font-weight: 800;
  letter-spacing: .06em;
  line-height: 1;
  text-transform: uppercase;
}

.turn-result-layout h2 {
  position: relative;
  z-index: 2;
  margin: 0;
  max-width: 100%;
  color: var(--result-team-color);
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-size: clamp(52px, 6.6vw, 84px);
  font-weight: 800;
  line-height: .95;
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
  text-shadow:
    0 3px 0 rgba(255,255,255,.92),
    0 7px 0 #24106f,
    0 12px 20px rgba(5,2,30,.25);
}

.turn-result-copy {
  position: relative;
  z-index: 2;
  margin: 8px 0 22px;
  color: #fff;
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 700;
  line-height: 1.2;
}

.turn-result-stats {
  position: relative;
  z-index: 2;
  width: min(690px, 100%);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 0 0 24px;
}

.turn-result-stat {
  min-height: 132px;
  padding: 17px 20px 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(149, 126, 255, .55);
  border-radius: 22px;
  background: #3a218d;
  box-shadow:
    0 7px 0 #160748,
    inset 0 1px 0 rgba(255,255,255,.10);
}

.turn-result-stat span {
  display: block;
  margin: 0 0 7px;
  color: #ddd6ff;
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-size: clamp(13px, 1.4vw, 16px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.turn-result-stat strong {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1px;
  color: #fff;
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-size: clamp(48px, 5.7vw, 68px);
  font-weight: 800;
  line-height: .86;
  text-shadow: 0 4px 0 #24106f;
}

.turn-result-stat strong em,
.turn-result-stat strong b {
  font-style: normal;
  font-weight: 800;
}

.turn-result-stat:first-child strong em,
.turn-result-stat:last-child strong b {
  color: #ffd43b;
}

.turn-result-layout > .primary-button {
  position: relative;
  z-index: 2;
  width: min(640px, 100%);
  min-height: 66px;
  padding-inline: 24px;
  border: 2px solid #fff1a0;
  border-radius: 22px;
  background: linear-gradient(180deg, #ffe149 0%, #ffc320 60%, #ffb010 100%);
  color: #22123f;
  box-shadow: 0 7px 0 #b96708, 0 13px 22px rgba(12,8,43,.18), inset 0 1px 0 rgba(255,255,255,.50);
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-size: clamp(20px, 2.2vw, 28px);
  font-weight: 800;
  letter-spacing: .01em;
}

.turn-result-layout > .primary-button:hover {
  filter: brightness(1.04);
  transform: translateY(-1px);
}

.turn-result-layout > .primary-button:active {
  transform: translateY(4px);
  box-shadow: 0 3px 0 #b96708, 0 7px 14px rgba(12,8,43,.18);
}

@media (max-width: 1100px) and (orientation: landscape) {
  .result-stage-screen {
    padding: 40px 18px 22px;
  }

  .turn-result-layout {
    width: min(840px, calc(100vw - 56px));
    height: min(540px, calc(100dvh - 82px));
    padding: 48px 30px 26px;
    border-radius: 28px;
  }

  .turn-result-star-wrap {
    top: -34px;
  }

  .turn-result-star {
    width: 64px;
    height: 64px;
  }

  .turn-result-copy {
    margin-bottom: 17px;
  }

  .turn-result-stats {
    width: min(620px, 100%);
    gap: 14px;
    margin-bottom: 19px;
  }

  .turn-result-stat {
    min-height: 112px;
    border-radius: 19px;
  }

  .turn-result-layout > .primary-button {
    min-height: 58px;
    border-radius: 19px;
  }
}

@media (max-height: 650px) and (orientation: landscape) {
  .result-stage-screen {
    padding: 31px 14px 14px;
  }

  .turn-result-layout {
    width: min(780px, calc(100vw - 44px));
    height: min(500px, calc(100dvh - 52px));
    padding: 37px 26px 19px;
    border-width: 2px;
    border-radius: 24px;
    box-shadow: 0 0 0 4px #f0c85a, 0 18px 40px rgba(4,8,42,.24);
  }

  .turn-result-layout::before {
    inset: 10px;
    border-radius: 17px;
  }

  .turn-result-star-wrap {
    top: -28px;
    width: 76px;
    height: 58px;
  }

  .turn-result-star {
    width: 54px;
    height: 54px;
    filter: drop-shadow(0 4px 0 #a7640a) drop-shadow(0 6px 9px rgba(0,0,0,.22));
  }

  .turn-result-pill {
    margin-bottom: 7px;
    padding: 6px 15px;
    font-size: 10px;
    box-shadow: 0 4px 0 #160748;
  }

  .turn-result-layout h2 {
    font-size: clamp(42px, 6.4vw, 62px);
  }

  .turn-result-copy {
    margin: 4px 0 12px;
    font-size: 16px;
  }

  .turn-result-stats {
    width: min(560px, 100%);
    gap: 11px;
    margin-bottom: 14px;
  }

  .turn-result-stat {
    min-height: 84px;
    padding: 10px 15px 9px;
    border-radius: 15px;
    box-shadow: 0 5px 0 #160748;
  }

  .turn-result-stat span {
    margin-bottom: 4px;
    font-size: 10px;
  }

  .turn-result-stat strong {
    font-size: 42px;
    text-shadow: 0 3px 0 #24106f;
  }

  .turn-result-layout > .primary-button {
    width: min(540px, 100%);
    min-height: 48px;
    border-radius: 16px;
    font-size: 17px;
    box-shadow: 0 5px 0 #b96708;
  }
}

@media (max-height: 430px) and (orientation: landscape) {
  .result-stage-screen {
    padding: 22px 10px 10px;
  }

  .turn-result-layout {
    width: min(700px, calc(100vw - 30px));
    height: calc(100dvh - 34px);
    padding: 28px 22px 12px;
  }

  .turn-result-star-wrap {
    top: -21px;
  }

  .turn-result-star {
    width: 42px;
    height: 42px;
  }

  .turn-result-pill {
    margin-bottom: 4px;
    padding: 4px 12px;
  }

  .turn-result-layout h2 {
    font-size: clamp(34px, 5.8vw, 50px);
  }

  .turn-result-copy {
    display: none;
  }

  .turn-result-stats {
    margin: 8px 0 10px;
  }

  .turn-result-stat {
    min-height: 66px;
  }

  .turn-result-layout > .primary-button {
    min-height: 42px;
  }
}

.score-rank {
  width: 34px;
  font-size: 12px;
  font-weight: 1000;
  color: #ffd22e;
  text-align: center;
}
.score-row {
  grid-template-columns: 34px minmax(0,1fr) auto;
}
.score-row .round-gain {
  grid-column: 2/-1;
}
#play-screen #skip-word.no-skips {
  opacity: 1;
  filter: none;
  background: linear-gradient(#ff5b69,#d92245);
  box-shadow: 0 6px 0 #84142d,0 12px 20px rgba(0,0,0,.22);
}
#play-screen #skip-word.no-skips #skip-label {
  color: #ffe2e6;
}
.game-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(5,2,22,.78);
  backdrop-filter: blur(8px);
  opacity: 0;
  pointer-events: none;
  transition: .18s ease;
}
.game-modal.show {
  opacity: 1;
  pointer-events: auto;
}
.game-modal-card {
  width: min(520px,92vw);
  padding: 28px;
  text-align: center;
  border-radius: 26px;
  background: radial-gradient(circle at 50% 0,rgba(124,72,255,.32),transparent 45%),linear-gradient(180deg,#291363,#130733);
  border: 2px solid rgba(150,116,255,.55);
  box-shadow: 0 24px 80px rgba(0,0,0,.55),0 8px 0 #09021f;
  transform: scale(.94);
  transition: .18s ease;
}
.game-modal.show .game-modal-card {
  transform: scale(1);
}
.game-modal-icon {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  margin: 0 auto 10px;
  border-radius: 50%;
  background: linear-gradient(#ffd83c,#ffad14);
  color: #38104d;
  font-size: 32px;
  font-weight: 1000;
  box-shadow: 0 6px 0 #a95708;
}
.game-modal-card h2 {
  margin: 5px 0 10px;
  font-size: clamp(30px,5vw,46px);
  letter-spacing: -.04em;
}
.game-modal-card>p:not(.eyebrow) {
  margin: 0 auto 22px;
  max-width: 430px;
  color: #c9bde8;
  font-weight: 750;
  line-height: 1.45;
}
.game-modal-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.game-modal-actions button {
  min-height: 54px;
}
.danger-confirm {
  background: linear-gradient(#ff5a67,#e02345) !important;
  color: #fff !important;
  box-shadow: 0 6px 0 #8d1730,0 12px 20px rgba(0,0,0,.22) !important;
}
.home-screen {
  padding: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: #08021f;
}
.home-screen.active {
  display: flex;
}
.home-stage {
  position: relative;
  width: 100%;
  height: 100dvh;
  min-height: 100dvh;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  text-align: center;
  isolation: isolate;
  background-image: url("assets/images/home/home-gameshow-bg.png");
  background-size: cover;
  background-position: center center;
  border: none;
  border-radius: 0;
  box-shadow: none;
}
.home-stage:before {
  content: "";
  display: block !important;
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(180deg,rgba(8,2,31,.10) 0%,rgba(8,2,31,.02) 34%,rgba(8,2,31,.08) 62%,rgba(8,2,31,.26) 100%),
    radial-gradient(ellipse at 50% 36%,rgba(67,31,169,.10),transparent 48%);
}
.home-stage:after {
  content: "";
  display: block !important;
  position: absolute;
  left: 10%;
  right: 10%;
  bottom: -5%;
  height: 22%;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 50%,rgba(255,91,220,.15),transparent 68%);
  filter: blur(18px);
}
.home-lights,
.home-center-panel {
  display: none !important;
}
.home-logo {
  position: relative;
  z-index: 2;
  width: min(58vw,820px);
  margin: 0 auto;
  filter: drop-shadow(0 16px 16px rgba(4,0,24,.36));
  pointer-events: none;
}
.home-logo img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
}
.home-logo span,
.home-logo b {
  display: none !important;
}
.home-actions {
  position: relative;
  z-index: 3;
  width: min(30vw,420px);
  margin-top: 3.8vh;
  display: grid;
  gap: 0;
}
.home-play-button {
  position: relative;
  overflow: hidden;
  border-style: solid;
  letter-spacing: .01em;
  transition: transform .12s ease,filter .12s ease,box-shadow .12s ease;
}
.home-play-button {
  min-height: 74px;
  padding: 0 30px;
  border: 2px solid #fff087;
  border-radius: 22px;
  background: linear-gradient(180deg,#ffe447 0%,#ffc321 58%,#ffad0c 100%);
  color: #1f1246;
  font-size: clamp(22px,2.15vw,30px);
  font-weight: 1000;
  text-shadow: 0 1px 0 rgba(255,255,255,.45);
  box-shadow: 0 8px 0 #c66c05,0 14px 24px rgba(0,0,0,.28),inset 0 2px 0 rgba(255,255,255,.42);
}
.home-play-button:before {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  top: 5px;
  height: 42%;
  border-radius: 999px;
  background: linear-gradient(180deg,rgba(255,255,255,.28),transparent);
  pointer-events: none;
}
.home-play-button span {
  font-size: .86em;
  margin-right: 9px;
}
.home-play-button:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}
.home-play-button:active {
  transform: translateY(5px);
  box-shadow: 0 3px 0 #c66c05,0 7px 14px rgba(0,0,0,.24);
}
.home-settings-icon {
  position: absolute;
  right: 24px;
  top: 24px;
  z-index: 5;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  border: 2px solid #815fe1;
  background: linear-gradient(180deg,rgba(42,18,102,.92),rgba(25,8,67,.94));
  color: #fff;
  font-size: 24px;
  box-shadow: 0 5px 0 #10042f,0 8px 18px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.14);
  backdrop-filter: blur(8px);
  transition: transform .12s ease,filter .12s ease;
}
.home-settings-icon:hover {
  filter: brightness(1.12);
  transform: translateY(-1px);
}
.home-settings-icon:active {
  transform: translateY(3px);
  box-shadow: 0 2px 0 #10042f;
}
#setup-screen.screen.active {
  display: flex;
  align-items: center;
  justify-content: center;
}
.setup-game-shell {
  position: relative;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr !important;
  grid-template-rows: auto 1fr auto;
  overflow: hidden;
}
.setup-game-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.game-config-header,
.game-config-content,
.setup-footer {
  position: relative;
  z-index: 1;
}
.game-config-header {
  display: grid;
  align-items: center;
}
.config-back-button {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 2px solid #ffda58;
  background: linear-gradient(180deg,#ffd83c,#ffb113);
  color: #25124a;
  font-size: 24px;
  font-weight: 1000;
  box-shadow: 0 5px 0 #a76304,0 10px 18px rgba(0,0,0,.24);
}
.config-title-wrap {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.config-title-wrap .eyebrow {
  margin: 0;
  color: #bcb0ff;
  font-size: 11px;
  letter-spacing: .18em;
  font-weight: 900;
}
.config-title-wrap h2 {
  margin: 0;
  color: #fff;
  font-weight: 1000;
  letter-spacing: -.02em;
  text-shadow: 0 3px 10px rgba(0,0,0,.28);
}
.config-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.config-reset-button img {
  object-fit: contain;
  display: block;
  margin: auto;
}
.setup-tabs {
  display: none !important;
}
.teams-section-wide {
  border: 1px solid rgba(148,201,255,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06),0 14px 26px rgba(0,0,0,.18);
}
.teams-section-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  color: #fff;
  font-weight: 1000;
  letter-spacing: .03em;
}
.teams-title-icon-img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.game-team-editor {
  grid-template-columns: 1fr;
}
.setup-team-row {
  grid-template-columns: 1fr;
  gap: 10px;
  background: linear-gradient(180deg,rgba(18,35,125,.96),rgba(10,20,93,.96));
  border: 2px solid rgba(255,255,255,.10);
  box-shadow: 0 8px 0 rgba(4,8,48,.58),0 14px 20px rgba(0,0,0,.14);
}
.setup-team-row.is-editing {
  border-color: rgba(255,222,98,.66);
}
.team-card-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.team-row-info {
  display: flex;
  align-items: center;
  min-width: 0;
  flex: 1;
}
.team-main-orb {
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.58);
  box-shadow: inset 0 2px 2px rgba(255,255,255,.35),0 5px 12px rgba(0,0,0,.22);
}
.team-name-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #fff;
  font-weight: 900;
}
.team-edit-button {
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.16);
  background: linear-gradient(180deg,#2d53dc,#203bb7);
  color: #fff;
  font-size: 18px;
  font-weight: 900;
  box-shadow: 0 4px 0 rgba(10,24,96,.72);
}
.add-team-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 2px dashed rgba(177,202,255,.36);
  background: rgba(11,24,92,.54);
  color: #fff;
  font-weight: 1000;
  letter-spacing: .02em;
}
.add-team-button:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.add-team-plus {
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #fff;
  color: #13216f;
  font-weight: 1000;
}
.game-rule-grid .game-setting-card:first-child {
  display: none;
}
.game-setting-card {
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06),0 10px 20px rgba(0,0,0,.16);
}
.setting-card-title {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-weight: 1000;
}
.setting-icon-img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.game-stepper button {
  border: 0;
  background: linear-gradient(180deg,#ffd83c,#ffb113);
  color: #211548;
  font-weight: 1000;
  box-shadow: 0 4px 0 #a86205;
}
.game-stepper strong {
  display: grid;
  place-items: center;
  background: rgba(7,12,56,.82);
  border: 1px solid rgba(255,255,255,.12);
  color: #fff;
  font-weight: 1000;
}
.config-continue-button {
  border-radius: 18px;
  border: 2px solid #fff19e;
  background: linear-gradient(180deg,#ffe447 0%,#ffc321 58%,#ffad0c 100%);
  color: #22123f;
  font-weight: 1000;
  box-shadow: 0 7px 0 #c66c05,0 14px 24px rgba(0,0,0,.25);
}
.config-continue-button span {
  margin-right: 8px;
}
.config-footer {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 0;
}
.setup-footer-actions {
  margin-left: 0;
}
#setup-error.notice.error {
  margin: 0;
  padding: 10px 14px;
  border-radius: 14px;
  background: rgba(110,20,50,.86);
  border: 1px solid rgba(255,255,255,.12);
  color: #fff;
}
.categories-panel.active {
  flex-direction: column;
}
.categories-topbar,
.categories-bottom-bar {
  position: relative;
  z-index: 1;
}
.categories-topbar {
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: linear-gradient(180deg,rgba(12,31,111,.72),rgba(14,18,92,.78));
  border: 1px solid rgba(148,201,255,.18);
}
.categories-title-block h3 {
  margin: 0;
  color: #fff;
  font-weight: 1000;
}
.category-label {
  color: #fff;
}
.category-option input:checked + .category-label {
  border-color: #fff;
  box-shadow: 0 0 0 3px rgba(255,255,255,.18),0 8px 0 rgba(0,0,0,.22);
}
.category-continue-button {
  border-radius: 18px;
  border: 2px solid #fff19e;
  background: linear-gradient(180deg,#ffe447 0%,#ffc321 58%,#ffad0c 100%);
  color: #22123f;
  font-weight: 1000;
  box-shadow: 0 7px 0 #c66c05,0 14px 24px rgba(0,0,0,.25);
}
#setup-screen.screen.active {
  padding: 0;
  background: #090221;
}
.setup-game-shell {
  width: 100%;
  height: 100dvh;
  max-width: none;
  border-radius: 0;
  padding: 28px 40px 26px;
  gap: 20px;
  border: none;
  box-shadow: none;
}
.game-config-header {
  margin: 0 auto;
}
.game-config-content {
  display: flex;
}
.setup-match-panel.active {
  grid-auto-rows: auto;
}
.game-setting-card {
  background: linear-gradient(180deg,rgba(12,27,109,.84),rgba(10,15,71,.88));
}
.setting-card-title {
  margin-bottom: 12px;
}
.teams-section-wide {
  margin: 0 auto;
  border-radius: 24px;
  background: linear-gradient(180deg,rgba(16,30,116,.64),rgba(12,18,85,.70));
}
.config-continue-button {
  font-size: 21px;
}
.config-footer {
  width: min(1180px,100%);
  margin: 0 auto;
}
.setup-game-shell {
  background: linear-gradient(180deg,rgba(7,4,32,.58),rgba(7,4,32,.84)),
    url("assets/images/setup/setup-gameshow-bg-soft.png") center center / cover no-repeat;
}
.setup-game-shell::before {
  background: radial-gradient(circle at 50% 18%,rgba(118,72,255,.14),transparent 24%),
    linear-gradient(180deg,rgba(255,255,255,.02),transparent 22%,rgba(0,0,0,.20) 100%);
}
.game-config-top,
.teams-section-wide {
  max-width: none;
}
.game-setting-card {
  max-width: none;
}
.setting-card-title,
.teams-section-title {
  font-size: 14px;
}
.game-stepper button {
  font-size: 28px;
}
.game-stepper strong {
  font-size: 26px;
}
.setup-team-row {
  border-radius: 20px;
  display: flex;
  align-items: center;
}
.team-card-main {
  width: 100%;
}
.team-row-info {
  gap: 14px;
}
.team-main-orb {
  width: 38px;
  height: 38px;
}
.team-name-label {
  font-size: 18px;
}
.team-edit-button {
  width: 42px;
  height: 42px;
  border-radius: 12px;
}
.add-team-button {
  border-radius: 20px;
  font-size: 17px;
  border-width: 2px;
}
.add-team-plus {
  width: 34px;
  height: 34px;
  font-size: 24px;
}
.team-modal {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: flex;
  align-items: center;
  justify-content: center;
}
.team-modal.hidden {
  display: none;
}
.team-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4,2,20,.62);
  backdrop-filter: blur(8px);
}
.team-modal-dialog {
  position: relative;
  width: min(520px,calc(100vw - 40px));
  padding: 22px;
  border-radius: 28px;
  background: linear-gradient(180deg,rgba(16,20,96,.96),rgba(9,13,70,.98));
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 30px 70px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.08);
  color: #fff;
}
.team-modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.team-modal-eyebrow {
  margin: 0 0 4px;
  color: #c5bcff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
}
.team-modal-header h3 {
  margin: 0;
  font-size: 30px;
  font-weight: 1000;
}
.team-modal-close {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: #fff;
  font-size: 26px;
  line-height: 1;
}
.team-modal-body {
  display: grid;
  gap: 16px;
}
.team-modal-field {
  display: grid;
  gap: 9px;
}
.team-modal-field>span {
  color: #d8d5ff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}
#team-name-input-modal {
  height: 56px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(5,9,50,.84);
  padding: 0 16px;
  color: #fff;
  font-size: 19px;
  font-weight: 800;
  outline: none;
}
#team-name-input-modal:focus {
  border-color: #8c67ff;
  box-shadow: 0 0 0 3px rgba(140,103,255,.24);
}
.team-modal-colors {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
}
.team-modal-swatch {
  appearance: none;
  width: 100%;
  aspect-ratio: 1;
  border-radius: 16px;
  border: 3px solid transparent;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.34),0 8px 16px rgba(0,0,0,.22);
}
.team-modal-swatch.selected {
  border-color: #fff;
  box-shadow: 0 0 0 3px rgba(140,103,255,.36),0 8px 16px rgba(0,0,0,.28);
}
.team-preview-card {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 74px;
  padding: 14px 16px;
  border-radius: 18px;
  background: linear-gradient(180deg,rgba(18,35,125,.96),rgba(10,20,93,.96));
  border: 2px solid color-mix(in srgb, var(--team-preview-color, #198cff) 40%, rgba(255,255,255,.16));
}
.team-preview-orb {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.55);
  box-shadow: inset 0 2px 2px rgba(255,255,255,.32);
}
#team-preview-name {
  font-size: 22px;
}
.team-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 20px;
}
.team-modal-cancel,
.team-modal-save {
  min-width: 130px;
  min-height: 50px;
  border-radius: 16px;
  font-size: 17px;
  font-weight: 1000;
}
.team-modal-cancel {
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: #fff;
}
.team-modal-save {
  border: 2px solid #fff1a0;
  background: linear-gradient(180deg,#ffe447 0%,#ffc321 58%,#ffad0c 100%);
  color: #22123f;
  box-shadow: 0 6px 0 #c66c05;
}
.game-config-header {
  width: min(1240px,100%);
  grid-template-columns: 72px 1fr 72px;
  gap: 16px;
}
.config-title-wrap {
  text-align: center;
  align-items: center;
  justify-content: center;
}
.config-title-wrap .eyebrow {
  display: none !important;
}
.config-title-wrap h2 {
  width: 100%;
  text-align: center;
  font-size: clamp(34px,4vw,58px);
}
.config-header-actions {
  justify-content: flex-end;
}
.config-reset-button {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  border: 2px solid #ffda58;
  background: linear-gradient(180deg,#ffd83c,#ffb113);
  color: #25124a;
  box-shadow: 0 5px 0 #a76304,0 10px 18px rgba(0,0,0,.24);
}
.config-reset-button img {
  width: 24px;
  height: 24px;
  filter: none;
}
.game-rule-grid {
  max-width: 100%;
}
.teams-section-wide {
  align-items: center;
}
.teams-section-title {
  width: min(100%,620px);
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
}
.game-team-editor {
  justify-items: center;
}
.setup-team-row,
.add-team-button {
  max-width: 620px;
}
.config-footer {
  justify-content: center;
}
.setup-footer-actions {
  display: none;
}
.categories-topbar {
  padding: 18px 22px;
  border-radius: 22px;
}
.categories-title-block h3 {
  font-size: 24px;
  letter-spacing: -.01em;
}
.category-heading-actions {
  gap: 16px;
}
.selection-count {
  background: linear-gradient(180deg,#ffe447 0%,#ffc321 58%,#ffad0c 100%);
  color: #2b1851;
  border: 2px solid #fff19e;
  box-shadow: 0 4px 0 #c66c05;
  font-size: 14px;
  padding: 8px 14px;
}
.category-toggle-all {
  color: #fff;
  font-weight: 1000;
  font-size: 16px;
}
#categories-grid {
  flex: 1;
}
.category-label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  border: 2px solid rgba(255,255,255,.16);
  background: linear-gradient(180deg,var(--cat-a),var(--cat-b));
  box-shadow: 0 8px 0 rgba(0,0,0,.22),0 16px 24px rgba(0,0,0,.14);
  transition: transform .14s ease, box-shadow .14s ease, filter .14s ease, opacity .14s ease;
}
.category-label strong {
  font-family: "Baloo 2",Nunito,system-ui,sans-serif;
  color: #fff;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}
.category-icon-img {
  object-fit: contain;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,.24));
}
.category-option input:not(:checked)+.category-label {
  filter: grayscale(1) saturate(.1) brightness(.82);
  opacity: .72;
  border-color: rgba(255,255,255,.10);
  box-shadow: 0 6px 0 rgba(0,0,0,.14),0 12px 18px rgba(0,0,0,.08);
}
.category-option input:checked+.category-label {
  border-color: #fff;
  box-shadow: 0 0 0 3px rgba(255,255,255,.20),0 8px 0 rgba(0,0,0,.22),0 16px 24px rgba(0,0,0,.16);
  transform: translateY(-2px);
}
.category-option input:checked+.category-label::before {
  display: none !important;
}
.category-option .category-label:active {
  transform: translateY(0);
}
.category-pagination {
  left: 0;
  top: 50%;
  align-items: center;
}
.pager-button {
  border-radius: 16px;
  border: 2px solid #fff19e;
  background: linear-gradient(180deg,#ffe447 0%,#ffc321 58%,#ffad0c 100%);
  color: #2b1851;
  font-size: 28px;
  font-weight: 1000;
  box-shadow: 0 6px 0 #c66c05,0 12px 20px rgba(0,0,0,.18);
}
.pager-button:disabled {
  opacity: .45;
  box-shadow: 0 4px 0 #c66c05;
}
.page-label {
  padding: 10px 14px;
  border-radius: 16px;
  border: 2px solid #fff19e;
  background: linear-gradient(180deg,#ffe447 0%,#ffc321 58%,#ffad0c 100%);
  color: #2b1851;
  font-weight: 1000;
  box-shadow: 0 6px 0 #c66c05;
}
.category-continue-button {
  font-size: 22px;
}
.category-continue-button span {
  margin-right: 8px;
}
.categories-panel.active {
  padding-top: 6px;
}
.category-label {
  overflow: hidden;
}
.categories-bottom-bar {
  grid-template-columns: 1fr auto 1fr;
}
.category-pagination {
  position: static;
  transform: none;
  justify-self: start;
  z-index: 4;
  pointer-events: auto;
}
.pager-button,
.page-label {
  position: relative;
  z-index: 4;
  pointer-events: auto;
}
.category-continue-button {
  justify-self: center;
}
.category-label strong {
  text-wrap: balance;
}
.categories-panel.active {
  align-content: center;
}
.categories-bottom-bar {
  gap: 16px;
}
.category-pagination {
  gap: 14px;
}
.pager-button {
  width: 50px;
  height: 50px;
}
.page-label {
  min-width: 88px;
  font-size: 17px;
}
.categories-panel.active {
  width: min(1180px,100%);
  margin: 0 auto;
  align-items: stretch;
}
.categories-topbar,
.category-pagination {
  display: none !important;
}
#categories-grid {
  -webkit-overflow-scrolling: touch;
}
#categories-grid::-webkit-scrollbar {
  width: 10px;
}
#categories-grid::-webkit-scrollbar-thumb {
  background: rgba(255,204,43,.55);
  border-radius: 999px;
  border: 2px solid rgba(7,4,32,.65);
}
#categories-grid::-webkit-scrollbar-track {
  background: rgba(8,4,33,.28);
  border-radius: 999px;
}
.categories-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  grid-auto-rows: 156px;
  grid-template-rows: none;
  gap: 18px;
  align-content: start;
  justify-content: center;
}
.category-option {
  height: 156px;
}
.category-label {
  height: 156px;
  min-height: 156px;
  padding: 16px 12px;
  gap: 14px;
  border-radius: 22px;
}
.category-icon-img {
  width: 72px;
  height: 72px;
}
.category-label strong {
  max-width: 92%;
  font-size: 19px;
  line-height: 1.08;
}
.game-config-content {
  width: 100%;
  align-items: stretch;
  justify-content: center;
}
.setup-panel.active {
  min-height: 0;
  max-height: 100%;
}
.categories-panel.active {
  padding-bottom: 10px;
}
#categories-grid {
  padding-bottom: 18px;
}
.categories-bottom-bar {
  flex: 0 0 auto;
}
.setup-match-panel.active {
  padding-bottom: 10px;
}
.setup-continue-bottom {
  padding-top: 10px;
  padding-bottom: 4px;
}
.game-config-content {
  min-height: 0;
  height: auto;
  align-self: stretch;
  overflow: hidden;
}
.categories-panel.active {
  max-height: none;
  grid-template-rows: minmax(0,1fr) 72px;
  gap: 14px;
}
#categories-grid {
  align-self: stretch !important;
}
.setup-match-panel.active {
  justify-items: stretch;
  gap: 18px 26px;
}
.categories-panel.active {
  position: relative;
  display: block !important;
  height: 100%;
  min-height: 0;
  padding: 0 0 82px;
  overflow: hidden;
}
#categories-grid {
  width: min(1120px,100%);
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 auto;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 6px 8px 18px;
}
.categories-bottom-bar {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  z-index: 5;
  width: min(1120px,100%);
  height: 76px;
  min-height: 76px;
  max-height: 76px;
  margin: 0;
  padding: 0 0 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  pointer-events: none;
}
.category-continue-button {
  flex: 0 0 auto;
  min-width: 320px;
  min-height: 62px;
  margin: 0 auto;
  position: relative;
  z-index: 6;
  pointer-events: auto;
}
.setup-match-panel.active {
  width: min(1190px,100%);
  height: 100%;
  min-height: 0;
  margin: 0 auto;
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr));
  grid-template-rows: minmax(0,1fr) 76px;
  column-gap: 36px;
  row-gap: 18px;
  align-items: center;
  align-content: stretch;
  justify-content: center;
  padding: 0 0 4px;
  box-sizing: border-box;
}
.game-config-top,
.teams-section-wide {
  width: 100%;
  height: clamp(330px,45dvh,390px) !important;
  min-height: 0 !important;
  max-height: 390px;
  align-self: center !important;
  box-sizing: border-box;
}
.game-config-top {
  display: flex;
  align-items: stretch;
}
.game-rule-grid {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(3,minmax(0,1fr));
  gap: 18px;
  align-content: stretch;
}
.game-setting-card {
  width: 100%;
  height: 100%;
  min-height: 0;
  box-sizing: border-box;
  padding: 15px 20px 17px;
  border-radius: 22px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: visible;
}
.setting-card-title {
  flex: 0 0 auto;
  margin: 0 0 10px;
  line-height: 1;
}
.game-stepper {
  width: 100%;
  max-width: none;
  margin: 0;
  display: grid;
  grid-template-columns: 50px minmax(0,1fr) 50px;
  gap: 14px;
  align-items: center;
  box-sizing: border-box;
}
.game-stepper button,
.game-stepper strong {
  height: 50px;
  min-height: 50px;
  box-sizing: border-box;
}
.game-stepper button {
  width: 50px;
  border-radius: 13px;
}
.game-stepper strong {
  min-width: 0;
  padding: 0 16px;
  border-radius: 13px;
}
.teams-section-wide {
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.teams-section-title {
  margin: 0 0 14px;
}
.game-team-editor {
  width: 100%;
  flex: 1;
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 14px;
}
.setup-team-row,
.add-team-button {
  width: 100%;
  min-height: 70px;
  box-sizing: border-box;
}
.setup-team-row {
  padding: 13px 16px;
}
.setup-continue-bottom {
  grid-column: 1 / -1;
  grid-row: 2;
  width: 100%;
  height: 76px;
  min-height: 76px;
  margin: 0;
  padding: 0 0 6px;
  align-self: end;
  justify-self: stretch;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  box-sizing: border-box;
}
.config-continue-button {
  flex: 0 0 auto;
  min-width: 320px;
  min-height: 60px;
  margin: 0 auto;
}
#categories-grid {
  scroll-behavior: auto !important;
  overflow-anchor: none;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
}
.category-option {
  position: relative;
  display: block;
  min-width: 0;
  overflow-anchor: none;
}
.category-option input {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  cursor: pointer;
  z-index: 3;
}
.category-option input:focus-visible + .category-label {
  outline: 3px solid rgba(255,223,82,.95);
  outline-offset: 3px;
}

/* =========================================================
   V2.9.28 - Placar da rodada + rodada concluida + fim de jogo
   Direcao visual: clean gameshow, coerente com fim da vez
   ========================================================= */

#round-screen,
#final-screen {
  position: relative;
  padding: clamp(30px, 4.5vh, 48px) clamp(20px, 3vw, 40px);
  background: #173b86;
  overflow: hidden;
}

#round-screen.screen.active,
#final-screen.screen.active {
  display: flex;
  align-items: center;
  justify-content: center;
}

#round-screen .round-summary-layout,
#final-screen .final-stage-layout {
  position: relative;
  width: min(980px, calc(100vw - 72px));
  height: min(650px, calc(100dvh - 72px));
  min-height: 0;
  margin: 0 auto;
  padding: clamp(28px, 4.4vh, 44px) clamp(28px, 4vw, 48px) clamp(24px, 3.6vh, 36px);
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: clamp(16px, 2.4vh, 24px);
  align-items: center;
  overflow: hidden;
  background: #251064;
  border: 3px solid #76cfff;
  border-radius: 34px;
  color: #fff;
  box-shadow:
    0 0 0 5px #f0c85a,
    0 24px 54px rgba(4, 8, 42, .28),
    inset 0 1px 0 rgba(255,255,255,.10);
}

#round-screen .round-summary-layout::before,
#final-screen .final-stage-layout::before {
  content: "";
  position: absolute;
  inset: 13px;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 24px;
}

#round-screen .round-summary-layout::after,
#final-screen .final-stage-layout::after,
#round-screen .round-summary-backdrop,
#final-screen .final-stage-backdrop {
  display: none !important;
}

/* ---------- Rodada concluida / placar ---------- */
#round-screen .round-summary-intro {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

#round-screen .round-summary-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

#round-screen .round-summary-star-wrap {
  width: 66px;
  height: 58px;
  display: grid;
  place-items: center;
}

#round-screen .round-summary-star {
  width: 56px;
  height: 56px;
  object-fit: contain;
  filter: drop-shadow(0 5px 0 #a7640a) drop-shadow(0 7px 10px rgba(0,0,0,.22));
}

#round-screen .round-summary-pill,
#final-screen .final-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 7px 18px;
  border: 1px solid rgba(193, 181, 255, .34);
  border-radius: 999px;
  background: #3d248d;
  color: #ddd6ff;
  box-shadow: 0 5px 0 #160748;
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-size: clamp(11px, 1.15vw, 14px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: .06em;
  text-transform: uppercase;
}

#round-screen .round-summary-intro h2 {
  margin: 14px 0 0;
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-size: clamp(42px, 5.2vw, 66px);
  font-weight: 800;
  line-height: .95;
  letter-spacing: -.03em;
  color: #fff;
  text-shadow: 0 5px 0 #170747, 0 10px 18px rgba(5,2,30,.22);
}

#round-screen .round-summary-intro p {
  margin: 7px 0 0;
  color: #d9d2f5;
  font-family: Nunito, system-ui, sans-serif;
  font-size: clamp(13px, 1.35vw, 17px);
  font-weight: 800;
}

#round-screen .round-gameshow-scoreboard,
#final-screen .final-gameshow-scoreboard {
  position: relative;
  z-index: 2;
  width: min(780px, 100%);
  max-height: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-content: center;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,213,65,.55) transparent;
}

#round-screen .round-gameshow-scoreboard::-webkit-scrollbar,
#final-screen .final-gameshow-scoreboard::-webkit-scrollbar {
  width: 7px;
}

#round-screen .round-gameshow-scoreboard::-webkit-scrollbar-thumb,
#final-screen .final-gameshow-scoreboard::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(255,213,65,.55);
}

#round-screen .score-row,
#final-screen .score-row {
  min-width: 0;
  min-height: 88px;
  padding: 13px 15px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  column-gap: 12px;
  row-gap: 5px;
  align-items: center;
  border: 2px solid rgba(145, 120, 255, .50);
  border-radius: 18px;
  background: #3a218d;
  box-shadow: 0 6px 0 #160748, inset 0 1px 0 rgba(255,255,255,.08);
}

#round-screen .score-row.rank-1,
#final-screen .score-row.rank-1 {
  border-color: #ffd44b;
  background: #432796;
  box-shadow: 0 6px 0 #8c5d06, 0 0 0 2px rgba(255,212,75,.10), inset 0 1px 0 rgba(255,255,255,.10);
}

#round-screen .score-rank,
#final-screen .score-rank {
  width: 40px;
  display: grid;
  place-items: center;
}

#round-screen .score-rank span,
#final-screen .score-rank span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #26106b;
  color: #ffd84a;
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-size: 16px;
  font-weight: 800;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
}

#round-screen .rank-1 .score-rank span,
#final-screen .rank-1 .score-rank span {
  background: #ffd23e;
  color: #2b135e;
  box-shadow: 0 3px 0 #9b6208;
}

#round-screen .score-team,
#final-screen .score-team {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

#round-screen .score-color,
#final-screen .score-color {
  width: 12px;
  height: 34px;
  flex: 0 0 auto;
  border-radius: 999px;
  box-shadow: 0 0 0 2px rgba(255,255,255,.16);
}

#round-screen .score-team strong,
#final-screen .score-team strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #fff;
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-size: clamp(16px, 1.6vw, 21px);
  font-weight: 800;
  line-height: 1;
}

#round-screen .total-score,
#final-screen .total-score {
  min-width: 54px;
  text-align: right;
}

#round-screen .total-score span,
#final-screen .total-score span {
  display: block;
  margin-bottom: 2px;
  color: #bdb3e1;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .06em;
}

#round-screen .total-score strong,
#final-screen .total-score strong {
  display: block;
  color: #ffd43b;
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-size: 30px;
  font-weight: 800;
  line-height: .9;
  text-shadow: 0 3px 0 rgba(116,68,4,.48);
}

#round-screen .round-gain {
  grid-column: 2 / -1;
  margin: 0;
  color: #a7f1bd;
  font-family: Nunito, system-ui, sans-serif;
  font-size: 11px;
  font-weight: 900;
}

#round-screen .round-gameshow-scoreboard > .score-row:only-child,
#final-screen .final-gameshow-scoreboard > .score-row:only-child {
  grid-column: 1 / -1;
  width: min(380px, 100%);
  justify-self: center;
}

#round-screen .round-summary-button {
  position: relative;
  z-index: 2;
  grid-column: auto;
  justify-self: center;
  width: min(520px, 100%);
  min-width: 0;
  min-height: 62px;
  padding: 0 24px;
  border: 2px solid #fff1a0;
  border-radius: 21px;
  background: linear-gradient(180deg, #ffe149 0%, #ffc320 60%, #ffb010 100%);
  color: #22123f;
  box-shadow: 0 7px 0 #b96708, 0 13px 22px rgba(12,8,43,.18), inset 0 1px 0 rgba(255,255,255,.50);
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-size: clamp(18px, 1.9vw, 24px);
  font-weight: 800;
  letter-spacing: .01em;
}

#round-screen .round-summary-button:hover {
  filter: brightness(1.04);
  transform: translateY(-1px);
}

#round-screen .round-summary-button:active {
  transform: translateY(4px);
  box-shadow: 0 3px 0 #b96708;
}

/* ---------- Final / vencedores ---------- */
#final-screen .final-stage-layout {
  grid-template-rows: auto minmax(0, 1fr) auto;
}

#final-screen .final-hero {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

#final-screen .final-badge {
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
}

#final-screen .final-badge-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(193,181,255,.26);
  border-radius: 15px;
  background: #3d248d;
  font-size: 25px;
  box-shadow: 0 5px 0 #160748;
}

#final-screen .final-pill {
  margin: 0 0 10px;
}

#final-screen #winner-title {
  margin: 0;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-weight: 800;
  line-height: .92;
  letter-spacing: -.03em;
  text-align: center;
}

#final-screen .winner-line {
  display: block;
}

#final-screen .winner-line.kicker {
  color: #e7e0ff;
  font-size: clamp(20px, 2.1vw, 28px);
  letter-spacing: .02em;
  text-shadow: 0 3px 0 #160748;
}

#final-screen .winner-line.team-name {
  max-width: 100%;
  margin: 2px 0;
  overflow-wrap: anywhere;
  color: var(--winner-color, #ffd43b);
  font-size: clamp(46px, 6vw, 78px);
  line-height: .88;
  text-shadow: 0 3px 0 rgba(255,255,255,.82), 0 7px 0 #24106f, 0 12px 20px rgba(5,2,30,.23);
}

#final-screen .winner-line.end {
  color: #fff;
  font-size: clamp(24px, 2.9vw, 38px);
  text-shadow: 0 4px 0 #160748;
}

#final-screen .final-copy {
  margin: 8px 0 0;
  color: #d9d2f5;
  font-family: Nunito, system-ui, sans-serif;
  font-size: clamp(13px, 1.4vw, 18px);
  font-weight: 900;
}

#final-screen .final-gameshow-scoreboard .round-gain {
  display: none;
}

#final-screen .final-stage-actions {
  position: relative;
  z-index: 2;
  grid-column: auto;
  justify-self: center;
  width: min(720px, 100%);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

#final-screen .final-stage-actions button {
  min-height: 58px;
  border-radius: 20px;
  font-family: "Baloo 2", Nunito, system-ui, sans-serif;
  font-size: clamp(16px, 1.55vw, 20px);
  font-weight: 800;
}

#final-screen #play-again {
  border: 2px solid #fff1a0;
  background: linear-gradient(180deg, #ffe149 0%, #ffc320 60%, #ffb010 100%);
  color: #22123f;
  box-shadow: 0 7px 0 #b96708, inset 0 1px 0 rgba(255,255,255,.50);
}

#final-screen .final-config-button {
  border: 2px solid #8d73ff;
  background: linear-gradient(180deg, #6541d7 0%, #402496 100%);
  color: #fff;
  box-shadow: 0 7px 0 #18084e, inset 0 1px 0 rgba(255,255,255,.10);
}

#final-screen .final-stage-actions button:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
}

#final-screen .final-stage-actions button:active {
  transform: translateY(4px);
}

@media (max-width: 1100px) and (orientation: landscape) {
  #round-screen,
  #final-screen {
    padding: 26px 16px;
  }

  #round-screen .round-summary-layout,
  #final-screen .final-stage-layout {
    width: min(900px, calc(100vw - 44px));
    height: min(590px, calc(100dvh - 52px));
    padding: 25px 28px 22px;
    gap: 15px;
    border-radius: 28px;
  }

  #round-screen .round-summary-layout::before,
  #final-screen .final-stage-layout::before {
    inset: 10px;
    border-radius: 19px;
  }

  #round-screen .round-summary-star-wrap {
    width: 58px;
    height: 50px;
  }

  #round-screen .round-summary-star {
    width: 48px;
    height: 48px;
  }

  #round-screen .round-gameshow-scoreboard,
  #final-screen .final-gameshow-scoreboard {
    width: min(720px, 100%);
    gap: 11px;
  }

  #round-screen .score-row,
  #final-screen .score-row {
    min-height: 76px;
    padding: 10px 12px;
    border-radius: 15px;
  }

  #round-screen .round-summary-button {
    min-height: 54px;
  }

  #final-screen .final-badge-icon {
    width: 42px;
    height: 42px;
    font-size: 22px;
  }

  #final-screen .final-stage-actions button {
    min-height: 52px;
  }
}

@media (max-height: 650px) and (orientation: landscape) {
  #round-screen,
  #final-screen {
    padding: 18px 12px;
  }

  #round-screen .round-summary-layout,
  #final-screen .final-stage-layout {
    width: min(820px, calc(100vw - 30px));
    height: calc(100dvh - 30px);
    padding: 18px 24px 16px;
    gap: 10px;
    border-width: 2px;
    border-radius: 24px;
    box-shadow: 0 0 0 4px #f0c85a, 0 18px 36px rgba(4,8,42,.23);
  }

  #round-screen .round-summary-badge {
    gap: 4px;
  }

  #round-screen .round-summary-star-wrap {
    width: 44px;
    height: 38px;
  }

  #round-screen .round-summary-star {
    width: 38px;
    height: 38px;
    filter: drop-shadow(0 3px 0 #a7640a);
  }

  #round-screen .round-summary-pill,
  #final-screen .final-pill {
    min-height: 30px;
    padding: 5px 13px;
    font-size: 10px;
    box-shadow: 0 4px 0 #160748;
  }

  #round-screen .round-summary-intro h2 {
    margin-top: 7px;
    font-size: clamp(34px, 4.8vw, 48px);
  }

  #round-screen .round-summary-intro p {
    margin-top: 3px;
    font-size: 11px;
  }

  #round-screen .round-gameshow-scoreboard,
  #final-screen .final-gameshow-scoreboard {
    width: min(650px, 100%);
    gap: 8px;
  }

  #round-screen .score-row,
  #final-screen .score-row {
    min-height: 61px;
    padding: 7px 9px;
    grid-template-columns: 34px minmax(0,1fr) auto;
    column-gap: 8px;
    row-gap: 2px;
    border-radius: 13px;
    box-shadow: 0 4px 0 #160748;
  }

  #round-screen .score-rank,
  #final-screen .score-rank {
    width: 32px;
  }

  #round-screen .score-rank span,
  #final-screen .score-rank span {
    width: 30px;
    height: 30px;
    font-size: 12px;
  }

  #round-screen .score-color,
  #final-screen .score-color {
    width: 9px;
    height: 27px;
  }

  #round-screen .score-team strong,
  #final-screen .score-team strong {
    font-size: 14px;
  }

  #round-screen .total-score strong,
  #final-screen .total-score strong {
    font-size: 23px;
  }

  #round-screen .round-gain {
    font-size: 9px;
  }

  #round-screen .round-summary-button {
    width: min(470px, 100%);
    min-height: 44px;
    border-radius: 15px;
    font-size: 16px;
    box-shadow: 0 5px 0 #b96708;
  }

  #final-screen .final-badge {
    margin-bottom: 4px;
    gap: 6px;
  }

  #final-screen .final-badge-icon {
    width: 34px;
    height: 34px;
    border-radius: 11px;
    font-size: 18px;
    box-shadow: 0 4px 0 #160748;
  }

  #final-screen .winner-line.kicker {
    font-size: 17px;
  }

  #final-screen .winner-line.team-name {
    font-size: clamp(36px, 5.2vw, 54px);
  }

  #final-screen .winner-line.end {
    font-size: 22px;
  }

  #final-screen .final-copy {
    margin-top: 4px;
    font-size: 11px;
  }

  #final-screen .final-stage-actions {
    width: min(600px, 100%);
    gap: 10px;
  }

  #final-screen .final-stage-actions button {
    min-height: 44px;
    border-radius: 15px;
    font-size: 15px;
  }
}

@media (max-height: 430px) and (orientation: landscape) {
  #round-screen,
  #final-screen {
    padding: 10px;
  }

  #round-screen .round-summary-layout,
  #final-screen .final-stage-layout {
    width: min(760px, calc(100vw - 20px));
    height: calc(100dvh - 20px);
    padding: 12px 18px 10px;
    gap: 6px;
    border-radius: 20px;
  }

  #round-screen .round-summary-star-wrap {
    display: none;
  }

  #round-screen .round-summary-intro h2 {
    margin-top: 5px;
    font-size: 30px;
  }

  #round-screen .round-summary-intro p {
    display: none;
  }

  #round-screen .round-gameshow-scoreboard,
  #final-screen .final-gameshow-scoreboard {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  #round-screen .score-row,
  #final-screen .score-row {
    min-height: 50px;
    padding: 5px 7px;
    grid-template-columns: 27px minmax(0,1fr) auto;
    column-gap: 6px;
  }

  #round-screen .score-rank,
  #final-screen .score-rank {
    width: 25px;
  }

  #round-screen .score-rank span,
  #final-screen .score-rank span {
    width: 24px;
    height: 24px;
    font-size: 10px;
  }

  #round-screen .score-team strong,
  #final-screen .score-team strong {
    font-size: 11px;
  }

  #round-screen .score-color,
  #final-screen .score-color {
    width: 7px;
    height: 22px;
  }

  #round-screen .total-score span,
  #final-screen .total-score span,
  #round-screen .round-gain {
    display: none;
  }

  #round-screen .total-score strong,
  #final-screen .total-score strong {
    font-size: 19px;
  }

  #round-screen .round-summary-button {
    min-height: 38px;
  }

  #final-screen .final-badge {
    display: none;
  }

  #final-screen .winner-line.kicker {
    font-size: 14px;
  }

  #final-screen .winner-line.team-name {
    font-size: 34px;
  }

  #final-screen .winner-line.end {
    font-size: 18px;
  }

  #final-screen .final-copy {
    display: none;
  }

  #final-screen .final-stage-actions button {
    min-height: 38px;
  }
}


/* =========================
   Ranking + times salvos
   ========================= */
.home-actions{gap:16px;}
.home-ranking-button{
  min-height:54px;padding:0 24px;border:2px solid #805fe3;border-radius:18px;
  background:linear-gradient(180deg,rgba(43,20,107,.96),rgba(25,8,70,.97));
  color:#fff;font-size:clamp(15px,1.45vw,19px);font-weight:1000;letter-spacing:.045em;
  box-shadow:0 6px 0 #0f032d,0 11px 22px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.13);
  transition:transform .12s ease,filter .12s ease;
}
.home-ranking-button span{margin-right:8px;filter:drop-shadow(0 3px 3px rgba(0,0,0,.25));}
.home-ranking-button:hover{filter:brightness(1.12);transform:translateY(-1px)}
.home-ranking-button:active{transform:translateY(4px);box-shadow:0 2px 0 #0f032d,0 6px 14px rgba(0,0,0,.22)}

.ranking-screen{padding:clamp(10px,1.8vh,18px) clamp(12px,2vw,24px);background:#0b0325;}
.ranking-screen.active{display:block;}
.ranking-shell{
  position:relative;width:min(1250px,100%);height:100%;margin:0 auto;overflow:hidden;
  display:grid;grid-template-rows:auto auto minmax(0,1fr);border:2px solid #7854ff;border-radius:28px;
  background:radial-gradient(circle at 50% 0,rgba(106,63,255,.24),transparent 34%),linear-gradient(180deg,#170744 0%,#0d032b 100%);
  box-shadow:0 26px 60px rgba(3,0,24,.42),inset 0 1px 0 rgba(255,255,255,.08);color:#fff;
}
.ranking-header{min-height:118px;padding:20px 28px;display:grid;grid-template-columns:64px 1fr 64px;align-items:center;gap:16px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(31,15,88,.88),rgba(19,7,59,.76));}
.ranking-back-button{width:54px;height:54px;border:2px solid #805fe3;border-radius:17px;background:linear-gradient(180deg,#352078,#20104f);color:#fff;font-size:28px;font-weight:1000;box-shadow:0 5px 0 #0c0229;}
.ranking-title-wrap{text-align:center}.ranking-title-wrap .eyebrow{color:#bfb1ee;font-weight:1000;letter-spacing:.22em}.ranking-title-wrap h2{margin:0;color:#ffd73b;font-family:"Baloo 2",Nunito,sans-serif;font-size:clamp(34px,4vw,54px);line-height:.96;text-shadow:0 4px 0 #8e3d0b,0 8px 18px rgba(0,0,0,.3)}.ranking-title-wrap>span{display:block;margin-top:6px;color:#cfc7ee;font-size:13px;font-weight:800}.ranking-trophy{font-size:42px;filter:drop-shadow(0 6px 5px rgba(0,0,0,.32));}
.ranking-tabs{width:min(760px,calc(100% - 36px));margin:18px auto 10px;padding:6px;display:grid;grid-template-columns:1fr 1fr;gap:6px;border:1px solid #5d43be;border-radius:17px;background:#13063a;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.ranking-tab{min-height:48px;border:0;border-radius:12px;background:transparent;color:#bdb2df;font-size:13px;font-weight:1000;letter-spacing:.035em}.ranking-tab.active{background:linear-gradient(180deg,#6942df,#4a25bb);color:#fff;box-shadow:0 4px 0 #28106e,inset 0 1px 0 rgba(255,255,255,.16)}
.ranking-content{min-height:0;padding:8px 28px 26px;overflow:hidden}.ranking-panel{display:none;height:100%;min-height:0}.ranking-panel.active{display:block}.match-history-list,.saved-teams-ranking{height:100%;overflow:auto;display:grid;align-content:start;gap:12px;padding:6px 8px 20px;scrollbar-width:thin;scrollbar-color:#6f4ed6 transparent}
.history-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 18px;padding:16px 18px;border:1px solid #5e43bd;border-radius:20px;background:linear-gradient(180deg,rgba(50,27,123,.96),rgba(31,14,91,.96));box-shadow:0 8px 0 rgba(5,2,25,.27),inset 0 1px 0 rgba(255,255,255,.07)}.history-card.latest{border-color:#8b6aff}.history-card-top{grid-column:1/-1;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.history-card-top>div{display:grid;gap:3px}.history-card-top strong{font-family:"Baloo 2",Nunito,sans-serif;font-size:22px;line-height:1;color:#fff}.history-number{color:#ffd83d;font-size:10px;font-weight:1000;letter-spacing:.14em}.history-card time{color:#aa9fcf;font-size:11px;font-weight:800;white-space:nowrap}.history-winner-points{min-width:130px;display:grid;align-content:center;padding:8px 13px;border:1px solid rgba(255,216,61,.34);border-radius:15px;background:rgba(255,193,19,.08)}.history-winner-points span{color:#d6ccf1;font-size:9px;font-weight:1000;letter-spacing:.08em}.history-winner-points b{color:#ffd83d;font-family:"Baloo 2",Nunito,sans-serif;font-size:32px;line-height:1}.history-scores{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.history-score-chip{min-height:34px;padding:0 10px;display:inline-flex;align-items:center;gap:7px;border:1px solid #6249ba;border-radius:999px;background:#1b0d53;color:#e7e3f8;font-size:11px;font-weight:800}.history-score-chip i{width:11px;height:11px;border-radius:50%;box-shadow:inset 0 1px 1px rgba(255,255,255,.35)}.history-score-chip b{color:#fff;font-size:13px}
.ranking-team-row{min-height:78px;padding:11px 16px;display:grid;grid-template-columns:58px 44px minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid #6046bd;border-radius:20px;background:linear-gradient(180deg,rgba(52,29,128,.96),rgba(31,14,91,.96));box-shadow:0 7px 0 rgba(5,2,25,.26),inset 0 1px 0 rgba(255,255,255,.07)}.ranking-team-row.rank-1{border-color:#c99b24;background:linear-gradient(180deg,rgba(89,54,118,.98),rgba(49,25,91,.98))}.ranking-position{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(180deg,#6b45dc,#4524aa);color:#fff;font-family:"Baloo 2",Nunito,sans-serif;font-size:25px;font-weight:800;box-shadow:0 4px 0 #24106b}.rank-1 .ranking-position{background:linear-gradient(180deg,#ffe35a,#ffb713);color:#3a2157;box-shadow:0 4px 0 #a66405}.ranking-position small{font-size:11px;position:absolute;margin:0 0 13px 25px}.ranking-team-orb{width:38px;height:38px;border-radius:50%;border:2px solid rgba(255,255,255,.62);box-shadow:inset 0 2px 2px rgba(255,255,255,.32),0 4px 10px rgba(0,0,0,.2)}.ranking-team-name{min-width:0;display:grid}.ranking-team-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:"Baloo 2",Nunito,sans-serif;font-size:21px;line-height:1.1}.ranking-team-name span{color:#ab9dcc;font-size:10px;font-weight:900;letter-spacing:.08em}.ranking-wins{min-width:100px;text-align:center;display:grid}.ranking-wins b{color:#ffd83d;font-family:"Baloo 2",Nunito,sans-serif;font-size:29px;line-height:1}.ranking-wins span{color:#d3c9ed;font-size:9px;font-weight:1000;letter-spacing:.09em}
.ranking-empty{height:100%;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#c9c0e4}.ranking-empty-icon{font-size:46px;margin-bottom:10px;filter:drop-shadow(0 5px 5px rgba(0,0,0,.25))}.ranking-empty strong{color:#fff;font-family:"Baloo 2",Nunito,sans-serif;font-size:25px}.ranking-empty p{max-width:390px;margin:4px 0 0;font-size:13px;font-weight:700}

.saved-team-badge{padding:4px 7px;border:1px solid rgba(255,216,61,.44);border-radius:999px;background:rgba(255,197,25,.10);color:#ffd83d;font-size:9px;font-weight:1000;letter-spacing:.07em;white-space:nowrap}
.team-picker-dialog{width:min(620px,calc(100vw - 40px));max-height:min(82vh,680px);display:flex;flex-direction:column}.team-picker-body{min-height:0;display:grid;gap:14px;overflow:hidden}.team-picker-section{min-height:0;display:grid;gap:8px}.team-picker-label{color:#cfc7ee;font-size:11px;font-weight:1000;letter-spacing:.10em}.saved-team-choices{max-height:250px;overflow:auto;display:grid;gap:8px;padding:2px 4px 5px 0}.saved-team-choice{min-height:56px;padding:8px 11px;display:grid;grid-template-columns:34px minmax(0,1fr) auto 30px;align-items:center;gap:10px;border:1px solid #5d47b5;border-radius:15px;background:linear-gradient(180deg,#263a9b,#17256f);color:#fff;text-align:left;box-shadow:0 4px 0 rgba(4,9,47,.55)}.saved-team-choice:hover{filter:brightness(1.1)}.saved-team-choice-orb{width:30px;height:30px;border-radius:50%;border:2px solid rgba(255,255,255,.55)}.saved-team-choice-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:1000}.saved-team-choice-wins{color:#c9c2eb;font-size:10px;font-weight:900;white-space:nowrap}.saved-team-choice-add{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:#ffd83d;color:#26144a;font-size:20px;font-weight:1000}.saved-team-empty{min-height:84px;padding:14px;display:grid;place-items:center;text-align:center;border:1px dashed #5d47b5;border-radius:15px;background:rgba(9,16,71,.48)}.saved-team-empty strong{color:#fff}.saved-team-empty span{color:#aaa1ce;font-size:11px;font-weight:700}.team-picker-divider{display:flex;align-items:center;gap:10px;color:#8075aa;font-size:10px;font-weight:1000}.team-picker-divider:before,.team-picker-divider:after{content:"";height:1px;flex:1;background:rgba(255,255,255,.10)}.team-picker-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.team-picker-action{min-height:82px;padding:12px 14px;display:grid;grid-template-columns:38px minmax(0,1fr) 22px;align-items:center;gap:10px;border-radius:17px;text-align:left;color:#fff}.team-picker-action.saved{border:2px solid #8a66ff;background:linear-gradient(180deg,#5a32d2,#3d20a0);box-shadow:0 5px 0 #251067}.team-picker-action.guest{border:2px solid #3c68db;background:linear-gradient(180deg,#2449b8,#17338a);box-shadow:0 5px 0 #0c1e5d}.team-picker-action-icon{font-size:25px;text-align:center}.team-picker-action>span:nth-child(2){display:grid}.team-picker-action strong{font-size:13px;font-weight:1000}.team-picker-action small{margin-top:2px;color:#d4cdf0;font-size:9px;font-weight:800}.team-picker-action>b{font-size:23px}.team-picker-action:hover{filter:brightness(1.1)}

@media (max-width:760px){
  .home-actions{width:min(56vw,420px)}
  .ranking-header{min-height:92px;padding:12px 16px;grid-template-columns:50px 1fr 50px}.ranking-back-button{width:46px;height:46px}.ranking-trophy{font-size:32px}.ranking-title-wrap>span{display:none}.ranking-content{padding:6px 12px 18px}.ranking-tabs{margin-top:12px}.history-card{grid-template-columns:1fr;padding:13px}.history-card-top{gap:8px}.history-winner-points{min-width:0}.ranking-team-row{grid-template-columns:46px 34px minmax(0,1fr) 72px;gap:8px}.ranking-position{width:40px;height:40px;font-size:21px}.ranking-team-orb{width:30px;height:30px}.ranking-team-name strong{font-size:17px}.ranking-wins{min-width:68px}.team-picker-actions{grid-template-columns:1fr}.saved-team-choice{grid-template-columns:30px minmax(0,1fr) 28px}.saved-team-choice-wins{display:none}
}

/* v2.10.4 — gestão de times + resumo das palavras da vez */
.team-row-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.team-remove-button{width:38px;height:38px;border:1px solid rgba(255,126,151,.48);border-radius:12px;background:linear-gradient(180deg,rgba(114,36,91,.96),rgba(69,20,68,.96));color:#ffb7c8;box-shadow:0 4px 0 rgba(39,8,47,.7);font-family:"Baloo 2",Nunito,sans-serif;font-size:25px;font-weight:800;line-height:1;cursor:pointer;transition:transform .12s ease,filter .12s ease,opacity .12s ease}
.team-remove-button:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px)}
.team-remove-button:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 rgba(39,8,47,.7)}
.team-remove-button:disabled{opacity:.28;cursor:not-allowed}

.ranking-team-row{grid-template-columns:58px 44px minmax(0,1fr) auto 86px}
.ranking-team-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}
.ranking-team-actions button{width:36px;height:36px;border:1px solid rgba(196,181,255,.32);border-radius:11px;background:linear-gradient(180deg,#5b39bd,#3d2294);color:#fff;font-family:"Baloo 2",Nunito,sans-serif;font-size:19px;font-weight:800;box-shadow:0 4px 0 #24106b;cursor:pointer;transition:transform .12s ease,filter .12s ease}
.ranking-team-actions button:hover{filter:brightness(1.12);transform:translateY(-1px)}
.ranking-team-actions button:active{transform:translateY(3px);box-shadow:0 1px 0 #24106b}
.ranking-team-actions button.danger{border-color:rgba(255,127,151,.42);background:linear-gradient(180deg,#87305e,#5b1e55);color:#ffd2dc;box-shadow:0 4px 0 #35103f}

.turn-result-layout{height:min(690px,calc(100dvh - 54px));padding-top:clamp(48px,6vh,60px);padding-bottom:22px;justify-content:flex-start}
.turn-result-copy{margin-bottom:14px}
.turn-result-stats{margin-bottom:17px}
.turn-result-stat{min-height:102px;padding:12px 18px 10px}
.turn-result-stat strong{font-size:clamp(42px,5vw,60px)}
.turn-result-layout>.primary-button{min-height:58px}
.turn-words-summary{position:relative;z-index:2;width:min(690px,100%);margin-top:16px;border:2px solid rgba(149,126,255,.50);border-radius:20px;background:linear-gradient(180deg,rgba(58,33,141,.98),rgba(43,22,113,.98));box-shadow:0 6px 0 #160748,inset 0 1px 0 rgba(255,255,255,.09);overflow:hidden;text-align:left}
.turn-words-summary-header{min-height:42px;padding:9px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(195,181,255,.19);background:rgba(24,8,82,.32)}
.turn-words-summary-header strong{color:#fff;font-family:"Baloo 2",Nunito,sans-serif;font-size:13px;font-weight:800;letter-spacing:.055em}
.turn-words-summary-header span{color:#c9bdf0;font-size:11px;font-weight:900;white-space:nowrap}
.turn-words-list{max-height:132px;overflow-y:auto;padding:8px 9px 10px;scrollbar-width:thin;scrollbar-color:#8b6ee2 rgba(22,8,72,.35)}
.turn-words-list::-webkit-scrollbar{width:8px}.turn-words-list::-webkit-scrollbar-track{background:rgba(22,8,72,.35);border-radius:8px}.turn-words-list::-webkit-scrollbar-thumb{background:#8b6ee2;border-radius:8px}
.turn-word-item{min-height:43px;padding:7px 10px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;border-radius:12px;color:#fff}
.turn-word-item:nth-child(odd){background:rgba(255,255,255,.045)}
.turn-word-status{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;font-weight:1000;font-size:15px}
.turn-word-item.correct .turn-word-status{background:#22c96d;color:#fff;box-shadow:0 2px 0 #0b7f43}
.turn-word-item.skip .turn-word-status{background:#7a62b6;color:#e8e0ff;box-shadow:0 2px 0 #493183}
.turn-word-item>div{min-width:0;display:grid;line-height:1.05}
.turn-word-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:"Baloo 2",Nunito,sans-serif;font-size:15px;font-weight:800}
.turn-word-item small{margin-top:2px;color:#a99bd2;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.turn-word-item>b{padding:4px 7px;border-radius:8px;font-size:9px;font-weight:1000;letter-spacing:.045em}
.turn-word-item.correct>b{background:rgba(34,201,109,.15);color:#7df0ad}.turn-word-item.skip>b{background:rgba(174,151,230,.12);color:#cbbcf0}
.turn-words-empty{padding:22px;text-align:center;color:#b8a9df;font-family:"Baloo 2",Nunito,sans-serif;font-weight:700}

#delete-team-modal .game-modal-backdrop{position:absolute;inset:0;background:transparent}
#delete-team-modal .game-modal-card{position:relative;z-index:1}
.delete-team-card h2 span{color:#ffd43b}

@media (max-width:1100px) and (orientation:landscape){
  .turn-result-layout{height:min(600px,calc(100dvh - 34px));padding:38px 26px 16px}
  .turn-result-star-wrap{top:-30px}.turn-result-star{width:58px;height:58px}
  .turn-result-pill{margin-bottom:7px;padding:6px 15px}
  .turn-result-layout h2{font-size:clamp(40px,5vw,62px)}
  .turn-result-copy{margin:4px 0 10px;font-size:16px}
  .turn-result-stats{gap:12px;margin-bottom:12px}.turn-result-stat{min-height:78px;padding:8px 14px}.turn-result-stat span{margin-bottom:3px}.turn-result-stat strong{font-size:38px}
  .turn-result-layout>.primary-button{min-height:50px;font-size:19px}
  .turn-words-summary{margin-top:11px}.turn-words-summary-header{min-height:35px;padding:7px 11px}.turn-words-list{max-height:101px;padding:6px 7px 8px}.turn-word-item{min-height:37px;padding:5px 8px}
  .ranking-team-row{grid-template-columns:46px 34px minmax(0,1fr) 72px 76px;gap:8px}.ranking-team-actions button{width:32px;height:32px}
}

@media (max-width:760px) and (orientation:landscape){
  .turn-result-layout{width:calc(100vw - 30px);height:calc(100dvh - 20px);padding:29px 18px 10px;border-radius:24px}
  .turn-result-star-wrap{top:-24px}.turn-result-star{width:48px;height:48px}
  .turn-result-pill{font-size:9px;margin-bottom:4px}.turn-result-layout h2{font-size:34px}.turn-result-copy{font-size:13px;margin:2px 0 7px}
  .turn-result-stats{margin-bottom:8px;gap:8px}.turn-result-stat{min-height:58px;padding:5px 10px;border-radius:14px}.turn-result-stat span{font-size:9px}.turn-result-stat strong{font-size:29px}.turn-result-layout>.primary-button{min-height:40px;border-radius:14px;font-size:16px}
  .turn-words-summary{margin-top:8px;border-radius:14px}.turn-words-summary-header{min-height:29px;padding:5px 8px}.turn-words-summary-header strong{font-size:10px}.turn-words-summary-header span{font-size:9px}.turn-words-list{max-height:80px}.turn-word-item{min-height:32px;grid-template-columns:23px minmax(0,1fr) auto;gap:6px;padding:4px 6px}.turn-word-status{width:20px;height:20px;font-size:12px}.turn-word-item strong{font-size:12px}.turn-word-item small,.turn-word-item>b{font-size:7px}
  .ranking-team-row{grid-template-columns:40px 28px minmax(0,1fr) 58px 68px;padding-inline:10px}.ranking-team-actions{gap:5px}.ranking-team-actions button{width:29px;height:29px;border-radius:9px;font-size:16px}
}
