:root{
  --paper:#EEEFF4; --plate:#FFFFFF; --plate2:#E4E6EF; --plate3:#F6F7FA;
  --ink:#141828; --ink-soft:#565E7A; --line:#D2D6E2; --line-soft:#E4E7F0;
  --flux:#4B3FCF; --flux-soft:rgba(75,63,207,.10); --flux-line:rgba(75,63,207,.28);
  --ember:#B85B24; --ember-soft:rgba(184,91,36,.12);
  --ok:#146B54; --grid:rgba(20,24,40,.05);
  --shadow:0 1px 2px rgba(20,24,40,.05),0 10px 30px -18px rgba(20,24,40,.3);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#0E111C; --plate:#161B2B; --plate2:#1E2438; --plate3:#131828;
    --ink:#E8EAF4; --ink-soft:#969DB8; --line:#2A3149; --line-soft:#222840;
    --flux:#9186FF; --flux-soft:rgba(145,134,255,.14); --flux-line:rgba(145,134,255,.34);
    --ember:#E39A5E; --ember-soft:rgba(227,154,94,.14);
    --ok:#4FBE99; --grid:rgba(232,234,244,.045);
    --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 34px -20px rgba(0,0,0,.8);
  }
}
:root[data-theme="dark"]{
  --paper:#0E111C; --plate:#161B2B; --plate2:#1E2438; --plate3:#131828;
  --ink:#E8EAF4; --ink-soft:#969DB8; --line:#2A3149; --line-soft:#222840;
  --flux:#9186FF; --flux-soft:rgba(145,134,255,.14); --flux-line:rgba(145,134,255,.34);
  --ember:#E39A5E; --ember-soft:rgba(227,154,94,.14);
  --ok:#4FBE99; --grid:rgba(232,234,244,.045);
  --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 34px -20px rgba(0,0,0,.8);
}

*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:'Public Sans',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:46px 46px}
a{color:var(--flux)}
.topo{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  padding:16px 24px;position:sticky;top:0;z-index:30;
  background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-soft)}
