/* fontes dentro do app (carregam sempre e funcionam sem internet); Sora e Inter, licença OFL */
@font-face{font-family:Sora;font-style:normal;font-weight:600 800;font-display:swap;src:url(fontes/sora.woff2) format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(fontes/inter.woff2) format("woff2")}
:root{
  --petroleo:#0E4D5C; --petroleo-escuro:#093843; --petroleo-claro:#1F6474;
  --menta:#3DDC97; --menta-fundo:#DDF8EA; --menta-texto:#1D6B4A; --menta-suave:#BFE9D6;
  --coral:#E2574C; --coral-texto:#B9382E; --coral-fundo:#FCE7E5;
  --fundo:#E9F1F2; --fundo-fora:#D5E3E6; --linha:#E3ECEE; --texto:#102A30; --suave:#4B6268; --apagado:#6F8A90; --branco:#FFFFFF;
  --abas:84px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%}
body{background:var(--fundo-fora);color:var(--texto);font:400 16px/1.5 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;cursor:pointer}
img{display:block;max-width:100%}
p{margin:0}
h1,h2,h3{margin:0;font-family:Sora,sans-serif;letter-spacing:-.02em;text-wrap:balance}
p,li,span{text-wrap:pretty}

/* moldura: no celular ocupa a tela; no computador vira uma coluna de celular */
.app{position:relative;max-width:480px;min-height:100dvh;margin:0 auto;background:var(--fundo)}
@media (min-width:600px){.app{box-shadow:0 0 0 1px #CBDADD,0 30px 60px rgba(9,56,67,.18)}}
.tela{padding:calc(14px + env(safe-area-inset-top)) 20px calc(var(--abas) + 28px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:18px;outline:none}
.tela--cheia{padding-bottom:calc(28px + env(safe-area-inset-bottom))}
.entra{animation:entra .28s cubic-bezier(.22,1,.36,1)}
@keyframes entra{from{opacity:0;transform:translateY(8px)}}

/* abas */
.abas{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:480px;height:calc(var(--abas) + env(safe-area-inset-bottom));padding:8px 24px env(safe-area-inset-bottom);background:var(--branco);border-top:1px solid #DCE7E9;display:flex;justify-content:space-between;z-index:5}
.abas a{width:70px;display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;color:var(--apagado);font-size:11px;font-weight:600;padding-top:2px}
.abas a.ativa{color:var(--petroleo);font-weight:700}
.abas.some{display:none}

/* blocos comuns */
.topo{display:flex;align-items:center;justify-content:space-between}
.topo img{height:38px;width:auto}
.avatar{width:40px;height:40px;border-radius:20px;background:var(--petroleo);color:var(--branco);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;border:0}
.ola h1{font-size:25px;font-weight:700;letter-spacing:-.6px}
.ola p,.suave{font-size:14px;color:var(--suave)}
.cartao{background:var(--branco);border-radius:22px;padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.titulo-sec{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.titulo-sec h2{font-size:17px;font-weight:700}
.titulo-sec a,.titulo-sec button{font-size:13px;font-weight:600;color:var(--petroleo);text-decoration:none;background:none;border:0;padding:0}

.btn{height:52px;border:0;border-radius:14px;background:var(--petroleo);color:var(--branco);font:700 16px Sora,sans-serif;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;text-decoration:none;transition:transform .12s ease,filter .12s ease}
.btn:active{transform:scale(.98)}
.btn--menta{background:var(--menta);color:var(--petroleo-escuro)}
.btn--linha{background:var(--branco);color:var(--petroleo);box-shadow:inset 0 0 0 2px var(--petroleo)}
.btn--texto{background:none;color:var(--suave);font:600 14px Inter,sans-serif;height:40px}
.btn:disabled{opacity:.45;cursor:default}

/* nota líquida */
.nota{background:var(--petroleo);border-radius:22px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:10px;color:var(--branco)}
.nota__topo{display:flex;align-items:center;justify-content:space-between;gap:8px}
.nota__topo span:first-child{font-size:13px;font-weight:600;color:var(--menta-suave)}
.selo{font-size:12px;font-weight:600;color:var(--petroleo);background:var(--menta);padding:4px 9px;border-radius:10px;white-space:nowrap}
.nota__valor{display:flex;align-items:baseline;gap:6px}
.nota__valor b{font:800 52px/1 Sora,sans-serif}
.nota__valor span{font-size:16px;color:var(--menta-suave)}
.regua{position:relative;height:26px}
.regua i{position:absolute;top:8px;left:0;right:0;height:10px;border-radius:5px;background:var(--petroleo-claro)}
.regua i+i{right:auto;background:var(--menta);transition:width .6s cubic-bezier(.22,1,.36,1)}
.regua em{position:absolute;top:2px;width:3px;height:22px;border-radius:2px;background:var(--branco)}
.nota__pe{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--menta-suave)}
.nota__pe b{color:var(--branco);white-space:nowrap}
.nota--vazia .nota__valor b{font-size:30px}

/* treino de hoje */
.hoje{display:flex;align-items:center;gap:12px}
.hoje img{width:44px;flex-shrink:0}
.hoje div{display:flex;flex-direction:column;gap:1px}
.hoje small{font-size:12px;font-weight:600;color:var(--suave)}
.hoje strong{font:700 17px/1.3 Sora,sans-serif}
.hoje span{font-size:13px;color:var(--suave)}

/* trilha */
.trilha{background:var(--branco);border-radius:18px;padding:4px 16px}
.trilha button{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:11px 0;border-bottom:1px solid var(--linha)}
.trilha button:last-child{border-bottom:0}
.trilha__nome{display:flex;justify-content:space-between;gap:10px;font-size:14px}
.trilha__nome span:first-child{font-weight:600}
.trilha__nome span:last-child{color:var(--suave);white-space:nowrap}
.barrinha{height:6px;border-radius:3px;background:var(--linha);overflow:hidden}
.barrinha i{display:block;height:100%;border-radius:3px;background:var(--menta)}
.trilha__falta{font-size:12px;color:var(--apagado)}

/* questão */
.q-topo{display:flex;align-items:center;gap:12px}
.fechar{width:40px;height:40px;border-radius:20px;border:0;background:var(--branco);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.q-topo__meio{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}
.q-topo__nome{display:flex;justify-content:space-between;gap:8px;font-size:13px}
.q-topo__nome b{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.q-topo__nome span{color:var(--suave);font-weight:600;white-space:nowrap}
.passos{display:flex;gap:3px}
.passos i{flex:1;height:5px;border-radius:3px;background:#D3E1E4}
.passos i.c{background:var(--menta)}.passos i.e{background:var(--coral)}.passos i.b{background:#9DB5BA}.passos i.agora{background:var(--petroleo)}
.tags{display:flex;gap:8px;flex-wrap:wrap}
.tags span{font-size:12px;font-weight:600;color:var(--petroleo);background:#E1EEF0;padding:5px 10px;border-radius:8px}
.enunciado{font-size:13px;font-weight:600;color:var(--suave)}
.item-q{font-size:19px;line-height:1.5;color:var(--texto)}
.dica{display:flex;gap:10px;align-items:center}
.dica img{width:40px;flex-shrink:0}
.dica p{background:var(--branco);border-radius:14px;padding:10px 12px;font-size:13px;color:var(--suave);line-height:1.4}
.placar{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.placar div{border-radius:12px;padding:8px 4px;text-align:center;display:flex;flex-direction:column}
.placar b{font:800 20px/1.2 Sora,sans-serif}
.placar span{font-size:12px}
.placar .p-c{background:var(--menta-fundo);color:var(--menta-texto)}
.placar .p-e{background:var(--coral-fundo);color:var(--coral-texto)}
.placar .p-l{background:#E1EEF0;color:var(--petroleo)}
.respostas{margin-top:auto;display:flex;flex-direction:column;gap:6px}
.respostas__lado{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.b-certo{height:56px;border:0;border-radius:14px;background:var(--petroleo);color:var(--branco);font:700 17px Sora,sans-serif;display:flex;align-items:center;justify-content:center;gap:8px}
.b-errado{height:56px;border:0;border-radius:14px;background:var(--branco);color:var(--coral-texto);box-shadow:inset 0 0 0 2px var(--coral);font:700 17px Sora,sans-serif;display:flex;align-items:center;justify-content:center;gap:8px}

/* correção */
.marcou{display:flex;flex-direction:column;gap:6px}
.marcou__topo{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;color:var(--suave)}
.marcou__topo span:last-child{padding:3px 9px;border-radius:9px;font-weight:700}
.marcou p{font-size:15px;color:#2C4549}
.resultado{border-radius:22px;padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.resultado--ok{background:var(--menta-fundo)}
.resultado--erro{background:var(--coral-fundo)}
.resultado--branco{background:#E1EEF0}
.resultado__topo{display:flex;align-items:center;gap:12px}
.resultado__topo img{width:44px}
.resultado__topo b{display:block;font:800 22px/1.2 Sora,sans-serif}
.resultado--ok .resultado__topo b,.resultado--ok small{color:var(--menta-texto)}
.resultado--erro .resultado__topo b,.resultado--erro small{color:var(--coral-texto)}
.resultado--branco .resultado__topo b,.resultado--branco small{color:var(--petroleo)}
.resultado__topo small{font-size:13px;font-weight:600}
.resultado p{font-size:14px;color:#2C4549}
.pegadinha{background:var(--branco);border-radius:14px;padding:12px 14px}
.pegadinha b{color:var(--coral-texto)}

/* simulado */
.sim-topo h1{font-size:22px;font-weight:700}
.sim-nota{background:var(--petroleo);color:var(--branco);border-radius:22px;padding:20px 18px;display:flex;flex-direction:column;gap:14px}
.sim-nota__linha{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:6px;align-items:end}
.sim-nota__linha div{display:flex;flex-direction:column}
.sim-nota__linha b{font:800 22px/1.1 Sora,sans-serif}
.sim-nota__linha div:first-child b{font-size:44px;color:var(--menta)}
.sim-nota__linha span{font-size:12px;color:var(--menta-suave)}
.sim-nota__meta{font-size:14px;color:#D3E6E9;border-top:1px solid rgba(255,255,255,.14);padding-top:12px}
.sim-nota__meta b{color:var(--branco)}
.materias{background:var(--branco);border-radius:18px;padding:4px 16px}
.materias div{display:flex;flex-direction:column;gap:6px;padding:11px 0;border-bottom:1px solid var(--linha)}
.materias div:last-child{border-bottom:0}
.materias p{display:flex;justify-content:space-between;font-size:14px}
.materias p span:first-child{font-weight:600}
.materias p span:last-child{color:var(--suave)}
.relogio{display:flex;align-items:center;gap:8px;font:700 15px Sora,sans-serif;color:var(--petroleo)}

/* módulos */
.mod{background:var(--branco);border-radius:20px;padding:16px 18px;display:flex;align-items:center;gap:14px}
.mod__txt{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.mod__txt b{font:700 16px Sora,sans-serif}
.mod__txt span{font-size:13px;color:var(--suave)}
.mod__preco{display:flex;gap:8px;align-items:baseline;margin-top:4px}
.mod__preco s{font-size:13px;color:var(--apagado)}
.mod__preco strong{font:800 17px Sora,sans-serif;color:var(--petroleo)}
.mod .btn{width:auto;height:42px;padding:0 16px;font-size:14px;flex-shrink:0}
.combo{background:var(--petroleo);color:var(--branco);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:12px}
.combo b{font:700 17px Sora,sans-serif}
.combo p{color:#D3E6E9;font-size:14px}
.combo p s{color:#9FC2C8}
.combo p strong{color:var(--menta);font:800 20px Sora,sans-serif}
.garantia-mini{text-align:center;font-size:13px;color:var(--suave)}

/* perfil e formulários */
.campo{display:flex;flex-direction:column;gap:6px}
.campo label{font-size:13px;font-weight:600;color:var(--suave)}
.campo input{height:52px;border:2px solid #D3E1E4;border-radius:14px;padding:0 14px;font:500 16px Inter,sans-serif;color:var(--texto);background:var(--branco);outline:none}
.campo input:focus{border-color:var(--petroleo)}
.lista{background:var(--branco);border-radius:18px;padding:0 16px}
.lista a,.lista button{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px 0;border-bottom:1px solid var(--linha);font-size:15px;font-weight:600}
.lista > :last-child{border-bottom:0}
.lista small{font-weight:500;color:var(--suave);font-size:13px}
.perigo{color:var(--coral-texto) !important}
.numeros{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.numeros div{background:var(--branco);border-radius:16px;padding:12px 8px;text-align:center}
.numeros b{display:block;font:800 22px/1.2 Sora,sans-serif;color:var(--petroleo)}
.numeros span{font-size:12px;color:var(--suave)}

/* boas-vindas */
.boas{display:flex;flex-direction:column;gap:14px;min-height:calc(100dvh - 60px);justify-content:center;text-align:center;align-items:center}
.boas img.coruja{width:96px}
.boas h1{font-size:28px;font-weight:800}
.boas p{color:var(--suave);max-width:340px}
.boas form{width:100%;display:flex;flex-direction:column;gap:14px;text-align:left;margin-top:8px}

/* vazio */
.vazio{text-align:center;padding:28px 18px;display:flex;flex-direction:column;align-items:center;gap:10px}
.vazio img{width:64px}
.vazio b{font:700 17px Sora,sans-serif}
.vazio p{font-size:14px;color:var(--suave);max-width:300px}

.aviso{position:fixed;left:50%;bottom:calc(var(--abas) + 16px + env(safe-area-inset-bottom));transform:translate(-50%,20px);background:var(--texto);color:var(--branco);font-size:14px;font-weight:600;padding:11px 16px;border-radius:12px;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;max-width:calc(100% - 40px);text-align:center;z-index:9}
.aviso.mostra{opacity:1;transform:translate(-50%,0)}

@media (prefers-reduced-motion:reduce){.entra{animation:none}.regua i+i{transition:none}}

/* assunto: resumo, mapa mental, artigos */
.resumo{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.resumo li{font-size:15px;color:#2C4549}
.resumo li::marker{color:var(--menta-texto)}
.mapa{overflow-x:auto}
.mapa__raiz{display:inline-block;background:var(--petroleo);color:var(--branco);font:700 15px Sora,sans-serif;padding:8px 14px;border-radius:12px}
.mapa ul{list-style:none;margin:0;padding:0 0 0 18px;border-left:2px solid #D3E1E4;margin-left:14px}
.mapa li{position:relative;padding:8px 0 0 12px}
.mapa li::before{content:"";position:absolute;left:-2px;top:20px;width:12px;border-top:2px solid #D3E1E4}
.mapa__no{display:inline-block;border-radius:10px;padding:5px 11px;font-size:14px;line-height:1.35}
.mapa__no--1{background:var(--menta-fundo);color:var(--menta-texto);font-weight:700}
.mapa__no--2{background:#E1EEF0;color:var(--petroleo);font-weight:600}
.mapa__no--3{background:var(--fundo);color:#2C4549}
.artigo{border-top:1px solid var(--linha);padding-top:10px}
.artigo:first-of-type{border-top:0;padding-top:0}
.artigo b{font:700 14px Sora,sans-serif;color:var(--petroleo)}
.artigo p{font-size:14px;color:#2C4549;margin-top:2px}
.apoio p{font-size:15px;line-height:1.6;color:#2C4549}
.fonte{font-size:12px !important;color:var(--suave) !important}
.cartao--agora{box-shadow:inset 0 0 0 2px var(--menta)}
.lista--dentro{padding:0;background:none}
.checks{display:flex;flex-direction:column}
.check{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--linha);font-size:15px;cursor:pointer}
.check:last-child{border-bottom:0}
.check input{appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:1px 0 0;flex-shrink:0;border:2px solid #C6D7DA;border-radius:7px;background:var(--branco) center/14px no-repeat;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
.check input:checked{background-color:var(--menta-texto);border-color:var(--menta-texto);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5 9 17.5 20 6.5'/%3E%3C/svg%3E")}
.check input:checked + span{color:var(--suave);text-decoration:line-through}
.respostas__lado .btn{height:50px;font-size:15px}
.lista small{flex-shrink:0;white-space:nowrap;text-align:right}

/* código de 6 números: um campo só (aceita colar e o preenchimento do celular) por cima de 6 caixinhas */
.otp{position:relative;height:60px}
.otp input{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;padding:0;font-size:16px;caret-color:transparent;cursor:text;z-index:1}
.otp__caixas{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;height:100%}
.otp__caixas span{display:flex;align-items:center;justify-content:center;border:2px solid #D3E1E4;border-radius:14px;background:var(--branco);font:700 26px Sora,sans-serif;color:var(--texto);transition:border-color .15s ease,box-shadow .15s ease}
.otp__caixas span.cheia{border-color:#9DB5BA}
.otp__caixas span.agora{border-color:var(--petroleo);box-shadow:0 0 0 4px rgba(14,77,92,.12)}
.otp__caixas span.agora:empty::after{content:"";width:2px;height:28px;border-radius:1px;background:var(--petroleo);animation:pisca 1s steps(1) infinite}
@keyframes pisca{50%{opacity:0}}
.otp__ajuda{font-size:12px;color:var(--apagado)}
.abas__logo{display:none}

/* missões de hoje: Foco + Giro do edital */
.missoes{display:flex;flex-direction:column;gap:12px}
.missoes__topo{display:flex;justify-content:space-between;align-items:center;gap:10px}
.missoes__topo h2{font-size:17px;font-weight:700}
.missoes__topo > span{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;color:var(--suave)}
.pts{display:flex;gap:4px}
.pts i{width:18px;height:6px;border-radius:3px;background:#D3E1E4;transition:background .3s ease}
.pts i.on{background:var(--menta)}
.chip{display:inline-flex;align-items:center;width:fit-content;font-style:normal;font-size:11px;font-weight:700;letter-spacing:.2px;padding:4px 9px;border-radius:9px;white-space:nowrap}
.chip--foco{background:rgba(61,220,151,.18);color:var(--menta-suave)}
.chip--foco-claro{background:#E1EEF0;color:var(--petroleo)}
.chip--giro{background:var(--menta-fundo);color:var(--menta-texto)}
.foco{position:relative;overflow:hidden;background:var(--petroleo);color:var(--branco);border-radius:22px;padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.foco::after{content:"";position:absolute;right:-36px;top:-36px;width:130px;height:130px;border-radius:50%;background:rgba(61,220,151,.10);pointer-events:none}
.foco h3{font:700 20px/1.25 Sora,sans-serif;position:relative}
.foco p{font-size:13px;color:#D3E6E9}
.foco .respostas__lado{position:relative;z-index:1}
.btn--vidro{background:rgba(255,255,255,.10);color:var(--branco);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.28)}
.feito{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}
.feito svg{width:20px;height:20px;padding:3px;border-radius:10px;flex-shrink:0}
.foco .feito{color:var(--menta)}
.foco .feito svg{background:var(--menta);color:var(--petroleo-escuro)}
.giro{background:var(--branco);border-radius:22px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;box-shadow:inset 0 0 0 2px var(--menta-suave)}
.giro__topo{display:flex;align-items:center;gap:10px}
.giro__topo img{width:36px;height:auto}
.giro h3{font:700 18px/1.25 Sora,sans-serif}
.giro p{font-size:13px;color:var(--suave)}
.giro .feito{color:var(--menta-texto)}
.giro .feito svg{background:var(--menta-texto);color:var(--branco)}
.foco--feito,.giro--feito{padding-bottom:14px}
.giro--feito{box-shadow:none}
.giro--topo{box-shadow:inset 0 0 0 2px var(--menta-suave)}
.giro-fim{align-items:stretch;text-align:center}
.giro-fim b{font:700 16px Sora,sans-serif}
.missoes__fim{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:600;color:var(--menta-texto)}
.missoes__fim svg{width:18px;height:18px}
.edital-mosaico{display:flex;flex-direction:column;gap:10px;background:var(--branco);border-radius:20px;padding:14px 16px;text-decoration:none;color:inherit}
.edital-mosaico__leg{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--suave)}
.edital-mosaico__leg b{color:var(--texto)}
.mosaico{display:grid;grid-template-columns:repeat(23,1fr);gap:3px}
.mosaico i{aspect-ratio:1;border-radius:3px;background:var(--linha)}
.mosaico i.v{background:var(--menta)}
.mosaico i.h{background:var(--petroleo)}
/* plano: duas missões por dia */
.dias-plano{display:flex;flex-direction:column}
.dia-plano{display:flex;flex-direction:column;gap:2px;padding:10px 0;border-bottom:1px solid var(--linha)}
.dia-plano:last-child{border-bottom:0}
.dia-plano__n{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--suave);margin-bottom:2px}
.dia-plano button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:10px;padding:5px 0;font-size:14px;font-weight:600;line-height:1.35}
.dia-plano button span{flex:1;min-width:0}
.dia-plano button .chip{width:48px;justify-content:center;flex-shrink:0}
.dia-plano__ok{flex:0 0 auto !important;width:20px;height:20px;border-radius:10px;background:var(--menta-texto);color:var(--branco);display:flex;align-items:center;justify-content:center}
.dia-plano__ok svg{width:13px;height:13px}
.dia-plano--hoje{background:var(--menta-fundo);margin:0 -12px;padding:10px 12px;border-radius:14px;border-bottom-color:transparent}

/* simulados: lista das 6 provas */
.provas{background:var(--branco);border-radius:20px;padding:4px 16px}
.prova{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--linha)}
.prova:last-child{border-bottom:0}
.prova__n{width:40px;height:40px;border-radius:12px;background:var(--petroleo);color:var(--branco);font:800 17px Sora,sans-serif;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.prova__txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.prova__txt b{font:700 16px Sora,sans-serif;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.prova__txt small{font-size:13px;color:var(--suave)}
.prova__ir,.prova__cadeado{color:var(--apagado);display:flex}
.prova__ir svg,.prova__cadeado svg{width:20px;height:20px}
.prova--fechada .prova__n{background:#E1EEF0;color:var(--apagado)}
.prova--fechada .prova__txt b{color:var(--suave)}
.prova:focus-visible{outline:3px solid rgba(14,77,92,.35);outline-offset:2px;border-radius:12px}

/* Treino Relâmpago */
.desafio{background:var(--petroleo);border-radius:22px;padding:18px;display:flex;flex-direction:column;gap:10px;color:var(--branco)}
.desafio .nota__topo span:first-child{font-size:13px;font-weight:600;color:var(--menta-suave)}
.desafio__titulo{font:700 20px/1.3 Sora,sans-serif}
.desafio__txt{font-size:14px;color:#D3E6E9}
.desafio__txt b{color:var(--branco)}
.desafio__pe{font-size:12px;color:var(--menta-suave);text-align:center}
.desafio .btn{margin-top:4px}
.hoje__icone{width:44px;height:44px;border-radius:14px;background:var(--menta-fundo);color:var(--menta-texto);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.chamada{display:flex;align-items:center;gap:12px;background:var(--branco);border-radius:18px;padding:14px 16px;text-decoration:none;color:var(--texto);box-shadow:inset 0 0 0 2px var(--menta-suave);transition:box-shadow .15s ease}
.chamada:hover{box-shadow:inset 0 0 0 2px var(--menta)}
.chamada > svg{width:40px;height:40px;padding:9px;border-radius:12px;background:var(--petroleo);color:var(--menta);flex-shrink:0}
.chamada span{flex:1;display:flex;flex-direction:column;min-width:0}
.chamada b{font:700 16px Sora,sans-serif}
.chamada small{font-size:13px;color:var(--suave)}
.chamada .selo{font-style:normal}
.lista-ok{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.lista-ok li{position:relative;padding-left:24px;font-size:14px;color:#D3E6E9}
.lista-ok li::before{content:"";position:absolute;left:0;top:4px;width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233DDC97' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5 9 17.5 20 6.5'/%3E%3C/svg%3E") center/contain no-repeat}

/* nada com cara de navegador: foco, seleção, preenchimento automático e erro de campo */
::selection{background:var(--menta-suave);color:var(--texto)}
:focus-visible{outline:3px solid rgba(14,77,92,.35);outline-offset:2px}
.tela:focus,.tela:focus-visible{outline:none}
.campo input:focus-visible,.otp input:focus-visible{outline:none}
.check input:focus-visible{outline:3px solid rgba(14,77,92,.35);outline-offset:2px}
.campo input::placeholder{color:#9AAFB4;opacity:1}
.campo input{--campo-fundo:var(--branco)}
.campo input:-webkit-autofill,.campo input:-webkit-autofill:hover,.campo input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 60px var(--campo-fundo) inset;-webkit-text-fill-color:var(--texto);caret-color:var(--texto);transition:background-color 9999s}
.campo__erro{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--coral-texto);animation:entra .28s cubic-bezier(.22,1,.36,1)}
.campo__erro::before{content:"";width:16px;height:16px;flex-shrink:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B9382E' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M12 7.5v5.5M12 16.5v.01'/%3E%3C/svg%3E") center/contain no-repeat}
.campo--erro input,.campo--erro input:focus{border-color:var(--coral)}
.campo--erro .otp__caixas span,.campo--erro .otp__caixas span.agora{border-color:var(--coral);box-shadow:none}
.campo--erro .otp__caixas span.agora{box-shadow:0 0 0 4px rgba(226,87,76,.14)}
.campo--erro .otp__ajuda{display:none}
.btn--perigo{background:var(--coral);color:var(--branco)}
.btn--perigo-linha{background:var(--branco);color:var(--coral-texto);box-shadow:inset 0 0 0 2px var(--coral)}
.btn:focus-visible{outline:3px solid rgba(14,77,92,.35);outline-offset:3px}

/* janela: painel que sobe no celular, cartão no centro do computador */
.janela-fundo{position:fixed;inset:0;z-index:20;display:flex;align-items:flex-end;justify-content:center;background:rgba(9,56,67,0);transition:background .22s ease}
.janela{width:100%;max-width:480px;background:var(--branco);border-radius:24px 24px 0 0;padding:26px 20px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px;transform:translateY(100%);transition:transform .28s cubic-bezier(.22,1,.36,1)}
.janela::before{content:"";align-self:center;width:40px;height:4px;border-radius:2px;background:#D3E1E4;margin:-12px 0 6px}
.janela h2{font-size:20px;font-weight:700}
.janela__texto{font-size:15px;color:var(--suave)}
.janela__botoes{display:flex;flex-direction:column-reverse;gap:10px;margin-top:10px}
.janela-fundo.abre{background:rgba(9,56,67,.45)}
.janela-fundo.abre .janela{transform:none}
.janela-fundo.fecha{background:rgba(9,56,67,0)}
.passos-inst{margin:4px 0 0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.passos-inst li::marker{color:var(--petroleo);font-weight:700}
.passos-inst b{color:var(--texto)}
@media (prefers-reduced-motion:reduce){.janela,.janela-fundo{transition:none}.campo__erro{animation:none}}

/* computador: menu na lateral, conteúdo largo e entrada em cartão centralizado */
@media (min-width:900px){
  body{background:var(--fundo)}
  .app{max-width:none;box-shadow:none;background:none}
  .app:has(.abas:not(.some)){padding-left:248px}
  .abas{left:0;top:0;bottom:0;transform:none;width:248px;max-width:none;height:100vh;padding:28px 16px;flex-direction:column;justify-content:flex-start;gap:4px;border-top:0;border-right:1px solid #DCE7E9}
  .abas__logo{display:block;align-self:flex-start;height:40px;width:auto;margin:0 0 28px 12px}
  .abas a{width:100%;flex-direction:row;gap:12px;padding:12px 14px;border-radius:12px;font-size:15px;transition:background .15s ease,color .15s ease}
  .abas a:hover{background:var(--fundo);color:var(--petroleo)}
  .abas a.ativa{background:#E1EEF0}
  .tela{max-width:760px;margin:0 auto;padding:40px 40px 56px}
  .tela--cheia{padding-bottom:56px}
  .topo{display:none}
  .aviso{bottom:28px}
  .tela:has(> .boas--porta){min-height:100dvh;justify-content:center;max-width:none}
  .boas--porta{min-height:0;width:100%;max-width:460px;margin:0 auto;background:var(--branco);border-radius:28px;padding:44px 40px 36px;box-shadow:0 1px 0 #DCE7E9,0 30px 60px rgba(9,56,67,.10)}
  .janela-fundo{align-items:center;padding:24px}
  .janela{max-width:420px;border-radius:24px;padding:28px 28px 24px;transform:translateY(12px) scale(.97);opacity:0;transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .2s ease}
  .janela::before{display:none}
  .janela-fundo.abre .janela{opacity:1}
  .janela-fundo.fecha .janela{opacity:0}
  .janela__botoes--dois{flex-direction:row;justify-content:flex-end}
  .janela__botoes--dois .btn{width:auto;height:46px;padding:0 20px;font-size:15px}
  .boas--porta .campo input,.boas--porta .otp__caixas span{background:var(--fundo);border-color:transparent}
  .boas--porta .campo input{--campo-fundo:var(--fundo)}
  .boas--porta .campo input:focus{--campo-fundo:var(--branco)}
  .boas--porta .campo input:focus{border-color:var(--petroleo);background:var(--branco)}
  .boas--porta .campo--erro input,.boas--porta .campo--erro input:focus,.boas--porta .campo--erro .otp__caixas span{border-color:var(--coral)}
  .boas--porta .otp__caixas span.cheia{border-color:#C6D7DA;background:var(--branco)}
  .boas--porta .otp__caixas span.agora{border-color:var(--petroleo);background:var(--branco)}
}
.selo--neutro{background:#E1EEF0;color:var(--petroleo)}
/* módulo em produção (Lei Seca em Áudio) */
.producao{background:var(--branco);border-radius:22px;padding:26px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;box-shadow:inset 0 0 0 2px var(--menta-suave)}
.producao img{width:72px}
.producao h2{font:700 20px/1.3 Sora,sans-serif}
.producao p{font-size:14px;color:var(--suave);max-width:340px}
