/* ════════════════════════════════════════════════════════════════════════
   THE MINER · Lounge — a transmissão do robô para a TV (1, 2 ou 3 telas)
   Tudo em "em": o tamanho vem da altura da tela, então fica igual numa TV 4K, num
   monitor ou em três monitores lado a lado. Visual Matrix (verde) ou Ressurreições (azul).
   ════════════════════════════════════════════════════════════════════════ */
body.no-lounge { overflow: hidden; }
body.no-lounge #avisos { display: none !important; } /* na TV, os avisos do painel viram o letreiro */

#lounge.lv {
  --lv-escala: 1.15;
  --lv-pri: #22ff88; --lv-pri-claro: #9dffc9; --lv-sec: #27d3ff;
  --lv-fundo: #010704; --lv-vidro: rgba(3, 17, 10, 0.8); --lv-vidro-forte: rgba(2, 12, 7, 0.95);
  --lv-borda: rgba(34, 255, 136, 0.2); --lv-borda-forte: rgba(34, 255, 136, 0.45);
  --lv-texto: #e2fff0; --lv-texto-2: #91c9a9; --lv-texto-3: #5a8a70;
  --lv-brilho: rgba(34, 255, 136, 0.35);
  --lv-gutter: max(1.1em, env(safe-area-inset-left, 0px));
  position: fixed; inset: 0; z-index: 60;
  display: grid; grid-template-rows: auto 3px minmax(0, 1fr) auto;
  background: var(--lv-fundo); color: var(--lv-texto);
  font: 400 calc(clamp(13px, 1.62vh, 46px) * var(--lv-escala))/1.45 var(--fonte-texto);
  overflow: hidden; cursor: none;
}
#lounge.lv[data-letra="normal"] { --lv-escala: 1; }
#lounge.lv[data-letra="grande"] { --lv-escala: 1.15; }
#lounge.lv[data-letra="enorme"] { --lv-escala: 1.34; }
#lounge.lv[data-tema="ressurreicao"] {
  --lv-pri: #3cc8ff; --lv-pri-claro: #b2e9ff; --lv-sec: #9aa6ff;
  --lv-fundo: #01050b; --lv-vidro: rgba(3, 11, 22, 0.82); --lv-vidro-forte: rgba(2, 8, 16, 0.95);
  --lv-borda: rgba(60, 200, 255, 0.22); --lv-borda-forte: rgba(60, 200, 255, 0.5);
  --lv-texto: #e6f6ff; --lv-texto-2: #94bdd3; --lv-texto-3: #57798c; --lv-brilho: rgba(60, 200, 255, 0.35);
}
#lounge.lv.controles-visiveis { cursor: default; }
#lounge.lv > * { position: relative; z-index: 1; }
#lounge.lv .num { font-family: var(--fonte-dados); font-variant-numeric: tabular-nums; }
#lounge.lv .alta { color: var(--alta); }
#lounge.lv .queda { color: var(--queda); }
#lounge.lv .fraco { color: var(--lv-texto-2); }
#lounge.lv h2, #lounge.lv h3 { color: var(--lv-pri-claro); }

.lv-fundo { position: absolute !important; inset: 0; width: 100%; height: 100%; z-index: 0 !important; opacity: 0.1; pointer-events: none; }
#lounge.lv::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: radial-gradient(130% 100% at 50% 45%, transparent 55%, rgba(0, 0, 0, 0.6) 100%),
    repeating-linear-gradient(to bottom, transparent 0 2px, rgba(0, 0, 0, 0.12) 2px 3px); }

/* ── topo (faixa da transmissão) ─────────────────────────────────────── */
.lv-topo { display: flex; align-items: center; gap: 1.4em;
  padding: calc(0.6em + env(safe-area-inset-top, 0px)) max(1.1em, env(safe-area-inset-right, 0px)) 0.55em var(--lv-gutter);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55), transparent); }
