:root{
  --fundo:#0B0B0C;
  --painel:#121214;
  --painel2:#0E0E10;
  --borda:#2A2A2E;
  --texto:#F5F3EE;
  --texto2:#D6D3CE;
  --suave:#A6A3A0;
  --ouro:#E9B44C;
  --ouro2:#F4CF7A;
  --ouro-fundo:#1E1A10;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--fundo);color:var(--texto);font-family:Inter,system-ui,sans-serif}
a{color:var(--ouro);text-decoration:none}
a:hover{color:var(--ouro2)}
button{font:inherit}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Topo */
.topo{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding:12px 28px;background:var(--painel2);border-bottom:1px solid #222226}
.marca{display:flex;align-items:center;gap:12px;font-family:Oswald,sans-serif;font-size:24px;letter-spacing:1px;color:var(--texto)}
.marca:hover{color:var(--texto)}
.marca-nome{color:var(--ouro);font-weight:700}
.marca-sep{width:1px;height:24px;background:#3A3A3F}
.marca-sub{font-weight:500}
.topo-nav{display:flex;gap:4px;margin-left:16px}
.topo-nav a{padding:10px 14px;color:var(--texto2);font-size:14px;border-radius:8px}
.topo-nav a:hover{background:#18181B;color:var(--texto)}
.topo-dir{flex:1 1 200px;display:flex;justify-content:flex-end;align-items:center;gap:14px}
.busca{display:flex;align-items:center;gap:8px;background:#161618;border:1px solid var(--borda);border-radius:10px;padding:0 12px;height:42px;width:100%;max-width:300px;color:var(--suave)}
.busca input{background:transparent;border:0;outline:none;color:var(--texto);font:inherit;font-size:14px;width:100%}
.avatar{width:40px;height:40px;flex:0 0 auto;border-radius:50%;border:2px solid var(--ouro);background:#1E1A10;color:var(--ouro);display:flex;align-items:center;justify-content:center;overflow:hidden}
.avatar svg{margin-top:6px;width:26px;height:26px}
.busca-resultados{position:absolute;right:80px;top:62px;width:min(420px,calc(100vw - 32px));background:var(--painel);border:1px solid var(--borda);border-radius:12px;padding:8px;box-shadow:0 20px 40px rgba(0,0,0,.5)}
.busca-resultados a{display:block;padding:10px 12px;border-radius:8px;color:var(--texto)}
.busca-resultados a:hover{background:#1A1A1D}
.busca-resultados small{display:block;color:var(--suave);font-size:12px;margin-top:2px}

/* Estrutura */
.corpo{display:flex;align-items:stretch;min-height:calc(100vh - 67px)}
.lateral{flex:0 0 240px;background:var(--painel2);border-right:1px solid #222226;padding:20px 14px;display:flex;flex-direction:column;gap:4px}
.lateral .item{display:flex;align-items:center;gap:14px;min-height:48px;padding:0 14px;border-radius:10px;color:var(--texto2);font-size:15px}
.lateral .item:hover{background:#18181B;color:var(--texto)}
.lateral .item.ativo{background:var(--ouro-fundo);color:var(--ouro);font-weight:600;box-shadow:inset 3px 0 0 var(--ouro)}
.lateral svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.comunidade{margin-top:auto;border:1px solid var(--borda);border-radius:14px;padding:20px;background:#141416;display:flex;flex-direction:column;gap:14px;color:var(--ouro)}
.comunidade strong{color:var(--texto);font-size:16px;line-height:1.35}
.conteudo{flex:1;min-width:0;padding:0 32px 56px}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:10px;font-weight:700;border:0;cursor:pointer}
.btn-ouro{background:var(--ouro);color:#111}
.btn-ouro:hover{background:var(--ouro2);color:#111}
.btn-escuro{border:1px solid #4A4A50;color:var(--texto);background:transparent}
.btn-escuro:hover{border-color:var(--ouro);color:var(--texto)}
.btn-contorno{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--ouro);border-radius:10px;font-weight:600;font-size:14px}

/* Hero */
.hero{position:relative;overflow:hidden;min-height:440px;display:flex;align-items:center;margin:0 -32px;padding:48px 32px}
.hero img{position:absolute;right:0;top:0;height:100%;width:62%;object-fit:cover;object-position:center top;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 38%);mask-image:linear-gradient(to right,transparent 0%,#000 38%)}
.hero-texto{position:relative;max-width:560px;display:flex;flex-direction:column;gap:18px}
.etiqueta{font-size:13px;font-weight:600;letter-spacing:4px;color:var(--ouro);white-space:pre}
.hero h1{margin:0;font-family:Oswald,sans-serif;font-weight:700;font-size:clamp(48px,7vw,86px);line-height:.95;text-transform:uppercase}
.hero h1 span{color:var(--ouro)}
.hero p{margin:0;font-size:20px;color:var(--texto2)}
.acoes{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}

/* Seções */
.secao{margin-top:40px;display:flex;flex-direction:column;gap:16px;scroll-margin-top:90px}
.secao-topo{display:flex;justify-content:space-between;align-items:center;gap:12px}
.secao h2{margin:0;font-size:24px;font-weight:700}
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}

/* Continue */
.continue{display:flex;flex-wrap:wrap;align-items:center;gap:28px;border:1px solid var(--borda);border-radius:16px;padding:16px;background:var(--painel)}
.thumb{position:relative;display:block;width:240px;height:136px;border-radius:10px;overflow:hidden;flex:0 0 auto;background:#000}
.thumb img{width:100%;height:100%;object-fit:cover;object-position:center 20%;opacity:.85}
.thumb-modulo{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:14px 16px 16px 16px;background:var(--painel);border:1px solid var(--borda);border-radius:10px;overflow:hidden}
.thumb-modulo .num{position:absolute;top:8px;left:14px;font-family:Oswald,sans-serif;font-weight:700;font-size:44px;line-height:1;color:transparent;-webkit-text-stroke:1px #5A4A26}
.thumb-modulo .mini{padding-left:52px;font-size:11px}
.thumb-modulo .tm-tit{padding-left:52px;padding-right:56px;font-size:16px;font-weight:700;color:var(--texto);line-height:1.2}
.thumb .play{position:absolute;left:12px;bottom:12px;width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.6);border:1px solid var(--texto);display:flex;align-items:center;justify-content:center}
.duracao{position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.78);color:var(--texto);font-size:12px;padding:3px 7px;border-radius:6px}
.continue-info{flex:1 1 260px;display:flex;flex-direction:column;gap:6px}
.mini{font-size:12px;font-weight:600;letter-spacing:3px;color:var(--ouro);text-transform:uppercase}
.continue-info .tit{font-size:22px;font-weight:700}
.continue-info .desc{font-size:15px;color:var(--suave);line-height:1.5}
.progresso{flex:1 1 220px;display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--texto2)}
.barra-linha{display:flex;align-items:center;gap:12px;color:var(--texto);font-weight:700}
.barra{flex:1;height:8px;border-radius:99px;background:var(--borda);overflow:hidden}
.barra div{height:100%;background:var(--ouro)}

/* Cards de módulo */
.modulo{position:relative;display:flex;flex-direction:column;gap:8px;min-height:210px;border:1px solid var(--borda);border-radius:16px;padding:22px;background:var(--painel);color:var(--texto);overflow:hidden}
.modulo:hover{border-color:var(--ouro);color:var(--texto)}
.modulo .num{font-family:Oswald,sans-serif;font-weight:700;font-size:72px;line-height:1;color:transparent;-webkit-text-stroke:1px #5A4A26}
.modulo .mini{margin-top:auto}
.modulo .tit{font-size:20px;font-weight:700}
.modulo .desc{font-size:14px;color:var(--suave);line-height:1.45;padding-right:44px}
.modulo .seta{position:absolute;right:18px;bottom:18px;width:38px;height:38px;border-radius:50%;border:1px solid var(--ouro);display:flex;align-items:center;justify-content:center;color:var(--ouro)}
.modulo .contagem{position:absolute;right:20px;top:22px;font-size:12px;color:var(--suave)}

/* Ferramentas */
.ferramenta{display:flex;align-items:center;gap:16px;border:1px solid var(--borda);border-radius:14px;padding:18px;background:var(--painel);color:var(--texto)}
.ferramenta:hover{border-color:var(--ouro);color:var(--texto)}
.ferramenta .ic{width:48px;height:48px;border-radius:12px;background:var(--ouro-fundo);color:var(--ouro);display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-family:Oswald,sans-serif;font-weight:700;font-size:20px}
.ferramenta strong{display:block;font-size:16px}
.ferramenta span span{font-size:14px;color:var(--suave)}

/* Lives */
.live{display:flex;flex-direction:column;gap:10px;color:var(--texto)}
.live:hover{color:var(--texto)}
.live .capa{position:relative;display:block;height:150px;border-radius:12px;overflow:hidden;border:1px solid var(--borda);background:#000}
.live .capa img{width:100%;height:100%;object-fit:cover;opacity:.85}
.selo{position:absolute;left:10px;top:10px;font-size:11px;font-weight:700;letter-spacing:1px;padding:4px 8px;border-radius:6px;background:#E5E3DE;color:#111}
.selo.vivo{background:var(--ouro)}
.live strong{font-size:15px}
.live small{font-size:13px;color:var(--suave)}

/* Página da aula */
.aula{display:flex;flex-wrap:wrap;gap:28px;padding-top:28px;align-items:flex-start}
.aula-principal{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:20px}
.voltar{display:inline-flex;align-items:center;gap:8px;color:var(--texto2);font-size:14px;min-height:40px}
.player{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:1px solid var(--borda);background:#000}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.player .vazio{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--suave);font-size:16px;text-align:center;padding:20px}
.player .vazio img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.25}
.player .vazio span{position:relative}
.aula-cab{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px}
.aula-cab h1{margin:6px 0 0;font-size:30px;font-weight:700}
.aula-botoes{display:flex;flex-wrap:wrap;gap:12px}
.btn-feita{min-height:50px;padding:0 20px;border-radius:10px;font-weight:600;cursor:pointer;background:transparent;color:var(--texto);border:1px solid #4A4A50}
.btn-feita.ok{background:var(--ouro-fundo);color:var(--ouro);border-color:var(--ouro)}
.aula-desc{font-size:16px;line-height:1.65;color:var(--texto2);max-width:820px;margin:0;white-space:pre-line}
.materiais{display:flex;flex-direction:column;gap:10px;max-width:820px}
.material{display:flex;align-items:center;gap:14px;border:1px solid var(--borda);border-radius:12px;padding:14px 16px;background:var(--painel);color:var(--texto);font-weight:600}
.material:hover{border-color:var(--ouro);color:var(--texto)}
.lista{flex:1 1 320px;max-width:420px;border:1px solid var(--borda);border-radius:16px;background:var(--painel);overflow:hidden}
.lista-topo{padding:18px 20px;border-bottom:1px solid var(--borda);display:flex;flex-direction:column;gap:4px}
.lista-topo strong{font-size:18px}
.lista-topo small{font-size:13px;color:var(--suave)}
.lista-itens{display:flex;flex-direction:column;padding:8px}
.lista-item{display:flex;align-items:center;gap:14px;min-height:60px;padding:10px 12px;border-radius:10px;color:var(--texto)}
.lista-item:hover{background:#18181B;color:var(--texto)}
.lista-item.atual{background:var(--ouro-fundo);box-shadow:inset 3px 0 0 var(--ouro)}
.check{width:28px;height:28px;flex:0 0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid #4A4A50;color:var(--texto2);font-size:12px;font-weight:700}
.check.ok{background:var(--ouro);border-color:var(--ouro);color:#111}
.lista-item span.t{display:flex;flex-direction:column;gap:2px}
.lista-item span.t b{font-size:14px;font-weight:600}
.lista-item span.t small{font-size:12px;color:var(--suave)}

/* Celular */
@media (max-width:900px){
  .lateral{display:none}
  .topo-nav{margin-left:0}
}
@media (max-width:640px){
  .topo{padding:12px 16px}
  .conteudo{padding:0 16px 40px}
  .hero{display:block;margin:0 -16px;padding:28px 16px 4px;min-height:0}
  .hero img{position:absolute;right:0;top:0;width:62%;height:330px;opacity:1;object-position:28% top;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 40%),linear-gradient(to bottom,#000 75%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0%,#000 40%),linear-gradient(to bottom,#000 75%,transparent);mask-composite:intersect}
  .hero-texto{max-width:100%;min-width:0;gap:12px}
  .etiqueta{white-space:normal;max-width:60%;font-size:10px;letter-spacing:2px;line-height:1.6}
  .hero h1{font-size:40px;max-width:60%}
  .hero p{font-size:15px;max-width:58%;line-height:1.4}
  .acoes{margin-top:18px}
  .acoes .btn{flex:1 1 auto}
  .secao{margin-top:28px}
  .thumb{width:100%;height:auto;aspect-ratio:16/9}
  .busca-resultados{right:16px}
  .marca{font-size:20px}
}

/* módulo trancado */
.modulo.travado{cursor:not-allowed}
.modulo.travado .tit,.modulo.travado .desc,.modulo.travado .mini{opacity:.55}
.modulo.travado .seta{border-color:#4A4A50;color:var(--suave)}
.contagem.em-breve{color:var(--ouro);font-weight:600;letter-spacing:1px;text-transform:uppercase;font-size:11px;border:1px solid #5A4A26;border-radius:6px;padding:3px 8px;top:18px}
.lista-item.trancada{cursor:not-allowed;opacity:.7}
.lista-item.trancada:hover{background:transparent}
.lista-item.trancada .check{color:var(--suave)}
.em-breve-txt{color:var(--ouro)!important;font-weight:600}
