/* ═══ O Investidor de Valor · sistema de design compartilhado ═══ */
:root{ --mono:'JetBrains Mono',monospace; }
[data-theme="dark"]{
  --ink:#0C1A17; --ink2:#122420; --paper:#F4EFE3; --paper-dim:#CFC7B4;
  --jade:#3FA688; --jade-deep:#2C7C64; --gold:#C9A227; --brick:#C24B3C;
  --line:#22453C; --card:#102019; --body-ink:#E7E0D0;
  --calc-grad1:#0E1F1A; --calc-grad2:#0B1713; --calc-in:#0A130F;
}
[data-theme="light"]{
  --ink:#F5F2E9; --ink2:#EDE8DA; --paper:#14261F; --paper-dim:#5C6B62;
  --jade:#2C7C64; --jade-deep:#3FA688; --gold:#9A7B10; --brick:#B23A2B;
  --line:#D8D0BE; --card:#FFFFFF; --body-ink:#25352C;
  --calc-grad1:#FFFFFF; --calc-grad2:#F7F4EC; --calc-in:#F1EDE1;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--ink);color:var(--paper);
  line-height:1.72;font-size:17px;-webkit-font-smoothing:antialiased;transition:background .25s,color .25s}
::selection{background:var(--jade);color:var(--ink)}
.wrap{max-width:720px;margin:0 auto;padding:0 22px}

#theme-toggle{position:fixed;top:16px;right:16px;z-index:50;width:44px;height:44px;border-radius:50%;
  border:1px solid var(--line);background:var(--card);color:var(--paper);font-size:19px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.18);
  transition:transform .15s,background .25s,border-color .25s}
#theme-toggle:hover{transform:scale(1.08)}

.chead{border-bottom:1px solid var(--line);padding:56px 0 30px;
  background:radial-gradient(680px 320px at 20% -30%, var(--ink2) 0%, transparent 70%)}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--jade);margin-bottom:20px;display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--jade)}
.chead h1{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(32px,6vw,52px);
  line-height:1.05;letter-spacing:-.015em;color:var(--paper)}
.chead h1 em{font-style:italic;color:var(--gold)}
.chead .sub{margin-top:18px;color:var(--paper-dim);font-size:18px;max-width:56ch}

.disclaimer{display:flex;gap:12px;align-items:flex-start;margin:26px 0 0;
  background:rgba(201,162,39,.06);border:1px solid rgba(201,162,39,.28);border-radius:10px;
  padding:13px 16px;font-size:13.5px;color:var(--paper-dim)}
.disclaimer b{color:var(--gold);font-weight:600}

article{padding:14px 0 40px}
article h2{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(23px,4vw,31px);
  color:var(--paper);margin:46px 0 14px;letter-spacing:-.01em;line-height:1.2}
article h2 .n{font-family:var(--mono);font-size:.5em;color:var(--jade);vertical-align:middle;margin-right:12px;font-weight:500}
article p{margin:0 0 18px;color:var(--body-ink)}
article p.lead{font-size:20px;color:var(--paper)}
article strong{color:var(--paper);font-weight:600}
article em{color:var(--gold);font-style:italic}
.formula{font-family:var(--mono);font-size:15px;color:var(--jade);background:var(--card);
  border:1px solid var(--line);border-radius:10px;padding:16px 18px;text-align:center;margin:0 0 18px}

.pull{font-family:'Fraunces',serif;font-style:italic;font-size:clamp(21px,3.4vw,27px);
  line-height:1.35;color:var(--jade);border-left:3px solid var(--jade);padding:6px 0 6px 24px;margin:34px 0}
.figure-note{font-family:var(--mono);font-size:12.5px;color:var(--paper-dim);letter-spacing:.02em}