.lv-marca { display: flex; align-items: center; gap: 0.6em; white-space: nowrap; }
.lv-emblema svg { width: 1.7em; height: 1.7em; display: block; filter: drop-shadow(0 0 6px var(--lv-brilho)); }
.lv-marca > b { font-family: var(--fonte-display); font-weight: 700; letter-spacing: 0.26em; color: var(--lv-pri-claro); }
.lv-ao-vivo { display: inline-flex; align-items: center; gap: 0.45em; padding: 0.18em 0.6em; border-radius: 2px;
  background: #d81e45; color: #fff; font: 700 0.68em/1.2 var(--fonte-display); letter-spacing: 0.2em; text-transform: uppercase; }
.lv-ao-vivo i { width: 0.6em; height: 0.6em; border-radius: 50%; background: #fff; animation: lv-piscar 1.4s ease-in-out infinite; }
.lv-modo { font: 600 0.62em/1.2 var(--fonte-display); letter-spacing: 0.16em; text-transform: uppercase; color: var(--lv-texto-2);
  border: 1px solid var(--lv-borda); padding: 0.25em 0.55em; border-radius: 2px; }
.lv-agora { flex: 1; display: grid; justify-items: center; line-height: 1.15; min-width: 0; text-align: center; }
.lv-agora small { font: 600 0.62em/1.3 var(--fonte-display); letter-spacing: 0.22em; text-transform: uppercase; color: var(--lv-texto-3); }
.lv-agora b { font: 700 1.3em/1.1 var(--fonte-display); letter-spacing: 0.08em; color: #fff; text-shadow: 0 0 14px var(--lv-brilho); }
.lv-agora span { font-size: 0.72em; color: var(--lv-texto-2); }
.lv-placar-mini { display: flex; gap: 1.5em; }
.lv-placar-mini div { display: grid; text-align: right; line-height: 1.2; }
.lv-placar-mini small, .lv-campo span, .lv-lado-rotulo { font: 600 0.58em/1.3 var(--fonte-display); letter-spacing: 0.2em; text-transform: uppercase; color: var(--lv-texto-3); }
.lv-placar-mini b { font-size: 1.02em; font-weight: 500; color: #fff; }
.lv-relogio { font-size: 1.15em; color: #fff; letter-spacing: 0.04em; }

.lv-tempo { background: rgba(255, 255, 255, 0.05); overflow: hidden; }
.lv-tempo i { display: block; height: 100%; transform-origin: left; transform: scaleX(0);
  background: linear-gradient(90deg, var(--lv-pri), var(--lv-sec)); box-shadow: 0 0 10px var(--lv-pri); transition: transform 200ms linear; }
.lv-tempo.parado i { background: var(--alerta); box-shadow: none; }

/* ── palco e painéis ─────────────────────────────────────────────────── */
.lv-palco { display: grid; gap: 0.9em; min-height: 0; padding: 0.8em max(1.1em, env(safe-area-inset-right, 0px)) 0.8em var(--lv-gutter);
  grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr); }
.lv-palco[data-paineis="principal"], .lv-palco[data-paineis="ficha"], .lv-palco[data-paineis="fila"] { grid-template-columns: minmax(0, 1fr); }
#lounge.lv[data-telas="2"] .lv-palco[data-paineis="principal ficha"] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.2em; }
.lv-palco[data-paineis="fila principal ficha"] { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.2em; }
#lounge.lv[data-telas="1"] .lv-palco.cena-ativa[data-paineis="principal ficha"] { grid-template-columns: minmax(0, 1fr); }
#lounge.lv[data-telas="1"] .lv-palco.cena-ativa .p-ficha { display: none; }
.lv-painel { min-width: 0; min-height: 0; position: relative; }
.p-principal { display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: 0.7em; }
.lv-principal-conteudo { min-height: 0; position: relative; }
.p-ficha, .p-fila { display: flex; flex-direction: column; min-height: 0; }
.p-ficha { container: ficha / inline-size; }
.lv-ficha-fila { display: none; }
.lv-ficha-fila h3 { font: 600 0.68em/1.3 var(--fonte-display); letter-spacing: 0.22em; text-transform: uppercase; color: var(--lv-texto-3); margin: 0.4em 0 0.4em; }

.p-fila { background: var(--lv-vidro); border: 1px solid var(--lv-borda); border-radius: 4px; padding: 1em 1.1em; gap: 0.5em; overflow: hidden; }
.p-fila h3, .lv-lado h3, .lv-ajustes h3 { font: 600 0.68em/1.3 var(--fonte-display); letter-spacing: 0.22em; text-transform: uppercase; color: var(--lv-texto-3); margin-top: 0.7em; }

/* cantos de mira nos quadros principais */
.lv-slot-grafico, .lv-slot-ficha { position: relative; }
.lv-slot-grafico::before, .lv-slot-grafico::after, .lv-slot-ficha::before, .lv-slot-ficha::after {
  content: ""; position: absolute; width: 1.2em; height: 1.2em; border: 2px solid var(--lv-pri); pointer-events: none; z-index: 3; opacity: 0.85; }
.lv-slot-grafico::before, .lv-slot-ficha::before { top: -1px; left: -1px; border-right: 0; border-bottom: 0; }
.lv-slot-grafico::after, .lv-slot-ficha::after { bottom: -1px; right: -1px; border-left: 0; border-top: 0; }

/* ── gráfico ─────────────────────────────────────────────────────────── */
.lv-slot-grafico { height: 100%; display: grid; grid-template-rows: auto minmax(0, 1fr); background: var(--lv-vidro);
  border: 1px solid var(--lv-borda); border-radius: 4px; overflow: hidden; }
.lv-graf-titulo { display: flex; align-items: baseline; gap: 0.8em; padding: 0.55em 0.9em 0.2em; }
.lv-graf-titulo b { font: 700 1.25em/1.1 var(--fonte-display); letter-spacing: 0.1em; color: #fff; }
.lv-graf-titulo span { font-size: 0.74em; color: var(--lv-texto-2); text-transform: uppercase; letter-spacing: 0.12em; }
.lv-chip { padding: 0.15em 0.5em; border-radius: 2px; font: 600 0.62em/1.3 var(--fonte-display) !important; letter-spacing: 0.14em; }
.lv-chip.long { background: rgba(61, 255, 162, 0.16); color: var(--alta) !important; }
.lv-chip.short { background: rgba(255, 79, 123, 0.16); color: var(--queda) !important; }
.lv-graf { position: relative; min-height: 0; }
.lv-graf-lc, .lv-graf-sobre { position: absolute; inset: 0; }
.lv-graf-sobre { pointer-events: none; opacity: 0; transition: opacity 700ms; overflow: hidden; }
.lv-graf-sobre.visivel { opacity: 1; }
.lv-graf-legenda { position: absolute; top: 0.2em; left: 0.9em; display: flex; flex-wrap: wrap; gap: 0.3em 1.1em; font-size: 0.68em; color: var(--lv-texto-2); pointer-events: none; z-index: 2; max-width: 70%; }
.lv-leg-item { display: inline-flex; align-items: center; gap: 0.45em; }
.lv-leg-item i { width: 1.5em; height: 3px; border-radius: 2px; display: inline-block; }
.lv-leg-item i.tracejada { background-image: linear-gradient(90deg, currentColor 50%, transparent 50%) !important; background-size: 6px 3px !important; }
.lv-sem-grafico { display: grid; place-items: center; height: 100%; color: var(--lv-texto-2); }

.lv-ponto { position: absolute; left: 0; top: 0; width: 0; height: 0; transition: transform 180ms linear; }
.lv-ponto::before { content: ""; position: absolute; width: 0.85em; height: 0.85em; left: -0.425em; top: -0.425em; border-radius: 50%;
  background: #fff; box-shadow: 0 0 0 0.25em rgba(255, 255, 255, 0.18), 0 0 1.2em var(--lv-sec); animation: lv-pulso 1.6s ease-out infinite; }
.lv-ponto span { position: absolute; left: 0.9em; top: -1.9em; font: 600 0.62em/1 var(--fonte-display); letter-spacing: 0.2em; text-transform: uppercase; color: #fff;
  background: rgba(0, 0, 0, 0.55); padding: 0.25em 0.45em; border-radius: 2px; white-space: nowrap; }
.lv-zona { position: absolute; border-left: 2px solid; }
.lv-zona span { position: absolute; left: 0.55em; top: 0.35em; font: 600 0.62em/1.25 var(--fonte-display); letter-spacing: 0.08em; white-space: nowrap; text-transform: uppercase; }
.lv-zona.ganho { background: linear-gradient(90deg, rgba(61, 255, 162, 0.2), rgba(61, 255, 162, 0.05)); border-color: var(--alta); }
.lv-zona.ganho span { color: var(--alta); top: 0.35em; }
.lv-zona.risco { background: linear-gradient(90deg, rgba(255, 79, 123, 0.22), rgba(255, 79, 123, 0.05)); border-color: var(--queda); }
.lv-zona.risco span { color: var(--queda); top: auto; bottom: 0.35em; }
.lv-regua { position: absolute; width: 0; border-left: 2px dashed var(--alerta); }
.lv-regua::before, .lv-regua::after { content: ""; position: absolute; left: -0.45em; width: 0.7em; border-top: 2px solid var(--alerta); }
.lv-regua::before { top: 0; } .lv-regua::after { bottom: 0; }
.lv-regua span { display: none; position: absolute; left: 0.8em; top: 50%; transform: translateY(-50%); white-space: nowrap; font: 700 0.78em/1.2 var(--fonte-display);
  letter-spacing: 0.06em; color: #1b1200; background: var(--alerta); padding: 0.3em 0.55em; border-radius: 2px; box-shadow: 0 0 1em rgba(255, 201, 77, 0.45); }
.lv-regua.passou { border-color: var(--lv-pri); }
.lv-regua.passou span { background: var(--lv-pri); }

/* ── narrador ────────────────────────────────────────────────────────── */
.lv-narrador { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 1em; padding: 0.65em 1em;
  background: linear-gradient(90deg, color-mix(in srgb, var(--lv-pri) 16%, transparent), var(--lv-vidro-forte) 35%);
  border-left: 4px solid var(--lv-pri); border-radius: 0 4px 4px 0; }
.lv-narrador small { font: 700 0.58em/1.2 var(--fonte-display); letter-spacing: 0.22em; text-transform: uppercase; color: var(--lv-fundo);
  background: var(--lv-pri); padding: 0.35em 0.6em; border-radius: 2px; white-space: nowrap; }
.lv-narrador-texto { font-size: 1.1em; line-height: 1.4; color: #fff; min-height: 2.8em; display: flex; align-items: center; text-wrap: pretty; }
.lv-narrador-texto::after { content: "▌"; color: var(--lv-pri); margin-left: 0.15em; animation: lv-cursor 1s steps(1) infinite; }

/* ── ficha (o que o robô espera) ─────────────────────────────────────── */
.lv-slot-ficha { height: 100%; display: flex; flex-direction: column; gap: 0.75em; padding: 0.95em 1.05em; background: var(--lv-vidro);
  border: 1px solid var(--lv-borda); border-radius: 4px; overflow: hidden; }
.lv-ficha-topo { display: grid; gap: 0.35em; }
.lv-ficha-moeda { display: flex; align-items: baseline; gap: 0.7em; flex-wrap: wrap; }
.lv-ficha-moeda b { font: 700 2.1em/1 var(--fonte-display); letter-spacing: 0.08em; color: #fff; text-shadow: 0 0 18px var(--lv-brilho); }
.lv-ficha-preco { font-size: 1.2em; color: #fff; }
.lv-ficha-var { font-size: 0.82em; }
.lv-ficha-selos { display: flex; flex-wrap: wrap; gap: 0.4em; }
.lv-dir, .lv-estagio { font: 700 0.68em/1.2 var(--fonte-display); letter-spacing: 0.16em; text-transform: uppercase; padding: 0.32em 0.65em; border-radius: 2px; }
.lv-dir.long { background: rgba(61, 255, 162, 0.16); color: var(--alta); }
.lv-dir.short { background: rgba(255, 79, 123, 0.16); color: var(--queda); }
.lv-estagio { border: 1px solid currentColor; color: var(--lv-texto-2); }
.lv-estagio.observando { color: var(--lv-sec); }
.lv-estagio.armando { color: var(--alerta); background: rgba(255, 201, 77, 0.08); }
.lv-estagio.gatilho { color: var(--lv-fundo); background: var(--lv-pri); border-color: var(--lv-pri); box-shadow: 0 0 1.2em var(--lv-brilho); }
.lv-estagio.posicao { color: var(--lv-sec); background: rgba(39, 211, 255, 0.08); }
.lv-estagio.quente, .lv-estagio.pulsa { animation: lv-quente 1.1s ease-in-out infinite; }
.lv-estagio.quente { color: #ff9d4d; }
.lv-ficha-est { display: flex; align-items: baseline; gap: 0.6em; flex-wrap: wrap; font-size: 0.8em; color: var(--lv-texto-2); }
.lv-ficha-est b { font: 600 1.15em/1.2 var(--fonte-display); color: var(--lv-pri-claro); letter-spacing: 0.04em; }
.lv-ficha-corpo { display: flex; flex-direction: column; gap: 0.7em; min-height: 0; overflow: hidden; }

.lv-termo { display: flex; align-items: center; gap: 0.9em; }
.lv-termo > div { display: grid; gap: 0.15em; }
.lv-termo > div b { font: 600 1.02em/1.2 var(--fonte-display); color: #fff; }
.lv-termo > div span { font-size: 0.82em; color: var(--lv-texto-2); }
.lv-anel { position: relative; width: 4.4em; height: 4.4em; flex: 0 0 auto; }
.lv-anel svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.lv-anel circle { fill: none; stroke-width: 9; }
.lv-anel .fundo { stroke: rgba(255, 255, 255, 0.07); }
.lv-anel .frente { stroke-linecap: round; transition: stroke-dashoffset 1s cubic-bezier(.2, .8, .2, 1); filter: drop-shadow(0 0 4px currentColor); }
.lv-anel > b { position: absolute; inset: 0; display: grid; place-content: center; font: 700 1.15em/1 var(--fonte-display); color: #fff; }
.lv-anel > b small { font-size: 0.55em; color: var(--lv-texto-2); }

.lv-regras { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.32em; min-height: 0; overflow: hidden; }
.lv-regras li { display: grid; grid-template-columns: 1.5em minmax(0, 1fr); gap: 0.5em; align-items: start; padding: 0.42em 0.6em;
  border-radius: 3px; background: rgba(255, 255, 255, 0.028); border-left: 3px solid transparent;
  animation: lv-entra-regra 520ms cubic-bezier(.2, .8, .2, 1) both; animation-delay: calc(var(--i, 0) * 110ms + 350ms); }
.lv-regras li > i { font-style: normal; display: grid; place-items: center; width: 1.35em; height: 1.35em; border-radius: 50%; font-size: 0.9em; font-weight: 700;
  border: 1px solid var(--lv-texto-3); color: var(--lv-texto-3); }
.lv-regras li.ok > i { background: var(--lv-pri); border-color: var(--lv-pri); color: var(--lv-fundo); box-shadow: 0 0 0.8em var(--lv-brilho); }
.lv-regras li.ok { border-left-color: color-mix(in srgb, var(--lv-pri) 60%, transparent); }
.lv-regras li.nao { border-left-color: rgba(255, 255, 255, 0.08); }
.lv-regras li.gatilho { border-left-color: var(--alerta); background: rgba(255, 201, 77, 0.07); }
.lv-regras li.gatilho.nao > i { border-color: var(--alerta); color: var(--alerta); animation: lv-mira 1.6s ease-in-out infinite; }
.lv-regras li b { font-weight: 500; font-size: 0.9em; color: var(--lv-texto); display: flex; flex-wrap: wrap; align-items: center; gap: 0.5em; }
.lv-regras li.nao b { color: var(--lv-texto-2); }
.lv-regras li em { font: 700 0.62em/1.2 var(--fonte-display); font-style: normal; letter-spacing: 0.16em; text-transform: uppercase; color: #1b1200;
  background: var(--alerta); padding: 0.2em 0.45em; border-radius: 2px; animation: lv-piscar 1.3s ease-in-out infinite; }
.lv-regras li small { display: block; margin-top: 0.12em; font: 400 0.72em/1.35 var(--fonte-dados); color: var(--lv-texto-3); }
.lv-regras li.ok small { color: var(--lv-texto-2); }
.lv-regras li.acabou-de-virar { animation: lv-virou 1.4s ease-out both; }
/* muitas regras: as que já estão OK ficam numa linha só; o detalhe fica para o que falta */
.lv-regras.sem-entrada li:not(.acabou-de-virar) { animation: none; }
.lv-regras.compacto { gap: 0.25em; }
.lv-regras.compacto li { padding: 0.3em 0.55em; }
.lv-regras.compacto li.ok small { display: none; }
.lv-regras.compacto li.ok b { font-size: 0.84em; }

.lv-plano { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.45em; }
.lv-plano > div { display: grid; gap: 0.1em; align-content: start; padding: 0.5em 0.6em; border-radius: 3px; background: rgba(255, 255, 255, 0.035); border-top: 2px solid; }
.lv-plano small { font: 600 0.56em/1.3 var(--fonte-display); letter-spacing: 0.14em; text-transform: uppercase; color: var(--lv-texto-3); }
.lv-plano b { font-size: 0.92em; font-weight: 500; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lv-plano span { font-size: 0.7em; color: var(--lv-texto-2); }
.lv-plano .p-entrada { border-color: var(--lv-sec); }
.lv-plano .p-entrada b { color: var(--lv-sec); }
.lv-plano .p-stop { border-color: var(--queda); }
.lv-plano .p-stop b { color: var(--queda); }
.lv-plano .p-alvo { border-color: var(--alta); }
.lv-plano .p-alvo b { color: var(--alta); }
.lv-plano .p-rr { border-color: var(--alerta); }
.lv-plano .p-rr b { color: var(--alerta); font-size: 1.15em; }
.lv-aula { font-size: 0.78em; color: var(--lv-texto-2); border-left: 2px solid var(--lv-sec); padding: 0.1em 0 0.1em 0.75em; }
.lv-aula b { color: var(--lv-sec); margin-right: 0.2em; }
.lv-vela { margin-top: auto; display: grid; gap: 0.35em; font-size: 0.78em; color: var(--lv-texto-2); }
.lv-vela b { color: #fff; }
.lv-vela i { display: block; height: 4px; border-radius: 4px; background: rgba(255, 255, 255, 0.07); position: relative; overflow: hidden; }
.lv-vela i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: calc(var(--f, 0) * 100%); background: linear-gradient(90deg, var(--lv-sec), var(--lv-pri)); }

/* posição aberta */
.lv-posicao { display: grid; gap: 0.9em; }
.lv-pos-resultado { display: flex; align-items: baseline; gap: 0.8em; flex-wrap: wrap; }
.lv-pos-resultado small { width: 100%; font: 600 0.62em/1.2 var(--fonte-display); letter-spacing: 0.2em; text-transform: uppercase; color: var(--lv-texto-3); }
.lv-pos-resultado b { font: 700 2.8em/1 var(--fonte-display); }
.lv-pos-resultado span { font-size: 1.1em; }
.lv-trilho { position: relative; height: 3.2em; margin: 0 0.4em; }
.lv-trilho .base { position: absolute; left: 0; right: 0; top: 1.1em; height: 0.45em; border-radius: 1em;
  background: linear-gradient(90deg, var(--queda), rgba(255, 255, 255, 0.15) var(--e), var(--alta)); }
.lv-trilho .marca { position: absolute; left: var(--e); top: 0.65em; width: 2px; height: 1.35em; background: #fff; opacity: 0.6; }
.lv-trilho .agulha { position: absolute; left: var(--p); top: 0.85em; width: 1em; height: 1em; margin-left: -0.5em; transform: rotate(45deg);
  background: #fff; box-shadow: 0 0 1em #fff; transition: left 400ms ease-out; }
.lv-trilho .rot { position: absolute; top: 2.15em; font: 500 0.66em/1.2 var(--fonte-dados); color: var(--lv-texto-2); white-space: nowrap; }
.lv-trilho .rot.esq { left: 0; } .lv-trilho .rot.meio { left: var(--e); transform: translateX(-50%); } .lv-trilho .rot.dir { right: 0; }
.lv-pos-texto { font-size: 0.85em; color: var(--lv-texto-2); }

/* bolão */
.lv-bolao { display: grid; gap: 0.5em; padding: 0.65em 0.75em; border: 1px dashed color-mix(in srgb, var(--alerta) 70%, transparent);
  background: rgba(255, 201, 77, 0.05); border-radius: 4px; animation: lv-entra-regra 500ms ease-out both; }
.lv-bolao-topo { display: grid; gap: 0.1em; }
.lv-bolao-topo small { font: 700 0.58em/1.2 var(--fonte-display); letter-spacing: 0.22em; text-transform: uppercase; color: var(--alerta); }
.lv-bolao-topo b { font-size: 0.9em; font-weight: 500; color: #fff; }
.lv-bolao-opcoes { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5em; }
.lv-bolao-opcoes button { display: flex; align-items: center; gap: 0.55em; padding: 0.45em 0.65em; border-radius: 3px; cursor: pointer;
  font: 600 0.8em/1.2 var(--fonte-display); letter-spacing: 0.1em; text-transform: uppercase; color: #fff; background: rgba(255, 255, 255, 0.04); border: 1px solid; }
.lv-bolao-opcoes button.sim { border-color: color-mix(in srgb, var(--alta) 60%, transparent); }
.lv-bolao-opcoes button.nao { border-color: color-mix(in srgb, var(--queda) 60%, transparent); }
.lv-bolao-opcoes button b { margin-left: auto; font-size: 1.25em; }
.lv-bolao-opcoes kbd, .lv-ajuda kbd { font: 700 0.8em/1 var(--fonte-dados); padding: 0.25em 0.45em; border-radius: 3px; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); }
.lv-bolao-barra { height: 5px; border-radius: 5px; background: color-mix(in srgb, var(--queda) 55%, transparent); overflow: hidden; }
.lv-bolao-barra i { display: block; height: 100%; width: calc(var(--s, 0.5) * 100%); background: var(--alta); transition: width 400ms; }
.lv-bolao-placar { font-size: 0.7em; color: var(--lv-texto-2); }

/* ── fila (3 telas) e o lado do panorama ─────────────────────────────── */
.lv-fila { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.35em; }
.lv-fila li { position: relative; overflow: hidden; display: grid; grid-template-columns: 1.5em auto minmax(0, 1fr); align-items: baseline; gap: 0.6em;
  padding: 0.45em 0.65em; border-radius: 3px; background: rgba(255, 255, 255, 0.03); border-left: 3px solid var(--lv-texto-3); cursor: pointer; }
.lv-fila li b { font: 700 1em/1.2 var(--fonte-display); letter-spacing: 0.06em; color: #fff; }
.lv-fila li span:not(.lv-fila-n) { font-size: 0.74em; color: var(--lv-texto-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lv-fila-n { font-size: 0.72em; color: var(--lv-texto-3); }
.lv-fila li i { position: absolute; left: 0; bottom: 0; height: 2px; width: calc(var(--p, 0) * 100%); background: currentColor; opacity: 0.8; }
.lv-fila li.estagio-observando { border-color: var(--lv-sec); color: var(--lv-sec); }
.lv-fila li.estagio-armando { border-color: var(--alerta); color: var(--alerta); }
.lv-fila li.estagio-gatilho { border-color: var(--lv-pri); color: var(--lv-pri); }
.lv-fila li.estagio-posicao { border-color: var(--lv-sec); background: rgba(39, 211, 255, 0.07); }
.lv-fila li.atual { background: color-mix(in srgb, var(--lv-pri) 12%, transparent); box-shadow: inset 0 0 0 1px var(--lv-borda-forte); }
.lv-abertas { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.3em; }
.lv-abertas li { display: flex; align-items: center; gap: 0.6em; padding: 0.35em 0.6em; background: rgba(255, 255, 255, 0.03); border-radius: 3px; cursor: pointer; }
.lv-abertas li b { font-family: var(--fonte-display); color: #fff; }
.lv-abertas li .num { margin-left: auto; }
.lv-abertas .lv-dir { padding: 0.15em 0.4em; }
.lv-lances { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.3em; overflow: hidden; }
.lv-lances li { display: grid; grid-template-columns: 3.4em minmax(0, 1fr); gap: 0.4em; font-size: 0.74em; color: var(--lv-texto-2); }
.lv-lances li .num { color: var(--lv-texto-3); }
.lv-lances li.nivel-sucesso span:last-child { color: var(--alta); }
.lv-lances li.nivel-aviso span:last-child, .lv-lances li.nivel-erro span:last-child { color: var(--alerta); }
.lv-lado { height: 100%; display: flex; flex-direction: column; gap: 0.5em; padding: 1em 1.1em; background: var(--lv-vidro); border: 1px solid var(--lv-borda); border-radius: 4px; overflow: hidden; }
.lv-lado h2 { font-size: 1.6em; letter-spacing: 0.04em; }
.lv-lado-desc { color: var(--lv-texto-2); font-size: 0.9em; }

/* ── cenas do panorama ───────────────────────────────────────────────── */
.lv-cena { height: 100%; display: grid; align-content: start; gap: 1em; overflow: hidden; }
.lv-cena.entrando { animation: lv-entra-cena 700ms ease-out; }
.lv-cena-titulo { font-size: 1.5em; letter-spacing: 0.08em; text-transform: uppercase; }
.lv-cena-vazia { font-size: 1.1em; color: var(--lv-texto-2); }
.lv-grade { display: grid; gap: 0.9em; }
.lv-grade-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lv-grade-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lv-grade-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#lounge.lv .cartao-setup, #lounge.lv .cartao-operacao { font-size: 0.82em; }
#lounge.lv .cartao-setup .moeda, #lounge.lv .cartao-operacao .moeda { font-size: 1.5em; }
#lounge.lv .cartao-setup-texto { font-size: 0.95em; }
#lounge.lv .grande-medio { font-size: 1.5em; }
.lv-calmaria { align-content: center; gap: 1.6em; }
.lv-calmaria-texto { display: grid; gap: 0.6em; max-width: 62ch; }
.lv-calmaria-texto small { font: 700 0.7em/1.2 var(--fonte-display); letter-spacing: 0.24em; text-transform: uppercase; color: var(--lv-pri); }
.lv-calmaria-texto h2 { font-size: 2.3em; line-height: 1.1; color: #fff; }
.lv-calmaria-texto p { font-size: 1.05em; }
.lv-cena-chuva { position: relative; align-content: stretch; }
.lv-chuva-canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.lv-chuva-rotulos { position: absolute; left: 0; right: 0; top: 0; display: grid; pointer-events: none; }
.lv-chuva-rotulos span { font: 600 0.55em/1.2 var(--fonte-display); text-align: center; color: var(--lv-texto-3); overflow: hidden; white-space: nowrap; }
.lv-chuva-rotulos .estagio-observando { color: var(--lv-sec); } .lv-chuva-rotulos .estagio-armando { color: var(--alerta); }
.lv-chuva-rotulos .estagio-gatilho { color: var(--lv-pri); text-shadow: 0 0 8px var(--lv-pri); }
.lv-chuva-centro { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; justify-items: center; gap: 0.3em; text-align: center;
  padding: 2em 3em; background: radial-gradient(closest-side, rgba(1, 7, 4, 0.94), rgba(1, 7, 4, 0.6) 70%, transparent); }
.lv-chuva-centro small { font: 700 0.7em/1.2 var(--fonte-display); letter-spacing: 0.24em; text-transform: uppercase; color: var(--lv-texto-2); }
.lv-chuva-centro b { font: 700 5em/1 var(--fonte-display); color: #fff; text-shadow: 0 0 30px var(--lv-brilho); }
.lv-chuva-centro span { color: var(--lv-texto-2); }
.lv-ultimo-grade { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 1.4em; height: 100%; min-height: 0; }
.lv-cena-ultimo { grid-template-rows: auto minmax(0, 1fr); }
.lv-ultimo-esq { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 0.6em; min-height: 0; }
.lv-ultimo-grafico { position: relative; min-height: 0; }
.lv-linha { display: flex; align-items: center; gap: 0.8em; flex-wrap: wrap; }
.lv-ultimo-moeda { font: 700 1.9em/1 var(--fonte-display); color: #fff; }
.lv-ultimo-r { font-size: 1.9em; }
.lv-ultimo-texto { overflow: hidden; font-size: 1em; line-height: 1.65; }
.lv-datilografado { white-space: pre-wrap; }
.lv-datilografado::after { content: "▌"; color: var(--lv-pri); animation: lv-cursor 1s steps(1) infinite; }
.lv-cena-placar { grid-template-rows: auto auto minmax(0, 1fr) auto; }
.lv-placar-numeros { display: flex; gap: 2.4em; flex-wrap: wrap; }
.lv-numero { display: grid; gap: 0.2em; }
.lv-numero small { font: 600 0.62em/1.2 var(--fonte-display); letter-spacing: 0.2em; text-transform: uppercase; color: var(--lv-texto-3); }
.lv-numero b { font-size: 2.2em; font-weight: 500; color: #fff; }
.lv-placar-grafico { position: relative; min-height: 0; }
.lv-placar-nota { font-size: 0.78em; color: var(--lv-texto-2); }
.lv-cena-calor { grid-template-rows: auto minmax(0, 1fr); }
.lv-mapa-calor { position: relative; min-height: 0; }
.lv-bloco { position: absolute; display: grid; place-content: center; text-align: center; gap: 0.1em; border: 1px solid rgba(1, 7, 4, 0.9); overflow: hidden; }
.lv-bloco b { font: 700 0.95em/1.1 var(--fonte-display); color: #fff; letter-spacing: 0.06em; }
.lv-bloco span { font-size: 0.8em; color: #fff; }
.lv-bloco small { font-size: 0.66em; color: rgba(255, 255, 255, 0.75); }
.lv-bloco.destaque { box-shadow: inset 0 0 0 2px var(--alerta); }
.lv-console { font-size: 1em; gap: 0.35em; overflow: hidden; }

/* ── letreiro ────────────────────────────────────────────────────────── */
.lv-letreiro { height: 2.3em; overflow: hidden; display: flex; align-items: center; border-top: 1px solid var(--lv-borda);
  background: linear-gradient(90deg, var(--lv-vidro-forte), rgba(0, 0, 0, 0.6)); padding-bottom: env(safe-area-inset-bottom, 0px); }
.lv-letreiro-trilho { display: flex; width: max-content; animation: lv-correr 60s linear infinite; }
.lv-letreiro-trilho span { padding-right: 4em; white-space: nowrap; font: 500 0.8em/1 var(--fonte-display); letter-spacing: 0.08em; color: var(--lv-texto-2); }

/* ── camadas por cima ────────────────────────────────────────────────── */
.lv-intro { position: absolute !important; inset: 0; z-index: 6 !important; display: grid; place-content: center; justify-items: center; gap: 0.3em; text-align: center;
  pointer-events: none; background: radial-gradient(closest-side, rgba(1, 7, 4, 0.94), rgba(1, 7, 4, 0.78) 62%, rgba(1, 7, 4, 0.2)); }
.lv-intro.anima { animation: lv-intro 1500ms ease-out both; }
.lv-intro-moeda { font: 700 min(22vh, 19vw)/0.95 var(--fonte-display); letter-spacing: 0.06em; color: #fff; text-shadow: 0 0 0.25em var(--lv-brilho); }
.lv-intro.anima .lv-intro-moeda { animation: lv-intro-letra 700ms cubic-bezier(.2, .8, .2, 1) both; }
.lv-intro-motivo { font: 700 0.9em/1.2 var(--fonte-display); letter-spacing: 0.3em; text-transform: uppercase; color: var(--lv-pri); }
.lv-intro-sub { font: 600 1.2em/1.2 var(--fonte-display); letter-spacing: 0.16em; text-transform: uppercase; color: var(--lv-texto-2); }
.lv-quente { position: absolute !important; z-index: 7 !important; top: 20%; left: 50%; transform: translateX(-50%); display: grid; justify-items: center; gap: 0.2em;
  padding: 0.9em 2.2em; border-radius: 4px; background: linear-gradient(135deg, var(--alerta), #ff7a45); color: #1b0b00; box-shadow: 0 0 3em rgba(255, 140, 60, 0.5);
  animation: lv-pop 500ms cubic-bezier(.2, 1.4, .4, 1) both; pointer-events: none; }
.lv-quente small { font: 800 0.75em/1 var(--fonte-display); letter-spacing: 0.3em; text-transform: uppercase; }
.lv-quente b { font: 800 3em/1 var(--fonte-display); letter-spacing: 0.06em; }
.lv-quente span { font: 700 0.95em/1.2 var(--fonte-display); text-transform: uppercase; letter-spacing: 0.12em; }
.lv-aviso-bolao { position: absolute !important; z-index: 7 !important; bottom: 3.6em; left: 50%; transform: translateX(-50%); max-width: calc(100% - 2em);
  padding: 0.7em 1.2em; border: 1px solid var(--alerta); background: var(--lv-vidro-forte); border-radius: 4px; font: 600 0.95em/1.3 var(--fonte-display);
  letter-spacing: 0.04em; color: #fff; animation: lv-pop 500ms ease-out both; text-align: center; }
.lv-plantao { position: absolute !important; inset: 0; z-index: 8 !important; display: grid; place-items: center; padding: 2em var(--lv-gutter); overflow: hidden; }
.lv-plantao-fundo { position: absolute; inset: 0; animation: lv-plantao-fundo 2.4s ease-in-out infinite alternate; }
.lv-plantao.pl-entrada .lv-plantao-fundo { background: radial-gradient(circle at 50% 50%, rgba(39, 211, 255, 0.35), rgba(1, 7, 4, 0.96) 62%); }
.lv-plantao.pl-alvo .lv-plantao-fundo { background: radial-gradient(circle at 50% 50%, rgba(61, 255, 162, 0.45), rgba(1, 7, 4, 0.96) 62%); }
.lv-plantao.pl-stop .lv-plantao-fundo { background: radial-gradient(circle at 50% 50%, rgba(255, 79, 123, 0.4), rgba(1, 7, 4, 0.96) 62%); }
.lv-plantao.pl-zero .lv-plantao-fundo { background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.18), rgba(1, 7, 4, 0.96) 62%); }
.lv-plantao-caixa { position: relative; display: grid; justify-items: center; gap: 0.5em; text-align: center; max-width: 72ch; }
.lv-plantao-selo { font: 700 0.85em/1 var(--fonte-display); letter-spacing: 0.32em; text-transform: uppercase; color: #fff; background: #d81e45; padding: 0.35em 0.8em; border-radius: 2px; }
.lv-plantao-titulo { font: 800 min(19vh, 15vw)/0.95 var(--fonte-display); letter-spacing: 0.04em; color: #fff; text-shadow: 0 0 0.3em var(--lv-brilho);
  animation: lv-pancada 700ms cubic-bezier(.2, 1.3, .4, 1) both; }
.lv-plantao.pl-alvo .lv-plantao-titulo { color: var(--alta); text-shadow: 0 0 0.35em rgba(61, 255, 162, 0.6); }
.lv-plantao.pl-stop .lv-plantao-titulo { color: var(--queda); text-shadow: 0 0 0.35em rgba(255, 79, 123, 0.5); }
.lv-plantao-sub { font: 600 1.6em/1.2 var(--fonte-display); letter-spacing: 0.08em; color: #fff; }
.lv-plantao-pct { font-size: 2.4em; }
.lv-plantao-frase { font-size: 1.15em; color: var(--lv-texto); text-wrap: pretty; }

/* controles, ajustes e ajuda: tamanho fixo (são para quem está perto) */
.lv-controles { position: absolute !important; z-index: 9 !important; left: 50%; bottom: calc(3em + env(safe-area-inset-bottom, 0px)); transform: translate(-50%, 16px);
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 8px 10px; width: min(860px, calc(100vw - 32px)); font-size: 14px;
  background: var(--lv-vidro-forte); border: 1px solid var(--lv-borda-forte); border-radius: 4px; opacity: 0; pointer-events: none; transition: opacity 240ms, transform 240ms; }
#lounge.lv.controles-visiveis .lv-controles { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.lv-controles-info { font: 500 12px/1.2 var(--fonte-dados); color: var(--lv-texto-2); }
.lv-controles .espaco { flex: 1; }
.lv-ajustes { position: absolute !important; z-index: 10 !important; top: 0; right: 0; bottom: 0; width: min(440px, 100vw); overflow-y: auto; cursor: default;
  display: grid; align-content: start; gap: 10px; font-size: 14px; background: rgba(2, 10, 6, 0.97); border-left: 1px solid var(--lv-borda-forte);
  padding: calc(18px + env(safe-area-inset-top, 0px)) max(18px, env(safe-area-inset-right, 0px)) 24px 18px; }
.lv-ajustes-cabeca { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.lv-ajustes-cabeca h2 { font-size: 18px; }
.lv-ajustes h3 { font-size: 11px; margin-top: 10px; }
.lv-campo { display: grid; gap: 4px; }
.lv-campo span { font-size: 10px; }
.lv-campo select, .lv-campo input[type="range"] { width: 100%; }
.lv-ajustes-lista { display: grid; gap: 6px; padding-left: 2px; }
.lv-ajustes-nota { font-size: 12px; color: var(--lv-texto-2); }
.lv-ajuda { position: absolute !important; inset: 0; z-index: 10 !important; display: grid; place-items: center; background: rgba(0, 0, 0, 0.62); cursor: default; padding: 16px; }
.lv-ajuda-caixa { width: min(560px, 100%); display: grid; gap: 14px; padding: 22px 24px; font-size: 15px; background: var(--lv-vidro-forte); border: 1px solid var(--lv-borda-forte); border-radius: 4px; }
.lv-ajuda-caixa ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; }
.lv-ajuda-caixa li { display: flex; align-items: center; gap: 10px; }
.lv-clique-tela { position: absolute !important; z-index: 10 !important; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; gap: 6px; justify-items: center;
  padding: 22px 30px; font-size: 16px; color: #fff; cursor: pointer; background: var(--lv-vidro-forte); border: 2px solid var(--lv-pri); border-radius: 4px; }
.lv-clique-tela b { font: 700 22px/1.2 var(--fonte-display); letter-spacing: 0.12em; text-transform: uppercase; color: var(--lv-pri-claro); }

/* ── animações ───────────────────────────────────────────────────────── */
@keyframes lv-piscar { 50% { opacity: 0.35; } }
@keyframes lv-cursor { 50% { opacity: 0; } }
@keyframes lv-pulso { 0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.45), 0 0 1.2em var(--lv-sec); } 70% { box-shadow: 0 0 0 1.1em rgba(255, 255, 255, 0), 0 0 1.2em var(--lv-sec); } 100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0), 0 0 1.2em var(--lv-sec); } }
@keyframes lv-quente { 50% { box-shadow: 0 0 1.2em rgba(255, 157, 77, 0.6); transform: scale(1.04); } }
@keyframes lv-mira { 50% { transform: scale(1.18); box-shadow: 0 0 0.9em rgba(255, 201, 77, 0.6); } }
@keyframes lv-entra-regra { from { opacity: 0; transform: translateX(1.2em); } to { opacity: 1; transform: none; } }
@keyframes lv-virou { 0% { background: color-mix(in srgb, var(--lv-pri) 45%, transparent); transform: scale(1.02); } 100% { background: rgba(255, 255, 255, 0.028); transform: none; } }
@keyframes lv-entra-cena { from { opacity: 0; transform: scale(0.985); filter: blur(4px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes lv-correr { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes lv-intro { 0% { opacity: 0; } 12% { opacity: 1; } 68% { opacity: 1; } 100% { opacity: 0; } }
@keyframes lv-intro-letra { from { opacity: 0; transform: scale(1.35); filter: blur(10px); letter-spacing: 0.4em; } to { opacity: 1; transform: none; filter: none; } }
@keyframes lv-pop { from { opacity: 0; transform: translateX(-50%) scale(0.85); } to { opacity: 1; transform: translateX(-50%) scale(1); } }
@keyframes lv-pancada { from { opacity: 0; transform: scale(2.2); filter: blur(12px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes lv-plantao-fundo { from { opacity: 0.85; } to { opacity: 1; } }

#lounge.lv.suave *, #lounge.lv.suave *::before, #lounge.lv.suave *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; }
#lounge.lv.suave .lv-letreiro-trilho { animation: none !important; }

/* a ficha com uma tela só para ela (2 telas, ou a janela da ficha): duas colunas e a fila junto */
@container ficha (min-width: 1000px) {
  #lounge.lv .lv-slot-ficha { display: grid; column-gap: 2.4em; row-gap: 0.8em; align-content: start;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    grid-template-areas: "topo topo" "termo plano" "regras aula" "regras bolao" "regras fila" "regras vela";
    grid-template-rows: auto auto auto auto minmax(0, 1fr) auto; }
  #lounge.lv .lv-ficha-corpo { display: contents; }
  #lounge.lv .lv-ficha-topo { grid-area: topo; }
  #lounge.lv .lv-termo { grid-area: termo; }
  #lounge.lv .lv-regras { grid-area: regras; align-content: start; }
  #lounge.lv .lv-plano { grid-area: plano; }
  #lounge.lv .lv-aula { grid-area: aula; align-self: start; }
  #lounge.lv .lv-bolao-lugar { grid-area: bolao; }
  #lounge.lv .lv-ficha-fila { grid-area: fila; display: block; min-height: 0; overflow: hidden; }
  #lounge.lv .lv-vela { grid-area: vela; }
  #lounge.lv .lv-posicao { grid-area: 2 / 1 / 7 / 2; display: flex; flex-direction: column; gap: 1.1em; min-width: 0; }
  #lounge.lv .lv-posicao > * { width: 100%; min-width: 0; }
  #lounge.lv .lv-pos-resultado b { font-size: 3.6em; }
  #lounge.lv .lv-regras.compacto li.ok small { display: block; }
  #lounge.lv .lv-ficha-moeda b { font-size: 2.6em; }
}
#lounge.lv[data-de="3"] .lv-ficha-fila { display: none !important; }

/* ── telas estreitas (celular, janela pequena) ───────────────────────── */
@media (max-width: 900px) {
  #lounge.lv { font-size: max(14px, calc(1.5vh * var(--lv-escala))); grid-template-rows: auto 3px minmax(0, 1fr) auto; }
  .lv-palco, #lounge.lv[data-telas] .lv-palco[data-paineis] { display: flex; flex-direction: column; overflow-y: auto; }
  .lv-palco > .lv-painel { flex: 0 0 auto; }
  .p-principal { display: flex; flex-direction: column; }
  .lv-principal-conteudo { height: 58vh; flex: 0 0 auto; }
  .lv-slot-ficha, .lv-lado, .lv-slot-grafico { height: auto; overflow: visible; }
  .lv-slot-grafico { height: 100%; }
  .lv-ficha-corpo, .lv-regras { overflow: visible; }
  .lv-intro-moeda { font-size: 24vw; }
  .lv-placar-mini { display: none; }
  .lv-agora { justify-items: end; text-align: right; }
  .lv-plano { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lv-grade-3, .lv-grade-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lv-grade-2, .lv-ultimo-grade { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .lv-marca > b, .lv-modo { display: none; }
  .lv-grade-3, .lv-grade-4 { grid-template-columns: minmax(0, 1fr); }
  .lv-palco { padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
  .lv-topo { padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
}
