/* Base comum */
/* ─── TOKENS ─────────────────────────────────────────────── */
:root {
  --void:      #040307;
  --surface:   #0A0910;
  --surface2:  #100E17;
  --text:      #E8E3D8;
  --muted:     #65616B;
  --faint:     rgba(232,227,216,.09);
  --brass:     #9A7535;
  --brass-hi:  #B8913F;
  --ember:     #C05232;
  --line:      rgba(232,227,216,.05);
  --ff-disp: 'Palatino Linotype', Palatino, 'Book Antiqua', Georgia, serif;
  --ff-body: Georgia, 'Times New Roman', serif;
  --ff-ui:   system-ui, -apple-system, 'Helvetica Neue', sans-serif;
}
@media (prefers-color-scheme: light) { :root {
  --void:#EDEBE4;--surface:#E2DED6;--surface2:#D7D3CA;--text:#0D0B12;--muted:#5C5866;--faint:rgba(13,11,18,.15);--brass:#7A5A1E;--brass-hi:#8D6A28;--ember:#A04028;--line:rgba(13,11,18,.08);
}}
:root[data-theme="dark"]  { --void:#040307;--surface:#0A0910;--surface2:#100E17;--text:#E8E3D8;--muted:#65616B;--faint:rgba(232,227,216,.09);--brass:#9A7535;--brass-hi:#B8913F;--ember:#C05232;--line:rgba(232,227,216,.05); }
:root[data-theme="light"] { --void:#EDEBE4;--surface:#E2DED6;--surface2:#D7D3CA;--text:#0D0B12;--muted:#5C5866;--faint:rgba(13,11,18,.15);--brass:#7A5A1E;--brass-hi:#8D6A28;--ember:#A04028;--line:rgba(13,11,18,.08); }

/* ─── RESET ──────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--void);color:var(--text);font-family:var(--ff-body);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;}
button{cursor:pointer;}

/* ─── NAV ────────────────────────────────────────────────── */
nav{position:fixed;inset-block-start:0;inset-inline:0;z-index:200;padding:1.25rem 2.5rem;display:flex;align-items:center;justify-content:space-between;transition:background .5s,backdrop-filter .5s,border-color .5s;border-bottom:1px solid transparent;}
nav.stuck{background:rgba(4,3,7,.92);backdrop-filter:blur(14px);border-bottom-color:var(--line);}
.nav-brand{font-family:var(--ff-disp);font-size:.72rem;font-style:italic;letter-spacing:.1em;text-decoration:none;color:var(--brass);}
.nav-links{display:flex;gap:2rem;list-style:none;align-items:center;}
.nav-links a{font-family:var(--ff-ui);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s;}
.nav-links a:hover{color:var(--text);}
@media(max-width:640px){nav{padding:1rem 1.25rem;}.nav-links{gap:1.25rem;}.nav-links li:not(:last-child){display:none;}}

/* ─── READER ─────────────────────────────────────────────── */
.reader-section{padding:7rem 1.5rem 6rem;}
.reader-inner{max-width:65ch;margin:0 auto;}
.reader-eyebrow{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;}
.reader-title{font-size:clamp(1.25rem,3.5vw,2rem);font-weight:600;color:var(--text);margin:0 0 2rem;letter-spacing:.02em;}
.reader-epigraph{border-left:2px solid var(--brass);padding-left:1.25rem;margin:0 0 1.5rem;font-style:italic;color:var(--muted);font-size:.9rem;line-height:1.7;}
.reader-divider{text-align:center;color:var(--brass);margin:0 0 2.5rem;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;}
.reader-body p{line-height:1.9;margin-bottom:1.35rem;font-size:1.0625rem;color:var(--text);}
.reader-body em{font-style:italic;}
.reader-body strong{font-weight:600;}
.reader-body p.screen-text{color:var(--muted);font-style:italic;padding-left:1.5rem;border-left:1px solid var(--line);margin:1.75rem 0;}
.reader-body p.screen-text strong{font-style:normal;color:var(--text);}
.reader-body p.reader-break{text-align:center;color:var(--brass);font-size:.65rem;letter-spacing:.35em;opacity:.4;margin:2.5rem 0;}
.reader-nav{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.reader-end{color:var(--muted);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;}
.btn-f{background:var(--ember);color:var(--text);border:none;padding:.85rem 2rem;font-family:var(--ff-ui);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;display:inline-block;transition:background .2s;}
.btn-f:hover{background:#D46040;}
.btn-ghost{background:none;border:1px solid var(--line);color:var(--muted);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;padding:.55rem 1.1rem;cursor:pointer;transition:color .2s,border-color .2s;font-family:inherit;text-decoration:none;display:inline-block;}
.btn-ghost:hover{color:var(--text);border-color:var(--muted);}

/* ─── FOOTER ─────────────────────────────────────────────── */
footer{padding:1.75rem 2.5rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.footer-brand{font-family:var(--ff-disp);font-style:italic;font-size:.8rem;color:var(--muted);}
.footer-copy{font-family:var(--ff-ui);font-size:.56rem;letter-spacing:.14em;color:var(--faint);}

/* ── REAÇÕES ─────────────────────────────────────────────── */
.chapter-reactions{display:flex;align-items:center;gap:.55rem;margin-top:2.25rem;padding-top:1.5rem;border-top:1px solid var(--line);flex-wrap:wrap;}
.reactions-label{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:.25rem;}
.reaction-btn{background:none;border:1px solid var(--line);color:var(--text);padding:.32rem .85rem;cursor:pointer;font-size:.82rem;display:inline-flex;align-items:center;gap:.32rem;transition:border-color .18s;font-family:inherit;line-height:1;}
.reaction-btn:hover{border-color:var(--muted);}
.reaction-btn.voted{border-color:var(--brass);}
.reaction-btn .r-count{font-size:.68rem;color:var(--muted);letter-spacing:.04em;}

/* ── COMENTÁRIOS ─────────────────────────────────────────── */
.comments-section{margin-top:2.75rem;padding-top:2rem;border-top:1px solid var(--line);}
.chapter-curiosities{margin:3.5rem 0 1rem;padding:clamp(1.25rem,4vw,2rem);border:1px solid var(--line);background:var(--surface2);}
.curiosity-head{margin-bottom:1rem;}
.curiosity-head>span{font-family:var(--ff-ui);font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);}
.curiosity-head h2{margin:.45rem 0 0;font-family:var(--ff-disp);font-size:clamp(1.45rem,4vw,2rem);font-weight:400;}
.chapter-curiosities details{border-top:1px solid var(--line);}
.chapter-curiosities summary{position:relative;padding:1rem 2rem 1rem 0;cursor:pointer;list-style:none;font-family:var(--ff-ui);font-size:.68rem;letter-spacing:.08em;color:var(--text);}
.chapter-curiosities summary::-webkit-details-marker{display:none;}
.chapter-curiosities summary::after{content:"+";position:absolute;right:.25rem;color:var(--brass);font-size:1rem;line-height:1;}
.chapter-curiosities details[open] summary::after{content:"−";}
.chapter-curiosities details p{margin:0;padding:0 1.5rem 1.25rem 0;font-size:.88rem;line-height:1.75;color:var(--muted);}
.comments-title{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem;}
.comment-form{display:flex;flex-direction:column;gap:.55rem;margin-bottom:2rem;}
.comment-input{background:none;border:1px solid var(--line);color:var(--text);font-size:.875rem;padding:.5rem .75rem;font-family:inherit;outline:none;transition:border-color .2s;width:100%;box-sizing:border-box;}
.comment-input:focus{border-color:var(--muted);}
.comment-textarea{resize:vertical;min-height:70px;}
.comment-submit{align-self:flex-start;background:none;border:1px solid var(--line);color:var(--muted);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;padding:.42rem 1rem;cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s;}
.comment-submit:hover{color:var(--text);border-color:var(--muted);}
.comments-list{display:flex;flex-direction:column;gap:.9rem;}
.comment-item{padding-bottom:.9rem;border-bottom:1px solid var(--line);}
.comment-meta{display:flex;gap:.65rem;align-items:baseline;margin-bottom:.35rem;}
.comment-author{font-size:.76rem;font-weight:600;color:var(--text);}
.comment-time{font-size:.65rem;color:var(--muted);}
.comment-text{font-size:.88rem;line-height:1.72;color:var(--text);}
.comments-empty{font-size:.8rem;color:var(--muted);font-style:italic;}
.comments-note{font-size:.68rem;color:var(--muted);font-style:italic;margin-top:1.25rem;line-height:1.6;}
.comments-status{min-height:1.2rem;margin:-1rem 0 1rem;font-size:.72rem;color:var(--muted);}
.comments-status[data-state="success"]{color:#6f9271;}
.comments-status[data-state="error"]{color:#b65f53;}
.comment-submit:disabled{opacity:.5;cursor:wait;}
.comment-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;}

/* ── DMS NOTIFICATIONS ──────────────────────────────────────── */
#dms-notifs{position:fixed;top:5rem;right:1.5rem;z-index:500;display:flex;flex-direction:column;gap:.4rem;pointer-events:none;}
.dms-notif{background:var(--surface2);border:1px solid var(--line);border-left:2px solid var(--brass);padding:.55rem .85rem;font-family:var(--ff-ui);font-size:.68rem;color:var(--text);display:flex;align-items:center;gap:.6rem;opacity:0;transform:translateX(10px);transition:opacity .4s,transform .4s;max-width:240px;}
.dms-notif.vis{opacity:1;transform:none;}
.notif-tag{color:var(--brass);font-size:.58rem;letter-spacing:.13em;white-space:nowrap;}

/* ── BARRA DE PROGRESSO ─────────────────────────────────────── */
.chapter-bar{border-top:1px solid var(--line);padding:1.5rem 0;margin-bottom:3.5rem;display:flex;align-items:center;justify-content:space-between;font-family:var(--ff-ui);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.chapter-bar a{color:var(--muted);text-decoration:none;transition:color .2s;}
.chapter-bar a:hover{color:var(--brass);}
.chapter-bar span{color:var(--brass);}

/* Complementos do prólogo */
/* ─── TOKENS ─────────────────────────────────────────────── */
:root {
  --void:      #040307;
  --surface:   #0A0910;
  --surface2:  #100E17;
  --text:      #E8E3D8;
  --muted:     #65616B;
  --faint:     rgba(232,227,216,.09);
  --brass:     #9A7535;
  --brass-hi:  #B8913F;
  --ember:     #C05232;
  --line:      rgba(232,227,216,.05);
  --ff-disp: 'Palatino Linotype', Palatino, 'Book Antiqua', Georgia, serif;
  --ff-body: Georgia, 'Times New Roman', serif;
  --ff-ui:   system-ui, -apple-system, 'Helvetica Neue', sans-serif;
}
@media (prefers-color-scheme: light) { :root {
  --void:#EDEBE4;--surface:#E2DED6;--surface2:#D7D3CA;--text:#0D0B12;--muted:#5C5866;--faint:rgba(13,11,18,.15);--brass:#7A5A1E;--brass-hi:#8D6A28;--ember:#A04028;--line:rgba(13,11,18,.08);
}}
:root[data-theme="dark"]  { --void:#040307;--surface:#0A0910;--surface2:#100E17;--text:#E8E3D8;--muted:#65616B;--faint:rgba(232,227,216,.09);--brass:#9A7535;--brass-hi:#B8913F;--ember:#C05232;--line:rgba(232,227,216,.05); }
:root[data-theme="light"] { --void:#EDEBE4;--surface:#E2DED6;--surface2:#D7D3CA;--text:#0D0B12;--muted:#5C5866;--faint:rgba(13,11,18,.15);--brass:#7A5A1E;--brass-hi:#8D6A28;--ember:#A04028;--line:rgba(13,11,18,.08); }

/* ─── RESET ──────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--void);color:var(--text);font-family:var(--ff-body);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;}
button{cursor:pointer;}

/* ─── NAV ────────────────────────────────────────────────── */
nav{position:fixed;inset-block-start:0;inset-inline:0;z-index:200;padding:1.25rem 2.5rem;display:flex;align-items:center;justify-content:space-between;transition:background .5s,backdrop-filter .5s,border-color .5s;border-bottom:1px solid transparent;}
nav.stuck{background:rgba(4,3,7,.92);backdrop-filter:blur(14px);border-bottom-color:var(--line);}
.nav-brand{font-family:var(--ff-disp);font-size:.72rem;font-style:italic;letter-spacing:.1em;text-decoration:none;color:var(--brass);}
.nav-links{display:flex;gap:2rem;list-style:none;align-items:center;}
.nav-links a{font-family:var(--ff-ui);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s;}
.nav-links a:hover{color:var(--text);}
@media(max-width:640px){nav{padding:1rem 1.25rem;}.nav-links{gap:1.25rem;}.nav-links li:not(:last-child){display:none;}}

/* ─── READER ─────────────────────────────────────────────── */
.reader-section{padding:7rem 1.5rem 6rem;}
.reader-inner{max-width:65ch;margin:0 auto;}
.reader-eyebrow{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;}
.reader-title{font-size:clamp(1.25rem,3.5vw,2rem);font-weight:600;color:var(--text);margin:0 0 2rem;letter-spacing:.02em;}
.reader-epigraph{border-left:2px solid var(--brass);padding-left:1.25rem;margin:0 0 3rem;font-style:italic;color:var(--muted);font-size:.9rem;line-height:1.7;}
.content-note{border:1px solid var(--line);border-left:2px solid var(--ember);padding:.9rem 1.1rem;margin:0 0 3rem;font-family:var(--ff-ui);font-size:.75rem;line-height:1.65;color:var(--muted);}
.content-note strong{display:block;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ember);margin-bottom:.4rem;font-weight:600;}
.reader-divider{text-align:center;color:var(--brass);margin:2.5rem 0;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;}
.reader-body p{line-height:1.9;margin-bottom:1.35rem;font-size:1.0625rem;color:var(--text);}
.reader-body em{font-style:italic;}
.reader-body strong{font-weight:600;}
.reader-body p.screen-text{color:var(--muted);font-style:italic;padding-left:1.5rem;border-left:1px solid var(--line);margin:1.75rem 0;}
.reader-body p.screen-text strong{font-style:normal;color:var(--text);}
.reader-nav{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.reader-end{color:var(--muted);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;}
.btn-f{background:var(--ember);color:var(--text);border:none;padding:.85rem 2rem;font-family:var(--ff-ui);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;display:inline-block;transition:background .2s;}
.btn-f:hover{background:#D46040;}
.btn-ghost{background:none;border:1px solid var(--line);color:var(--muted);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;padding:.55rem 1.1rem;cursor:pointer;transition:color .2s,border-color .2s;font-family:inherit;text-decoration:none;display:inline-block;}
.btn-ghost:hover{color:var(--text);border-color:var(--muted);}

/* ─── FOOTER ─────────────────────────────────────────────── */
footer{padding:1.75rem 2.5rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.footer-brand{font-family:var(--ff-disp);font-style:italic;font-size:.8rem;color:var(--muted);}
.footer-copy{font-family:var(--ff-ui);font-size:.56rem;letter-spacing:.14em;color:var(--faint);}

/* ── REAÇÕES ─────────────────────────────────────────────── */
.chapter-reactions{display:flex;align-items:center;gap:.55rem;margin-top:2.25rem;padding-top:1.5rem;border-top:1px solid var(--line);flex-wrap:wrap;}
.reactions-label{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:.25rem;}
.reaction-btn{background:none;border:1px solid var(--line);color:var(--text);padding:.32rem .85rem;cursor:pointer;font-size:.82rem;display:inline-flex;align-items:center;gap:.32rem;transition:border-color .18s;font-family:inherit;line-height:1;}
.reaction-btn:hover{border-color:var(--muted);}
.reaction-btn.voted{border-color:var(--brass);}
.reaction-btn .r-count{font-size:.68rem;color:var(--muted);letter-spacing:.04em;}

/* ── COMENTÁRIOS ─────────────────────────────────────────── */
.comments-section{margin-top:2.75rem;padding-top:2rem;border-top:1px solid var(--line);}
.comments-title{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem;}
.comment-form{display:flex;flex-direction:column;gap:.55rem;margin-bottom:2rem;}
.comment-input{background:none;border:1px solid var(--line);color:var(--text);font-size:.875rem;padding:.5rem .75rem;font-family:inherit;outline:none;transition:border-color .2s;width:100%;box-sizing:border-box;}
.comment-input:focus{border-color:var(--muted);}
.comment-textarea{resize:vertical;min-height:70px;}
.comment-submit{align-self:flex-start;background:none;border:1px solid var(--line);color:var(--muted);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;padding:.42rem 1rem;cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s;}
.comment-submit:hover{color:var(--text);border-color:var(--muted);}
.comments-list{display:flex;flex-direction:column;gap:.9rem;}
.comment-item{padding-bottom:.9rem;border-bottom:1px solid var(--line);}
.comment-meta{display:flex;gap:.65rem;align-items:baseline;margin-bottom:.35rem;}
.comment-author{font-size:.76rem;font-weight:600;color:var(--text);}
.comment-time{font-size:.65rem;color:var(--muted);}
.comment-text{font-size:.88rem;line-height:1.72;color:var(--text);}
.comments-empty{font-size:.8rem;color:var(--muted);font-style:italic;}
.comments-note{font-size:.68rem;color:var(--muted);font-style:italic;margin-top:1.25rem;line-height:1.6;}

/* ── DMS SESSION BANNER ─────────────────────────────────────── */
#dms-session{position:fixed;bottom:1.5rem;left:1.5rem;background:var(--surface2);border:1px solid var(--line);border-left:2px solid var(--brass);padding:.6rem .95rem;z-index:500;font-family:var(--ff-ui);font-size:.68rem;display:flex;align-items:center;gap:.85rem;opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s;pointer-events:none;max-width:310px;}
#dms-session.vis{opacity:1;transform:none;pointer-events:all;}
.sb-label{color:var(--brass);letter-spacing:.13em;font-size:.6rem;white-space:nowrap;}
.sb-ch{color:var(--text);flex:1;font-style:italic;}
.sb-retomar{background:none;border:1px solid var(--brass);color:var(--brass);font-family:var(--ff-ui);font-size:.6rem;letter-spacing:.1em;padding:.2rem .55rem;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap;}
.sb-retomar:hover{background:var(--brass);color:var(--void);}
.sb-x{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1.1rem;line-height:1;padding:0;margin-left:.1rem;transition:color .2s;}
.sb-x:hover{color:var(--text);}
#dms-notifs{position:fixed;top:5rem;right:1.5rem;z-index:500;display:flex;flex-direction:column;gap:.4rem;pointer-events:none;}
.dms-notif{background:var(--surface2);border:1px solid var(--line);border-left:2px solid var(--brass);padding:.55rem .85rem;font-family:var(--ff-ui);font-size:.68rem;color:var(--text);display:flex;align-items:center;gap:.6rem;opacity:0;transform:translateX(10px);transition:opacity .4s,transform .4s;max-width:240px;}
.dms-notif.vis{opacity:1;transform:none;}
.notif-tag{color:var(--brass);font-size:.58rem;letter-spacing:.13em;white-space:nowrap;}

/* ── BARRA DE PROGRESSO ─────────────────────────────────────── */
.chapter-bar{border-top:1px solid var(--line);padding:1.5rem 0;margin-bottom:3.5rem;display:flex;align-items:center;justify-content:space-between;font-family:var(--ff-ui);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.chapter-bar a{color:var(--muted);text-decoration:none;transition:color .2s;}
.chapter-bar a:hover{color:var(--brass);}
.chapter-bar span{color:var(--brass);}

/* Complementos do capítulo 1 */
/* ─── TOKENS ─────────────────────────────────────────────── */
:root {
  --void:      #040307;
  --surface:   #0A0910;
  --surface2:  #100E17;
  --text:      #E8E3D8;
  --muted:     #65616B;
  --faint:     rgba(232,227,216,.09);
  --brass:     #9A7535;
  --brass-hi:  #B8913F;
  --ember:     #C05232;
  --line:      rgba(232,227,216,.05);
  --ff-disp: 'Palatino Linotype', Palatino, 'Book Antiqua', Georgia, serif;
  --ff-body: Georgia, 'Times New Roman', serif;
  --ff-ui:   system-ui, -apple-system, 'Helvetica Neue', sans-serif;
}
@media (prefers-color-scheme: light) { :root {
  --void:#EDEBE4;--surface:#E2DED6;--surface2:#D7D3CA;--text:#0D0B12;--muted:#5C5866;--faint:rgba(13,11,18,.15);--brass:#7A5A1E;--brass-hi:#8D6A28;--ember:#A04028;--line:rgba(13,11,18,.08);
}}
:root[data-theme="dark"]  { --void:#040307;--surface:#0A0910;--surface2:#100E17;--text:#E8E3D8;--muted:#65616B;--faint:rgba(232,227,216,.09);--brass:#9A7535;--brass-hi:#B8913F;--ember:#C05232;--line:rgba(232,227,216,.05); }
:root[data-theme="light"] { --void:#EDEBE4;--surface:#E2DED6;--surface2:#D7D3CA;--text:#0D0B12;--muted:#5C5866;--faint:rgba(13,11,18,.15);--brass:#7A5A1E;--brass-hi:#8D6A28;--ember:#A04028;--line:rgba(13,11,18,.08); }

/* ─── RESET ──────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--void);color:var(--text);font-family:var(--ff-body);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;}
button{cursor:pointer;}

/* ─── NAV ────────────────────────────────────────────────── */
nav{position:fixed;inset-block-start:0;inset-inline:0;z-index:200;padding:1.25rem 2.5rem;display:flex;align-items:center;justify-content:space-between;transition:background .5s,backdrop-filter .5s,border-color .5s;border-bottom:1px solid transparent;}
nav.stuck{background:rgba(4,3,7,.92);backdrop-filter:blur(14px);border-bottom-color:var(--line);}
.nav-brand{font-family:var(--ff-disp);font-size:.72rem;font-style:italic;letter-spacing:.1em;text-decoration:none;color:var(--brass);}
.nav-links{display:flex;gap:2rem;list-style:none;align-items:center;}
.nav-links a{font-family:var(--ff-ui);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s;}
.nav-links a:hover{color:var(--text);}
@media(max-width:640px){nav{padding:1rem 1.25rem;}.nav-links{gap:1.25rem;}.nav-links li:not(:last-child){display:none;}}

/* ─── READER ─────────────────────────────────────────────── */
.reader-section{padding:7rem 1.5rem 6rem;}
.reader-inner{max-width:65ch;margin:0 auto;}
.reader-eyebrow{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;}
.reader-title{font-size:clamp(1.25rem,3.5vw,2rem);font-weight:600;color:var(--text);margin:0 0 2rem;letter-spacing:.02em;}
.reader-epigraph{border-left:2px solid var(--brass);padding-left:1.25rem;margin:0 0 1.5rem;font-style:italic;color:var(--muted);font-size:.9rem;line-height:1.7;}
.reader-divider{text-align:center;color:var(--brass);margin:0 0 2.5rem;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;}
.reader-body p{line-height:1.9;margin-bottom:1.35rem;font-size:1.0625rem;color:var(--text);}
.reader-body em{font-style:italic;}
.reader-body strong{font-weight:600;}
.reader-body p.screen-text{color:var(--muted);font-style:italic;padding-left:1.5rem;border-left:1px solid var(--line);margin:1.75rem 0;}
.reader-body p.screen-text strong{font-style:normal;color:var(--text);}
.reader-nav{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.reader-end{color:var(--muted);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;}
.btn-f{background:var(--ember);color:var(--text);border:none;padding:.85rem 2rem;font-family:var(--ff-ui);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;display:inline-block;transition:background .2s;}
.btn-f:hover{background:#D46040;}
.btn-ghost{background:none;border:1px solid var(--line);color:var(--muted);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;padding:.55rem 1.1rem;cursor:pointer;transition:color .2s,border-color .2s;font-family:inherit;text-decoration:none;display:inline-block;}
.btn-ghost:hover{color:var(--text);border-color:var(--muted);}

/* CLIFF BUTTON */
.btn-cliff{background:var(--surface2);border:1px solid var(--line);color:var(--text);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;padding:.55rem 1.25rem;cursor:pointer;display:inline-flex;align-items:center;gap:.55rem;font-family:var(--ff-ui);transition:border-color .2s,background .2s;}
.btn-cliff:hover{border-color:var(--ember);background:var(--surface);}
.cliff-badge{background:var(--ember);color:#fff;border-radius:50%;width:1.15rem;height:1.15rem;display:inline-flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;flex-shrink:0;}

/* ─── FOOTER ─────────────────────────────────────────────── */
footer{padding:1.75rem 2.5rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.footer-brand{font-family:var(--ff-disp);font-style:italic;font-size:.8rem;color:var(--muted);}
.footer-copy{font-family:var(--ff-ui);font-size:.56rem;letter-spacing:.14em;color:var(--faint);}

/* ── REAÇÕES ─────────────────────────────────────────────── */
.chapter-reactions{display:flex;align-items:center;gap:.55rem;margin-top:2.25rem;padding-top:1.5rem;border-top:1px solid var(--line);flex-wrap:wrap;}
.reactions-label{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:.25rem;}
.reaction-btn{background:none;border:1px solid var(--line);color:var(--text);padding:.32rem .85rem;cursor:pointer;font-size:.82rem;display:inline-flex;align-items:center;gap:.32rem;transition:border-color .18s;font-family:inherit;line-height:1;}
.reaction-btn:hover{border-color:var(--muted);}
.reaction-btn.voted{border-color:var(--brass);}
.reaction-btn .r-count{font-size:.68rem;color:var(--muted);letter-spacing:.04em;}

/* ── COMENTÁRIOS ─────────────────────────────────────────── */
.comments-section{margin-top:2.75rem;padding-top:2rem;border-top:1px solid var(--line);}
.comments-title{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem;}
.comment-form{display:flex;flex-direction:column;gap:.55rem;margin-bottom:2rem;}
.comment-input{background:none;border:1px solid var(--line);color:var(--text);font-size:.875rem;padding:.5rem .75rem;font-family:inherit;outline:none;transition:border-color .2s;width:100%;box-sizing:border-box;}
.comment-input:focus{border-color:var(--muted);}
.comment-textarea{resize:vertical;min-height:70px;}
.comment-submit{align-self:flex-start;background:none;border:1px solid var(--line);color:var(--muted);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;padding:.42rem 1rem;cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s;}
.comment-submit:hover{color:var(--text);border-color:var(--muted);}
.comments-list{display:flex;flex-direction:column;gap:.9rem;}
.comment-item{padding-bottom:.9rem;border-bottom:1px solid var(--line);}
.comment-meta{display:flex;gap:.65rem;align-items:baseline;margin-bottom:.35rem;}
.comment-author{font-size:.76rem;font-weight:600;color:var(--text);}
.comment-time{font-size:.65rem;color:var(--muted);}
.comment-text{font-size:.88rem;line-height:1.72;color:var(--text);}
.comments-empty{font-size:.8rem;color:var(--muted);font-style:italic;}
.comments-note{font-size:.68rem;color:var(--muted);font-style:italic;margin-top:1.25rem;line-height:1.6;}

/* ── DMS NOTIFICATIONS ──────────────────────────────────────── */
#dms-notifs{position:fixed;top:5rem;right:1.5rem;z-index:500;display:flex;flex-direction:column;gap:.4rem;pointer-events:none;}
.dms-notif{background:var(--surface2);border:1px solid var(--line);border-left:2px solid var(--brass);padding:.55rem .85rem;font-family:var(--ff-ui);font-size:.68rem;color:var(--text);display:flex;align-items:center;gap:.6rem;opacity:0;transform:translateX(10px);transition:opacity .4s,transform .4s;max-width:240px;}
.dms-notif.vis{opacity:1;transform:none;}
.notif-tag{color:var(--brass);font-size:.58rem;letter-spacing:.13em;white-space:nowrap;}

/* ── OVERLAY "1 NOVA MENSAGEM" ──────────────────────────────── */
#cliff-overlay{position:fixed;inset:0;background:rgba(4,3,7,.97);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity .4s;}
#cliff-overlay.active{opacity:1;pointer-events:all;}
.cliff-box{max-width:320px;width:100%;border:1px solid rgba(154,117,53,.25);background:#050505;padding:2rem 1.75rem;}
.cliff-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.75rem;}
.cliff-from{font-family:system-ui,-apple-system,sans-serif;font-size:.56rem;letter-spacing:.24em;color:rgba(154,117,53,.65);}
.cliff-x{background:none;border:none;color:rgba(232,227,216,.2);font-size:1rem;cursor:pointer;padding:0;line-height:1;transition:color .2s;}
.cliff-x:hover{color:rgba(232,227,216,.55);}
.cliff-subject{font-family:system-ui,-apple-system,sans-serif;font-size:.75rem;letter-spacing:.06em;color:rgba(232,227,216,.9);min-height:1.2em;margin-bottom:1.25rem;}
.cliff-body{font-family:Georgia,serif;font-size:.82rem;line-height:1.9;color:rgba(232,227,216,.45);min-height:3.5em;margin-bottom:1.75rem;white-space:pre-line;}
.cliff-cta{background:none;border:1px solid rgba(154,117,53,.35);color:rgba(154,117,53,.85);font-family:system-ui,-apple-system,sans-serif;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;padding:.55rem 1.25rem;cursor:pointer;display:none;transition:background .2s,border-color .2s;}
.cliff-cta:hover{background:rgba(154,117,53,.08);border-color:rgba(154,117,53,.65);}
.cliff-cta.vis{display:inline-block;}

/* ── BARRA DE PROGRESSO ─────────────────────────────────────── */
.chapter-bar{border-top:1px solid var(--line);padding:1.5rem 0;margin-bottom:3.5rem;display:flex;align-items:center;justify-content:space-between;font-family:var(--ff-ui);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.chapter-bar a{color:var(--muted);text-decoration:none;transition:color .2s;}
.chapter-bar a:hover{color:var(--brass);}
.chapter-bar span{color:var(--brass);}

/* ===== Site V2: leitura, acessibilidade e mobile ===== */
:root{--reader-font:1.0625rem;--reader-max:65ch;}
.reader-inner{max-width:var(--reader-max);transition:max-width .2s ease;}
.reader-body p{font-size:var(--reader-font);}
.reader-title{line-height:1.2;text-wrap:balance;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--brass-hi);outline-offset:3px;}
.reader-controls{display:flex;align-items:center;justify-content:space-between;gap:.65rem;flex-wrap:wrap;margin:-.6rem 0 2rem;padding:.75rem 0;border-bottom:1px solid var(--line);font-family:var(--ff-ui);}
.reader-controls-group{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;}
.reader-control{background:var(--surface2);border:1px solid var(--line);color:var(--muted);padding:.42rem .68rem;font-family:var(--ff-ui);font-size:.62rem;letter-spacing:.08em;cursor:pointer;min-height:34px;}
.reader-control:hover{color:var(--text);border-color:var(--muted);}
.reader-progress-label{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.reading-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:10000;background:transparent;pointer-events:none;}
.reading-progress>i{display:block;width:0;height:100%;background:var(--brass);transition:width .08s linear;}
.reader-share{margin-top:1.5rem;display:flex;justify-content:flex-end;}
.reader-share .reader-control{background:transparent;}
.book-end-card{margin:3rem 0 1rem;padding:2rem;border:1px solid var(--line);background:var(--surface2);text-align:center;}
.book-end-card .end-eyebrow{font-family:var(--ff-ui);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin-bottom:.7rem;}
.book-end-card h2{font-family:var(--ff-disp);font-weight:400;font-size:1.5rem;margin-bottom:.8rem;}
.book-end-card p{color:var(--muted);font-size:.9rem;line-height:1.7;max-width:46ch;margin:.5rem auto 1.3rem;}
.book-end-actions{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;}
.nav-menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--text);padding:.45rem .6rem;font-family:var(--ff-ui);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;}
@media(max-width:640px){
  nav{gap:.75rem;}
  .nav-menu-toggle{display:block;margin-left:auto;}
  .nav-links{display:none!important;position:absolute;top:100%;left:0;right:0;background:rgba(4,3,7,.98);border-bottom:1px solid var(--line);padding:.8rem 1.25rem 1rem;flex-direction:column;align-items:stretch;gap:0!important;}
  :root[data-theme="light"] .nav-links{background:rgba(237,235,228,.98);}
  .nav-links.open{display:flex!important;}
  .nav-links li{display:block!important;}
  .nav-links a,.sum-trigger{display:block;width:100%;padding:.7rem 0;text-align:left;}
  .reader-section{padding-inline:1.15rem;}
  .reader-controls{align-items:flex-start;}
  .reader-progress-label{width:100%;}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important;}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
}
