:root{
  --onix:#0B0B0F;--laranja:#FF5A1F;--branco:#FFFFFF;--gelo:#EEF0F4;--fundo:#F7F7F9;
  --pessego:#FFE4D6;--pessego-texto:#7F270A;--grafite:#5B6170;--linha:#D9DCE3;--alerta:#D92D20;
  --raio:28px;--raio-item:16px;--sombra:0 14px 30px rgba(16,24,40,0.08);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:radial-gradient(circle at 85% 0%,rgba(255,90,31,0.12),rgba(255,90,31,0) 35%),var(--gelo);color:var(--onix);
  font-family:'Inter Tight',system-ui,-apple-system,sans-serif;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
a{color:#B33A0E}
:focus-visible{outline:2px solid var(--onix);outline-offset:3px}
#app{max-width:480px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.tela{flex:1;display:flex;flex-direction:column;gap:16px;padding:24px 20px 28px}
.marca{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;letter-spacing:-0.06em}
.marca span{font-weight:500;color:var(--grafite);letter-spacing:-0.03em}
.selo-teste{align-self:flex-start;font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;background:var(--onix);color:var(--branco)}
.progresso{display:flex;gap:5px}
.progresso i{flex:1;height:5px;border-radius:999px;background:var(--linha)}
.progresso i.feito{background:var(--laranja)}
.rotulo{font-size:13px;font-weight:600;color:var(--grafite)}
h1{margin:0;font-size:32px;font-weight:800;letter-spacing:-0.045em;line-height:1.08}
h2{margin:0;font-size:26px;font-weight:800;letter-spacing:-0.04em;line-height:1.1}
h3{margin:0;font-size:18px;font-weight:800;letter-spacing:-0.03em}
p{margin:0}
.texto{font-size:16px;line-height:1.5;color:var(--grafite)}
.pequeno{font-size:13px;line-height:1.45;color:var(--grafite)}
.acoes{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:8px}
.btn{font-family:inherit;font-size:17px;font-weight:700;min-height:56px;border-radius:999px;border:none;padding:0 22px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.btn-escuro{background:var(--onix);color:var(--branco)}
.btn-escuro:hover{background:#26272E}
.btn-laranja{background:var(--laranja);color:var(--onix)}
.btn-claro{background:var(--branco);color:var(--onix);border:1px solid var(--linha);min-height:48px;font-size:15px}
.btn-link{background:transparent;color:var(--onix);text-decoration:underline;min-height:44px;font-size:15px;font-weight:600}
.btn:disabled{opacity:0.45;cursor:not-allowed}
.cartao{background:var(--branco);border-radius:var(--raio);padding:18px;box-shadow:var(--sombra)}
.aviso{background:var(--pessego);color:var(--pessego-texto);border-radius:20px;padding:14px 16px;font-size:14px;line-height:1.45}
.erro{background:#FEE4E2;color:#912018;border-radius:16px;padding:12px 14px;font-size:14px;line-height:1.45}
.campo{display:flex;flex-direction:column;gap:6px}
.campo input{font-family:inherit;font-size:17px;min-height:54px;padding:0 18px;border-radius:var(--raio-item);border:2px solid var(--linha);background:var(--branco);color:var(--onix);width:100%}
.campo input:focus{border-color:var(--onix);outline:none}
.opcoes{display:flex;flex-direction:column;gap:10px}
.opcao{font-family:inherit;text-align:left;background:var(--branco);border:2px solid transparent;border-radius:20px;padding:16px 18px;min-height:62px;
  box-shadow:0 8px 20px rgba(16,24,40,0.07);font-size:17px;font-weight:600;color:var(--onix);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px}
.opcao small{display:block;font-size:13px;font-weight:500;color:var(--grafite);margin-top:2px}
.opcao.sel{border-color:var(--onix)}
.opcao .check{width:24px;height:24px;border-radius:999px;border:2px solid var(--linha);flex-shrink:0}
.opcao.sel .check{border:none;background:var(--onix) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 12.5 10.5 16 17 9' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-family:inherit;font-size:15px;font-weight:600;padding:12px 16px;border-radius:999px;background:var(--branco);border:1px solid var(--linha);color:var(--onix);cursor:pointer;min-height:44px}
.chip.sel{background:var(--onix);color:var(--branco);border-color:var(--onix)}
.grade2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.grade3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.foto-guia{border-radius:var(--raio);background:#1C1D22;min-height:300px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.foto-guia img{width:100%;height:340px;object-fit:cover;display:block}
.dicas{display:flex;flex-direction:column;gap:8px;font-size:15px;line-height:1.4}
.dicas div{display:flex;gap:10px;align-items:flex-start}
.dicas svg{flex-shrink:0;margin-top:2px}
.marcar{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.45;cursor:pointer}
.marcar input{width:24px;height:24px;flex-shrink:0;accent-color:var(--onix);margin:0}
.busca-lista{display:flex;flex-direction:column;gap:8px}
.grupo-aparelhos{display:flex;flex-direction:column;gap:6px}
.grupo-aparelhos h4{margin:8px 0 2px;font-size:13px;font-weight:700;letter-spacing:0.06em;color:var(--grafite);text-transform:uppercase}
.aparelho{display:flex;gap:12px;align-items:center;background:var(--branco);border-radius:14px;padding:10px 14px;font-size:15px;min-height:48px;cursor:pointer}
.aparelho input{width:22px;height:22px;accent-color:var(--onix);margin:0}
.selo{display:inline-block;font-size:11px;font-weight:700;padding:5px 10px;border-radius:999px}
.selo-escuro{background:var(--onix);color:var(--branco)}
.selo-pessego{background:var(--pessego);color:var(--pessego-texto)}
.selo-gelo{background:var(--gelo);color:var(--onix)}
.carregando{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center}
.giro{width:56px;height:56px;border-radius:999px;border:5px solid var(--linha);border-top-color:var(--laranja);animation:giro 0.9s linear infinite}
@keyframes giro{to{transform:rotate(360deg)}}
.mapa-figura{height:290px;border-radius:var(--raio);background:radial-gradient(circle at 50% 40%,#fff,#ECEEF3 70%);display:flex;align-items:center;justify-content:center}
.medidas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.medida{background:var(--branco);border-radius:16px;padding:10px 12px;box-shadow:0 6px 16px rgba(16,24,40,0.06)}
.medida span{display:block;font-size:11px;color:var(--grafite)}
.medida b{font-size:16px;font-weight:700}
.abas{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;background:var(--branco);border-radius:999px;padding:5px;box-shadow:0 6px 16px rgba(16,24,40,0.06)}
.aba{font-family:inherit;border:none;background:transparent;border-radius:999px;min-height:44px;font-size:15px;font-weight:700;color:var(--grafite);cursor:pointer}
.aba.sel{background:var(--onix);color:var(--branco)}
.exercicio{background:var(--branco);border-radius:20px;box-shadow:0 8px 20px rgba(16,24,40,0.06);overflow:hidden}
.exercicio summary{list-style:none;cursor:pointer;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.exercicio summary::-webkit-details-marker{display:none}
.exercicio summary b{font-size:16px}
.exercicio summary small{display:block;font-size:13px;color:var(--grafite);margin-top:2px}
.exercicio .num{font-size:20px;font-weight:800;letter-spacing:-0.03em;white-space:nowrap}
.exercicio .det{padding:0 16px 16px;display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.45}
.troca{border-radius:14px;background:var(--gelo);padding:10px 12px}
.troca b{font-size:14px}
.rodape-teste{font-size:12px;line-height:1.45;color:var(--grafite);text-align:center;padding:8px 0 4px}