.marca{display:flex;align-items:baseline;gap:10px;text-decoration:none;color:inherit}
.marca .sig{font:600 1.42rem/1 'Fraunces',Georgia,serif;color:var(--flux)}
.marca b{font:600 1.02rem/1 'Fraunces',Georgia,serif}
.marca span{font:400 .68rem/1 'JetBrains Mono',monospace;color:var(--ink-soft);letter-spacing:.08em}
.topo nav{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.tbtn{border:1px solid var(--line);background:var(--plate);color:var(--ink);border-radius:9px;
  padding:8px 13px;font:500 .8rem/1 'Public Sans',sans-serif;cursor:pointer;text-decoration:none;
  transition:.18s;white-space:nowrap;display:inline-block}
.tbtn:hover{border-color:var(--flux-line);color:var(--flux)}
.tbtn.on{background:var(--flux);border-color:var(--flux);color:#fff}
:root[data-theme="dark"] .tbtn.on,:root:not([data-theme="light"]) .tbtn.on{color:#0E111C}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .tbtn.on{color:#fff}}
.tbtn.icone{width:36px;height:36px;display:inline-grid;place-items:center;padding:0}
.doc{max-width:min(1040px,100%);margin:0 auto;padding:34px 24px 90px}
.doc h1{font:600 clamp(2rem,4.6vw,2.9rem)/1.1 'Fraunces',Georgia,serif;margin:0 0 18px;letter-spacing:-.015em;text-wrap:balance}
.h-sec{font:600 1.6rem/1.25 'Fraunces',Georgia,serif;margin:60px 0 10px;letter-spacing:-.01em}
.pull{font:400 1.2rem/1.65 'Public Sans',sans-serif;color:var(--ink);max-width:64ch;margin:0 0 12px}
.sub{font:400 1rem/1.7 'Public Sans',sans-serif;color:var(--ink-soft);max-width:66ch;margin:0 0 18px}
.mut{color:var(--ink-soft);font-size:.86rem}
.capa{position:relative;border-radius:18px;overflow:hidden;min-height:230px;display:flex;align-items:flex-end;margin-bottom:20px}
.capa img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.capa .veu{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(6,7,14,.9) 0%,rgba(6,7,14,.55) 55%,rgba(6,7,14,.15) 100%)}
.capa .txt{position:relative;padding:28px 30px;color:#EEF0FA}
.capa .cod{font:400 .74rem/1 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.capa h1{margin:8px 0 6px;color:#fff}
.capa .lema{font:400 1.02rem/1.5 'Public Sans',sans-serif;opacity:.86}
.portas{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 26px}
.porta{border:1px solid var(--line);background:var(--plate);color:var(--ink);border-radius:10px;
  padding:10px 15px;font:500 .86rem/1 'Public Sans',sans-serif;text-decoration:none;transition:.18s}
.porta:hover{border-color:var(--flux-line);color:var(--flux);background:var(--flux-soft)}
.sec{margin:0 0 34px;padding-bottom:8px}
.sec-cab{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.sec h2{font:600 1.34rem/1.3 'Fraunces',Georgia,serif;margin:0 0 12px}
.sec p{font:400 1.04rem/1.78 'Public Sans',sans-serif;color:var(--ink);max-width:68ch;margin:0 0 14px}
.formula{border-left:3px solid var(--flux-line);background:var(--plate3);border-radius:0 10px 10px 0;
  padding:16px 20px;margin:18px 0;max-width:74ch;overflow-x:auto}
.formula .rd{display:block;margin-top:10px;font:400 .9rem/1.6 'Public Sans',sans-serif;color:var(--ink-soft)}
.formula .katex-display{margin:0}
.exbox{border:1px solid var(--line);background:var(--plate);border-radius:12px;padding:16px 20px;max-width:70ch}
.exbox b{display:block;font:600 .98rem/1.3 'Fraunces',Georgia,serif;margin-bottom:6px}
.exbox p{margin:0;font-size:.98rem;line-height:1.7;color:var(--ink-soft)}
.ouvir{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--flux-line);background:var(--flux-soft);
  color:var(--flux);font:500 .74rem/1 'Public Sans',sans-serif;letter-spacing:.05em;text-transform:uppercase;
  padding:7px 12px;border-radius:999px;cursor:pointer;transition:.18s}
.ouvir:hover{background:color-mix(in srgb,var(--flux) 16%,transparent)}
.ouvir .ico{width:10px;height:10px;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}
.ouvir.on{background:var(--flux);border-color:var(--flux);color:#fff}
.ouvir.on .ico{clip-path:inset(0)}
.sec.tocando{position:relative}
.sec.tocando::before{content:"";position:absolute;left:-16px;top:0;bottom:8px;width:3px;border-radius:2px;
  background:linear-gradient(180deg,var(--flux),var(--ember))}
.velbar{position:sticky;top:64px;z-index:20;display:none;gap:6px;align-items:center;
  background:var(--plate);border:1px solid var(--line);border-radius:999px;padding:5px 8px;
  width:max-content;margin:0 0 18px;box-shadow:var(--shadow)}
.velbar.on{display:flex}
.velbar button{border:0;background:transparent;color:var(--ink-soft);font:500 .72rem/1 'JetBrains Mono',monospace;
  padding:6px 10px;border-radius:999px;cursor:pointer}
.velbar button.on{background:var(--ink);color:var(--paper)}
details{border:1px solid var(--line);background:var(--plate);border-radius:11px;margin:0 0 8px;overflow:hidden}
details summary{cursor:pointer;padding:14px 18px;font:500 .98rem/1.5 'Public Sans',sans-serif;list-style:none}
details summary::-webkit-details-marker{display:none}
details summary::before{content:"+";color:var(--flux);font-weight:600;margin-right:10px}
details[open] summary::before{content:"\2212"}
details>div{padding:0 18px 16px 42px;color:var(--ink-soft);font-size:.96rem;line-height:1.72;max-width:74ch}
.lista{list-style:none;padding:0;display:grid;gap:8px}
.lista li{border:1px solid var(--line);background:var(--plate);border-radius:10px;padding:12px 16px}
.lista li a{text-decoration:none;font-weight:500}
.livro{display:grid;gap:2px;border-left:2px solid var(--ember);padding:2px 0 2px 14px;margin:0 0 16px;max-width:70ch}
.livro b{font:600 1rem/1.35 'Fraunces',Georgia,serif}
.livro span{font-size:.88rem;color:var(--ink-soft);line-height:1.5}
.vid{border-top:1px solid var(--line-soft);padding:14px 0;max-width:72ch}
.vid a{font-weight:600;text-decoration:none}
.vid p{margin:5px 0 0;font-size:.92rem;color:var(--ink-soft);line-height:1.6}
.navmod{display:flex;justify-content:space-between;gap:12px;margin-top:60px;padding-top:22px;border-top:1px solid var(--line-soft)}
.filtro{width:100%;max-width:520px;border:1px solid var(--line);background:var(--plate);color:var(--ink);
  border-radius:10px;padding:12px 16px;font:400 1rem/1.3 'Public Sans',sans-serif;margin:0 0 20px}
.filtro:focus{outline:0;border-color:var(--flux);box-shadow:0 0 0 3px var(--flux-soft)}
table.glos{width:100%;border-collapse:collapse;font-size:.94rem}
table.glos th{text-align:left;font:500 .7rem/1 'JetBrains Mono',monospace;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-soft);padding:10px 12px;border-bottom:1px solid var(--line)}
table.glos td{padding:11px 12px;border-bottom:1px solid var(--line-soft);vertical-align:top}
table.glos td.sim{font:400 1.24rem/1 'STIX Two Text',Georgia,serif;color:var(--flux);white-space:nowrap}
.apmod{border:1px solid var(--line);background:var(--plate);border-radius:14px;padding:0;margin:0 0 14px;overflow:hidden}
.apcab{display:grid;grid-template-columns:120px 1fr;gap:0;align-items:stretch}
.apcab img{width:100%;height:100%;object-fit:cover;display:block}
.apcab>div{padding:16px 20px}
.apcab .cod{font:600 .84rem/1 'JetBrains Mono',monospace;color:var(--flux)}
.apcab h2{font:600 1.2rem/1.3 'Fraunces',Georgia,serif;margin:5px 0 4px}
.apcab h2 a{text-decoration:none;color:var(--ink)}
.apsec{margin:0;padding:0 20px 18px 44px;display:grid;gap:5px}
.apsec li{font-size:.94rem;line-height:1.5}
.apsec li a{text-decoration:none;color:var(--ink-soft)}
.apsec li a:hover{color:var(--flux)}
footer{max-width:1040px;margin:0 auto;padding:26px 24px 50px;border-top:1px solid var(--line-soft);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font:400 .78rem/1.7 'JetBrains Mono',monospace;color:var(--ink-soft)}
footer a{color:var(--ink-soft)}
@media (max-width:720px){
  .doc{padding:22px 14px 60px}
  .topo{padding:12px 14px}
  .apcab{grid-template-columns:1fr}
  .apcab img{max-height:110px}
  table.glos{font-size:.86rem}
  table.glos th:nth-child(3),table.glos td:nth-child(3){display:none}
}
