/* fontes hospedadas localmente (sem @import externo bloqueante = sem flash) */
@font-face{font-family:'Fraunces';src:url('/assets/fonts/Fraunces.ttf') format('truetype');font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('/assets/fonts/SourceSerif4.ttf') format('truetype');font-weight:400 600;font-style:normal;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('/assets/fonts/SourceSerif4-Italic.ttf') format('truetype');font-weight:400 600;font-style:italic;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/assets/fonts/IBMPlexMono-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/assets/fonts/IBMPlexMono-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{
  --bg:#0A1418;--bg2:#0E1F23;--panel:#102327;--teal:#36E0CE;--teal-soft:#7FE9DD;--teal-deep:#0E6E62;
  --cream:#F2EDE1;--muted:#9DB2B0;--line:rgba(54,224,206,.16);--terra:#B4521F;
  --paper:#FBF6EC;--paper2:#F4ECDD;--ink:#211D17;--rule:#E2D8C5;--accent:#0E6E62;--accent-deep:#0A554B;
  --display:"Fraunces",Georgia,serif;--serif:"Source Serif 4",Georgia,serif;--mono:"IBM Plex Mono",monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--serif);color:var(--cream);background:
  radial-gradient(900px 500px at 80% -5%,rgba(54,224,206,.08),transparent 55%),var(--bg);min-height:100vh}
a{color:var(--teal-soft);text-decoration:none}
.wrap{max-width:980px;margin:0 auto;padding:0 22px}
.eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--teal)}
.muted{color:var(--muted)} .small{font-size:.85rem}
h1{font-family:var(--display);font-weight:900;font-size:2.1rem;letter-spacing:-.01em;margin:.2em 0}
h2{font-family:var(--display);font-weight:600}

/* topo / rodapé */
.topo{border-bottom:1px solid var(--line);background:rgba(8,18,21,.85);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;height:62px}
.brand{font-family:var(--display);font-weight:600;font-size:1.1rem;color:var(--cream)}
.brand b{color:var(--teal);font-weight:900}
.topo nav{display:flex;gap:16px;align-items:center;font-family:var(--mono);font-size:.8rem}
.topo .quem{color:var(--muted)}
.rodape{border-top:1px solid var(--line);margin-top:60px;padding:26px 0;color:var(--muted);font-family:var(--mono);font-size:.76rem}
main.wrap{padding-top:34px;padding-bottom:20px}

