:root {
  --bg: #f4f7ff;
  --bg-soft: #eef3ff;
  --surface: #ffffff;
  --surface-2: #f7f9ff;
  --surface-3: #eef2ff;
  --border: #dde4f4;
  --border-strong: #c9d4ed;
  --text-primary: #18213a;
  --text-secondary: #6f7891;
  --text-soft: #929bb1;
  --primary: #5368e8;
  --primary-dark: #4054d3;
  --primary-soft: #e9edff;
  --purple: #8658e8;
  --purple-soft: #f0eaff;
  --green: #1cad78;
  --green-soft: #e8f8f1;
  --yellow: #f2b82f;
  --yellow-soft: #fff7dc;
  --red: #e05263;
  --red-soft: #fff0f2;
  --accent: var(--yellow);
  --accent-live: var(--green);
  --danger: var(--red);
  --font-display: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --radius-sm: 12px;
  --radius: 18px;
  --radius-lg: 28px;
  --shadow-sm: 0 8px 24px rgba(37, 54, 111, .07);
  --shadow: 0 18px 50px rgba(37, 54, 111, .10);
  --focus: 0 0 0 4px rgba(83,104,232,.16);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
html, body { margin: 0; min-height: 100%; }
body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 8% 0%, rgba(134,88,232,.10), transparent 28rem),
    radial-gradient(circle at 92% 8%, rgba(28,173,120,.09), transparent 26rem),
    var(--bg);
  color: var(--text-primary);
  font-family: var(--font-display);
  display: flex;
  flex-direction: column;
}
button, input, select { font: inherit; }
a { color: inherit; }

/* ---------- topo / marca ---------- */
.topo {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px clamp(18px, 4vw, 56px);
  border-bottom: 1px solid rgba(201,212,237,.72);
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(16px);
  position: sticky;
  top: 0;
  z-index: 40;
}
.marca {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  font-size: 20px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: -.03em;
}
.marca::before {
  content: "✦";
  width: 38px;
  height: 38px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, var(--primary), var(--purple));
  box-shadow: 0 8px 22px rgba(83,104,232,.25);
}
.marca span { color: var(--green); }
.marca-sub {
  display: block;
  margin-top: 4px;
  color: var(--text-secondary);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .01em;
}
.topo-acoes { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.topo-link {
  text-decoration: none;
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 750;
  padding: 9px 12px;
  border-radius: 10px;
}
.topo-link:hover { background: var(--surface-3); color: var(--primary); }
.status-ao-vivo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 11px;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 750;
  color: var(--text-secondary);
}
.ponto-vivo { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(28,173,120,.12); }
.ponto-vivo.parado { background: var(--text-soft); box-shadow: none; }

main {
  flex: 1;
  width: 100%;
  max-width: 1460px;
  margin: 0 auto;
  padding: clamp(24px, 4vw, 52px);
}

/* ---------- tipografia ---------- */
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(32px, 5vw, 54px); line-height: 1.03; letter-spacing: -.045em; margin-bottom: 14px; }
h2 { letter-spacing: -.025em; }
p.subtitulo { color: var(--text-secondary); font-size: 15px; line-height: 1.65; max-width: 58ch; margin-bottom: 0; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--primary);
  background: var(--primary-soft);
  padding: 8px 11px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 16px;
}