.box{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px 26px;margin:30px 0}
.box .tag{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.box p:last-child{margin-bottom:0}

.calc{background:linear-gradient(180deg,var(--calc-grad1),var(--calc-grad2));border:1px solid var(--jade-deep);
  border-radius:18px;margin:40px 0;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.calc-head{padding:22px 26px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px}
.calc-head .ic{width:40px;height:40px;border-radius:10px;background:rgba(63,166,136,.14);
  border:1px solid var(--jade-deep);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.calc-head h3{font-family:'Fraunces',serif;font-weight:600;font-size:20px;color:var(--paper);line-height:1.1}
.calc-head .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--jade);margin-top:3px}
.calc-body{padding:24px 26px 28px}
.field{margin-bottom:20px}
.field label{display:block;font-size:13.5px;font-weight:600;color:var(--paper);margin-bottom:4px}
.field .hint{font-size:12.5px;color:var(--paper-dim);margin-bottom:9px}
.input-money{display:flex;align-items:center;background:var(--calc-in);border:1px solid var(--line);
  border-radius:10px;padding:0 14px;transition:border-color .15s}
.input-money:focus-within{border-color:var(--jade)}
.input-money .cur{font-family:var(--mono);color:var(--paper-dim);font-size:15px;margin-right:8px}
.input-money input{flex:1;background:none;border:none;outline:none;color:var(--paper);
  font-family:var(--mono);font-size:20px;font-weight:500;padding:13px 0;width:100%}
.input-money input::-webkit-outer-spin-button,.input-money input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.input-money input[type=number]{-moz-appearance:textfield}
.slider-row{display:flex;align-items:center;gap:14px}
.slider-row input[type=range]{flex:1;accent-color:var(--jade)}
.slider-val{font-family:var(--mono);font-size:16px;color:var(--jade);min-width:64px;text-align:right}

.verdict{margin-top:30px;padding:20px 22px;border-radius:12px;border:1px solid var(--line);background:var(--calc-in);text-align:center}
.verdict .pct{font-family:var(--mono);font-size:44px;font-weight:700;line-height:1;letter-spacing:-.02em}
.verdict .pct.small{font-size:26px;letter-spacing:0}
.verdict .cap{font-size:14px;margin-top:10px;color:var(--paper-dim)}
.verdict .cap b{font-weight:600}
.calc-foot{padding:14px 26px 20px;border-top:1px solid var(--line);font-size:12px;color:var(--paper-dim);font-family:var(--mono);letter-spacing:.02em}

.bars{display:flex;flex-direction:column;gap:14px;margin:8px 0 4px}
.bar-item .bar-top{display:flex;justify-content:space-between;font-size:13px;margin-bottom:6px;color:var(--body-ink)}
.bar-item .bar-top b{font-family:var(--mono);color:var(--paper)}
.bar-track{height:26px;border-radius:7px;background:var(--calc-in);border:1px solid var(--line);overflow:hidden}
.bar-fill{height:100%;border-radius:6px 0 0 6px;transition:width .5s cubic-bezier(.2,.7,.2,1),background .3s}

.check{list-style:none;margin:22px 0}
.check li{position:relative;padding:9px 0 9px 34px;border-bottom:1px solid var(--line);color:var(--body-ink)}
.check li:last-child{border-bottom:none}
.check li::before{content:"✓";position:absolute;left:0;top:9px;color:var(--jade);font-weight:700;font-family:var(--mono)}
.check li b{color:var(--paper)}

.chapter-foot{border-top:1px solid var(--line);margin-top:30px;padding:34px 0 70px;text-align:center}
.chapter-foot .done{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-dim);margin-bottom:18px}
.next-btn{display:inline-flex;align-items:center;gap:10px;background:var(--jade);color:var(--ink);
  font-weight:700;font-size:16px;text-decoration:none;border:none;cursor:pointer;padding:15px 30px;border-radius:999px;transition:transform .15s,background .15s}
