/* Certificação ONS · Grupo GPE. Cores da GPE: azul #13589E, marinho #071A3C, ciano #41A3D1. */
:root{
  --marinho:#071a3c; --marinho2:#0c2550; --azul:#13589e; --azul-h:#0f4a86; --ciano:#41a3d1; --laranja:#f08c2e;
  --tinta:#0f1b2d; --fraco:#5b6b80; --linha:#e3e9f1; --fundo:#f4f7fb; --card:#fff; --ok:#1f9d63; --fut:#c77a12;
  --raio:18px; --sombra:0 1px 2px rgba(7,26,60,.06),0 12px 32px -12px rgba(7,26,60,.18);
  --sombra-h:0 2px 4px rgba(7,26,60,.08),0 24px 48px -16px rgba(19,88,158,.35);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:Inter,"Segoe UI",system-ui,sans-serif;color:var(--tinta);background:var(--fundo);line-height:1.55;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
img{max-width:100%;display:block}
.ico{width:1.15em;height:1.15em;flex:none}
[hidden]{display:none!important}

/* ---------- botões e chips ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;padding:.8em 1.35em;border-radius:12px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .2s,background .2s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn:disabled{opacity:.6;cursor:wait}
.btn-p{background:linear-gradient(135deg,var(--azul),#1d74c7);color:#fff;box-shadow:0 8px 20px -8px rgba(19,88,158,.7)}
.btn-p:hover{box-shadow:0 12px 26px -8px rgba(19,88,158,.8)}
.btn-claro{background:#fff;border-color:var(--linha);color:var(--azul)}
.btn-vidro{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#fff;backdrop-filter:blur(8px)}
.btn-largo{width:100%}
.btn-mini{padding:.45em .9em;font-size:.85rem;border-radius:9px}
.chip{display:inline-flex;align-items:center;gap:.45em;font-size:.75rem;font-weight:600;padding:.3em .75em;border-radius:99px;letter-spacing:.2px;white-space:nowrap}
.chip i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 22%,transparent)}
.chip-ok{background:#e6f6ee;color:var(--ok)}
.chip-fut{background:#fff3e2;color:var(--fut)}
.chip-eu{background:var(--azul);color:#fff;margin-left:.6em;vertical-align:middle}
.chip-lock{background:#eef2f7;color:var(--fraco)}
.chip-cod{background:#e8f0fa;color:var(--azul)}
.chip .ico{width:1em;height:1em}

/* ---------- barra superior ---------- */
.barra{position:sticky;top:0;z-index:50;background:rgba(7,26,60,.82);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.barra-in{max-width:1200px;margin:0 auto;padding:.7rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.marca{display:flex;align-items:center;gap:.65rem;color:#fff}
.marca-ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--azul),var(--ciano));box-shadow:0 6px 18px -6px rgba(65,163,209,.8)}
.marca-ic .ico{width:20px;height:20px}
.marca b{display:block;font-size:1rem;letter-spacing:-.2px}
.marca small{display:block;font-size:.72rem;color:#9fb4d4;font-weight:500;margin-top:-2px}
.menu{display:flex;align-items:center;gap:.3rem}
.menu a:not(.btn),.menu-sair{color:#c9d6ea;font-size:.9rem;font-weight:500;padding:.5em .8em;border-radius:9px;transition:background .2s,color .2s}
.menu a:not(.btn):hover,.menu-sair:hover{background:rgba(255,255,255,.08);color:#fff}
.menu .menu-dest{color:#fff;background:rgba(65,163,209,.18)}
.menu-sair{display:flex;align-items:center;gap:.4em;background:none;border:0;cursor:pointer}
.menu .btn{padding:.55em 1.1em;font-size:.9rem}

/* ---------- fundo luminoso (hero e faixas) ---------- */
.brilho{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55;pointer-events:none}
.b1{width:520px;height:520px;background:#1d74c7;top:-180px;right:-120px}
.b2{width:420px;height:420px;background:var(--ciano);bottom:-220px;left:-120px;opacity:.35}
.grade{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse at 60% 30%,#000 30%,transparent 75%)}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:radial-gradient(1200px 600px at 75% -10%,var(--marinho2),var(--marinho) 60%);color:#fff}
.hero-fundo{position:absolute;inset:0}
/* fotos das usinas do grupo em sequência, com zoom lento */
.hero-fotos img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:hfoto 28s infinite}
.hero-fotos img:first-child{opacity:1}
.hero-fotos img:nth-child(2){animation-delay:7s}.hero-fotos img:nth-child(3){animation-delay:14s}.hero-fotos img:nth-child(4){animation-delay:21s}
@keyframes hfoto{0%{opacity:0;transform:scale(1.12)}5%{opacity:1}25%{opacity:1}31%{opacity:0;transform:scale(1)}100%{opacity:0}}
.hero-veu{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,60,.94) 0%,rgba(7,26,60,.8) 42%,rgba(7,26,60,.35) 100%),linear-gradient(0deg,rgba(7,26,60,.95) 0%,transparent 35%)}
.pulso{position:absolute;left:0;right:0;bottom:120px;width:100%;height:120px;opacity:.5}
.pulso path{fill:none;stroke:var(--ciano);stroke-width:2;stroke-dasharray:1400;stroke-dashoffset:1400;animation:pulso 4.5s ease-in-out infinite}
@keyframes pulso{0%{stroke-dashoffset:1400}55%{stroke-dashoffset:0}100%{stroke-dashoffset:-1400}}
.hero-in{position:relative;max-width:1200px;margin:0 auto;padding:5.5rem 1.25rem 4rem}
/* vitrine: cartão flutuante ilustrando a trilha (decorativo) */
.vitrine{position:absolute;right:1.25rem;top:4.5rem;width:380px;animation:flutua 7s ease-in-out infinite}
@keyframes flutua{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-12px) rotate(-.5deg)}}
.vt-card{background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:1.4rem;backdrop-filter:blur(16px);box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.vt-cab{display:flex;gap:.8rem;align-items:center}
.vt-cab .uc-ic{background:rgba(65,163,209,.2);color:#bfe3f5}
.vt-cab b{display:block;font-size:.98rem}.vt-cab small{color:#9fb4d4;font-size:.78rem}
.vt-barra{height:8px;border-radius:9px;background:rgba(255,255,255,.12);margin:1.2rem 0 .4rem;overflow:hidden}
.vt-barra i{display:block;height:100%;width:38%;border-radius:9px;background:linear-gradient(90deg,var(--azul),var(--ciano))}
.vt-pct{display:flex;justify-content:space-between;font-size:.78rem;color:#9fb4d4}.vt-pct b{color:#fff}
.vitrine ul{list-style:none;margin-top:1rem;display:flex;flex-direction:column;gap:.45rem}
.vitrine li{display:flex;align-items:center;gap:.7rem;padding:.6rem .75rem;border-radius:12px;background:rgba(7,26,60,.45);font-size:.84rem;color:#c9d6ea}
.vitrine li .ico{width:26px;height:26px;padding:5px;border-radius:50%;background:rgba(255,255,255,.1)}
.vitrine li.ok .ico{background:var(--ok);color:#fff}
.vitrine li.ag{background:rgba(65,163,209,.18);color:#fff;outline:1px solid rgba(65,163,209,.45)}
.vitrine li.ag .ico{background:var(--ciano);color:var(--marinho)}
.vitrine li span{flex:1}.vitrine li em{font-style:normal;font-size:.75rem;color:#8ea4c4}
.vt-selo{position:absolute;left:-46px;bottom:-52px;display:flex;align-items:center;gap:.65rem;background:#fff;color:var(--tinta);padding:.75rem 1rem;border-radius:16px;box-shadow:0 20px 40px -15px rgba(0,0,0,.5)}
.vt-selo .ico{width:38px;height:38px;padding:8px;border-radius:11px;background:linear-gradient(135deg,var(--laranja),#f6c26b);color:#fff}
.vt-selo b{display:block;font-size:.88rem}.vt-selo small{color:var(--fraco);font-size:.74rem}
.selo{display:inline-flex;align-items:center;gap:.5em;font-size:.8rem;font-weight:600;color:#bfe3f5;background:rgba(65,163,209,.14);border:1px solid rgba(65,163,209,.35);padding:.4em .9em;border-radius:99px}
.hero h1{font-size:clamp(2.1rem,5.4vw,3.9rem);line-height:1.05;letter-spacing:-.04em;font-weight:800;margin:1.2rem 0 1rem;max-width:15ch}
.hero h1 span{background:linear-gradient(90deg,#8fd3f4,var(--ciano) 40%,#fff);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-txt{font-size:clamp(1rem,1.6vw,1.15rem);color:#b9c8de;max-width:56ch}
.hero-acoes{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.numeros{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:3.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);border-radius:var(--raio);overflow:hidden;backdrop-filter:blur(6px)}
.numeros div{padding:1.2rem 1.4rem;background:rgba(7,26,60,.55)}
.numeros dt{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;letter-spacing:-.03em}
.numeros dd{color:#9fb4d4;font-size:.85rem}

/* ---------- seções ---------- */
.secao{max-width:1200px;margin:0 auto;padding:5rem 1.25rem}
.secao-cab{text-align:center;max-width:680px;margin:0 auto 2.5rem}
.secao-cab.esq{text-align:left;margin:0 0 1.5rem;max-width:none}
.sobre{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--azul)}
.secao-cab h2,.secao-cab h1{font-size:clamp(1.7rem,3.4vw,2.5rem);letter-spacing:-.03em;line-height:1.15;margin:.4rem 0 .7rem}
.secao-cab p{color:var(--fraco)}
.secao-escura{max-width:none;background:var(--marinho);color:#fff;position:relative;overflow:hidden}
.secao-escura .sobre{color:var(--ciano)}
.secao-escura > *{max-width:1200px;margin-left:auto;margin-right:auto}
.com-foto > *{position:relative}
.com-foto > .secao-foto{position:absolute;inset:0;max-width:none;width:100%;height:100%;object-fit:cover;opacity:.22;filter:saturate(.7)}
.com-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--marinho),rgba(7,26,60,.6) 50%,var(--marinho));pointer-events:none}
.com-foto > :not(.secao-foto){z-index:1}

/* ---------- filtros e cards das usinas ---------- */
.filtros{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.filtro{border:1px solid var(--linha);background:#fff;padding:.5em 1.1em;border-radius:99px;font-size:.88rem;font-weight:600;color:var(--fraco);cursor:pointer;transition:all .2s}
.filtro:hover{color:var(--azul);border-color:#c5d6ec}
.filtro.ativo{background:var(--marinho);color:#fff;border-color:var(--marinho)}
.usinas{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}
.usina-card{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--linha);border-radius:var(--raio);box-shadow:var(--sombra);transition:transform .25s,box-shadow .25s,border-color .25s;overflow:hidden}
.uc-foto{position:relative;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,var(--marinho2),var(--azul))}
.uc-foto img{width:100%;height:100%;object-fit:cover;object-position:left top;transition:transform .6s ease}
.uc-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,26,60,.35),transparent 40%)}
.uc-foto .chip{position:absolute;top:.8rem;left:.8rem;z-index:1;backdrop-filter:blur(6px);box-shadow:0 4px 12px rgba(7,26,60,.2)}
.usina-card:hover .uc-foto img{transform:scale(1.06)}
.uc-corpo{position:relative;display:flex;flex-direction:column;flex:1;padding:0 1.4rem 1.3rem}
.uc-corpo .uc-ic{margin-top:-22px;border:3px solid #fff;box-shadow:0 6px 16px -6px rgba(7,26,60,.35);background:#fff}
.uc-corpo .uc-sigla{margin-top:.6rem}
.usina-card::before{content:"";position:absolute;z-index:2;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--azul),var(--ciano))}
.usina-card.t-hidro::before{background:linear-gradient(90deg,#0f8a8a,#41c4d1)}
.usina-card.s-futura::before{background:linear-gradient(90deg,var(--laranja),#f6c26b)}
.usina-card:hover{transform:translateY(-4px);box-shadow:var(--sombra-h);border-color:#c5d6ec}
.usina-card.minha{border-color:var(--azul);box-shadow:0 0 0 3px rgba(19,88,158,.15),var(--sombra)}
.uc-topo{display:flex;justify-content:space-between;align-items:center}
.uc-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#e8f0fa;color:var(--azul)}
.t-hidro .uc-ic{background:#e2f5f5;color:#0f8a8a}
.uc-ic .ico{width:24px;height:24px}
.uc-sigla{font-size:2.1rem;font-weight:800;letter-spacing:-.04em;margin-top:1rem;line-height:1}
.usina-card h3{font-size:1.05rem;margin-top:.35rem}
.uc-emp{color:var(--fraco);font-size:.85rem}
.uc-dados{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin:1rem 0 1.2rem;font-size:.88rem;color:#34465d}
.uc-dados span{display:flex;align-items:center;gap:.35em}
.uc-dados .ico{color:var(--azul)}
.uc-rod{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px dashed var(--linha);font-size:.82rem;color:var(--fraco)}
.uc-ir{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--fundo);color:var(--azul);transition:all .25s}
.usina-card:hover .uc-ir{background:var(--azul);color:#fff;transform:translateX(3px)}

/* ---------- passos ---------- */
.passos{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;position:relative}
.passos li{position:relative;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--raio);padding:1.6rem 1.4rem}
.p-num{position:absolute;top:1rem;right:1.2rem;font-size:3rem;font-weight:800;line-height:1;color:rgba(255,255,255,.07)}
.p-ic{width:44px;height:44px;padding:10px;border-radius:12px;background:linear-gradient(135deg,var(--azul),var(--ciano));color:#fff}
.passos h3{margin:1rem 0 .4rem;font-size:1.1rem}
.passos p{color:#a9bbd4;font-size:.92rem}
.em-breve{display:inline-block;margin-left:.4em;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--laranja);vertical-align:middle}

/* ---------- base normativa ---------- */
.norma{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center;background:#fff;border:1px solid var(--linha);border-radius:24px;padding:2.5rem;box-shadow:var(--sombra)}
.norma h2{font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.03em;margin:.4rem 0 .8rem}
.norma p{color:var(--fraco)}
.fonte{font-size:.8rem;margin-top:1rem}
.norma-lista{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.norma-lista li{background:var(--fundo);border-radius:14px;padding:1.1rem}
.norma-lista b{display:block;font-size:1.7rem;letter-spacing:-.03em;color:var(--azul)}
.norma-lista span{font-size:.85rem;color:var(--fraco)}

/* ---------- página da usina ---------- */
.faixa-usina{position:relative;overflow:hidden;background:radial-gradient(900px 500px at 80% -20%,var(--marinho2),var(--marinho) 65%);color:#fff}
.fu-in{position:relative;max-width:1200px;margin:0 auto;padding:2rem 1.25rem 2.6rem}
.voltar{display:inline-block;font-size:.88rem;color:#9fb4d4;margin-bottom:1.4rem}
.voltar:hover{color:#fff}
.fu-linha{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:1.6rem}
.fu-sigla{display:flex;align-items:center;gap:.8rem;font-size:1rem;font-weight:800;letter-spacing:.06em;color:#bfe3f5}
.fu-sigla .uc-ic{background:rgba(255,255,255,.1);color:#fff}
.faixa-usina h1{font-size:clamp(1.9rem,4.5vw,3rem);letter-spacing:-.04em;line-height:1.1;margin:.8rem 0 .2rem}
.fu-txt > p{color:#9fb4d4}
.fu-dados{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1rem;font-size:.92rem;color:#d3deee}
.fu-dados span{display:flex;align-items:center;gap:.4em}
.fu-dados .ico{color:var(--ciano)}
.fu-acoes{display:flex;flex-wrap:wrap;gap:.75rem}
.aviso{background:rgba(240,140,46,.15);border:1px solid rgba(240,140,46,.4);color:#ffd9b3;padding:.8rem 1rem;border-radius:12px;max-width:60ch}
.anel{position:relative;width:140px;height:140px;flex:none}
.anel svg{width:100%;height:100%;transform:rotate(-90deg)}
.anel circle{fill:none;stroke:rgba(255,255,255,.12);stroke-width:10}
.anel .anel-v{stroke:var(--ciano);stroke-linecap:round;stroke-dasharray:calc(var(--p) * 1) 100}
.anel div{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.anel b{font-size:1.9rem;letter-spacing:-.04em;line-height:1}
.anel span{font-size:.72rem;color:#9fb4d4}
.resumo-curso{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;background:var(--linha);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;margin-bottom:3rem}
.resumo-curso div{background:#fff;padding:1.1rem 1.3rem}
.resumo-curso b{display:block;font-size:1.6rem;letter-spacing:-.03em}
.resumo-curso span{font-size:.82rem;color:var(--fraco)}
.modulo{margin-bottom:3rem}
.mod-cab{margin-bottom:1.2rem}
.mod-n{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--azul)}
.mod-cab h2{font-size:1.6rem;letter-spacing:-.03em}
.mod-cab p{color:var(--fraco);font-size:.92rem}
.aulas{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.1rem}
.aula{display:flex;flex-direction:column;background:#fff;border:1px solid var(--linha);border-radius:16px;overflow:hidden;box-shadow:var(--sombra);transition:transform .25s,box-shadow .25s}
a.aula:hover{transform:translateY(-3px);box-shadow:var(--sombra-h)}
.aula-capa{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#e8eef6,#dfe7f1)}
.aula-capa img{width:100%;height:100%;object-fit:cover}
.capa-vazia{position:absolute;inset:0;display:grid;place-items:center;color:#b5c3d6}
.capa-vazia .ico{width:44px;height:44px}
.aula-cod{position:absolute;top:.6rem;left:.6rem;background:rgba(7,26,60,.85);color:#fff;font-size:.72rem;font-weight:700;padding:.25em .6em;border-radius:7px;letter-spacing:.04em}
.aula-dur{position:absolute;bottom:.6rem;left:.6rem;display:flex;align-items:center;gap:.3em;background:rgba(7,26,60,.75);color:#fff;font-size:.72rem;padding:.25em .55em;border-radius:7px}
.aula-est{position:absolute;bottom:.6rem;right:.6rem;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--azul);box-shadow:0 4px 12px rgba(7,26,60,.25)}
.aula.feita .aula-est{background:var(--ok);color:#fff}
.aula.breve .aula-est{background:#eef2f7;color:#9aa8bb}
.aula-barra{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.5)}
.aula-barra i{display:block;height:100%;background:var(--laranja)}
.aula-txt{padding:1rem 1.1rem 1.2rem}
.aula-txt h3{font-size:1rem;line-height:1.3}
.aula-txt p{font-size:.84rem;color:var(--fraco);margin-top:.35rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.aula.breve{box-shadow:none;background:#fafbfd}
.aula.breve .aula-txt h3{color:#7c8ba0}
.prova{display:flex;align-items:center;gap:1.4rem;padding:1.6rem;border-radius:20px;background:linear-gradient(135deg,#fff,#f2f7fd);border:1px solid var(--linha)}
.prova-ic{width:56px;height:56px;flex:none;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--laranja),#f6c26b);color:#fff}
.prova-ic .ico{width:28px;height:28px}
.prova h2{font-size:1.25rem}
.prova p{color:var(--fraco);font-size:.92rem}
.prova .chip{margin-left:auto}

/* ---------- aula ---------- */
.aula-pg{max-width:1280px;margin:0 auto;padding:1.5rem 1.25rem 4rem}
.aula-topo{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.aula-topo .voltar{color:var(--fraco);margin:0}
.aula-topo .voltar:hover{color:var(--azul)}
.aula-grade{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1.5rem;align-items:start}
.player{background:#000;border-radius:18px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(7,26,60,.6);aspect-ratio:16/9}
.player video{width:100%;height:100%;display:block}
.partes{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.partes button{display:flex;gap:.6em;align-items:center;border:1px solid var(--linha);background:#fff;border-radius:10px;padding:.45em .85em;font-size:.82rem;cursor:pointer}
.partes button span{color:var(--fraco)}
.partes button.ativa{border-color:var(--azul);background:#e8f0fa;color:var(--azul)}
.aula-principal h1{font-size:clamp(1.4rem,2.6vw,1.9rem);letter-spacing:-.03em;line-height:1.2}
.aula-desc{color:var(--fraco);margin-top:.5rem}
.aula-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--linha)}
.feito{display:flex;align-items:center;gap:.4em;font-size:.88rem;font-weight:600;color:#9aa8bb}
.feito.sim{color:var(--ok)}
.capitulos{background:#fff;border:1px solid var(--linha);border-radius:18px;padding:1.2rem;position:sticky;top:84px;box-shadow:var(--sombra)}
.capitulos h2{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fraco);margin-bottom:.6rem}
.capitulos ol{list-style:none;display:flex;flex-direction:column;gap:2px;max-height:60vh;overflow:auto}
.capitulos button{width:100%;display:flex;gap:.8em;text-align:left;border:0;background:none;padding:.55em .6em;border-radius:9px;font-size:.88rem;cursor:pointer;line-height:1.3}
.capitulos button span{flex:none;width:3.2em;font-variant-numeric:tabular-nums;color:var(--fraco);font-size:.8rem;padding-top:.1em}
.capitulos button:hover{background:var(--fundo)}
.capitulos button.ativo{background:#e8f0fa;color:var(--azul);font-weight:600}
.capitulos button.ativo span{color:var(--azul)}

/* ---------- entrar ---------- */
.entrar{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 62px)}
.entrar-lado{position:relative;overflow:hidden;background:radial-gradient(900px 600px at 70% 0%,var(--marinho2),var(--marinho) 65%);color:#fff;display:flex;align-items:flex-end;padding:3rem}
.entrar-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.entrar-lado::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,26,60,.95) 10%,rgba(7,26,60,.35) 70%)}
.entrar-msg{position:relative;z-index:1;max-width:440px}
.provedores{display:flex;flex-direction:column;gap:.75rem}
.btn-prov{display:flex;align-items:center;gap:.9rem;padding:.95rem 1.1rem;border:1px solid #d5deea;border-radius:14px;background:#fff;font-weight:600;transition:border-color .2s,box-shadow .2s,transform .15s}
.btn-prov:hover{border-color:var(--azul);box-shadow:var(--sombra);transform:translateY(-1px)}
.btn-prov span{flex:1}
.btn-prov small{font-size:.72rem;font-weight:600;color:var(--fut);background:#fff3e2;padding:.2em .6em;border-radius:99px}
.btn-prov.off{opacity:.6;cursor:not-allowed}.btn-prov.off:hover{transform:none;box-shadow:none;border-color:#d5deea}
.ico-prov{width:22px;height:22px;flex:none}
.prov-ok{display:inline-flex;align-items:center;gap:.5em;font-size:.8rem;font-weight:600;color:var(--ok);background:#e6f6ee;padding:.35em .8em;border-radius:99px;margin-bottom:.8rem}
.prov-ok .ico-prov{width:16px;height:16px}
.senha-admin{margin-top:2rem;border-top:1px solid var(--linha);padding-top:1rem}
.senha-admin summary{cursor:pointer;font-size:.85rem;color:var(--fraco)}
.senha-admin .form{margin-top:1rem}
.form label input:disabled{background:#f1f4f8;color:var(--fraco)}
.cartao-cfg{margin-top:2.5rem;background:#fff;border:1px solid var(--linha);border-radius:var(--raio);padding:1.6rem;box-shadow:var(--sombra)}
.cartao-cfg h2{font-size:1.25rem;letter-spacing:-.02em}
.cartao-cfg > p{color:var(--fraco);margin:.4rem 0 .5rem}
.cfg-url{display:block;background:var(--fundo);border:1px dashed #c5d6ec;border-radius:10px;padding:.6rem .8rem;font-size:.9rem;margin-bottom:1.2rem;word-break:break-all}
.cartao-cfg fieldset{border:1px solid var(--linha);border-radius:12px;padding:1rem}
.cartao-cfg legend{display:flex;align-items:center;gap:.5em;font-weight:700;padding:0 .4em}
.cartao-cfg .btn{align-self:flex-start}
.add-pessoa{margin:0 0 1.5rem}
.add-pessoa summary{cursor:pointer;list-style:none;display:flex;flex-direction:column;gap:.2rem;margin-bottom:.2rem}
.add-pessoa summary::-webkit-details-marker{display:none}
.add-pessoa summary span{color:var(--fraco);font-size:.9rem}
.add-pessoa[open] summary{margin-bottom:1.2rem}
.add-perfil{max-width:calc(50% - .5rem)}
.cfg-log{margin-top:1.2rem;font-size:.85rem}
.cfg-log summary{cursor:pointer;color:var(--fraco)}
.cfg-log ul{margin:.6rem 0 0 1.1rem;display:flex;flex-direction:column;gap:.4rem}
.cfg-log small{color:var(--fraco);word-break:break-word}
.entrar-msg h2{font-size:2rem;letter-spacing:-.03em;line-height:1.15;margin:1rem 0 .6rem}
.entrar-msg p{color:#b9c8de}
.entrar-caixa{align-self:center;justify-self:center;width:100%;max-width:470px;padding:3rem 1.5rem}
.entrar-caixa h1{font-size:1.8rem;letter-spacing:-.03em}
.sub{color:var(--fraco);margin:.4rem 0 1.5rem}
.abas{display:grid;grid-template-columns:1fr 1fr;background:#e9eef5;border-radius:12px;padding:4px;margin-bottom:1.5rem}
.aba{border:0;background:none;padding:.65em;border-radius:9px;font-weight:600;color:var(--fraco);cursor:pointer}
.aba.ativa{background:#fff;color:var(--tinta);box-shadow:0 2px 8px rgba(7,26,60,.1)}
.form{display:flex;flex-direction:column;gap:1rem}
.form label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600;color:#34465d}
.form input,.form select{border:1px solid #d5deea;background:#fff;border-radius:11px;padding:.75em .9em;font-size:1rem;font-weight:400;transition:border-color .2s,box-shadow .2s;width:100%}
.form input:focus,.form select:focus{outline:0;border-color:var(--azul);box-shadow:0 0 0 4px rgba(19,88,158,.12)}
.duas-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.msg{font-size:.9rem;min-height:1.2em}
.msg.erro{color:#c0392b}
.msg.ok{color:var(--ok)}

/* ---------- admin ---------- */
.tabela-env{overflow-x:auto;background:#fff;border:1px solid var(--linha);border-radius:var(--raio);box-shadow:var(--sombra)}
.tabela{width:100%;border-collapse:collapse;font-size:.9rem;min-width:760px}
.tabela th{text-align:left;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fraco);padding:.9rem 1rem;border-bottom:1px solid var(--linha)}
.tabela td{padding:.8rem 1rem;border-bottom:1px solid var(--linha);vertical-align:middle}
.tabela td small{display:block;color:var(--fraco);font-size:.78rem}
.tabela select{border:1px solid #d5deea;border-radius:8px;padding:.35em .5em;background:#fff}
.tabela tr.st-pendente{background:#fffaf2}
.tabela tr.st-recusado{opacity:.55}
.admin .msg{margin-top:1rem}

/* ---------- trilha (estilo Duolingo) ---------- */
.is-off{opacity:.45;pointer-events:none;filter:grayscale(.4)}
.placar{display:flex;gap:.6rem;flex-wrap:wrap}
.pl{display:flex;flex-direction:column;align-items:center;min-width:96px;padding:.8rem 1rem;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:#9fb4d4}
.pl .ico{width:26px;height:26px}.pl b{font-size:1.5rem;color:#fff;line-height:1.1;margin-top:.2rem}.pl span{font-size:.72rem}
.pl.aceso .ico{color:#ff9f43;filter:drop-shadow(0 0 8px rgba(255,159,67,.8))}.pl.xp .ico{color:#ffd43b}.pl.ok .ico{color:#51cf66}
.trilha-pg{max-width:760px;margin:0 auto;padding:2.2rem 1.25rem 4rem}
.habil{display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem;align-items:center;padding:1.4rem 1.5rem;border-radius:22px;margin-bottom:2.5rem;border:2px solid;box-shadow:var(--sombra)}
.habil.nao{background:linear-gradient(135deg,#fff8ef,#fff);border-color:#f6c58f}
.habil.sim{background:linear-gradient(135deg,#e9fbf1,#fff);border-color:#8fdcb1}
.habil-ic{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;color:#fff}
.habil.nao .habil-ic{background:linear-gradient(135deg,var(--laranja),#f6c26b)}.habil.sim .habil-ic{background:linear-gradient(135deg,var(--ok),#51cf66)}
.habil-ic .ico{width:30px;height:30px}
.habil-rot{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--fraco)}
.habil h2{font-size:1.15rem;letter-spacing:-.02em;margin:.1rem 0 .6rem}
.habil.nao h2{color:#a0560b}.habil.sim h2{color:#13774a}
.habil-barra{height:10px;border-radius:9px;background:#eef1f5;overflow:hidden}
.habil-barra i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,var(--laranja),#ffd43b)}
.habil.sim .habil-barra i{background:linear-gradient(90deg,var(--ok),#51cf66)}
.habil ul{list-style:none;margin-top:.7rem;display:flex;flex-direction:column;gap:.3rem;font-size:.86rem;color:#4a5a6e}
.habil li{display:grid;grid-template-columns:auto 1fr;gap:.45rem;align-items:start}.habil li .ico{margin-top:.15em;color:#c2cbd6}.habil li.ok .ico{color:var(--ok)}
.sec-tit{font-size:1.5rem;letter-spacing:-.03em;margin:1rem 0 1.2rem}
.sec-tit small{display:block;font-size:.85rem;font-weight:500;color:var(--fraco);letter-spacing:0}
.unidade{margin-bottom:2.4rem}
.un-cab{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.4rem;border-radius:18px;color:#fff;background:linear-gradient(135deg,var(--azul),#1d74c7);box-shadow:0 10px 24px -12px rgba(19,88,158,.7)}
.unidade:nth-of-type(3n+2) .un-cab{background:linear-gradient(135deg,#0f8a8a,#20b2aa)}
.unidade:nth-of-type(3n) .un-cab{background:linear-gradient(135deg,#6741d9,#845ef7)}
.un-cab span{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.85}
.un-cab h3{font-size:1.25rem;letter-spacing:-.02em}
.un-cab p{font-size:.8rem;text-align:right;opacity:.9;line-height:1.4}
.unidade.emprod .un-cab{background:#e6ebf2;color:#7c8ba0;box-shadow:none}
.emprod-tag{display:flex;align-items:center;gap:.4em;font-weight:700}
.caminho{list-style:none;display:flex;flex-direction:column;align-items:center;gap:1.1rem;padding:2rem 0 .5rem}
.no{position:relative;display:flex;flex-direction:column;align-items:center;transform:translateX(calc(var(--x) * 62px))}
.no-bt{width:76px;height:70px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#d7dee8;box-shadow:0 7px 0 #b8c3d1;transition:transform .12s,box-shadow .12s}
.no-bt .ico{width:32px;height:32px;stroke-width:2.2}
a.no-bt:active{transform:translateY(5px);box-shadow:0 2px 0 #b8c3d1}
.no.feito .no-bt{background:linear-gradient(180deg,#ffd43b,#fcc419);box-shadow:0 7px 0 #e8a800;color:#7a5200}
.no.feito.tp-video .no-bt{background:linear-gradient(180deg,#69db7c,#40c057);box-shadow:0 7px 0 #2f9e44;color:#fff}
.no.atual .no-bt{background:linear-gradient(180deg,#4dabf7,var(--azul));box-shadow:0 7px 0 #0b3d72}
.no.atual::before{content:"";position:absolute;top:-9px;width:94px;height:88px;border-radius:50%;border:4px solid rgba(65,163,209,.45);animation:anel 1.6s ease-out infinite;pointer-events:none}
.no.abre{cursor:pointer}
.no.abre:hover .no-bt{filter:brightness(1.06)}
@keyframes anel{0%{transform:scale(.92);opacity:1}100%{transform:scale(1.18);opacity:0}}
.no.tp-revisao .no-bt{width:88px;height:80px}
.no.bloq .no-bt{color:#9aa8bb}
.no.atual{margin-top:2.6rem}
.no-balao{position:absolute;top:-50px;background:#fff;color:var(--azul);font-weight:800;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;padding:.45em .9em;border-radius:10px;border:2px solid #d7e4f5;animation:pula 1.2s ease-in-out infinite;white-space:nowrap}
.no-balao::after{content:"";position:absolute;left:50%;bottom:-8px;margin-left:-6px;border:6px solid transparent;border-top-color:#d7e4f5;border-bottom:0}
@keyframes pula{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.no-rot{margin-top:.75rem;font-size:.78rem;font-weight:700;color:#34465d;text-align:center;max-width:170px;line-height:1.25}
.no-rot small{display:block;font-weight:500;color:var(--fraco);font-size:.74rem}
.no.bloq .no-rot{color:#9aa8bb}

/* ---------- etapa: vídeo curto ---------- */
.video-pg{max-width:900px;margin:0 auto;padding:1.5rem 1.25rem 4rem}
.video-pg h1{font-size:clamp(1.4rem,3vw,2rem);letter-spacing:-.03em;margin-top:1rem}
.video-fim{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.4rem;padding:1.1rem 1.3rem;border-radius:16px;background:#fff;border:1px solid var(--linha)}
.video-fim p{color:var(--fraco)}.video-fim.ok{border-color:#8fdcb1;background:#effbf4}.video-fim.ok p{color:#13774a}

/* ---------- etapa: lição ---------- */
.pg-licao .rodape{display:none}
.licao{max-width:720px;margin:0 auto;min-height:calc(100vh - 62px);display:flex;flex-direction:column;padding:1.2rem 1.25rem 0}
.lc-topo{display:flex;align-items:center;gap:1rem}
.lc-sair{color:#9aa8bb;display:grid}.lc-sair .ico{width:28px;height:28px}
.lc-barra{flex:1;height:16px;border-radius:99px;background:#e6ebf2;overflow:hidden}
.lc-barra i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#69db7c,#40c057);transition:width .4s;box-shadow:inset 0 -4px 0 rgba(0,0,0,.08)}
.lc-combo{display:flex;align-items:center;gap:.2rem;color:#ff922b;font-weight:800}.lc-combo .ico{width:22px;height:22px}
.lc-corpo{flex:1;padding:2rem 0}
.lc-tipo{font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--azul)}
.lc-perg{font-size:clamp(1.25rem,3vw,1.6rem);letter-spacing:-.02em;line-height:1.3;margin:.5rem 0 1.6rem}
.lc-ops{display:flex;flex-direction:column;gap:.7rem}
.lc-vf{flex-direction:row}.lc-vf .lc-op{flex:1;justify-content:center;font-size:1.1rem;padding:1.3rem}
.lc-op{display:flex;align-items:center;gap:.9rem;text-align:left;width:100%;padding:1rem 1.1rem;border-radius:16px;background:#fff;border:2px solid #dde4ee;box-shadow:0 4px 0 #dde4ee;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .08s}
.lc-op span{flex:none;width:30px;height:30px;border-radius:9px;border:2px solid #dde4ee;display:grid;place-items:center;font-size:.85rem;color:#9aa8bb}
.lc-op:active{transform:translateY(3px);box-shadow:0 1px 0 #dde4ee}
.lc-op.sel{border-color:#74c0fc;background:#e7f5ff;box-shadow:0 4px 0 #74c0fc;color:#1864ab}
.lc-op.ok{border-color:#69db7c;background:#ebfbee;box-shadow:0 4px 0 #69db7c;color:#2b8a3e}
.lc-op.mal{border-color:#ff8787;background:#fff5f5;box-shadow:0 4px 0 #ff8787;color:#c92a2a}
.lc-pares{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.lc-pares > div{display:flex;flex-direction:column;gap:.6rem}
.lc-pa{padding:.9rem;border-radius:14px;background:#fff;border:2px solid #dde4ee;box-shadow:0 4px 0 #dde4ee;font-weight:600;font-size:.92rem;cursor:pointer;min-height:58px}
.lc-pa.sel{border-color:#74c0fc;background:#e7f5ff;color:#1864ab}
.lc-pa.ok{border-color:#b2f2bb;background:#f4fdf5;color:#9ab;box-shadow:none;pointer-events:none}
.lc-pa.mal{border-color:#ff8787;background:#fff5f5;animation:treme .35s}
@keyframes treme{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.lc-linha{min-height:64px;border-bottom:2px solid #dde4ee;display:flex;flex-direction:column;gap:.5rem;padding-bottom:.8rem;margin-bottom:1.2rem}
.lc-banco{display:flex;flex-wrap:wrap;gap:.6rem}
.lc-tk{padding:.7rem 1rem;border-radius:13px;background:#fff;border:2px solid #dde4ee;box-shadow:0 4px 0 #dde4ee;font-weight:600;cursor:pointer;text-align:left}
.lc-linha .lc-tk{border-color:#74c0fc;box-shadow:0 3px 0 #74c0fc}
.lc-rodape{position:sticky;bottom:0;margin:0 -1.25rem;padding:1.1rem 1.25rem 1.4rem;border-top:2px solid #e6ebf2;background:var(--fundo);display:flex;justify-content:space-between;align-items:center;gap:1rem}
.lc-rodape.certo{background:#d3f9d8;border-top-color:#b2f2bb}.lc-rodape.errado{background:#ffe3e3;border-top-color:#ffc9c9}
.lc-fb b{font-size:1.15rem}.lc-fb p{font-size:.9rem;margin-top:.2rem;max-width:52ch}
.lc-rodape.certo .lc-fb{color:#2b8a3e}.lc-rodape.errado .lc-fb{color:#c92a2a}
.lc-certa{font-weight:700}
.lc-bt{min-width:170px;padding:1em 1.6em;font-size:1rem;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 5px 0 #0b3d72}
.lc-bt:disabled{background:#d7dee8;color:#9aa8bb;box-shadow:0 5px 0 #c2cbd6;opacity:1;cursor:not-allowed}
.lc-rodape.certo .lc-bt{background:#40c057;box-shadow:0 5px 0 #2f9e44}.lc-rodape.errado .lc-bt{background:#fa5252;box-shadow:0 5px 0 #c92a2a}
.lc-fim{position:relative;text-align:center;padding:2rem 0}
.lc-trofeu{font-size:5rem;animation:pula 1.4s ease-in-out infinite}
.lc-fim h2{font-size:2rem;letter-spacing:-.03em;color:#e8a800;margin:.4rem 0 1.6rem}
.lc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;max-width:480px;margin:0 auto}
.lc-stats div{border-radius:16px;border:2px solid;overflow:hidden}
.lc-stats span{display:block;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;padding:.35em}
.lc-stats b{display:block;font-size:1.5rem;padding:.6rem;background:#fff}
.st-xp{border-color:#fcc419}.st-xp span{background:#fcc419}.st-xp b{color:#e8a800}
.st-prec{border-color:#40c057}.st-prec span{background:#40c057}.st-prec b{color:#2f9e44}
.st-fogo{border-color:#ff922b}.st-fogo span{background:#ff922b}.st-fogo b{color:#e8590c}
.lc-hab{margin-top:1.4rem;font-weight:800;color:#13774a;background:#e9fbf1;border-radius:14px;padding:.9rem}
.sim-cont{font-weight:800;color:var(--fraco);font-variant-numeric:tabular-nums}
.sim-regras{list-style:none;display:flex;flex-direction:column;gap:.8rem}
.sim-regras li{display:flex;gap:.6rem;align-items:center;background:#fff;border:2px solid #e6ebf2;border-radius:14px;padding:.9rem 1rem}
.sim-regras .ico{color:var(--azul)}
.sim-nota{display:inline-flex;flex-direction:column;border-radius:20px;padding:1rem 2.2rem;border:3px solid}
.sim-res.ap .sim-nota{border-color:#40c057;color:#2f9e44}.sim-res.rep .sim-nota{border-color:#fa5252;color:#c92a2a}
.sim-res.rep h2{color:#c92a2a}
.sim-nota b{font-size:3rem;line-height:1}.sim-nota span{font-size:.85rem;color:var(--fraco)}
.sim-melhor{margin-top:.8rem;color:var(--fraco)}
.sim-rev{text-align:left;margin-top:1.6rem}.sim-rev h3{font-size:1.05rem;margin-bottom:.6rem}
.sim-err{background:#fff5f5;border:1px solid #ffc9c9;border-radius:14px;padding:.8rem 1rem;margin-bottom:.6rem}
.sim-err p{font-weight:600}.sim-err b{display:block;color:#2b8a3e;font-size:.9rem;margin-top:.3rem}.sim-err small{color:var(--fraco)}
.sim-no{margin-top:-1rem}
/* prova final */
.prova-pg{max-width:880px;margin:0 auto;padding:1.8rem 1.25rem 4rem}
.pv-intro h1{font-size:clamp(1.7rem,4vw,2.5rem);letter-spacing:-.03em;margin:.3rem 0 1.4rem}
.pv-regras{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--linha);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden}
.pv-regras div{background:#fff;padding:1.1rem}.pv-regras dt{font-size:1.7rem;font-weight:800;letter-spacing:-.03em;color:var(--azul)}.pv-regras dd{font-size:.82rem;color:var(--fraco)}
.pv-obs{margin:1.4rem 0;padding-left:1.2rem;color:#34465d;display:flex;flex-direction:column;gap:.4rem}
.btn-grande{padding:1em 2em;font-size:1.05rem}
.pv-aviso{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:1.2rem 1.4rem;border-radius:16px;background:#fff8ef;border:2px solid #f6c58f;color:#a0560b}
.pv-aviso.ok{background:#e9fbf1;border-color:#8fdcb1;color:#13774a}
.pv-aviso .ico{width:32px;height:32px}.pv-aviso div{flex:1}.pv-aviso b{display:block}.pv-aviso span{color:#4a5a6e;font-size:.92rem}
.pv-barra{position:sticky;top:62px;z-index:5;display:flex;justify-content:space-between;align-items:center;background:var(--fundo);padding:.8rem 0;border-bottom:1px solid var(--linha);font-weight:700;color:var(--fraco)}
.pv-tempo{display:flex;align-items:center;gap:.4rem;background:#fff;border:2px solid var(--linha);border-radius:12px;padding:.35rem .8rem;color:var(--tinta);font-variant-numeric:tabular-nums}
.pv-tempo.alerta{border-color:#fa5252;color:#c92a2a;animation:pula 1s infinite}
.pv-q{padding:1.6rem 0}
.pv-nav{display:flex;justify-content:space-between;gap:1rem}
.pv-nav .btn:disabled{opacity:.4}
.pv-mapa{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:.4rem;margin:1.6rem 0}
.pv-mapa button{height:40px;border-radius:9px;border:2px solid var(--linha);background:#fff;font-weight:700;font-size:.82rem;color:var(--fraco);cursor:pointer}
.pv-mapa button.ok{background:#e7f5ff;border-color:#74c0fc;color:#1864ab}.pv-mapa button.at{outline:3px solid var(--laranja)}
.pv-entregar{width:100%}.pv-entregar.confirma{background:#fa5252;box-shadow:0 5px 0 #c92a2a}
.habil-cert{font-size:.85rem;color:#13774a;margin:-.3rem 0 .5rem}
.tabela .btn-mini{margin-top:.3rem;display:block}
.verif{max-width:720px}
.verif-busca{display:flex;gap:.6rem;margin-bottom:1.6rem}.verif-busca input{flex:1;border:1px solid #d5deea;border-radius:11px;padding:.75em .9em;font-size:1rem;text-transform:uppercase}
.verif-card{background:#fff;border:2px solid #8fdcb1;border-radius:20px;padding:1.6rem;box-shadow:var(--sombra)}
.verif-card.venc{border-color:#f6c58f}.verif-card h2{font-size:1.6rem;letter-spacing:-.02em;margin:.6rem 0 .3rem}
.verif-card p{color:var(--fraco)}
.verif-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1.2rem}
.verif-card dt{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fraco)}.verif-card dd{font-weight:700}
@media (max-width:680px){.pv-regras{grid-template-columns:1fr 1fr}.verif-card dl{grid-template-columns:1fr 1fr}.verif-busca{flex-direction:column}}
.confete{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.confete i{position:absolute;top:-10px;width:8px;height:14px;border-radius:2px;background:hsl(calc(var(--i) * 37),85%,60%);animation:cai calc(1.5s + var(--i) * .02s) ease-in forwards}
@keyframes cai{to{transform:translateY(520px) rotate(720deg);opacity:0}}

/* ---------- rodapé ---------- */
.rodape{background:var(--marinho);color:#9fb4d4;font-size:.85rem}
.rodape-in{max-width:1200px;margin:0 auto;padding:2rem 1.25rem;display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.rodape b{color:#fff}
.assina{opacity:.75}
.assina a{text-decoration:underline}
.texto-legal{max-width:760px}
.texto-legal h2{font-size:1.15rem;margin:1.6rem 0 .4rem}
.texto-legal p{color:#34465d}

/* ---------- responsivo ---------- */
@media (max-width:1080px){.vitrine{display:none}}
@media (max-width:980px){
  .passos{grid-template-columns:1fr 1fr}
  .norma{grid-template-columns:1fr;padding:1.8rem}
  .aula-grade{grid-template-columns:1fr}
  .capitulos{position:static}
  .entrar{grid-template-columns:1fr}
  .entrar-lado{display:none}
}
@media (max-width:680px){
  .menu a:not(.btn):not(.menu-dest){display:none}
  .menu-sair span{display:none}
  .marca small{display:none}
  .hero-in{padding:3.5rem 1rem 3rem}
  .numeros{grid-template-columns:1fr 1fr}
  .secao{padding:3.5rem 1rem}
  .passos{grid-template-columns:1fr}
  .norma-lista{grid-template-columns:1fr 1fr}
  .fu-linha{flex-direction:column;align-items:flex-start;gap:1.2rem}
  .anel{width:110px;height:110px}
  .prova{flex-direction:column;align-items:flex-start}
  .prova .chip{margin-left:0}
  .duas-col{grid-template-columns:1fr}
  .habil{grid-template-columns:auto 1fr;padding:1.1rem}
  .habil-acao{grid-column:1/-1}.habil-acao .btn{width:100%}
  .placar{width:100%}.pl{flex:1;min-width:0}
  .no{transform:translateX(calc(var(--x) * 40px))}
  .un-cab{flex-direction:column;align-items:flex-start}.un-cab p{text-align:left}
  .lc-fb p{max-width:none}.lc-rodape{flex-direction:column;align-items:stretch}.lc-bt{width:100%}
  .lc-stats b{font-size:1.2rem}
  .aulas{gap:.8rem}
  .aula.breve{flex-direction:row;align-items:center}
  .aula.breve .aula-capa{width:104px;flex:none}
  .aula.breve .aula-est,.aula.breve .capa-vazia{display:none}
  .aula.breve .aula-txt{padding:.7rem .9rem}
  .aula-nav{flex-wrap:wrap}
  .aula-nav .feito{order:-1;width:100%}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
