:root{
  --tinta:#0F2A44; --suave:#5B6B7C; --fundo:#F4F8FA; --cartao:#FFFFFF; --linha:#DCE6EC; --marca:#0E9F9A;
  --marca-fundo:#E6F6F5; --perigo:#DC2626; --perigo-fundo:#FDECEC; --perigo-tinta:#B91C1C;
  --ambar:#B45309; --ambar-fundo:#FFF7E6; --ambar-borda:#F6D58E; --ouro:#FACC15; --escuro:#0F2A44; --escuro-tinta:#FFFFFF;
  --teal:#0E9F9A; --azul:#2563EB; --verde:#16A34A; --roxo:#7C3AED; --laranja:#EA580C; --vermelho:#DC2626;
  --sombra:0 1px 2px rgba(15,42,68,.06),0 4px 14px rgba(15,42,68,.06);
  --raio:16px; --corpo:'Atkinson Hyperlegible Next',system-ui,-apple-system,'Segoe UI',sans-serif; --titulo:'Sora',var(--corpo);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --tinta:#E8EFF6; --suave:#93A4B6; --fundo:#08131F; --cartao:#102033; --linha:#1F3550; --marca:#2CC7C0; --marca-fundo:#0F2E33;
  --perigo:#EF4444; --perigo-fundo:#3A1416; --perigo-tinta:#FCA5A5; --ambar:#FBBF24; --ambar-fundo:#2A2110; --ambar-borda:#5C4716;
  --escuro:#16304D; --teal:#2CC7C0; --azul:#60A5FA; --verde:#4ADE80; --roxo:#A78BFA; --laranja:#FB923C; --vermelho:#F87171;
  --sombra:0 1px 2px rgba(0,0,0,.3); color-scheme:dark;
}}
:root[data-theme="dark"]{
  --tinta:#E8EFF6; --suave:#93A4B6; --fundo:#08131F; --cartao:#102033; --linha:#1F3550; --marca:#2CC7C0; --marca-fundo:#0F2E33;
  --perigo:#EF4444; --perigo-fundo:#3A1416; --perigo-tinta:#FCA5A5; --ambar:#FBBF24; --ambar-fundo:#2A2110; --ambar-borda:#5C4716;
  --escuro:#16304D; --teal:#2CC7C0; --azul:#60A5FA; --verde:#4ADE80; --roxo:#A78BFA; --laranja:#FB923C; --vermelho:#F87171;
  --sombra:0 1px 2px rgba(0,0,0,.3); color-scheme:dark;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fundo);color:var(--tinta);font:400 17px/1.45 var(--corpo);min-height:100dvh}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
a{color:inherit}
b{font-weight:800}
.tela{max-width:720px;margin:0 auto;padding:0 16px calc(32px + env(safe-area-inset-bottom))}
.oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- topo ---------- */
.topo{position:sticky;top:0;z-index:5;background:var(--fundo);padding:calc(10px + env(safe-area-inset-top)) 0 10px;margin:0 -16px;padding-left:16px;padding-right:16px}
.topo-linha{display:flex;align-items:center;gap:10px;min-height:44px}
.logo{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.logo img{width:34px;height:34px;border-radius:10px}
.logo span{font:800 19px/1 var(--titulo);letter-spacing:-.01em}
.icone-btn{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--tinta)}
.icone-btn:active{background:var(--linha)}
.icone-btn svg{width:24px;height:24px}
.busca{position:relative;margin-top:10px}
.busca input{width:100%;height:54px;border-radius:14px;border:2px solid var(--linha);background:var(--cartao);color:var(--tinta);
  font:600 18px var(--corpo);padding:0 48px 0 48px;outline:none;box-shadow:var(--sombra)}