/* ---------- home ---------- */
.home-main { max-width: 1240px; }
.hero-home {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
  gap: 34px;
  align-items: center;
  padding: clamp(22px, 4vw, 48px) 0 36px;
}
.hero-copy strong { color: var(--primary); }
.hero-acoes { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 24px; }
.hero-visual {
  min-height: 330px;
  border-radius: 34px;
  background: linear-gradient(135deg, #5469e8 0%, #7659df 55%, #9170ed 100%);
  box-shadow: 0 30px 70px rgba(73,82,173,.24);
  padding: 28px;
  position: relative;
  overflow: hidden;
  color: #fff;
}
.hero-visual::before, .hero-visual::after { content: ""; position: absolute; border-radius: 50%; background: rgba(255,255,255,.11); }
.hero-visual::before { width: 280px; height: 280px; right: -100px; top: -120px; }
.hero-visual::after { width: 160px; height: 160px; left: -65px; bottom: -70px; }
.hero-mini { position: relative; z-index: 1; display: grid; gap: 14px; height: 100%; }
.hero-mini-top { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.hero-mini-title { font-size: 25px; font-weight: 850; letter-spacing: -.03em; max-width: 11ch; }
.hero-code { font-family: var(--font-mono); font-size: 24px; letter-spacing: .12em; font-weight: 850; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.25); padding: 12px 15px; border-radius: 16px; }
.hero-players { display: flex; align-items: center; margin-top: auto; }
.avatar { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; font-weight: 850; border: 3px solid rgba(255,255,255,.9); margin-right: -8px; background: #fff; color: var(--primary); box-shadow: var(--shadow-sm); }
.hero-score { margin-left: 20px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.2); border-radius: 18px; padding: 14px 16px; min-width: 180px; }
.hero-score small { opacity: .75; display: block; margin-bottom: 5px; }
.hero-score b { font-size: 22px; }

.secao-home { margin-top: 26px; }
.secao-cabecalho { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin-bottom: 16px; }
.secao-cabecalho h2 { margin: 0 0 4px; font-size: 24px; }
.secao-cabecalho p { margin: 0; color: var(--text-secondary); font-size: 14px; }
.opcoes-entrada { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: none; width: 100%; }
.cartao-opcao {
  min-height: 174px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  text-align: left;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 22px;
  text-decoration: none;
  box-shadow: var(--shadow-sm);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.cartao-opcao:hover { transform: translateY(-4px); border-color: var(--border-strong); box-shadow: var(--shadow); }
.cartao-opcao .icone-card { width: 50px; height: 50px; border-radius: 16px; display: grid; place-items: center; font-size: 24px; margin-bottom: 3px; }
.cartao-opcao strong { font-size: 18px; font-weight: 850; letter-spacing: -.02em; }
.cartao-opcao span { color: var(--text-secondary); font-size: 13px; line-height: 1.5; }
.cartao-opcao .seta-card { margin-top: auto; color: var(--primary); font-weight: 850; }
.cartao-opcao.azul .icone-card { background: var(--primary-soft); color: var(--primary); }
.cartao-opcao.roxo .icone-card { background: var(--purple-soft); color: var(--purple); }
.cartao-opcao.verde .icone-card { background: var(--green-soft); color: var(--green); }
.grade-jogos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.game-preview { background: var(--surface); border: 1px solid var(--border); border-radius: 20px; padding: 18px; display: flex; gap: 14px; align-items: center; box-shadow: var(--shadow-sm); }
.game-preview .game-icon { width: 52px; height: 52px; flex: 0 0 auto; border-radius: 16px; display: grid; place-items: center; font-size: 25px; background: var(--surface-3); }
.game-preview h3 { margin: 0 0 4px; font-size: 16px; }
.game-preview p { margin: 0; color: var(--text-secondary); font-size: 12px; }

/* ---------- botões e formulários ---------- */
.botao {
  appearance: none;
  border: 0;
  min-height: 46px;
  border-radius: 14px;
  padding: 12px 20px;
  background: linear-gradient(135deg, var(--primary), #667bf0);
  color: #fff;
  font-weight: 800;
  font-size: 14px;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(83,104,232,.22);
  transition: transform .16s ease, box-shadow .16s ease, opacity .16s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.botao:hover { transform: translateY(-1px); box-shadow: 0 14px 30px rgba(83,104,232,.27); }
.botao:active { transform: translateY(0); }
.botao:disabled { opacity: .45; cursor: default; transform: none; box-shadow: none; }
.botao.secundario { background: var(--surface); color: var(--text-primary); border: 1px solid var(--border); box-shadow: none; }
.botao.secundario:hover { border-color: var(--primary); color: var(--primary); background: var(--primary-soft); }
.botao.perigo { background: var(--red-soft); color: var(--red); box-shadow: none; border: 1px solid #ffd3da; }

.centro { min-height: 50vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 16px; }
.form-shell { max-width: 980px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, .9fr) minmax(390px, 1.1fr); gap: 28px; align-items: stretch; }
.form-intro { border-radius: 28px; padding: 34px; background: linear-gradient(145deg, #5268e8, #7a58de); color: #fff; box-shadow: var(--shadow); min-height: 430px; display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; }
.form-intro::after { content: ""; position: absolute; width: 250px; height: 250px; border-radius: 50%; background: rgba(255,255,255,.09); right: -95px; bottom: -100px; }
.form-intro h1 { color: #fff; font-size: clamp(34px, 5vw, 48px); }
.form-intro p { color: rgba(255,255,255,.78); line-height: 1.65; max-width: 38ch; }
.form-intro .passos { display: grid; gap: 11px; position: relative; z-index: 1; }
.passo { display: flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 700; color: rgba(255,255,255,.9); }
.passo b { width: 28px; height: 28px; border-radius: 9px; background: rgba(255,255,255,.16); display: grid; place-items: center; }
.form-card { background: var(--surface); border: 1px solid var(--border); border-radius: 28px; padding: clamp(24px, 4vw, 38px); box-shadow: var(--shadow); display: flex; flex-direction: column; justify-content: center; }
.form-card h2 { font-size: 27px; margin: 0 0 6px; }
.form-card > p { color: var(--text-secondary); font-size: 14px; margin-bottom: 22px; }
.form-card form { width: 100%; }
.campo { display: flex; flex-direction: column; gap: 7px; text-align: left; width: 100%; max-width: none; margin-bottom: 14px; }
.campo label { color: var(--text-secondary); font-size: 12px; font-weight: 780; }
.campo input, .campo select, .seletor-modo, .campo-resposta-stop {
  width: 100%;
  min-height: 46px;
  border-radius: 13px;
  border: 1px solid var(--border);
  background: var(--surface-2);
  color: var(--text-primary);
  padding: 10px 12px;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.campo input:focus, .campo select:focus, .seletor-modo:focus, .campo-resposta-stop:focus, .linha-tentativa input:focus { outline: none; border-color: var(--primary); box-shadow: var(--focus); background: #fff; }
#campoCodigo { font-family: var(--font-mono); font-size: 26px; font-weight: 800; letter-spacing: .18em; text-align: center; text-transform: uppercase; }
.opcao-toggle { display: flex; align-items: flex-start; gap: 10px; padding: 13px 14px; border: 1px solid var(--border); background: var(--surface-2); border-radius: 14px; color: var(--text-secondary); font-size: 13px; cursor: pointer; width: 100%; max-width: none; text-align: left; margin-bottom: 14px; }
.opcao-toggle input { width: 18px; height: 18px; accent-color: var(--primary); cursor: pointer; flex: 0 0 auto; }
.erro { color: var(--red); font-size: 12px; min-height: 18px; margin: 5px 0; font-weight: 700; }
.feedback-tentativa { font-size: 13px; min-height: 18px; margin: 0; font-weight: 700; }
.feedback-tentativa.acerto { color: var(--green); }
.feedback-tentativa.falha { color: var(--red); }

/* ---------- sala / lobby ---------- */
.sala-main { max-width: 1520px; }
.layout-professor { display: grid; grid-template-columns: 280px minmax(0,1fr) 310px; gap: 18px; align-items: start; }
body.modo-aluno .layout-professor { grid-template-columns: minmax(0,1fr) 310px; }
body.modo-aluno .coluna-config { display: none; }
.coluna-config, .coluna-jogo, .coluna-ranking { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.aurora-sidebar { background: #18213a; color: #fff; border-radius: 24px; padding: 18px; box-shadow: var(--shadow); position: static; top: auto; z-index: auto; }
.aurora-sidebar .sidebar-title { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; opacity: .5; padding: 6px 9px 12px; }
.aurora-sidebar a { display: flex; align-items: center; gap: 10px; text-decoration: none; padding: 11px 12px; border-radius: 12px; color: rgba(255,255,255,.76); font-size: 13px; font-weight: 750; margin-bottom: 4px; }
.aurora-sidebar a:hover, .aurora-sidebar a.ativo { color: #fff; background: rgba(255,255,255,.10); }
.sidebar-dica { margin-top: 16px; padding: 14px; border-radius: 16px; background: linear-gradient(135deg, rgba(83,104,232,.42), rgba(134,88,232,.34)); font-size: 12px; line-height: 1.5; color: rgba(255,255,255,.82); }
/* Aurora v0.2.1 — correção de navegação do professor */
#resumoSala, #configurarRodada, #rankingSala, #areaJogo { scroll-margin-top: 96px; }
.coluna-config { isolation: auto; }

.painel { background: var(--surface); border: 1px solid var(--border); border-radius: 22px; padding: 20px; box-shadow: var(--shadow-sm); }
.painel h2 { font-size: 12px; line-height: 1.2; font-weight: 850; color: var(--text-secondary); margin: 0 0 14px; text-transform: uppercase; letter-spacing: .075em; }
.painel-destaque { background: linear-gradient(135deg, #fff, #f8f9ff); }
.sala-resumo { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.codigo-sala { font-family: var(--font-mono); font-weight: 900; font-size: clamp(34px, 4vw, 50px); letter-spacing: .12em; color: var(--primary); line-height: 1; }
.endereco-rede { font-family: var(--font-mono); font-size: 11px; color: var(--text-secondary); margin: 10px 0 0; word-break: break-word; }
.badge-status { display: inline-flex; align-items: center; gap: 6px; background: var(--green-soft); color: var(--green); border-radius: 999px; padding: 7px 10px; font-size: 11px; font-weight: 800; }
.badge-status::before { content: ""; width: 7px; height: 7px; background: currentColor; border-radius: 50%; }

.linha-controles { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.seletor-modo { width: auto; min-width: 150px; font-size: 13px; font-weight: 700; }
.descricao-modo { color: var(--text-secondary); font-size: 12px; line-height: 1.55; margin: 9px 0 0; }
.lista-sugestoes { color: var(--text-secondary); font-size: 11px; min-height: 16px; margin-top: 8px; }
.bloco-sugerir { border-top: 1px solid var(--border); padding-top: 16px; margin-top: 6px; display: flex; flex-direction: column; gap: 8px; }
.bloco-sugerir label { font-size: 12px; color: var(--text-secondary); font-weight: 700; }

.painel-jogo { display: flex; flex-direction: column; gap: 18px; min-height: 460px; }
.jogo-cabecalho { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--border); }
.jogo-cabecalho h2 { margin: 0; font-size: 16px; text-transform: capitalize; color: var(--text-primary); letter-spacing: -.015em; }
.meus-pontos { font-size: 12px; color: var(--text-secondary); background: var(--yellow-soft); border-radius: 999px; padding: 8px 10px; }
.meus-pontos strong { color: #a66f00; font-size: 15px; }

.lista-participantes { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.lista-participantes li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 0; border-bottom: 1px solid var(--border); font-size: 13px; }
.lista-participantes li:last-child { border-bottom: 0; }
.lista-participantes li > span:first-child::before { content: ""; display: inline-block; width: 9px; height: 9px; margin-right: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px var(--green-soft); }
.lista-participantes .pontos { color: #a66f00; font-weight: 850; font-size: 12px; background: var(--yellow-soft); border-radius: 999px; padding: 5px 8px; }
.vazio { color: var(--text-secondary); font-size: 13px; }
.rodape-espera { color: var(--text-secondary); font-size: 12px; }

/* ---------- forca ---------- */
.corpo-jogo { display: flex; gap: clamp(20px, 4vw, 42px); align-items: center; padding: 12px 0; min-height: 310px; }
.desenho-forca { flex-shrink: 0; width: 150px; padding: 16px; border-radius: 22px; background: var(--surface-2); }
.desenho-forca svg { width: 100%; height: auto; }
.forca-estrutura { stroke: #a6afc2; stroke-width: 3; stroke-linecap: round; fill: none; }
.parte-forca { stroke: var(--red); stroke-width: 3; stroke-linecap: round; fill: none; opacity: 0; transition: opacity .22s ease; }
.info-jogo { flex: 1; display: flex; flex-direction: column; gap: 13px; min-width: 0; }
.mascara-palavra { font-family: var(--font-mono); font-size: clamp(28px, 4vw, 42px); font-weight: 800; letter-spacing: .15em; color: var(--text-primary); min-height: 46px; word-break: break-word; margin: 0; }
.linha-erros { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 12px; color: var(--red); font-weight: 700; }
.resultado-rodada { font-size: 14px; color: var(--green); min-height: 20px; margin: 0; font-weight: 750; }
.linha-tentativa { display: flex; gap: 10px; }
.linha-tentativa input { width: 66px; min-height: 48px; text-align: center; text-transform: uppercase; font-family: var(--font-mono); font-size: 22px; font-weight: 800; border: 1px solid var(--border); border-radius: 14px; background: var(--surface-2); color: var(--text-primary); }

/* ---------- bingo ---------- */
.corpo-bingo { display: flex; flex-direction: column; gap: 18px; align-items: stretch; padding: 4px 0; }
.bingo-sorteio-topo {
  display: grid; grid-template-columns: minmax(150px,.55fr) minmax(220px,1fr) auto;
  align-items: center; gap: 14px 20px; width: 100%; padding: 16px 18px;
  background: linear-gradient(135deg, var(--purple-soft), #f8f6ff);
  border: 1px solid #e3ddff; border-radius: 22px;
}
.bingo-sorteio-titulo { display:flex; flex-direction:column; gap:5px; min-width:0; }
.bingo-sorteio-titulo small { color:var(--text-secondary); font-size:11px; line-height:1.35; font-weight:650; }
.rotulo-numero-atual { font-size: 10px; color: var(--text-secondary); text-transform: uppercase; letter-spacing: .1em; font-weight: 850; }
.numero-atual { font-family: var(--font-mono); font-size: clamp(42px, 6vw, 72px); font-weight: 900; color: var(--purple); line-height: 1; text-align: center; padding: 6px 10px; min-width:0; overflow-wrap:anywhere; }
.bingo-sortear-topo { white-space:nowrap; justify-self:end; }
.historico-numeros { grid-column:1 / -1; font-family: var(--font-mono); font-size: 10px; line-height: 1.55; color: var(--text-secondary); text-align: center; word-break: break-word; padding-top:4px; border-top:1px solid rgba(102,82,190,.10); }
.bingo-sorteio-topo .resultado-rodada { grid-column:1 / -1; text-align:center; }
.area-cartela { display: flex; flex-direction: column; align-items: center; gap: 12px; width:100%; min-width: 230px; }
.cartela-bingo { display: grid; gap: 7px; width: 100%; max-width: 370px; }
.celula-bingo { aspect-ratio: 1; display: flex; align-items: center; justify-content: center; font-family: var(--font-mono); font-size: 14px; font-weight: 800; background: var(--surface-2); border: 1px solid var(--border); border-radius: 11px; color: var(--text-primary); transition: transform .15s ease, background .2s ease, border-color .2s ease; }
.celula-bingo.marcada { background: var(--green); border-color: var(--green); color: #fff; box-shadow: 0 8px 18px rgba(28,173,120,.18); }
.celula-bingo.clicavel { cursor: pointer; }
.celula-bingo.clicavel:hover { border-color: var(--primary); transform: translateY(-1px); }
.celula-bingo.livre { border-color: var(--yellow); color: #a66f00; background: var(--yellow-soft); }
.celula-bingo.livre.marcada { background: var(--yellow); color: #5d4300; }

/* ---------- stop ---------- */
.grade-checkbox-stop { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 8px; margin-top: 8px; }
.opcao-checkbox-stop { display: flex; align-items: center; gap: 7px; font-size: 12px; color: var(--text-secondary); cursor: pointer; background: var(--surface-2); border: 1px solid var(--border); padding: 8px 9px; border-radius: 10px; }
.opcao-checkbox-stop input { accent-color: var(--primary); cursor: pointer; }
.corpo-stop { display: flex; gap: 26px; align-items: flex-start; flex-wrap: wrap; padding: 8px 0; }
.painel-letra-stop { display: flex; flex-direction: column; align-items: center; gap: 8px; min-width: 150px; background: var(--yellow-soft); padding: 18px; border-radius: 22px; }
.letra-stop { font-family: var(--font-mono); font-size: 66px; font-weight: 900; color: #b17a00; line-height: 1; }
.temporizador-stop { font-family: var(--font-mono); font-size: 15px; font-weight: 800; color: var(--text-secondary); }
.temporizador-stop.urgente { color: var(--red); }
.area-respostas-stop { display: flex; flex-direction: column; gap: 14px; flex: 1; min-width: 240px; }
.grade-respostas-stop { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 11px; }
.grade-respostas-stop label { display: flex; flex-direction: column; gap: 5px; font-size: 11px; color: var(--text-secondary); font-weight: 750; }
.campo-resposta-stop { font-size: 14px; }
.resultados-stop { margin-top: 18px; overflow-x: auto; border: 1px solid var(--border); border-radius: 16px; }
.tabela-stop { width: 100%; border-collapse: collapse; font-size: 12px; }
.tabela-stop th, .tabela-stop td { padding: 10px 11px; text-align: left; border-bottom: 1px solid var(--border); white-space: nowrap; }
.tabela-stop th { background: var(--surface-2); color: var(--text-secondary); font-weight: 800; }
.tabela-stop .resposta-invalida { color: var(--text-soft); text-decoration: line-through; }
.tabela-stop .celula-editavel { cursor: pointer; }
.tabela-stop .celula-editavel:hover { background: var(--primary-soft); }
.tabela-stop .pontos-linha { color: #a66f00; font-weight: 850; }

/* ---------- treino ---------- */
.treino-grid { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 18px; align-items: start; }
.treino-info { background: linear-gradient(145deg, #1f2a47, #28375e); color: #fff; }
.treino-info h2 { color: rgba(255,255,255,.55); }
.treino-info p { color: rgba(255,255,255,.76); font-size: 13px; line-height: 1.65; margin-bottom: 0; }

/* ---------- utilidades ---------- */
.controles-jogo { display: flex; align-items: center; gap: 10px; }
.success-note { padding: 12px 14px; background: var(--green-soft); color: #147650; border-radius: 13px; font-size: 12px; font-weight: 700; }

@media (max-width: 1100px) {
  .layout-professor { grid-template-columns: 240px minmax(0,1fr); }
  .coluna-ranking { grid-column: 2; }
  body.modo-aluno .layout-professor { grid-template-columns: 1fr; }
  body.modo-aluno .coluna-ranking { grid-column: auto; }
  .hero-home { grid-template-columns: 1fr; }
  .hero-visual { min-height: 280px; }
}
@media (max-width: 820px) {
  .topo { position: static; }
  .topo-acoes .topo-link { display: none; }
  .opcoes-entrada, .grade-jogos { grid-template-columns: 1fr; }
  .cartao-opcao { min-height: 150px; }
  .form-shell { grid-template-columns: 1fr; }
  .form-intro { min-height: auto; }
  .layout-professor, body.modo-aluno .layout-professor { grid-template-columns: 1fr; }
  .coluna-ranking { grid-column: auto; }
  .aurora-sidebar { position: static; display: grid; grid-template-columns: repeat(2,1fr); }
  .aurora-sidebar .sidebar-title, .sidebar-dica { grid-column: 1 / -1; }
  .treino-grid { grid-template-columns: 1fr; }
  .corpo-jogo { align-items: flex-start; }
}
@media (max-width: 580px) {
  main { padding: 20px 14px 30px; }
  .topo { padding: 12px 14px; min-height: 66px; }
  .marca { font-size: 17px; }
  .marca::before { width: 34px; height: 34px; }
  .marca-sub { display: none; }
  .hero-home { padding-top: 14px; }
  .hero-visual { min-height: 240px; padding: 20px; }
  .hero-mini-top { flex-direction: column; }
  .hero-code { font-size: 19px; }
  .form-card, .form-intro, .painel { border-radius: 20px; padding: 18px; }
  .aurora-sidebar { grid-template-columns: 1fr 1fr; padding: 12px; border-radius: 18px; }
  .aurora-sidebar a { padding: 9px; font-size: 12px; }
  .codigo-sala { font-size: 35px; }
  .corpo-jogo, .corpo-bingo, .corpo-stop { flex-direction: column; align-items: stretch; }
  .desenho-forca { width: 110px; align-self: center; }
  .mascara-palavra { text-align: center; font-size: 27px; }
  .painel-numero-atual, .painel-letra-stop { min-width: 0; }
  .seletor-modo { width: 100%; }
  .linha-controles { align-items: stretch; }
  .linha-controles .botao { flex: 1; }
}

/* ================================================================
   OPERAÇÃO AURORA v0.3.0 — Dashboard, menus e seleção visual de jogos
   ================================================================ */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.aurora-room-banner {
  grid-column: 1 / -1;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 22px;
  padding: 20px 22px;
  border-radius: 24px;
  color: #fff;
  background:
    radial-gradient(circle at 90% -30%, rgba(255,255,255,.18), transparent 17rem),
    linear-gradient(135deg, #263253 0%, #3f4f9c 52%, #6557b7 100%);
  box-shadow: 0 22px 52px rgba(37,54,111,.18);
  overflow: hidden;
}
.room-banner-copy { min-width: 0; }
.room-kicker { display: block; margin-bottom: 7px; text-transform: uppercase; letter-spacing: .11em; font-size: 10px; font-weight: 850; color: rgba(255,255,255,.62); }
.room-title-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.room-title-row > strong { font-family: var(--font-mono); font-size: 28px; line-height: 1; letter-spacing: .12em; }
.room-live { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 999px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.15); font-size: 11px; font-weight: 800; }
.room-live i { width: 7px; height: 7px; border-radius: 50%; background: #51e6a8; box-shadow: 0 0 0 4px rgba(81,230,168,.13); }
.room-banner-copy p { margin: 8px 0 0; color: rgba(255,255,255,.72); font-size: 12px; line-height: 1.55; }
.room-metrics { display: grid; grid-template-columns: repeat(3, minmax(115px,1fr)); gap: 9px; min-width: min(430px, 44%); }
.room-metric { display: flex; flex-direction: column; justify-content: center; gap: 5px; min-height: 72px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; background: rgba(255,255,255,.09); }
.room-metric span { color: rgba(255,255,255,.58); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.room-metric strong { color: #fff; font-size: 15px; letter-spacing: -.02em; }
body.modo-aluno .professor-only { display: none !important; }
body.modo-aluno .room-metrics { grid-template-columns: repeat(2,minmax(110px,1fr)); min-width: min(300px,42%); }

.aurora-sidebar { padding: 14px; }
.sidebar-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 8px 14px; border-bottom: 1px solid rgba(255,255,255,.08); margin-bottom: 10px; }
.sidebar-head > div { min-width: 0; }
.aurora-sidebar .sidebar-title { display: block; padding: 0; margin: 0 0 4px; font-size: 9px; }
.sidebar-head strong { font-size: 15px; letter-spacing: -.015em; }
.sidebar-role { display: grid; place-items: center; min-width: 42px; height: 30px; border-radius: 10px; color: #d9ddff; background: rgba(83,104,232,.27); border: 1px solid rgba(151,165,255,.22); font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.sidebar-nav-group { display: grid; gap: 3px; }
.aurora-sidebar .sidebar-nav-group a { display: grid; grid-template-columns: 26px 1fr; align-items: center; gap: 8px; margin: 0; padding: 10px; border: 1px solid transparent; }
.aurora-sidebar .sidebar-nav-group a > span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 8px; background: rgba(255,255,255,.06); font-size: 12px; }
.aurora-sidebar .sidebar-nav-group a b { font-size: 12px; }
.aurora-sidebar .sidebar-nav-group a.ativo { background: linear-gradient(135deg, rgba(83,104,232,.34), rgba(134,88,232,.25)); border-color: rgba(177,187,255,.13); }
.sidebar-telao { margin-top: 10px !important; display: grid !important; grid-template-columns: 26px 1fr auto !important; background: rgba(28,173,120,.11) !important; color: #d6ffeb !important; border: 1px solid rgba(89,222,164,.15) !important; }
.sidebar-telao small { opacity: .58; }
.sidebar-dica { display: flex; flex-direction: column; gap: 5px; margin-top: 12px; padding: 12px; }
.sidebar-dica b { font-size: 10px; color: #fff; }
.sidebar-dica span { font-size: 10px; line-height: 1.5; }

.seletor-jogos-wrap { margin-bottom: 16px; }
.config-label { display: block; margin-bottom: 9px; color: var(--text-secondary); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .065em; }
.seletor-jogos-cards { display: grid; gap: 8px; }
.jogo-choice { appearance: none; border: 1px solid var(--border); border-radius: 15px; background: var(--surface-2); color: var(--text-primary); padding: 10px; cursor: pointer; display: grid; grid-template-columns: 40px minmax(0,1fr) 22px; gap: 9px; align-items: center; text-align: left; transition: .16s ease; }
.jogo-choice:hover { transform: translateY(-1px); border-color: var(--border-strong); background: #fff; }
.jogo-choice.ativo { border-color: rgba(83,104,232,.42); background: var(--primary-soft); box-shadow: inset 0 0 0 1px rgba(83,104,232,.08); }
.jogo-choice-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; font-size: 18px; }
.jogo-choice-icon.azul { background: #dfe5ff; }
.jogo-choice-icon.roxo { background: var(--purple-soft); }
.jogo-choice-icon.amarelo { background: var(--yellow-soft); }
.jogo-choice > span:nth-child(2) { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.jogo-choice strong { font-size: 12px; }
.jogo-choice small { overflow: hidden; text-overflow: ellipsis; color: var(--text-secondary); font-size: 9px; white-space: nowrap; }
.jogo-choice i { opacity: 0; width: 20px; height: 20px; display: grid; place-items: center; background: var(--primary); color: #fff; border-radius: 50%; font-size: 10px; font-style: normal; }
.jogo-choice.ativo i { opacity: 1; }
.config-section-title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; border-top: 1px solid var(--border); padding-top: 14px; margin-top: 4px; }
.config-section-title span { font-size: 11px; font-weight: 850; color: var(--text-primary); }
.config-section-title small { color: var(--text-soft); font-size: 9px; text-align: right; }
.professor-actions { margin-top: 14px; padding: 12px; display: grid; gap: 10px; background: linear-gradient(135deg, #f7f9ff, #f2f5ff); border: 1px solid var(--border); border-radius: 15px; }
.professor-actions > div:first-child { display: flex; flex-direction: column; gap: 3px; }
.professor-actions > div:first-child strong { font-size: 11px; }
.professor-actions > div:first-child span { color: var(--text-secondary); font-size: 9px; line-height: 1.45; }
.professor-actions .botao { flex: 1; }

.atividade-kicker { display:block; color:var(--text-secondary); font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.09em; margin-bottom:5px; }
.atividade-title-row { display:flex; align-items:center; gap:8px; }
.atividade-icon { width: 34px; height: 34px; display:grid; place-items:center; border-radius:11px; background:var(--primary-soft); font-size:16px; }
.jogo-cabecalho { border-radius: 16px; padding: 10px 12px 14px; background: linear-gradient(180deg, #fbfcff, #fff); }
.ranking-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px; }
.ranking-head h2 { margin: 3px 0 0; color: var(--text-primary); font-size: 14px; text-transform:none; letter-spacing:-.015em; }
.ranking-kicker { display:block; color:var(--text-soft); font-size:9px; text-transform:uppercase; letter-spacing:.08em; font-weight:850; }
.lista-participantes { counter-reset: ranking; }
.lista-participantes li:not(.vazio) { counter-increment: ranking; position: relative; padding-left: 34px; }
.lista-participantes li:not(.vazio)::before { content: counter(ranking); position:absolute; left:0; top:50%; transform:translateY(-50%); width:24px; height:24px; display:grid; place-items:center; border-radius:8px; background:var(--surface-3); color:var(--text-secondary); font-size:10px; font-weight:900; }
.lista-participantes li:nth-child(1)::before { background: var(--yellow-soft); color:#a66f00; }
.lista-participantes li:nth-child(2)::before { background:#eef1f6; color:#6d7688; }
.lista-participantes li:nth-child(3)::before { background:#fff1e8; color:#b56a31; }

@media (max-width: 1100px) {
  .aurora-room-banner { grid-column: 1 / -1; }
  .room-metrics { min-width: 390px; }
}
@media (max-width: 820px) {
  .aurora-room-banner { flex-direction: column; }
  .room-metrics, body.modo-aluno .room-metrics { min-width: 0; width: 100%; grid-template-columns: repeat(3,1fr); }
  body.modo-aluno .room-metrics { grid-template-columns: repeat(2,1fr); }
  .aurora-sidebar { display: block; }
  .sidebar-head { padding-bottom: 10px; }
  .sidebar-nav-group { grid-template-columns: repeat(2,1fr); }
  .sidebar-dica { display: none; }
  .sidebar-telao { margin-top: 8px !important; }
}
@media (max-width: 580px) {
  .aurora-room-banner { padding: 17px; border-radius: 20px; }
  .room-title-row > strong { font-size: 23px; }
  .room-banner-copy p { font-size: 11px; }
  .room-metrics, body.modo-aluno .room-metrics { grid-template-columns: 1fr 1fr; }
  .room-metric.professor-only { grid-column: 1 / -1; }
  .sidebar-nav-group { grid-template-columns: 1fr 1fr; }
  .aurora-sidebar .sidebar-nav-group a { grid-template-columns: 24px 1fr; padding: 9px; }
  .jogo-choice { grid-template-columns: 38px minmax(0,1fr) 20px; }
  .config-section-title { align-items:flex-start; flex-direction:column; gap:2px; }
  .config-section-title small { text-align:left; }
}

/* ================================================================
   OPERAÇÃO AURORA v0.4.0 — Dominó Clássico
   ================================================================ */
.jogo-choice-icon.verde { background: var(--green-soft); }
.domino-config-note { margin-top: 12px; padding: 12px 13px; display: flex; align-items: center; gap: 11px; border-radius: 15px; border: 1px solid #cfeadd; background: linear-gradient(135deg, #f2fbf7, #f7fcfa); }
.domino-config-note[hidden] { display: none !important; }
.domino-config-icon { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 12px; background: var(--green-soft); font-size: 22px; }
.domino-config-note > div:last-child { display: flex; flex-direction: column; gap: 3px; }
.domino-config-note strong { font-size: 12px; }
.domino-config-note span { color: var(--text-secondary); font-size: 10px; line-height: 1.45; }

.domino-statusbar { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 9px; margin: 8px 0 14px; }
.domino-statusbar > div { padding: 11px 12px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface-2); display: flex; flex-direction: column; gap: 3px; }
.domino-mini-label { color: var(--text-soft); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; font-weight: 850; }
.domino-statusbar strong { font-size: 12px; color: var(--text-primary); }
.domino-mesa-wrap { position: relative; min-height: 152px; padding: 20px 14px; overflow-x: auto; overflow-y: hidden; border-radius: 20px; border: 1px solid #cfeadd; background: radial-gradient(circle at 50% 0%, rgba(255,255,255,.13), transparent 45%), linear-gradient(145deg, #177c59, #0f6547); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); }
.domino-mesa { min-width: max-content; min-height: 110px; display: flex; align-items: center; justify-content: center; gap: 7px; }
.domino-vazio { width: 100%; padding: 20px; color: var(--text-soft); font-size: 11px; text-align: center; }
.domino-mesa .domino-vazio { color: rgba(255,255,255,.72); min-width: 360px; }
.domino-evento { min-height: 20px; margin: 8px 0 10px; color: var(--text-secondary); font-size: 11px; text-align: center; }

.domino-peca { width: 48px; height: 92px; flex: 0 0 auto; display: grid; grid-template-rows: 1fr 2px 1fr; align-items: stretch; border-radius: 9px; border: 1px solid #d8dbe3; background: linear-gradient(145deg, #fff, #f4f5f8); box-shadow: 0 7px 16px rgba(24,31,52,.16); overflow: hidden; }
.domino-peca.na-mesa { width: 82px; height: 42px; grid-template-columns: 1fr 2px 1fr; grid-template-rows: 1fr; box-shadow: 0 8px 16px rgba(3,37,25,.24); }
.domino-peca.dupla { outline: 2px solid rgba(255,205,64,.35); outline-offset: 2px; }
.domino-divisoria { display: block; background: #c8ccd5; }
.domino-metade { position: relative; display: grid; grid-template-columns: repeat(3,1fr); grid-template-rows: repeat(3,1fr); padding: 5px; }
.domino-pip { display: block; align-self: center; justify-self: center; width: 0; height: 0; border-radius: 50%; background: #202637; opacity: 0; }
.domino-pip.ativo { width: 5px; height: 5px; opacity: 1; }

.domino-jogadores { display: grid; grid-template-columns: repeat(auto-fit,minmax(135px,1fr)); gap: 8px; margin: 10px 0 16px; }
.domino-jogador { display: flex; flex-direction: column; gap: 3px; padding: 10px 11px; border-radius: 13px; border: 1px solid var(--border); background: var(--surface-2); }
.domino-jogador span { font-size: 11px; font-weight: 800; }
.domino-jogador strong { color: var(--text-secondary); font-size: 9px; font-weight: 700; }
.domino-jogador.ativo { border-color: rgba(83,104,232,.42); background: var(--primary-soft); box-shadow: inset 0 0 0 1px rgba(83,104,232,.07); }
.domino-jogador.vencedor { border-color: #efd785; background: var(--yellow-soft); }

.domino-minha-area { margin-top: 10px; padding-top: 14px; border-top: 1px solid var(--border); }
.domino-mao-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.domino-mao-head > div:first-child { display: flex; flex-direction: column; gap: 3px; }
.domino-mao-head strong { font-size: 12px; }
.domino-mao { display: flex; gap: 10px; align-items: flex-start; overflow-x: auto; padding: 7px 4px 12px; }
.domino-mao-item { min-width: 74px; display: flex; flex-direction: column; align-items: center; gap: 7px; padding: 7px 5px; border-radius: 13px; border: 1px solid transparent; opacity: .6; transition: .15s ease; }
.domino-mao-item.jogavel { opacity: 1; border-color: #d7defc; background: #f7f9ff; }
.domino-mao-item.jogavel:hover { transform: translateY(-1px); }
.domino-lados { min-height: 24px; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; }
.domino-lados button { appearance: none; border: 0; border-radius: 999px; padding: 5px 7px; background: var(--primary); color: #fff; font: inherit; font-size: 8px; font-weight: 850; cursor: pointer; }
.domino-lados button:hover { filter: brightness(.96); }
.domino-lados button:disabled { opacity: .45; cursor: wait; }
.domino-lados.indisponivel { align-items: center; color: var(--text-soft); font-size: 8px; }
.domino-resultado { margin-top: 14px; padding: 15px; border-radius: 16px; background: linear-gradient(135deg, var(--yellow-soft), #fffaf0); border: 1px solid #efd98d; text-align: center; }
.domino-resultado strong, .domino-resultado span { display: block; }
.domino-resultado strong { margin-bottom: 4px; font-size: 15px; color: #865f00; }
.domino-resultado span { color: var(--text-secondary); font-size: 11px; }

@media (max-width: 700px) {
  .domino-statusbar { grid-template-columns: 1fr 1fr; }
  .domino-statusbar > div:first-child { grid-column: 1 / -1; }
  .domino-mao-head { align-items: flex-start; flex-direction: column; }
  .domino-mao-head .linha-controles { width: 100%; }
  .domino-mao-head .botao { flex: 1; }
  .domino-peca { width: 44px; height: 84px; }
}


/* ================================================================
   OPERAÇÃO AURORA v0.4.1 — Modo Foco de Partida
   ================================================================ */
.jogo-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.botao-foco {
  appearance: none; border: 1px solid var(--border); background: var(--surface-2); color: var(--text-secondary);
  min-height: 36px; padding: 8px 11px; border-radius: 11px; cursor: pointer; font: inherit; font-size: 11px; font-weight: 850;
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; transition: .15s ease;
}
.botao-foco:hover { border-color: var(--border-strong); background: var(--surface-3); color: var(--primary); }
.botao-foco.ativo { color: #fff; border-color: var(--primary); background: var(--primary); box-shadow: 0 8px 18px rgba(83,104,232,.2); }

body.modo-foco { height: 100vh; min-height: 0; overflow: hidden; background: #eef3ff; }
body.modo-foco .topo,
body.modo-foco .aurora-room-banner,
body.modo-foco .coluna-config,
body.modo-foco .coluna-ranking:not(.ui-drawer) { display: none !important; }
body.modo-foco .sala-main { flex: none; width: 100%; height: 100vh; max-width: none; margin: 0; padding: 10px; }
body.modo-foco #telaSala.layout-professor,
body.modo-foco.modo-aluno #telaSala.layout-professor { display: block; height: 100%; min-height: 0; }
body.modo-foco .coluna-jogo { height: 100%; min-height: 0; gap: 0; }
body.modo-foco .painel-jogo { height: 100%; min-height: 0; padding: 12px 16px 14px; border-radius: 18px; gap: 10px; overflow: auto; box-shadow: 0 12px 34px rgba(37,54,111,.10); }
body.modo-foco .jogo-cabecalho { flex: 0 0 auto; padding: 0 0 9px; }
body.modo-foco .atividade-kicker { margin-bottom: 2px; }
body.modo-foco .atividade-icon { width: 30px; height: 30px; border-radius: 9px; }
body.modo-foco .jogo-cabecalho h2 { font-size: 15px; }
body.modo-foco .bloco-sugerir { display: none !important; }

/* Dominó: a partida inteira cabe em uma tela desktop comum. */
body.modo-foco[data-jogo-atual="domino"] .painel-jogo { overflow: hidden; }
body.modo-foco[data-jogo-atual="domino"] #blocoJogoDomino {
  flex: 1; min-height: 0; display: grid !important;
  grid-template-rows: auto minmax(130px, 1fr) auto auto auto auto;
  gap: 6px; overflow: hidden;
}
body.modo-foco[data-jogo-atual="domino"] .domino-statusbar { margin: 0; gap: 7px; }
body.modo-foco[data-jogo-atual="domino"] .domino-statusbar > div { padding: 8px 10px; border-radius: 11px; }
body.modo-foco[data-jogo-atual="domino"] .domino-mesa-wrap { min-height: 0; height: 100%; padding: 10px 12px; border-radius: 16px; }
body.modo-foco[data-jogo-atual="domino"] .domino-mesa { min-height: 0; height: 100%; gap: 6px; }
body.modo-foco[data-jogo-atual="domino"] .domino-evento { min-height: 17px; margin: 0; font-size: 10px; line-height: 1.3; }
body.modo-foco[data-jogo-atual="domino"] .domino-jogadores {
  display: flex; flex-wrap: nowrap; align-items: stretch; gap: 7px; margin: 0; overflow-x: auto; padding-bottom: 2px;
}
body.modo-foco[data-jogo-atual="domino"] .domino-jogador { min-width: 130px; padding: 7px 9px; border-radius: 11px; }
body.modo-foco[data-jogo-atual="domino"] .domino-minha-area {
  min-height: 0; margin: 0; padding-top: 7px; display: flex; flex-direction: column; border-top-color: var(--border);
}
body.modo-foco[data-jogo-atual="domino"] .domino-mao-head { flex: 0 0 auto; margin-bottom: 5px; }
body.modo-foco[data-jogo-atual="domino"] .domino-mao { min-height: 0; flex: 1; gap: 8px; padding: 3px 4px 5px; }
body.modo-foco[data-jogo-atual="domino"] .domino-mao-item { min-width: 68px; gap: 4px; padding: 4px; }
body.modo-foco[data-jogo-atual="domino"] .domino-peca { width: 42px; height: 78px; }
body.modo-foco[data-jogo-atual="domino"] .domino-peca.na-mesa { width: 76px; height: 38px; }
body.modo-foco[data-jogo-atual="domino"] .domino-lados { min-height: 20px; }
body.modo-foco[data-jogo-atual="domino"] .domino-lados button { padding: 4px 6px; font-size: 7px; }
body.modo-foco[data-jogo-atual="domino"] .feedback-tentativa { min-height: 0; margin: 2px 0 0; }
body.modo-foco[data-jogo-atual="domino"] .domino-resultado { margin-top: 2px; padding: 9px; }

/* Os demais jogos também usam o espaço da tela em vez do dashboard. */
body.modo-foco[data-jogo-atual="forca"] #blocoJogoForca,
body.modo-foco[data-jogo-atual="bingo"] #blocoJogoBingo,
body.modo-foco[data-jogo-atual="stop"] #blocoJogoStop { flex: 1; min-height: 0; }
body.modo-foco[data-jogo-atual="forca"] .corpo-jogo,
body.modo-foco[data-jogo-atual="bingo"] .corpo-bingo,
body.modo-foco[data-jogo-atual="stop"] .corpo-stop { min-height: 0; height: 100%; }

@media (max-width: 700px) {
  .botao-foco span { display: none; }
  .botao-foco { width: 38px; padding: 8px; }
  body.modo-foco .sala-main { padding: 6px; }
  body.modo-foco .painel-jogo { padding: 10px; border-radius: 14px; }
  body.modo-foco[data-jogo-atual="domino"] #blocoJogoDomino { grid-template-rows: auto minmax(120px,1fr) auto auto auto auto; }
}

/* Em notebooks de baixa altura, preserva o foco sem devolver a rolagem à página. */
@media (max-height: 650px) and (min-width: 701px) {
  body.modo-foco[data-jogo-atual="domino"] .painel-jogo { overflow-y: auto; }
  body.modo-foco[data-jogo-atual="domino"] #blocoJogoDomino { min-height: 540px; overflow: visible; }
}

/* Operação Aurora v0.4.2 — Bingo com sorteio no topo */
@media (max-width: 760px) {
  .bingo-sorteio-topo { grid-template-columns:1fr; text-align:center; gap:10px; }
  .bingo-sorteio-titulo { align-items:center; }
  .bingo-sortear-topo { justify-self:stretch; }
  .historico-numeros, .bingo-sorteio-topo .resultado-rodada { grid-column:auto; }
}
body.modo-foco[data-jogo-atual="bingo"] #blocoJogoBingo { display:flex; flex-direction:column; min-height:0; }
body.modo-foco[data-jogo-atual="bingo"] .corpo-bingo { flex:1; min-height:0; display:grid; grid-template-rows:auto minmax(0,1fr); gap:10px; }
body.modo-foco[data-jogo-atual="bingo"] .bingo-sorteio-topo { padding:10px 14px; border-radius:16px; }
body.modo-foco[data-jogo-atual="bingo"] .numero-atual { font-size:clamp(36px,5.5vw,64px); }
body.modo-foco[data-jogo-atual="bingo"] .area-cartela { min-height:0; justify-content:center; overflow:auto; }
body.modo-foco[data-jogo-atual="bingo"] .cartela-bingo { max-height:100%; max-width:min(58vh,430px); }


/* Operação Aurora v0.4.3 — Bingo Pronto + Sílabas e Palavras */
.bingo-prontos-status { grid-column:1 / -1; justify-self:center; padding:7px 12px; border-radius:999px; background:var(--surface-soft,#f4f7fb); color:var(--text-secondary); font-size:12px; font-weight:800; }
.bingo-acoes-jogador { display:flex; gap:9px; flex-wrap:wrap; justify-content:center; margin-top:12px; }
.botao-pronto { background:#178a56; }
.botao-sortear-jogador { background:#6b4ce6; }
.botao-pronto:disabled { opacity:.62; cursor:default; }
body.modo-foco[data-jogo-atual="bingo"] .bingo-prontos-status { padding:5px 10px; }
@media (max-width:700px){ .bingo-acoes-jogador .botao { flex:1 1 140px; } }

/* Operação Aurora v0.4.4 — Bingo em foco de tela única
   Objetivo: sorteio compacto no topo, cartela inteira no centro e ações no rodapé,
   sem rolagem vertical da página em desktops/notebooks. */
body.modo-foco[data-jogo-atual="bingo"] .painel-jogo {
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
body.modo-foco[data-jogo-atual="bingo"] #blocoJogoBingo {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  display: flex !important;
  flex-direction: column;
}
body.modo-foco[data-jogo-atual="bingo"] .corpo-bingo {
  flex: 1;
  min-height: 0;
  height: auto;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 8px;
  padding: 0;
}
body.modo-foco[data-jogo-atual="bingo"] .bingo-sorteio-topo {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: minmax(190px, .9fr) minmax(150px, .55fr) auto;
  grid-template-areas:
    "titulo atual sortear"
    "status status status"
    "resultado resultado resultado";
  align-items: center;
  gap: 4px 14px;
  min-height: 82px;
  padding: 8px 12px;
  border-radius: 14px;
  box-shadow: none;
}
body.modo-foco[data-jogo-atual="bingo"] .bingo-sorteio-titulo {
  grid-area: titulo;
  gap: 2px;
}
body.modo-foco[data-jogo-atual="bingo"] .bingo-sorteio-titulo small {
  font-size: 10px;
  line-height: 1.25;
  max-width: 520px;
}
body.modo-foco[data-jogo-atual="bingo"] .rotulo-numero-atual {
  font-size: 9px;
}
body.modo-foco[data-jogo-atual="bingo"] .numero-atual {
  grid-area: atual;
  font-size: clamp(32px, 4.4vw, 54px);
  line-height: .95;
  padding: 0 8px;
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
body.modo-foco[data-jogo-atual="bingo"] .bingo-sortear-topo {
  grid-area: sortear;
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 11px;
  font-size: 11px;
}
body.modo-foco[data-jogo-atual="bingo"] .bingo-prontos-status {
  grid-area: status;
  justify-self: center;
  padding: 3px 9px;
  font-size: 10px;
  line-height: 1.2;
}
body.modo-foco[data-jogo-atual="bingo"] .historico-numeros {
  display: none;
}
body.modo-foco[data-jogo-atual="bingo"] .bingo-sorteio-topo .resultado-rodada {
  grid-area: resultado;
  min-height: 0;
  font-size: 10px;
  line-height: 1.2;
  padding: 0;
}
body.modo-foco[data-jogo-atual="bingo"] .bingo-sorteio-topo .resultado-rodada:empty {
  display: none;
}
body.modo-foco[data-jogo-atual="bingo"] .area-cartela {
  width: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto auto;
  align-items: center;
  justify-items: center;
  gap: 6px;
  padding: 2px 8px 0;
}
body.modo-foco[data-jogo-atual="bingo"] .cartela-bingo {
  align-self: center;
  justify-self: center;
  width: min(52vh, 430px, 46vw);
  max-width: 100%;
  max-height: none;
  gap: 6px;
}
body.modo-foco[data-jogo-atual="bingo"] .celula-bingo {
  min-width: 0;
  min-height: 0;
  border-radius: 10px;
  font-size: clamp(10px, 1.05vw, 14px);
  line-height: 1.1;
  padding: 5px;
  overflow-wrap: anywhere;
  word-break: normal;
}
body.modo-foco[data-jogo-atual="bingo"] .bingo-acoes-jogador {
  align-self: stretch;
  width: min(560px, 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 8px;
  margin: 0;
  padding: 0;
}
body.modo-foco[data-jogo-atual="bingo"] .bingo-acoes-jogador .botao {
  min-height: 40px;
  padding: 8px 16px;
  border-radius: 12px;
  font-size: 11px;
  flex: 1 1 0;
  max-width: 210px;
  white-space: nowrap;
}
body.modo-foco[data-jogo-atual="bingo"] #feedbackBingo {
  min-height: 16px;
  margin: 0;
  font-size: 10px;
  line-height: 1.2;
  text-align: center;
}

/* Em telas baixas, reduz a cartela em vez de devolver a rolagem à página. */
@media (max-height: 720px) and (min-width: 761px) {
  body.modo-foco[data-jogo-atual="bingo"] .painel-jogo { padding-top: 8px; padding-bottom: 8px; gap: 6px; }
  body.modo-foco[data-jogo-atual="bingo"] .jogo-cabecalho { padding-bottom: 6px; }
  body.modo-foco[data-jogo-atual="bingo"] .bingo-sorteio-topo { min-height: 68px; padding: 6px 10px; }
  body.modo-foco[data-jogo-atual="bingo"] .bingo-sorteio-titulo small { display: none; }
  body.modo-foco[data-jogo-atual="bingo"] .numero-atual { font-size: clamp(28px, 4vw, 44px); min-height: 34px; }
  body.modo-foco[data-jogo-atual="bingo"] .cartela-bingo { width: min(47vh, 360px, 42vw); gap: 5px; }
  body.modo-foco[data-jogo-atual="bingo"] .bingo-acoes-jogador .botao { min-height: 36px; padding: 7px 12px; }
}

/* No celular, o foco continua compacto, mas permite rolagem interna somente se inevitável. */
@media (max-width: 760px) {
  body.modo-foco[data-jogo-atual="bingo"] .painel-jogo { overflow: hidden; }
  body.modo-foco[data-jogo-atual="bingo"] .bingo-sorteio-topo {
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "titulo atual"
      "status status"
      "sortear sortear"
      "resultado resultado";
    text-align: left;
    gap: 5px 8px;
    padding: 8px 10px;
  }
  body.modo-foco[data-jogo-atual="bingo"] .bingo-sorteio-titulo { align-items: flex-start; }
  body.modo-foco[data-jogo-atual="bingo"] .bingo-sortear-topo { justify-self: stretch; }
  body.modo-foco[data-jogo-atual="bingo"] .numero-atual { justify-content: flex-end; font-size: clamp(28px, 10vw, 42px); }
  body.modo-foco[data-jogo-atual="bingo"] .cartela-bingo { width: min(84vw, 47vh, 390px); gap: 5px; }
  body.modo-foco[data-jogo-atual="bingo"] .celula-bingo { font-size: clamp(9px, 2.7vw, 12px); padding: 3px; }
  body.modo-foco[data-jogo-atual="bingo"] .bingo-acoes-jogador { gap: 6px; }
  body.modo-foco[data-jogo-atual="bingo"] .bingo-acoes-jogador .botao { min-width: 0; padding: 7px 8px; font-size: 10px; }
}

/* ================================================================
   OPERAÇÃO AURORA v0.5.0 — Dominó de Operações
   ================================================================ */
.domino-config-box { margin-top: 12px; display: flex; flex-direction: column; gap: 10px; }
.domino-config-box[hidden] { display: none !important; }
.domino-config-box .domino-config-note { margin-top: 0; }
.domino-config-controles { width: 100%; }
.domino-config-controles .seletor-modo { flex: 1 1 220px; }
.domino-config-ajuda { margin: 0; padding: 10px 12px; border-radius: 12px; background: #fff8dd; border: 1px solid #f1df9d; color: #6d5715; font-size: 10px; line-height: 1.45; }
.domino-config-ajuda[hidden] { display: none !important; }

.domino-peca.educacional { width: 64px; height: 94px; }
.domino-peca.educacional.na-mesa { width: 118px; height: 46px; }
.domino-metade-texto { display: flex; align-items: center; justify-content: center; padding: 5px 4px; text-align: center; font-weight: 900; font-size: 10px; line-height: 1.05; color: #202637; letter-spacing: -.025em; white-space: nowrap; }
.domino-metade-texto.operacao { color: #243aa4; background: linear-gradient(145deg, #f8f9ff, #edf1ff); }
.domino-metade-texto.numero { color: #126044; font-size: 13px; background: linear-gradient(145deg, #fbfffd, #edf9f3); }
.domino-peca.educacional.na-mesa .domino-metade-texto { font-size: 9px; padding: 3px 4px; }
.domino-peca.educacional.na-mesa .domino-metade-texto.numero { font-size: 12px; }
.domino-mao-item:has(.domino-peca.educacional) { min-width: 88px; }

@media (max-width: 760px) {
  .domino-config-controles { flex-direction: column; align-items: stretch; }
  .domino-config-controles .seletor-modo { width: 100%; flex-basis: auto; }
  .domino-peca.educacional { width: 60px; height: 88px; }
  .domino-peca.educacional.na-mesa { width: 106px; height: 43px; }
}

body.modo-foco[data-jogo-atual="domino"] .domino-peca.educacional { width: 58px; height: 78px; }
body.modo-foco[data-jogo-atual="domino"] .domino-peca.educacional.na-mesa { width: 108px; height: 40px; }
body.modo-foco[data-jogo-atual="domino"] .domino-peca.educacional .domino-metade-texto { font-size: 8px; }
body.modo-foco[data-jogo-atual="domino"] .domino-peca.educacional .domino-metade-texto.numero { font-size: 11px; }

/* ======================================================================
   Sala Viva v0.6.0 — Auditoria geral de UX + tema claro/escuro
   Filosofia: jogo no centro; controles administrativos sob demanda.
   ====================================================================== */

:root[data-theme="dark"] {
  --bg: #0d1320;
  --bg-soft: #111a2a;
  --surface: #151e2e;
  --surface-2: #192436;
  --surface-3: #202d42;
  --border: #2b3950;
  --border-strong: #3a4b67;
  --text-primary: #eef3ff;
  --text-secondary: #a8b4c9;
  --text-soft: #7d8ba3;
  --primary: #7c8cff;
  --primary-dark: #6879f2;
  --primary-soft: #222d59;
  --purple: #a982ff;
  --purple-soft: #2c2450;
  --green: #3bc993;
  --green-soft: #173a31;
  --yellow: #ffc84f;
  --yellow-soft: #493b17;
  --red: #ff7180;
  --red-soft: #48242b;
  --shadow-sm: 0 8px 24px rgba(0,0,0,.18);
  --shadow: 0 18px 50px rgba(0,0,0,.26);
}

:root[data-theme="dark"] body {
  background:
    radial-gradient(circle at 8% 0%, rgba(124,140,255,.10), transparent 28rem),
    radial-gradient(circle at 92% 8%, rgba(59,201,147,.08), transparent 26rem),
    var(--bg);
}
:root[data-theme="dark"] .topo { background: rgba(13,19,32,.88); border-bottom-color: rgba(58,75,103,.8); }
:root[data-theme="dark"] .painel,
:root[data-theme="dark"] .form-clean-card,
:root[data-theme="dark"] .home-action { background: var(--surface); }
:root[data-theme="dark"] input,
:root[data-theme="dark"] select { background: var(--surface-2); color: var(--text-primary); border-color: var(--border); }
:root[data-theme="dark"] .celula-bingo { background: var(--surface-2); color: var(--text-primary); }
:root[data-theme="dark"] body.modo-foco { background: var(--bg); }

.theme-toggle {
  appearance: none;
  width: 34px;
  height: 34px;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: transparent;
  color: var(--text-secondary);
  display: grid;
  place-items: center;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  transition: background .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
}
.theme-toggle:hover { background: var(--surface-3); color: var(--text-primary); border-color: var(--border-strong); transform: translateY(-1px); }
.theme-toggle:focus-visible { outline: none; box-shadow: var(--focus); }

/* Barra superior mais discreta */
.topo-clean,
.topo { min-height: 62px; padding-top: 9px; padding-bottom: 9px; }
.topo-clean .marca::before,
.topo .marca::before { width: 34px; height: 34px; border-radius: 11px; }

/* ---------- Home minimalista ---------- */
.home-clean main { max-width: 1120px; }
.home-minimal { display:flex; flex-direction:column; justify-content:center; min-height:calc(100vh - 62px); padding-top:32px; padding-bottom:28px; }
.home-welcome { display:grid; grid-template-columns:minmax(0, .95fr) minmax(420px, 1.05fr); gap:clamp(34px,6vw,80px); align-items:center; }
.home-welcome-copy h1 { font-size:clamp(42px,6vw,72px); margin:10px 0 18px; max-width:9ch; }
.home-welcome-copy h1 strong { color:var(--primary); }
.home-welcome-copy p { color:var(--text-secondary); max-width:48ch; font-size:15px; line-height:1.7; }
.home-tag { display:inline-flex; padding:7px 10px; border-radius:999px; background:var(--primary-soft); color:var(--primary); font-size:11px; text-transform:uppercase; letter-spacing:.12em; font-weight:900; }
.home-actions-main { display:flex; flex-direction:column; gap:12px; }
.home-action { display:grid; grid-template-columns:54px minmax(0,1fr) auto; align-items:center; gap:15px; padding:18px; border:1px solid var(--border); border-radius:20px; box-shadow:var(--shadow-sm); text-decoration:none; transition:.18s ease; }
.home-action:hover { transform:translateY(-2px); border-color:var(--border-strong); box-shadow:var(--shadow); }
.home-action-icon { width:54px; height:54px; display:grid; place-items:center; border-radius:16px; font-size:26px; background:var(--surface-3); }
.home-action span:nth-child(2) { min-width:0; }
.home-action small { display:block; color:var(--text-soft); font-size:10px; text-transform:uppercase; letter-spacing:.12em; font-weight:900; margin-bottom:3px; }
.home-action strong { display:block; font-size:18px; letter-spacing:-.02em; }
.home-action em { display:block; margin-top:3px; color:var(--text-secondary); font-size:12px; font-style:normal; line-height:1.4; }
.home-action > b { color:var(--text-soft); font-size:22px; }
.home-action.professor .home-action-icon { background:var(--primary-soft); }
.home-action.aluno .home-action-icon { background:var(--purple-soft); }
.home-action.treino .home-action-icon { background:var(--green-soft); }
.home-action.caderno .home-action-icon { background:var(--yellow-soft, #fff4cf); }
.home-games-line { margin-top:36px; color:var(--text-soft); font-size:12px; text-align:center; font-weight:750; letter-spacing:.02em; }
.home-games-line i { margin:0 9px; font-style:normal; opacity:.6; }

/* ---------- Criar / Entrar simplificados ---------- */
.form-clean-page main { max-width:none; }
.form-clean-main { display:grid; place-items:center; min-height:calc(100vh - 62px); padding:28px; }
.form-clean-card { width:min(520px,100%); background:var(--surface); border:1px solid var(--border); border-radius:26px; padding:clamp(24px,4vw,36px); box-shadow:var(--shadow); }
.form-clean-head { display:grid; grid-template-columns:54px 1fr; gap:16px; align-items:start; margin-bottom:26px; }
.form-clean-head small { color:var(--primary); text-transform:uppercase; letter-spacing:.12em; font-weight:900; font-size:10px; }
.form-clean-head h1 { font-size:30px; margin:3px 0 6px; }
.form-clean-head p { color:var(--text-secondary); font-size:13px; line-height:1.55; margin:0; }
.form-symbol { width:54px; height:54px; display:grid; place-items:center; border-radius:16px; background:var(--primary-soft); color:var(--primary); font-size:25px; font-weight:900; }
.form-symbol.roxo { background:var(--purple-soft); color:var(--purple); }
.clean-toggle { margin-bottom:18px; }
.clean-toggle span { display:flex; flex-direction:column; gap:3px; }
.clean-toggle small { color:var(--text-secondary); font-size:11px; }
.botao-grande { width:100%; min-height:48px; margin-top:6px; }
.codigo-input { text-transform:uppercase; letter-spacing:.22em; font-family:var(--font-mono); font-weight:900; font-size:20px; }

/* ---------- Sala: dashboard enxuto ---------- */
.sala-main { max-width:1320px; padding:18px clamp(14px,2.5vw,28px) 26px; }
#telaSala.layout-professor,
body.modo-aluno #telaSala.layout-professor { grid-template-columns:minmax(0,1fr); gap:14px; }
.aurora-sidebar { display:none !important; }
.coluna-config { height:0; min-height:0; gap:0; overflow:visible; }
.coluna-jogo { gap:0; }
.coluna-ranking { position:fixed !important; }

.aurora-room-banner { grid-column:1; display:flex; align-items:center; gap:16px; padding:12px 14px; border-radius:17px; min-height:72px; background:var(--surface); border:1px solid var(--border); box-shadow:var(--shadow-sm); }
.room-banner-copy { display:flex; align-items:center; gap:12px; min-width:0; }
.room-banner-copy p { display:none; }
.room-kicker { display:none; }
.room-title-row { gap:8px; }
.room-title-row strong { font-size:18px; letter-spacing:.13em; }
.room-live { font-size:10px; padding:5px 8px; }
.room-metrics { margin-left:auto; display:flex; gap:7px; }
.room-metric { min-width:92px; padding:8px 10px; border-radius:11px; }
.room-metric span { font-size:8px; }
.room-metric strong { font-size:12px; white-space:nowrap; }
.room-quick-actions { display:flex; align-items:center; gap:7px; margin-left:2px; flex-wrap:wrap; }
.quick-action { appearance:none; border:1px solid var(--border); background:var(--surface-2); color:var(--text-secondary); min-height:36px; padding:7px 10px; border-radius:11px; font:inherit; font-size:11px; font-weight:850; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; gap:6px; }
.quick-action:hover { color:var(--text-primary); border-color:var(--border-strong); background:var(--surface-3); }
.quick-action.primary { color:#fff; background:var(--primary); border-color:var(--primary); }

.painel-jogo { min-height:calc(100vh - 170px); border-radius:20px; padding:16px; box-shadow:var(--shadow-sm); }
.jogo-cabecalho { padding-bottom:12px; margin-bottom:10px; }
.jogo-cabecalho h2 { font-size:18px; }

/* Drawers administrativos */
.ui-drawer { position:fixed !important; top:0; right:0; width:min(560px,92vw); height:100vh; max-height:none !important; margin:0 !important; border-radius:22px 0 0 22px !important; border-left:1px solid var(--border) !important; padding:24px 22px 28px !important; overflow:auto !important; z-index:121; opacity:0; visibility:hidden; transform:translateX(104%); transition:transform .22s ease, opacity .18s ease, visibility .22s; box-shadow:-18px 0 46px rgba(12,21,41,.18) !important; background:var(--surface) !important; background-image:none !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
.ui-drawer.is-open { opacity:1; visibility:visible; transform:translateX(0); }
#rankingSala.ui-drawer { width:min(390px,92vw); display:flex; flex-direction:column; gap:12px; }
#rankingSala.ui-drawer > .painel { box-shadow:none; border:0; padding:0; background:transparent; }
/* v0.21.3: o botão de fechar é inserido como primeiro filho via ui.js.
   O seletor antigo nth-child(2) acabava escondendo justamente o painel
   principal do ranking. Escondemos apenas a ajuda pelo nome da classe. */
#rankingSala.ui-drawer > .ranking-principal { display:block !important; }
#rankingSala.ui-drawer > .ranking-ajuda { display:none !important; }
.ui-drawer-close { position:sticky; top:0; margin-left:auto; margin-bottom:10px; width:36px; height:36px; border:1px solid var(--border); border-radius:11px; background:var(--surface-2); color:var(--text-secondary); display:grid; place-items:center; font-size:24px; cursor:pointer; z-index:2; }
.ui-drawer-backdrop { position:fixed; inset:0; background:rgba(9,15,28,.10); backdrop-filter:none; -webkit-backdrop-filter:none; z-index:120; opacity:0; visibility:hidden; transition:opacity .18s ease, visibility .18s ease; }
.ui-drawer-backdrop.is-open { opacity:1; visibility:visible; }
body.drawer-open { overflow:hidden; }
:root[data-theme="dark"] .ui-drawer-backdrop { background:rgba(0,0,0,.18); }


#configurarRodada .seletor-jogos-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
#configurarRodada .jogo-choice { min-height:92px; }
#configurarRodada .professor-actions { position:sticky; bottom:-28px; margin:18px -22px -28px; padding:14px 22px 18px; background:linear-gradient(to bottom, color-mix(in srgb, var(--surface) 25%, transparent), var(--surface) 28%); border-top:1px solid var(--border); z-index:3; }
#resumoSala.ui-drawer { width:min(430px,92vw); }

/* tema escuro para elementos com cores fixas */
:root[data-theme="dark"] .aurora-room-banner { background:var(--surface); }
:root[data-theme="dark"] .bingo-sorteio-topo { background:linear-gradient(135deg,#201b39,#192338); border-color:var(--border); }
:root[data-theme="dark"] .domino-minha-area,
:root[data-theme="dark"] .domino-statusbar > div { background:var(--surface-2); border-color:var(--border); }
:root[data-theme="dark"] .desenho-forca { background:var(--surface-2); }

/* Modo foco continua soberano: drawers e ações administrativas somem */
body.modo-foco .room-quick-actions,
body.modo-foco .ui-drawer:not(#rankingSala) { display:none !important; }
body.modo-foco .ui-drawer-backdrop:not(.is-open) { display:none !important; }
body.modo-foco #rankingSala.ui-drawer { display:flex !important; z-index:131; }
body.modo-foco .ui-drawer-backdrop.is-open { display:block !important; z-index:130; }

@media (max-width:900px) {
  .home-welcome { grid-template-columns:1fr; max-width:680px; margin:0 auto; width:100%; }
  .home-welcome-copy { text-align:center; }
  .home-welcome-copy h1 { max-width:none; }
  .home-welcome-copy p { margin-left:auto; margin-right:auto; }
  .room-metrics .room-metric:nth-child(n+2) { display:none; }
  .aurora-room-banner { align-items:flex-start; flex-wrap:wrap; }
  .room-quick-actions { width:100%; margin-left:0; }
}
@media (max-width:640px) {
  .marca-sub { display:none; }
  .topo { padding-left:12px; padding-right:12px; }
  .home-minimal { padding:24px 16px; }
  .home-welcome-copy h1 { font-size:40px; }
  .home-action { grid-template-columns:46px minmax(0,1fr) auto; padding:14px; }
  .home-action-icon { width:46px; height:46px; border-radius:14px; font-size:22px; }
  .home-action em { display:none; }
  .form-clean-main { padding:18px; }
  .form-clean-card { padding:22px 18px; border-radius:20px; }
  .aurora-room-banner { padding:10px; }
  .room-metrics { display:none; }
  .quick-action span { display:none; }
  .quick-action { width:38px; height:38px; padding:0; justify-content:center; font-size:15px; }
  .quick-action.primary { width:auto; padding:0 11px; }
  .quick-action.primary span { display:inline; }
  .painel-jogo { min-height:calc(100vh - 150px); padding:12px; }
  #configurarRodada .seletor-jogos-cards { grid-template-columns:1fr; }
}

/* v0.6.0 hotfix de escopo: não alterar o layout do modo Treino */
body:not(.modo-professor):not(.modo-aluno) .coluna-config { height:auto; min-height:initial; gap:16px; overflow:visible; }
body:not(.modo-professor):not(.modo-aluno) .painel-jogo { min-height:initial; }
.sala-main .coluna-config { height:0; min-height:0; gap:0; overflow:visible; }
.sala-main .painel-jogo { min-height:calc(100vh - 170px); }
#configurarRodada .professor-actions { background:var(--surface); }

/* v0.6.0 — normalização das cores do antigo banner Aurora no novo cabeçalho compacto */
.aurora-room-banner { color:var(--text-primary); }
.room-title-row > strong { color:var(--text-primary); }
.room-live { color:var(--green); background:var(--green-soft); border-color:color-mix(in srgb, var(--green) 24%, var(--border)); }
.room-metric { background:var(--surface-2); border-color:var(--border); }
.room-metric span { color:var(--text-soft); }
.room-metric strong { color:var(--text-primary); }

:root[data-theme="dark"] .campo input:focus,
:root[data-theme="dark"] .campo select:focus,
:root[data-theme="dark"] .seletor-modo:focus,
:root[data-theme="dark"] .campo-resposta-stop:focus,
:root[data-theme="dark"] .linha-tentativa input:focus { background:var(--surface-2); }
:root[data-theme="dark"] .painel-destaque { background:var(--surface); }
:root[data-theme="dark"] .jogo-choice:hover { background:var(--surface-3); }
:root[data-theme="dark"] .jogo-cabecalho { background:var(--surface-2); }
:root[data-theme="dark"] .professor-actions { background:var(--surface-2); }
:root[data-theme="dark"] .domino-peca { background:linear-gradient(145deg,#f7f8fb,#e5e8ef); }
:root[data-theme="dark"] .domino-resultado { background:var(--yellow-soft); border-color:#655426; }
:root[data-theme="dark"] .domino-config-ajuda { background:var(--yellow-soft); border-color:#655426; color:#ffe08a; }
:root[data-theme="dark"] .domino-metade-texto { color:#202637; }
.room-live { border-color:var(--border); }

/* v0.6.0 — Treino também segue a interface enxuta */
.treino-clean-main { max-width:1080px; padding-top:24px; }
.treino-clean-game { min-height:calc(100vh - 116px) !important; }
.treino-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-bottom:12px; border-bottom:1px solid var(--border); }
.treino-toolbar h2 { margin:2px 0 0; font-size:18px; }
.treino-toolbar-actions { display:flex; align-items:end; gap:9px; flex-wrap:wrap; }
.treino-select { display:flex; flex-direction:column; gap:4px; }
.treino-select > span { font-size:9px; color:var(--text-soft); font-weight:850; text-transform:uppercase; letter-spacing:.08em; }
.treino-select select { min-width:190px; }
.treino-clean-hint { color:var(--text-secondary); font-size:11px; margin:10px 0 0; }
.treino-corpo-jogo { min-height:calc(100vh - 250px); align-items:center; justify-content:center; }
@media(max-width:720px){ .treino-toolbar{align-items:flex-start;flex-direction:column}.treino-toolbar-actions{width:100%}.treino-select{flex:1}.treino-select select{width:100%;min-width:0}.treino-corpo-jogo{min-height:auto} }

/* v0.6.1 — painéis administrativos nítidos: sem blur/translucidez excessiva */


/* ==========================================================================
   Operação Aurora v0.7.0 — correção estrutural dos drawers
   ========================================================================== */
/* Os drawers são portados para o body via ui.js. O z-index abaixo garante que
   o painel receba os cliques e permaneça acima do backdrop em qualquer tela. */
body > .ui-drawer-backdrop { z-index: 1000 !important; }
body > .ui-drawer { z-index: 1001 !important; isolation: isolate; pointer-events: none; }
body > .ui-drawer.is-open { pointer-events: auto; }
.coluna-config { isolation: auto !important; }

/* ================================================================
   OPERAÇÃO AURORA v0.7.0 — Desenha e Adivinha
   ================================================================ */
.jogo-choice-icon.coral{background:#fff0eb;color:#e76443}
.desenho-config-box{margin-top:10px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft,#f7f8fc)}
.desenho-config-note{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.desenho-config-note strong,.desenho-config-note span{display:block}.desenho-config-note span{margin-top:3px;color:var(--text-secondary);font-size:12px;line-height:1.45}
.desenho-config-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:23px;background:#fff0eb}
.desenho-config-controles{align-items:flex-end;flex-wrap:wrap}.campo.compacto{margin:0;min-width:135px;flex:1}.campo.compacto span{display:block;font-size:11px;font-weight:800;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}

.desenho-game{display:flex;flex-direction:column;gap:12px;min-height:0}
.desenho-statusbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.desenho-statusbar>div{border:1px solid var(--border);border-radius:12px;padding:8px 11px;background:var(--surface-soft,#f8f9fd);min-width:0}
.desenho-statusbar strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.desenho-statusbar strong.urgente{color:#dc3d3d}
.desenho-escolha{padding:14px;border:1px solid #f0c7bb;border-radius:16px;background:#fff7f4}.desenho-escolha h3{margin:4px 0 10px;font-size:18px}
.desenho-opcoes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.desenho-opcao{border:1px solid #efc8bc;background:#fff;border-radius:13px;padding:12px 8px;cursor:pointer;text-align:center;color:var(--text-primary);transition:.15s transform,.15s border-color,.15s box-shadow}.desenho-opcao:hover{transform:translateY(-2px);border-color:#eb785d;box-shadow:0 8px 20px #bd5c4420}.desenho-opcao strong,.desenho-opcao small{display:block}.desenho-opcao strong{font-size:13px}.desenho-opcao small{margin-top:3px;color:var(--text-secondary);font-size:10px}
.desenho-workspace{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(240px,.65fr);gap:12px;min-height:0;flex:1}
.desenho-quadro-wrap{min-width:0;display:flex;flex-direction:column;gap:7px}
.desenho-secret{min-height:34px;display:flex;align-items:center;justify-content:center;text-align:center;padding:7px 12px;border-radius:11px;background:var(--primary-soft);color:var(--text-secondary);font-size:12px}.desenho-secret strong{color:var(--primary);font-size:17px;margin:0 4px}.desenho-secret.desenhista{background:#fff4cf;color:#6d5610}.desenho-secret.desenhista strong{color:#9c6800}
.desenho-toolbar{display:flex;align-items:center;gap:6px;min-height:38px}.desenho-tool,.desenho-cor,.desenho-size{height:34px;border:1px solid var(--border);background:var(--surface);border-radius:9px;color:var(--text-primary)}.desenho-tool{min-width:36px;cursor:pointer;font-size:16px}.desenho-tool.ativo{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.desenho-tool.limpar{margin-left:auto}.desenho-cor{width:36px;padding:4px;display:grid;place-items:center}.desenho-cor input{width:25px;height:23px;border:0;padding:0;background:transparent;cursor:pointer}.desenho-size{padding:0 8px;font-size:11px}
.desenho-canvas-shell{position:relative;flex:1;min-height:330px;border:1px solid #d9dde8;border-radius:16px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px #fff}.desenho-canvas-shell:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#d8dbe4 1px,transparent 1px);background-size:22px 22px;opacity:.28;pointer-events:none}.desenho-canvas-shell canvas{position:absolute;inset:0;width:100%;height:100%;display:block;background:#fff;touch-action:none}.desenho-canvas-shell canvas.editavel{cursor:crosshair}
.desenho-palpite-panel{min-width:0;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft,#f8f9fd);padding:12px;display:flex;flex-direction:column;gap:9px;overflow:hidden}.desenho-palavra-mask{text-align:center;min-height:34px;font-size:17px;font-weight:900;letter-spacing:.09em;color:var(--primary);word-break:break-word}.desenho-palpite-form{display:flex;gap:6px}.desenho-palpite-form input{min-width:0;flex:1;border:1px solid var(--border);border-radius:10px;padding:9px;background:var(--surface);color:var(--text-primary)}.desenho-palpite-form .botao{padding:8px 10px}
.desenho-feed{flex:1;min-height:120px;overflow:auto;display:flex;flex-direction:column;gap:6px}.desenho-feed-vazio{color:var(--text-secondary);font-size:11px;text-align:center;padding:20px 8px}.desenho-palpite{padding:7px 9px;border-radius:10px;background:var(--surface);border:1px solid var(--border);font-size:11px}.desenho-palpite strong,.desenho-palpite span{display:block}.desenho-palpite span{color:var(--text-secondary);margin-top:2px;word-break:break-word}.desenho-palpite.acertou{background:#ecfbf1;border-color:#bce8ca}.desenho-palpite.acertou strong{color:#23864a}
.desenho-acertaram{border-top:1px solid var(--border);padding-top:8px}.desenho-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.desenho-chips span{padding:5px 7px;border-radius:999px;background:#ecfbf1;color:#287a48;font-size:10px}.desenho-chips b{margin-left:2px}
.desenho-resultado{border-radius:13px;padding:11px 13px;background:#eef8ff;border:1px solid #cce5f8}.desenho-resultado strong,.desenho-resultado span{display:block}.desenho-resultado strong{font-size:14px}.desenho-resultado span{margin-top:3px;font-size:11px;color:var(--text-secondary)}
.desenho-admin-actions{display:flex;justify-content:flex-end}

html[data-theme="dark"] .desenho-config-box,html[data-theme="dark"] .desenho-statusbar>div,html[data-theme="dark"] .desenho-palpite-panel{background:#171a25}
html[data-theme="dark"] .desenho-escolha{background:#251b19;border-color:#56372f}html[data-theme="dark"] .desenho-opcao{background:#1d202c;border-color:#4b3430}
html[data-theme="dark"] .desenho-secret.desenhista{background:#2c291b;color:#e6d69b}html[data-theme="dark"] .desenho-palpite.acertou{background:#12271a;border-color:#275e3b}
html[data-theme="dark"] .desenho-resultado{background:#152330;border-color:#27445d}

/* No foco, desenho + palpites cabem na tela sem painel administrativo. */
body.modo-foco[data-jogo-atual="desenho"] .painel-jogo{height:100vh;max-height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:10px 14px}
body.modo-foco[data-jogo-atual="desenho"] .jogo-cabecalho{flex:0 0 auto;margin-bottom:6px;padding-bottom:6px}
body.modo-foco[data-jogo-atual="desenho"] #blocoJogoDesenho{flex:1;min-height:0;overflow:hidden}
body.modo-foco[data-jogo-atual="desenho"] .desenho-game{height:100%;gap:7px}
body.modo-foco[data-jogo-atual="desenho"] .desenho-statusbar>div{padding:5px 8px}
body.modo-foco[data-jogo-atual="desenho"] .desenho-workspace{min-height:0;overflow:hidden}
body.modo-foco[data-jogo-atual="desenho"] .desenho-canvas-shell{min-height:0;height:100%}
body.modo-foco[data-jogo-atual="desenho"] .desenho-feed{min-height:70px}

@media(max-width:900px){.desenho-workspace{grid-template-columns:1fr}.desenho-palpite-panel{max-height:240px}.desenho-opcoes{grid-template-columns:repeat(2,1fr)}.desenho-statusbar{grid-template-columns:repeat(2,1fr)}.desenho-canvas-shell{min-height:360px}}
@media(max-height:720px) and (min-width:901px){.desenho-canvas-shell{min-height:250px}.desenho-secret{min-height:28px;padding:4px 8px}.desenho-toolbar{min-height:30px}.desenho-tool,.desenho-cor,.desenho-size{height:30px}}

/* ======================================================================
   OPERAÇÃO AURORA v0.7.2 — Desenha e Adivinha: ferramentas e banco visual
   ====================================================================== */
.desenho-toolbar{flex-wrap:wrap;row-gap:6px}
.desenho-toolbar-divisor{width:1px;height:24px;background:var(--border);margin:0 2px;flex:0 0 auto}
.desenho-tool{display:inline-grid;place-items:center;flex:0 0 auto}
.desenho-tool[data-draw-tool="erase"]{font-size:17px}
.desenho-tool[data-draw-tool="fill"]{font-size:17px}
.desenho-tool[data-draw-tool="line"],.desenho-tool[data-draw-tool="rect"],.desenho-tool[data-draw-tool="ellipse"],.desenho-tool[data-draw-tool="triangle"]{font-size:18px;font-weight:900}
.desenho-size{max-width:88px}
@media(max-width:720px){.desenho-toolbar{gap:5px}.desenho-tool{min-width:34px}.desenho-toolbar-divisor{display:none}.desenho-size{max-width:76px}.desenho-config-controles{display:grid;grid-template-columns:1fr 1fr}.campo.compacto{min-width:0}}

/* ================================================================
   v0.8.0 — Quem Sou Eu? / Pistas Progressivas
   ================================================================ */
.pistas-config-box{margin-top:12px;border:1px solid var(--border);background:var(--surface-2);border-radius:16px;padding:12px}
.pistas-config-note{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}.pistas-config-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--purple-soft);font-size:20px;flex:0 0 auto}.pistas-config-note strong{display:block;font-size:12px}.pistas-config-note span{display:block;color:var(--text-secondary);font-size:10px;line-height:1.45;margin-top:2px}.pistas-config-controles{align-items:flex-end;flex-wrap:wrap}.pistas-config-controles .campo{min-width:130px;flex:1}
.pistas-game{display:flex;flex-direction:column;gap:12px;min-height:0}.pistas-statusbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.pistas-statusbar>div{border:1px solid var(--border);background:var(--surface-2);border-radius:13px;padding:9px 11px}.pistas-statusbar strong{display:block;margin-top:2px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pistas-card{border:1px solid var(--border);background:linear-gradient(145deg,var(--surface),var(--surface-2));border-radius:20px;padding:16px;box-shadow:var(--shadow-sm)}.pistas-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.pistas-card-head h3{margin:2px 0 0;font-size:18px}.pistas-auto-tempo{font-size:11px;color:var(--primary);font-weight:800;background:var(--primary-soft);border-radius:999px;padding:6px 9px;min-height:28px}
.pistas-lista{list-style:none;margin:0;padding:0;display:grid;gap:8px}.pistas-lista li{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:flex-start;border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:10px 12px;animation:pistaEntrada .22s ease both}.pistas-lista li>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:11px;font-weight:900}.pistas-lista p{margin:3px 0 0;font-size:13px;line-height:1.45}.pistas-lista .pistas-vazia{display:block;color:var(--text-secondary);text-align:center;padding:18px}@keyframes pistaEntrada{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.pistas-workspace{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);gap:12px;min-height:0}.pistas-palpite-area,.pistas-feed-wrap{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:13px}.pistas-palpite-form label{display:block;font-size:11px;font-weight:800;margin-bottom:7px}.pistas-palpite-form input{flex:1;min-width:0}.pistas-feed{display:grid;gap:6px;max-height:160px;overflow:auto;margin-top:8px}.pistas-palpite{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-radius:10px;background:var(--surface-2);font-size:10px}.pistas-palpite strong{font-size:10px}.pistas-palpite span{color:var(--text-secondary);text-align:right}.pistas-palpite.acertou{background:var(--green-soft);color:var(--green)}.pistas-feed-vazio{color:var(--text-secondary);font-size:10px;padding:10px 0;text-align:center}
.pistas-resultado{border:1px solid rgba(28,173,120,.25);background:var(--green-soft);border-radius:16px;padding:14px}.pistas-resultado>strong{display:block;font-size:14px;color:var(--green)}.pistas-resposta-final{margin-top:8px;font-size:13px}.pistas-resultado p{margin:7px 0 0;font-size:11px;line-height:1.5;color:var(--text-secondary)}.pistas-resultado small{display:block;margin-top:7px;color:var(--text-secondary)}.pistas-admin-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}

body.modo-foco[data-jogo-atual="pistas"] .painel-jogo{overflow:hidden}.modo-foco[data-jogo-atual="pistas"] #blocoJogoPistas{flex:1;min-height:0;overflow:hidden}.modo-foco[data-jogo-atual="pistas"] .pistas-game{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:8px}.modo-foco[data-jogo-atual="pistas"] .pistas-statusbar>div{padding:6px 8px}.modo-foco[data-jogo-atual="pistas"] .pistas-card{min-height:0;overflow:auto;padding:12px}.modo-foco[data-jogo-atual="pistas"] .pistas-lista{gap:6px}.modo-foco[data-jogo-atual="pistas"] .pistas-lista li{padding:7px 9px}.modo-foco[data-jogo-atual="pistas"] .pistas-workspace{grid-template-columns:1fr 280px;min-height:0}.modo-foco[data-jogo-atual="pistas"] .pistas-feed{max-height:105px}

:root[data-theme="dark"] .pistas-config-box,:root[data-theme="dark"] .pistas-card,:root[data-theme="dark"] .pistas-palpite-area,:root[data-theme="dark"] .pistas-feed-wrap,:root[data-theme="dark"] .pistas-lista li{background:var(--surface);border-color:var(--border)}:root[data-theme="dark"] .pistas-statusbar>div,:root[data-theme="dark"] .pistas-palpite{background:var(--surface-2)}

@media(max-width:900px){.pistas-statusbar{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.pistas-statusbar{grid-template-columns:repeat(2,1fr)}.pistas-workspace{grid-template-columns:1fr}.pistas-feed{max-height:120px}.modo-foco[data-jogo-atual="pistas"] .pistas-workspace{grid-template-columns:1fr}.modo-foco[data-jogo-atual="pistas"] .pistas-feed-wrap{display:none}}

/* ======================================================================
   OPERAÇÃO AURORA v0.9.0 — Motor de Duelo / Pedra, Papel e Tesoura
   ====================================================================== */
.ppt-config-box{margin-top:12px;border:1px solid var(--border);background:var(--surface-2);border-radius:16px;padding:12px}
.ppt-config-note{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}.ppt-config-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--primary-soft);font-size:20px;flex:0 0 auto}.ppt-config-note strong{display:block;font-size:12px}.ppt-config-note span{display:block;color:var(--text-secondary);font-size:10px;line-height:1.45;margin-top:2px}.ppt-config-controles{align-items:flex-end;flex-wrap:wrap}.ppt-config-controles .campo{min-width:150px;flex:1}
.ppt-game{display:flex;flex-direction:column;gap:12px;min-height:0}.ppt-statusbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ppt-statusbar>div{border:1px solid var(--border);background:var(--surface-2);border-radius:13px;padding:9px 11px}.ppt-statusbar strong{display:block;margin-top:2px;font-size:12px}
.ppt-arena{display:grid;grid-template-columns:minmax(180px,1fr) 160px minmax(180px,1fr);align-items:stretch;gap:14px;background:linear-gradient(145deg,var(--surface),var(--surface-2));border:1px solid var(--border);border-radius:22px;padding:18px;min-height:260px}.ppt-player{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:16px}.ppt-avatar{font-size:27px}.ppt-player>strong{font-size:17px;margin-top:6px}.ppt-player>b{font-size:36px;color:var(--primary);line-height:1.1;margin:7px 0}.ppt-player>small{color:var(--text-secondary);font-size:10px}.ppt-revelacao{width:92px;height:92px;border-radius:24px;margin-top:12px;display:grid;place-items:center;background:var(--primary-soft);border:1px solid rgba(83,104,232,.18);font-size:46px;font-weight:900}.ppt-versus{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px}.ppt-versus>span{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--text-primary);color:var(--surface);font-size:18px;font-weight:900}.ppt-versus>strong{font-size:12px;line-height:1.35;color:var(--text-secondary)}
.ppt-escolhas{border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:14px;text-align:center}.ppt-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.ppt-choice-grid button{border:1px solid var(--border);background:var(--surface-2);color:var(--text-primary);border-radius:16px;padding:15px 10px;cursor:pointer;transition:.15s transform,.15s border-color,.15s box-shadow}.ppt-choice-grid button:hover:not(:disabled){transform:translateY(-2px);border-color:var(--primary);box-shadow:var(--shadow-sm)}.ppt-choice-grid button:disabled{opacity:.45;cursor:not-allowed}.ppt-choice-grid span{display:block;font-size:34px}.ppt-choice-grid strong{display:block;margin-top:5px;font-size:12px}.ppt-result-card{border:1px solid rgba(28,173,120,.24);background:var(--green-soft);border-radius:16px;padding:14px}.ppt-result-card strong,.ppt-result-card span{display:block}.ppt-result-card strong{color:var(--green);font-size:15px}.ppt-result-card span{margin-top:4px;color:var(--text-secondary);font-size:11px}.ppt-admin-actions{display:flex;justify-content:flex-end}
:root[data-theme="dark"] .ppt-config-box,:root[data-theme="dark"] .ppt-arena,:root[data-theme="dark"] .ppt-player,:root[data-theme="dark"] .ppt-escolhas{background:var(--surface);border-color:var(--border)}:root[data-theme="dark"] .ppt-statusbar>div,:root[data-theme="dark"] .ppt-choice-grid button{background:var(--surface-2)}
body.modo-foco[data-jogo-atual="ppt"] .painel-jogo{height:100vh;max-height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:10px 14px}body.modo-foco[data-jogo-atual="ppt"] #blocoJogoPpt{flex:1;min-height:0;overflow:hidden}body.modo-foco[data-jogo-atual="ppt"] .ppt-game{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:8px}body.modo-foco[data-jogo-atual="ppt"] .ppt-arena{min-height:0;height:100%;padding:12px}body.modo-foco[data-jogo-atual="ppt"] .ppt-revelacao{width:78px;height:78px;font-size:39px}
@media(max-width:760px){.ppt-arena{grid-template-columns:1fr 78px 1fr;gap:7px;padding:10px}.ppt-player{padding:10px}.ppt-player>strong{font-size:12px}.ppt-player>b{font-size:28px}.ppt-revelacao{width:66px;height:66px;font-size:34px}.ppt-versus>span{width:46px;height:46px;font-size:13px}.ppt-choice-grid{gap:6px}.ppt-choice-grid button{padding:11px 5px}.ppt-choice-grid span{font-size:29px}.ppt-statusbar{grid-template-columns:1fr 1fr}.ppt-statusbar>div:last-child{grid-column:1/-1}.ppt-config-controles{display:grid;grid-template-columns:1fr}.ppt-config-controles .campo{min-width:0}}

/* ======================================================================
   OPERAÇÃO AURORA v0.10.0 — Conexão Secreta
   ====================================================================== */
.conexao-config-box{margin-top:12px;border:1px solid var(--border);background:var(--surface-2);border-radius:16px;padding:12px}
.conexao-config-note{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}.conexao-config-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#fff0eb;font-size:20px;flex:0 0 auto}.conexao-config-note strong{display:block;font-size:12px}.conexao-config-note span{display:block;color:var(--text-secondary);font-size:10px;line-height:1.45;margin-top:2px}.conexao-config-controles{align-items:flex-end;flex-wrap:wrap}.conexao-config-controles .campo{min-width:130px;flex:1}
.conexao-game{display:flex;flex-direction:column;gap:10px;min-height:0}.conexao-statusbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.conexao-statusbar>div{border:1px solid var(--border);background:var(--surface-2);border-radius:13px;padding:8px 10px}.conexao-statusbar strong{display:block;margin-top:2px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conexao-statusbar strong.urgente{color:var(--red)}
.conexao-palco{border:1px solid var(--border);background:linear-gradient(145deg,var(--surface),var(--surface-2));border-radius:22px;padding:16px;box-shadow:var(--shadow-sm)}.conexao-categoria-wrap{text-align:center;margin-bottom:12px}.conexao-categoria-wrap h3{font-size:20px;letter-spacing:.12em;margin:3px 0 3px;color:var(--primary)}.conexao-categoria-wrap small{color:var(--text-secondary);font-size:10px}
.conexao-palavras{display:grid;gap:10px;max-width:920px;margin:0 auto}.conexao-palavra{position:relative;display:flex;align-items:center;justify-content:center;min-height:62px;border:1px solid var(--border);background:var(--surface);border-radius:15px;padding:12px 16px 12px 40px;text-align:center}.conexao-palavra>span{position:absolute;left:10px;width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font:800 10px var(--font-display);letter-spacing:0}.conexao-grade{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;row-gap:9px}.conexao-celula{width:clamp(28px,3vw,38px);height:clamp(34px,3.6vw,46px);border-radius:11px;border:1px solid color-mix(in srgb, var(--border) 82%, white);background:color-mix(in srgb, var(--surface-2) 88%, white);display:grid;place-items:center;font-family:var(--font-mono);font-size:clamp(16px,2vw,24px);font-weight:900;letter-spacing:0;text-transform:uppercase;box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}.conexao-celula.preenchida{background:color-mix(in srgb, var(--surface) 55%, white);border-color:color-mix(in srgb, var(--primary) 24%, var(--border));color:var(--text)}.conexao-celula.destaque{background:linear-gradient(180deg, color-mix(in srgb, var(--primary-soft) 78%, white), color-mix(in srgb, var(--primary-soft) 96%, var(--surface)));border-color:color-mix(in srgb, var(--primary) 55%, var(--border));color:var(--primary);transform:translateY(-1px)}.conexao-celula.espaco{width:14px;min-width:14px;height:1px;padding:0;border:none;background:transparent;box-shadow:none}.conexao-evento{text-align:center;color:var(--text-secondary);font-size:11px;margin:10px 0 0;min-height:18px}
.conexao-controles{border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.conexao-letras{display:grid;grid-template-columns:repeat(13,minmax(28px,1fr));gap:5px;margin-top:7px}.conexao-letras button{height:32px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--text-primary);font-weight:850;font-size:11px;cursor:pointer}.conexao-letras button:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.conexao-letras button.usada,.conexao-letras button:disabled{opacity:.38;cursor:not-allowed}.conexao-acoes{display:flex;gap:7px;flex-direction:column;min-width:180px}.conexao-apostar-btn{background:linear-gradient(135deg,#e95458,#d63f6c)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 9px 24px rgba(218,65,91,.18)}
.conexao-categoria-form,.conexao-aposta-panel{border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:13px}.conexao-categoria-form label{display:block;font-size:11px;font-weight:800;margin-bottom:7px}.conexao-categoria-form input{flex:1;min-width:0}.conexao-aposta-panel{border-color:rgba(218,65,91,.28);background:linear-gradient(145deg,var(--surface),var(--red-soft))}.conexao-aposta-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:9px}.conexao-aposta-head h3{margin:2px 0 0;font-size:17px}.conexao-aposta-head>strong{font-size:24px;color:var(--red);font-family:var(--font-mono)}.conexao-aposta-campos{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:9px 0}.conexao-aposta-campos input{width:100%}.conexao-aposta-panel p,.conexao-aposta-panel #conexaoApostaEspera{font-size:11px;color:var(--text-secondary);line-height:1.5}.conexao-resultado{border:1px solid rgba(28,173,120,.25);background:var(--green-soft);border-radius:16px;padding:14px;text-align:center}.conexao-resultado strong,.conexao-resultado span,.conexao-resultado em{display:block}.conexao-resultado strong{font-size:15px;color:var(--green)}.conexao-resultado span{margin-top:6px;font-weight:800;word-spacing:.5em}.conexao-resultado em{margin-top:7px;font-style:normal;color:var(--primary);font-weight:850}.conexao-resultado p{margin:7px auto 0;max-width:70ch;color:var(--text-secondary);font-size:11px;line-height:1.5}.conexao-admin-actions{display:flex;justify-content:flex-end}
:root[data-theme="dark"] .conexao-config-box,:root[data-theme="dark"] .conexao-palco,:root[data-theme="dark"] .conexao-controles,:root[data-theme="dark"] .conexao-categoria-form,:root[data-theme="dark"] .conexao-palavra{background:var(--surface);border-color:var(--border)}:root[data-theme="dark"] .conexao-statusbar>div,:root[data-theme="dark"] .conexao-letras button{background:var(--surface-2)}:root[data-theme="dark"] .conexao-aposta-panel{background:var(--surface);border-color:#6d3845}:root[data-theme="dark"] .conexao-celula{background:color-mix(in srgb, var(--surface-2) 92%, #1f2a3e);box-shadow:none}:root[data-theme="dark"] .conexao-celula.preenchida{background:color-mix(in srgb, var(--surface) 92%, #273146)}:root[data-theme="dark"] .conexao-celula.destaque{background:linear-gradient(180deg, color-mix(in srgb, var(--primary-soft) 50%, #25324c), color-mix(in srgb, var(--primary-soft) 74%, var(--surface)))}
body.modo-foco[data-jogo-atual="conexao"] .painel-jogo{height:100vh;max-height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:9px 12px}body.modo-foco[data-jogo-atual="conexao"] #blocoJogoConexao{flex:1;min-height:0;overflow:hidden}body.modo-foco[data-jogo-atual="conexao"] .conexao-game{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto;gap:7px}body.modo-foco[data-jogo-atual="conexao"] .conexao-palco{min-height:0;overflow:auto;padding:10px}body.modo-foco[data-jogo-atual="conexao"] .conexao-palavra{min-height:48px;padding-top:8px;padding-bottom:8px}body.modo-foco[data-jogo-atual="conexao"] .conexao-grade{gap:6px;row-gap:8px}body.modo-foco[data-jogo-atual="conexao"] .conexao-celula{width:clamp(24px,2.4vw,34px);height:clamp(29px,3vw,40px);font-size:clamp(14px,1.9vw,20px)}body.modo-foco[data-jogo-atual="conexao"] .conexao-controles{padding:8px 10px}body.modo-foco[data-jogo-atual="conexao"] .conexao-letras button{height:28px}
@media(max-width:900px){.conexao-statusbar{grid-template-columns:repeat(3,1fr)}.conexao-statusbar>div:nth-child(4),.conexao-statusbar>div:nth-child(5){grid-column:auto}.conexao-controles{grid-template-columns:1fr}.conexao-acoes{flex-direction:row;min-width:0}.conexao-acoes .botao{flex:1}.conexao-letras{grid-template-columns:repeat(9,1fr)}}
@media(max-width:620px){.conexao-statusbar{grid-template-columns:1fr 1fr}.conexao-statusbar>div:last-child{grid-column:1/-1}.conexao-palavra{min-height:50px;padding-left:34px;padding-right:10px}.conexao-grade{gap:5px;row-gap:7px}.conexao-celula{width:28px;height:34px;font-size:15px;border-radius:9px}.conexao-letras{grid-template-columns:repeat(7,1fr)}.conexao-aposta-campos{grid-template-columns:1fr}.conexao-acoes{flex-direction:column}}


/* v0.11.0 — Jogo da Velha / Motor de Duelo por tabuleiro */
.velha-game{display:flex;flex-direction:column;gap:12px;min-height:0}.velha-statusbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.velha-statusbar>div{border:1px solid var(--border);background:var(--surface-2);border-radius:13px;padding:9px 11px}.velha-statusbar strong{display:block;margin-top:2px;font-size:12px}.velha-arena{display:flex;flex-direction:column;align-items:center;gap:14px;border:1px solid var(--border);background:linear-gradient(145deg,var(--surface),var(--surface-2));border-radius:22px;padding:16px;min-height:0}.velha-duelistas{width:min(620px,100%);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.velha-duelista{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.velha-duelista>div{min-width:0}.velha-duelista strong,.velha-duelista small{display:block}.velha-duelista strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.velha-duelista small{font-size:10px;color:var(--text-secondary);margin-top:2px}.velha-simbolo{width:46px;height:46px;flex:0 0 auto;border-radius:14px;display:grid;place-items:center;font-size:25px;font-weight:950}.velha-simbolo.x{background:#eaf0ff;color:#4d67d8}.velha-simbolo.o{background:#e8f8ef;color:#198659}.velha-versus{font-size:11px;font-weight:950;color:var(--text-soft)}.velha-tabuleiro{width:min(48vh,390px);aspect-ratio:1;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:8px;padding:9px;border-radius:24px;background:var(--text-primary);box-shadow:var(--shadow-md)}.velha-tabuleiro button{border:0;border-radius:15px;background:var(--surface);color:var(--text-primary);font-size:clamp(42px,7vh,72px);font-weight:950;cursor:pointer;transition:transform .12s,background .12s,box-shadow .12s}.velha-tabuleiro button:hover:not(:disabled){transform:translateY(-2px);box-shadow:inset 0 0 0 3px var(--primary)}.velha-tabuleiro button:disabled{cursor:default}.velha-tabuleiro button.marcada.x{color:#5368e8}.velha-tabuleiro button.marcada.o{color:#1cad78}.velha-tabuleiro button.vencedora{background:#fff4b7;box-shadow:inset 0 0 0 3px #e0b831}.velha-feedback{text-align:center;min-height:20px;margin:0}.velha-result-card{width:min(620px,100%);border:1px solid rgba(28,173,120,.24);background:var(--green-soft);border-radius:16px;padding:14px}.velha-result-card strong,.velha-result-card span{display:block}.velha-result-card strong{color:var(--green);font-size:15px}.velha-result-card span{margin-top:4px;color:var(--text-secondary);font-size:11px}:root[data-theme="dark"] .velha-arena,:root[data-theme="dark"] .velha-duelista{background:var(--surface)}:root[data-theme="dark"] .velha-tabuleiro button.vencedora{background:#4a421e;color:#ffe56b}
body.modo-foco[data-jogo-atual="velha"] .painel-jogo{height:100vh;max-height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:9px 14px}body.modo-foco[data-jogo-atual="velha"] #blocoJogoVelha{flex:1;min-height:0;overflow:hidden}body.modo-foco[data-jogo-atual="velha"] .velha-game{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:7px}body.modo-foco[data-jogo-atual="velha"] .velha-arena{height:100%;justify-content:center;padding:9px}body.modo-foco[data-jogo-atual="velha"] .velha-tabuleiro{width:min(56vh,430px)}
@media(max-width:720px){.velha-statusbar{grid-template-columns:1fr 1fr}.velha-statusbar>div:last-child{grid-column:1/-1}.velha-duelistas{gap:6px}.velha-duelista{padding:8px}.velha-simbolo{width:38px;height:38px;font-size:20px}.velha-tabuleiro{width:min(78vw,360px);gap:6px;padding:7px}.velha-tabuleiro button{border-radius:12px}.velha-duelista strong{font-size:11px}}

/* v0.11.1 — configuração do bot do Jogo da Velha */
#blocoVelhaBotNivel[hidden],#blocoVelhaJogadorB[hidden]{display:none!important}

/* v0.12.0 — Damas / Motor de Duelo estratégico */
.damas-game{display:flex;flex-direction:column;gap:12px;min-height:0}.damas-statusbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.damas-statusbar>div{border:1px solid var(--border);background:var(--surface-2);border-radius:13px;padding:9px 11px}.damas-statusbar strong{display:block;margin-top:2px;font-size:12px}.damas-arena{display:flex;flex-direction:column;align-items:center;gap:12px;border:1px solid var(--border);background:linear-gradient(145deg,var(--surface),var(--surface-2));border-radius:22px;padding:14px;min-height:0}.damas-duelistas{width:min(760px,100%);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.damas-duelista{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.damas-duelista strong,.damas-duelista small{display:block}.damas-duelista strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.damas-duelista small{font-size:10px;color:var(--text-secondary);margin-top:2px}.damas-versus{font-size:11px;font-weight:950;color:var(--text-soft)}.damas-mini{width:24px;height:24px;border-radius:50%;display:inline-block;box-shadow:inset 0 -3px 0 rgba(0,0,0,.16),0 2px 6px rgba(0,0,0,.15)}.damas-mini.red{background:linear-gradient(#ff6b6b,#c93945)}.damas-mini.blue{background:linear-gradient(#5a82f2,#274eaf)}.damas-message{margin:0;text-align:center;color:var(--text-secondary);font-size:12px;min-height:18px}.damas-layout{display:grid;grid-template-columns:minmax(300px,560px) minmax(180px,260px);gap:16px;align-items:start;justify-content:center;width:100%}.damas-board{width:min(62vh,560px,100%);aspect-ratio:1;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);border:9px solid #4d3325;border-radius:20px;overflow:hidden;background:#4d3325;box-shadow:var(--shadow-md)}.damas-cell{border:0;padding:0;position:relative;display:grid;place-items:center;min-width:0;cursor:default}.damas-cell.light{background:#f0dbc0}.damas-cell.dark{background:#8d6548}.damas-cell.dark.movable{cursor:pointer}.damas-cell.dark.movable::after{content:'';position:absolute;width:14%;height:14%;border-radius:50%;background:rgba(255,255,255,.62);box-shadow:0 0 0 3px rgba(53,93,209,.16)}.damas-cell.selected{box-shadow:inset 0 0 0 4px #ffd75a}.damas-cell.valid,.damas-cell.capture{cursor:pointer}.damas-cell.valid::before,.damas-cell.capture::before{content:'';position:absolute;width:26%;height:26%;border-radius:50%;background:#fff;opacity:.88;box-shadow:0 0 0 5px rgba(31,173,120,.28)}.damas-cell.capture::before{background:#ffdc5d;box-shadow:0 0 0 5px rgba(216,91,61,.28)}.damas-piece{width:72%;height:72%;border-radius:50%;position:relative;display:grid;place-items:center;box-shadow:inset 0 -7px 0 rgba(0,0,0,.18),inset 0 3px 0 rgba(255,255,255,.26),0 5px 8px rgba(0,0,0,.24);z-index:2}.damas-piece.red{background:linear-gradient(145deg,#ff7676,#bb2f3d)}.damas-piece.blue{background:linear-gradient(145deg,#6e94ff,#2449a7)}.damas-piece.king::before{content:'';position:absolute;inset:15%;border:2px solid rgba(255,236,122,.9);border-radius:50%}.damas-piece.king i{font-style:normal;color:#ffe668;font-size:clamp(12px,2vw,24px);text-shadow:0 1px 2px rgba(0,0,0,.45)}.damas-side{display:flex;flex-direction:column;gap:12px;min-width:0}.damas-legenda{display:grid;gap:8px;border:1px solid var(--border);background:var(--surface);border-radius:15px;padding:11px}.damas-legenda span{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-secondary)}.damas-history-wrap{border:1px solid var(--border);background:var(--surface);border-radius:15px;padding:11px;min-height:0}.damas-history-wrap>strong{font-size:11px}.damas-history-wrap ol{margin:8px 0 0;padding-left:20px;max-height:250px;overflow:auto;color:var(--text-secondary);font-size:10px;line-height:1.55}.damas-feedback{text-align:center;margin:0;min-height:20px}:root[data-theme="dark"] .damas-arena,:root[data-theme="dark"] .damas-duelista,:root[data-theme="dark"] .damas-legenda,:root[data-theme="dark"] .damas-history-wrap{background:var(--surface)}
body.modo-foco[data-jogo-atual="damas"] .painel-jogo{height:100vh;max-height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:8px 12px}body.modo-foco[data-jogo-atual="damas"] #blocoJogoDamas{flex:1;min-height:0;overflow:hidden}body.modo-foco[data-jogo-atual="damas"] .damas-game{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);gap:7px}body.modo-foco[data-jogo-atual="damas"] .damas-arena{height:100%;min-height:0;padding:8px;gap:7px}body.modo-foco[data-jogo-atual="damas"] .damas-duelistas{max-width:680px}body.modo-foco[data-jogo-atual="damas"] .damas-layout{grid-template-columns:minmax(300px,1fr) 200px;min-height:0;height:100%;align-items:center}body.modo-foco[data-jogo-atual="damas"] .damas-board{width:min(66vh,620px,100%);max-height:100%;justify-self:center}body.modo-foco[data-jogo-atual="damas"] .damas-history-wrap ol{max-height:34vh}
@media(max-width:820px){.damas-statusbar{grid-template-columns:1fr 1fr}.damas-layout{grid-template-columns:1fr}.damas-board{width:min(78vw,520px);justify-self:center}.damas-side{display:none}.damas-duelistas{gap:6px}.damas-duelista{padding:8px}.damas-mini{width:20px;height:20px}body.modo-foco[data-jogo-atual="damas"] .damas-layout{grid-template-columns:1fr}.damas-duelistas strong{font-size:11px}}@media(max-height:680px) and (min-width:821px){body.modo-foco[data-jogo-atual="damas"] .damas-statusbar{display:none}body.modo-foco[data-jogo-atual="damas"] .damas-duelistas{display:none}body.modo-foco[data-jogo-atual="damas"] .damas-message{display:none}body.modo-foco[data-jogo-atual="damas"] .damas-board{width:min(82vh,590px)}}

/* --------------------------------------------------------------------------
   OPERAÇÃO AURORA v0.13.0 — Batalha Naval / Motor de Grade Oculta
   -------------------------------------------------------------------------- */
.naval-game{display:grid;gap:12px}.naval-statusbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.naval-statusbar>div{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;padding:8px 10px;display:grid;gap:2px}.naval-statusbar strong{font-size:13px}.naval-arena{border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:14px;display:grid;gap:12px}.naval-duelistas{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.naval-duelista{border:1px solid var(--border);border-radius:16px;padding:10px 12px;display:flex;align-items:center;gap:10px;background:var(--surface-2)}.naval-duelista>span{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;font-size:20px}.naval-duelista.azul>span{background:color-mix(in srgb,#2c7be5 16%,var(--surface));color:#2c7be5}.naval-duelista.vermelho>span{background:color-mix(in srgb,#ef5350 15%,var(--surface));color:#d9423f}.naval-duelista div{display:grid}.naval-duelista small{color:var(--text-secondary);font-size:10px}.naval-versus{font-weight:950;color:var(--text-secondary);font-size:12px}.naval-message{text-align:center;margin:0;color:var(--text-secondary);min-height:20px;font-size:12px}.naval-boards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.naval-board-card{border:1px solid var(--border);border-radius:17px;padding:10px;background:var(--surface-2);min-width:0}.naval-board-card.radar{border-color:color-mix(in srgb,var(--primary) 28%,var(--border))}.naval-board-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0 2px 8px}.naval-board-head strong{font-size:13px}.naval-board-head small{font-size:9px;color:var(--text-secondary);text-align:right}.naval-grid{display:grid;grid-template-columns:22px repeat(10,minmax(22px,1fr));grid-template-rows:22px repeat(10,minmax(22px,1fr));gap:3px;max-width:520px;aspect-ratio:1/1;margin:0 auto}.naval-axis{display:grid;place-items:center;font:800 9px var(--font-display);color:var(--text-secondary);user-select:none}.naval-axis.corner{opacity:0}.naval-cell{border:1px solid color-mix(in srgb,var(--border) 88%,#7ca5ce);border-radius:5px;background:color-mix(in srgb,#d9efff 60%,var(--surface));color:var(--text-primary);display:grid;place-items:center;font:900 clamp(10px,1.25vw,16px) var(--font-mono);padding:0;min-width:0;min-height:0;transition:transform .12s ease,border-color .12s ease,background .12s ease}.naval-cell:not(:disabled):hover{transform:translateY(-1px);border-color:var(--primary);background:color-mix(in srgb,var(--primary-soft) 65%,#e8f6ff);cursor:crosshair}.naval-cell:disabled{opacity:1;cursor:default}.naval-cell.navio{background:color-mix(in srgb,#2c7be5 28%,var(--surface));border-color:color-mix(in srgb,#2c7be5 55%,var(--border));color:#245c9f}.naval-cell.agua{background:color-mix(in srgb,#c8e6fa 64%,var(--surface));color:#5689ad}.naval-cell.acerto{background:color-mix(in srgb,#ff8a80 44%,var(--surface));border-color:#e35e58;color:#a8211c}.naval-cell.afundou{background:color-mix(in srgb,#ef5350 68%,var(--surface));border-color:#bd2926;color:white;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}.naval-legenda{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;color:var(--text-secondary);font-size:10px}.naval-legenda span{display:flex;align-items:center;gap:5px}.naval-dot{width:11px;height:11px;border-radius:4px;border:1px solid var(--border);display:inline-block}.naval-dot.navio{background:#8bbbed}.naval-dot.agua{background:#c8e6fa}.naval-dot.acerto{background:#ff8a80}.naval-dot.afundou{background:#ef5350}.naval-feedback{text-align:center;min-height:18px}.naval-result-card{margin-top:8px}
:root[data-theme="dark"] .naval-board-card,:root[data-theme="dark"] .naval-arena{background:var(--surface)}:root[data-theme="dark"] .naval-cell{background:color-mix(in srgb,#203650 72%,var(--surface-2));border-color:color-mix(in srgb,#476985 58%,var(--border))}:root[data-theme="dark"] .naval-cell.navio{background:color-mix(in srgb,#2c7be5 45%,var(--surface))}:root[data-theme="dark"] .naval-cell.agua{background:color-mix(in srgb,#26506d 55%,var(--surface))}:root[data-theme="dark"] .naval-cell.acerto{background:color-mix(in srgb,#ef5350 54%,var(--surface))}:root[data-theme="dark"] .naval-cell.afundou{background:color-mix(in srgb,#b92d2a 75%,var(--surface))}
body.modo-foco[data-jogo-atual="naval"] .painel-jogo{height:100vh;max-height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:8px 10px}body.modo-foco[data-jogo-atual="naval"] #blocoJogoNaval{flex:1;min-height:0;overflow:hidden}body.modo-foco[data-jogo-atual="naval"] .naval-game{height:100%;grid-template-rows:auto minmax(0,1fr);gap:7px}body.modo-foco[data-jogo-atual="naval"] .naval-arena{min-height:0;overflow:auto;padding:8px;gap:7px}body.modo-foco[data-jogo-atual="naval"] .naval-duelistas{display:none}body.modo-foco[data-jogo-atual="naval"] .naval-message{font-size:10px}body.modo-foco[data-jogo-atual="naval"] .naval-board-card{padding:7px}body.modo-foco[data-jogo-atual="naval"] .naval-board-head{margin-bottom:4px}body.modo-foco[data-jogo-atual="naval"] .naval-grid{max-height:calc(100vh - 190px);max-width:calc(50vw - 58px)}body.modo-foco[data-jogo-atual="naval"] .naval-legenda{font-size:9px;gap:9px}
@media(max-width:840px){.naval-boards{grid-template-columns:1fr}.naval-grid{max-width:480px}.naval-statusbar{grid-template-columns:1fr 1fr}.naval-duelistas{grid-template-columns:1fr auto 1fr}body.modo-foco[data-jogo-atual="naval"] .naval-grid{max-width:min(78vw,420px);max-height:none}}
@media(max-width:560px){.naval-arena{padding:9px}.naval-duelistas{grid-template-columns:1fr}.naval-versus{display:none}.naval-grid{grid-template-columns:18px repeat(10,minmax(20px,1fr));grid-template-rows:18px repeat(10,minmax(20px,1fr));gap:2px}.naval-cell{border-radius:4px}.naval-board-head small{display:none}.naval-legenda{gap:8px}.naval-statusbar{grid-template-columns:1fr 1fr}}

/* ================================================================
   OPERAÇÃO AURORA v0.14.0 — Conecta 4 / Motor de Duelo por Gravidade
   ================================================================ */
.conecta4-game{display:grid;gap:10px}.conecta4-statusbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.conecta4-statusbar>div{border:1px solid var(--border);background:var(--surface-2);border-radius:13px;padding:8px 10px;display:grid;gap:2px;min-width:0}.conecta4-statusbar strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conecta4-arena{border:1px solid var(--border);background:var(--surface);border-radius:20px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:9px;overflow:hidden}.conecta4-duelistas{width:min(760px,100%);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.conecta4-duelista{display:flex;align-items:center;gap:10px;border:1px solid var(--border);background:var(--surface-2);border-radius:15px;padding:9px 12px;min-width:0}.conecta4-duelista>div{display:grid;min-width:0}.conecta4-duelista strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conecta4-duelista small{font-size:10px;color:var(--text-secondary)}.conecta4-mini{width:30px;height:30px;border-radius:50%;display:block;flex:0 0 auto;box-shadow:inset 0 0 0 2px rgba(255,255,255,.42),0 2px 6px rgba(0,0,0,.12)}.conecta4-mini.vermelho{background:#ef5350}.conecta4-mini.amarelo{background:#f4c542}.conecta4-versus{font-weight:950;color:var(--text-secondary);font-size:12px}.conecta4-message{margin:0;min-height:18px;text-align:center;color:var(--text-secondary);font-size:11px}.conecta4-column-buttons{width:min(620px,92vw);display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:0 11px}.conecta4-column-buttons button{height:39px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);color:var(--text-primary);font-weight:900;display:flex;align-items:center;justify-content:center;gap:5px;transition:transform .12s ease,border-color .12s ease,background .12s ease}.conecta4-column-buttons button span{color:var(--primary);font-size:12px}.conecta4-column-buttons button:not(:disabled):hover{transform:translateY(-2px);border-color:var(--primary);background:var(--primary-soft);cursor:pointer}.conecta4-column-buttons button:disabled{opacity:.45;cursor:default}.conecta4-board{width:min(620px,92vw);aspect-ratio:7/6;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr);gap:7px;padding:12px;border-radius:24px;background:linear-gradient(180deg,#4477df,#315fc7);box-shadow:var(--shadow);border:1px solid color-mix(in srgb,#315fc7 70%,var(--border))}.conecta4-slot{display:grid;place-items:center;min-width:0;min-height:0;border-radius:50%;background:color-mix(in srgb,#e9eef7 88%,var(--surface));box-shadow:inset 0 2px 5px rgba(0,0,0,.18);position:relative;overflow:hidden;cursor:default}.conecta4-slot span{width:82%;height:82%;border-radius:50%;display:block;transition:transform .18s ease,box-shadow .18s ease}.conecta4-slot.vermelho span{background:radial-gradient(circle at 35% 30%,#ff8a80,#ef5350 55%,#c62828);box-shadow:inset 0 0 0 2px rgba(255,255,255,.35),0 2px 4px rgba(0,0,0,.22)}.conecta4-slot.amarelo span{background:radial-gradient(circle at 35% 30%,#ffe88a,#f4c542 55%,#d39f11);box-shadow:inset 0 0 0 2px rgba(255,255,255,.42),0 2px 4px rgba(0,0,0,.2)}.conecta4-slot.ultima span{animation:conecta4-drop .36s cubic-bezier(.2,.9,.35,1)}.conecta4-slot.vencedora span{box-shadow:0 0 0 4px #fff,0 0 0 8px #31c48d,0 4px 12px rgba(0,0,0,.24)}.conecta4-feedback{min-height:18px;text-align:center}.conecta4-result-card{margin-top:8px}@keyframes conecta4-drop{0%{transform:translateY(-160%) scale(.9)}70%{transform:translateY(7%) scale(1.03)}100%{transform:translateY(0) scale(1)}}
:root[data-theme="dark"] .conecta4-arena{background:var(--surface)}:root[data-theme="dark"] .conecta4-slot{background:color-mix(in srgb,#152238 78%,var(--surface-2))}:root[data-theme="dark"] .conecta4-board{background:linear-gradient(180deg,#345fad,#254a8f)}
body.modo-foco[data-jogo-atual="conecta4"] .painel-jogo{height:100vh;max-height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:8px 10px}body.modo-foco[data-jogo-atual="conecta4"] #blocoJogoConecta4{flex:1;min-height:0;overflow:hidden}body.modo-foco[data-jogo-atual="conecta4"] .conecta4-game{height:100%;grid-template-rows:auto minmax(0,1fr);gap:7px}body.modo-foco[data-jogo-atual="conecta4"] .conecta4-arena{min-height:0;overflow:auto;padding:8px;gap:6px}body.modo-foco[data-jogo-atual="conecta4"] .conecta4-duelistas{display:none}body.modo-foco[data-jogo-atual="conecta4"] .conecta4-message{font-size:10px}body.modo-foco[data-jogo-atual="conecta4"] .conecta4-column-buttons{width:min(58vh,590px)}body.modo-foco[data-jogo-atual="conecta4"] .conecta4-board{width:min(58vh,590px);max-height:calc(100vh - 180px)}
@media(max-width:700px){.conecta4-statusbar{grid-template-columns:1fr 1fr}.conecta4-statusbar>div:last-child{grid-column:1/-1}.conecta4-duelistas{grid-template-columns:1fr auto 1fr}.conecta4-column-buttons,.conecta4-board{width:min(96vw,560px)}.conecta4-board{gap:5px;padding:9px;border-radius:20px}.conecta4-column-buttons{gap:4px;padding:0 8px}.conecta4-column-buttons button{height:34px}.conecta4-duelista{padding:7px 8px}.conecta4-mini{width:25px;height:25px}}
@media(max-width:460px){.conecta4-arena{padding:8px}.conecta4-duelistas{grid-template-columns:1fr}.conecta4-versus{display:none}.conecta4-duelista{justify-content:center}.conecta4-board{gap:4px;padding:7px;border-radius:17px}.conecta4-column-buttons button{font-size:11px}.conecta4-column-buttons button span{display:none}}

/* ================================================================
   OPERAÇÃO AURORA v0.15.0 — Trilha Virtual / Motor de Percurso
   ================================================================ */
.trilha-config-box .trilha-jogadores-campo{min-width:240px;flex:1.5}.trilha-jogadores-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:5px}.trilha-jogador-check{display:flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--surface);border-radius:9px;padding:7px 8px;font-size:10px;font-weight:750;cursor:pointer}.trilha-jogador-check input{margin:0}.trilha-jogador-check span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trilha-jogadores-campo small{display:block;margin-top:5px;color:var(--text-secondary);font-size:9px;line-height:1.35}
.trilha-game{display:grid;gap:10px;min-height:0}.trilha-statusbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.trilha-statusbar>div{border:1px solid var(--border);background:var(--surface-2);border-radius:13px;padding:8px 10px;display:grid;gap:2px;min-width:0}.trilha-statusbar strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trilha-arena{border:1px solid var(--border);background:var(--surface);border-radius:20px;padding:12px;display:grid;gap:10px;min-height:0}.trilha-topo{display:flex;justify-content:space-between;align-items:center;gap:12px}.trilha-topo h3{margin:2px 0 3px;font-size:18px}.trilha-topo p{margin:0;color:var(--text-secondary);font-size:11px}.trilha-dado-card{min-width:92px;border:1px solid var(--border);background:var(--surface-2);border-radius:16px;padding:8px 12px;text-align:center}.trilha-dado-card span{display:block;font-size:9px;color:var(--text-secondary);font-weight:900;letter-spacing:.08em}.trilha-dado-card strong{display:block;margin-top:2px;font-size:24px}.trilha-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:12px;min-height:max-content;align-items:start}.trilha-board{display:grid;grid-template-columns:repeat(6,minmax(58px,1fr));gap:7px;align-content:start}.trilha-casa{position:relative;min-height:78px;border:1px solid var(--border);background:var(--surface-2);border-radius:15px;padding:8px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.trilha-casa .trilha-numero{position:absolute;top:6px;left:7px;font-size:9px;font-weight:900;color:var(--text-secondary)}.trilha-casa>b{font-size:20px;line-height:1;text-align:right;min-height:20px}.trilha-casa.desafio{background:color-mix(in srgb,#8b5cf6 11%,var(--surface));border-color:color-mix(in srgb,#8b5cf6 35%,var(--border))}.trilha-casa.bonus{background:color-mix(in srgb,#f4c542 13%,var(--surface));border-color:color-mix(in srgb,#d39f11 36%,var(--border))}.trilha-casa.evento{background:color-mix(in srgb,#ff8a65 13%,var(--surface));border-color:color-mix(in srgb,#ef6c45 36%,var(--border))}.trilha-casa.chegada{background:color-mix(in srgb,var(--green) 12%,var(--surface));border-color:color-mix(in srgb,var(--green) 40%,var(--border))}.trilha-peoes{display:flex;align-items:flex-end;gap:4px;flex-wrap:wrap;min-height:28px;padding-top:17px}.trilha-peao{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:white;font:900 10px var(--font-display);border:2px solid rgba(255,255,255,.82);box-shadow:0 2px 5px rgba(0,0,0,.18)}.trilha-peao.p0{background:#5368e8}.trilha-peao.p1{background:#ef5350}.trilha-peao.p2{background:#23a877}.trilha-peao.p3{background:#d39f11}.trilha-peao.p4{background:#8b5cf6}.trilha-peao.p5{background:#e46d9b}.trilha-side{display:flex;flex-direction:column;gap:10px}.trilha-ordem-wrap{border:1px solid var(--border);background:var(--surface-2);border-radius:15px;padding:10px}.trilha-ordem-wrap>strong{display:block;font-size:11px;margin-bottom:7px}.trilha-ordem-wrap ol{list-style:none;margin:0;padding:0;display:grid;gap:5px}.trilha-ordem-wrap li{display:flex;justify-content:space-between;gap:8px;padding:7px 8px;border-radius:9px;background:var(--surface);font-size:10px}.trilha-ordem-wrap li.atual{outline:1px solid var(--primary);background:var(--primary-soft)}.trilha-ordem-wrap li span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trilha-ordem-wrap li strong{font-size:9px;color:var(--text-secondary);white-space:nowrap}.trilha-lancar-btn{width:100%;min-height:46px;font-weight:900}.trilha-desafio{position:relative;z-index:5;isolation:isolate;border:1px solid color-mix(in srgb,#8b5cf6 35%,var(--border));background:color-mix(in srgb,#8b5cf6 7%,var(--surface));border-radius:17px;padding:13px;box-shadow:0 10px 28px rgba(57,45,110,.12)}.trilha-desafio-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.trilha-desafio-head span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#7952d6}.trilha-desafio-head strong{font-size:11px}.trilha-desafio h3{margin:8px 0 10px;font-size:16px;line-height:1.35}.trilha-opcoes{display:grid;grid-template-columns:1fr 1fr;gap:8px}.trilha-opcoes button{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);border-radius:12px;padding:10px;text-align:left;font-size:11px;font-weight:750;cursor:pointer;display:flex;align-items:center;gap:8px;transition:.15s transform,.15s border-color,.15s background}.trilha-opcoes button span{width:24px;height:24px;border-radius:8px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:900;flex:0 0 auto}.trilha-opcoes button:not(:disabled):hover{transform:translateY(-1px);border-color:var(--primary);background:var(--primary-soft)}.trilha-opcoes button:disabled{cursor:default;opacity:.72}.trilha-desafio>small{display:block;margin-top:8px;color:var(--text-secondary);font-size:9px}
:root[data-theme="dark"] .trilha-arena,:root[data-theme="dark"] .trilha-casa,:root[data-theme="dark"] .trilha-opcoes button,:root[data-theme="dark"] .trilha-ordem-wrap li{background:var(--surface)}:root[data-theme="dark"] .trilha-statusbar>div,:root[data-theme="dark"] .trilha-dado-card,:root[data-theme="dark"] .trilha-ordem-wrap{background:var(--surface-2)}
body.modo-foco[data-jogo-atual="trilha"] .painel-jogo{height:100vh;max-height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:8px 10px}body.modo-foco[data-jogo-atual="trilha"] #blocoJogoTrilha{flex:1;min-height:0;overflow:hidden}body.modo-foco[data-jogo-atual="trilha"] .trilha-game{height:100%;grid-template-rows:auto minmax(0,1fr);gap:7px}body.modo-foco[data-jogo-atual="trilha"] .trilha-arena{min-height:0;overflow:auto;padding:8px;grid-auto-rows:max-content}body.modo-foco[data-jogo-atual="trilha"] .trilha-layout{min-height:max-content;flex-shrink:0}body.modo-foco[data-jogo-atual="trilha"] .trilha-desafio:not([hidden]){position:sticky;bottom:0;z-index:20;background:var(--surface);box-shadow:0 -10px 32px rgba(38,43,85,.18)}body.modo-foco[data-jogo-atual="trilha"] .trilha-casa{min-height:58px;padding:6px}body.modo-foco[data-jogo-atual="trilha"] .trilha-peao{width:20px;height:20px;font-size:8px}body.modo-foco[data-jogo-atual="trilha"] .trilha-topo h3{font-size:15px}body.modo-foco[data-jogo-atual="trilha"] .trilha-topo p{font-size:9px}body.modo-foco[data-jogo-atual="trilha"] .trilha-dado-card{padding:5px 9px}body.modo-foco[data-jogo-atual="trilha"] .trilha-dado-card strong{font-size:20px}body.modo-foco[data-jogo-atual="trilha"] .trilha-desafio{padding:9px}body.modo-foco[data-jogo-atual="trilha"] .trilha-desafio h3{font-size:13px;margin:5px 0 7px}body.modo-foco[data-jogo-atual="trilha"] .trilha-opcoes button{padding:7px;font-size:10px}
@media(max-width:900px){.trilha-layout{grid-template-columns:1fr}.trilha-side{display:grid;grid-template-columns:1fr 1fr}.trilha-side .trilha-ordem-wrap{grid-row:span 2}.trilha-board{grid-template-columns:repeat(6,minmax(46px,1fr))}.trilha-casa{min-height:66px}}
@media(max-width:620px){.trilha-statusbar{grid-template-columns:1fr 1fr}.trilha-board{grid-template-columns:repeat(5,minmax(48px,1fr));gap:5px}.trilha-casa{min-height:62px;border-radius:12px;padding:6px}.trilha-peoes{gap:2px}.trilha-peao{width:20px;height:20px;font-size:8px}.trilha-layout{gap:8px}.trilha-side{grid-template-columns:1fr}.trilha-side .trilha-ordem-wrap{grid-row:auto}.trilha-opcoes{grid-template-columns:1fr}.trilha-topo{align-items:flex-start}.trilha-dado-card{min-width:74px}.trilha-config-controles{display:grid;grid-template-columns:1fr 1fr}.trilha-jogadores-campo{grid-column:1/-1}}


/* ======================================================================
   Operação Aurora v0.15.5 — tablet em Pistas + modo fácil da Conexão
   ====================================================================== */
.conexao-toggle-facil{display:flex;align-items:center;gap:9px;min-width:220px;flex:1;border:1px solid var(--border);background:var(--surface);border-radius:13px;padding:8px 10px;cursor:pointer}.conexao-toggle-facil input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--primary)}.conexao-toggle-facil span{display:block;min-width:0}.conexao-toggle-facil strong{display:block;font-size:10px;line-height:1.25}.conexao-toggle-facil small{display:block;margin-top:2px;color:var(--text-secondary);font-size:9px;line-height:1.35}:root[data-theme="dark"] .conexao-toggle-facil{background:var(--surface);border-color:var(--border)}

/* visualViewport corrige o espaço real disponível quando o teclado do tablet abre. */
body.modo-foco[data-jogo-atual="pistas"] .painel-jogo{height:min(100vh,var(--pistas-vvh,100vh));max-height:min(100vh,var(--pistas-vvh,100vh))}
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] .sala-main,
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] .coluna-jogo,
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] .painel-jogo{height:var(--pistas-vvh,100dvh);max-height:var(--pistas-vvh,100dvh)}
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] .painel-jogo{padding:6px 8px;gap:4px;border-radius:12px}
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] .jogo-cabecalho,
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] .pistas-statusbar,
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] .pistas-feed-wrap{display:none!important}
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] #blocoJogoPistas{overflow:hidden}
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] .pistas-game{height:100%;grid-template-rows:minmax(86px,1fr) auto auto;gap:5px}
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] .pistas-card{min-height:86px;padding:6px 8px;border-radius:13px;overflow-y:auto;overscroll-behavior:contain}
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] .pistas-card-head{display:none}
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] .pistas-lista{gap:4px}
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] .pistas-lista li{grid-template-columns:24px 1fr;gap:7px;padding:5px 7px;border-radius:10px}
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] .pistas-lista li>span{width:23px;height:23px;border-radius:7px;font-size:9px}
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] .pistas-lista p{font-size:11px;line-height:1.28;margin:2px 0 0}
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] .pistas-workspace{display:grid;grid-template-columns:1fr;gap:0}
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] .pistas-palpite-area{padding:7px 8px;border-radius:12px}
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] .pistas-palpite-form label{margin-bottom:4px;font-size:9px}
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] .pistas-palpite-form .linha-controles{gap:6px}
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] .pistas-palpite-form input{min-height:40px;font-size:16px}
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] .pistas-palpite-form button{min-height:40px;padding:8px 12px}
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] .feedback-tentativa{font-size:10px;margin:3px 0 0;min-height:0}
body.modo-foco.pistas-teclado-aberto[data-jogo-atual="pistas"] .pistas-admin-actions{display:none!important}
@media(max-width:760px){.conexao-toggle-facil{min-width:0;grid-column:1/-1}.conexao-toggle-facil strong{font-size:11px}.conexao-toggle-facil small{font-size:10px}}

/* ================================================================
   OPERAÇÃO AURORA v0.15.6 — UX de turnos + Dominó serpentina + tablet
   ================================================================ */
.turno-destaque-global{
  display:flex;align-items:center;justify-content:center;gap:12px;
  margin:-2px 0 8px;padding:10px 14px;border-radius:14px;
  border:1px solid color-mix(in srgb,var(--green) 45%,var(--border));
  background:linear-gradient(135deg,color-mix(in srgb,var(--green-soft) 88%,var(--surface)),var(--surface));
  box-shadow:0 8px 22px rgba(28,173,120,.12);text-align:center;
}
.turno-destaque-global[hidden]{display:none!important}
.turno-destaque-global strong{font-size:clamp(14px,2vw,19px);letter-spacing:.055em;color:var(--green);white-space:nowrap}
.turno-destaque-global span{font-size:11px;font-weight:750;color:var(--text-secondary)}
.turno-destaque-global.chamar-atencao{animation:aurora-turno-chamada .68s ease-in-out 2}
body.turno-meu .painel-jogo{border-color:color-mix(in srgb,var(--green) 48%,var(--border));box-shadow:0 12px 34px rgba(28,173,120,.12)}
@keyframes aurora-turno-chamada{0%,100%{transform:scale(1);box-shadow:0 8px 22px rgba(28,173,120,.12)}50%{transform:scale(1.008);box-shadow:0 8px 28px rgba(28,173,120,.27)}}

/* Dominó: mesa em serpentina, sem rolagem horizontal obrigatória. */
.domino-mesa-wrap{overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth}
.domino-mesa{min-width:0;width:100%;min-height:110px;display:grid;align-content:center;gap:3px}
.domino-serpentina-linha{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:7px;min-width:0}
.domino-serpentina-linha.reversa{flex-direction:row-reverse}
.domino-serpentina-conector{height:14px;line-height:14px;display:flex;align-items:center;color:rgba(255,255,255,.78);font-size:17px;font-weight:900;padding:0 28px}
.domino-serpentina-conector.direita{justify-content:flex-end}
.domino-serpentina-conector.esquerda{justify-content:flex-start}
.domino-peca.ultima-na-mesa{outline:2px solid rgba(255,225,96,.82);outline-offset:2px;box-shadow:0 0 0 4px rgba(255,225,96,.14),0 8px 16px rgba(3,37,25,.24)}

/* A mão quebra em linhas automaticamente e nunca depende de rolagem horizontal. */
.domino-mao{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--domino-mao-min,72px),1fr));gap:9px;align-items:start;overflow:visible;padding:7px 4px 10px}
.domino-mao-item{min-width:0!important;width:100%;justify-self:center}
.domino-mao.compacta{gap:6px}
.domino-mao.compacta .domino-mao-item{padding:5px 3px;gap:4px}
.domino-mao.compacta .domino-peca:not(.na-mesa){width:40px;height:74px}
.domino-mao.supercompacta{gap:4px}
.domino-mao.supercompacta .domino-mao-item{padding:3px 2px;gap:3px}
.domino-mao.supercompacta .domino-peca:not(.na-mesa){width:36px;height:66px;border-radius:8px}
.domino-mao.supercompacta .domino-pip.ativo{width:4px;height:4px}
.domino-mao.compacta .domino-peca.educacional:not(.na-mesa){width:56px;height:76px}
.domino-mao.supercompacta .domino-peca.educacional:not(.na-mesa){width:50px;height:68px}
.domino-mao.compacta .domino-metade-texto{font-size:8px}
.domino-mao.supercompacta .domino-metade-texto{font-size:7px}
.domino-mao.supercompacta .domino-metade-texto.numero{font-size:10px}
.domino-mao.compacta .domino-lados button{padding:4px 5px;font-size:7px}

body.modo-foco[data-jogo-atual="domino"] .domino-mesa{height:auto;min-height:100%;align-content:center}
body.modo-foco[data-jogo-atual="domino"] .domino-mao{display:grid;flex:none;overflow:visible;align-content:start;padding:3px 2px 5px}
body.modo-foco[data-jogo-atual="domino"] .domino-minha-area{overflow:visible}

/* Conexão: em tablet no Modo Foco, ações principais ficam sempre alcançáveis. */
@media (max-width:1024px), (max-height:820px){
  body.modo-foco[data-jogo-atual="conexao"] .conexao-game{padding-bottom:64px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-controles{grid-template-columns:1fr;gap:7px;min-height:0;overflow:auto}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-acoes{
    position:fixed;left:12px;right:12px;bottom:max(8px,env(safe-area-inset-bottom));z-index:120;
    min-width:0;display:flex;flex-direction:row;gap:8px;padding:8px;
    border:1px solid var(--border);border-radius:15px;background:color-mix(in srgb,var(--surface) 94%,transparent);
    box-shadow:0 12px 30px rgba(17,24,39,.18);backdrop-filter:blur(10px)
  }
  body.modo-foco[data-jogo-atual="conexao"] .conexao-acoes:not(:has(button:not([hidden]))){display:none}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-acoes .botao{flex:1;min-height:44px;font-size:12px}
  body.modo-foco[data-jogo-atual="conexao"] #btnConexaoApostar{order:-1;font-size:13px;font-weight:900}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-palco{overflow:auto}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-letras{grid-template-columns:repeat(9,minmax(28px,1fr))}
}

@media (max-width:700px){
  .turno-destaque-global{flex-direction:column;gap:2px;padding:8px 10px}
  .turno-destaque-global strong{font-size:15px}
  .turno-destaque-global span{font-size:10px}
  .domino-serpentina-linha{gap:5px}
  .domino-serpentina-conector{padding:0 18px}
  .domino-mao{grid-template-columns:repeat(auto-fit,minmax(58px,1fr));gap:5px}
}

:root[data-theme="dark"] .turno-destaque-global{background:linear-gradient(135deg,color-mix(in srgb,var(--green-soft) 55%,var(--surface)),var(--surface))}
@media (max-width:900px){
  body[data-jogo-atual="conexao"]:not(.modo-foco) .conexao-controles{grid-template-columns:1fr}
  body[data-jogo-atual="conexao"]:not(.modo-foco) .conexao-acoes{order:-1;min-width:0;flex-direction:row}
  body[data-jogo-atual="conexao"]:not(.modo-foco) .conexao-acoes .botao{flex:1;min-height:42px}
  body[data-jogo-atual="conexao"]:not(.modo-foco) #btnConexaoApostar{order:-1}
}


/* v0.15.7 — Conexão Secreta: quatro palavras simultaneamente no desktop/notebook.
   Em telas largas o palco se compacta em vez de criar rolagem interna. */
@media (min-width:1100px){
  body.modo-foco[data-jogo-atual="conexao"] .conexao-palco{
    overflow:hidden;
    padding:6px 10px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  body.modo-foco[data-jogo-atual="conexao"] .conexao-categoria-wrap{margin-bottom:4px;flex:0 0 auto}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-categoria-wrap h3{font-size:18px;margin:1px 0 2px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-categoria-wrap small{font-size:9px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-palavras{width:100%;gap:5px;flex:0 0 auto}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-palavra{
    min-height:38px;
    padding:4px 12px 4px 34px;
    border-radius:12px;
  }
  body.modo-foco[data-jogo-atual="conexao"] .conexao-palavra>span{
    left:8px;width:20px;height:20px;border-radius:6px;font-size:9px;
  }
  body.modo-foco[data-jogo-atual="conexao"] .conexao-grade{
    flex-wrap:nowrap;
    gap:5px;
    row-gap:5px;
    max-width:100%;
  }
  body.modo-foco[data-jogo-atual="conexao"] .conexao-celula{
    width:clamp(23px,1.8vw,30px);
    height:clamp(28px,2.15vw,34px);
    font-size:clamp(13px,1.25vw,17px);
    border-radius:8px;
    flex:0 0 auto;
  }
  body.modo-foco[data-jogo-atual="conexao"] .conexao-celula.espaco{width:10px;min-width:10px;height:1px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-evento{
    margin:4px 0 0;
    min-height:14px;
    font-size:10px;
    line-height:1.25;
    flex:0 0 auto;
  }
}

/* Notebook com pouca altura: compactação extra para evitar que a quarta palavra saia da área visível. */
@media (min-width:1100px) and (max-height:760px){
  body.modo-foco[data-jogo-atual="conexao"] .conexao-palco{padding-top:4px;padding-bottom:4px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-categoria-wrap{margin-bottom:2px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-palavra{min-height:34px;padding-top:2px;padding-bottom:2px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-palavras{gap:4px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-celula{width:24px;height:28px;font-size:13px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-evento{margin-top:2px;min-height:12px;font-size:9px}
}


/* ================================================================
   OPERAÇÃO AURORA v0.15.8 — Conexão Secreta Game Show
   Prioridade visual: palavras > turno/tempo > teclado > ações.
   ================================================================ */
.botao-som{min-width:44px}
.botao-som.ativo{border-color:color-mix(in srgb,var(--green) 42%,var(--border));background:var(--green-soft);color:var(--green)}

/* O aviso de turno pulsa continuamente, sem desaparecer. */
body.turno-meu .turno-destaque-global:not([hidden]){animation:aurora-turno-pulso-continuo 1.05s ease-in-out infinite}
@keyframes aurora-turno-pulso-continuo{
  0%,100%{border-color:color-mix(in srgb,var(--green) 42%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--green-soft) 82%,var(--surface)),var(--surface));box-shadow:0 5px 14px rgba(28,173,120,.10)}
  50%{border-color:color-mix(in srgb,var(--green) 82%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--green-soft) 100%,white),color-mix(in srgb,var(--surface) 72%,var(--green-soft)));box-shadow:0 7px 24px rgba(28,173,120,.28)}
}
@media(prefers-reduced-motion:reduce){body.turno-meu .turno-destaque-global:not([hidden]){animation:none}.conexao-celula.destaque{animation:none!important}}

/* Painel de letras com presença de game show. */
.conexao-palavra{border-width:1px;box-shadow:0 3px 10px rgba(28,39,67,.04)}
.conexao-palavra.completa{border-color:color-mix(in srgb,var(--green) 48%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--green-soft) 64%,transparent)}
.conexao-celula{border-width:2px;background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--surface-2) 86%,white));box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 3px 7px rgba(35,48,78,.08)}
.conexao-celula.preenchida{background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--green-soft) 35%,var(--surface)));border-color:color-mix(in srgb,var(--green) 38%,var(--border));color:color-mix(in srgb,var(--text-primary) 74%,#071f18);text-shadow:0 1px 0 rgba(255,255,255,.9)}
.conexao-celula.destaque{animation:aurora-placa-revela 1.35s ease-out both}
@keyframes aurora-placa-revela{
  0%{transform:rotateX(72deg) scale(.88);background:#fff4b8;border-color:#e0a526;color:#8b5c00;box-shadow:0 0 0 4px rgba(245,190,53,.18)}
  35%{transform:rotateX(0) scale(1.09);background:#fff0a1;border-color:#dca31d;color:#6f4a00;box-shadow:0 0 0 5px rgba(245,190,53,.20),0 7px 16px rgba(119,85,6,.16)}
  100%{transform:none;background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--green-soft) 35%,var(--surface)));border-color:color-mix(in srgb,var(--green) 38%,var(--border));color:color-mix(in srgb,var(--text-primary) 74%,#071f18);box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 3px 7px rgba(35,48,78,.08)}
}
:root[data-theme="dark"] .conexao-celula{background:linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 80%,#35415a),var(--surface-2));border-color:color-mix(in srgb,var(--border) 78%,#6b7590)}
:root[data-theme="dark"] .conexao-celula.preenchida{background:linear-gradient(180deg,color-mix(in srgb,var(--green-soft) 35%,#28364c),color-mix(in srgb,var(--surface) 88%,#26334a));color:#f5fffb;text-shadow:none}

/* Desktop/notebook: status em uma faixa, teclado em 2x13 e botão de aposta compacto. */
@media(min-width:1025px){
  body.modo-foco[data-jogo-atual="conexao"] .painel-jogo{padding:7px 11px;gap:5px}
  body.modo-foco[data-jogo-atual="conexao"] .jogo-cabecalho{padding-bottom:3px;min-height:34px}
  body.modo-foco[data-jogo-atual="conexao"] .jogo-cabecalho .atividade-kicker{display:none}
  body.modo-foco[data-jogo-atual="conexao"] .jogo-cabecalho h2{font-size:14px}
  body.modo-foco[data-jogo-atual="conexao"] .turno-destaque-global{margin:0 0 3px;padding:6px 11px;min-height:34px}
  body.modo-foco[data-jogo-atual="conexao"] .turno-destaque-global strong{font-size:17px}
  body.modo-foco[data-jogo-atual="conexao"] .turno-destaque-global span{font-size:10px}
  body.modo-foco[data-jogo-atual="conexao"] #blocoJogoConexao{overflow:hidden}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-game{padding-bottom:0!important;grid-template-rows:auto minmax(0,1fr) auto auto auto;gap:5px}

  body.modo-foco[data-jogo-atual="conexao"] .conexao-statusbar{
    display:flex;align-items:center;justify-content:center;gap:0;
    min-height:30px;padding:3px 6px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)
  }
  body.modo-foco[data-jogo-atual="conexao"] .conexao-statusbar>div{
    display:inline-flex;align-items:center;gap:5px;min-width:0;padding:2px 12px;border:0;border-radius:0;background:transparent
  }
  body.modo-foco[data-jogo-atual="conexao"] .conexao-statusbar>div+div{border-left:1px solid var(--border)}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-statusbar .domino-mini-label{font-size:8px;line-height:1;color:var(--text-secondary);white-space:nowrap}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-statusbar strong{display:block;margin:0;font-size:11px;line-height:1.1;max-width:190px}
  body.modo-foco[data-jogo-atual="conexao"] #conexaoTempo{font-size:14px}
  body.modo-foco[data-jogo-atual="conexao"] #conexaoErros{letter-spacing:.08em;color:#db4053}

  body.modo-foco[data-jogo-atual="conexao"] .conexao-palco{overflow:hidden;padding:6px 10px;display:flex;flex-direction:column;justify-content:center}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-categoria-wrap{display:flex;align-items:baseline;justify-content:center;gap:7px;margin:0 0 5px;min-height:20px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-categoria-wrap .atividade-kicker{font-size:8px;margin:0}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-categoria-wrap h3{font-size:17px;letter-spacing:.10em;margin:0}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-categoria-wrap small{font-size:9px;margin:0}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-palavras{width:100%;max-width:1040px;gap:5px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-palavra{min-height:54px;padding:4px 12px 4px 35px;border-radius:12px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-palavra>span{left:8px;width:20px;height:20px;font-size:9px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-grade{flex-wrap:nowrap;gap:6px;row-gap:6px;max-width:100%}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-celula{width:clamp(34px,2.65vw,44px);height:clamp(41px,3.15vw,52px);font-size:clamp(24px,2.15vw,32px);line-height:1;border-radius:9px;flex:0 0 auto}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-celula.espaco{width:13px;min-width:13px;height:1px;border:0;box-shadow:none}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-evento{margin:3px 0 0;min-height:11px;font-size:9px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  body.modo-foco[data-jogo-atual="conexao"] .conexao-controles{grid-template-columns:minmax(0,1fr) 190px;gap:8px;padding:6px 8px;border-radius:13px;overflow:visible!important}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-letras-wrap>.atividade-kicker{display:none}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-letras{grid-template-columns:repeat(13,minmax(26px,1fr))!important;gap:4px;margin-top:0}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-letras button{height:29px;border-radius:7px;font-size:13px;font-weight:900}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-acoes{
    position:static!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;
    width:auto!important;min-width:0;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;
    box-shadow:none!important;backdrop-filter:none!important;display:flex;flex-direction:column;justify-content:center;gap:5px
  }
  body.modo-foco[data-jogo-atual="conexao"] .conexao-acoes .botao{min-height:35px!important;height:35px;padding:5px 9px;font-size:10px!important;border-radius:10px}
  body.modo-foco[data-jogo-atual="conexao"] #btnConexaoApostar{font-size:11px!important;font-weight:900}
  body.modo-foco[data-jogo-atual="conexao"] #feedbackConexao{grid-column:1/-1;min-height:0;margin:0;font-size:9px;line-height:1.1}
}

/* Notebook baixo: mantém as 4 palavras inteiras; reduz moldura, não a letra. */
@media(min-width:1025px) and (max-height:760px){
  body.modo-foco[data-jogo-atual="conexao"] .conexao-palavra{min-height:47px;padding-top:2px;padding-bottom:2px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-celula{width:clamp(32px,2.4vw,40px);height:clamp(37px,2.85vw,45px);font-size:clamp(23px,2vw,29px)}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-palavras{gap:4px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-categoria-wrap{margin-bottom:3px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-letras button{height:27px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-controles{padding-top:4px;padding-bottom:4px}
}

/* Tablet: status em duas linhas, palavras continuam prioritárias e ações viram um pequeno dock flutuante. */
@media(max-width:1024px){
  body.modo-foco[data-jogo-atual="conexao"] .painel-jogo{padding:7px 8px;gap:5px}
  body.modo-foco[data-jogo-atual="conexao"] .jogo-cabecalho{padding-bottom:3px}
  body.modo-foco[data-jogo-atual="conexao"] .jogo-cabecalho .atividade-kicker{display:none}
  body.modo-foco[data-jogo-atual="conexao"] .turno-destaque-global{margin:0 0 3px;padding:7px 9px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-game{padding-bottom:50px!important;gap:5px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-statusbar{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-statusbar>div{grid-column:span 2;padding:4px 6px;border-radius:9px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-statusbar>div:nth-child(4),body.modo-foco[data-jogo-atual="conexao"] .conexao-statusbar>div:nth-child(5){grid-column:span 3}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-statusbar .domino-mini-label{font-size:7px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-statusbar strong{font-size:10px;margin-top:1px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-palco{padding:5px 7px;overflow:auto}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-categoria-wrap{margin-bottom:4px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-categoria-wrap h3{font-size:16px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-palavras{gap:5px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-palavra{min-height:44px;padding:3px 7px 3px 31px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-grade{gap:4px;row-gap:5px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-celula{width:clamp(28px,4.2vw,38px);height:clamp(34px,5vw,45px);font-size:clamp(20px,3.7vw,28px);border-radius:8px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-controles{grid-template-columns:1fr!important;gap:4px;padding:5px 6px;overflow:visible!important}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-letras-wrap>.atividade-kicker{display:none}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-letras{grid-template-columns:repeat(9,minmax(27px,1fr))!important;gap:4px;margin:0}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-letras button{height:28px;font-size:12px}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-acoes{
    left:50%!important;right:auto!important;transform:translateX(-50%)!important;bottom:max(5px,env(safe-area-inset-bottom))!important;
    width:min(520px,calc(100vw - 20px))!important;padding:5px!important;border-radius:12px!important;gap:5px!important
  }
  body.modo-foco[data-jogo-atual="conexao"] .conexao-acoes .botao{min-height:38px!important;height:38px!important;padding:5px 8px!important;font-size:10px!important}
  body.modo-foco[data-jogo-atual="conexao"] #btnConexaoApostar{font-size:11px!important}
  body.modo-foco[data-jogo-atual="conexao"] #feedbackConexao{min-height:0;margin:0;font-size:9px}
}

@media(max-width:620px){
  .botao-som span{display:none}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-statusbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-statusbar>div{grid-column:auto}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-statusbar>div:last-child{grid-column:1/-1}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-letras{grid-template-columns:repeat(7,minmax(27px,1fr))!important}
  body.modo-foco[data-jogo-atual="conexao"] .conexao-celula{width:28px;height:34px;font-size:20px}
}


/* --------------------------------------------------------------------------
   v0.16.1 — Ficha pedagógica dentro de cada jogo
   -------------------------------------------------------------------------- */
.botao-ficha-jogo{white-space:nowrap}
.ficha-jogo-overlay[hidden]{display:none!important}
.ficha-jogo-overlay{position:fixed;inset:0;z-index:1200;background:rgba(15,23,42,.58);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px}
.ficha-jogo-modal{width:min(920px,96vw);max-height:min(88vh,860px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:0 24px 70px rgba(15,23,42,.32);overflow:hidden}
.ficha-jogo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,var(--primary-soft),var(--surface))}
.ficha-jogo-identidade{display:flex;align-items:center;gap:14px;min-width:0}.ficha-jogo-icone{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;font-size:25px;background:var(--surface);border:1px solid var(--border);flex:0 0 auto}.ficha-jogo-identidade small{display:block;color:var(--primary);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.ficha-jogo-identidade h2{margin:3px 0 2px;font-size:22px}.ficha-jogo-identidade p{margin:0;color:var(--text-secondary);font-size:12px}.ficha-jogo-fechar{width:38px;height:38px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);font-size:25px;line-height:1;cursor:pointer;flex:0 0 auto}
.ficha-jogo-body{overflow:auto;padding:18px 20px 24px;overscroll-behavior:contain}.ficha-jogo-destaque{border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));background:var(--primary-soft);border-radius:16px;padding:14px 16px;margin-bottom:14px}.ficha-jogo-destaque span{display:block;color:var(--primary);font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.ficha-jogo-destaque p{margin:6px 0 0;line-height:1.6;font-size:13px}.ficha-jogo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ficha-jogo-secao{border:1px solid var(--border);border-radius:15px;padding:13px 15px;background:var(--surface-2);margin:0 0 12px}.ficha-jogo-grid>.ficha-jogo-secao{margin:0}.ficha-jogo-secao h3{margin:0 0 8px;font-size:13px}.ficha-jogo-secao ul{margin:0;padding-left:18px;color:var(--text-secondary);font-size:12px;line-height:1.55}.ficha-jogo-secao li+li{margin-top:4px}.ficha-jogo-vazio{text-align:center;padding:38px;color:var(--text-secondary)}
.ficha-jogo-actions{display:flex;justify-content:flex-end;gap:10px;padding:13px 20px;border-top:1px solid var(--border);background:var(--surface)}body.ficha-jogo-aberta{overflow:hidden}
:root[data-theme="dark"] .ficha-jogo-overlay{background:rgba(0,0,0,.7)}
body.modo-foco .ficha-jogo-overlay{z-index:1600}body.modo-foco .botao-ficha-jogo span{display:none}
@media(max-width:700px){.ficha-jogo-overlay{padding:8px}.ficha-jogo-modal{width:100%;max-height:94dvh;border-radius:18px}.ficha-jogo-grid{grid-template-columns:1fr}.ficha-jogo-head{padding:14px}.ficha-jogo-body{padding:14px}.ficha-jogo-actions{padding:10px 14px;display:grid;grid-template-columns:1fr 1fr}.ficha-jogo-actions .botao{width:100%;padding-left:8px;padding-right:8px;font-size:11px}}

/* ================================================================
   OPERAÇÃO AURORA v0.16.2 — Batalha Naval · Edição Visual
   ================================================================ */
.naval-cell{position:relative;isolation:isolate;overflow:visible}
.naval-cell.navio-grafico::before{content:"";position:absolute;z-index:1;pointer-events:none;background:linear-gradient(180deg,#6f8498 0%,#34495d 48%,#263848 100%);border:1px solid rgba(20,35,50,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 2px 4px rgba(20,35,50,.18)}
.naval-cell.navio-h::before{top:18%;bottom:18%;left:-3px;right:-3px}
.naval-cell.navio-v::before{left:18%;right:18%;top:-3px;bottom:-3px}
.naval-cell.navio-h.navio-inicio::before{left:10%;border-radius:60% 4px 4px 60%}
.naval-cell.navio-h.navio-fim::before{right:10%;border-radius:4px 60% 60% 4px}
.naval-cell.navio-h.navio-meio::before{border-radius:3px}
.naval-cell.navio-v.navio-inicio::before{top:10%;border-radius:60% 60% 4px 4px}
.naval-cell.navio-v.navio-fim::before{bottom:10%;border-radius:4px 4px 60% 60%}
.naval-cell.navio-v.navio-meio::before{border-radius:3px}
.naval-cell.navio-unico::before{inset:18%;border-radius:50%}
.naval-cell.navio-grafico.navio{background:color-mix(in srgb,#d9efff 66%,var(--surface));border-color:color-mix(in srgb,#547a98 42%,var(--border));color:transparent}
.naval-cell.navio-revelado::before{background:linear-gradient(180deg,#6d5151 0%,#482f34 50%,#2e252a 100%);border-color:#7b3535;filter:saturate(.85)}
.naval-cell.navio-revelado{border-color:color-mix(in srgb,#d33 50%,var(--border))}
.naval-marca{position:relative;z-index:5;display:grid;place-items:center;width:72%;height:72%;border-radius:50%;font-style:normal;font-weight:950;line-height:1;pointer-events:none}
.naval-cell.agua .naval-marca{color:#2b79a9;background:rgba(255,255,255,.42);font-size:clamp(16px,1.7vw,24px);box-shadow:0 0 0 2px rgba(72,157,210,.18)}
.naval-cell.acerto .naval-marca{color:#fff;background:#df453f;font-size:clamp(13px,1.45vw,21px);box-shadow:0 0 0 3px rgba(239,83,80,.22),0 2px 7px rgba(120,15,12,.3)}
.naval-cell.afundou .naval-marca{color:#fff;background:#9e2524;font-size:clamp(13px,1.45vw,21px);box-shadow:0 0 0 3px rgba(180,34,31,.28),0 2px 8px rgba(80,12,12,.35)}
.naval-cell.ultimo-tiro{outline:3px solid color-mix(in srgb,#ffd54f 80%,var(--primary));outline-offset:1px;z-index:7}
.naval-cell.bombardeando{z-index:12;border-color:#f2b632!important;box-shadow:0 0 0 3px rgba(242,182,50,.22)}
.naval-cell.bombardeando::after{content:"💣";position:absolute;z-index:20;left:50%;top:50%;font-size:clamp(18px,2vw,28px);filter:drop-shadow(0 5px 5px rgba(0,0,0,.3));animation:naval-bomba-cair .36s cubic-bezier(.2,.75,.35,1) both;pointer-events:none}
.naval-cell.impacto-agua::after{content:"💦";position:absolute;z-index:24;left:50%;top:50%;font-size:clamp(24px,3vw,42px);animation:naval-impacto .85s ease-out both;pointer-events:none}
.naval-cell.impacto-acerto::after,.naval-cell.impacto-afundou::after{content:"💥";position:absolute;z-index:24;left:50%;top:50%;font-size:clamp(25px,3.2vw,45px);animation:naval-impacto .85s ease-out both;filter:drop-shadow(0 3px 4px rgba(90,0,0,.25));pointer-events:none}
.naval-cell.impacto-afundou::after{font-size:clamp(30px,3.7vw,52px);animation-duration:1s}
@keyframes naval-bomba-cair{0%{opacity:0;transform:translate(-50%,-280%) scale(.7) rotate(-14deg)}20%{opacity:1}100%{opacity:1;transform:translate(-50%,-50%) scale(1.05) rotate(8deg)}}
@keyframes naval-impacto{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}28%{opacity:1;transform:translate(-50%,-50%) scale(1.35)}70%{opacity:1;transform:translate(-50%,-50%) scale(.95)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.2)}}
.naval-board-card{background:linear-gradient(180deg,color-mix(in srgb,#eaf7ff 48%,var(--surface-2)),var(--surface-2))}
.naval-board-card.radar{box-shadow:inset 0 0 0 1px color-mix(in srgb,#2c7be5 10%,transparent)}
.naval-board-head strong::before{content:"🌊 ";font-size:.9em}
.naval-legenda{border-top:1px solid var(--border);padding-top:8px}
.naval-dot.navio{background:linear-gradient(180deg,#6f8498,#34495d);border-color:#263848}
:root[data-theme="dark"] .naval-cell.navio-grafico.navio{background:color-mix(in srgb,#203650 72%,var(--surface-2));border-color:color-mix(in srgb,#547a98 58%,var(--border))}
:root[data-theme="dark"] .naval-cell.navio-grafico::before{background:linear-gradient(180deg,#8b9eae,#50677a 48%,#344858);border-color:#21303e;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 2px 5px rgba(0,0,0,.3)}
:root[data-theme="dark"] .naval-cell.navio-revelado::before{background:linear-gradient(180deg,#765252,#503337,#31272b);border-color:#8e4747}
@media(max-width:840px){.naval-cell.bombardeando::after{font-size:25px}.naval-cell.impacto-agua::after,.naval-cell.impacto-acerto::after,.naval-cell.impacto-afundou::after{font-size:31px}}
@media(prefers-reduced-motion:reduce){.naval-cell.bombardeando::after,.naval-cell.impacto-agua::after,.naval-cell.impacto-acerto::after,.naval-cell.impacto-afundou::after{animation:none}.naval-cell:not(:disabled):hover{transform:none}}


/* v0.16.3 — Ranking acessível também no Modo Foco */
.botao-ranking-jogo{white-space:nowrap}
body.modo-foco .botao-ranking-jogo{border-color:color-mix(in srgb,var(--primary) 34%,var(--border));background:color-mix(in srgb,var(--primary-soft) 75%,var(--surface));color:var(--primary)}
body.modo-foco .botao-ranking-jogo:hover{border-color:var(--primary);background:var(--primary-soft)}
@media(max-width:720px){.jogo-header-actions .botao-ranking-jogo span{display:none}.jogo-header-actions .botao-ranking-jogo{width:38px;padding:7px 8px}}
@media(max-width:520px){.jogo-header-actions{gap:5px}.jogo-header-actions .botao-foco{min-height:34px;padding:6px 8px}.jogo-header-actions .botao-ranking-jogo{width:34px}}

/* OPERAÇÃO AURORA v0.17.0 — Memória em Rede / Motor de Cartas */
.memoria-config-box{margin-top:12px}.memoria-config-controles{align-items:flex-start}.memoria-game{display:grid;gap:12px}.memoria-statusbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.memoria-statusbar>div{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;padding:9px 12px;display:flex;flex-direction:column;gap:3px}.memoria-jogadores{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.memoria-jogador{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:7px 11px;font-size:12px;font-weight:750;display:flex;gap:7px;align-items:center}.memoria-jogador.atual{border-color:color-mix(in srgb,var(--primary) 58%,var(--border));background:var(--primary-soft);color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 10%,transparent)}.memoria-jogador b{font-size:13px}.memoria-tabuleiro{display:grid;grid-template-columns:repeat(4,minmax(70px,1fr));gap:10px;max-width:760px;width:100%;margin:0 auto;align-content:center}.memoria-carta{aspect-ratio:1/1.08;min-height:78px;border:2px solid var(--border);border-radius:16px;background:linear-gradient(145deg,var(--primary),color-mix(in srgb,var(--primary) 72%,#101936));color:white;display:grid;place-items:center;font-size:clamp(28px,4vw,48px);font-weight:900;cursor:pointer;position:relative;box-shadow:0 7px 16px rgba(10,20,50,.14);transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.memoria-carta::after{content:'✦';font-size:24px;opacity:.75}.memoria-carta:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px rgba(10,20,50,.2)}.memoria-carta.aberta,.memoria-carta.encontrada{background:var(--surface);color:var(--text-primary);border-color:color-mix(in srgb,var(--primary) 30%,var(--border));transform:rotateY(0)}.memoria-carta.aberta::after,.memoria-carta.encontrada::after{content:''}.memoria-carta.encontrada{background:color-mix(in srgb,#dcfce7 70%,var(--surface));border-color:#86c99d;box-shadow:none;cursor:default}.memoria-carta:disabled{cursor:default}.memoria-carta.revelando{animation:memoriaFlip .35s ease}.memoria-evento{text-align:center;margin:0;color:var(--text-secondary);font-size:12px;min-height:20px}.memoria-resultado{border:1px solid var(--border);background:var(--surface-2);border-radius:16px;padding:14px;text-align:center}.memoria-resultado strong{display:block;font-size:18px;margin-bottom:4px}.memoria-admin{text-align:center}.memoria-vazio{grid-column:1/-1;padding:40px 20px;border:1px dashed var(--border);border-radius:16px;color:var(--text-secondary);text-align:center}@keyframes memoriaFlip{0%{transform:scale(.86) rotateY(70deg)}100%{transform:scale(1) rotateY(0)}}
body.modo-foco[data-jogo-atual="memoria"] .painel-jogo{height:100vh;max-height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:9px 12px}body.modo-foco[data-jogo-atual="memoria"] #blocoJogoMemoria{flex:1;min-height:0;overflow:auto}body.modo-foco[data-jogo-atual="memoria"] .memoria-game{min-height:100%;grid-template-rows:auto auto minmax(0,1fr) auto auto auto}body.modo-foco[data-jogo-atual="memoria"] .memoria-tabuleiro{height:100%;max-height:calc(100vh - 240px);grid-auto-rows:minmax(62px,1fr)}body.modo-foco[data-jogo-atual="memoria"] .memoria-carta{min-height:60px;aspect-ratio:auto}
@media(max-width:760px){.memoria-tabuleiro{grid-template-columns:repeat(4,minmax(54px,1fr));gap:7px}.memoria-carta{min-height:66px;border-radius:13px;font-size:clamp(25px,8vw,40px)}.memoria-statusbar{grid-template-columns:1fr 1fr}.memoria-statusbar>div:first-child{grid-column:1/-1}.memoria-jogador{padding:6px 9px}.memoria-evento{font-size:11px}}@media(max-width:420px){.memoria-tabuleiro{grid-template-columns:repeat(4,minmax(48px,1fr));gap:6px}.memoria-carta{min-height:58px;border-radius:11px}.memoria-statusbar>div{padding:7px 9px}}

/* --------------------------------------------------------------------------
   v0.18.0 — Motor de Cartas: Associação + seleção de jogadores aprimorada
   -------------------------------------------------------------------------- */
.memoria-selecao-jogadores .trilha-jogador-check,
.associacao-selecao-jogadores .trilha-jogador-check{min-width:0;align-items:center;gap:8px;padding:8px 9px}
.memoria-selecao-jogadores .trilha-jogador-check input[type="checkbox"],
.associacao-selecao-jogadores .trilha-jogador-check input[type="checkbox"]{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;flex:0 0 18px;margin:0;padding:0;accent-color:var(--primary)}
.memoria-selecao-jogadores .trilha-jogador-check span,
.associacao-selecao-jogadores .trilha-jogador-check span{flex:1;min-width:0;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25;font-size:11px}

.associacao-config-box{margin-top:12px}.associacao-config-controles{align-items:flex-start}.associacao-game{display:grid;gap:11px}.associacao-statusbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.associacao-statusbar>div{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;padding:9px 11px;display:flex;flex-direction:column;gap:3px}
.associacao-tabuleiro{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:9px;max-width:940px;width:100%;margin:0 auto;align-content:center}.associacao-tabuleiro.pares-10{grid-template-columns:repeat(5,minmax(86px,1fr));max-width:1060px}.associacao-tabuleiro.pares-12{grid-template-columns:repeat(6,minmax(82px,1fr));max-width:1160px}.associacao-carta{min-height:92px;border:2px solid var(--border);border-radius:15px;background:linear-gradient(145deg,var(--primary),color-mix(in srgb,var(--primary) 70%,#12203d));color:white;display:grid;place-items:center;padding:10px;cursor:pointer;position:relative;box-shadow:0 7px 16px rgba(10,20,50,.14);transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.associacao-carta>span{font-size:clamp(12px,1.35vw,17px);font-weight:850;line-height:1.2;text-align:center;overflow-wrap:anywhere}.associacao-carta:not(.aberta):not(.encontrada)>span{font-size:clamp(25px,3vw,38px);opacity:.82}.associacao-carta:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px rgba(10,20,50,.2)}.associacao-carta.aberta,.associacao-carta.encontrada{background:var(--surface);color:var(--text-primary);border-color:color-mix(in srgb,var(--primary) 30%,var(--border))}.associacao-carta.encontrada{background:color-mix(in srgb,#dcfce7 72%,var(--surface));border-color:#83c99b;box-shadow:none}.associacao-carta:disabled{cursor:default}.associacao-carta.revelando{animation:memoriaFlip .35s ease}.associacao-tabuleiro.minha-vez .associacao-carta:not(:disabled){outline:1px solid color-mix(in srgb,var(--primary) 16%,transparent)}

body.modo-foco[data-jogo-atual="associacao"] .painel-jogo{height:100vh;max-height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:9px 12px}body.modo-foco[data-jogo-atual="associacao"] #blocoJogoAssociacao{flex:1;min-height:0;overflow:auto}body.modo-foco[data-jogo-atual="associacao"] .associacao-game{min-height:100%;grid-template-rows:auto auto minmax(0,1fr) auto auto auto}body.modo-foco[data-jogo-atual="associacao"] .associacao-tabuleiro{height:100%;align-content:center}body.modo-foco[data-jogo-atual="associacao"] .associacao-carta{min-height:64px;padding:7px}body.modo-foco[data-jogo-atual="associacao"] .associacao-carta>span{font-size:clamp(11px,1.15vw,15px)}

@media(max-width:900px){.associacao-tabuleiro,.associacao-tabuleiro.pares-10,.associacao-tabuleiro.pares-12{grid-template-columns:repeat(4,minmax(58px,1fr));gap:7px}.associacao-carta{min-height:78px;padding:7px;border-radius:12px}.associacao-carta>span{font-size:clamp(11px,2vw,15px)}.associacao-statusbar{grid-template-columns:1fr 1fr}.associacao-jogadores-campo,.memoria-jogadores-campo{min-width:0!important}}
@media(max-width:620px){.memoria-selecao-jogadores,.associacao-selecao-jogadores{grid-template-columns:1fr}.memoria-selecao-jogadores .trilha-jogador-check span,.associacao-selecao-jogadores .trilha-jogador-check span{font-size:12px}.associacao-carta{min-height:68px}.associacao-statusbar>div{padding:7px 9px}}

/* ==========================================================
   OPERAÇÃO AURORA v0.19.0 — Sequência em Rede
   ========================================================== */
.sequencia-config-box{margin-top:12px}
.sequencia-game{display:flex;flex-direction:column;gap:12px}
.sequencia-statusbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.sequencia-statusbar>div{border:1px solid var(--border);background:var(--surface-2);border-radius:13px;padding:9px 11px;min-width:0}
.sequencia-statusbar strong{display:block;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sequencia-desafio{border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:18px;box-shadow:var(--shadow-sm)}
.sequencia-desafio h3{margin:4px 0 4px;text-align:center;font-size:clamp(20px,2.4vw,30px)}
.sequencia-desafio>p{text-align:center;color:var(--text-secondary);margin:0 0 16px}
.sequencia-cartas{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:stretch}
.sequencia-carta{position:relative;min-height:130px;border:2px solid var(--border);border-radius:16px;background:linear-gradient(180deg,var(--surface),var(--surface-2));padding:34px 10px 44px;display:grid;place-items:center;text-align:center;box-shadow:0 8px 20px rgba(20,32,70,.08)}
.sequencia-carta>b{position:absolute;top:8px;left:9px;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:11px}
.sequencia-carta>span{font-weight:900;font-size:clamp(16px,1.8vw,23px);line-height:1.15;overflow-wrap:anywhere}
.sequencia-carta.editavel{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--primary-soft) 24%,var(--surface)),var(--surface))}
.sequencia-carta.correta{border-color:#73bc8b;background:color-mix(in srgb,#dcfce7 68%,var(--surface))}
.sequencia-mover{position:absolute;left:8px;right:8px;bottom:8px;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.sequencia-mover button{height:30px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--text-primary);font-weight:900;cursor:pointer}
.sequencia-mover button:not(:disabled):hover{border-color:var(--primary);color:var(--primary)}
.sequencia-mover button:disabled{opacity:.3;cursor:not-allowed}
.sequencia-acoes{display:flex;justify-content:center;margin-top:14px}
.sequencia-acoes .botao{min-width:220px}
.sequencia-resultado{margin-top:0}
:root[data-theme="dark"] .sequencia-carta.correta{background:color-mix(in srgb,#1f5f3b 48%,var(--surface));border-color:#4f9b69}
body.modo-foco[data-jogo-atual="sequencia"] .painel-jogo{height:100vh;max-height:100vh;overflow:hidden;display:flex;flex-direction:column}
body.modo-foco[data-jogo-atual="sequencia"] #blocoJogoSequencia{flex:1;min-height:0;overflow:auto}
body.modo-foco[data-jogo-atual="sequencia"] .sequencia-game{min-height:100%}
body.modo-foco[data-jogo-atual="sequencia"] .sequencia-desafio{padding:12px}
body.modo-foco[data-jogo-atual="sequencia"] .sequencia-carta{min-height:112px;padding-top:30px;padding-bottom:38px}
@media(max-width:900px){.sequencia-statusbar{grid-template-columns:repeat(2,minmax(0,1fr))}.sequencia-cartas{grid-template-columns:repeat(3,minmax(0,1fr))}.sequencia-carta{min-height:110px}}
@media(max-width:600px){.sequencia-desafio{padding:12px}.sequencia-cartas{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sequencia-carta{min-height:102px;border-radius:13px;padding-left:7px;padding-right:7px}.sequencia-carta>span{font-size:15px}.sequencia-acoes .botao{width:100%;min-width:0}}

/* =========================================================
   OPERAÇÃO AURORA v0.21.0 — Batalha de Cartas · Regras Personalizáveis
   ========================================================= */
.batalha-cartas-config-box{margin-top:12px}
.batalha-cartas-game{display:flex;flex-direction:column;gap:12px}
.batalha-cartas-statusbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.batalha-cartas-statusbar>div{border:1px solid var(--border);background:var(--surface-2);border-radius:13px;padding:9px 11px;min-width:0}
.batalha-cartas-statusbar strong{display:block;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.batalha-cartas-mesa{border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:18px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;gap:12px}
.batalha-cartas-carta{width:min(360px,100%);min-height:205px;border:3px solid var(--border);border-radius:22px;background:linear-gradient(155deg,var(--surface),var(--surface-2));box-shadow:0 14px 34px rgba(20,32,70,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:8px;position:relative;overflow:hidden}
.batalha-cartas-carta::before{content:'SALA VIVA';position:absolute;top:12px;left:14px;font-size:10px;letter-spacing:.14em;font-weight:900;color:var(--text-secondary);opacity:.65}
.batalha-cartas-carta strong{font-size:clamp(34px,6vw,64px);line-height:1;font-weight:1000;overflow-wrap:anywhere}
.batalha-cartas-carta small{font-size:13px;color:var(--text-secondary);font-weight:800}
.batalha-cartas-carta.privada{border-style:dashed}
.batalha-cartas-carta.pronta{border-color:#73bc8b;background:color-mix(in srgb,#dcfce7 52%,var(--surface))}
.batalha-cartas-verso{font-size:52px}
.batalha-cartas-pronto{min-width:220px}
.batalha-cartas-revelacao{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.batalha-cartas-revelada{min-height:150px;border:2px solid var(--border);border-radius:16px;background:var(--surface);padding:14px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;box-shadow:var(--shadow-sm)}
.batalha-cartas-revelada.vencedora{border-color:#d5a21f;background:color-mix(in srgb,#fff4c5 60%,var(--surface));transform:translateY(-2px)}
.batalha-cartas-revelada .nome{font-size:12px;color:var(--text-secondary);font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.batalha-cartas-revelada strong{font-size:clamp(26px,3vw,40px);line-height:1.05}
.batalha-cartas-revelada small{color:var(--text-secondary)}
.batalha-cartas-revelada .valor{font-weight:900;color:var(--primary)}
.batalha-cartas-resultado{margin-top:0}
:root[data-theme="dark"] .batalha-cartas-carta.pronta{background:color-mix(in srgb,#1f5f3b 42%,var(--surface));border-color:#4f9b69}
:root[data-theme="dark"] .batalha-cartas-revelada.vencedora{background:color-mix(in srgb,#725f1f 42%,var(--surface));border-color:#b39132}
body.modo-foco[data-jogo-atual="batalha_cartas"] .painel-jogo{height:100vh;max-height:100vh;overflow:hidden;display:flex;flex-direction:column}
body.modo-foco[data-jogo-atual="batalha_cartas"] #blocoJogoBatalhaCartas{flex:1;min-height:0;overflow:auto}
body.modo-foco[data-jogo-atual="batalha_cartas"] .batalha-cartas-game{min-height:100%}
@media(max-width:720px){.batalha-cartas-statusbar{grid-template-columns:1fr 1fr}.batalha-cartas-statusbar>div:last-child{grid-column:1/-1}.batalha-cartas-mesa{padding:12px}.batalha-cartas-carta{min-height:170px}.batalha-cartas-pronto{width:100%;min-width:0}.batalha-cartas-revelacao{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v0.21.0 — Batalha de Cartas com mão e regras personalizáveis */
.batalha-cartas-statusbar{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}
.batalha-cartas-mao{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;align-items:stretch}
.batalha-cartas-mao>.batalha-cartas-carta{justify-self:center;grid-column:1/-1}
.batalha-cartas-opcao{appearance:none;border:3px solid var(--border);border-radius:20px;background:linear-gradient(155deg,var(--surface),var(--surface-2));color:var(--text-primary);padding:16px 13px;min-height:255px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;box-shadow:var(--shadow-sm);transition:.16s ease;cursor:pointer}
.batalha-cartas-opcao:hover:not(:disabled){transform:translateY(-3px);border-color:var(--primary)}
.batalha-cartas-opcao.selecionada{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 18%,transparent),var(--shadow-sm)}
.batalha-cartas-opcao.bloqueada{cursor:default;opacity:.82}
.batalha-cartas-opcao>strong{font-size:clamp(22px,3vw,34px);line-height:1.05}
.batalha-cartas-opcao>small{color:var(--text-secondary);font-weight:700;min-height:1.3em}
.batalha-cartas-opcao>em{font-style:normal;font-weight:900;color:var(--primary);margin-top:auto}
.batalha-cartas-emoji{font-size:42px;line-height:1}
.batalha-cartas-atributos{width:100%;display:flex;flex-direction:column;gap:5px;margin-top:4px}
.batalha-cartas-atributo{display:flex;justify-content:space-between;gap:8px;align-items:center;border:1px solid var(--border);border-radius:10px;padding:6px 8px;background:var(--surface)}
.batalha-cartas-atributo b{font-size:11px;text-align:left;color:var(--text-secondary)}
.batalha-cartas-atributo strong{font-size:13px;white-space:nowrap}
.batalha-cartas-atributo.destaque{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface))}
.batalha-cartas-revelada .batalha-cartas-emoji{font-size:34px}
@media(max-width:720px){.batalha-cartas-mao{grid-template-columns:1fr}.batalha-cartas-opcao{min-height:210px}.batalha-cartas-statusbar>div:last-child{grid-column:auto}}
/* v0.21.1 — revelação no topo e em destaque */
.batalha-cartas-revelacao-topo:not([hidden]){scroll-margin-top:86px;border:2px solid color-mix(in srgb,var(--primary) 45%,var(--border));border-radius:20px;padding:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 8%,var(--surface)),var(--surface));box-shadow:0 16px 36px rgba(20,32,70,.12)}
.batalha-cartas-resultado-topo:not([hidden]){order:0;margin:0;border-width:2px}
.batalha-cartas-revelacao-topo .batalha-cartas-revelada{min-height:185px}
.batalha-cartas-revelacao-topo .batalha-cartas-revelada.vencedora{box-shadow:0 0 0 4px color-mix(in srgb,#d5a21f 20%,transparent),var(--shadow-sm)}
@media(max-width:720px){.batalha-cartas-revelacao-topo:not([hidden]){padding:10px;gap:8px}.batalha-cartas-revelacao-topo .batalha-cartas-revelada{min-height:165px}}
