/* Curso de boas-vindas (/aprender) — estilo Duolingo, celular primeiro. */
:root{--lar:#f97316;--lar2:#ea580c;--verde:#22c55e;--verde2:#16a34a;--tinta:#0f172a;--cinza:#e5e7eb;--cinza2:#94a3b8;--fundo:#fff;--pagina:#f1f5f9}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--pagina)}
body{font-family:Nunito,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--tinta);-webkit-font-smoothing:antialiased}
button{font-family:inherit;cursor:pointer}
a{color:inherit}
.cx{max-width:480px;min-height:100vh;min-height:100dvh;margin:0 auto;background:var(--fundo);display:flex;flex-direction:column;position:relative}
@media(min-width:560px){.cx{min-height:calc(100vh - 48px);margin:24px auto;border-radius:24px;box-shadow:0 10px 40px rgba(15,23,42,.08);overflow:hidden}}
.corpo{flex:1;display:flex;flex-direction:column}

/* topo */
.topo{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px 8px;font-weight:900;font-size:16px}
.topo .raio{color:#ca8a04}.topo .grad{color:#475569}
.ico-btn{background:none;border:none;font-size:20px;padding:4px 6px;border-radius:10px;color:#64748b;text-decoration:none;line-height:1}
.ico-btn:hover{background:#f1f5f9}

/* botões 3D */
.btn{display:block;width:100%;border:none;border-radius:16px;padding:15px;font:900 16px Nunito,sans-serif;letter-spacing:.8px;text-transform:uppercase;color:#fff;background:var(--verde);box-shadow:0 5px 0 var(--verde2);text-align:center;text-decoration:none;transition:transform .05s}
.btn:active{transform:translateY(3px);box-shadow:0 2px 0 var(--verde2)}
.btn.lar{background:var(--lar);box-shadow:0 5px 0 var(--lar2)}
.btn.lar:active{box-shadow:0 2px 0 var(--lar2)}
.btn.bco{background:#fff;color:#0284c7;border:2px solid var(--cinza);box-shadow:0 4px 0 var(--cinza)}
.btn.vermelho{background:#ef4444;box-shadow:0 5px 0 #b91c1c}
.btn[disabled]{background:#e5e7eb;color:#94a3b8;box-shadow:0 5px 0 #d1d5db;cursor:not-allowed}
.link-sec{display:block;text-align:center;font-weight:900;color:var(--cinza2);margin-top:14px;font-size:14px;letter-spacing:.8px;text-transform:uppercase;background:none;border:none;width:100%}

/* barra da lição */
.barra{display:flex;align-items:center;gap:14px;padding:18px 18px 6px}
.barra .x{font-size:24px;color:var(--cinza2);font-weight:700;background:none;border:none}
.prog{flex:1;height:16px;background:var(--cinza);border-radius:10px;overflow:hidden}
.prog i{display:block;height:100%;background:var(--verde);border-radius:10px;box-shadow:inset 0 -4px 0 rgba(0,0,0,.08);transition:width .4s}

/* PDVito + balão */
.tutor{display:flex;gap:12px;align-items:flex-start;padding:10px 18px}
.tutor svg{flex:none}
.balao{position:relative;background:#fff;border:2px solid var(--cinza);border-radius:18px;padding:13px 15px;font-weight:800;font-size:16px;line-height:1.35}
.balao:before{content:"";position:absolute;left:-11px;top:24px;width:18px;height:18px;background:#fff;border-left:2px solid var(--cinza);border-bottom:2px solid var(--cinza);transform:rotate(45deg)}
.balao .dest{color:var(--lar2)}
.rot{font-size:12px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase}

/* nicho */
.nichos{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 18px 0}
.ni{border:2px solid var(--cinza);border-radius:16px;padding:12px;font-weight:800;font-size:15px;display:flex;gap:10px;align-items:center;box-shadow:0 4px 0 var(--cinza);background:#fff;text-align:left;color:var(--tinta)}
.ni span{font-size:24px}
.ni:hover{background:#f8fafc}
.ni.sel{border-color:#7dd3fc;background:#e0f2fe;box-shadow:0 4px 0 #7dd3fc;color:#0369a1}
.ni.todo{grid-column:span 2;justify-content:center}

/* trilha */
.unid{margin:6px 16px 0;background:var(--lar);color:#fff;border-radius:18px;padding:15px 18px;box-shadow:0 5px 0 var(--lar2)}
.unid h1{font-size:21px;font-weight:900;line-height:1.15;margin-top:2px}
.unid small{font-weight:800;opacity:.95;font-size:12px}
.chipn{display:inline-flex;gap:6px;align-items:center;background:rgba(255,255,255,.22);border:none;color:#fff;border-radius:10px;padding:5px 10px;font-weight:800;font-size:13px;margin-top:8px}
.trilha{position:relative;padding:40px 0 10px;display:flex;flex-direction:column;align-items:center;gap:22px}
.passo{display:flex;align-items:center;gap:14px;width:300px;position:relative}
.no{width:74px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;color:#fff;border:none;flex:none;position:relative}
.no.ok{background:var(--verde);box-shadow:0 7px 0 var(--verde2)}
.no.meio{background:#facc15;box-shadow:0 7px 0 #ca8a04}
.no.agora{background:var(--lar);box-shadow:0 7px 0 var(--lar2)}
.no.agora:after{content:"";position:absolute;inset:-11px;border-radius:50%;border:6px solid #fed7aa;animation:pulso 1.6s ease-in-out infinite}
.no.fech{background:var(--cinza);box-shadow:0 7px 0 #d1d5db;color:#9ca3af;cursor:not-allowed}
.no.presente{border-radius:22px;background:#fef3c7;box-shadow:0 7px 0 #fcd34d;width:82px;height:72px;font-size:36px}
@keyframes pulso{50%{transform:scale(1.06);opacity:.6}}
@media (prefers-reduced-motion:reduce){.no.agora:after{animation:none}}
.rotulo{font-weight:800;font-size:14px;color:#475569;line-height:1.25}
.rotulo small{display:block;font-size:12.5px;font-weight:800}
.rotulo .v{color:var(--verde2)}.rotulo .a{color:#b45309}
.tip{position:absolute;top:-42px;left:-2px;background:#fff;border:2px solid var(--cinza);border-radius:12px;padding:4px 12px;font-weight:900;color:var(--lar);font-size:13px;letter-spacing:.8px;white-space:nowrap}
.pdvito-trilha{position:absolute;left:-6px;top:110px;opacity:.95;pointer-events:none}
@media(max-width:400px){.pdvito-trilha{display:none}}
.prox{margin:10px 16px 22px;border:2px dashed #cbd5e1;border-radius:16px;padding:12px 16px;display:flex;gap:12px;align-items:center;color:#64748b;font-weight:800;font-size:14px}

/* aula */
.video{margin:8px 18px 0;border-radius:18px;overflow:hidden;border:2px solid var(--cinza);background:#0f172a;aspect-ratio:16/9}
.video video,.video iframe{display:block;width:100%;height:100%;border:0}
.maisinfo{margin:14px 18px 0;background:#f0f9ff;border:2px solid #bae6fd;border-radius:16px;padding:12px 14px;display:flex;gap:12px;align-items:center;text-decoration:none}
.maisinfo b{display:block;font-size:15px}
.maisinfo small{font-weight:700;color:#0369a1;font-size:13px}
.rodape{margin-top:auto;padding:16px 18px 24px;border-top:2px solid var(--cinza)}

/* missão */
.selo{display:inline-block;background:#fef3c7;color:#b45309;border-radius:10px;padding:5px 10px;font-weight:900;font-size:12px;letter-spacing:1px;margin:4px 18px 0;align-self:flex-start}
.h1{font-size:24px;font-weight:900;padding:8px 18px 0;line-height:1.2}
.lista{margin:12px 18px 0;display:flex;flex-direction:column;gap:10px}
.item{display:flex;gap:12px;align-items:center;border:2px solid var(--cinza);border-radius:16px;padding:12px 14px;font-weight:800}
.item .ck{width:34px;height:34px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;background:var(--verde)}
.item.ok{border-color:#bbf7d0;background:#f0fdf4}
.item small{display:block;font-weight:700;color:var(--verde2);font-size:13px}
.item.esp .ck{background:#fff;border:3px dashed #cbd5e1}
.item.esp small{color:#94a3b8}
.pulso{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--lar);margin-right:6px;animation:pisca 1.2s infinite}
@keyframes pisca{50%{opacity:.25}}
.dicas{margin:14px 18px 0}
.dicas .rot{color:#64748b;margin-bottom:8px}
.chip{display:flex;align-items:center;gap:10px;border:2px solid var(--cinza);border-radius:14px;padding:10px 12px;font-weight:800;font-size:14px;margin-bottom:8px;text-decoration:none}
.chip em{font-style:normal;margin-left:auto;color:#0284c7;font-size:13px}
.aviso{margin:14px 18px 0;background:#fff7ed;border:2px solid #fed7aa;border-radius:16px;padding:12px 14px;font-weight:700;font-size:14px;color:#9a3412;line-height:1.4}

/* desafio */
.opc{margin:0 18px 12px;border:2px solid var(--cinza);border-radius:16px;padding:15px;font-weight:800;font-size:16px;display:flex;gap:12px;align-items:center;box-shadow:0 4px 0 var(--cinza);background:#fff;text-align:left;width:calc(100% - 36px);color:var(--tinta)}
.opc .l{flex:none;width:30px;height:30px;border:2px solid var(--cinza);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#94a3b8}
.opc.certo{border-color:#86efac;background:#dcfce7;box-shadow:0 4px 0 #86efac;color:#15803d}
.opc.certo .l{border-color:#86efac;color:#15803d}
.opc.errado{border-color:#fca5a5;background:#fee2e2;box-shadow:0 4px 0 #fca5a5;color:#b91c1c}
.folha{margin-top:auto;padding:18px 18px 24px;animation:sobe .25s ease-out}
.folha.certo{background:#d7ffb8}.folha.errado{background:#ffdfe0}
.folha h3{font-size:22px;font-weight:900;display:flex;align-items:center;gap:10px}
.folha.certo h3,.folha.certo p{color:#15803d}.folha.errado h3,.folha.errado p{color:#b91c1c}
.folha h3 i{width:34px;height:34px;border-radius:50%;background:#fff;font-style:normal;display:flex;align-items:center;justify-content:center;font-size:19px}
.folha p{font-weight:700;font-size:15px;margin:6px 0 16px;line-height:1.35}
@keyframes sobe{from{transform:translateY(40px);opacity:0}}
.xp{display:inline-block;background:#fef9c3;color:#a16207;border:2px solid #fde047;border-radius:12px;padding:3px 10px;font-weight:900;font-size:14px;margin-left:auto}

/* fim / certificado */
.fim{background:linear-gradient(#fff7ed,#fff 40%)}
.stats{display:flex;gap:10px;margin:14px 18px 0}
.stat{flex:1;border:2px solid;border-radius:14px;overflow:hidden;text-align:center}
.stat .t{font-size:11px;font-weight:900;color:#fff;padding:4px;letter-spacing:.8px}
.stat .v{font-size:19px;font-weight:900;padding:8px 0}
.pres{margin:12px 18px 0;border-radius:16px;padding:14px;background:#faf5ff;border:2px solid #d8b4fe;display:flex;gap:12px;align-items:center}
.pres b{display:block;color:#7e22ce;font-size:16px}
.pres small{font-weight:700;color:#6b21a8;font-size:13px}
.form{margin:14px 18px 0;display:flex;flex-direction:column;gap:10px}
.form label{font-weight:900;font-size:13px;color:#475569;letter-spacing:.4px}
.form input{width:100%;border:2px solid var(--cinza);border-radius:14px;padding:13px 14px;font:800 16px Nunito,sans-serif;color:var(--tinta);outline:none}
.form input:focus{border-color:#7dd3fc}
.form .erro{color:#b91c1c;font-weight:800;font-size:13px}
.form .nota{color:#64748b;font-weight:700;font-size:12.5px;line-height:1.4}
.confete{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.confete i{position:absolute;top:-20px;width:9px;height:15px;border-radius:2px;animation:cai 2.6s ease-in forwards}
@keyframes cai{to{transform:translateY(760px) rotate(540deg);opacity:0}}
@media (prefers-reduced-motion:reduce){.confete{display:none}}