/* login */
.card-entrar{max-width:460px;margin:6vh auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:38px}
.form-entrar{display:flex;flex-direction:column;gap:12px;margin:18px 0}
.form-entrar input{font-family:var(--serif);font-size:1rem;padding:14px 16px;border-radius:10px;border:1px solid var(--line);background:#06100f;color:var(--cream)}
.form-entrar button{font-family:var(--mono);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;padding:15px;border:none;border-radius:10px;background:var(--teal);color:#04201C;cursor:pointer}
.form-entrar button:hover{box-shadow:0 0 26px rgba(54,224,206,.4)}
.aviso{background:rgba(54,224,206,.1);border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:var(--teal-soft);margin:8px 0}

/* trilha do curso */
.curso-cabeca{margin-bottom:28px}
.modulo{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin-bottom:16px}
.modulo header{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.mod-num{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}
.modulo h2{font-size:1.3rem;color:var(--cream);flex:1}
.modulo.trancado{opacity:.62}
.trava{font-family:var(--mono);font-size:.72rem;color:var(--terra);border:1px solid rgba(180,82,31,.4);border-radius:20px;padding:5px 12px}
.aulas{list-style:none;margin-top:14px}
.aulas li{border-top:1px solid var(--line)}
.aulas li a,.aulas li.bloq{display:flex;align-items:center;gap:12px;padding:13px 4px;color:var(--cream);font-size:1.02rem}
.aulas li a:hover{color:var(--teal)}
.aulas li.bloq{color:var(--muted)}
.check{width:22px;height:22px;flex:0 0 22px;border:2px solid var(--line);border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--teal);font-size:.8rem}
.aulas li.feita .check{border-color:var(--teal);background:rgba(54,224,206,.12)}
.bonus .btn-pdf{font-family:var(--mono);font-weight:600;font-size:.8rem;text-transform:uppercase;background:var(--teal);color:#04201C;padding:10px 18px;border-radius:10px}

/* navegação da aula */
.voltar{font-family:var(--mono);font-size:.8rem;color:var(--muted);display:inline-block;margin-bottom:16px}
.aula-rodape{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 10px;flex-wrap:wrap}
.nav-aula{font-family:var(--mono);font-size:.8rem;color:var(--teal-soft);border:1px solid var(--line);border-radius:10px;padding:12px 18px}
.nav-aula.off{color:#4a5a58;border-color:rgba(255,255,255,.05)}
.marcar{font-family:var(--mono);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;background:var(--teal);color:#04201C;border:none;border-radius:10px;padding:13px 22px;cursor:pointer}
.marcar.feito{background:var(--teal-deep);color:#cfeee8}

/* ===== CONTEÚDO DA AULA — folha creme (estilo livro), com proteção de cópia ===== */
.aula-conteudo{
  background:var(--paper);color:var(--ink);font-family:var(--serif);line-height:1.62;
  border-radius:14px;padding:48px 52px;box-shadow:0 20px 60px rgba(0,0,0,.4);
  -webkit-user-select:none;-moz-user-select:none;user-select:none;
}
.aula-conteudo img{-webkit-user-drag:none;user-drag:none;pointer-events:none}
.aula-cabeca{border-bottom:1px solid var(--rule);padding-bottom:14px;margin-bottom:22px}
.aula-cabeca .eyebrow{color:var(--accent)}
.aula-conteudo h2{font-family:var(--display);font-weight:600;font-size:1.5rem;line-height:1.18;color:var(--accent-deep);margin:1.9em 0 .6em}
.aula-conteudo h2::before{content:"";display:block;width:2.2rem;height:3px;background:var(--terra);border-radius:2px;margin-bottom:.6rem}
.aula-conteudo h3{font-family:var(--display);font-weight:600;font-size:1.13rem;color:var(--ink);margin:1.6em 0 .4em}
.aula-conteudo p{margin:0 0 .8em;text-indent:1.5em}
.aula-conteudo .lead,.aula-conteudo h2+p,.aula-conteudo h3+p,.aula-conteudo .box p,
.aula-conteudo figure+p,.aula-conteudo pre+p,.aula-conteudo ul+p,.aula-conteudo ol+p,.aula-conteudo hr+p,.aula-conteudo blockquote+p{text-indent:0}
.aula-conteudo .lead{font-size:1.16rem;color:#3a342b}
.aula-conteudo ul,.aula-conteudo ol{margin:0 0 1em;padding-left:1.3em}
.aula-conteudo li{margin:.25em 0}.aula-conteudo li::marker{color:var(--terra)}
.aula-conteudo a{color:var(--accent-deep);border-bottom:1px solid var(--rule)}
.aula-conteudo strong{font-weight:600}
.aula-conteudo code{font-family:var(--mono);font-size:.86em;background:var(--paper2);border:1px solid var(--rule);border-radius:4px;padding:.05em .35em;color:var(--accent-deep)}
.aula-conteudo pre{background:#20201C;color:#ECE6D8;border-radius:8px;padding:1.05rem 1.2rem;margin:1.1em 0 1.3em;overflow:hidden;font-size:.84rem;line-height:1.55;border-top:3px solid var(--accent)}
.aula-conteudo pre code{background:none;border:none;padding:0;color:inherit;font-size:1em;white-space:pre-wrap;word-break:break-word}
.aula-conteudo pre .prompt{color:#74C2B2;font-weight:500}
.aula-conteudo pre .comment{color:#9C988B;font-style:italic}
.aula-conteudo .box{margin:1.3em 0;padding:.9rem 1.1rem;border-left:4px solid var(--accent);border-radius:0 6px 6px 0;background:var(--paper2)}
.aula-conteudo .box p{margin:0}.aula-conteudo .box p+p{margin-top:.6em}
.aula-conteudo .box .rotulo{font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-deep);display:block;margin-bottom:.45rem}
.aula-conteudo .box.comparacao{background:#EAF1EE}
.aula-conteudo .box.entre-nos{border-color:var(--terra);background:#F7EEE6}.aula-conteudo .box.entre-nos .rotulo{color:var(--terra)}.aula-conteudo .box.entre-nos p{font-style:italic}
.aula-conteudo .box.mao-na-massa{background:#E7F0EC}
.aula-conteudo .box.se-der-erro{border-color:#C9971F;background:#F7EFD9}.aula-conteudo .box.se-der-erro .rotulo{color:#9A6B0E}
.aula-conteudo .box.no-mundo-real{border-color:#4A6B86;background:#EAEFF4}.aula-conteudo .box.no-mundo-real .rotulo{color:#34516B}
.aula-conteudo .box.para-fixar{border-color:var(--accent-deep);background:#E6EFEC}
.aula-conteudo .box.cuidado-com-seguranca{border-color:#B4382B;background:#F7E8E4}.aula-conteudo .box.cuidado-com-seguranca .rotulo{color:#9A2E22}
.aula-conteudo figure{margin:1.6em 0;text-align:center}
.aula-conteudo figure img{max-width:88%;height:auto;background:#fff;border:1px solid var(--rule);border-radius:8px;padding:1rem}
.aula-conteudo figcaption{font-family:var(--mono);font-size:.7rem;color:#6E6557;margin-top:.7rem}
.aula-conteudo hr{border:none;height:1px;background:var(--rule);margin:2.2em auto;width:40%}
.aula-conteudo .checklist{list-style:none;padding-left:0}
.aula-conteudo .checklist li{position:relative;padding-left:1.7em}
.aula-conteudo .checklist li::marker{content:none}
.aula-conteudo .checklist li::before{content:"";position:absolute;left:0;top:.2em;width:.95em;height:.95em;border:2px solid var(--accent);border-radius:4px}
@media(max-width:640px){.aula-conteudo{padding:30px 22px}}