.busca input:focus{border-color:var(--marca)}
.busca input::placeholder{color:var(--suave);font-weight:400}
.busca .lupa{position:absolute;left:15px;top:15px;width:24px;height:24px;color:var(--suave)}
.busca .limpar[hidden]{display:none}
.busca input::-webkit-search-cancel-button{display:none;-webkit-appearance:none}
.busca .limpar{position:absolute;right:6px;top:5px;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--suave)}
.filtros{display:flex;gap:8px;overflow-x:auto;padding:12px 16px 2px;margin:0 -16px;scrollbar-width:none}
.filtros::-webkit-scrollbar{display:none}
.chip{flex:none;height:38px;padding:0 14px;border-radius:999px;border:1.5px solid var(--linha);background:var(--cartao);font-weight:700;font-size:15px;white-space:nowrap;display:flex;align-items:center;gap:6px}
.chip[aria-pressed="true"]{background:var(--tinta);border-color:var(--tinta);color:var(--fundo)}
.chip.av[aria-pressed="true"]{background:var(--perigo);border-color:var(--perigo);color:#fff}
.chip.av[aria-pressed="true"] .tag-av{background:#fff}
.chip .tag-av{width:10px;height:10px}

/* ---------- lista ---------- */
.secao-titulo{font:800 13px/1 var(--corpo);letter-spacing:.08em;text-transform:uppercase;color:var(--suave);margin:22px 2px 10px}
.lista{display:flex;flex-direction:column;gap:8px}
.item{display:flex;align-items:center;gap:12px;background:var(--cartao);border:1px solid var(--linha);border-radius:14px;padding:10px 12px;text-decoration:none;min-height:64px;box-shadow:var(--sombra)}
.item:active{transform:scale(.99)}
.num{flex:none;width:42px;height:42px;border-radius:11px;background:var(--escuro);color:#fff;display:grid;place-items:center;font:800 16px/1 var(--titulo)}
.item-txt{flex:1;min-width:0}
.item-nome{font-weight:800;font-size:17px;line-height:1.2}
.item-sub{color:var(--suave);font-size:14px;line-height:1.3;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item-trecho{color:var(--suave);font-size:14px;line-height:1.35;margin-top:4px}
.item-trecho mark{background:var(--marca-fundo);color:var(--tinta);border-radius:3px;padding:0;font-weight:700}
.tag-av{flex:none;width:10px;height:10px;border-radius:50%;background:var(--perigo)}
.seta{flex:none;color:var(--suave);width:20px;height:20px}
.vazio{text-align:center;color:var(--suave);padding:40px 12px}
.vazio b{color:var(--tinta)}
.aviso-rodape{color:var(--suave);font-size:13px;text-align:center;margin:28px 8px 0;line-height:1.5}

/* ---------- mapa ---------- */
.cab{padding:8px 0 4px}
.cab-linha{display:flex;gap:14px;align-items:flex-start}
.cab .num{width:58px;height:58px;border-radius:14px;flex-direction:column;gap:2px;font-size:22px}
.cab .num small{font:800 9px/1 var(--corpo);letter-spacing:.12em;opacity:.75}
.cab h1{font:800 clamp(24px,7vw,32px)/1.1 var(--titulo);margin:2px 0 8px;letter-spacing:-.02em;overflow-wrap:anywhere}
.cab-meta{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}
.sigla{background:var(--escuro);color:#fff;font-weight:800;font-size:14px;padding:4px 10px;border-radius:8px}
.classe{color:var(--suave);font-size:15px}
.selo{display:flex;align-items:center;gap:8px;margin-top:12px;background:var(--perigo-fundo);color:var(--perigo-tinta);border:1.5px solid color-mix(in srgb,var(--perigo) 35%,transparent);
  border-radius:12px;padding:8px 12px;font-weight:800;font-size:14px;letter-spacing:.04em;text-transform:uppercase}
.selo svg{width:20px;height:20px;flex:none}
.alerta{margin-top:14px;background:var(--perigo);color:#fff;border-radius:var(--raio);padding:16px 16px 14px;text-align:center}
.alerta-tit{display:flex;align-items:center;justify-content:center;gap:10px;font:800 clamp(20px,6vw,26px)/1.1 var(--titulo);text-transform:uppercase;letter-spacing:-.01em}
.alerta-tit svg{width:28px;height:28px;flex:none}
.alerta-sub{font-weight:700;font-size:15px;margin-top:6px;opacity:.95}
.numeros{margin-top:12px;background:var(--cartao);border:1px solid var(--linha);border-radius:var(--raio);padding:14px 16px;box-shadow:var(--sombra)}
.numeros h2{font:800 12px/1 var(--corpo);letter-spacing:.1em;text-transform:uppercase;color:var(--suave);margin:0 0 10px}
.numeros ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.numeros li{display:flex;gap:10px;font-weight:800;font-size:18px;line-height:1.3}
.numeros li::before{content:"";flex:none;width:10px;height:10px;border-radius:3px;background:var(--marca);margin-top:7px}
.atalhos{position:sticky;top:calc(64px + env(safe-area-inset-top));z-index:4;display:flex;gap:8px;overflow-x:auto;padding:10px 16px;margin:12px -16px 0;background:var(--fundo);scrollbar-width:none}
.atalhos::-webkit-scrollbar{display:none}
.atalhos button{flex:none;height:36px;padding:0 12px;border-radius:999px;font-weight:800;font-size:14px;border:1.5px solid var(--c);color:var(--c);background:var(--cartao)}
.ramo,.inter,.dica{scroll-margin-top:calc(132px + env(safe-area-inset-top))}
.ramo{margin-top:12px;background:var(--cartao);border:1.5px solid color-mix(in srgb,var(--c) 45%,var(--linha));border-radius:var(--raio);padding:14px 16px 12px;box-shadow:var(--sombra)}
.ramo h2{display:flex;align-items:center;gap:10px;margin:0;font:800 17px/1.2 var(--titulo);color:var(--c);text-transform:uppercase;letter-spacing:.01em}
.ramo h2 .bola{flex:none;width:28px;height:28px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font:800 14px/1 var(--titulo)}
.ramo .sub{color:var(--suave);font-size:14px;font-weight:600;margin:4px 0 0 38px}
.ramo ul,.ramo ol{margin:10px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.ramo li{position:relative;padding-left:24px;line-height:1.45}
.ramo ul li::before{content:"";position:absolute;left:4px;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--c)}
.ramo ol{counter-reset:p}
.ramo ol li{counter-increment:p;padding-left:30px}
.ramo ol li::before{content:counter(p);position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:var(--c);color:#fff;font:800 12px/22px var(--titulo);text-align:center}
.ramo.nunca li::before{content:"✕";background:none;width:auto;height:auto;left:2px;top:0;color:var(--c);font:800 17px/1.4 var(--corpo);border-radius:0}
.inter{margin-top:12px;background:var(--ambar-fundo);border:1.5px solid var(--ambar-borda);border-radius:var(--raio);padding:14px 16px}
.inter h2{margin:0;font:800 16px/1.2 var(--titulo);color:var(--ambar);text-transform:uppercase}
.inter p{margin:6px 0 10px;color:var(--ambar);font-weight:700;font-size:15px}
.inter .pilulas{display:flex;flex-wrap:wrap;gap:6px}
.inter .pilulas span{background:var(--cartao);border:1px solid var(--ambar-borda);border-radius:10px;padding:5px 10px;font-weight:700;font-size:14px}
.dica{margin-top:12px;background:var(--escuro);color:#fff;border-radius:var(--raio);padding:16px}
.dica .rot{display:inline-block;background:var(--ouro);color:#0F2A44;font-weight:800;font-size:13px;letter-spacing:.04em;padding:5px 10px;border-radius:8px;text-transform:uppercase}
.dica p{margin:10px 0 0;font-weight:600;line-height:1.5}
.fontes{margin-top:14px;color:var(--suave);font-size:13px;line-height:1.5}
.fontes b{color:var(--tinta)}
.navega{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.navega a{background:var(--cartao);border:1px solid var(--linha);border-radius:14px;padding:10px 12px;text-decoration:none;min-height:60px;display:flex;flex-direction:column;justify-content:center}
.navega a small{color:var(--suave);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.navega a span{font-weight:800;font-size:15px;line-height:1.25}
.navega a.dir{text-align:right}
.estrela[aria-pressed="true"] svg{fill:var(--ouro);color:var(--ouro)}

/* ---------- entrada ---------- */
.entrada{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;max-width:420px;margin:0 auto;padding:24px 16px}
.entrada img{width:84px;height:84px;border-radius:22px;margin-bottom:18px}
.entrada h1{font:800 30px/1.1 var(--titulo);margin:0 0 8px;letter-spacing:-.02em}
.entrada p{color:var(--suave);margin:0 0 22px}
.entrada input{width:100%;height:56px;border-radius:14px;border:2px solid var(--linha);background:var(--cartao);color:var(--tinta);font:800 20px var(--corpo);letter-spacing:.12em;text-transform:uppercase;padding:0 16px;outline:none}
.entrada input:focus{border-color:var(--marca)}
.entrada .btn{margin-top:12px;width:100%;height:56px;border-radius:14px;background:var(--marca);color:#fff;font-weight:800;font-size:18px}
.entrada .btn[disabled]{opacity:.6}
.entrada .erro{color:var(--perigo-tinta);font-weight:700;margin-top:12px;min-height:1.4em}
.entrada small{color:var(--suave);margin-top:20px;font-size:13px}

.instalar{display:flex;gap:12px;align-items:center;margin-top:16px;background:var(--marca-fundo);border-radius:14px;padding:12px 14px;font-size:15px}
.instalar b{display:block}
.instalar button{margin-left:auto;flex:none;height:40px;padding:0 14px;border-radius:10px;background:var(--marca);color:#fff;font-weight:800}
.instalar .fechar{background:none;color:var(--suave);padding:0 6px;width:auto}

/* ===== v2: abas, telas novas ===== */
.item-sub,.item-trecho{display:block}
.logo-peq{font:800 16px/1 var(--titulo);color:var(--suave)}
.topo-titulo{font:800 22px/1.1 var(--titulo);margin:0;letter-spacing:-.01em;flex:1}
.com-abas{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
.abas{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;justify-content:center;gap:4px;background:color-mix(in srgb,var(--cartao) 94%,transparent);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--linha);padding:6px 8px calc(6px + env(safe-area-inset-bottom))}
.abas a{flex:1;max-width:160px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;border-radius:12px;text-decoration:none;color:var(--suave);font-weight:700;font-size:12.5px}
.abas a svg{width:25px;height:25px}
.abas a.ativa{color:var(--marca)}
.abas a.ativa svg{stroke-width:2.6}
.busca.com-voz input{padding-right:92px}
.busca.com-voz .limpar{right:48px}
.busca .voz{position:absolute;right:6px;top:5px;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--marca)}
.busca .voz svg{width:24px;height:24px}
.busca .voz.ouvindo{background:var(--perigo);color:#fff;animation:pulsa 1.2s ease-in-out infinite}
@keyframes pulsa{50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--perigo) 25%,transparent)}}
@media (prefers-reduced-motion:reduce){.busca .voz.ouvindo{animation:none}}

.ver-mapa{display:flex;align-items:center;gap:12px;margin-top:12px;background:var(--cartao);border:1px solid var(--linha);border-radius:14px;padding:12px 14px;text-decoration:none;box-shadow:var(--sombra)}
.ver-mapa>svg:first-child{width:26px;height:26px;color:var(--marca);flex:none}
.ver-mapa span{flex:1}.ver-mapa b{display:block;font-size:16px}.ver-mapa small{color:var(--suave);font-size:13px}
.confunda{scroll-margin-top:calc(132px + env(safe-area-inset-top));margin-top:12px;background:var(--perigo-fundo);border:1.5px solid color-mix(in srgb,var(--perigo) 35%,transparent);border-radius:var(--raio);padding:14px 16px}
.confunda h2{display:flex;align-items:center;gap:8px;margin:0 0 8px;font:800 16px/1.2 var(--titulo);color:var(--perigo-tinta);text-transform:uppercase}
.confunda h2 svg{width:22px;height:22px}
.par{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:8px 0;border-top:1px solid color-mix(in srgb,var(--perigo) 18%,transparent);font-size:17px}
.par:first-of-type{border-top:0}
.par-x{color:var(--suave);font-weight:800}
.par-outro{display:inline-flex;align-items:center;gap:2px;text-decoration:none}
.par-outro .seta{width:16px;height:16px}
.perigoso{color:var(--perigo-tinta)}
.tm{font-weight:800;letter-spacing:.01em}
.confunda small,.nota small{display:block;color:var(--suave);font-size:12.5px;margin-top:8px;line-height:1.4}
.nota{scroll-margin-top:calc(132px + env(safe-area-inset-top));margin-top:12px;background:var(--marca-fundo);border:1.5px dashed color-mix(in srgb,var(--marca) 55%,transparent);border-radius:var(--raio);padding:14px 16px}
.nota-cab{display:flex;align-items:center;gap:8px}
.nota h2{flex:1;display:flex;align-items:center;gap:8px;margin:0;font:800 16px/1.2 var(--titulo);color:var(--marca);text-transform:uppercase}
.nota h2 svg{width:20px;height:20px}
.nota-btn{font-weight:800;color:var(--marca);padding:6px 10px;border-radius:10px;min-height:36px}
.nota-txt{margin:10px 0 0;white-space:pre-wrap;font-weight:600;line-height:1.5}
.nota-vazia{margin-top:10px;width:100%;text-align:left;font-weight:700;color:var(--marca);padding:12px;border-radius:12px;background:var(--cartao);min-height:48px}
.nota textarea{width:100%;margin-top:10px;border-radius:12px;border:2px solid var(--linha);background:var(--cartao);color:var(--tinta);font:600 16px/1.45 var(--corpo);padding:10px 12px;outline:none;resize:vertical}
.nota textarea:focus{border-color:var(--marca)}
.nota-acoes{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}
.btn-pri,.btn-sec{height:44px;padding:0 16px;border-radius:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.btn-pri{background:var(--marca);color:#fff}
.btn-sec{background:var(--cartao);border:1.5px solid var(--linha)}
.btn-sec.largo{width:100%;margin-top:8px}
.videos{margin-top:12px}
.videos h2{font:800 12px/1 var(--corpo);letter-spacing:.1em;text-transform:uppercase;color:var(--suave);margin:18px 2px 10px}
.video{display:flex;align-items:center;gap:12px;background:var(--cartao);border:1px solid var(--linha);border-radius:14px;padding:12px 14px;text-decoration:none;margin-top:8px}
.video svg{width:30px;height:30px;color:var(--perigo);flex:none}
.video b{display:block}.video small{color:var(--suave);font-size:13px}

/* imagem do mapa */
.tela-imagem{min-height:100dvh;display:flex;flex-direction:column;background:var(--fundo)}
.barra-img{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:4px;padding:calc(8px + env(safe-area-inset-top)) 8px 8px;background:var(--fundo);border-bottom:1px solid var(--linha)}
.barra-titulo{flex:1;font-weight:800;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.palco{flex:1;overflow:auto;padding:12px 8px;-webkit-overflow-scrolling:touch}
.img-mapa{display:block;width:100%;height:auto;border-radius:8px;background:#fff;box-shadow:var(--sombra)}
.palco.ampliado .img-mapa{width:300%;max-width:none}
.carregando{color:var(--suave);text-align:center;padding:60px 16px}
.dica-img{color:var(--suave);font-size:13px;text-align:center;margin:0;padding:8px 16px calc(12px + env(safe-area-inset-bottom))}
@media print{
  @page{size:A4 landscape;margin:8mm}
  body{background:#fff}
  .barra-img,.dica-img,.abas{display:none!important}
  .palco{padding:0;overflow:visible}
  .img-mapa,.palco.ampliado .img-mapa{width:100%;box-shadow:none;border-radius:0}
}

/* estudar */
.intro{color:var(--suave);margin:4px 2px 12px;line-height:1.5}
.intro.peq{font-size:14px;margin-top:10px}
.intro b{color:var(--tinta)}
.placar{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
.placar div{background:var(--cartao);border:1px solid var(--linha);border-radius:14px;padding:12px 8px;text-align:center}
.placar b{display:block;font:800 26px/1.1 var(--titulo)}
.placar span{color:var(--suave);font-size:13px;font-weight:700}
.barra-prog{height:8px;border-radius:99px;background:var(--linha);overflow:hidden;margin-top:12px}
.barra-prog span{display:block;height:100%;background:var(--marca);border-radius:99px;transition:width .3s}
.btn-grande{width:100%;height:56px;border-radius:14px;background:var(--marca);color:#fff;font-weight:800;font-size:18px;margin-top:14px}
.btn-grande[disabled]{opacity:.5}
.cartao{margin-top:14px;background:var(--cartao);border:1px solid var(--linha);border-radius:20px;padding:18px 16px;box-shadow:var(--sombra)}
.cartao-cab{display:flex;align-items:center;gap:12px}
.cartao-cab b{display:block;font-size:19px;line-height:1.2}
.cartao-cab small{color:var(--suave)}
.pergunta{font:800 22px/1.25 var(--titulo);margin:16px 0 4px}
#resposta{margin-top:14px;border-top:1px dashed var(--linha);padding-top:14px}
.resp{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;--c:var(--marca)}
.resp li{position:relative;padding-left:24px;line-height:1.45}
ul.resp li::before{content:"";position:absolute;left:4px;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--c)}
ol.resp{counter-reset:p}
ol.resp li{counter-increment:p;padding-left:30px}
ol.resp li::before{content:counter(p);position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:var(--c);color:#fff;font:800 12px/22px var(--titulo);text-align:center}
.resp.nunca li::before{content:"✕";background:none;width:auto;height:auto;left:2px;top:0;color:var(--c);font:800 17px/1.4 var(--corpo)}
.alerta.peq{margin-top:0}
.ver-no-mapa{display:inline-block;margin-top:14px;font-weight:800;color:var(--marca);text-decoration:none}
.acoes-cartao{display:flex;gap:10px;margin-top:14px}
.acoes-cartao .btn-grande{margin-top:0}
.btn-errei,.btn-acertei{flex:1;height:56px;border-radius:14px;font-weight:800;font-size:18px}
.btn-errei{background:var(--perigo-fundo);color:var(--perigo-tinta);border:1.5px solid color-mix(in srgb,var(--perigo) 35%,transparent)}
.btn-acertei{background:var(--verde);color:#fff}
.fim-sessao{text-align:center;padding:40px 0}
.fim-sessao .grande{font:800 64px/1 var(--titulo);color:var(--marca)}
.fim-sessao p{color:var(--suave);font-weight:700}

/* ferramentas */
.ferr .ico-ferr{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 14%,transparent);color:var(--c)}
.ferr .ico-ferr svg{width:24px;height:24px}
.calc{display:flex;flex-direction:column;gap:12px;margin-top:6px}
.calc label{display:flex;flex-direction:column;gap:6px;font-weight:800;font-size:14px;color:var(--suave)}
.dupla{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.campo{position:relative;display:block}
.campo input{width:100%;height:58px;border-radius:14px;border:2px solid var(--linha);background:var(--cartao);color:var(--tinta);font:800 24px var(--corpo);padding:0 56px 0 14px;outline:none}
.campo input:focus{border-color:var(--marca)}
.campo em{position:absolute;right:14px;top:17px;font-style:normal;font-weight:800;color:var(--suave)}
.resultados{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.res{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:0 10px;background:var(--cartao);border:1px solid var(--linha);border-radius:14px;padding:12px 14px}
.res span{font-weight:800;color:var(--suave);font-size:14px}
.res b{grid-row:span 2;font:800 34px/1 var(--titulo);color:var(--tinta);text-align:right}
.res em{font-style:normal;font-weight:700;font-size:15px}
.res small{grid-column:1/-1;color:var(--suave);font-size:13px;margin-top:6px}
.vazio.peq{padding:20px 12px}
.placar-certos{display:flex;align-items:center;justify-content:space-between;margin:4px 0 10px;font-weight:700;color:var(--suave)}
.placar-certos b{color:var(--tinta);font-size:18px}
.certos{display:flex;flex-direction:column;gap:8px}
.certo{background:var(--cartao);border:1px solid var(--linha);border-radius:14px;overflow:hidden}
.certo summary{display:flex;align-items:center;gap:12px;padding:10px 12px;min-height:60px;cursor:pointer;list-style:none}
.certo summary::-webkit-details-marker{display:none}
.caixa{flex:none;width:34px;height:34px;border-radius:10px;border:2px solid var(--linha);display:grid;place-items:center;color:transparent}
.caixa svg{width:20px;height:20px}
.certo.feito .caixa{background:var(--verde);border-color:var(--verde);color:#fff}
.certo-n{font:800 18px/1 var(--titulo);color:var(--marca);width:18px}
.certo-t{font-weight:800;font-size:17px;flex:1}
.certo.feito .certo-t{color:var(--suave)}
.certo ul{margin:0;padding:0 16px 14px 44px;display:flex;flex-direction:column;gap:8px;line-height:1.45}
.importante{margin:0 16px 14px;background:var(--perigo-fundo);color:var(--perigo-tinta);border-radius:10px;padding:10px 12px;font-weight:700;font-size:15px}
.pares{display:flex;flex-direction:column;gap:6px}
.par-linha{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;background:var(--cartao);border:1px solid var(--linha);border-radius:12px;padding:12px 14px;font-size:17px}
.par-linha a{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}

/* modo escuro: as cores de destaque ficam claras, então o texto em cima delas fica escuro (contraste) */
:root[data-theme="dark"] .btn-acertei,
:root[data-theme="dark"] .ramo ol li::before,
:root[data-theme="dark"] ol.resp li::before,
:root[data-theme="dark"] .ramo h2 .bola,
:root[data-theme="dark"] .certo.feito .caixa,
:root[data-theme="dark"] .btn-grande,
:root[data-theme="dark"] .btn-pri,
:root[data-theme="dark"] .entrada .btn{color:#06121E}

/* ===== v3: acesso, avisar erro, conta ===== */
.rot-campo{display:block;font-weight:800;font-size:14px;color:var(--suave);margin-bottom:6px}
.entrada input[type=email]{text-transform:none;letter-spacing:0;font-weight:700;font-size:18px}
.entrada small a{color:var(--marca);font-weight:700}
.entrada small{line-height:1.7}
.avisar-erro{display:flex;align-items:center;gap:12px;margin-top:12px;border:1.5px dashed var(--linha);border-radius:14px;padding:12px 14px;text-decoration:none}
.avisar-erro svg{width:24px;height:24px;color:var(--ambar);flex:none}
.avisar-erro b{display:block;font-size:15px}.avisar-erro small{color:var(--suave);font-size:13px}
.conta{background:var(--cartao);border:1px solid var(--linha);border-radius:14px;padding:14px 16px}
.conta p{margin:0 0 10px;line-height:1.5;overflow-wrap:anywhere}
.conta-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:12px}
.conta-links a{color:var(--marca);font-weight:800;text-decoration:none}
