:root { --escala-texto: 1; }
html { font-size: calc(16px * var(--escala-texto)); }
:where(button,input,textarea,select,[tabindex]):focus { scroll-margin-block:78px 124px; }
:where(.atividade-shell,.resultado-cena,.final-campanha,.qualidade-painel,.caso-transferencia) button,
:where(.atividade-shell,.qualidade-painel,.caso-transferencia) select {
  min-height:44px;
}
#ui.resultado-amplo {
  max-width:1680px;
  padding-inline:clamp(12px,2vw,30px);
}
#ui.briefing-amplo {
  max-width:1280px;
  padding-inline:clamp(12px,2.4vw,34px);
}
:where(button,input,textarea,select,[tabindex]):focus-visible {
  outline:3px solid #b8fbff;
  outline-offset:3px;
}

.humor-batida {
  display:grid;
  grid-template-columns:68px minmax(0,1fr);
  align-items:start;
  gap:14px;
  border-left:2px solid var(--ciano);
  min-width:0;
  height:100%;
  margin:0;
  padding:14px;
  background:rgba(3,15,22,.7);
}
.humor-retrato {
  width:68px;
  height:68px;
  object-fit:cover;
  object-position:50% 24%;
  border-radius:10px;
  border:1px solid rgba(111,232,242,.28);
  background:#02080c;
}
.humor-corpo { min-width:0; }
.humor-canal { color:var(--ciano); font:700 .68rem/1.2 var(--mono); letter-spacing:.12em; }
.humor-batida p { margin:6px 0 0; color:var(--texto); font-size:.9rem; line-height:1.48; }
.humor-efeito {
  display:grid;
  grid-template-columns:auto minmax(76px,1fr);
  align-items:center;
  gap:10px;
  margin-top:10px;
  padding-top:8px;
  border-top:1px solid rgba(111,232,242,.12);
}
.humor-efeito-rotulo {
  color:rgba(173,207,215,.68);
  font:700 .55rem/1 var(--mono);
  letter-spacing:.12em;
}
.humor-acao {
  position:relative;
  width:100%;
  height:24px;
  overflow:hidden;
  border:0;
  border-left:1px solid rgba(111,232,242,.3);
  background:linear-gradient(90deg,rgba(111,232,242,.07),rgba(1,7,11,.28));
}
.humor-acao i,.humor-acao b { position:absolute; display:block; }
.humor-acao i {
  width:7px;
  height:7px;
  left:10px;
  bottom:4px;
  border:1px solid var(--ciano);
  border-radius:50%;
  box-shadow:13px 0 0 -1px rgba(111,232,242,.85),26px 0 0 -1px rgba(111,232,242,.6);
}
.humor-acao b {
  left:9px;
  right:9px;
  top:4px;
  height:3px;
  background:linear-gradient(90deg,var(--ciano) 0 42%,rgba(111,232,242,.18) 42%);
}
.humor-painel-publico b { animation:humor-pisca 1.7s steps(2,end) infinite; }
.humor-regra-legado i:nth-child(2) { transform:translateY(-15px); animation:humor-cai 2.8s ease-in infinite; }
.humor-impressora-recolhe b,.humor-carimbo-urgente b { height:25px; border:1px solid rgba(111,232,242,.6); background:rgba(232,250,248,.78); animation:humor-papel 2.6s ease-in-out infinite; }
.humor-contador-arredonda i,.humor-visao-de-cima i { animation:humor-encolhe 2.4s ease-in-out infinite; }
.humor-cabos-cruzados i { width:54px; height:28px; border:0; border-bottom:2px solid var(--ciano); border-radius:50%; box-shadow:none; transform:rotate(-10deg); }
.humor-sala-aninhada i { width:42px; height:35px; border-radius:0; box-shadow:inset 0 0 0 7px rgba(1,7,11,.9),inset 0 0 0 8px rgba(111,232,242,.5); animation:humor-sala 2.5s ease-in-out infinite; }
.humor-nome-na-gaveta b { animation:humor-expande 2.6s ease-in-out infinite; }
@keyframes humor-pisca { 50% { opacity:.22; } }
@keyframes humor-cai { 45%,100% { transform:translate(22px,42px) rotate(18deg); opacity:.1; } }
@keyframes humor-papel { 0%,100% { transform:translateY(-22px); } 45%,65% { transform:translateY(12px); } }
@keyframes humor-encolhe { 50% { transform:scale(.42); filter:blur(.2px); } }
@keyframes humor-sala { 50% { transform:scale(.64); } }
@keyframes humor-expande { 50% { left:2px; right:2px; } }