.next-btn:hover{transform:translateY(-2px);background:#4ec19f}
.legal{margin-top:26px;font-size:11.5px;color:var(--paper-dim);font-family:var(--mono);max-width:60ch;margin-left:auto;margin-right:auto}

@media (max-width:560px){
  body{font-size:16px}
  .chead{padding:40px 0 26px}
  .calc-body{padding:20px 18px 24px}
  .calc-head{padding:18px 18px 16px}
  .verdict .pct{font-size:36px}
  #theme-toggle{top:12px;right:12px;width:40px;height:40px;font-size:17px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}

/* ── Barra de navegação do capítulo ── */
.chapter-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;
  max-width:720px;margin:0 auto;padding:14px 22px 0;padding-right:64px}
.cn-left{display:flex;align-items:center;gap:10px}
.cn-back{font-family:var(--mono);font-size:13px;color:var(--jade);text-decoration:none;white-space:nowrap}
.cn-back:hover{text-decoration:underline}
.cn-mid{font-family:var(--mono);font-size:12px;color:var(--paper-dim);letter-spacing:.05em;white-space:nowrap}
.pdf-btn{font-family:'Inter',sans-serif;font-size:12.5px;font-weight:600;color:var(--paper);
  background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer;transition:border-color .15s}
.pdf-btn:hover{border-color:var(--jade)}

/* ── Paginação (rodapé) ── */
.pager{max-width:720px;margin:0 auto;padding:0 22px 60px;display:flex;justify-content:space-between;gap:12px}
.pager a{font-family:var(--mono);font-size:13px;color:var(--jade);text-decoration:none;padding:10px 14px;
  border:1px solid var(--line);border-radius:999px;transition:border-color .15s}
.pager a:hover{border-color:var(--jade)}
.pager a.disabled{opacity:.35;pointer-events:none}

/* ── Impressão / PDF do capítulo ── */
@media print{
  body, [data-theme="dark"], [data-theme="light"]{
    --ink:#ffffff; --ink2:#f2f0ea; --paper:#14261F; --paper-dim:#555555;
    --jade:#2C7C64; --jade-deep:#3FA688; --gold:#8a6d0e; --brick:#B23A2B;
    --line:#cccccc; --card:#f7f5ef; --body-ink:#1c1c1c;
    --calc-grad1:#ffffff; --calc-grad2:#faf8f2; --calc-in:#f1ede1;
  }
  body{background:#fff !important}
  #theme-toggle, .pdf-btn, .chapter-nav .cn-back, .cn-mid, .next-btn, .pager, .cert-actions, #cert-preview{display:none !important}
  .calc, .box, .cert-box, .pull{box-shadow:none !important; break-inside:avoid}
  .chead{background:none !important; padding-top:8px}
  article h2{break-after:avoid}
  .chead h1{font-size:34pt}
  a{color:#14261F !important; text-decoration:none}
  @page{margin:1.6cm}
}

/* ── Menu hambúrguer + gaveta lateral ── */
#oiv-burger{position:fixed;top:14px;left:14px;z-index:60;width:44px;height:44px;border-radius:12px;
  border:1px solid var(--line);background:var(--card);color:var(--paper);cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:0;box-shadow:0 6px 20px rgba(0,0,0,.18);
  transition:transform .15s,background .25s,border-color .25s}
#oiv-burger:hover{transform:scale(1.06);border-color:var(--jade)}
#oiv-burger span{display:block;width:18px;height:2px;background:currentColor;position:relative}
#oiv-burger span::before,#oiv-burger span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor}
#oiv-burger span::before{top:-6px}#oiv-burger span::after{top:6px}

#oiv-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:70;opacity:0;pointer-events:none;transition:opacity .25s}
#oiv-overlay.open{opacity:1;pointer-events:auto}

#oiv-drawer{position:fixed;top:0;left:0;bottom:0;z-index:80;width:min(340px,86vw);
  background:var(--ink2);border-right:1px solid var(--line);
  transform:translateX(-104%);transition:transform .3s cubic-bezier(.2,.7,.2,1);
  display:flex;flex-direction:column;box-shadow:8px 0 40px rgba(0,0,0,.4)}
#oiv-drawer.open{transform:translateX(0)}
.drawer-head{padding:22px 22px 16px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.drawer-head .dh-t{font-family:'Fraunces',serif;font-weight:600;font-size:20px;color:var(--paper);line-height:1.1}
.drawer-head .dh-t em{font-style:italic;color:var(--gold)}
.drawer-head .dh-s{font-family:var(--mono);font-size:11px;color:var(--paper-dim);margin-top:4px;letter-spacing:.04em}
.drawer-close{background:none;border:none;color:var(--paper-dim);font-size:26px;line-height:1;cursor:pointer;padding:0 2px}
.drawer-close:hover{color:var(--paper)}
.drawer-prog{padding:14px 22px;border-bottom:1px solid var(--line)}
.drawer-prog .dp-bar{height:8px;border-radius:6px;background:var(--calc-in);border:1px solid var(--line);overflow:hidden}
.drawer-prog .dp-fill{height:100%;background:linear-gradient(90deg,var(--jade),var(--gold));border-radius:5px}
.drawer-prog .dp-txt{font-family:var(--mono);font-size:11.5px;color:var(--paper-dim);margin-top:8px}
.drawer-nav{flex:1;overflow-y:auto;padding:10px 12px 24px}
.dn-part{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--jade);padding:16px 10px 6px}
.dn-item{display:flex;align-items:center;gap:11px;padding:10px 10px;border-radius:9px;text-decoration:none;color:var(--body-ink);font-size:14px;transition:background .12s}
.dn-item:hover{background:var(--card)}
.dn-item.current{background:var(--card);border:1px solid var(--jade-deep)}
.dn-item.current .dn-t{color:var(--paper);font-weight:600}
.dn-check{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10.5px;color:var(--paper-dim)}
.dn-check.done{background:var(--jade);border-color:var(--jade);color:var(--ink)}
.dn-t{flex:1;line-height:1.25}
.dn-home{display:block;margin:6px 10px 0;padding:11px;text-align:center;text-decoration:none;
  font-family:var(--mono);font-size:12.5px;color:var(--jade);border:1px solid var(--line);border-radius:9px}
.dn-home:hover{border-color:var(--jade)}
@media print{#oiv-burger,#oiv-overlay,#oiv-drawer{display:none !important}}
@media (max-width:560px){#oiv-burger{top:10px;left:10px;width:40px;height:40px}}

/* clareia a barra de topo para não colidir com o hambúrguer */
.chapter-nav{padding-left:70px}
@media (max-width:560px){.chapter-nav{padding-left:60px}}