/* Briefing: objetivo, transmissão e plano precisam caber como uma tela,
   não como um formulário estreito herdado do mobile. */
.tela.briefing-cinematico { max-width:960px; }
.tela.briefing-cinematico > .miolo {
  width:min(940px,calc(100vw - 48px));
  padding:clamp(22px,2.6vw,34px);
}
.briefing-comunicacoes {
  display:grid;
  grid-template-columns:minmax(300px,.92fr) minmax(0,1.35fr);
  align-items:stretch;
  gap:14px;
}
.briefing-comunicacoes.briefing-sem-humor { grid-template-columns:1fr; }
.briefing-falas {
  min-width:0;
  padding:13px 15px;
  border:1px solid rgba(111,232,242,.14);
  background:rgba(2,10,16,.5);
}
.briefing-secao {
  display:block;
  margin-bottom:10px;
  color:rgba(173,207,215,.68);
  font:700 .58rem/1 var(--mono);
  letter-spacing:.14em;
}
.briefing-cinematico .fala {
  grid-template-columns:58px minmax(0,1fr);
  gap:12px;
  margin:0;
}
.briefing-cinematico .fala + .fala {
  margin-top:11px;
  padding-top:11px;
  border-top:1px solid rgba(111,232,242,.1);
}
.briefing-cinematico .retrato { --lado:58px; }
.fala-conteudo,.fala-mensagens { min-width:0; }
.briefing-cinematico .fala .quem { font-size:.62rem; }
.briefing-cinematico .fala .diz {
  margin:0;
  color:var(--texto);
  font-size:.86rem;
  line-height:1.48;
}
.briefing-cinematico .fala .diz + .diz {
  margin-top:7px;
  padding-top:7px;
  border-top:1px solid rgba(111,232,242,.09);
}
.tela .briefing-acoes {
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(150px,.72fr);
  gap:10px;
  margin-top:16px;
}
.briefing-acoes button { min-height:46px; }

.dominio-faixa { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin:10px 0 16px; }
.dominio-faixa span { border:1px solid rgba(111,232,242,.35); padding:6px 9px; font:700 .68rem/1 var(--mono); color:var(--ciano); }
.dominio-gate { border:1px solid rgba(255,166,90,.55); background:rgba(43,23,12,.72); padding:12px; margin:10px 0; }
.dominio-gate strong { color:#ffad6d; }
.gate-diagnostico {
  margin:14px 0;
  padding:16px;
  border:1px solid rgba(111,232,242,.3);
  background:rgba(2,11,17,.82);
}
.gate-diagnostico h3 { margin:0 0 10px; }
.gate-pedido { color:var(--texto); font-weight:700; }
#gate-exercicio { margin-top:10px; }
#gate-feedback { min-height:46px; padding:10px 12px; border-left:2px solid rgba(111,232,242,.35); }
#gate-feedback.certo { color:#a5ffc0; border-color:#7cf5a3; }
#gate-feedback.erro { color:#ffc2ae; border-color:#ff8b6b; }

.atividade-shell.apoio-guiado .atividade-kamale-hero,
.atividade-shell.apoio-guiado .esquema-faixa { display:none; }
.atividade-shell.apoio-guiado .atividade-grade { grid-template-columns:minmax(175px,.68fr) minmax(500px,2.2fr) minmax(210px,.72fr); }
.atividade-shell.apoio-reduzido .atividade-esquerda,
.atividade-shell.apoio-reduzido .atividade-kamale-hero,
.atividade-shell.apoio-reduzido .como-pensar,
.atividade-shell.apoio-reduzido .esquema-faixa { display:none; }
.atividade-shell.apoio-reduzido .atividade-grade { grid-template-columns:minmax(0,2.55fr) minmax(230px,.72fr); }
.atividade-shell.apoio-reduzido .atividade-centro { grid-column:1; }
.atividade-shell.apoio-reduzido .atividade-direita { grid-column:2; }
.atividade-shell.modo-autonomo .atividade-esquerda,
.atividade-shell.modo-autonomo .atividade-kamale-hero,
.atividade-shell.modo-autonomo .como-pensar,
.atividade-shell.modo-autonomo .esquema-faixa,
.atividade-shell.modo-autonomo .atividade-direita { display:none; }
.atividade-shell.modo-autonomo .atividade-grade { grid-template-columns:minmax(0,1fr); }
.atividade-shell.modo-autonomo .atividade-centro { grid-column:1; }
.atividade-apoio-toggle { margin-left:auto; min-height:44px; }
.atividade-mobile-etapas { display:none; }
.atividade-shell .atividade-editor,
.atividade-shell #area { position:relative; z-index:1; }
.atividade-shell .atividade-controles {
  position:relative;
  z-index:24;
  isolation:isolate;
  pointer-events:auto;
  background:rgba(1,7,11,.94);
}
.atividade-shell .atividade-controles button { position:relative; z-index:1; pointer-events:auto; }

.tela.resultado-cinematico { max-width:none; }
.tela.resultado-cinematico .miolo { width:min(1120px, calc(100vw - 48px)); max-width:none; }
.resultado-cena { max-width:1080px; margin:auto; display:grid; gap:18px; }
.resultado-cena > header { display:flex; justify-content:space-between; color:var(--ciano); font:700 .72rem/1 var(--mono); letter-spacing:.14em; }
.resultado-palco { min-height:430px; display:grid; place-items:center; border:1px solid rgba(111,232,242,.3); background:linear-gradient(135deg,rgba(2,11,17,.96),rgba(6,24,31,.78)); overflow:hidden; }
.resultado-batida { width:100%; min-height:430px; display:grid; grid-template-columns:minmax(280px,1fr) minmax(320px,1.25fr); align-items:center; gap:34px; padding:34px; }
.resultado-visual { position:relative; width:100%; height:360px; margin:0; overflow:hidden; border:1px solid rgba(111,232,242,.35); background:#02080c; }
.resultado-visual img { width:100%; height:100%; object-fit:cover; object-position:50% 35%; transform:scale(1.025); }
.resultado-personagem img { object-position:50% 22%; }
.resultado-vinculo .resultado-visual {
  border-color:rgba(255,184,112,.48);
  box-shadow:0 0 48px rgba(255,150,80,.08);
}
.resultado-vinculo .resultado-texto > span { color:#ffc07e; }
.resultado-vinculo .resultado-visual figcaption {
  position:absolute;
  z-index:2;
  left:12px;
  right:12px;
  bottom:12px;
  padding:9px 11px;
  color:#e9fdff;
  background:rgba(1,7,11,.86);
  border-left:2px solid #ffc07e;
  font:600 .68rem/1.45 var(--mono);
}
.resultado-ambiente::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(1,8,12,.9)); }
.resultado-ambiente figcaption { position:absolute; z-index:2; left:16px; right:16px; bottom:15px; color:#a9fbff; font:700 .68rem/1.35 var(--mono); letter-spacing:.12em; }
.resultado-ambiente i { position:absolute; z-index:2; left:16px; top:16px; width:56px; height:4px; background:var(--ciano); box-shadow:72px 0 0 rgba(111,232,242,.45),144px 0 0 rgba(111,232,242,.2); animation:varredura-resultado 2.8s ease-in-out infinite; }
.resultado-batida span,.resultado-debrief>span { color:var(--ciano); font:700 .72rem/1.2 var(--mono); letter-spacing:.13em; }
.resultado-batida h2 { font-size:clamp(1.4rem,2.25vw,2.25rem); margin:12px 0; }
.resultado-batida p { font-size:1.05rem; max-width:60ch; }
.resultado-dados { position:relative; min-height:320px; display:grid; place-items:center; border:1px solid rgba(111,232,242,.3); overflow:hidden; background:radial-gradient(circle,rgba(57,174,185,.18),transparent 52%),#02090e; }
.resultado-dados i { position:absolute; width:74%; height:1px; background:linear-gradient(90deg,transparent,var(--ciano),transparent); opacity:.45; }
.resultado-dados i:nth-child(1){ transform:rotate(0deg) translateY(-82px); }
.resultado-dados i:nth-child(2){ transform:rotate(60deg); }
.resultado-dados i:nth-child(3){ transform:rotate(-60deg); }
.resultado-dados b { font:800 3rem/1 var(--mono); color:var(--ciano); text-shadow:0 0 30px rgba(111,232,242,.6); }
.resultado-dados span { position:absolute; bottom:30px; left:20px; right:20px; text-align:center; color:var(--muted); letter-spacing:.04em; }
.resultado-acao i { width:18px; height:18px; border:1px solid var(--ciano); border-radius:50%; background:rgba(111,232,242,.08); }
.resultado-acao[data-acao="fila-monitor"] i:nth-child(1) { transform:translate(-74px,-42px); box-shadow:24px 0 0 -1px rgba(111,232,242,.8),48px 0 0 -1px rgba(111,232,242,.6),72px 0 0 -1px rgba(111,232,242,.4); animation:resultado-fila 2.8s ease-in-out infinite; }
.resultado-acao[data-acao="fila-sem-nome"] i { border-radius:2px; animation:resultado-apaga 2.5s steps(2,end) infinite; }
.resultado-acao[data-acao="numero-reservado"] b { animation:resultado-reserva 2.4s ease-in-out infinite; }
.resultado-acao[data-acao="count-pontual"] b { animation:resultado-coluna-errada 2.2s ease-in-out infinite; }
.resultado-acao[data-acao="pessoas-na-celula"] i { animation:resultado-comprime 2.6s ease-in-out infinite; }
.resultado-acao[data-acao="cadeira-left-join"] i:nth-child(3) { border-radius:2px; transform:translate(85px,52px); animation:resultado-cadeira 2.6s ease-in-out infinite; }
.resultado-acao[data-acao="porta-culpa-pessoas"] i:nth-child(1) { border-radius:0; width:60px; height:100px; animation:resultado-porta 2.8s ease-in-out infinite; }
@keyframes varredura-resultado { 50% { transform:translateX(35px); opacity:.55; } }
@keyframes resultado-fila { 50% { transform:translate(18px,-42px); } }
@keyframes resultado-apaga { 50% { opacity:.16; } }
@keyframes resultado-reserva { 50% { letter-spacing:.32em; opacity:.52; } }
@keyframes resultado-coluna-errada { 50% { transform:translateX(52px); color:#ffb06d; } }
@keyframes resultado-comprime { 50% { transform:scaleX(.22); } }
@keyframes resultado-cadeira { 50% { transform:translate(20px,52px); } }
@keyframes resultado-porta { 45% { transform:perspective(160px) rotateY(-42deg); } 60% { transform:none; border-color:#ff8f75; } }
.resultado-navegacao { display:flex; justify-content:space-between; gap:12px; }
.resultado-debrief { width:min(760px,94%); padding:28px; }
.resultado-metricas { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:18px 0; }
.resultado-metricas div { border:1px solid rgba(111,232,242,.25); padding:18px; text-align:center; }
.resultado-metricas b { display:block; font-size:2rem; }
.resultado-metricas small { color:var(--muted); }
.resultado-debrief details { margin:18px 0; }
.resultado-debrief figure { border-left:2px solid var(--ciano); padding-left:12px; }

.tela.final-cinematico { max-width:none; }
.tela.final-cinematico .miolo { width:min(1180px,calc(100vw - 42px)); max-width:none; }
.final-campanha { width:100%; display:grid; gap:14px; }
.final-campanha > header,.final-controles { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.final-campanha > header { color:var(--ciano); font:700 .72rem/1 var(--mono); letter-spacing:.14em; }
.final-palco {
  height:min(620px,72vh);
  min-height:0;
  overflow:hidden;
  border:1px solid rgba(111,232,242,.3);
  background:linear-gradient(145deg,rgba(1,7,11,.98),rgba(5,23,29,.9));
}
.final-quadro {
  height:100%;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.75fr);
  align-items:stretch;
}
.final-quadro > :first-child { min-width:0; min-height:0; }
.final-texto { align-self:center; padding:clamp(24px,4vw,52px); }
.final-texto > span { color:rgba(111,232,242,.5); font:800 3rem/1 var(--mono); }
.final-texto h2 { margin:14px 0; font-size:clamp(1.65rem,3vw,3rem); line-height:1.04; }
.final-texto p { color:var(--muted); font-size:clamp(1rem,1.35vw,1.18rem); line-height:1.6; }
.final-ambiente { position:relative; margin:0; overflow:hidden; background:#010609; }
.final-ambiente img { width:100%; height:100%; object-fit:cover; filter:saturate(.8) contrast(1.08); }
.final-ambiente::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent 54%,rgba(1,7,11,.8)); }
.final-politica {
  position:absolute;
  z-index:2;
  left:8%;
  right:8%;
  bottom:9%;
  display:grid;
  grid-template-columns:1fr auto 52px auto;
  align-items:center;
  gap:12px;
  padding:16px;
  color:#c7faff;
  background:rgba(1,8,12,.9);
  border:1px solid rgba(111,232,242,.42);
  font:700 .73rem/1.2 var(--mono);
}
.final-politica b { color:#ff8d76; text-decoration:line-through; animation:final-desliga 2.2s steps(2,end) infinite; }
.final-politica i { height:1px; background:var(--ciano); }
.final-politica strong { color:#9cffb7; }
.final-elenco {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:2px;
  padding:2px;
  background:rgba(111,232,242,.18);
}
.final-elenco figure { position:relative; min-height:0; margin:0; overflow:hidden; background:#02090d; }
.final-elenco img { width:100%; height:100%; min-height:0; object-fit:cover; object-position:50% 25%; filter:saturate(.86); transition:transform .8s ease,filter .8s ease; }
.final-elenco figure:hover img,.final-elenco figure:focus-within img { transform:scale(1.025); filter:saturate(1); }
.final-elenco figcaption {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:34px 14px 13px;
  background:linear-gradient(transparent,rgba(1,7,11,.96) 38%);
}
.final-elenco figcaption b { display:block; color:var(--ciano); font:700 .72rem/1 var(--mono); text-transform:uppercase; letter-spacing:.1em; }
.final-elenco figcaption span { display:block; margin-top:6px; color:#eefcfd; font-size:.82rem; line-height:1.35; }
.final-vera {
  position:relative;
  display:grid;
  place-items:stretch;
  overflow:hidden;
  background:#01070b;
}
.final-vera > img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 22%;
  filter:saturate(.78) contrast(1.05);
}
.final-vera::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 36%,rgba(1,7,11,.92));
}
.final-vera blockquote {
  position:absolute;
  z-index:2;
  left:7%;
  right:7%;
  bottom:7%;
  margin:0;
  padding:16px 18px;
  background:rgba(1,8,12,.9);
  border-left:2px solid #ffc07e;
}
.final-vera blockquote span {
  color:#ffc07e;
  font:700 .68rem/1.2 var(--mono);
  letter-spacing:.12em;
}
.final-vera blockquote p { margin:9px 0 0; color:#f0fbfc; line-height:1.55; }
.final-kamale { position:relative; display:grid; place-items:end center; overflow:hidden; background:radial-gradient(circle at 50% 25%,rgba(62,193,205,.24),transparent 44%),#01080c; }
.final-kamale img { width:min(78%,560px); height:100%; object-fit:cover; object-position:50% 20%; filter:saturate(.82); }
.final-kamale pre,.final-token pre {
  position:absolute;
  left:6%;
  bottom:7%;
  margin:0;
  padding:16px 18px;
  color:#9cffb6;
  background:rgba(1,8,12,.92);
  border:1px solid rgba(111,232,242,.42);
  font:500 clamp(.72rem,1.1vw,.9rem)/1.55 var(--mono);
  box-shadow:0 18px 46px rgba(0,0,0,.5);
}
.final-token {
  position:relative;
  min-height:100%;
  overflow:hidden;
  background:radial-gradient(circle at 50% 50%,rgba(111,232,242,.1),transparent 42%),#01070b;
}

.caso-identidade {
  display:grid;
  grid-template-columns:auto minmax(170px,.7fr) minmax(260px,1.4fr);
  align-items:center;
  gap:12px;
  margin-top:10px;
  padding:11px 13px;
  border:1px solid rgba(111,232,242,.2);
  background:rgba(2,13,19,.6);
}
.caso-identidade span { color:var(--muted); font:700 .62rem/1.2 var(--mono); letter-spacing:.1em; }
.caso-identidade strong { color:var(--ciano); font:700 .72rem/1.2 var(--mono); letter-spacing:.08em; }
.caso-identidade p { margin:0; color:#c8d8df; font-size:.78rem; line-height:1.45; }
.final-token pre { top:8%; bottom:auto; right:8%; }
.final-porta { position:absolute; left:50%; bottom:0; width:36%; height:66%; transform:translateX(-50%); border:1px solid rgba(111,232,242,.45); border-bottom:0; box-shadow:inset 0 0 70px rgba(111,232,242,.08); }
.final-porta i { position:absolute; inset:8%; border:1px solid rgba(111,232,242,.24); transform-origin:left; animation:final-porta-abre 3.2s ease-in-out infinite; }
.final-porta span { position:absolute; left:0; right:0; bottom:18px; color:var(--ciano); font:700 .65rem/1.2 var(--mono); letter-spacing:.12em; text-align:center; }
.final-escolha {
  position:absolute;
  z-index:3;
  left:5%;
  right:5%;
  bottom:5%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:14px;
  color:var(--texto);
  background:rgba(1,8,12,.94);
  border:1px solid rgba(111,232,242,.38);
}
.final-escolha legend { padding:0 8px; color:var(--ciano); font:700 .72rem/1.2 var(--mono); }
.final-escolha button { min-height:54px; color:var(--texto); background:rgba(111,232,242,.05); border:1px solid rgba(111,232,242,.28); }
.final-escolha button[aria-pressed="true"] { color:#dfffff; border-color:var(--ciano); box-shadow:inset 0 -3px var(--ciano); }
.final-controles button { min-height:44px; }
@keyframes final-desliga { 55% { opacity:.18; } }
@keyframes final-porta-abre { 50% { transform:perspective(430px) rotateY(-56deg); background:rgba(111,232,242,.05); } }

.caso-transferencia { max-width:1060px; margin:auto; display:grid; gap:18px; }
.caso-transferencia header,.caso-transferencia footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.caso-transferencia header span,.transferencia-tarefa>span { color:var(--ciano); font:700 .7rem/1 var(--mono); letter-spacing:.12em; }
.transferencia-contexto { display:flex; gap:8px; flex-wrap:wrap; }
.transferencia-contexto p { width:100%; }
.transferencia-contexto code { border:1px solid rgba(111,232,242,.3); padding:8px; }
.transferencia-tarefa { border:1px solid rgba(111,232,242,.35); padding:24px; background:rgba(2,12,18,.9); }
.transferencia-tarefa h1 { font-size:clamp(1.45rem,3vw,2.4rem); max-width:32ch; }
.transferencia-tarefa textarea { width:100%; min-height:220px; margin-top:8px; padding:15px; background:#02080d; color:#8fffa6; border:1px solid rgba(111,232,242,.5); font:1rem/1.55 var(--mono); }
#transferencia-feedback { min-height:48px; margin-top:12px; padding:10px; }
#transferencia-feedback.erro { border-left:2px solid #ff8b6b; color:#ffb09a; }
#transferencia-feedback.certo { border-left:2px solid #7cf5a3; color:#9cffba; }

.qualidade-painel { max-width:760px; margin:auto; }
.qualidade-painel fieldset { border:1px solid rgba(111,232,242,.3); margin:12px 0; padding:16px; }
.qualidade-painel label { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; }
.qualidade-painel select,.qualidade-painel input { min-height:44px; }
.qualidade-volume { display:flex; align-items:center; gap:10px; min-width:min(320px,58vw); }
.qualidade-volume input { flex:1; }
.qualidade-volume output { min-width:3.5em; color:var(--ciano); font:700 .75rem/1 var(--mono); text-align:right; }

html.alto-contraste { --texto:#fff; --muted:#d8e8ef; --ciano:#8ff7ff; }
html.modo-foco .atividade-personagem,
html.modo-foco .atividade-gesto,
html.modo-foco .atividade-kamale-hero { opacity:.22; filter:saturate(.45); }
html[data-humor="desligado"] .humor-batida { display:none; }
html[data-humor="reduzido"] .resultado-aprendizado .resultado-texto p { display:none; }
html[data-efeitos="reduzido"] *,html[data-movimento="reduzido"] * { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }

@media (max-width: 900px) {
  .resultado-batida { grid-template-columns:1fr; padding:20px; min-height:auto; }
  .resultado-visual { height:260px; }
  .resultado-palco { min-height:auto; }
  .caso-transferencia header,.caso-transferencia footer { align-items:stretch; flex-direction:column; }
  .atividade-shell.apoio-guiado .atividade-grade,
  .atividade-shell.apoio-reduzido .atividade-grade,
  .atividade-shell.modo-autonomo .atividade-grade { grid-template-columns:1fr; }
  .atividade-shell.apoio-reduzido .atividade-direita,
  .atividade-shell.modo-autonomo .atividade-direita { grid-column:auto; }
  .final-quadro { grid-template-columns:1fr; grid-template-rows:minmax(360px,58vh) auto; }
  .final-palco,.final-quadro { height:auto; min-height:auto; }
  .final-texto { padding:22px; }
  .final-elenco img { min-height:260px; }
  .caso-identidade { grid-template-columns:1fr; gap:6px; }
}

@media (max-width: 760px) {
  html { scroll-padding-block:72px 118px; }
  #ui.briefing-amplo {
    max-width:none;
    padding-inline:8px;
  }
  .tela.briefing-cinematico > .miolo {
    width:calc(100vw - 16px);
    padding:18px 14px max(18px,env(safe-area-inset-bottom));
  }
  .briefing-topo { margin-bottom:8px; }
  .tela .briefing-titulo {
    margin-bottom:3px;
    font-size:clamp(1.55rem,7vw,2rem);
    line-height:1.08;
  }
  .tela .briefing-local {
    margin-bottom:12px;
    font-size:.72rem;
  }
  .missao-alvo {
    margin-bottom:12px;
    padding:11px 12px;
  }
  .missao-alvo strong {
    font-size:.88rem;
    line-height:1.42;
  }
  .briefing-comunicacoes {
    grid-template-columns:1fr;
    gap:10px;
  }
  .humor-batida {
    grid-template-columns:54px minmax(0,1fr);
    gap:10px;
    padding:11px;
  }
  .humor-retrato {
    width:54px;
    height:54px;
  }
  .humor-batida p {
    margin-top:4px;
    font-size:.82rem;
    line-height:1.42;
  }
  .humor-efeito {
    grid-template-columns:auto minmax(60px,1fr);
    gap:8px;
    margin-top:7px;
    padding-top:6px;
  }
  .humor-efeito-rotulo {
    max-width:12ch;
    line-height:1.25;
  }
  .briefing-falas { padding:11px 12px; }
  .briefing-secao { margin-bottom:8px; }
  .briefing-cinematico .fala {
    grid-template-columns:52px minmax(0,1fr);
    gap:10px;
  }
  .briefing-cinematico .retrato { --lado:52px; }
  .briefing-cinematico .fala .diz {
    font-size:.82rem;
    line-height:1.43;
  }
  .tela .briefing-acoes {
    grid-template-columns:1fr;
    gap:8px;
    margin-top:10px;
  }
  .briefing-acoes button { min-height:48px; }
  .atividade-mobile-etapas {
    position:sticky;
    top:0;
    z-index:12;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:4px;
    padding:7px;
    background:rgba(1,7,11,.96);
    border-bottom:1px solid rgba(111,232,242,.25);
    backdrop-filter:blur(12px);
  }
  .atividade-mobile-etapas button {
    min-width:0;
    min-height:44px;
    padding:7px 5px;
    color:var(--muted);
    background:rgba(255,255,255,.025);
    border:1px solid rgba(111,232,242,.16);
    font:700 clamp(.62rem,2.7vw,.74rem)/1.15 var(--mono);
  }
  .atividade-mobile-etapas button[aria-current="step"] {
    color:#d7feff;
    border-color:rgba(111,232,242,.72);
    background:rgba(111,232,242,.12);
    box-shadow:inset 0 -2px var(--ciano);
  }
  .atividade-shell .atividade-grade { display:block; }
  .atividade-shell[data-etapa-mobile="caso"] .atividade-esquerda,
  .atividade-shell[data-etapa-mobile="caso"] .atividade-direita,
  .atividade-shell[data-etapa-mobile="caso"] .atividade-editor { display:none!important; }
  .atividade-shell[data-etapa-mobile="resposta"] .atividade-esquerda,
  .atividade-shell[data-etapa-mobile="resposta"] .atividade-direita,
  .atividade-shell[data-etapa-mobile="resposta"] .atividade-vera-fala { display:none!important; }
  .atividade-shell[data-etapa-mobile="resposta"] .atividade-objetivo {
    padding-bottom:10px;
    border-bottom:1px solid rgba(111,232,242,.2);
  }
  .atividade-shell[data-etapa-mobile="resposta"] .atividade-objetivo .atividade-instrucao,
  .atividade-shell[data-etapa-mobile="resposta"] .atividade-objetivo .atividade-criterios,
  .atividade-shell[data-etapa-mobile="resposta"] .atividade-objetivo .atividade-palavras,
  .atividade-shell[data-etapa-mobile="resposta"] .atividade-objetivo .atividade-schema { display:none; }
  .atividade-shell[data-etapa-mobile="resposta"] .atividade-titulo-desafio { margin-bottom:3px; }
  .atividade-shell[data-etapa-mobile="resposta"] .atividade-objetivo h1 { font-size:clamp(1rem,4.7vw,1.28rem); }
  .atividade-shell[data-etapa-mobile="apoio"] .atividade-esquerda,
  .atividade-shell[data-etapa-mobile="apoio"] .atividade-centro { display:none!important; }
  .atividade-shell[data-etapa-mobile="apoio"] .atividade-direita {
    display:grid!important;
    grid-column:auto;
    gap:10px;
  }
  .atividade-shell[data-etapa-mobile="apoio"] .atividade-kamale-hero { display:none!important; }
  .atividade-shell[data-etapa-mobile="apoio"] .como-pensar,
  .atividade-shell[data-etapa-mobile="apoio"] .esquema-faixa { display:block!important; }
  .atividade-controles {
    position:sticky;
    bottom:0;
    z-index:13;
    padding-bottom:max(8px,env(safe-area-inset-bottom));
    background:linear-gradient(180deg,rgba(1,7,11,.88),rgba(1,7,11,.99) 24%);
  }
  .tela.final-cinematico .miolo { width:calc(100vw - 18px); }
  .final-campanha > header { padding:0 4px; }
  .final-quadro { grid-template-rows:minmax(330px,52vh) auto; }
  .final-elenco { grid-template-columns:1fr 1fr; }
  .final-elenco img { min-height:210px; }
  .final-elenco figcaption span { font-size:.72rem; }
  .final-vera blockquote { left:4%; right:4%; bottom:4%; }
  .final-politica { left:4%; right:4%; grid-template-columns:1fr auto; }
  .final-politica i { display:none; }
  .final-kamale pre,.final-token pre { left:4%; right:4%; font-size:.68rem; }
  .final-escolha { grid-template-columns:1fr; }
  .final-controles { position:sticky; bottom:0; padding:8px 0 max(8px,env(safe-area-inset-bottom)); background:rgba(1,7,11,.97); }
}

@media (max-height: 760px) and (min-width: 761px) {
  .tela.briefing-cinematico > .miolo {
    width:min(940px,calc(100vw - 36px));
    padding:16px 22px;
  }
  .briefing-topo { margin-bottom:7px; }
  .tela .briefing-titulo {
    margin-bottom:2px;
    font-size:clamp(1.65rem,3vw,2rem);
  }
  .tela .briefing-local {
    margin-bottom:10px;
    line-height:1.4;
  }
  .missao-alvo {
    margin-bottom:10px;
    padding:10px 13px;
  }
  .missao-alvo span { margin-bottom:4px; }
  .missao-alvo strong {
    font-size:.86rem;
    line-height:1.4;
  }
  .briefing-comunicacoes { gap:10px; }
  .humor-batida {
    grid-template-columns:52px minmax(0,1fr);
    gap:10px;
    padding:10px 11px;
  }
  .humor-retrato {
    width:52px;
    height:52px;
  }
  .humor-batida p {
    margin-top:4px;
    font-size:.8rem;
    line-height:1.38;
  }
  .humor-efeito {
    gap:7px;
    margin-top:6px;
    padding-top:6px;
  }
  .briefing-falas { padding:10px 12px; }
  .briefing-secao { margin-bottom:7px; }
  .briefing-cinematico .fala {
    grid-template-columns:50px minmax(0,1fr);
    gap:9px;
  }
  .briefing-cinematico .retrato { --lado:50px; }
  .briefing-cinematico .fala + .fala {
    margin-top:7px;
    padding-top:7px;
  }
  .briefing-cinematico .fala .diz {
    font-size:.79rem;
    line-height:1.38;
  }
  .briefing-cinematico .fala .diz + .diz {
    margin-top:5px;
    padding-top:5px;
  }
  .tela .briefing-acoes {
    gap:8px;
    margin-top:10px;
  }
  .briefing-acoes button { min-height:44px; }
}

@media (max-height: 520px) and (orientation: landscape) {
  .tela.briefing-cinematico > .miolo {
    margin:0 auto;
    padding-top:12px;
    padding-bottom:max(12px,env(safe-area-inset-bottom));
  }
  .briefing-comunicacoes { grid-template-columns:minmax(250px,.85fr) minmax(0,1.35fr); }
  .humor-efeito-rotulo { font-size:.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .resultado-ambiente i,.humor-acao *, .resultado-acao *,
  .final-campanha * { animation:none!important; transition:none!important; }
}
