.novera-story{--nv-accent:#2878ff;--nv-accent-soft:rgba(40,120,255,.11);--nv-line:rgba(111,135,165,.24);--nv-panel:rgba(255,255,255,.92);--nv-panel-2:#f6f9fd;--nv-text:#101828;--nv-muted:#667085;--nv-shadow:0 18px 48px rgba(20,37,63,.08)}
.dark-mode .novera-story,.is-dark-mode .novera-story,html[data-theme="dark"] .novera-story,body[data-mode="dark"] .novera-story{--nv-panel:#101c28;--nv-panel-2:#152332;--nv-text:#f3f6fb;--nv-muted:#9fb0c3;--nv-line:rgba(139,166,196,.22);--nv-shadow:0 18px 48px rgba(0,0,0,.22)}
.novera-story__wrapper{max-width:1180px!important;padding-top:36px!important;padding-bottom:64px!important}
.novera-story__article{color:var(--nv-text)}
.nv-story-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:245px minmax(0,1fr);gap:38px;min-height:390px;padding:38px;border:1px solid var(--nv-line);border-radius:22px;background:linear-gradient(115deg,var(--nv-panel) 0%,var(--nv-panel) 60%,var(--nv-panel-2) 100%);box-shadow:var(--nv-shadow);overflow:hidden}
.nv-story-hero:before{content:"";position:absolute;z-index:-2;inset:-70px -100px -70px 45%;background-image:var(--nv-story-cover);background-size:cover;background-position:center;filter:blur(55px) saturate(1.15);opacity:.13;transform:scale(1.15)}
.nv-story-hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,var(--nv-panel) 0%,color-mix(in srgb,var(--nv-panel) 94%,transparent) 53%,color-mix(in srgb,var(--nv-panel) 72%,transparent) 100%)}
.nv-story-hero._no-atmosphere:before{display:none}
.nv-story-hero__cover{align-self:start;width:100%;aspect-ratio:2/3;border-radius:12px;overflow:hidden;background:var(--nv-panel-2);box-shadow:0 14px 34px rgba(0,0,0,.2)}
.nv-story-cover-img{display:block;width:100%;height:100%;object-fit:cover}
.nv-story-cover-placeholder{height:100%;display:grid;place-items:center;font-weight:800;color:var(--nv-muted)}
.nv-story-hero__body{align-self:center;min-width:0}
.nv-story-taxonomies{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.nv-story-pill{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border:1px solid var(--nv-line);border-radius:999px;color:var(--nv-text)!important;font-size:10px;font-weight:800;letter-spacing:.045em;text-transform:uppercase;text-decoration:none!important;background:color-mix(in srgb,var(--nv-panel) 82%,transparent)}
.nv-story-pill._status{color:var(--nv-accent)!important;border-color:color-mix(in srgb,var(--nv-accent) 38%,var(--nv-line));background:var(--nv-accent-soft)}
.nv-story-title{margin:0!important;max-width:760px;font-size:clamp(35px,4vw,58px)!important;line-height:1.02!important;letter-spacing:-.045em;color:var(--nv-text)!important}
.nv-story-author{margin-top:9px;color:var(--nv-muted);font-size:13px}.nv-story-author a{color:var(--nv-accent)!important}
.nv-story-excerpt{max-width:790px;margin:22px 0 0;color:var(--nv-muted);font-size:15px;line-height:1.7}
.nv-story-primary-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.nv-story-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid var(--nv-line);border-radius:9px;color:var(--nv-text)!important;background:var(--nv-panel);font-size:13px;font-weight:800;text-decoration:none!important;transition:.18s ease}
.nv-story-btn:hover{transform:translateY(-1px);border-color:var(--nv-accent)}.nv-story-btn._primary{border-color:var(--nv-accent);background:var(--nv-accent);color:#fff!important}
.nv-story-native-actions{display:flex!important;flex-wrap:wrap;gap:8px;margin-top:14px}.nv-story-native-actions>*{margin:0!important}
.nv-story-stats{display:grid;grid-template-columns:repeat(5,1fr);margin:20px 0 0;border:1px solid var(--nv-line);border-radius:14px;background:var(--nv-panel);overflow:hidden}
.nv-story-stat{padding:18px 16px;text-align:center;border-right:1px solid var(--nv-line)}.nv-story-stat:last-child{border-right:0}.nv-story-stat strong{display:block;color:var(--nv-text);font-size:19px}.nv-story-stat span{display:block;margin-top:4px;color:var(--nv-muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.nv-story-summary-section,.nv-story-chapter-shell,.nv-story-rating,.nv-story-comments-wrap{margin-top:28px;border:1px solid var(--nv-line);border-radius:16px;background:var(--nv-panel);box-shadow:0 8px 25px rgba(20,37,63,.035)}
.nv-story-summary-section{padding:30px 34px}.nv-story-section-head span,.nv-story-chapter-heading>div>span{color:var(--nv-accent);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.16em}.nv-story-section-head h2,.nv-story-chapter-heading h2{margin:4px 0 0!important;color:var(--nv-text)!important;font-size:27px!important;line-height:1.15}
.nv-story-summary{margin-top:20px!important;padding:0!important;background:none!important;color:var(--nv-text)}.nv-story-summary p{line-height:1.78;color:var(--nv-text)}
.nv-story-tags{display:flex;gap:14px;align-items:flex-start;margin-top:18px;padding:18px 22px;border:1px solid var(--nv-line);border-radius:13px;background:var(--nv-panel)}.nv-story-tags__label{padding-top:5px;color:var(--nv-muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.nv-story-tags>div{display:flex;gap:7px;flex-wrap:wrap}.nv-story-tags a{padding:5px 9px;border-radius:999px;background:var(--nv-panel-2);color:var(--nv-muted)!important;font-size:11px;text-decoration:none!important}
.nv-story-chapter-shell{padding:28px 30px}.nv-story-chapter-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.nv-story-chapter-search{display:flex;align-items:center;gap:10px;width:min(430px,50%);padding:0 12px;border:1px solid var(--nv-line);border-radius:9px;background:var(--nv-panel-2);color:var(--nv-muted)}.nv-story-chapter-search input{width:100%;height:40px!important;border:0!important;outline:0!important;background:transparent!important;color:var(--nv-text)!important;box-shadow:none!important;font-size:12px}.nv-story-chapter-search span{white-space:nowrap;font-size:10px}
.nv-story-native-chapters .story__tabs{margin:0 0 12px!important;padding:0!important;border:0!important;background:transparent!important}.nv-story-native-chapters .tabs{border:1px solid var(--nv-line);border-radius:9px;background:var(--nv-panel-2);overflow:hidden}.nv-story-native-chapters .tabs__item{min-height:38px!important}.nv-story-native-chapters .tabs__item._current{background:var(--nv-accent)!important;color:#fff!important}
.nv-story-native-chapters .story__chapters{margin:0!important}.nv-story-native-chapters .chapter-group{border:1px solid var(--nv-line);border-radius:10px;overflow:hidden;background:var(--nv-panel)}.nv-story-native-chapters .chapter-group__list-item{min-height:49px;border-bottom:1px solid var(--nv-line)!important;background:transparent!important}.nv-story-native-chapters .chapter-group__list-item:last-child{border-bottom:0!important}.nv-story-native-chapters .chapter-group__list-item:hover{background:var(--nv-accent-soft)!important}.nv-story-native-chapters .chapter-group__list-item-link{color:var(--nv-text)!important;font-weight:650}.nv-story-native-chapters .chapter-group__list-item-meta{color:var(--nv-muted)!important}.nv-story-native-chapters._searching .chapter-group__list-item._foldable{display:flex!important}
.nv-story-rating{display:grid;grid-template-columns:240px 1fr;gap:28px;padding:26px 30px}.nv-story-rating__main{padding-right:28px;border-right:1px solid var(--nv-line)}.nv-story-rating__eyebrow{color:var(--nv-accent);font-size:9px;font-weight:900;letter-spacing:.14em}.nv-story-rating__score{display:flex;align-items:baseline;gap:5px;margin-top:8px}.nv-story-rating__score strong{font-size:42px;line-height:1;color:var(--nv-text)}.nv-story-rating__score span,.nv-story-rating small{color:var(--nv-muted)}.nv-story-rating__stars{display:flex;gap:2px;margin:8px 0 3px}.nv-story-rating__stars button{appearance:none;border:0!important;background:transparent!important;padding:0 2px!important;color:#c8d0da!important;font-size:22px;cursor:pointer;box-shadow:none!important}.nv-story-rating__stars button._active{color:#ffb624!important}.nv-story-rating__note{align-self:center;color:var(--nv-muted)}.nv-story-rating__note strong{color:var(--nv-text);font-size:16px}.nv-story-rating__note p{margin:5px 0 0}.nv-story-rating__note span{display:block;margin-top:7px;color:var(--nv-accent);font-size:11px;font-weight:700}
.nv-story-footer{margin-top:18px!important;padding:14px 0!important;border-top:1px solid var(--nv-line)!important;color:var(--nv-muted)}
.nv-story-comments-wrap{padding:28px 30px}.nv-story-comments-wrap .fictioneer-comments{margin-top:20px}.nv-story-comments-wrap .load-more-comments-button{border:1px solid var(--nv-line)!important;border-radius:9px!important;background:var(--nv-panel-2)!important;color:var(--nv-text)!important}
@media(max-width:850px){.nv-story-hero{grid-template-columns:180px 1fr;padding:26px;gap:25px}.nv-story-stats{grid-template-columns:repeat(3,1fr)}.nv-story-stat:nth-child(3){border-right:0}.nv-story-stat:nth-child(-n+3){border-bottom:1px solid var(--nv-line)}.nv-story-chapter-heading{align-items:stretch;flex-direction:column}.nv-story-chapter-search{width:100%}}
@media(max-width:620px){.novera-story__wrapper{padding-top:16px!important}.nv-story-hero{grid-template-columns:1fr;padding:18px;border-radius:15px}.nv-story-hero__cover{width:150px;margin:auto}.nv-story-hero__body{text-align:center}.nv-story-taxonomies,.nv-story-primary-actions,.nv-story-native-actions{justify-content:center}.nv-story-excerpt{font-size:13px}.nv-story-title{font-size:34px!important}.nv-story-stats{grid-template-columns:repeat(2,1fr)}.nv-story-stat{border-bottom:1px solid var(--nv-line)}.nv-story-stat:nth-child(odd){border-right:1px solid var(--nv-line)}.nv-story-stat:nth-child(even){border-right:0}.nv-story-stat:last-child{grid-column:1/-1;border-bottom:0}.nv-story-summary-section,.nv-story-chapter-shell,.nv-story-comments-wrap{padding:22px 18px}.nv-story-rating{grid-template-columns:1fr;padding:22px 18px}.nv-story-rating__main{padding:0 0 20px;border-right:0;border-bottom:1px solid var(--nv-line);text-align:center}.nv-story-rating__stars{justify-content:center}}

/* v0.1.1 — refinamento editorial */
.novera-story__wrapper{max-width:1280px!important}
.nv-story-hero{grid-template-columns:280px minmax(0,1fr);gap:52px;min-height:455px;padding:46px 52px;border-radius:24px}
.nv-story-hero:before{inset:-90px -130px -90px 40%;filter:blur(62px) saturate(1.2);opacity:.18}
.nv-story-hero:after{background:linear-gradient(90deg,var(--nv-panel) 0%,color-mix(in srgb,var(--nv-panel) 94%,transparent) 52%,color-mix(in srgb,var(--nv-panel) 68%,transparent) 100%)}
.nv-story-hero__cover{border-radius:14px;box-shadow:0 22px 52px rgba(0,0,0,.24);transform:rotate(-.35deg)}
.nv-story-title{font-size:clamp(40px,4.4vw,64px)!important;max-width:820px}
.nv-story-excerpt{font-size:15px;line-height:1.8;max-width:830px}
.nv-story-stats{position:relative;margin-top:24px;border-radius:16px;box-shadow:0 10px 28px rgba(20,37,63,.035);overflow:visible;padding-top:15px}
.nv-story-stats__label{position:absolute;left:18px;top:-9px;padding:0 8px;background:var(--nv-panel);color:var(--nv-accent);font-size:8px;font-weight:900;letter-spacing:.16em}
.nv-story-summary-section{padding:34px 42px;border-left:3px solid color-mix(in srgb,var(--nv-accent) 72%,transparent);box-shadow:none}
.nv-story-summary{max-width:1020px}
.nv-story-tags{border:0;border-bottom:1px solid var(--nv-line);border-radius:0;padding:14px 4px 20px;background:transparent}
.nv-story-chapter-shell{padding:32px 36px;box-shadow:0 12px 34px rgba(20,37,63,.04)}
.nv-story-chapter-heading{padding-bottom:18px;border-bottom:1px solid var(--nv-line)}
.nv-story-native-chapters .chapter-group{border-radius:12px}
.nv-story-native-chapters .chapter-group__list-item{min-height:54px}
.nv-story-rating{grid-template-columns:210px minmax(280px,1fr) minmax(260px,.8fr);gap:30px;padding:30px 34px}
.nv-story-rating__distribution{align-self:center;padding-right:30px;border-right:1px solid var(--nv-line)}
.nv-story-rating__distribution>strong{display:block;margin-bottom:13px;color:var(--nv-text);font-size:13px}
.nv-rating-row{display:grid;grid-template-columns:26px 1fr 28px;gap:9px;align-items:center;margin:7px 0;color:var(--nv-muted);font-size:10px}
.nv-rating-row>div{height:6px;border-radius:999px;background:var(--nv-panel-2);overflow:hidden}
.nv-rating-row i{display:block;height:100%;border-radius:inherit;background:var(--nv-accent)}
.nv-rating-row em{font-style:normal;text-align:right}
.nv-story-comments-wrap{padding:34px 38px;box-shadow:none}
.nv-story-comments-wrap .nv-story-section-head{padding-bottom:18px;border-bottom:1px solid var(--nv-line)}
@media(min-width:1050px){.nv-story-summary-section,.nv-story-chapter-shell,.nv-story-rating,.nv-story-comments-wrap{border-radius:18px}}
@media(max-width:1000px){.nv-story-hero{grid-template-columns:220px 1fr;gap:32px;padding:34px}.nv-story-rating{grid-template-columns:200px 1fr}.nv-story-rating__distribution{border-right:0;padding-right:0}.nv-story-rating__note{grid-column:1/-1;padding-top:20px;border-top:1px solid var(--nv-line)}}
@media(max-width:620px){.nv-story-hero{grid-template-columns:1fr;padding:20px}.nv-story-rating{grid-template-columns:1fr}.nv-story-rating__distribution{padding:18px 0;border-top:1px solid var(--nv-line);border-bottom:1px solid var(--nv-line)}.nv-story-rating__note{grid-column:auto;border-top:0;padding-top:0}.nv-story-summary-section{padding:24px 20px}.nv-story-chapter-shell{padding:24px 18px}}


/* v0.1.2 — dark mode alinhado ao Fictioneer 5 */
:root[data-mode="dark"] .novera-story,
:root:not([data-mode="light"]) .novera-story {
  --nv-panel:#101a24;
  --nv-panel-2:#152230;
  --nv-panel-3:#1a2938;
  --nv-text:#f3f7fb;
  --nv-muted:#9fb0c3;
  --nv-line:#2a3a4b;
  --nv-accent-soft:rgba(40,120,255,.14);
  --nv-shadow:0 18px 48px rgba(0,0,0,.28);
  color:var(--nv-text);
}
:root[data-mode="light"] .novera-story {
  --nv-panel:rgba(255,255,255,.92);
  --nv-panel-2:#f6f9fd;
  --nv-panel-3:#eef4fb;
  --nv-text:#101828;
  --nv-muted:#667085;
  --nv-line:rgba(111,135,165,.24);
  --nv-shadow:0 18px 48px rgba(20,37,63,.08);
}

:root[data-mode="dark"] .novera-story .nv-story-hero,
:root[data-mode="dark"] .novera-story .nv-story-stats,
:root[data-mode="dark"] .novera-story .nv-story-summary-section,
:root[data-mode="dark"] .novera-story .nv-story-chapter-shell,
:root[data-mode="dark"] .novera-story .nv-story-rating,
:root[data-mode="dark"] .novera-story .nv-story-comments-wrap,
:root[data-mode="dark"] .novera-story .nv-story-tags,
:root:not([data-mode="light"]) .novera-story .nv-story-hero,
:root:not([data-mode="light"]) .novera-story .nv-story-stats,
:root:not([data-mode="light"]) .novera-story .nv-story-summary-section,
:root:not([data-mode="light"]) .novera-story .nv-story-chapter-shell,
:root:not([data-mode="light"]) .novera-story .nv-story-rating,
:root:not([data-mode="light"]) .novera-story .nv-story-comments-wrap,
:root:not([data-mode="light"]) .novera-story .nv-story-tags {
  background:var(--nv-panel)!important;
  border-color:var(--nv-line)!important;
  color:var(--nv-text)!important;
}

:root[data-mode="dark"] .novera-story .nv-story-hero:after,
:root:not([data-mode="light"]) .novera-story .nv-story-hero:after {
  background:linear-gradient(90deg,#101a24 0%,rgba(16,26,36,.96) 52%,rgba(16,26,36,.74) 100%)!important;
}
:root[data-mode="dark"] .novera-story .nv-story-hero:before,
:root:not([data-mode="light"]) .novera-story .nv-story-hero:before {opacity:.24;filter:blur(64px) saturate(1.1) brightness(.72)}

:root[data-mode="dark"] .novera-story :is(h1,h2,h3,h4,strong,.nv-story-title,.nv-story-summary,.nv-story-summary p),
:root:not([data-mode="light"]) .novera-story :is(h1,h2,h3,h4,strong,.nv-story-title,.nv-story-summary,.nv-story-summary p){color:var(--nv-text)!important}
:root[data-mode="dark"] .novera-story :is(.nv-story-author,.nv-story-excerpt,.nv-story-stat span,.nv-story-rating small,.nv-story-rating__note,.nv-story-rating__score span,.nv-story-tags__label),
:root:not([data-mode="light"]) .novera-story :is(.nv-story-author,.nv-story-excerpt,.nv-story-stat span,.nv-story-rating small,.nv-story-rating__note,.nv-story-rating__score span,.nv-story-tags__label){color:var(--nv-muted)!important}

:root[data-mode="dark"] .novera-story .nv-story-pill,
:root:not([data-mode="light"]) .novera-story .nv-story-pill{background:rgba(21,34,48,.78)!important;border-color:var(--nv-line)!important;color:#dbe7f4!important}
:root[data-mode="dark"] .novera-story .nv-story-btn,
:root:not([data-mode="light"]) .novera-story .nv-story-btn{background:var(--nv-panel-2)!important;border-color:var(--nv-line)!important;color:var(--nv-text)!important}
:root[data-mode="dark"] .novera-story .nv-story-btn._primary,
:root:not([data-mode="light"]) .novera-story .nv-story-btn._primary{background:var(--nv-accent)!important;border-color:var(--nv-accent)!important;color:#fff!important}

:root[data-mode="dark"] .novera-story .nv-story-stat,
:root:not([data-mode="light"]) .novera-story .nv-story-stat{background:transparent!important;border-color:var(--nv-line)!important}
:root[data-mode="dark"] .novera-story .nv-story-stats__label,
:root:not([data-mode="light"]) .novera-story .nv-story-stats__label{background:var(--nv-panel)!important}

:root[data-mode="dark"] .novera-story .nv-story-chapter-search,
:root[data-mode="dark"] .novera-story .nv-story-native-chapters .tabs,
:root[data-mode="dark"] .novera-story .nv-story-native-chapters .chapter-group,
:root:not([data-mode="light"]) .novera-story .nv-story-chapter-search,
:root:not([data-mode="light"]) .novera-story .nv-story-native-chapters .tabs,
:root:not([data-mode="light"]) .novera-story .nv-story-native-chapters .chapter-group{
  background:var(--nv-panel-2)!important;
  border-color:var(--nv-line)!important;
}
:root[data-mode="dark"] .novera-story .nv-story-chapter-search input,
:root:not([data-mode="light"]) .novera-story .nv-story-chapter-search input{color:var(--nv-text)!important}
:root[data-mode="dark"] .novera-story .nv-story-chapter-search input::placeholder,
:root:not([data-mode="light"]) .novera-story .nv-story-chapter-search input::placeholder{color:#7f93a9!important}

:root[data-mode="dark"] .novera-story .nv-story-native-chapters .chapter-group__list-item,
:root:not([data-mode="light"]) .novera-story .nv-story-native-chapters .chapter-group__list-item{
  background:var(--nv-panel-2)!important;
  border-color:var(--nv-line)!important;
}
:root[data-mode="dark"] .novera-story .nv-story-native-chapters .chapter-group__list-item:nth-child(even),
:root:not([data-mode="light"]) .novera-story .nv-story-native-chapters .chapter-group__list-item:nth-child(even){background:#13202c!important}
:root[data-mode="dark"] .novera-story .nv-story-native-chapters .chapter-group__list-item:hover,
:root:not([data-mode="light"]) .novera-story .nv-story-native-chapters .chapter-group__list-item:hover{background:#182b3d!important}
:root[data-mode="dark"] .novera-story .nv-story-native-chapters .chapter-group__list-item-link,
:root:not([data-mode="light"]) .novera-story .nv-story-native-chapters .chapter-group__list-item-link{color:#edf4fb!important}
:root[data-mode="dark"] .novera-story .nv-story-native-chapters .chapter-group__list-item-meta,
:root:not([data-mode="light"]) .novera-story .nv-story-native-chapters .chapter-group__list-item-meta{color:#8ea1b5!important}

:root[data-mode="dark"] .novera-story .nv-story-tags a,
:root:not([data-mode="light"]) .novera-story .nv-story-tags a{background:var(--nv-panel-2)!important;color:#bdcddd!important}

:root[data-mode="dark"] .novera-story .nv-rating-row>div,
:root:not([data-mode="light"]) .novera-story .nv-rating-row>div{background:#223344!important}

/* Comentários nativos do Fictioneer dentro do Novera Story */
:root[data-mode="dark"] .novera-story .fictioneer-comments,
:root[data-mode="dark"] .novera-story .comments-area,
:root[data-mode="dark"] .novera-story .comment,
:root[data-mode="dark"] .novera-story .comment-body,
:root[data-mode="dark"] .novera-story .comment-form,
:root[data-mode="dark"] .novera-story .comment-respond,
:root:not([data-mode="light"]) .novera-story .fictioneer-comments,
:root:not([data-mode="light"]) .novera-story .comments-area,
:root:not([data-mode="light"]) .novera-story .comment,
:root:not([data-mode="light"]) .novera-story .comment-body,
:root:not([data-mode="light"]) .novera-story .comment-form,
:root:not([data-mode="light"]) .novera-story .comment-respond{background:transparent!important;color:var(--nv-text)!important;border-color:var(--nv-line)!important}
:root[data-mode="dark"] .novera-story :is(textarea,input[type="text"],input[type="email"],input[type="url"],select),
:root:not([data-mode="light"]) .novera-story :is(textarea,input[type="text"],input[type="email"],input[type="url"],select){background:var(--nv-panel-2)!important;border-color:var(--nv-line)!important;color:var(--nv-text)!important}
:root[data-mode="dark"] .novera-story .load-more-comments-button,
:root:not([data-mode="light"]) .novera-story .load-more-comments-button{background:var(--nv-panel-2)!important;border-color:var(--nv-line)!important;color:var(--nv-text)!important}

/* Compatibilidade extra com classes alternativas de dark mode */
.dark-mode .novera-story,.is-dark-mode .novera-story,html[data-theme="dark"] .novera-story,body[data-mode="dark"] .novera-story{
  --nv-panel:#101a24;--nv-panel-2:#152230;--nv-panel-3:#1a2938;--nv-text:#f3f7fb;--nv-muted:#9fb0c3;--nv-line:#2a3a4b;--nv-accent-soft:rgba(40,120,255,.14);--nv-shadow:0 18px 48px rgba(0,0,0,.28)
}


/* v0.1.3 — integração Novera Profile: missões/conquistas da obra */
.novera-story .novera-story-achievements{
  margin:22px 0;
  padding:26px 28px;
  border:1px solid var(--nv-line);
  border-left:3px solid var(--nv-accent);
  border-radius:16px;
  background:var(--nv-panel);
  color:var(--nv-text);
  box-shadow:var(--nv-shadow);
}
.novera-story .novera-story-achievements__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding-bottom:16px;
  margin-bottom:16px;
  border-bottom:1px solid var(--nv-line);
}
.novera-story .novera-story-achievements__head>div>span{
  display:block;
  margin-bottom:5px;
  color:var(--nv-accent);
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.novera-story .novera-story-achievements__head h2{
  margin:0;
  color:var(--nv-text)!important;
  font-size:24px;
  line-height:1.15;
}
.novera-story .novera-story-achievements__head>strong{
  color:var(--nv-muted)!important;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.novera-story .novera-story-achievements__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.novera-story .novera-story-achievement{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:15px;
  border:1px solid var(--nv-line);
  border-radius:12px;
  background:var(--nv-panel-2);
}
.novera-story .novera-story-achievement.is-unlocked{
  border-color:rgba(40,120,255,.38);
  background:var(--nv-accent-soft);
}
.novera-story .novera-story-achievement__icon{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:12px;
  background:var(--nv-panel-3);
  font-size:21px;
}
.novera-story .novera-story-achievement__title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.novera-story .novera-story-achievement__title strong{
  color:var(--nv-text)!important;
  font-size:14px;
  line-height:1.3;
}
.novera-story .novera-story-achievement__title em{
  color:var(--nv-accent);
  font-size:9px;
  font-style:normal;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.novera-story .novera-story-achievement__body>small{
  display:block;
  margin-top:4px;
  color:var(--nv-muted)!important;
  font-size:11px;
  line-height:1.45;
}
.novera-story .novera-story-achievement__requirement{
  display:block;
  margin-top:8px;
  color:var(--nv-accent);
  font-size:11px;
  font-weight:700;
}
.novera-story .novera-story-achievement.is-secret:not(.is-unlocked) .novera-story-achievement__icon{
  filter:saturate(.35);
}
@media(max-width:760px){
  .novera-story .novera-story-achievements{padding:22px 18px}
  .novera-story .novera-story-achievements__grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .novera-story .novera-story-achievements__head{align-items:flex-start;flex-direction:column;gap:5px}
  .novera-story .novera-story-achievement{grid-template-columns:40px minmax(0,1fr);padding:13px}
  .novera-story .novera-story-achievement__icon{width:40px;height:40px;font-size:18px}
  .novera-story .novera-story-achievement__title{flex-direction:column;gap:3px}
}


/* ==========================================================
   v0.1.4 — integração Novera Analytics
   ========================================================== */
.nv-story-stats--analytics{
  grid-template-columns:repeat(7,minmax(0,1fr));
}
.nv-story-stat--analytics strong{
  color:var(--nv-accent);
}
@media(max-width:1000px){
  .nv-story-stats--analytics{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .nv-story-stats--analytics .nv-story-stat{
    border-right:1px solid var(--nv-line)!important;
    border-bottom:1px solid var(--nv-line)!important;
  }
  .nv-story-stats--analytics .nv-story-stat:nth-child(4n+1){
    border-right:0!important;
  }
  .nv-story-stats--analytics .nv-story-stat:last-child{
    grid-column:1/-1;
    border-right:0!important;
    border-bottom:0!important;
  }
}
@media(max-width:620px){
  .nv-story-stats--analytics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .nv-story-stats--analytics .nv-story-stat{
    border-right:1px solid var(--nv-line)!important;
    border-bottom:1px solid var(--nv-line)!important;
  }
  .nv-story-stats--analytics .nv-story-stat:nth-child(2n+1){
    border-right:0!important;
  }
  .nv-story-stats--analytics .nv-story-stat:last-child{
    grid-column:1/-1;
    border-right:0!important;
    border-bottom:0!important;
  }
}


/* ==========================================================
   v0.1.5 — grade dinâmica conforme Analytics
   ========================================================== */
.nv-story-stats--analytics{
  grid-template-columns:repeat(var(--nv-story-stat-count,5),minmax(0,1fr))!important;
}
@media(max-width:1000px){
  .nv-story-stats--analytics{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}
@media(max-width:620px){
  .nv-story-stats--analytics{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* ==========================================================
   v0.1.6 — estado visual do Follow
   ========================================================== */
.nv-story-native-actions .button-follow-story.nv-is-following,
.nv-story-native-actions .button-follow-story._followed{
  border-color:color-mix(in srgb,var(--nv-accent) 48%,var(--nv-line))!important;
  background:color-mix(in srgb,var(--nv-accent) 10%,var(--nv-surface))!important;
}
.nv-story-native-actions .button-follow-story.nv-is-following .span-follow,
.nv-story-native-actions .button-follow-story._followed .span-follow{
  font-weight:800;
}


/* ==========================================================
   v0.1.7 — texto Seguir / Seguindo visível no mobile
   O Fictioneer aplica "hide-below-400" ao span do Follow.
   No Novera Story mantemos o rótulo sempre visível.
   ========================================================== */
.novera-story .nv-story-native-actions .button-follow-story .span-follow,
.novera-story .nv-story-native-actions .button-follow-story .span-follow.hide-below-400{
  display:inline!important;
  visibility:visible!important;
  opacity:1!important;
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  overflow:visible!important;
  clip:auto!important;
  clip-path:none!important;
  position:static!important;
  color:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
  margin-left:.35em!important;
}

@media(max-width:400px){
  .novera-story .nv-story-native-actions .button-follow-story{
    width:auto!important;
    min-width:96px!important;
    justify-content:center!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
}


/* ==========================================================
   v0.1.8 — contraste do estado "Seguindo"
   O Fictioneer altera cores do botão quando _followed entra,
   e o rótulo podia ficar com contraste insuficiente/invisível.
   ========================================================== */

.novera-story .nv-story-native-actions .button-follow-story{
  color:var(--nv-text)!important;
}

.novera-story .nv-story-native-actions .button-follow-story .span-follow{
  color:inherit!important;
  opacity:1!important;
}

.novera-story .nv-story-native-actions .button-follow-story._followed,
.novera-story .nv-story-native-actions .button-follow-story.nv-is-following{
  background:color-mix(in srgb,var(--nv-accent) 14%,var(--nv-surface))!important;
  border-color:color-mix(in srgb,var(--nv-accent) 55%,var(--nv-line))!important;
  color:var(--nv-text)!important;
}

.novera-story .nv-story-native-actions .button-follow-story._followed .span-follow,
.novera-story .nv-story-native-actions .button-follow-story.nv-is-following .span-follow{
  display:inline!important;
  visibility:visible!important;
  opacity:1!important;
  color:var(--nv-text)!important;
  -webkit-text-fill-color:var(--nv-text)!important;
  font-weight:800!important;
}

/* Garante contraste também em temas escuros do Fictioneer */
[data-theme="dark"] .novera-story .nv-story-native-actions .button-follow-story._followed,
[data-theme="dark"] .novera-story .nv-story-native-actions .button-follow-story.nv-is-following,
.dark-mode .novera-story .nv-story-native-actions .button-follow-story._followed,
.dark-mode .novera-story .nv-story-native-actions .button-follow-story.nv-is-following,
body._dark .novera-story .nv-story-native-actions .button-follow-story._followed,
body._dark .novera-story .nv-story-native-actions .button-follow-story.nv-is-following{
  color:#f7f9fc!important;
}

[data-theme="dark"] .novera-story .nv-story-native-actions .button-follow-story._followed .span-follow,
[data-theme="dark"] .novera-story .nv-story-native-actions .button-follow-story.nv-is-following .span-follow,
.dark-mode .novera-story .nv-story-native-actions .button-follow-story._followed .span-follow,
.dark-mode .novera-story .nv-story-native-actions .button-follow-story.nv-is-following .span-follow,
body._dark .novera-story .nv-story-native-actions .button-follow-story._followed .span-follow,
body._dark .novera-story .nv-story-native-actions .button-follow-story.nv-is-following .span-follow{
  color:#f7f9fc!important;
  -webkit-text-fill-color:#f7f9fc!important;
}


/* ==========================================================
   v0.1.9.1 — POLIMENTO SEGURO DA LISTA DE CAPÍTULOS
   Base: v0.1.8 estável.
   IMPORTANTE: não altera display/grid/flex da estrutura nativa
   do Fictioneer; apenas aparência, espaçamento e hierarquia.
   ========================================================== */

/* Cabeçalho da seção */
.novera-story .nv-story-chapter-heading{
  position:relative;
}
.novera-story .nv-story-chapter-heading::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:54px;
  height:2px;
  border-radius:999px;
  background:var(--nv-accent);
}

/* Caixa geral preservada, só com acabamento */
.novera-story .nv-story-native-chapters .chapter-group{
  border-color:color-mix(in srgb,var(--nv-accent) 10%,var(--nv-line))!important;
  border-radius:12px!important;
  box-shadow:0 5px 18px rgba(20,37,63,.025)!important;
}

/* Cada capítulo continua usando a estrutura original do Fictioneer */
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle){
  position:relative!important;
  min-height:58px!important;
  padding-left:48px!important;
  transition:
    background-color .16s ease,
    border-color .16s ease,
    box-shadow .16s ease!important;
}

/* Ícone de livro discreto */
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle)::before{
  content:"\f02d";
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:25px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--nv-accent) 24%,var(--nv-line));
  border-radius:6px;
  background:color-mix(in srgb,var(--nv-accent) 6%,var(--nv-panel));
  color:var(--nv-accent);
  font-family:"Font Awesome 6 Free","Font Awesome 5 Free",FontAwesome,sans-serif;
  font-size:10px;
  font-weight:900;
  pointer-events:none;
}

/* Hierarquia do título e dados */
.novera-story .nv-story-native-chapters .chapter-group__list-item-link{
  color:var(--nv-text)!important;
  font-weight:720!important;
  line-height:1.35!important;
  text-decoration:none!important;
}
.novera-story .nv-story-native-chapters .chapter-group__list-item-link:hover{
  color:var(--nv-accent)!important;
}
.novera-story .nv-story-native-chapters .chapter-group__list-item-meta{
  color:var(--nv-muted)!important;
  font-size:9px!important;
}

/* Alternância muito sutil para facilitar leitura de listas grandes */
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle):nth-child(even){
  background:color-mix(in srgb,var(--nv-accent) 1.8%,var(--nv-panel))!important;
}
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle):hover{
  background:color-mix(in srgb,var(--nv-accent) 6%,var(--nv-panel))!important;
}

/* Capítulo marcado como lido */
.novera-story .nv-story-native-chapters .chapter-group__list-item._checked:not(._folding-toggle)::before,
.novera-story .nv-story-native-chapters .chapter-group__list-item[data-read="true"]:not(._folding-toggle)::before{
  content:"\f00c";
  background:var(--nv-accent);
  border-color:var(--nv-accent);
  color:#fff;
}

/* Busca refinada sem mudar funcionamento */
.novera-story .nv-story-chapter-search{
  border-radius:10px!important;
  transition:border-color .16s ease,box-shadow .16s ease!important;
}
.novera-story .nv-story-chapter-search:focus-within{
  border-color:color-mix(in srgb,var(--nv-accent) 45%,var(--nv-line))!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--nv-accent) 8%,transparent)!important;
}

/* Dark mode */
:root[data-mode="dark"] .novera-story .nv-story-native-chapters .chapter-group,
:root:not([data-mode="light"]) .novera-story .nv-story-native-chapters .chapter-group{
  border-color:#25384b!important;
  box-shadow:0 5px 18px rgba(0,0,0,.14)!important;
}
:root[data-mode="dark"] .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle)::before,
:root:not([data-mode="light"]) .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle)::before{
  background:#142638!important;
  border-color:#294761!important;
  color:#69a7ff!important;
}

/* Mobile: só reduz proporções, sem alterar a estrutura */
@media(max-width:620px){
  .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle){
    min-height:55px!important;
    padding-left:43px!important;
  }
  .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle)::before{
    left:10px;
    width:23px;
    height:28px;
    font-size:9px;
  }
  .novera-story .nv-story-native-chapters .chapter-group__list-item-link{
    font-size:10px!important;
  }
  .novera-story .nv-story-native-chapters .chapter-group__list-item-meta{
    font-size:7px!important;
  }
}


/* ==========================================================
   v0.2.0 — CAP. N + ABAS CAPÍTULOS / MAIS DO AUTOR
   ========================================================== */

/* Substitui o marcador de livro da v0.1.9.1 por "Cap. N". */
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle){
  padding-left:76px!important;
}
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle)::before{
  content:attr(data-nv-chapter-label)!important;
  left:13px!important;
  width:50px!important;
  height:25px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid color-mix(in srgb,var(--nv-accent) 20%,var(--nv-line))!important;
  border-radius:6px!important;
  background:color-mix(in srgb,var(--nv-accent) 6%,var(--nv-panel))!important;
  color:var(--nv-accent)!important;
  font-family:inherit!important;
  font-size:8px!important;
  font-weight:850!important;
  letter-spacing:.02em!important;
  white-space:nowrap!important;
}

/* Mesmo quando lido, mantém Cap. N em vez de trocar por outro ícone. */
.novera-story .nv-story-native-chapters .chapter-group__list-item._checked:not(._folding-toggle)::before,
.novera-story .nv-story-native-chapters .chapter-group__list-item[data-read="true"]:not(._folding-toggle)::before{
  content:attr(data-nv-chapter-label)!important;
  background:color-mix(in srgb,var(--nv-accent) 10%,var(--nv-panel))!important;
  border-color:color-mix(in srgb,var(--nv-accent) 30%,var(--nv-line))!important;
  color:var(--nv-accent)!important;
}

/* Abas principais */
.novera-story .nv-story-library-tabs{
  display:flex;
  gap:24px;
  margin:-6px 0 24px;
  border-bottom:1px solid var(--nv-line);
}
.novera-story .nv-story-library-tab{
  position:relative;
  appearance:none;
  border:0;
  background:transparent;
  padding:13px 2px 14px;
  color:var(--nv-muted);
  font:inherit;
  font-size:12px;
  font-weight:780;
  cursor:pointer;
}
.novera-story .nv-story-library-tab::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  border-radius:999px;
  background:transparent;
}
.novera-story .nv-story-library-tab.is-active{
  color:var(--nv-text);
}
.novera-story .nv-story-library-tab.is-active::after{
  background:var(--nv-accent);
}
.novera-story .nv-story-library-panel[hidden]{
  display:none!important;
}

/* Mais do autor */
.novera-story .nv-story-author-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.novera-story .nv-story-author-card{
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  gap:14px;
  min-height:108px;
  padding:10px;
  border:1px solid var(--nv-line);
  border-radius:11px;
  background:var(--nv-panel);
  color:var(--nv-text);
  text-decoration:none!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.novera-story .nv-story-author-card:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--nv-accent) 34%,var(--nv-line));
  box-shadow:0 8px 22px rgba(20,37,63,.055);
}
.novera-story .nv-story-author-card__cover{
  width:76px;
  height:104px;
  overflow:hidden;
  border-radius:7px;
  background:var(--nv-panel-2);
}
.novera-story .nv-story-author-card__cover img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.novera-story .nv-story-author-card__placeholder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  color:var(--nv-muted);
}
.novera-story .nv-story-author-card__body{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.novera-story .nv-story-author-card__body strong{
  color:var(--nv-text);
  font-size:13px;
  line-height:1.35;
}
.novera-story .nv-story-author-card__body small{
  margin-top:6px;
  color:var(--nv-muted);
  font-size:9px;
}
.novera-story .nv-story-author-card__body em{
  margin-top:8px;
  padding:3px 7px;
  border-radius:999px;
  background:var(--nv-accent-soft);
  color:var(--nv-accent);
  font-size:8px;
  font-style:normal;
  font-weight:800;
}
.novera-story .nv-story-author-empty{
  min-height:170px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:24px;
  border:1px dashed var(--nv-line);
  border-radius:11px;
  color:var(--nv-muted);
  text-align:center;
}
.novera-story .nv-story-author-empty i{font-size:22px;color:var(--nv-accent)}
.novera-story .nv-story-author-empty strong{color:var(--nv-text);font-size:12px}
.novera-story .nv-story-author-empty span{font-size:10px}

/* Dark */
:root[data-mode="dark"] .novera-story .nv-story-author-card,
:root:not([data-mode="light"]) .novera-story .nv-story-author-card{
  background:#111d28;
  border-color:#25384b;
}
:root[data-mode="dark"] .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle)::before,
:root:not([data-mode="light"]) .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle)::before{
  background:#142638!important;
  border-color:#294761!important;
  color:#69a7ff!important;
}

@media(max-width:700px){
  .novera-story .nv-story-author-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .novera-story .nv-story-library-tabs{
    gap:20px;
    margin-top:-4px;
    margin-bottom:20px;
  }
  .novera-story .nv-story-library-tab{font-size:11px}
  .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle){
    padding-left:68px!important;
  }
  .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle)::before{
    left:9px!important;
    width:48px!important;
    height:24px!important;
    font-size:7px!important;
  }
  .novera-story .nv-story-author-card{
    grid-template-columns:66px minmax(0,1fr);
    min-height:96px;
  }
  .novera-story .nv-story-author-card__cover{
    width:66px;
    height:90px;
  }
}


/* ==========================================================
   v0.2.1 — capítulo no estilo CAP / número
   Mantém Capítulos / Mais do autor sem alterações.
   ========================================================== */

/* Remove a borda/caixa externa da lista para ficar mais leve. */
.novera-story .nv-story-native-chapters .chapter-group{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}

/* Remove qualquer ícone nativo de livro/check antes do link. */
.novera-story .nv-story-native-chapters .chapter-group__list-item-link > i,
.novera-story .nv-story-native-chapters .chapter-group__list-item-link > .fa,
.novera-story .nv-story-native-chapters .chapter-group__list-item-link > .fas,
.novera-story .nv-story-native-chapters .chapter-group__list-item-link > .far,
.novera-story .nv-story-native-chapters .chapter-group__list-item-link > .fa-solid,
.novera-story .nv-story-native-chapters .chapter-group__list-item-link > .chapter-group__list-item-icon{
  display:none!important;
}

/* Espaço para o marcador vertical CAP / 1. */
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle){
  padding-left:58px!important;
}

/* Marcador sem borda, sem fundo e sem livro. */
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle)::before,
.novera-story .nv-story-native-chapters .chapter-group__list-item._checked:not(._folding-toggle)::before,
.novera-story .nv-story-native-chapters .chapter-group__list-item[data-read="true"]:not(._folding-toggle)::before{
  content:attr(data-nv-chapter-label)!important;
  left:8px!important;
  top:50%!important;
  width:38px!important;
  height:auto!important;
  min-height:32px!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  padding-top:12px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--nv-text)!important;
  font-family:inherit!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}

/* CAP em cima do número. */
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle)::after{
  content:"CAP";
  position:absolute;
  left:8px;
  top:50%;
  width:38px;
  transform:translateY(-18px);
  color:var(--nv-muted);
  font-size:7px;
  line-height:1;
  font-weight:850;
  letter-spacing:.12em;
  text-align:center;
  pointer-events:none;
}

/* Remove pseudo-elementos/ícones decorativos internos que o Fictioneer possa inserir. */
.novera-story .nv-story-native-chapters .chapter-group__list-item-link::before,
.novera-story .nv-story-native-chapters .chapter-group__list-item-link::after{
  display:none!important;
  content:none!important;
}

/* No mobile mantém a mesma composição CAP / número. */
@media(max-width:620px){
  .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle){
    padding-left:54px!important;
  }
  .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle)::before,
  .novera-story .nv-story-native-chapters .chapter-group__list-item._checked:not(._folding-toggle)::before,
  .novera-story .nv-story-native-chapters .chapter-group__list-item[data-read="true"]:not(._folding-toggle)::before{
    left:6px!important;
    width:36px!important;
    font-size:14px!important;
  }
  .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle)::after{
    left:6px;
    width:36px;
  }
}

/* Dark: sem caixa de fundo também. */
:root[data-mode="dark"] .novera-story .nv-story-native-chapters .chapter-group,
:root:not([data-mode="light"]) .novera-story .nv-story-native-chapters .chapter-group{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}


/* ==========================================================
   v0.2.2 — acabamento final do marcador de capítulo
   ========================================================== */

/* Remove definitivamente o livro/ícone nativo preto. */
.novera-story .nv-story-native-chapters .chapter-group__list-item i,
.novera-story .nv-story-native-chapters .chapter-group__list-item [class*="fa-book"],
.novera-story .nv-story-native-chapters .chapter-group__list-item [class*="icon-book"],
.novera-story .nv-story-native-chapters .chapter-group__list-item [class*="book-icon"],
.novera-story .nv-story-native-chapters .chapter-group__list-item svg[class*="book"],
.novera-story .nv-story-native-chapters .chapter-group__list-item .chapter-group__list-item-icon{
  display:none!important;
  visibility:hidden!important;
  width:0!important;
  min-width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* Dá espaço ao bloco CAP / número. */
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle){
  position:relative!important;
  padding-left:72px!important;
}

/* Número: agora dentro de um fundo suave, sem borda pesada. */
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle)::before,
.novera-story .nv-story-native-chapters .chapter-group__list-item._checked:not(._folding-toggle)::before,
.novera-story .nv-story-native-chapters .chapter-group__list-item[data-read="true"]:not(._folding-toggle)::before{
  content:attr(data-nv-chapter-label)!important;
  box-sizing:border-box!important;
  left:10px!important;
  top:50%!important;
  width:48px!important;
  height:48px!important;
  min-height:48px!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  padding:0 0 8px!important;
  border:0!important;
  border-radius:10px!important;
  background:rgba(47,124,255,.08)!important;
  box-shadow:none!important;
  color:var(--nv-text)!important;
  font-size:17px!important;
  line-height:1!important;
  font-weight:800!important;
}

/* CAP fica dentro do mesmo bloco, acima do número. */
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle)::after{
  content:"CAP"!important;
  position:absolute!important;
  z-index:2!important;
  left:10px!important;
  top:50%!important;
  width:48px!important;
  transform:translateY(-16px)!important;
  color:var(--nv-muted)!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.10em!important;
  text-align:center!important;
  pointer-events:none!important;
}

/* Dark mode: bloco discreto e integrado. */
:root[data-mode="dark"] .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle)::before,
:root:not([data-mode="light"]) .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle)::before{
  background:rgba(72,139,255,.12)!important;
}

/* Mobile */
@media(max-width:620px){
  .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle){
    padding-left:66px!important;
  }
  .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle)::before,
  .novera-story .nv-story-native-chapters .chapter-group__list-item._checked:not(._folding-toggle)::before,
  .novera-story .nv-story-native-chapters .chapter-group__list-item[data-read="true"]:not(._folding-toggle)::before{
    left:7px!important;
    width:46px!important;
    height:46px!important;
    min-height:46px!important;
    padding-bottom:7px!important;
    font-size:16px!important;
  }
  .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle)::after{
    left:7px!important;
    width:46px!important;
  }
}


/* ==========================================================
   v0.2.4 — restaura ícones especiais do Fictioneer
   O livro padrão é removido via filtro PHP oficial.
   ========================================================== */
.novera-story .nv-story-native-chapters .chapter-group__list-item .chapter-group__list-item-icon.fa-lock,
.novera-story .nv-story-native-chapters .chapter-group__list-item .chapter-group__list-item-icon.fa-calendar-days,
.novera-story .nv-story-native-chapters .chapter-group__list-item .chapter-group__list-item-icon._text,
.novera-story .nv-story-native-chapters .chapter-group__list-item .text-icon{
  display:inline-flex!important;
  visibility:visible!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  margin:0 8px 0 0!important;
  padding:0!important;
  overflow:visible!important;
}

/* O marcador CAP/número permanece como único marcador visual padrão. */
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle)::before{
  z-index:1!important;
}
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle)::after{
  z-index:2!important;
}


/* ==========================================================
   v0.2.5 — Pesquisa de capítulos removida
   Mantém a lista, CAP/número, abas e demais controles.
   ========================================================== */
.novera-story .nv-story-native-chapters .chapter-group__controls,
.novera-story .nv-story-native-chapters .chapter-group__search,
.novera-story .nv-story-native-chapters .chapter-search,
.novera-story .nv-story-native-chapters [class*="chapter"][class*="search"],
.novera-story .nv-story-native-chapters input[type="search"]{
  display:none!important;
}


/* ==========================================================
   v0.3.0 — menu Compartilhar
   ========================================================== */
.novera-story .nv-story-native-actions{
  position:relative;
}

.novera-story .nv-story-share-trigger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:36px;
  padding:7px 12px;
  border:1px solid var(--nv-line);
  border-radius:8px;
  background:var(--nv-panel);
  color:var(--nv-text);
  font:inherit;
  font-size:10px;
  font-weight:750;
  cursor:pointer;
  transition:border-color .16s ease,background-color .16s ease,color .16s ease;
}
.novera-story .nv-story-share-trigger:hover,
.novera-story .nv-story-share-trigger[aria-expanded="true"]{
  border-color:color-mix(in srgb,var(--nv-accent) 42%,var(--nv-line));
  background:var(--nv-accent-soft);
  color:var(--nv-accent);
}

.novera-story .nv-story-share-popover{
  position:absolute;
  z-index:999;
  top:calc(100% + 9px);
  left:0;
  width:min(420px,calc(100vw - 28px));
  padding:16px;
  border:1px solid var(--nv-line);
  border-radius:13px;
  background:var(--nv-panel);
  box-shadow:0 18px 48px rgba(20,37,63,.16);
  opacity:0;
  transform:translateY(-5px) scale(.985);
  transform-origin:top left;
  transition:opacity .14s ease,transform .14s ease;
}
.novera-story .nv-story-share-popover.is-open{
  opacity:1;
  transform:translateY(0) scale(1);
}
.novera-story .nv-story-share-popover__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding-bottom:13px;
  border-bottom:1px solid var(--nv-line);
}
.novera-story .nv-story-share-popover__head>div{
  min-width:0;
}
.novera-story .nv-story-share-popover__head span{
  display:block;
  color:var(--nv-accent);
  font-size:7px;
  font-weight:900;
  letter-spacing:.16em;
}
.novera-story .nv-story-share-popover__head strong{
  display:block;
  margin-top:4px;
  overflow:hidden;
  color:var(--nv-text);
  font-size:13px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.novera-story .nv-story-share-close{
  width:28px;
  height:28px;
  flex:0 0 28px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--nv-line);
  border-radius:7px;
  background:var(--nv-panel-2);
  color:var(--nv-muted);
  cursor:pointer;
}

.novera-story .nv-story-share-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
  padding-top:14px;
}
.novera-story .nv-story-share-option{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  padding:8px 3px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--nv-muted);
  font:inherit;
  font-size:7px;
  font-weight:700;
  cursor:pointer;
}
.novera-story .nv-story-share-option:hover{
  background:var(--nv-panel-2);
  color:var(--nv-text);
}
.novera-story .nv-story-share-option ._icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--nv-panel-2);
  color:var(--nv-text);
  font-size:16px;
}
.novera-story .nv-story-share-option ._whatsapp{color:#1f9d55}
.novera-story .nv-story-share-option ._telegram{color:#278bd2}
.novera-story .nv-story-share-option ._discord{color:#5865f2}
.novera-story .nv-story-share-option ._copy,
.novera-story .nv-story-share-option ._more{color:var(--nv-accent)}

.novera-story .nv-story-share-toast{
  min-height:0;
  margin-top:0;
  overflow:hidden;
  color:var(--nv-accent);
  font-size:9px;
  font-weight:700;
  text-align:center;
  opacity:0;
  transition:opacity .15s ease,margin-top .15s ease;
}
.novera-story .nv-story-share-toast.is-visible{
  margin-top:10px;
  opacity:1;
}

/* Dark */
:root[data-mode="dark"] .novera-story .nv-story-share-popover,
:root:not([data-mode="light"]) .novera-story .nv-story-share-popover{
  background:#101b26;
  border-color:#293b4d;
  box-shadow:0 20px 52px rgba(0,0,0,.32);
}
:root[data-mode="dark"] .novera-story .nv-story-share-trigger,
:root:not([data-mode="light"]) .novera-story .nv-story-share-trigger,
:root[data-mode="dark"] .novera-story .nv-story-share-close,
:root:not([data-mode="light"]) .novera-story .nv-story-share-close{
  background:#13212e;
  border-color:#2a3c4e;
}

@media(max-width:620px){
  .novera-story .nv-story-share-trigger{
    min-width:110px;
  }

  .novera-story .nv-story-share-popover{
    position:fixed;
    z-index:10010;
    left:12px;
    right:12px;
    top:auto;
    bottom:18px;
    width:auto;
    max-width:none;
    border-radius:16px;
    transform:translateY(16px);
    transform-origin:bottom center;
  }
  .novera-story .nv-story-share-popover.is-open{
    transform:translateY(0);
  }
  .novera-story .nv-story-share-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
  .novera-story .nv-story-share-option ._icon{
    width:39px;
    height:39px;
    font-size:17px;
  }
}

@media(max-width:390px){
  .novera-story .nv-story-share-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}


/* ==========================================================
   v0.3.1 — garantia de abertura do menu Compartilhar
   ========================================================== */
.novera-story .nv-story-share-popover[hidden]{
  display:none!important;
}
.novera-story .nv-story-share-popover.is-open{
  display:block!important;
  visibility:visible!important;
  pointer-events:auto!important;
  opacity:1!important;
}

/* No desktop, ancora o menu de modo previsível abaixo das ações. */
@media(min-width:621px){
  .novera-story .nv-story-hero__body{
    position:relative;
  }
  .novera-story .nv-story-share-popover{
    top:auto!important;
    left:0!important;
    margin-top:8px;
  }
}


/* ==========================================================
   v0.3.2 — corrige corte/sobreposição do menu Compartilhar
   ========================================================== */

/* O hero estava criando uma área que cortava o popover. */
.novera-story .nv-story-hero,
.novera-story .nv-story-hero__body,
.novera-story .nv-story-native-actions{
  overflow:visible!important;
}

/* Garante que o hero e o menu fiquem acima da faixa de estatísticas. */
.novera-story .nv-story-hero{
  position:relative!important;
  z-index:20!important;
}
.novera-story .nv-story-stats,
.novera-story .nv-story-stats--analytics{
  position:relative!important;
  z-index:1!important;
}

/* Menu acima de todo o conteúdo imediatamente abaixo. */
.novera-story .nv-story-share-popover{
  z-index:9999!important;
  overflow:visible!important;
}

/* Desktop: abre abaixo dos botões sem ser coberto pelo card de estatísticas. */
@media(min-width:621px){
  .novera-story .nv-story-share-popover{
    top:calc(100% + 10px)!important;
    bottom:auto!important;
    left:0!important;
    margin-top:0!important;
  }
}

/* Mobile continua como painel inferior e não sofre clipping. */
@media(max-width:620px){
  .novera-story .nv-story-share-popover{
    z-index:10050!important;
  }
}


/* ==========================================================
   v0.3.3 — refinamento visual do Compartilhar
   Somente design; lógica da v0.3.2 preservada.
   ========================================================== */
.novera-story .nv-story-share-popover{
  border-radius:20px!important;
  padding:18px!important;
  border:1px solid color-mix(in srgb,var(--nv-line) 82%,transparent)!important;
  box-shadow:
    0 22px 55px rgba(15,23,42,.14),
    0 4px 14px rgba(15,23,42,.07)!important;
}

.novera-story .nv-story-share-popover__head{
  padding:2px 2px 15px!important;
}

.novera-story .nv-story-share-close{
  width:32px!important;
  height:32px!important;
  flex-basis:32px!important;
  border-radius:10px!important;
  transition:transform .15s ease,background-color .15s ease,border-color .15s ease!important;
}
.novera-story .nv-story-share-close:hover{
  transform:scale(1.04);
  background:var(--nv-accent-soft)!important;
  border-color:color-mix(in srgb,var(--nv-accent) 35%,var(--nv-line))!important;
}

.novera-story .nv-story-share-grid{
  gap:9px!important;
  padding-top:16px!important;
}

.novera-story .nv-story-share-option{
  min-height:76px!important;
  padding:10px 5px!important;
  border:1px solid transparent!important;
  border-radius:14px!important;
  transition:
    transform .15s ease,
    background-color .15s ease,
    border-color .15s ease!important;
}
.novera-story .nv-story-share-option:hover{
  transform:translateY(-2px);
  background:var(--nv-panel-2)!important;
  border-color:var(--nv-line)!important;
}

.novera-story .nv-story-share-option ._icon{
  width:42px!important;
  height:42px!important;
  border-radius:13px!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--nv-line) 72%,transparent);
  transition:transform .15s ease!important;
}
.novera-story .nv-story-share-option:hover ._icon{
  transform:scale(1.05);
}

.novera-story .nv-story-share-toast{
  border-radius:10px!important;
}
.novera-story .nv-story-share-toast.is-visible{
  padding:8px 10px!important;
  background:var(--nv-accent-soft)!important;
}

/* Dark: mantém o mesmo acabamento arredondado e suave. */
:root[data-mode="dark"] .novera-story .nv-story-share-popover,
:root:not([data-mode="light"]) .novera-story .nv-story-share-popover{
  border-color:#2a3d50!important;
  box-shadow:
    0 24px 60px rgba(0,0,0,.36),
    0 5px 16px rgba(0,0,0,.18)!important;
}

/* Mobile: aparência de sheet arredondado, sem virar um bloco quadrado. */
@media(max-width:620px){
  .novera-story .nv-story-share-popover{
    left:12px!important;
    right:12px!important;
    bottom:14px!important;
    border-radius:22px!important;
    padding:17px 14px 15px!important;
  }

  .novera-story .nv-story-share-option{
    min-height:78px!important;
    border-radius:14px!important;
  }

  .novera-story .nv-story-share-option ._icon{
    width:43px!important;
    height:43px!important;
    border-radius:14px!important;
  }
}


/* ==========================================================
   v0.3.4 — refinamento do card principal da obra
   Somente hero/card; compartilhamento e demais áreas preservados.
   ========================================================== */
.novera-story .nv-story-hero{
  border-radius:20px!important;
  overflow:hidden!important;
  border:1px solid color-mix(in srgb,var(--nv-line) 88%,transparent)!important;
  box-shadow:
    0 14px 38px rgba(20,37,63,.06),
    0 3px 10px rgba(20,37,63,.025)!important;
}

.novera-story .nv-story-hero__cover,
.novera-story .nv-story-cover-img{
  border-radius:14px!important;
}

.novera-story .nv-story-hero__cover{
  overflow:hidden!important;
}

/* Mantém o conteúdo respirando dentro do novo raio. */
.novera-story .nv-story-hero__body{
  position:relative;
  z-index:2;
}

/* Dark */
:root[data-mode="dark"] .novera-story .nv-story-hero,
:root:not([data-mode="light"]) .novera-story .nv-story-hero{
  border-color:#25384b!important;
  box-shadow:
    0 16px 42px rgba(0,0,0,.24),
    0 3px 12px rgba(0,0,0,.12)!important;
}

/* Mobile */
@media(max-width:620px){
  .novera-story .nv-story-hero{
    border-radius:18px!important;
  }

  .novera-story .nv-story-hero__cover,
  .novera-story .nv-story-cover-img{
    border-radius:13px!important;
  }
}


/* ==========================================================
   v0.3.5 — Compartilhar em "Sobre a obra"
   ========================================================== */
.novera-story .nv-story-summary-section{
  position:relative!important;
}

.novera-story .nv-story-summary-share{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid color-mix(in srgb,var(--nv-line) 78%,transparent);
}

.novera-story .nv-story-share-trigger--summary{
  min-height:34px;
  padding:7px 12px;
  border-radius:9px;
}

/*
 * O popover continua no mesmo markup da v0.3.4.
 * Como o gatilho mudou de área, no desktop o posicionamos como painel
 * flutuante estável na viewport para não ser cortado por seções.
 */
@media(min-width:621px){
  .novera-story .nv-story-share-popover.is-open{
    position:fixed!important;
    top:50%!important;
    left:50%!important;
    right:auto!important;
    bottom:auto!important;
    width:min(420px,calc(100vw - 32px))!important;
    margin:0!important;
    transform:translate(-50%,-50%) scale(1)!important;
    transform-origin:center!important;
  }
}

/* Mobile mantém o sheet inferior já aprovado. */
@media(max-width:620px){
  .novera-story .nv-story-summary-share{
    margin-top:15px;
    padding-top:12px;
  }
}


/* ==========================================================
   v0.3.6 — Compartilhar somente em "Sobre a obra"
   ========================================================== */

/* Fallback visual: remove o botão nativo do Fictioneer no card principal. */
.novera-story .media-buttons [data-fictioneer-id-param="sharing-modal"],
.novera-story .story__after-summary .media-buttons .fa-share-nodes{
  display:none!important;
}

/* O menu agora vive dentro da seção Sobre a obra. */
.novera-story .nv-story-summary-section{
  overflow:visible!important;
  z-index:10!important;
}

.novera-story .nv-story-summary-share{
  position:relative!important;
  z-index:20!important;
}

/* Desktop: abre acima do botão, no canto inferior direito da sinopse. */
@media(min-width:621px){
  .novera-story .nv-story-summary-section .nv-story-share-popover{
    position:absolute!important;
    z-index:10020!important;
    top:auto!important;
    left:auto!important;
    right:24px!important;
    bottom:58px!important;
    width:min(420px,calc(100% - 48px))!important;
    margin:0!important;
    transform:translateY(5px) scale(.985)!important;
    transform-origin:bottom right!important;
  }

  .novera-story .nv-story-summary-section .nv-story-share-popover.is-open{
    transform:translateY(0) scale(1)!important;
  }
}

/* Mobile continua como painel inferior. */
@media(max-width:620px){
  .novera-story .nv-story-summary-section .nv-story-share-popover{
    position:fixed!important;
    z-index:10050!important;
    left:12px!important;
    right:12px!important;
    top:auto!important;
    bottom:14px!important;
    width:auto!important;
  }
}


/* ==========================================================
   v0.3.7 — remove somente o Compartilhar do card principal
   ========================================================== */

/*
 * Mantém Seguir, Favoritar e demais ações.
 * O botão Compartilhar válido continua em "Sobre a obra".
 */
.novera-story .nv-story-native-actions button:has(.fa-share-nodes),
.novera-story .nv-story-native-actions a:has(.fa-share-nodes),
.novera-story .nv-story-native-actions [class*="share"]:not(.nv-story-share-trigger),
.novera-story .nv-story-native-actions [data-action*="share"],
.novera-story .nv-story-native-actions [aria-label*="Compartilhar" i],
.novera-story .nv-story-native-actions [title*="Compartilhar" i]{
  display:none!important;
}


/* ==========================================================
   v0.3.8 — abertura do Compartilhar em Sobre a obra
   ========================================================== */
.novera-story .nv-story-summary-section .nv-story-share-popover[hidden]{
  display:none!important;
}
.novera-story .nv-story-summary-section .nv-story-share-popover.is-open{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.novera-story .nv-story-summary-section{
  overflow:visible!important;
}


/* ==========================================================
   NOVERA STORY v0.3.9 — apresentação da obra
   Sinopse única integrada ao hero.
   ========================================================== */

.novera-story .nv-story-hero{
  min-height:0;
  align-items:start;
}

.novera-story .nv-story-hero__body{
  align-self:start;
}

.novera-story .nv-story-hero-summary{
  max-width:900px;
  margin:22px 0 0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--nv-text);
  font-size:15px;
  line-height:1.78;
}

.novera-story .nv-story-hero-summary > :first-child{
  margin-top:0!important;
}

.novera-story .nv-story-hero-summary > :last-child{
  margin-bottom:0!important;
}

.novera-story .nv-story-hero-summary p{
  margin:0 0 14px;
  color:var(--nv-text)!important;
  line-height:1.78;
}

.novera-story .nv-story-hero-summary a{
  color:var(--nv-accent);
}

.novera-story .nv-story-primary-actions{
  margin-top:22px;
}

/*
 * A antiga seção de sinopse deixa de ser um card visual.
 * Ela permanece somente como hospedeira do compartilhamento/popover,
 * preservando a funcionalidade já estável da v0.3.8.
 */
.novera-story .nv-story-summary-section--share-only{
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.novera-story .nv-story-summary-section--share-only .nv-story-summary-share{
  display:none!important;
}

/* O gatilho de compartilhar do hero continua usando o mesmo popover. */
.novera-story .nv-story-summary-section--share-only .nv-story-share-popover{
  z-index:10000;
}

:root[data-mode="dark"] .novera-story .nv-story-hero-summary,
:root[data-mode="dark"] .novera-story .nv-story-hero-summary p,
:root:not([data-mode="light"]) .novera-story .nv-story-hero-summary,
:root:not([data-mode="light"]) .novera-story .nv-story-hero-summary p{
  color:var(--nv-text)!important;
}

@media(max-width:620px){
  .novera-story .nv-story-hero-summary{
    font-size:13px;
    text-align:left;
  }
}


/* ==========================================================
   NOVERA STORY v0.3.10 — sinopse fluida ao redor da capa
   A sinopse começa ao lado da capa e, quando ultrapassa a
   altura dela, continua usando a largura total do hero.
   ========================================================== */

.novera-story .nv-story-hero{
  display:flow-root!important;
  min-height:0!important;
  padding:38px!important;
}

/* Capa um pouco mais compacta e flutuante, como na referência. */
.novera-story .nv-story-hero__cover{
  float:left!important;
  width:230px!important;
  max-width:230px!important;
  margin:0 38px 24px 0!important;
  aspect-ratio:2/3!important;
  align-self:auto!important;
}

/* A coluna deixa de ser uma célula fixa do grid e passa a fluir. */
.novera-story .nv-story-hero__body{
  display:block!important;
  min-width:0!important;
  align-self:auto!important;
}

/* Título e sinopse ganham mais área horizontal. */
.novera-story .nv-story-title{
  max-width:none!important;
}

.novera-story .nv-story-hero-summary{
  max-width:none!important;
  margin-top:20px!important;
  font-size:15px!important;
  line-height:1.78!important;
}

/* Parágrafos longos continuam naturalmente abaixo da capa. */
.novera-story .nv-story-hero-summary p{
  margin-bottom:15px!important;
}

/* Separadores e avisos do conteúdo mantêm respiro editorial. */
.novera-story .nv-story-hero-summary hr{
  clear:none!important;
  margin:20px 0!important;
  border-color:var(--nv-line)!important;
}

/* Ações acompanham o fluxo natural da sinopse. */
.novera-story .nv-story-primary-actions{
  margin-top:22px!important;
}

.novera-story .nv-story-native-actions{
  margin-top:12px!important;
}

/* Evita que elementos posteriores tentem subir ao lado da capa
   quando a sinopse for curta. O hero fecha corretamente o float. */
.novera-story .nv-story-hero::after{
  content:"";
  display:block;
  clear:both;
}

/* Tablet: reduz um pouco capa e respiro lateral. */
@media(max-width:900px) and (min-width:621px){
  .novera-story .nv-story-hero{
    padding:28px!important;
  }

  .novera-story .nv-story-hero__cover{
    width:200px!important;
    max-width:200px!important;
    margin-right:28px!important;
  }
}

/* Mobile: volta para pilha vertical, sem float. */
@media(max-width:620px){
  .novera-story .nv-story-hero{
    display:block!important;
    padding:20px!important;
  }

  .novera-story .nv-story-hero__cover{
    float:none!important;
    width:min(62vw,220px)!important;
    max-width:220px!important;
    margin:0 auto 22px!important;
  }

  .novera-story .nv-story-taxonomies{
    justify-content:flex-start!important;
  }

  .novera-story .nv-story-title{
    max-width:100%!important;
  }

  .novera-story .nv-story-hero-summary{
    margin-top:18px!important;
  }
}


/* ==========================================================
   NOVERA STORY v0.3.11 — remover linha horizontal da sinopse
   ========================================================== */

/* Alguns conteúdos de obra possuem <hr> no post_content.
   No hero integrado isso parecia uma divisão indevida da sinopse.
   Ocultamos somente os <hr> dentro da sinopse da obra. */
.novera-story .nv-story-hero-summary hr{
  display:none!important;
  margin:0!important;
  border:0!important;
  height:0!important;
}


/* ==========================================================
   NOVERA STORY v0.3.12 — MOBILE
   Compacta a apresentação da obra no celular sem alterar desktop.
   ========================================================== */

@media(max-width:620px){

  /* Ordem visual: categorias → capa → título/autor → sinopse → ações */
  .novera-story .nv-story-hero{
    display:flex!important;
    flex-direction:column!important;
    padding:18px 16px 20px!important;
    gap:0!important;
  }

  .novera-story .nv-story-hero__body{
    display:contents!important;
  }

  .novera-story .nv-story-taxonomies{
    order:1!important;
    justify-content:center!important;
    gap:6px!important;
    margin:0 0 16px!important;
  }

  .novera-story .nv-story-pill{
    min-height:24px!important;
    padding:3px 8px!important;
    font-size:9px!important;
  }

  .novera-story .nv-story-hero__cover{
    order:2!important;
    float:none!important;
    width:185px!important;
    max-width:185px!important;
    margin:0 auto 18px!important;
    aspect-ratio:2/3!important;
    border-radius:10px!important;
  }

  .novera-story .nv-story-title{
    order:3!important;
    margin:0 auto!important;
    max-width:92%!important;
    font-size:clamp(28px,8vw,36px)!important;
    line-height:1.05!important;
    letter-spacing:-.035em!important;
    text-align:center!important;
    text-wrap:balance!important;
  }

  .novera-story .nv-story-author{
    order:4!important;
    margin:9px 0 0!important;
    text-align:center!important;
    font-size:12px!important;
  }

  .novera-story .nv-story-hero-summary{
    order:5!important;
    width:100%!important;
    max-width:none!important;
    margin:20px 0 0!important;
    padding:0!important;
    font-size:14px!important;
    line-height:1.72!important;
    text-align:left!important;
  }

  .novera-story .nv-story-hero-summary p{
    margin:0 0 14px!important;
    line-height:1.72!important;
  }

  .novera-story .nv-story-primary-actions{
    order:6!important;
    justify-content:center!important;
    gap:8px!important;
    margin-top:18px!important;
  }

  .novera-story .nv-story-native-actions{
    order:7!important;
    justify-content:center!important;
    gap:7px!important;
    margin-top:10px!important;
  }

  .novera-story .nv-story-btn{
    min-height:40px!important;
    padding:0 14px!important;
    font-size:12px!important;
  }

  /* Estatísticas logo abaixo e sem salto visual grande */
  .novera-story .nv-story-stats{
    margin-top:14px!important;
  }
}

@media(max-width:420px){
  .novera-story .nv-story-hero{
    padding-left:14px!important;
    padding-right:14px!important;
  }

  .novera-story .nv-story-hero__cover{
    width:178px!important;
    max-width:178px!important;
  }

  .novera-story .nv-story-title{
    max-width:100%!important;
    font-size:clamp(27px,8.5vw,34px)!important;
  }

  .novera-story .nv-story-hero-summary{
    font-size:13.5px!important;
  }
}


/* ==========================================================
   NOVERA STORY v0.3.13 — refinamento mobile
   Autor centralizado e menor espaço antes da sinopse.
   ========================================================== */

@media(max-width:620px){
  .novera-story .nv-story-author{
    text-align:center!important;
    width:100%!important;
    margin:8px auto 0!important;
  }

  .novera-story .nv-story-hero-summary{
    margin-top:14px!important;
  }
}

@media(max-width:420px){
  .novera-story .nv-story-hero-summary{
    margin-top:12px!important;
  }
}


/* ==========================================================
   NOVERA STORY v0.3.14 — VISÃO GERAL COMPACTA
   ========================================================== */

.novera-story .nv-story-stats--compact{
  width:min(100%,760px)!important;
  max-width:760px!important;
  margin:26px auto 0!important;
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  border:1px solid var(--nv-line)!important;
  border-radius:12px!important;
  overflow:hidden!important;
  background:color-mix(in srgb,var(--nv-panel) 96%,var(--nv-accent) 4%)!important;
  box-shadow:none!important;
}

.novera-story .nv-story-stats--compact .nv-story-stat{
  min-height:64px!important;
  padding:10px 8px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  border-right:1px solid var(--nv-line)!important;
  text-align:center!important;
}

.novera-story .nv-story-stats--compact .nv-story-stat:last-child{
  border-right:0!important;
}

.novera-story .nv-story-stats--compact .nv-story-stat strong{
  font-size:15px!important;
  line-height:1.05!important;
  font-weight:850!important;
  color:var(--nv-text)!important;
  white-space:nowrap!important;
}

.novera-story .nv-story-stats--compact .nv-story-stat span{
  font-size:7px!important;
  line-height:1.15!important;
  font-weight:800!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
  color:var(--nv-muted)!important;
  white-space:nowrap!important;
}

@media(max-width:900px){
  .novera-story .nv-story-stats--compact{
    width:min(100%,94vw)!important;
    grid-template-columns:repeat(3,1fr)!important;
  }

  .novera-story .nv-story-stats--compact .nv-story-stat{
    min-height:60px!important;
    border-bottom:1px solid var(--nv-line)!important;
  }

  .novera-story .nv-story-stats--compact .nv-story-stat:nth-child(3n){
    border-right:0!important;
  }

  .novera-story .nv-story-stats--compact .nv-story-stat:nth-last-child(-n+3){
    border-bottom:0!important;
  }
}

@media(max-width:620px){
  .novera-story .nv-story-stats--compact{
    margin-top:18px!important;
    border-radius:10px!important;
  }

  .novera-story .nv-story-stats--compact .nv-story-stat{
    min-height:56px!important;
    padding:8px 5px!important;
  }

  .novera-story .nv-story-stats--compact .nv-story-stat strong{
    font-size:14px!important;
  }

  .novera-story .nv-story-stats--compact .nv-story-stat span{
    font-size:6.5px!important;
  }
}


/* ==========================================================
   NOVERA STORY v0.3.15 — SUPERFÍCIE EDITORIAL CONTÍNUA
   Remove o efeito de "cards empilhados" das grandes seções.
   A hierarquia passa a ser feita por espaço, títulos e linhas.
   ========================================================== */

.novera-story{
  --nv-story-continuous-bg: var(--nv-page, var(--nv-bg));
}

/* Grandes blocos da página deixam de parecer cards independentes. */
.novera-story .nv-story-hero,
.novera-story .nv-story-main,
.novera-story .nv-story-content,
.novera-story .nv-story-tabs,
.novera-story .nv-story-chapters,
.novera-story .nv-story-rating,
.novera-story .nv-story-ratings,
.novera-story .nv-story-comments,
.novera-story .comments-area,
.novera-story .fictioneer-comments,
.novera-story .chapter-list,
.novera-story .story__chapters,
.novera-story .story__comments{
  background:transparent!important;
  box-shadow:none!important;
  border-left:0!important;
  border-right:0!important;
  border-radius:0!important;
}

/* Hero integrado à página. */
.novera-story .nv-story-hero{
  border:0!important;
}

/* A barra compacta de estatísticas continua sendo um componente,
   porém sem o grande cartão externo. */
.novera-story .nv-story-stats--compact{
  box-shadow:none!important;
}

/* Seções editoriais: divisórias discretas em vez de caixas. */
.novera-story .nv-story-tabs,
.novera-story .nv-story-chapters,
.novera-story .nv-story-rating,
.novera-story .nv-story-ratings,
.novera-story .nv-story-comments,
.novera-story .comments-area{
  border-top:1px solid var(--nv-line)!important;
  padding-top:22px!important;
  margin-top:22px!important;
}

/* Evita borda duplicada quando componentes já possuem linha interna. */
.novera-story .nv-story-tabs + .nv-story-chapters,
.novera-story .nv-story-rating + .nv-story-comments,
.novera-story .nv-story-ratings + .nv-story-comments{
  margin-top:20px!important;
}

/* Containers externos do Fictioneer/tema não devem recriar o card. */
body.single-fcn_story .main__background,
body.single-fcn_story .main__content,
body.single-fcn_story .story__article,
body.single-fcn_story .story__article-container{
  box-shadow:none!important;
}

/* Mobile mantém exatamente a mesma linguagem contínua. */
@media(max-width:620px){
  .novera-story .nv-story-tabs,
  .novera-story .nv-story-chapters,
  .novera-story .nv-story-rating,
  .novera-story .nv-story-ratings,
  .novera-story .nv-story-comments,
  .novera-story .comments-area{
    padding-top:18px!important;
    margin-top:18px!important;
  }
}


/* ==========================================================
   NOVERA STORY v0.3.18
   SUPERFÍCIE ÚNICA — FICTIONEER 5.35.3
   Base segura: v0.3.15
   ----------------------------------------------------------
   O Fictioneer usa .main__background com --page-bg-color como
   superfície da página. Nesta versão, os grandes blocos do
   Novera Story deixam de impor cartões próprios e passam a
   mostrar exatamente essa superfície do tema.
   ========================================================== */

/* ----------------------------------------------------------
   A. GRANDES SUPERFÍCIES DO PLUGIN
   ---------------------------------------------------------- */

.novera-story .nv-story-hero,
.novera-story .nv-story-stats,
.novera-story .nv-story-stats--compact,
.novera-story .nv-story-tags,
.novera-story .nv-story-chapter-shell,
.novera-story .nv-story-rating,
.novera-story .nv-story-comments-wrap,
.novera-story .nv-story-summary-section,
.novera-story .nv-story-summary-section--share-only{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* As regras dark antigas do plugin usavam !important.
   Estes seletores específicos neutralizam exatamente aquelas regras. */
:root[data-mode="dark"] .novera-story .nv-story-hero,
:root[data-mode="dark"] .novera-story .nv-story-stats,
:root[data-mode="dark"] .novera-story .nv-story-stats--compact,
:root[data-mode="dark"] .novera-story .nv-story-tags,
:root[data-mode="dark"] .novera-story .nv-story-chapter-shell,
:root[data-mode="dark"] .novera-story .nv-story-rating,
:root[data-mode="dark"] .novera-story .nv-story-comments-wrap,
:root[data-mode="dark"] .novera-story .nv-story-summary-section,
:root:not([data-mode="light"]) .novera-story .nv-story-hero,
:root:not([data-mode="light"]) .novera-story .nv-story-stats,
:root:not([data-mode="light"]) .novera-story .nv-story-stats--compact,
:root:not([data-mode="light"]) .novera-story .nv-story-tags,
:root:not([data-mode="light"]) .novera-story .nv-story-chapter-shell,
:root:not([data-mode="light"]) .novera-story .nv-story-rating,
:root:not([data-mode="light"]) .novera-story .nv-story-comments-wrap,
:root:not([data-mode="light"]) .novera-story .nv-story-summary-section{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border-color:transparent!important;
  box-shadow:none!important;
}

/* ----------------------------------------------------------
   B. HERO — remove o efeito de cartão/atmosfera
   ---------------------------------------------------------- */

.novera-story .nv-story-hero:before,
.novera-story .nv-story-hero:after,
:root[data-mode="dark"] .novera-story .nv-story-hero:before,
:root[data-mode="dark"] .novera-story .nv-story-hero:after,
:root:not([data-mode="light"]) .novera-story .nv-story-hero:before,
:root:not([data-mode="light"]) .novera-story .nv-story-hero:after{
  display:none!important;
  content:none!important;
  background:none!important;
}

/* Mantém o espaço interno já acertado, mas sem moldura. */
.novera-story .nv-story-hero{
  padding-left:0!important;
  padding-right:0!important;
}

/* ----------------------------------------------------------
   C. VISÃO GERAL — continua compacta, mas na mesma superfície
   ---------------------------------------------------------- */

.novera-story .nv-story-stats--compact{
  overflow:visible!important;
}

/* Mantém somente divisórias internas entre números. */
.novera-story .nv-story-stats--compact .nv-story-stat{
  border-color:var(--layout-lineart-color, var(--nv-line))!important;
}

/* ----------------------------------------------------------
   D. TAGS — sem barra/cartão externo
   ---------------------------------------------------------- */

.novera-story .nv-story-tags{
  padding-left:0!important;
  padding-right:0!important;
  border-bottom:0!important;
}

/* As próprias tags continuam sendo "pílulas" para permanecer clicáveis. */
.novera-story .nv-story-tags a{
  border:1px solid var(--layout-lineart-color, var(--nv-line))!important;
  background:transparent!important;
}

/* ----------------------------------------------------------
   E. CAPÍTULOS — tira apenas o cartão grande
   ---------------------------------------------------------- */

.novera-story .nv-story-chapter-shell{
  padding-left:0!important;
  padding-right:0!important;
}

/* Cabeçalho/tabs pertencem à estrutura, não precisam de painel. */
.novera-story .nv-story-library-tabs,
.novera-story .nv-story-library-panel,
.novera-story .nv-story-native-chapters{
  background:transparent!important;
  box-shadow:none!important;
}

/* O grupo inteiro não vira cartão.
   Itens individuais continuam com linhas para organização. */
.novera-story .nv-story-native-chapters .chapter-group,
:root[data-mode="dark"] .novera-story .nv-story-native-chapters .chapter-group,
:root:not([data-mode="light"]) .novera-story .nv-story-native-chapters .chapter-group{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.novera-story .nv-story-native-chapters .chapter-group__list-item{
  border-bottom:1px solid var(--layout-lineart-color, var(--nv-line))!important;
}

.novera-story .nv-story-native-chapters .chapter-group__list-item:last-child{
  border-bottom:0!important;
}

/* ----------------------------------------------------------
   F. AVALIAÇÃO — sem cartão externo, divisões internas preservadas
   ---------------------------------------------------------- */

.novera-story .nv-story-rating{
  padding-left:0!important;
  padding-right:0!important;
}

.novera-story .nv-story-rating__main,
.novera-story .nv-story-rating__distribution,
.novera-story .nv-story-rating__note{
  background:transparent!important;
  box-shadow:none!important;
}

/* ----------------------------------------------------------
   G. COMENTÁRIOS — sem cartão externo
   ---------------------------------------------------------- */

.novera-story .nv-story-comments-wrap{
  padding-left:0!important;
  padding-right:0!important;
}

.novera-story .nv-story-comments-wrap .fictioneer-comments{
  background:transparent!important;
  box-shadow:none!important;
}

/* ----------------------------------------------------------
   H. COR ÚNICA = COR DA PÁGINA DO FICTIONEER
   ---------------------------------------------------------- */

/* Não colocamos branco/escuro manualmente.
   A superfície visível é a .main__background do Fictioneer:
   --page-bg-color. Assim Light e Dark seguem o tema automaticamente. */
body.single-fcn_story .main__background{
  background-color:var(--page-bg-color)!important;
}

/* O wrapper do Novera não adiciona outra superfície. */
body.single-fcn_story .novera-story__wrapper,
body.single-fcn_story .novera-story__article{
  background:transparent!important;
  box-shadow:none!important;
}

/* ----------------------------------------------------------
   I. MOBILE
   ---------------------------------------------------------- */

@media(max-width:620px){
  .novera-story .nv-story-hero{
    padding-left:0!important;
    padding-right:0!important;
  }

  .novera-story .nv-story-chapter-shell,
  .novera-story .nv-story-rating,
  .novera-story .nv-story-comments-wrap{
    padding-left:0!important;
    padding-right:0!important;
  }
}


/* ==========================================================
   NOVERA STORY v0.3.19 — MOBILE
   Centraliza os botões de ação da obra.
   ========================================================== */

@media(max-width:620px){
  .novera-story .nv-story-primary-actions,
  .novera-story .nv-story-native-actions{
    width:100%!important;
    justify-content:center!important;
    align-items:center!important;
  }

  .novera-story .nv-story-primary-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
  }

  .novera-story .nv-story-native-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:7px!important;
  }

  .novera-story .nv-story-primary-actions > *,
  .novera-story .nv-story-native-actions > *{
    margin-left:0!important;
    margin-right:0!important;
  }
}


/* ==========================================================
   NOVERA STORY v0.3.21 — VISÃO GERAL ELEGANTE/COMPACTA
   Base: v0.3.19. O visual da v0.3.20 foi descartado.
   Inspirado na proporção da referência, usando a paleta Novera.
   ========================================================== */

.novera-story .nv-story-stats--compact{
  width:min(100%,660px)!important;
  max-width:660px!important;
  margin:22px auto 0!important;
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  overflow:hidden!important;

  /* Fundo sutil, sem painel azul pesado */
  background:color-mix(in srgb,var(--page-bg-color) 94%,var(--nv-text) 6%)!important;
  border:0!important;
  border-radius:10px!important;
  box-shadow:none!important;
}

.novera-story .nv-story-stats--compact .nv-story-stat{
  min-width:0!important;
  min-height:52px!important;
  padding:8px 10px 7px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  gap:5px!important;
  text-align:center!important;
  background:transparent!important;

  border-top:0!important;
  border-bottom:0!important;
  border-left:0!important;
  border-right:1px solid color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 62%,transparent)!important;
}

.novera-story .nv-story-stats--compact .nv-story-stat:last-child{
  border-right:0!important;
}

.novera-story .nv-story-stats--compact .nv-story-stat strong{
  margin:0!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:750!important;
  letter-spacing:.01em!important;
  white-space:nowrap!important;
  color:var(--nv-text)!important;
}

.novera-story .nv-story-stats--compact .nv-story-stat span{
  margin:0!important;
  font-size:6.25px!important;
  line-height:1!important;
  font-weight:750!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  color:var(--nv-accent)!important;
  opacity:.9!important;
}

/* Dark: diferença mínima em relação ao fundo principal. */
:root[data-mode="dark"] .novera-story .nv-story-stats--compact,
:root:not([data-mode="light"]) .novera-story .nv-story-stats--compact{
  background:color-mix(in srgb,var(--page-bg-color) 91%,#fff 9%)!important;
}

/* Light: mesma sutileza, sem criar um card destacado demais. */
:root[data-mode="light"] .novera-story .nv-story-stats--compact{
  background:color-mix(in srgb,var(--page-bg-color) 95%,#000 5%)!important;
}

/* Mobile: mantém compacto sem espremer seis colunas. */
@media(max-width:620px){
  .novera-story .nv-story-stats--compact{
    width:min(100%,360px)!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    border-radius:9px!important;
  }

  .novera-story .nv-story-stats--compact .nv-story-stat{
    min-height:48px!important;
    padding:7px 6px!important;
    border-bottom:1px solid color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 62%,transparent)!important;
  }

  .novera-story .nv-story-stats--compact .nv-story-stat:nth-child(3n){
    border-right:0!important;
  }

  .novera-story .nv-story-stats--compact .nv-story-stat:nth-last-child(-n+3){
    border-bottom:0!important;
  }

  .novera-story .nv-story-stats--compact .nv-story-stat strong{
    font-size:13px!important;
  }

  .novera-story .nv-story-stats--compact .nv-story-stat span{
    font-size:6px!important;
    letter-spacing:.12em!important;
  }
}


/* ==========================================================
   NOVERA STORY v0.3.22 — VISÃO GERAL / ACABAMENTO
   Mantém integralmente dimensões e estrutura da v0.3.21.
   Ajusta apenas contraste, fundo e divisórias.
   ========================================================== */

/* Fundo muito próximo da superfície principal do Fictioneer. */
.novera-story .nv-story-stats--compact{
  background:color-mix(in srgb,var(--page-bg-color) 97%,var(--nv-text) 3%)!important;
  border:0!important;
  box-shadow:none!important;
}

/* Divisórias mais discretas. */
.novera-story .nv-story-stats--compact .nv-story-stat{
  border-right-color:color-mix(
    in srgb,
    var(--layout-lineart-color,var(--nv-line)) 42%,
    transparent
  )!important;
}

/* Mantém destaque dos números e azul Novera nos rótulos. */
.novera-story .nv-story-stats--compact .nv-story-stat strong{
  color:var(--nv-text)!important;
}

.novera-story .nv-story-stats--compact .nv-story-stat span{
  color:var(--nv-accent)!important;
  opacity:.82!important;
}

/* Dark: diferença mínima em relação à própria página. */
:root[data-mode="dark"] .novera-story .nv-story-stats--compact,
:root:not([data-mode="light"]) .novera-story .nv-story-stats--compact{
  background:color-mix(in srgb,var(--page-bg-color) 96%,#fff 4%)!important;
}

/* Light: diferença igualmente sutil. */
:root[data-mode="light"] .novera-story .nv-story-stats--compact{
  background:color-mix(in srgb,var(--page-bg-color) 97%,#000 3%)!important;
}

@media(max-width:620px){
  .novera-story .nv-story-stats--compact .nv-story-stat{
    border-bottom-color:color-mix(
      in srgb,
      var(--layout-lineart-color,var(--nv-line)) 42%,
      transparent
    )!important;
  }
}


/* ==========================================================
   NOVERA STORY v0.3.23 — VISÃO GERAL / CONTRASTE FINAL
   Mantém 100% da geometria da v0.3.22.
   Apenas aproxima ainda mais a faixa da cor da página.
   ========================================================== */

.novera-story .nv-story-stats--compact{
  background:color-mix(in srgb,var(--page-bg-color) 99%,var(--nv-text) 1%)!important;
}

/* Divisórias quase imperceptíveis, como na referência. */
.novera-story .nv-story-stats--compact .nv-story-stat{
  border-right-color:color-mix(
    in srgb,
    var(--layout-lineart-color,var(--nv-line)) 32%,
    transparent
  )!important;
}

/* Dark: somente ~2% mais claro que a página. */
:root[data-mode="dark"] .novera-story .nv-story-stats--compact,
:root:not([data-mode="light"]) .novera-story .nv-story-stats--compact{
  background:color-mix(in srgb,var(--page-bg-color) 98%,#fff 2%)!important;
}

/* Light: somente ~1,5% mais escuro que a página. */
:root[data-mode="light"] .novera-story .nv-story-stats--compact{
  background:color-mix(in srgb,var(--page-bg-color) 98.5%,#000 1.5%)!important;
}

@media(max-width:620px){
  .novera-story .nv-story-stats--compact .nv-story-stat{
    border-bottom-color:color-mix(
      in srgb,
      var(--layout-lineart-color,var(--nv-line)) 32%,
      transparent
    )!important;
  }
}


/* ==========================================================
   NOVERA STORY v0.3.24 — BARRA COMPACTA DE CAPÍTULOS
   Base: v0.3.23. Tags preservadas.
   ========================================================== */

.novera-story .nv-story-library-tabs{
  min-height:48px!important;
  padding:6px 8px!important;
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  border:1px solid color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 34%,transparent)!important;
  border-radius:9px!important;
  background:color-mix(in srgb,var(--page-bg-color) 99%,var(--nv-text) 1%)!important;
}

.novera-story .nv-story-library-tab{
  min-height:34px!important;
  padding:0 15px!important;
  border:0!important;
  border-radius:6px!important;
  background:transparent!important;
  color:var(--nv-muted)!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}

.novera-story .nv-story-library-tab.is-active{
  background:color-mix(in srgb,var(--nv-accent) 12%,var(--page-bg-color) 88%)!important;
  color:var(--nv-text)!important;
}

.novera-story .nv-story-library-tab:after{
  display:none!important;
  content:none!important;
}

/* Remove apenas LEITURA / CAPÍTULOS, mantendo a busca caso ela apareça. */
.novera-story #nv-library-panel-chapters .nv-story-chapter-heading > div:first-child{
  display:none!important;
}

.novera-story #nv-library-panel-chapters .nv-story-chapter-heading{
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

/* Se houver busca, ela continua disponível e alinhada à direita. */
.novera-story #nv-library-panel-chapters .nv-story-chapter-search{
  margin:10px 0 0 auto!important;
}

.novera-story #nv-library-panel-chapters{
  padding-top:8px!important;
}

/* O contador/botão separado produzido pelo Fictioneer fica redundante.
   Ocultamos somente o botão de contagem no topo da lista, sem afetar
   os capítulos nem os controles de visualização/ordenação. */
.novera-story .nv-story-native-chapters > .chapter-group > .chapter-group__header .button:first-child,
.novera-story .nv-story-native-chapters > .chapter-group > .chapter-group__header .chapter-group__count{
  display:none!important;
}

/* Mobile */
@media(max-width:620px){
  .novera-story .nv-story-library-tabs{
    min-height:44px!important;
    padding:5px 6px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }

  .novera-story .nv-story-library-tabs::-webkit-scrollbar{
    display:none!important;
  }

  .novera-story .nv-story-library-tab{
    flex:0 0 auto!important;
    min-height:32px!important;
    padding:0 11px!important;
    font-size:8.5px!important;
  }
}


/* ==========================================================
   NOVERA STORY v0.3.25 — barra final de capítulos
   1.437 CAPÍTULOS | MAIS DO AUTOR ........ lista | ordem
   ========================================================== */

/* A barra usa apenas a largura necessária do conteúdo editorial,
   mantendo os controles à direita dentro dela. */
.novera-story .nv-story-library-tabs{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
}

/* Holder criado pelo JS para os controles nativos do Fictioneer. */
.novera-story .nv-story-library-native-tools{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  padding-left:14px!important;
  border-left:1px solid color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 38%,transparent)!important;
}

.novera-story .nv-story-library-native-tools .story__chapter-list-toggles{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:0!important;
  padding:0!important;
}

/* Mantém exatamente a lógica/Stimulus do Fictioneer; só muda aparência. */
.novera-story .nv-story-library-native-tools .story__toggle{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  background:transparent!important;
  color:var(--nv-muted)!important;
  opacity:.9!important;
}

.novera-story .nv-story-library-native-tools .story__toggle:hover{
  color:var(--nv-accent)!important;
  opacity:1!important;
}

/* A barra de tabs nativa do Fictioneer era responsável pelo botão azul
   duplicado "1.437 Capítulo". Depois que seus controles são absorvidos,
   a estrutura restante deixa de ser exibida. */
.novera-story .nv-story-native-chapters .story__tabs.nv-story-native-tabs--absorbed{
  display:none!important;
}

/* Fallback visual: mesmo antes do JS executar, esconde somente a aba
   nativa duplicada; os controles continuam visíveis até serem movidos. */
.novera-story .nv-story-native-chapters .story__tabs > .tabs{
  display:none!important;
}

/* O cabeçalho antigo já não deve reservar espaço. */
.novera-story #nv-library-panel-chapters .nv-story-chapter-heading{
  display:none!important;
}

.novera-story #nv-library-panel-chapters{
  padding-top:10px!important;
}

/* Mobile: controles permanecem no extremo direito da mesma barra. */
@media(max-width:620px){
  .novera-story .nv-story-library-tabs{
    overflow:visible!important;
  }

  .novera-story .nv-story-library-native-tools{
    margin-left:auto!important;
    padding-left:8px!important;
  }

  .novera-story .nv-story-library-native-tools .story__chapter-list-toggles{
    gap:7px!important;
  }

  .novera-story .nv-story-library-native-tools .story__toggle{
    width:26px!important;
    height:26px!important;
    min-width:26px!important;
    min-height:26px!important;
  }
}


/* ==========================================================
   NOVERA STORY v0.3.28 — ações inferiores (correção segura)
   Base: v0.3.25.
   ========================================================== */

.novera-story .nv-story-lower-actions{
  margin:22px 0 14px!important;
  padding:14px 0 12px!important;
  border-top:1px solid color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 34%,transparent)!important;
}

.novera-story .nv-story-rights{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  color:var(--nv-muted)!important;
  font-size:10px!important;
  line-height:1.45!important;
  font-style:italic!important;
}

.novera-story .nv-story-rights i{
  color:var(--nv-accent)!important;
}

.novera-story .nv-story-lower-actions__row{
  margin-top:16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
}

.novera-story .nv-story-inline-share{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:wrap!important;
}

.novera-story .nv-story-inline-share__button{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 46%,transparent)!important;
  border-radius:6px!important;
  background:transparent!important;
  color:var(--nv-muted)!important;
  box-shadow:none!important;
}

.novera-story .nv-story-inline-share__button:hover{
  color:var(--nv-accent)!important;
  border-color:color-mix(in srgb,var(--nv-accent) 42%,var(--layout-lineart-color,var(--nv-line)))!important;
}

.novera-story .nv-story-lower-native-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}

.novera-story .nv-story-lower-native-actions > *{
  margin:0!important;
}

/* Botões movidos para baixo ficam compactos, sem alterar sua funcionalidade. */
.novera-story .nv-story-lower-native-actions .button,
.novera-story .nv-story-lower-native-actions button,
.novera-story .nv-story-lower-native-actions a{
  min-height:32px!important;
  padding:0 11px!important;
  border-radius:6px!important;
  box-shadow:none!important;
}

/* Não cria distância extra antes da barra de capítulos. */
.novera-story .nv-story-lower-actions + *{
  margin-top:14px!important;
}

@media(max-width:620px){
  .novera-story .nv-story-lower-actions{
    margin-top:18px!important;
    padding-top:12px!important;
  }

  .novera-story .nv-story-rights{
    justify-content:center!important;
    text-align:center!important;
    font-size:9px!important;
  }

  .novera-story .nv-story-lower-actions__row{
    margin-top:13px!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:10px!important;
  }

  .novera-story .nv-story-inline-share,
  .novera-story .nv-story-lower-native-actions{
    justify-content:center!important;
  }
}


/* ==========================================================
   NOVERA STORY v0.3.29 — acabamento da faixa de ações
   Base: v0.3.28. Somente CSS.
   ========================================================== */

/* Menos espaço entre Tags e a área de direitos. */
.novera-story .nv-story-lower-actions{
  margin-top:14px!important;
  margin-bottom:10px!important;
  padding-top:10px!important;
  padding-bottom:8px!important;
  border-top:1px solid color-mix(
    in srgb,
    var(--layout-lineart-color,var(--nv-line)) 22%,
    transparent
  )!important;
}

/* Texto mais discreto, como na referência. */
.novera-story .nv-story-rights{
  font-size:9px!important;
  opacity:.82!important;
}

/* Compartilhamento mais próximo do aviso. */
.novera-story .nv-story-lower-actions__row{
  margin-top:10px!important;
}

/* Ícones mais sutis e compactos. */
.novera-story .nv-story-inline-share__button{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  border-radius:6px!important;
  border-color:color-mix(
    in srgb,
    var(--layout-lineart-color,var(--nv-line)) 38%,
    transparent
  )!important;
  color:var(--nv-muted)!important;
  background:transparent!important;
}

/* Ler mais tarde / Seguindo deixam de parecer botões cinza claros. */
.novera-story .nv-story-lower-native-actions .button,
.novera-story .nv-story-lower-native-actions button,
.novera-story .nv-story-lower-native-actions a{
  min-height:30px!important;
  padding:0 10px!important;
  background:transparent!important;
  color:var(--nv-text)!important;
  border:1px solid color-mix(
    in srgb,
    var(--layout-lineart-color,var(--nv-line)) 44%,
    transparent
  )!important;
  box-shadow:none!important;
  border-radius:6px!important;
}

/* Neutraliza fundos claros impostos por estados/skins do Fictioneer. */
:root[data-mode="dark"] .novera-story .nv-story-lower-native-actions .button,
:root[data-mode="dark"] .novera-story .nv-story-lower-native-actions button,
:root[data-mode="dark"] .novera-story .nv-story-lower-native-actions a,
:root:not([data-mode="light"]) .novera-story .nv-story-lower-native-actions .button,
:root:not([data-mode="light"]) .novera-story .nv-story-lower-native-actions button,
:root:not([data-mode="light"]) .novera-story .nv-story-lower-native-actions a{
  background:transparent!important;
  color:var(--nv-text)!important;
}

/* Hover discreto em azul Novera. */
.novera-story .nv-story-lower-native-actions .button:hover,
.novera-story .nv-story-lower-native-actions button:hover,
.novera-story .nv-story-lower-native-actions a:hover{
  color:var(--nv-accent)!important;
  border-color:color-mix(
    in srgb,
    var(--nv-accent) 42%,
    var(--layout-lineart-color,var(--nv-line))
  )!important;
}

/* Aproxima a barra de capítulos. */
.novera-story .nv-story-lower-actions + *{
  margin-top:8px!important;
}

@media(max-width:620px){
  .novera-story .nv-story-lower-actions{
    margin-top:12px!important;
    padding-top:9px!important;
    padding-bottom:8px!important;
  }

  .novera-story .nv-story-lower-actions__row{
    margin-top:9px!important;
  }

  .novera-story .nv-story-lower-native-actions .button,
  .novera-story .nv-story-lower-native-actions button,
  .novera-story .nv-story-lower-native-actions a{
    min-height:30px!important;
    padding:0 9px!important;
  }
}


/* ==========================================================
   NOVERA STORY v0.3.30 — estado visual de "Ler mais tarde"
   O Fictioneer aplica a classe nativa ._remembered.
   A v0.3.29 neutralizava o fundo com !important, escondendo
   visualmente esse estado. Aqui o estado ativo volta a aparecer.
   ========================================================== */

.novera-story .nv-story-lower-native-actions .button-read-later._remembered{
  background:color-mix(in srgb,var(--nv-accent) 14%,transparent)!important;
  border-color:color-mix(in srgb,var(--nv-accent) 72%,var(--layout-lineart-color,var(--nv-line)))!important;
  color:var(--nv-accent)!important;
}

.novera-story .nv-story-lower-native-actions .button-read-later._remembered i,
.novera-story .nv-story-lower-native-actions .button-read-later._remembered svg{
  color:var(--nv-accent)!important;
  fill:currentColor!important;
}

/* Mantém o estado ativo claro no light e discreto no dark. */
:root[data-mode="light"] .novera-story .nv-story-lower-native-actions .button-read-later._remembered{
  background:color-mix(in srgb,var(--nv-accent) 10%,#fff 90%)!important;
}

:root[data-mode="dark"] .novera-story .nv-story-lower-native-actions .button-read-later._remembered,
:root:not([data-mode="light"]) .novera-story .nv-story-lower-native-actions .button-read-later._remembered{
  background:color-mix(in srgb,var(--nv-accent) 16%,transparent)!important;
}

/* Teclado/acessibilidade */
.novera-story .nv-story-lower-native-actions .button-read-later:focus-visible{
  outline:2px solid color-mix(in srgb,var(--nv-accent) 72%,transparent)!important;
  outline-offset:2px!important;
}


/* ==========================================================
   NOVERA STORY v0.3.32 — lista de capítulos (CSS seguro)
   Base: v0.3.30.
   Somente aparência. Não altera display/grid/flex/estrutura.
   ========================================================== */

/* Remove o peso visual dos cards sem mexer na estrutura nativa. */
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle){
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  border-left:0!important;
  border-right:0!important;
  border-top:0!important;
  border-bottom:1px solid color-mix(
    in srgb,
    var(--layout-lineart-color,var(--nv-line)) 18%,
    transparent
  )!important;
}

/* Primeiro e último item sem bordas extras. */
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle):first-child{
  border-top:0!important;
}

.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle):last-child{
  border-bottom-color:transparent!important;
}

/* Menos altura/padding, preservando o fluxo original. */
.novera-story .nv-story-native-chapters .chapter-group__list-item{
  padding-top:7px!important;
  padding-bottom:7px!important;
}

/* Bloco do ícone/número continua nativo, apenas mais discreto. */
.novera-story .nv-story-native-chapters .chapter-group__list-item-icon{
  background:color-mix(
    in srgb,
    var(--nv-accent) 7%,
    var(--page-bg-color) 93%
  )!important;
  color:var(--nv-accent)!important;
  border-radius:7px!important;
  box-shadow:none!important;
}

/* Título e meta mais leves. */
.novera-story .nv-story-native-chapters .chapter-group__list-item-link{
  color:var(--nv-text)!important;
  font-weight:700!important;
  text-decoration:none!important;
}

.novera-story .nv-story-native-chapters .chapter-group__list-item-meta,
.novera-story .nv-story-native-chapters .chapter-group__list-item-row._meta{
  color:var(--nv-muted)!important;
}

/* Hover sutil sem mudar layout. */
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle):hover{
  background:color-mix(
    in srgb,
    var(--nv-accent) 2%,
    transparent
  )!important;
}

/* "Mostrar mais" como faixa discreta semelhante à referência. */
.novera-story .nv-story-native-chapters .chapter-group__list-item._folding-toggle{
  margin-top:6px!important;
  margin-bottom:6px!important;
  padding:0!important;
  background:transparent!important;
  border:1px dashed color-mix(
    in srgb,
    var(--layout-lineart-color,var(--nv-line)) 28%,
    transparent
  )!important;
  border-radius:7px!important;
  box-shadow:none!important;
}

.novera-story .nv-story-native-chapters .chapter-group__folding-toggle{
  width:100%!important;
  min-height:38px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--nv-muted)!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}

.novera-story .nv-story-native-chapters .chapter-group__folding-toggle:hover{
  color:var(--nv-accent)!important;
}

/* Mobile: apenas reduz um pouco o respiro. */
@media(max-width:620px){
  .novera-story .nv-story-native-chapters .chapter-group__list-item{
    padding-top:6px!important;
    padding-bottom:6px!important;
  }

  .novera-story .nv-story-native-chapters .chapter-group__folding-toggle{
    min-height:36px!important;
    font-size:9px!important;
  }
}


/* ==========================================================
   NOVERA STORY v0.3.33 — capítulos com superfície padrão
   Base: v0.3.32.
   Somente CSS.
   - linha normal = cor padrão do tema
   - hover = azul sutil
   - CAP/número permanece como está
   - "Mostrar mais" usa a superfície padrão
   ========================================================== */

/* Estado normal: sem preenchimento próprio. */
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle){
  background:transparent!important;
  background-color:transparent!important;
}

/* Hover: somente aqui aparece o azul sutil. */
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle):hover{
  background:color-mix(
    in srgb,
    var(--nv-accent) 5%,
    transparent
  )!important;
}

/* "Mostrar mais" também herda a superfície da página. */
.novera-story .nv-story-native-chapters .chapter-group__list-item._folding-toggle{
  background:transparent!important;
  background-color:transparent!important;
}

.novera-story .nv-story-native-chapters .chapter-group__folding-toggle{
  background:transparent!important;
  background-color:transparent!important;
}

/* Light/Dark: nenhuma cor fixa aplicada às linhas normais. */
:root[data-mode="light"] .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle),
:root[data-mode="dark"] .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle),
:root:not([data-mode="light"]) .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle){
  background:transparent!important;
}

/* Mantém hover consistente em ambos os temas. */
:root[data-mode="light"] .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle):hover,
:root[data-mode="dark"] .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle):hover,
:root:not([data-mode="light"]) .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle):hover{
  background:color-mix(
    in srgb,
    var(--nv-accent) 5%,
    transparent
  )!important;
}


/* ==========================================================
   NOVERA STORY v0.3.34 — hover do bloco CAP
   Base: v0.3.33. Somente CSS.
   Adiciona o destaque lateral no bloco CAP/número ao passar
   o mouse sobre o capítulo, inspirado na referência.
   ========================================================== */

/* Garante que o bloco possa receber a barra de destaque. */
.novera-story .nv-story-native-chapters .chapter-group__list-item-icon{
  position:relative!important;
  overflow:hidden!important;
  transition:
    background-color .16s ease,
    color .16s ease,
    border-color .16s ease!important;
}

/* Barra lateral escondida no estado normal. */
.novera-story .nv-story-native-chapters .chapter-group__list-item-icon::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:3px!important;
  border-radius:7px 0 0 7px!important;
  background:var(--nv-accent)!important;
  opacity:0!important;
  transition:opacity .16s ease!important;
}

/* Hover do capítulo: CAP/número ganha destaque sem alterar a estrutura. */
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle):hover .chapter-group__list-item-icon{
  background:color-mix(
    in srgb,
    var(--nv-accent) 12%,
    var(--page-bg-color) 88%
  )!important;
  color:var(--nv-accent)!important;
}

.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle):hover .chapter-group__list-item-icon::before{
  opacity:1!important;
}

/* Também funciona para navegação por teclado. */
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle):focus-within .chapter-group__list-item-icon{
  background:color-mix(
    in srgb,
    var(--nv-accent) 12%,
    var(--page-bg-color) 88%
  )!important;
  color:var(--nv-accent)!important;
}

.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle):focus-within .chapter-group__list-item-icon::before{
  opacity:1!important;
}


/* v0.3.35 — Avaliações + Metadados + Comentários */
.novera-story .nv-story-footer--compact{margin:22px 0 20px!important;padding:12px 0!important;border-top:1px solid color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 22%,transparent)!important;border-bottom:0!important}
.novera-story .nv-story-footer--compact .story__meta{display:flex!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:wrap!important;gap:24px!important}
.novera-story .nv-story-footer--compact .story__meta-item{display:inline-flex!important;align-items:center!important;gap:7px!important;color:var(--nv-muted)!important;font-size:11px!important;line-height:1!important;white-space:nowrap!important}
.novera-story .nv-story-footer--compact .story__meta-item i{color:var(--nv-accent)!important;font-size:10px!important}

.novera-story .nv-story-community-tabs{width:100%!important;min-height:54px!important;margin:18px 0 20px!important;padding:6px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;border:1px solid color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 32%,transparent)!important;border-radius:9px!important;background:transparent!important}
.novera-story .nv-story-community-tab{min-height:40px!important;padding:0 14px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:6px!important;color:var(--nv-muted)!important;font-size:9px!important;font-weight:800!important;letter-spacing:.09em!important;text-transform:uppercase!important;text-decoration:none!important;background:transparent!important}
.novera-story .nv-story-community-tab.is-active{color:var(--nv-text)!important;background:color-mix(in srgb,var(--nv-accent) 9%,var(--page-bg-color) 91%)!important}
.novera-story .nv-story-community-tab:hover{color:var(--nv-accent)!important}

.novera-story .nv-story-rating--reference{margin:0!important;padding:24px 26px!important;display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;align-items:center!important;gap:28px!important;border:1px solid color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 28%,transparent)!important;border-radius:10px!important;background:color-mix(in srgb,var(--page-bg-color) 99%,var(--nv-text) 1%)!important;box-shadow:none!important}
.novera-story .nv-story-rating--reference .nv-story-rating__main{padding:0 22px 0 0!important;border-right:1px solid color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 24%,transparent)!important;border-bottom:0!important;text-align:center!important}
.novera-story .nv-story-rating--reference .nv-story-rating__score{justify-content:center!important;margin:0!important}
.novera-story .nv-story-rating--reference .nv-story-rating__score strong{font-size:38px!important;line-height:1!important;font-weight:800!important}
.novera-story .nv-story-rating--reference .nv-story-rating__score span{font-size:12px!important}
.novera-story .nv-story-rating--reference .nv-story-rating__stars{justify-content:center!important;margin:7px 0 4px!important}
.novera-story .nv-story-rating--reference .nv-story-rating__stars button{font-size:18px!important}
.novera-story .nv-story-rating--reference .nv-story-rating__main small{display:block!important;margin-top:3px!important;font-size:9px!important;text-transform:uppercase!important;letter-spacing:.07em!important}
.novera-story .nv-story-rating__message{display:block!important;margin-top:6px!important;color:var(--nv-accent)!important;font-size:9px!important;font-weight:700!important}

.novera-story .nv-story-rating--reference .nv-story-rating__distribution{padding:0!important;border:0!important;align-self:center!important}
.novera-story .nv-story-rating--reference .nv-rating-row{display:grid!important;grid-template-columns:18px minmax(0,1fr) 40px!important;align-items:center!important;gap:10px!important;min-height:25px!important}
.novera-story .nv-story-rating--reference .nv-rating-row>span{color:var(--nv-text)!important;font-size:10px!important;font-weight:800!important;text-align:right!important}
.novera-story .nv-story-rating--reference .nv-rating-row>div{height:6px!important;overflow:hidden!important;border-radius:999px!important;background:color-mix(in srgb,var(--nv-accent) 7%,var(--page-bg-color) 93%)!important}
.novera-story .nv-story-rating--reference .nv-rating-row>div>i{display:block!important;height:100%!important;border-radius:inherit!important;background:var(--nv-accent)!important}
.novera-story .nv-story-rating--reference .nv-rating-row>em{color:var(--nv-muted)!important;font-size:9px!important;font-style:normal!important;text-align:right!important}

.novera-story .nv-story-comments-wrap{margin-top:26px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.novera-story .nv-story-comments-wrap .nv-story-section-head{padding:0 0 12px!important;border-bottom:0!important}
.novera-story .nv-story-comments-wrap .nv-story-section-head span{font-size:8px!important;letter-spacing:.18em!important}
.novera-story .nv-story-comments-wrap .nv-story-section-head h2{margin-top:5px!important;font-size:24px!important}
.novera-story .nv-story-comments-wrap .nv-story-section-head h2 strong{color:var(--nv-accent)!important;font-weight:800!important}
.novera-story .nv-story-comments-wrap .fictioneer-comments{margin-top:8px!important;background:transparent!important}
.novera-story .nv-story-comments-wrap .load-more-list-item{margin:0!important;padding:0!important}
.novera-story .nv-story-comments-wrap .load-more-comments-button{width:100%!important;min-height:38px!important;border:1px dashed color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 34%,transparent)!important;border-radius:7px!important;background:transparent!important;color:var(--nv-muted)!important;box-shadow:none!important;font-size:10px!important}
.novera-story .nv-story-comments-wrap .load-more-comments-button:hover{color:var(--nv-accent)!important;border-color:color-mix(in srgb,var(--nv-accent) 40%,var(--layout-lineart-color,var(--nv-line)))!important}
.novera-story .nv-story-comments-wrap .fictioneer-comments__list>ul{margin:0!important;padding:0!important}
.novera-story .nv-story-comments-wrap .fictioneer-comment,.novera-story .nv-story-comments-wrap .comment{box-shadow:none!important}

@media(max-width:620px){
  .novera-story .nv-story-footer--compact .story__meta{justify-content:center!important;gap:12px 18px!important}
  .novera-story .nv-story-community-tabs{grid-template-columns:1fr!important;min-height:auto!important}
  .novera-story .nv-story-community-tab{min-height:36px!important;font-size:8px!important}
  .novera-story .nv-story-rating--reference{grid-template-columns:1fr!important;gap:18px!important;padding:20px 16px!important}
  .novera-story .nv-story-rating--reference .nv-story-rating__main{padding:0 0 16px!important;border-right:0!important;border-bottom:1px solid color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 24%,transparent)!important}
  .novera-story .nv-story-rating--reference .nv-rating-row{grid-template-columns:18px minmax(0,1fr) 34px!important;gap:7px!important}
  .novera-story .nv-story-comments-wrap{margin-top:22px!important}
}


/* v0.3.36 — comportamento visual das tabs */
.novera-story .nv-story-community-tab{
  cursor:pointer!important;
}

.novera-story #nv-story-rating-section,
.novera-story #nv-story-comments-section{
  scroll-margin-top:90px!important;
}


/* ==========================================================
   NOVERA STORY v0.3.38 — abas comunitárias robustas
   Base: v0.3.36.
   Não move o HTML dos comentários nem altera o Fictioneer.
   Apenas alterna visibilidade entre as seções existentes.
   ========================================================== */

/* Estado inicial controlado pelo JS */
.novera-story .nv-story-rating--reference.nv-community-panel-hidden{
  display:none!important;
}

.novera-story .nv-story-comments-wrap.nv-community-panel-hidden{
  display:none!important;
}

.novera-story .nv-story-rating--reference.nv-community-panel-active{
  display:grid!important;
}

.novera-story .nv-story-comments-wrap.nv-community-panel-active{
  display:block!important;
}

/* Quando comentários estão ativos, eles sobem para perto da barra de abas */
.novera-story .nv-story-comments-wrap.nv-community-panel-active{
  margin-top:20px!important;
}

/* Estado ativo da aba */
.novera-story .nv-story-community-tab{
  cursor:pointer!important;
}

.novera-story .nv-story-community-tab.is-active{
  color:var(--nv-text)!important;
  background:color-mix(in srgb,var(--nv-accent) 9%,var(--page-bg-color) 91%)!important;
}

/* Evita salto visual no mobile */
@media(max-width:620px){
  .novera-story .nv-story-comments-wrap.nv-community-panel-active{
    margin-top:16px!important;
  }
}


/* ==========================================================
   Novera Story v0.3.39 — refinamento visual conservador
   Base: v0.3.38 estável
   Mantém lógica/HTML/abas de avaliações e comentários intactos.
   ========================================================== */

/* 1) Compacta a apresentação superior sem desmontar o layout */
body.single-fcn_story .novera-story,
body.single-fcn_story .story,
body.single-fcn_story .fictioneer-story {
  --nvs-refine-gap: 1rem;
}

/* Aproxima o bloco de métricas da apresentação da obra */
body.single-fcn_story :where(
  .story__stats,
  .story-stats,
  .fictioneer-story__stats,
  .novera-story-stats,
  .nvs-stats,
  .story__statistics,
  .story-statistics
) {
  margin-top: 1.25rem !important;
}

/* Reduz excesso de espaço no bloco inicial quando houver grid/flex com min-height */
body.single-fcn_story :where(
  .story__header,
  .story-header,
  .fictioneer-story__header,
  .novera-story-header,
  .nvs-story-header,
  .story__overview,
  .story-overview
) {
  min-height: 0 !important;
  padding-bottom: 1rem !important;
}

/* Capa: só um pouco mais presente */
body.single-fcn_story :where(
  .story__cover img,
  .story-cover img,
  .fictioneer-story__cover img,
  .novera-story-cover img,
  .nvs-cover img
) {
  transform: scale(1.04);
  transform-origin: top center;
}

/* Título: preserva presença, mas evita estourar com títulos longos */
body.single-fcn_story :where(
  .story__title,
  .story-title,
  .fictioneer-story__title,
  .novera-story-title,
  .nvs-title,
  h1.entry-title
) {
  font-size: clamp(2.1rem, 3.4vw, 3.5rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.025em;
}

/* Categorias / badges superiores: um pouco mais fáceis de ler */
body.single-fcn_story :where(
  .story__tags a,
  .story-tags a,
  .story__genres a,
  .story-genres a,
  .fictioneer-story__tags a,
  .fictioneer-story__genres a,
  .novera-story-genres a,
  .nvs-genres a,
  .story__header .tag,
  .story__header .badge
) {
  min-height: 24px;
  padding: 4px 8px !important;
  line-height: 1.1 !important;
}

/* Métricas: números mais evidentes */
body.single-fcn_story :where(
  .story__stats,
  .story-stats,
  .fictioneer-story__stats,
  .novera-story-stats,
  .nvs-stats,
  .story__statistics,
  .story-statistics
) :where(
  strong,
  b,
  .value,
  .stat__value,
  .story-stat__value
) {
  font-size: 1.08em !important;
  font-weight: 750 !important;
}

/* Tags secundárias mais próximas e organizadas */
body.single-fcn_story :where(
  .story__meta-tags,
  .story-meta-tags,
  .novera-story-tags,
  .nvs-tags,
  .story__tags-secondary
) {
  margin-top: 1rem !important;
}

/* Linha social/observação: um pouco mais legível */
body.single-fcn_story :where(
  .story__social,
  .story-social,
  .fictioneer-story__social,
  .novera-story-social,
  .nvs-social,
  .story__notice,
  .story-notice
) {
  opacity: .84;
}

/* 2) Lista de capítulos — mantém estrutura, melhora hierarquia */
body.single-fcn_story :where(
  .chapter-group__list,
  .story__chapters,
  .story-chapters,
  .fictioneer-story__chapters,
  .novera-story-chapters,
  .nvs-chapters
) :where(
  .chapter__title,
  .chapter-title,
  .story-chapter__title,
  .nvs-chapter-title
) {
  font-weight: 700 !important;
}

body.single-fcn_story :where(
  .chapter-group__list,
  .story__chapters,
  .story-chapters,
  .fictioneer-story__chapters,
  .novera-story-chapters,
  .nvs-chapters
) :where(
  .chapter__meta,
  .chapter-meta,
  .story-chapter__meta,
  .nvs-chapter-meta
) {
  opacity: .68;
}

/* Botão/faixa "Mostrar mais": corrige contraste sobretudo no dark */
body.single-fcn_story :where(
  .chapter-group__expand,
  .chapter-group__more,
  .story__chapters-more,
  .story-chapters-more,
  .fictioneer-story__chapters-more,
  .novera-story-show-more,
  .nvs-show-more,
  [class*="show-more"],
  [class*="load-more"]
) {
  background: color-mix(in srgb, var(--bg-700, #1f2937) 8%, transparent) !important;
  border: 1px dashed color-mix(in srgb, currentColor 18%, transparent) !important;
  color: inherit !important;
  opacity: .82;
  border-radius: 8px !important;
  transition: opacity .18s ease, background .18s ease, border-color .18s ease;
}

body.single-fcn_story :where(
  .chapter-group__expand,
  .chapter-group__more,
  .story__chapters-more,
  .story-chapters-more,
  .fictioneer-story__chapters-more,
  .novera-story-show-more,
  .nvs-show-more,
  [class*="show-more"],
  [class*="load-more"]
):hover {
  opacity: 1;
  background: color-mix(in srgb, var(--primary-400, #3b82f6) 8%, transparent) !important;
  border-color: color-mix(in srgb, var(--primary-400, #3b82f6) 35%, transparent) !important;
}

/* 3) Avaliações — hierarquia mais clara, sem mexer nas tabs */
body.single-fcn_story :where(
  .story__rating,
  .story-rating,
  .fictioneer-story__rating,
  .novera-story-rating,
  .nvs-rating,
  .rating-overview
) :where(
  .rating-value,
  .rating__value,
  .score,
  strong
) {
  font-size: 1.18em !important;
  line-height: 1 !important;
}

body.single-fcn_story :where(
  .story__rating,
  .story-rating,
  .fictioneer-story__rating,
  .novera-story-rating,
  .nvs-rating,
  .rating-overview
) :where(
  .stars,
  .rating-stars,
  .rating__stars
) {
  transform: scale(1.05);
  transform-origin: left center;
}

/* Compacta levemente a distribuição interna do painel de avaliações */
body.single-fcn_story :where(
  .story__rating,
  .story-rating,
  .fictioneer-story__rating,
  .novera-story-rating,
  .nvs-rating,
  .rating-overview,
  .rating-summary
) {
  column-gap: 1.25rem !important;
}

/* 4) Dark mode: garante contraste suficiente no "Mostrar mais" */
@media (prefers-color-scheme: dark) {
  body.single-fcn_story :where(
    .chapter-group__expand,
    .chapter-group__more,
    .story__chapters-more,
    .story-chapters-more,
    .fictioneer-story__chapters-more,
    .novera-story-show-more,
    .nvs-show-more,
    [class*="show-more"],
    [class*="load-more"]
  ) {
    background: rgba(255,255,255,.025) !important;
    border-color: rgba(255,255,255,.12) !important;
  }
}

/* Mobile: não força escala de capa/título além do necessário */
@media (max-width: 768px) {
  body.single-fcn_story :where(
    .story__cover img,
    .story-cover img,
    .fictioneer-story__cover img,
    .novera-story-cover img,
    .nvs-cover img
  ) {
    transform: none;
  }

  body.single-fcn_story :where(
    .story__title,
    .story-title,
    .fictioneer-story__title,
    .novera-story-title,
    .nvs-title,
    h1.entry-title
  ) {
    font-size: clamp(1.85rem, 8vw, 2.55rem) !important;
  }
}


/* ==========================================================
   Novera Story v0.3.42 — cantos do painel principal
   Referência técnica: Fictioneer 5.35.3
   Estrutura real:
   main.story
     ├─ .main__background.polygon
     └─ .main__wrapper
          └─ .story__article
   ========================================================== */

/*
 * A superfície cinza/branca visível da página é .main__background.
 * O Fictioneer também adiciona a classe .polygon nesse elemento.
 * Por isso, apenas border-radius em blocos internos não corrigia o topo.
 *
 * Esta regra atua somente em páginas Story e não altera capítulos.
 */
body.single-fcn_story .main.story > .main__background {
  border-radius: 14px !important;
  clip-path: none !important;
  overflow: hidden !important;
}

/* A textura/pseudo-elemento acompanha o recorte do painel. */
body.single-fcn_story .main.story > .main__background::before {
  border-radius: inherit !important;
}

/* Mobile: mesma linguagem visual, com raio um pouco menor. */
@media (max-width: 639px) {
  body.single-fcn_story .main.story > .main__background {
    border-radius: 12px !important;
  }
}


/* ==========================================================
   Novera Story v0.3.43 — fundo unificado com Fictioneer 5.35.3
   ----------------------------------------------------------
   A página Story passa a usar o mesmo fundo global do site.
   Nenhuma cor é fixada: --site-bg-color continua sendo
   controlado pelo Fictioneer nos modos claro e escuro.
   ========================================================== */

/* Remove somente a superfície intermediária da Story. */
body.single-fcn_story .main.story > .main__background {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  clip-path: none !important;
  border-radius: 0 !important;
}

/* O pseudo-elemento polygon não pode recriar a segunda camada. */
body.single-fcn_story .main.story > .main__background::before {
  content: none !important;
  display: none !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Wrappers estruturais continuam sem superfície própria. */
body.single-fcn_story .main.story,
body.single-fcn_story .main.story > .main__wrapper,
body.single-fcn_story .main.story .story__article,
body.single-fcn_story .main.story .story__article-container,
body.single-fcn_story .novera-story__wrapper,
body.single-fcn_story .novera-story__article {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* v0.3.44 — acabamento visual Novera da página de obra */
.novera-story__wrapper{max-width:1180px!important;padding-inline:28px!important}
.novera-story__article{--nv-story-radius:18px}

/* Hero editorial: mais hierarquia, menos aparência de bloco genérico */
.nv-story-hero{grid-template-columns:230px minmax(0,1fr);gap:42px;min-height:0;padding:34px 38px;border-radius:var(--nv-story-radius);box-shadow:none}
.nv-story-hero:before{inset:-100px -80px -100px 48%;opacity:.12;filter:blur(70px) saturate(1.08)}
.nv-story-hero:after{background:linear-gradient(100deg,var(--nv-panel) 0%,color-mix(in srgb,var(--nv-panel) 96%,transparent) 58%,color-mix(in srgb,var(--nv-panel) 78%,transparent) 100%)}
.nv-story-hero__cover{border:1px solid color-mix(in srgb,var(--nv-line) 86%,transparent);border-radius:14px;box-shadow:0 18px 42px rgba(0,0,0,.18);transform:none}
.nv-story-hero__body{align-self:start;padding-top:2px}
.nv-story-taxonomies{gap:6px;margin-bottom:12px}
.nv-story-pill{min-height:24px;padding:3px 8px;font-size:9px;letter-spacing:.055em;background:color-mix(in srgb,var(--nv-panel-2) 88%,transparent)}
.nv-story-title{max-width:760px;font-size:clamp(38px,4vw,58px)!important;line-height:1.04!important;letter-spacing:-.04em}
.nv-story-author{margin-top:8px;font-size:12px}
.nv-story-hero-summary{max-width:820px;margin-top:18px!important;color:var(--nv-muted)!important;font-size:14px;line-height:1.72}
.nv-story-hero-summary>p:first-child{margin-top:0!important}.nv-story-hero-summary>p:last-child{margin-bottom:0!important}
.nv-story-primary-actions{margin-top:20px;gap:8px}
.nv-story-btn{min-height:40px;padding:0 15px;border-radius:8px;font-size:12px;box-shadow:none}
.nv-story-btn:hover{transform:none;background:var(--nv-accent-soft)}
.nv-story-btn._primary:hover{filter:brightness(1.05);background:var(--nv-accent)!important}
/* As ações nativas — incluindo Baixar offline — preservam comportamento e posição. */
.nv-story-native-actions{margin-top:12px;gap:7px}

/* Estatísticas: cards discretos no mesmo vocabulário visual do Novera */
.nv-story-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:14px;padding:0;border:0!important;background:transparent!important;box-shadow:none;overflow:visible}
.nv-story-stat{min-height:66px;display:flex;flex-direction:column;justify-content:center;padding:11px 10px;border:1px solid var(--nv-line)!important;border-radius:11px;background:var(--nv-panel)!important;text-align:center}
.nv-story-stat strong{font-size:16px;line-height:1.15}.nv-story-stat span{margin-top:5px;font-size:8px;letter-spacing:.09em}

/* Tags e ações secundárias passam a formar uma faixa leve, sem caixas competindo com o hero */
.nv-story-summary-section--share-only{margin-top:12px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.nv-story-summary-section--share-only:empty{display:none}
.nv-story-tags{margin-top:14px;padding:12px 0 16px;gap:12px}
.nv-story-tags a{border:1px solid var(--nv-line);background:transparent!important;transition:border-color .16s ease,color .16s ease}
.nv-story-tags a:hover{border-color:color-mix(in srgb,var(--nv-accent) 55%,var(--nv-line));color:var(--nv-text)!important}
.nv-story-lower-actions{margin-top:8px!important;padding:13px 0 16px!important;border-top:0!important;border-bottom:1px solid var(--nv-line)}
.nv-story-rights{opacity:.78}

/* Biblioteca / capítulos */
.nv-story-chapter-shell{margin-top:22px;padding:0;border-radius:var(--nv-story-radius);box-shadow:none;overflow:hidden}
.nv-story-library-tabs{min-height:48px;padding:0 16px;border-bottom:1px solid var(--nv-line);background:color-mix(in srgb,var(--nv-panel-2) 55%,var(--nv-panel))}
.nv-story-library-tab{min-height:48px!important;padding:0 16px!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:transparent!important;color:var(--nv-muted)!important;font-size:10px!important;font-weight:800!important;letter-spacing:.035em;text-transform:uppercase;box-shadow:none!important}
.nv-story-library-tab.is-active{border-bottom-color:var(--nv-accent)!important;color:var(--nv-text)!important;background:transparent!important}
.nv-story-library-panel{padding:24px 26px 26px}
.nv-story-chapter-heading{align-items:center;margin-bottom:16px;padding-bottom:16px}
.nv-story-chapter-heading h2{font-size:24px!important}.nv-story-chapter-search{width:min(390px,48%);border-radius:10px}
.nv-story-native-chapters .story__tabs{margin-bottom:10px!important}
.nv-story-native-chapters .tabs{border-radius:10px}
.nv-story-native-chapters .chapter-group{border-radius:12px;background:transparent!important;overflow:hidden}
.nv-story-native-chapters .chapter-group__list-item{min-height:58px;padding-inline:4px!important;transition:background .14s ease,border-color .14s ease}
.nv-story-native-chapters .chapter-group__list-item:nth-child(even){background:color-mix(in srgb,var(--nv-panel-2) 42%,transparent)!important}
.nv-story-native-chapters .chapter-group__list-item:hover{background:var(--nv-accent-soft)!important}
.nv-story-native-chapters .chapter-group__list-item-link{font-size:13px;font-weight:720}
.nv-story-native-chapters .chapter-group__list-item-meta{font-size:10px}
/* Divisores/fold de listas longas do Fictioneer */
.nv-story-native-chapters :is(.chapter-group__fold,.chapter-group__folding-toggle,.chapter-group__list-fold,.folding-toggle){border-color:var(--nv-line)!important;background:color-mix(in srgb,var(--nv-panel-2) 68%,transparent)!important;color:var(--nv-muted)!important;border-radius:9px!important}

/* Mais do autor: cards com leitura mais editorial */
.nv-story-author-grid{gap:12px!important}
.nv-story-author-card{border:1px solid var(--nv-line)!important;border-radius:12px!important;background:var(--nv-panel-2)!important;overflow:hidden;box-shadow:none!important;transition:transform .16s ease,border-color .16s ease}
.nv-story-author-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--nv-accent) 48%,var(--nv-line))!important}

/* Avaliação / comunidade: um único bloco coeso */
.nv-story-rating{margin-top:22px;grid-template-columns:190px minmax(250px,1fr) minmax(240px,.8fr);gap:24px;padding:24px 26px;border-radius:var(--nv-story-radius);box-shadow:none}
.nv-story-rating__main{padding-right:24px}.nv-story-rating__score strong{font-size:38px}.nv-story-rating__stars button{font-size:20px}
.nv-story-rating__distribution{padding-right:24px}.nv-rating-row{margin:6px 0}
.nv-story-comments-wrap{margin-top:18px;padding:26px;border-radius:var(--nv-story-radius);box-shadow:none}

/* Light mode mantém contraste e profundidade sem ficar acinzentado demais */
:root[data-mode="light"] .novera-story .nv-story-hero,
:root[data-mode="light"] .novera-story .nv-story-stat,
:root[data-mode="light"] .novera-story .nv-story-chapter-shell,
:root[data-mode="light"] .novera-story .nv-story-rating,
:root[data-mode="light"] .novera-story .nv-story-comments-wrap{box-shadow:0 8px 28px rgba(20,37,63,.045)}

@media(max-width:1000px){
  .novera-story__wrapper{padding-inline:22px!important}
  .nv-story-hero{grid-template-columns:200px minmax(0,1fr);gap:28px;padding:28px}
  .nv-story-stats{grid-template-columns:repeat(3,1fr)}
  .nv-story-rating{grid-template-columns:180px 1fr}
}
@media(max-width:700px){
  .novera-story__wrapper{padding-inline:14px!important}
  .nv-story-hero{grid-template-columns:1fr;gap:20px;padding:20px}
  .nv-story-hero__cover{width:142px;margin:0 auto}
  .nv-story-hero__body{text-align:left;padding-top:0}
  .nv-story-taxonomies,.nv-story-primary-actions,.nv-story-native-actions{justify-content:flex-start}
  .nv-story-title{font-size:34px!important}
  .nv-story-hero-summary{font-size:13px;line-height:1.65}
  .nv-story-stats{grid-template-columns:repeat(2,1fr);gap:7px}
  .nv-story-stat{min-height:60px;border:1px solid var(--nv-line)!important}
  .nv-story-library-tabs{overflow-x:auto;padding-inline:8px}
  .nv-story-library-panel{padding:20px 16px}
  .nv-story-chapter-heading{align-items:stretch;flex-direction:column}
  .nv-story-chapter-search{width:100%}
  .nv-story-rating{grid-template-columns:1fr;padding:20px 18px}
  .nv-story-rating__main{padding:0 0 18px;border-right:0;border-bottom:1px solid var(--nv-line)}
}


/* ==========================================================
   Novera Story v0.3.46 — refinamento seguro sobre v0.3.44
   ----------------------------------------------------------
   Importante: NÃO altera a composição do Hero. Mantém capa,
   título e sinopse exatamente no fluxo estável da v0.3.44.
   Atua somente em estatísticas, lista de capítulos, expansão
   e comunidade/avaliações.
   ========================================================== */

/* Estatísticas — mais presença sem mudar posição ou largura do Hero. */
.novera-story .nv-story-stats{
  gap:10px!important;
  margin-top:18px!important;
}
.novera-story .nv-story-stat{
  min-height:72px!important;
  padding:13px 12px!important;
  border-radius:12px!important;
  transition:border-color .16s ease, background-color .16s ease!important;
}
.novera-story .nv-story-stat strong{
  font-size:17px!important;
  font-weight:800!important;
  letter-spacing:-.015em!important;
}
.novera-story .nv-story-stat span{
  margin-top:6px!important;
  font-size:8px!important;
  font-weight:800!important;
  letter-spacing:.105em!important;
  text-transform:uppercase!important;
}

/* Lista de capítulos — linhas independentes no estilo Novera.
   Sem tocar no WP_Query, paginação, folding ou JavaScript nativo. */
.novera-story .nv-story-native-chapters .chapter-group{
  display:grid!important;
  gap:8px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle){
  min-height:62px!important;
  margin:0!important;
  border:1px solid var(--nv-line)!important;
  border-radius:11px!important;
  background:var(--nv-panel)!important;
  overflow:hidden!important;
  box-shadow:none!important;
  transition:border-color .16s ease, background-color .16s ease, transform .16s ease!important;
}
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle):nth-child(even){
  background:var(--nv-panel)!important;
}
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle):hover{
  border-color:color-mix(in srgb,var(--nv-accent) 42%,var(--nv-line))!important;
  background:color-mix(in srgb,var(--nv-accent-soft) 44%,var(--nv-panel))!important;
  transform:translateY(-1px)!important;
}
.novera-story .nv-story-native-chapters .chapter-group__list-item-link{
  font-size:13px!important;
  font-weight:760!important;
  line-height:1.35!important;
}
.novera-story .nv-story-native-chapters .chapter-group__list-item-meta{
  margin-top:3px!important;
  font-size:10px!important;
  line-height:1.35!important;
}

/* Marcador CAP / número fica um pouco mais limpo dentro dos novos cards. */
.novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle)::before,
.novera-story .nv-story-native-chapters .chapter-group__list-item._checked:not(._folding-toggle)::before,
.novera-story .nv-story-native-chapters .chapter-group__list-item[data-read="true"]:not(._folding-toggle)::before{
  background:color-mix(in srgb,var(--nv-accent) 10%,var(--nv-panel-2))!important;
  border:1px solid color-mix(in srgb,var(--nv-accent) 18%,var(--nv-line))!important;
}

/* Expansão de listas longas — botão/divisor discreto, sem aparência técnica. */
.novera-story .nv-story-native-chapters :is(
  .chapter-group__fold,
  .chapter-group__folding-toggle,
  .chapter-group__list-fold,
  .folding-toggle,
  ._folding-toggle
){
  min-height:46px!important;
  margin:4px 0!important;
  border:1px dashed color-mix(in srgb,var(--nv-accent) 38%,var(--nv-line))!important;
  border-radius:10px!important;
  background:color-mix(in srgb,var(--nv-accent) 4%,transparent)!important;
  color:var(--nv-muted)!important;
  font-size:9px!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  box-shadow:none!important;
}
.novera-story .nv-story-native-chapters :is(
  .chapter-group__fold,
  .chapter-group__folding-toggle,
  .chapter-group__list-fold,
  .folding-toggle,
  ._folding-toggle
):hover{
  color:var(--nv-text)!important;
  border-color:color-mix(in srgb,var(--nv-accent) 62%,var(--nv-line))!important;
  background:var(--nv-accent-soft)!important;
}

/* Avaliações/comunidade — melhora a coesão sem mudar a estrutura da seção. */
.novera-story .nv-story-rating{
  gap:24px!important;
  padding:26px 28px!important;
  border-radius:14px!important;
}
.novera-story .nv-story-rating__score strong{
  font-size:40px!important;
  letter-spacing:-.035em!important;
}
.novera-story .nv-story-rating__distribution{
  padding-right:24px!important;
}
.novera-story .nv-rating-row{
  margin:7px 0!important;
}
.novera-story .nv-story-comments-wrap{
  margin-top:18px!important;
  border-radius:14px!important;
}

/* Dark/light continuam usando somente as variáveis do Fictioneer/Novera. */
:root[data-mode="light"] .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle){
  box-shadow:0 5px 16px rgba(20,37,63,.025)!important;
}

@media(max-width:700px){
  .novera-story .nv-story-stats{gap:7px!important}
  .novera-story .nv-story-stat{min-height:64px!important;padding:11px 9px!important}
  .novera-story .nv-story-native-chapters .chapter-group{gap:7px!important}
  .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle){
    min-height:58px!important;
    transform:none!important;
  }
  .novera-story .nv-story-rating{padding:20px 18px!important}
}

/* v0.3.47 — alinhamento com o eixo do cabeçalho do Fictioneer
   O header usa max-width: var(--site-width). Mantemos o mesmo eixo aqui,
   sem alterar Hero, capítulos, estatísticas ou demais componentes. */
body.single-fcn_story .novera-story__wrapper{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:var(--site-width)!important;
  margin-inline:auto!important;
}

/* O espaçamento horizontal continua responsivo, mas agora dentro do mesmo
   limite visual do cabeçalho do tema. */
@media (min-width:400px){
  body.single-fcn_story .novera-story__wrapper{
    padding-left:var(--layout-spacing-horizontal)!important;
    padding-right:var(--layout-spacing-horizontal)!important;
  }
}
@media (max-width:399px){
  body.single-fcn_story .novera-story__wrapper{
    padding-left:var(--layout-spacing-horizontal-small)!important;
    padding-right:var(--layout-spacing-horizontal-small)!important;
  }
}


/* ==========================================================
   NOVERA STORY v0.3.48 — respiro entre estatísticas, ações e abas
   Base: v0.3.47. Somente espaçamento; não altera componentes.
   ========================================================== */

/* Desktop/tablet: separa visualmente cada grupo sem criar vazios excessivos. */
.novera-story .nv-story-stats{
  margin-bottom:22px!important;
}

.novera-story .nv-story-lower-actions{
  margin-top:18px!important;
  margin-bottom:0!important;
  padding-top:18px!important;
  padding-bottom:20px!important;
  border-top:1px solid color-mix(
    in srgb,
    var(--layout-lineart-color,var(--nv-line)) 24%,
    transparent
  )!important;
  border-bottom:1px solid var(--nv-line)!important;
}

.novera-story .nv-story-rights{
  margin-bottom:0!important;
}

.novera-story .nv-story-lower-actions__row{
  margin-top:16px!important;
  gap:20px!important;
}

/* Dá respiro real antes da barra "Capítulos / Mais do autor". */
.novera-story .nv-story-lower-actions + .nv-story-chapter-shell,
.novera-story .nv-story-lower-actions ~ .nv-story-chapter-shell{
  margin-top:24px!important;
}

/* Se houver bloco de conquistas entre ações e capítulos, ele também respira. */
.novera-story .nv-story-lower-actions + :not(.nv-story-chapter-shell){
  margin-top:18px!important;
}

/* Mobile: mantém os grupos separados sem desperdiçar altura. */
@media(max-width:700px){
  .novera-story .nv-story-stats{
    margin-bottom:18px!important;
  }
  .novera-story .nv-story-lower-actions{
    margin-top:14px!important;
    padding-top:14px!important;
    padding-bottom:16px!important;
  }
  .novera-story .nv-story-lower-actions__row{
    margin-top:14px!important;
    gap:12px!important;
  }
  .novera-story .nv-story-lower-actions + .nv-story-chapter-shell,
  .novera-story .nv-story-lower-actions ~ .nv-story-chapter-shell{
    margin-top:18px!important;
  }
  .novera-story .nv-story-lower-actions + :not(.nv-story-chapter-shell){
    margin-top:14px!important;
  }
}

/* ==========================================================
   NOVERA STORY v0.3.50 — barra de estatísticas corrigida
   Base limpa: v0.3.48
   Desktop: 5 blocos iguais em uma linha.
   Mobile: 3 blocos na primeira linha e 2 na segunda,
   seguindo a referência enviada pelo usuário.
   ========================================================== */
body.single-fcn_story .novera-story .nv-story-stats--compact{
  display:grid!important;
  width:min(100%,760px)!important;
  max-width:760px!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  gap:0!important;
  margin:24px auto 22px!important;
  padding:0!important;
  border:0!important;
  border-radius:12px!important;
  background:color-mix(in srgb,var(--page-bg-color) 96%,var(--nv-text) 4%)!important;
  box-shadow:none!important;
  overflow:hidden!important;
}

body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:66px!important;
  padding:11px 12px 10px!important;
  gap:6px!important;
  text-align:center!important;
  border:0!important;
  border-right:1px solid color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 42%,transparent)!important;
  border-radius:0!important;
  background:transparent!important;
}

body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat:last-child{
  border-right:0!important;
}

body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat strong{
  margin:0!important;
  font-size:17px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:-.01em!important;
  white-space:nowrap!important;
  color:var(--nv-text)!important;
}

body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat span{
  margin:0!important;
  font-size:7px!important;
  line-height:1.15!important;
  font-weight:800!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  color:var(--nv-muted)!important;
}

:root[data-mode="dark"] body.single-fcn_story .novera-story .nv-story-stats--compact,
:root:not([data-mode="light"]) body.single-fcn_story .novera-story .nv-story-stats--compact{
  background:color-mix(in srgb,var(--page-bg-color) 92%,#fff 8%)!important;
}

:root[data-mode="light"] body.single-fcn_story .novera-story .nv-story-stats--compact{
  background:color-mix(in srgb,var(--page-bg-color) 95%,#000 5%)!important;
}

@media(max-width:700px){
  body.single-fcn_story .novera-story .nv-story-stats--compact{
    width:100%!important;
    max-width:440px!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,58px)!important;
    margin:20px auto 18px!important;
    border-radius:10px!important;
  }

  body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat{
    min-height:58px!important;
    height:58px!important;
    padding:9px 7px 8px!important;
    border-right:1px solid color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 42%,transparent)!important;
    border-bottom:1px solid color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 42%,transparent)!important;
  }

  /* Linha 1: Capítulos | Palavras | Comentários */
  body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat:nth-child(1){
    grid-column:1 / span 2!important;
    grid-row:1!important;
  }
  body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat:nth-child(2){
    grid-column:3 / span 2!important;
    grid-row:1!important;
  }
  body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat:nth-child(4){
    grid-column:5 / span 2!important;
    grid-row:1!important;
    border-right:0!important;
  }

  /* Linha 2: Visualizações | Frequência */
  body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat:nth-child(3){
    grid-column:1 / span 3!important;
    grid-row:2!important;
    border-bottom:0!important;
  }
  body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat:nth-child(5){
    grid-column:4 / span 3!important;
    grid-row:2!important;
    border-right:0!important;
    border-bottom:0!important;
  }

  body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat strong{
    font-size:15px!important;
  }
  body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat span{
    font-size:6.5px!important;
    letter-spacing:.12em!important;
  }
}

@media(max-width:390px){
  body.single-fcn_story .novera-story .nv-story-stats--compact{
    grid-template-rows:repeat(2,56px)!important;
  }
  body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat{
    min-height:56px!important;
    height:56px!important;
    padding-inline:5px!important;
  }
  body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat strong{
    font-size:14px!important;
  }
  body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat span{
    font-size:6px!important;
    letter-spacing:.1em!important;
  }
}


/* ==========================================================
   NOVERA STORY v0.3.51 — refinamento visual da barra
   Mantém a estrutura 5 colunas desktop / 3+2 mobile da v0.3.50.
   Aproxima proporções da referência: barra mais baixa, tipografia
   menos pesada e divisórias mais discretas.
   ========================================================== */
body.single-fcn_story .novera-story .nv-story-stats--compact{
  margin:28px auto 26px!important;
  border-radius:11px!important;
}
body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat{
  min-height:54px!important;
  padding:8px 11px 7px!important;
  gap:4px!important;
  border-right-color:color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 28%,transparent)!important;
}
body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat strong{
  font-size:15px!important;
  font-weight:750!important;
  letter-spacing:0!important;
}
body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat span{
  font-size:6.5px!important;
  line-height:1.1!important;
  letter-spacing:.13em!important;
  opacity:.88!important;
}

@media(max-width:700px){
  body.single-fcn_story .novera-story .nv-story-stats--compact{
    grid-template-rows:repeat(2,50px)!important;
    margin:24px auto 22px!important;
    border-radius:10px!important;
  }
  body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat{
    min-height:50px!important;
    height:50px!important;
    padding:7px 6px 6px!important;
    gap:3px!important;
    border-right-color:color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 28%,transparent)!important;
    border-bottom-color:color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 28%,transparent)!important;
  }
  body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat strong{
    font-size:14px!important;
  }
  body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat span{
    font-size:6.2px!important;
    letter-spacing:.11em!important;
  }
}

@media(max-width:390px){
  body.single-fcn_story .novera-story .nv-story-stats--compact{
    grid-template-rows:repeat(2,48px)!important;
  }
  body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat{
    min-height:48px!important;
    height:48px!important;
  }
  body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat strong{
    font-size:13.5px!important;
  }
  body.single-fcn_story .novera-story .nv-story-stats--compact > .nv-story-stat span{
    font-size:6px!important;
  }
}

/* ==========================================================
   NOVERA STORY v0.3.52 — centralização vertical das estatísticas
   Mantém dimensões e estrutura da v0.3.51; ajusta apenas o
   respiro externo para equilibrar a barra entre o conteúdo
   superior e os blocos inferiores (compartilhamento/tags).
   ========================================================== */
body.single-fcn_story .novera-story .nv-story-stats--compact{
  margin-top:34px!important;
  margin-bottom:38px!important;
}

@media(max-width:700px){
  body.single-fcn_story .novera-story .nv-story-stats--compact{
    margin-top:30px!important;
    margin-bottom:30px!important;
  }
}

@media(max-width:390px){
  body.single-fcn_story .novera-story .nv-story-stats--compact{
    margin-top:28px!important;
    margin-bottom:28px!important;
  }
}


/* ==========================================================
   NOVERA STORY v0.3.53 — respiro e recorte do primeiro capítulo
   Corrige o início da lista logo abaixo das abas da biblioteca.
   Mantém intacta a barra de estatísticas da v0.3.52.
   ========================================================== */
body.single-fcn_story .novera-story .nv-story-chapter-shell{
  overflow:visible!important;
}
body.single-fcn_story .novera-story #nv-library-panel-chapters{
  padding-top:22px!important;
  overflow:visible!important;
}
body.single-fcn_story .novera-story .nv-story-native-chapters,
body.single-fcn_story .novera-story .nv-story-native-chapters .chapter-group{
  overflow:visible!important;
}
body.single-fcn_story .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle):first-child{
  margin-top:0!important;
  position:relative;
  z-index:1;
}

@media(max-width:700px){
  body.single-fcn_story .novera-story #nv-library-panel-chapters{
    padding-top:20px!important;
  }
}


/* ==========================================================
   NOVERA STORY v0.3.54 — status + classificação sob o autor
   Remove status/classificação da fileira de gêneros e cria uma
   linha própria, colorida e responsiva logo abaixo do autor.
   ========================================================== */
body.single-fcn_story .novera-story .nv-story-identity-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:11px;
}
body.single-fcn_story .novera-story .nv-story-identity-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:27px;
  padding:5px 10px;
  border:1px solid var(--nv-line);
  border-radius:7px;
  font-size:10px;
  font-weight:800;
  line-height:1;
  letter-spacing:.02em;
  white-space:nowrap;
  background:color-mix(in srgb,var(--nv-panel-2) 78%,transparent);
}
body.single-fcn_story .novera-story .nv-story-identity-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 0 0 3px color-mix(in srgb,currentColor 12%,transparent);
  flex:0 0 auto;
}

/* Status */
body.single-fcn_story .novera-story .nv-story-identity-badge._status._ongoing{
  color:#21b68a;
  border-color:color-mix(in srgb,#21b68a 42%,var(--nv-line));
  background:color-mix(in srgb,#21b68a 10%,transparent);
}
body.single-fcn_story .novera-story .nv-story-identity-badge._status._completed{
  color:#4c8dff;
  border-color:color-mix(in srgb,#4c8dff 42%,var(--nv-line));
  background:color-mix(in srgb,#4c8dff 10%,transparent);
}
body.single-fcn_story .novera-story .nv-story-identity-badge._status._oneshot{
  color:#9a78ff;
  border-color:color-mix(in srgb,#9a78ff 42%,var(--nv-line));
  background:color-mix(in srgb,#9a78ff 10%,transparent);
}
body.single-fcn_story .novera-story .nv-story-identity-badge._status._hiatus{
  color:#d99b32;
  border-color:color-mix(in srgb,#d99b32 44%,var(--nv-line));
  background:color-mix(in srgb,#d99b32 10%,transparent);
}
body.single-fcn_story .novera-story .nv-story-identity-badge._status._canceled{
  color:#e45b67;
  border-color:color-mix(in srgb,#e45b67 44%,var(--nv-line));
  background:color-mix(in srgb,#e45b67 10%,transparent);
}

/* Classificação etária */
body.single-fcn_story .novera-story .nv-story-identity-badge._rating._everyone{
  color:#25ad7f;
  border-color:color-mix(in srgb,#25ad7f 40%,var(--nv-line));
  background:color-mix(in srgb,#25ad7f 9%,transparent);
}
body.single-fcn_story .novera-story .nv-story-identity-badge._rating._teen{
  color:#c89a34;
  border-color:color-mix(in srgb,#c89a34 42%,var(--nv-line));
  background:color-mix(in srgb,#c89a34 9%,transparent);
}
body.single-fcn_story .novera-story .nv-story-identity-badge._rating._mature{
  color:#df7c3d;
  border-color:color-mix(in srgb,#df7c3d 42%,var(--nv-line));
  background:color-mix(in srgb,#df7c3d 9%,transparent);
}
body.single-fcn_story .novera-story .nv-story-identity-badge._rating._adult{
  color:#e45b67;
  border-color:color-mix(in srgb,#e45b67 44%,var(--nv-line));
  background:color-mix(in srgb,#e45b67 9%,transparent);
}

@media(max-width:620px){
  body.single-fcn_story .novera-story .nv-story-identity-meta{
    justify-content:center;
    margin-top:10px;
  }
  body.single-fcn_story .novera-story .nv-story-identity-badge{
    min-height:28px;
    padding:5px 10px;
  }
}


/* ==========================================================
   NOVERA STORY v0.3.55 — correção da ordem no mobile
   Mantém o desktop da v0.3.54 e posiciona status/classificação
   logo abaixo do autor também em telas pequenas.
   ========================================================== */
@media(max-width:620px){
  body.single-fcn_story .novera-story .nv-story-taxonomies{order:1!important;}
  body.single-fcn_story .novera-story .nv-story-hero__cover{order:2!important;}
  body.single-fcn_story .novera-story .nv-story-title{order:3!important;}
  body.single-fcn_story .novera-story .nv-story-author{order:4!important;}
  body.single-fcn_story .novera-story .nv-story-identity-meta{
    order:5!important;
    justify-content:center!important;
    width:100%!important;
    margin:12px 0 0!important;
  }
  body.single-fcn_story .novera-story .nv-story-hero-summary{order:6!important;}
  body.single-fcn_story .novera-story .nv-story-primary-actions{order:7!important;}
  body.single-fcn_story .novera-story .nv-story-native-actions{order:8!important;}
}


/* ==========================================================
   NOVERA STORY v0.3.57 — botões de leitura integrados ao visual Novera
   Mais sóbrios, planos e coerentes com badges/cards da página.
   ========================================================== */
body.single-fcn_story .novera-story .nv-story-primary-actions{
  gap:9px!important;
}
body.single-fcn_story .novera-story .nv-story-primary-actions .nv-story-btn{
  position:relative;
  min-height:42px!important;
  padding:0 17px!important;
  border-radius:8px!important;
  border:1px solid color-mix(in srgb,var(--nv-line) 94%,transparent)!important;
  background:color-mix(in srgb,var(--nv-panel-2) 92%,transparent)!important;
  color:var(--nv-text)!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:750!important;
  letter-spacing:.002em!important;
  line-height:1!important;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease!important;
}
body.single-fcn_story .novera-story .nv-story-primary-actions .nv-story-btn._primary{
  min-width:144px;
  border-color:color-mix(in srgb,var(--nv-accent) 64%,var(--nv-line))!important;
  background:color-mix(in srgb,var(--nv-accent) 86%,#0b1624 14%)!important;
  color:#fff!important;
  box-shadow:0 1px 0 rgba(255,255,255,.05) inset!important;
}
body.single-fcn_story .novera-story .nv-story-primary-actions .nv-story-btn._primary i{
  display:inline-block;
  width:auto;
  height:auto;
  margin:0 7px 0 0;
  border-radius:0;
  background:none!important;
  color:currentColor;
  font-size:11px;
  opacity:.92;
}
body.single-fcn_story .novera-story .nv-story-primary-actions .nv-story-btn:hover{
  transform:translateY(-1px)!important;
  border-color:color-mix(in srgb,var(--nv-accent) 34%,var(--nv-line))!important;
  background:color-mix(in srgb,var(--nv-panel-2) 88%,var(--nv-accent) 12%)!important;
  box-shadow:none!important;
}
body.single-fcn_story .novera-story .nv-story-primary-actions .nv-story-btn._primary:hover{
  background:color-mix(in srgb,var(--nv-accent) 92%,#0b1624 8%)!important;
  border-color:color-mix(in srgb,var(--nv-accent) 78%,var(--nv-line))!important;
  box-shadow:none!important;
  filter:none!important;
}
body.single-fcn_story .novera-story .nv-story-primary-actions .nv-story-btn:focus-visible{
  outline:2px solid color-mix(in srgb,var(--nv-accent) 62%,white 38%)!important;
  outline-offset:2px!important;
}
:root[data-mode="light"] body.single-fcn_story .novera-story .nv-story-primary-actions .nv-story-btn:not(._primary){
  background:color-mix(in srgb,#fff 97%,var(--nv-accent) 3%)!important;
  box-shadow:none!important;
}
:root[data-mode="light"] body.single-fcn_story .novera-story .nv-story-primary-actions .nv-story-btn._primary{
  background:color-mix(in srgb,var(--nv-accent) 92%,#0b1624 8%)!important;
}
@media(max-width:620px){
  body.single-fcn_story .novera-story .nv-story-primary-actions{
    gap:8px!important;
  }
  body.single-fcn_story .novera-story .nv-story-primary-actions .nv-story-btn{
    min-height:41px!important;
    padding:0 15px!important;
    border-radius:8px!important;
    font-size:11.75px!important;
  }
  body.single-fcn_story .novera-story .nv-story-primary-actions .nv-story-btn._primary{
    min-width:140px;
  }
}
@media(prefers-reduced-motion:reduce){
  body.single-fcn_story .novera-story .nv-story-primary-actions .nv-story-btn{transition:none!important;}
  body.single-fcn_story .novera-story .nv-story-primary-actions .nv-story-btn:hover{transform:none!important;}
}


/* ==========================================================
   NOVERA STORY v0.3.61 — Volumes nativos do Fictioneer
   Cabeçalho destacado + contador + seletor compacto.
   ========================================================== */
.novera-story .nv-story-volume-jump{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  margin:4px 0 14px!important;
}
.novera-story .nv-story-volume-jump__label{
  color:var(--nv-muted)!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.045em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
.novera-story .nv-story-volume-jump__select-wrap{
  position:relative!important;
  width:min(260px,100%)!important;
}
.novera-story .nv-story-volume-jump__select-wrap::after{
  content:'⌄'!important;
  position:absolute!important;
  right:12px!important;
  top:50%!important;
  transform:translateY(-55%)!important;
  color:var(--nv-muted)!important;
  font-size:14px!important;
  line-height:1!important;
  pointer-events:none!important;
}
.novera-story .nv-story-volume-jump__select{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:block!important;
  width:100%!important;
  min-height:36px!important;
  margin:0!important;
  padding:0 34px 0 12px!important;
  border:1px solid var(--nv-line)!important;
  border-radius:9px!important;
  background:var(--nv-panel)!important;
  color:var(--nv-text)!important;
  font:inherit!important;
  font-size:11px!important;
  font-weight:750!important;
  line-height:1!important;
  box-shadow:none!important;
  cursor:pointer!important;
  outline:none!important;
}
.novera-story .nv-story-volume-jump__select:hover,
.novera-story .nv-story-volume-jump__select:focus{
  border-color:color-mix(in srgb,var(--nv-accent) 52%,var(--nv-line))!important;
}

.novera-story .nv-story-native-chapters .chapter-group > .chapter-group__name{
  position:relative!important;
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr) auto!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  column-gap:10px!important;
  row-gap:2px!important;
  width:100%!important;
  min-height:58px!important;
  margin:8px 0 2px!important;
  padding:10px 13px!important;
  border:1px solid var(--nv-line)!important;
  border-radius:12px!important;
  background:color-mix(in srgb,var(--nv-panel-2) 72%,var(--nv-panel))!important;
  color:var(--nv-text)!important;
  text-align:left!important;
  box-shadow:none!important;
  cursor:pointer!important;
  overflow:hidden!important;
  transition:border-color .16s ease,background-color .16s ease!important;
}
.novera-story .nv-story-native-chapters .chapter-group > .chapter-group__name:hover,
.novera-story .nv-story-native-chapters .chapter-group > .chapter-group__name:focus-visible{
  border-color:color-mix(in srgb,var(--nv-accent) 48%,var(--nv-line))!important;
  background:color-mix(in srgb,var(--nv-accent-soft) 42%,var(--nv-panel))!important;
}
.novera-story .nv-story-native-chapters .chapter-group > .chapter-group__name .chapter-group__heading-icon{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  margin:0!important;
  border:1px solid color-mix(in srgb,var(--nv-accent) 20%,var(--nv-line))!important;
  border-radius:8px!important;
  background:color-mix(in srgb,var(--nv-accent) 8%,var(--nv-panel))!important;
  color:var(--nv-accent)!important;
  font-size:10px!important;
}
.novera-story .nv-story-native-chapters .chapter-group > .chapter-group__name > span:not(.nv-story-volume-count){
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  color:var(--nv-text)!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:850!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}
.novera-story .nv-story-native-chapters .chapter-group > .chapter-group__name .nv-story-volume-count{
  grid-column:2!important;
  grid-row:2!important;
  display:block!important;
  color:var(--nv-muted)!important;
  font-size:9px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:.035em!important;
  text-transform:none!important;
}
.novera-story .nv-story-native-chapters .chapter-group[data-nv-volume-ready="1"],
.novera-story .nv-story-native-chapters .story__chapters{
  scroll-margin-top:90px!important;
}

@media(max-width:700px){
  .novera-story .nv-story-volume-jump{
    justify-content:stretch!important;
    gap:8px!important;
    margin:2px 0 12px!important;
  }
  .novera-story .nv-story-volume-jump__label{
    font-size:9px!important;
  }
  .novera-story .nv-story-volume-jump__select-wrap{
    width:auto!important;
    flex:1 1 auto!important;
    min-width:0!important;
  }
  .novera-story .nv-story-volume-jump__select{
    min-height:34px!important;
    font-size:10px!important;
  }
  .novera-story .nv-story-native-chapters .chapter-group > .chapter-group__name{
    grid-template-columns:26px minmax(0,1fr) auto!important;
    min-height:54px!important;
    padding:9px 10px!important;
    border-radius:10px!important;
    column-gap:8px!important;
  }
  .novera-story .nv-story-native-chapters .chapter-group > .chapter-group__name .chapter-group__heading-icon{
    width:26px!important;
    height:26px!important;
  }
  .novera-story .nv-story-native-chapters .chapter-group > .chapter-group__name > span:not(.nv-story-volume-count){
    font-size:11px!important;
  }
}



/* ==========================================================
   NOVERA STORY v0.3.64 — selo público Novera Rights
   Exibe somente o status público autorizado pelo administrador.
   ========================================================== */
body.single-fcn_story .novera-story .nv-story-identity-badge._rights{
  color:#27b37e;
  border-color:color-mix(in srgb,#27b37e 42%,var(--nv-line));
  background:color-mix(in srgb,#27b37e 9%,transparent);
}
body.single-fcn_story .novera-story .nv-story-identity-badge._rights._licensed{
  color:#4c8dff;
  border-color:color-mix(in srgb,#4c8dff 42%,var(--nv-line));
  background:color-mix(in srgb,#4c8dff 9%,transparent);
}
body.single-fcn_story .novera-story .nv-story-identity-badge._rights._public-domain{
  color:#9a78ff;
  border-color:color-mix(in srgb,#9a78ff 42%,var(--nv-line));
  background:color-mix(in srgb,#9a78ff 9%,transparent);
}
body.single-fcn_story .novera-story .nv-story-rights-check{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:15px;
  height:15px;
  border:1.5px solid currentColor;
  border-radius:50%;
  background:transparent;
  color:inherit;
  font-size:11px;
  font-weight:900;
  line-height:1;
  text-shadow:none;
}


/* ==========================================================
   Novera Reader v0.2.5 — Analytics: leituras + visitas
   Suporta 4, 5 ou 6 estatísticas sem depender da ordem antiga.
   ========================================================== */
body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-5{grid-template-columns:repeat(5,minmax(0,1fr))!important}
body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-6{grid-template-columns:repeat(6,minmax(0,1fr))!important;width:min(100%,900px)!important;max-width:900px!important}

@media(max-width:700px){
  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-4,
  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-5,
  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-6{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    grid-auto-rows:50px!important;
    grid-template-rows:none!important;
  }
  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-6 > .nv-story-stat:nth-child(1),
  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-6 > .nv-story-stat:nth-child(2),
  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-6 > .nv-story-stat:nth-child(3){grid-row:1!important}
  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-6 > .nv-story-stat:nth-child(4),
  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-6 > .nv-story-stat:nth-child(5),
  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-6 > .nv-story-stat:nth-child(6){grid-row:2!important}
  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-6 > .nv-story-stat:nth-child(1),
  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-6 > .nv-story-stat:nth-child(4){grid-column:1 / span 2!important}
  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-6 > .nv-story-stat:nth-child(2),
  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-6 > .nv-story-stat:nth-child(5){grid-column:3 / span 2!important}
  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-6 > .nv-story-stat:nth-child(3),
  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-6 > .nv-story-stat:nth-child(6){grid-column:5 / span 2!important}

  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-5 > .nv-story-stat:nth-child(1){grid-column:1 / span 2!important;grid-row:1!important}
  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-5 > .nv-story-stat:nth-child(2){grid-column:3 / span 2!important;grid-row:1!important}
  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-5 > .nv-story-stat:nth-child(3){grid-column:5 / span 2!important;grid-row:1!important}
  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-5 > .nv-story-stat:nth-child(4){grid-column:1 / span 3!important;grid-row:2!important}
  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-5 > .nv-story-stat:nth-child(5){grid-column:4 / span 3!important;grid-row:2!important}

  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-4 > .nv-story-stat:nth-child(1){grid-column:1 / span 3!important;grid-row:1!important}
  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-4 > .nv-story-stat:nth-child(2){grid-column:4 / span 3!important;grid-row:1!important}
  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-4 > .nv-story-stat:nth-child(3){grid-column:1 / span 3!important;grid-row:2!important}
  body.single-fcn_story .novera-story .nv-story-stats--compact.nv-story-stats--count-4 > .nv-story-stat:nth-child(4){grid-column:4 / span 3!important;grid-row:2!important}

  body.single-fcn_story .novera-story .nv-story-stats--compact[class*="nv-story-stats--count-"] > .nv-story-stat{
    border-bottom:1px solid color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 28%,transparent)!important;
  }
}


/* ==========================================================
   Novera Reader v0.2.6 — Story hero refinement
   Escopo visual conservador: preserva controllers/ações nativas.
   ========================================================== */
.novera-story .nv-story-hero{
  max-width:100%;
  border-color:color-mix(in srgb,var(--nv-accent) 36%,var(--nv-line));
  background:linear-gradient(118deg,var(--nv-panel) 0%,var(--nv-panel) 58%,color-mix(in srgb,var(--nv-panel-2) 92%,var(--nv-accent) 8%) 100%);
}
.novera-story .nv-story-hero__body{max-width:820px}
.novera-story .nv-story-title{letter-spacing:-.035em;line-height:1.02}
.novera-story .nv-story-author{margin-top:8px}
.novera-story .nv-story-identity-meta{margin-top:12px}
.novera-story .nv-story-hero-summary{margin-top:18px;max-width:760px;line-height:1.65}
.novera-story .nv-story-primary-actions{margin-top:20px;gap:10px}
.novera-story .nv-story-btn{min-height:44px;padding:0 18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.novera-story .nv-story-btn._primary{padding-inline:22px}
.novera-story .nv-story-stats{margin-top:18px;border-radius:14px;box-shadow:none}
.novera-story .nv-story-stat{min-height:72px;display:flex;flex-direction:column;justify-content:center}
.novera-story .nv-story-stat strong{font-size:18px;line-height:1.1}
.novera-story .nv-story-stat span{margin-top:5px}
.novera-story .nv-story-tags{margin-top:14px}

@media (min-width:1001px){
  .novera-story .nv-story-hero{grid-template-columns:250px minmax(0,1fr);gap:56px;min-height:430px;padding:42px 48px}
  .novera-story .nv-story-hero__cover{align-self:center}
}

@media (max-width:620px){
  .novera-story .nv-story-hero{padding:22px 18px 20px;gap:22px;border-radius:18px}
  .novera-story .nv-story-hero__cover{width:min(184px,52vw);border-radius:12px;transform:none}
  .novera-story .nv-story-hero__body{display:flex;flex-direction:column;align-items:stretch;text-align:center}
  .novera-story .nv-story-title{order:1;margin:0;font-size:32px!important;line-height:1.05}
  .novera-story .nv-story-author{order:2;margin-top:8px}
  .novera-story .nv-story-identity-meta{order:3;justify-content:center;margin-top:12px}
  .novera-story .nv-story-taxonomies{order:4;margin-top:15px;justify-content:center}
  .novera-story .nv-story-hero-summary{order:5;margin-top:18px;text-align:left;font-size:14px;line-height:1.62}
  .novera-story .nv-story-primary-actions{order:6;display:grid;grid-template-columns:minmax(0,1fr) auto;margin-top:18px}
  .novera-story .nv-story-primary-actions .nv-story-btn._primary{width:100%}
  .novera-story .nv-story-native-actions{order:7;margin-top:10px}
  .novera-story .nv-story-stats{margin-top:14px}
  .novera-story .nv-story-stat{min-height:68px}
}

@media (max-width:430px){
  .novera-story .nv-story-primary-actions{grid-template-columns:1fr}
  .novera-story .nv-story-primary-actions .nv-story-btn{width:100%}
}


/* ==========================================================
   Novera Reader v0.2.7 — refinamento responsivo do topo
   ========================================================== */
.novera-story .nv-story-summary-toggle{
  display:none;
  appearance:none;
  margin:8px 0 0;
  padding:0;
  border:0!important;
  background:transparent!important;
  color:var(--nv-accent)!important;
  box-shadow:none!important;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.novera-story .nv-story-stat--frequency strong{
  font-size:15px;
  line-height:1.15;
  text-wrap:balance;
}

@media (min-width:1001px){
  .novera-story .nv-story-hero{
    grid-template-columns:250px minmax(0,1fr);
    gap:42px;
    min-height:0!important;
    padding:36px 42px 34px;
  }
  .novera-story .nv-story-hero__body{align-self:center}
  .novera-story .nv-story-primary-actions{margin-top:18px}
  .novera-story .nv-story-stats{
    margin-top:14px!important;
    width:min(100%,900px)!important;
  }
  .novera-story .nv-story-stat{min-height:66px}
}

@media (max-width:620px){
  /* Capa primeiro; categorias depois dos metadados da obra. */
  body.single-fcn_story .novera-story .nv-story-hero__cover{
    order:1!important;
    width:min(184px,52vw)!important;
    margin:0 auto 20px!important;
  }
  body.single-fcn_story .novera-story .nv-story-title{order:2!important}
  body.single-fcn_story .novera-story .nv-story-author{order:3!important}
  body.single-fcn_story .novera-story .nv-story-identity-meta{order:4!important}
  body.single-fcn_story .novera-story .nv-story-taxonomies{
    order:5!important;
    margin:14px 0 0!important;
    justify-content:center!important;
  }
  body.single-fcn_story .novera-story .nv-story-hero-summary{
    order:6!important;
    position:relative;
    max-height:10.1em;
    overflow:hidden;
    margin-top:18px!important;
  }
  body.single-fcn_story .novera-story .nv-story-hero-summary::after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:0;
    height:2.2em;
    pointer-events:none;
    background:linear-gradient(to bottom,transparent,var(--nv-panel));
  }
  body.single-fcn_story .novera-story .nv-story-hero-summary.is-expanded{
    max-height:none;
    overflow:visible;
  }
  body.single-fcn_story .novera-story .nv-story-hero-summary.is-expanded::after{display:none}
  body.single-fcn_story .novera-story .nv-story-summary-toggle{
    display:inline-flex;
    order:7!important;
    align-self:flex-start;
    margin-top:8px;
  }
  body.single-fcn_story .novera-story .nv-story-primary-actions{
    order:8!important;
    margin-top:18px!important;
  }
  body.single-fcn_story .novera-story .nv-story-native-actions{order:9!important}
  body.single-fcn_story .novera-story .nv-story-stats{
    margin-top:12px!important;
  }
  body.single-fcn_story .novera-story .nv-story-stat--frequency strong{
    font-size:14px;
    line-height:1.18;
  }
}

/* ==========================================================
   Novera Reader v0.2.8 — sinopse ancorada + hero compacto
   ========================================================== */
.novera-story .nv-story-summary-toggle{
  display:none!important;
}
.novera-story .nv-story-summary-content{
  max-height:none;
  overflow:visible;
}
.novera-story .nv-story-stat--frequency strong{
  font-size:15px!important;
  white-space:nowrap!important;
}

@media (min-width:1001px){
  .novera-story .nv-story-hero{
    padding-bottom:10px!important;
  }
  .novera-story .nv-story-stats--compact{
    margin-top:8px!important;
  }
}

@media (max-width:620px){
  /* Ordem final mobile: capa → título → autor → status → gêneros → sinopse → ações. */
  .novera-story .nv-story-hero__cover{order:1!important;}
  .novera-story .nv-story-title{order:2!important;}
  .novera-story .nv-story-author{order:3!important;}
  .novera-story .nv-story-identity-meta{order:4!important;}
  .novera-story .nv-story-taxonomies{
    order:5!important;
    margin:14px 0 0!important;
    justify-content:center!important;
  }
  .novera-story .nv-story-hero-summary{
    order:6!important;
    max-height:none!important;
    overflow:visible!important;
    position:static!important;
    margin-top:18px!important;
  }
  .novera-story .nv-story-hero-summary::after{display:none!important;}
  .novera-story .nv-story-summary-content{
    position:relative;
    max-height:10.3em;
    overflow:hidden;
  }
  .novera-story .nv-story-summary-content::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:2em;
    pointer-events:none;
    background:linear-gradient(to bottom,transparent,var(--nv-page,var(--nv-bg)));
  }
  .novera-story .nv-story-summary-content.is-expanded{
    max-height:none;
    overflow:visible;
  }
  .novera-story .nv-story-summary-content.is-expanded::after{display:none;}
  .novera-story .nv-story-summary-toggle{
    display:inline-flex!important;
    align-items:center;
    align-self:flex-start!important;
    margin:8px 0 0!important;
    padding:0!important;
    color:var(--nv-accent)!important;
    font-size:12px!important;
    font-weight:850!important;
    line-height:1.3!important;
  }
  .novera-story .nv-story-summary-toggle[hidden]{display:none!important;}
  .novera-story .nv-story-primary-actions{order:7!important;}
  .novera-story .nv-story-native-actions{order:8!important;}
  .novera-story .nv-story-stat--frequency strong{
    font-size:14px!important;
  }
}


/* ==========================================================
   Novera Reader v0.2.9 — hero desktop em duas colunas + clamp real
   - Desktop: capa fixa à esquerda; conteúdo e CTAs inteiros à direita.
   - Desktop: controle "Ler mais" nunca aparece.
   - Mobile: sinopse recolhida em 6 linhas, expandível no próprio bloco.
   ========================================================== */
@media (min-width:1001px){
  body.single-fcn_story .novera-story .nv-story-hero{
    display:grid!important;
    grid-template-columns:230px minmax(0,1fr)!important;
    align-items:start!important;
    gap:38px!important;
    padding:34px 38px 30px!important;
    min-height:0!important;
  }
  body.single-fcn_story .novera-story .nv-story-hero__cover{
    float:none!important;
    width:230px!important;
    max-width:230px!important;
    margin:0!important;
    align-self:start!important;
  }
  body.single-fcn_story .novera-story .nv-story-hero__body{
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important;
    align-self:start!important;
    padding-top:0!important;
  }
  body.single-fcn_story .novera-story .nv-story-hero-summary{
    width:100%!important;
    max-width:860px!important;
    margin-top:18px!important;
  }
  body.single-fcn_story .novera-story .nv-story-summary-content{
    max-height:none!important;
    overflow:visible!important;
  }
  body.single-fcn_story .novera-story .nv-story-summary-content::after{
    display:none!important;
  }
  body.single-fcn_story .novera-story .nv-story-summary-toggle{
    display:none!important;
  }
  body.single-fcn_story .novera-story .nv-story-primary-actions{
    margin-top:18px!important;
    align-self:flex-start!important;
  }
  body.single-fcn_story .novera-story .nv-story-stats--compact{
    margin-top:12px!important;
  }
}

@media (max-width:620px){
  body.single-fcn_story .novera-story .nv-story-summary-content{
    display:block!important;
    position:relative!important;
    overflow:hidden!important;
    max-height:9.72em!important; /* fallback: ~6 linhas a 1.62 */
  }
  body.single-fcn_story .novera-story .nv-story-summary-content.is-expanded{
    max-height:none!important;
    overflow:visible!important;
  }
  body.single-fcn_story .novera-story .nv-story-summary-toggle{
    display:inline-flex!important;
    margin:9px 0 0!important;
  }
}

/* ==========================================================
   Novera Reader v0.3.0 — hero estrutural estável
   A grade passa a existir em um wrapper próprio para não herdar
   os experimentos antigos de float/flow-root do hero.
   ========================================================== */
body.single-fcn_story .novera-story .nv-story-hero{
  display:block!important;
  min-height:0!important;
  padding:0!important;
  overflow:visible!important;
}
body.single-fcn_story .novera-story .nv-story-hero__layout{
  display:grid!important;
  grid-template-columns:230px minmax(0,1fr)!important;
  gap:38px!important;
  align-items:start!important;
  width:100%!important;
  padding:34px 38px 30px!important;
  box-sizing:border-box!important;
}
body.single-fcn_story .novera-story .nv-story-hero__layout > .nv-story-hero__cover{
  float:none!important;
  width:230px!important;
  max-width:230px!important;
  margin:0!important;
  align-self:start!important;
  aspect-ratio:2/3!important;
}
body.single-fcn_story .novera-story .nv-story-hero__layout > .nv-story-hero__body{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  max-width:none!important;
  width:100%!important;
  align-self:start!important;
  padding:0!important;
  position:relative!important;
}
body.single-fcn_story .novera-story .nv-story-hero-summary{
  width:100%!important;
  max-width:860px!important;
  margin:18px 0 0!important;
}
body.single-fcn_story .novera-story .nv-story-summary-toggle{
  display:none!important;
}
body.single-fcn_story .novera-story .nv-story-primary-actions{
  align-self:flex-start!important;
  margin-top:18px!important;
}
body.single-fcn_story .novera-story .nv-story-stats--compact{
  margin-top:12px!important;
}

@media (max-width:1000px) and (min-width:621px){
  body.single-fcn_story .novera-story .nv-story-hero__layout{
    grid-template-columns:200px minmax(0,1fr)!important;
    gap:28px!important;
    padding:28px!important;
  }
  body.single-fcn_story .novera-story .nv-story-hero__layout > .nv-story-hero__cover{
    width:200px!important;
    max-width:200px!important;
  }
}

@media (max-width:620px){
  body.single-fcn_story .novera-story .nv-story-hero__layout{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    padding:18px 14px 20px!important;
  }
  body.single-fcn_story .novera-story .nv-story-hero__layout > .nv-story-hero__body{
    display:contents!important;
  }
  body.single-fcn_story .novera-story .nv-story-taxonomies{
    order:1!important;
    width:100%!important;
    justify-content:center!important;
    margin:0 0 16px!important;
  }
  body.single-fcn_story .novera-story .nv-story-hero__layout > .nv-story-hero__cover{
    order:2!important;
    float:none!important;
    width:min(184px,52vw)!important;
    max-width:184px!important;
    margin:0 auto 20px!important;
  }
  body.single-fcn_story .novera-story .nv-story-title{
    order:3!important;
    width:100%!important;
    margin:0 auto!important;
    text-align:center!important;
  }
  body.single-fcn_story .novera-story .nv-story-author{
    order:4!important;
    width:100%!important;
    text-align:center!important;
  }
  body.single-fcn_story .novera-story .nv-story-identity-meta{
    order:5!important;
    width:100%!important;
    justify-content:center!important;
  }
  body.single-fcn_story .novera-story .nv-story-hero-summary{
    order:6!important;
    width:100%!important;
    max-width:none!important;
    margin:18px 0 0!important;
    text-align:left!important;
  }
  body.single-fcn_story .novera-story .nv-story-summary-content:not(.is-expanded){
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:6!important;
    overflow:hidden!important;
    max-height:none!important;
  }
  body.single-fcn_story .novera-story .nv-story-summary-content.is-expanded{
    display:block!important;
    -webkit-line-clamp:unset!important;
    overflow:visible!important;
    max-height:none!important;
  }
  body.single-fcn_story .novera-story .nv-story-summary-content::after{
    display:none!important;
  }
  body.single-fcn_story .novera-story .nv-story-summary-toggle:not([hidden]){
    display:inline-flex!important;
    margin:9px 0 0!important;
  }
  body.single-fcn_story .novera-story .nv-story-primary-actions{
    order:7!important;
    align-self:center!important;
    margin-top:18px!important;
  }
  body.single-fcn_story .novera-story .nv-story-native-actions{
    order:8!important;
  }
  body.single-fcn_story .novera-story .nv-story-stats--compact{
    margin-top:12px!important;
  }
}


/* ==========================================================
   Novera Reader v0.3.1 — sinopse mobile + CTAs alinhados à Novera
   ========================================================== */
body.single-fcn_story .novera-story .nv-story-primary-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:10px!important;
}
body.single-fcn_story .novera-story .nv-story-primary-actions .nv-story-btn{
  min-height:44px!important;
  padding:0 18px!important;
  border-radius:8px!important;
  border:1px solid color-mix(in srgb,var(--nv-line) 94%,transparent)!important;
  background:color-mix(in srgb,var(--nv-panel-2) 95%,transparent)!important;
  color:var(--nv-text)!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:0!important;
  box-shadow:none!important;
}
body.single-fcn_story .novera-story .nv-story-primary-actions .nv-story-btn._primary{
  min-width:0!important;
  padding-inline:20px!important;
  border-color:var(--nv-accent)!important;
  background:var(--nv-accent)!important;
  color:#fff!important;
  box-shadow:0 8px 22px color-mix(in srgb,var(--nv-accent) 20%,transparent)!important;
}
body.single-fcn_story .novera-story .nv-story-primary-actions .nv-story-btn._primary i{
  margin:0!important;
  font-size:10px!important;
  opacity:.95!important;
}
body.single-fcn_story .novera-story .nv-story-primary-actions .nv-story-btn:hover{
  transform:translateY(-1px)!important;
  border-color:color-mix(in srgb,var(--nv-accent) 48%,var(--nv-line))!important;
}
body.single-fcn_story .novera-story .nv-story-primary-actions .nv-story-btn._primary:hover{
  background:color-mix(in srgb,var(--nv-accent) 92%,white 8%)!important;
  border-color:color-mix(in srgb,var(--nv-accent) 92%,white 8%)!important;
  box-shadow:0 10px 26px color-mix(in srgb,var(--nv-accent) 24%,transparent)!important;
}

@media (max-width:620px){
  /* O conteúdo contém vários parágrafos; max-height é mais confiável que line-clamp nesse caso. */
  body.single-fcn_story .novera-story .nv-story-summary-content:not(.is-expanded){
    display:block!important;
    max-height:9.75em!important; /* ~6 linhas com line-height 1.62 */
    overflow:hidden!important;
    position:relative!important;
  }
  body.single-fcn_story .novera-story .nv-story-summary-content:not(.is-expanded)::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    height:2.1em!important;
    pointer-events:none!important;
    background:linear-gradient(to bottom,transparent,var(--nv-page,var(--nv-bg)))!important;
  }
  body.single-fcn_story .novera-story .nv-story-summary-content.is-expanded{
    display:block!important;
    max-height:none!important;
    overflow:visible!important;
  }
  body.single-fcn_story .novera-story .nv-story-summary-content.is-expanded::after{display:none!important;}
  body.single-fcn_story .novera-story .nv-story-summary-toggle:not([hidden]){
    display:inline-flex!important;
    align-items:center!important;
    margin:10px 0 0!important;
    color:var(--nv-accent)!important;
    font-size:12px!important;
    font-weight:800!important;
  }
  body.single-fcn_story .novera-story .nv-story-primary-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    width:min(100%,360px)!important;
    margin:18px auto 0!important;
    gap:9px!important;
  }
  body.single-fcn_story .novera-story .nv-story-primary-actions .nv-story-btn{
    min-height:44px!important;
    padding:0 16px!important;
    font-size:12.5px!important;
  }
  body.single-fcn_story .novera-story .nv-story-primary-actions .nv-story-btn._primary{
    width:100%!important;
  }
}
@media (max-width:360px){
  body.single-fcn_story .novera-story .nv-story-primary-actions{grid-template-columns:1fr!important;}
  body.single-fcn_story .novera-story .nv-story-primary-actions .nv-story-btn{width:100%!important;}
}


/* ==========================================================
   Novera Reader v0.3.2 — override final da sinopse mobile
   ========================================================== */
@media (max-width:768px){
  body.single-fcn_story .novera-story .nv-story-summary-content:not(.is-expanded){
    overflow:hidden!important;
    position:relative!important;
  }
  body.single-fcn_story .novera-story .nv-story-summary-content:not(.is-expanded)::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    height:2.25em!important;
    pointer-events:none!important;
    background:linear-gradient(to bottom,transparent,var(--nv-page,var(--nv-bg)))!important;
  }
  body.single-fcn_story .novera-story .nv-story-summary-content.is-expanded{
    max-height:none!important;
    overflow:visible!important;
  }
  body.single-fcn_story .novera-story .nv-story-summary-content.is-expanded::after{display:none!important;}
  body.single-fcn_story .novera-story .nv-story-summary-toggle:not([hidden]){
    display:inline-flex!important;
    align-items:center!important;
    width:auto!important;
    margin:10px 0 0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--nv-accent)!important;
    font:inherit!important;
    font-size:12.5px!important;
    font-weight:800!important;
    line-height:1.35!important;
    cursor:pointer!important;
  }
}
@media (min-width:769px){
  body.single-fcn_story .novera-story .nv-story-summary-toggle{display:none!important;}
}

/* ==========================================================
   Novera Reader v0.3.3 — sinopse mobile estrutural / SEO-safe
   O texto completo permanece no HTML. Somente a apresentação
   visual é recolhida no mobile; no desktop tudo fica aberto.
   ========================================================== */
body.single-fcn_story .novera-story .nv-story-summary-toggle{
  display:none!important;
}
body.single-fcn_story .novera-story .nv-story-summary-content{
  max-height:none!important;
  overflow:visible!important;
  position:relative!important;
}
body.single-fcn_story .novera-story .nv-story-summary-content::after{
  display:none!important;
}

@media (max-width:768px){
  body.single-fcn_story .novera-story .nv-story-summary-content:not(.is-expanded){
    display:block!important;
    max-height:9.9em!important;
    overflow:hidden!important;
    position:relative!important;
  }
  body.single-fcn_story .novera-story .nv-story-summary-content:not(.is-expanded)::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    height:2.15em!important;
    pointer-events:none!important;
    background:linear-gradient(to bottom,transparent,var(--nv-page,var(--nv-bg)))!important;
  }
  body.single-fcn_story .novera-story .nv-story-summary-content.is-expanded{
    max-height:none!important;
    overflow:visible!important;
  }
  body.single-fcn_story .novera-story .nv-story-summary-content.is-expanded::after{
    display:none!important;
  }
  body.single-fcn_story .novera-story .nv-story-summary-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:10px 0 0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--nv-accent)!important;
    font:inherit!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:1.3!important;
    cursor:pointer!important;
  }
}


/* ==========================================================
   Novera Reader v0.3.6 — Ler mais desktop + mobile (cache-bust corrigido)
   SEO-safe: todo o conteúdo permanece no HTML.
   ========================================================== */
body.single-fcn_story .novera-story .nv-story-summary-content:not(.is-expanded){
  display:block!important;
  max-height:6.65em!important; /* ~4 linhas no desktop */
  overflow:hidden!important;
  position:relative!important;
}
body.single-fcn_story .novera-story .nv-story-summary-content:not(.is-expanded)::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:2em!important;
  pointer-events:none!important;
  background:linear-gradient(to bottom,transparent,var(--nv-page,var(--nv-bg)))!important;
}
body.single-fcn_story .novera-story .nv-story-summary-content.is-expanded{
  max-height:none!important;
  overflow:visible!important;
}
body.single-fcn_story .novera-story .nv-story-summary-content.is-expanded::after{
  display:none!important;
}
body.single-fcn_story .novera-story button.nv-story-summary-toggle:not([hidden]){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  margin:10px 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--nv-accent)!important;
  box-shadow:none!important;
  font:inherit!important;
  font-size:12.5px!important;
  font-weight:800!important;
  line-height:1.35!important;
  cursor:pointer!important;
}
body.single-fcn_story .novera-story .nv-story-primary-actions{
  margin-top:20px!important;
}
@media (max-width:768px){
  body.single-fcn_story .novera-story .nv-story-summary-content:not(.is-expanded){
    max-height:9.9em!important; /* ~6 linhas no mobile */
  }
  body.single-fcn_story .novera-story .nv-story-summary-content:not(.is-expanded)::after{
    height:2.15em!important;
  }
  body.single-fcn_story .novera-story button.nv-story-summary-toggle:not([hidden]){
    margin-top:10px!important;
  }
  body.single-fcn_story .novera-story .nv-story-primary-actions{
    margin-top:22px!important;
  }
}


/* ==========================================================
   NOVERA STORY v0.3.7 — faixa inferior + biblioteca
   Polimento visual seguro. Preserva controles nativos,
   abas, volumes, downloads, busca, ordenação e PWA.
   ========================================================== */

/* 1) Tags mais próximas da área funcional inferior. */
body.single-fcn_story .novera-story .nv-story-tags{
  margin-top:18px!important;
  margin-bottom:10px!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
body.single-fcn_story .novera-story .nv-story-tags__label{
  font-size:9px!important;
  letter-spacing:.12em!important;
}
body.single-fcn_story .novera-story .nv-story-tags > div{
  gap:7px!important;
}
body.single-fcn_story .novera-story .nv-story-tags a{
  min-height:30px!important;
  padding:0 11px!important;
  display:inline-flex!important;
  align-items:center!important;
  border-radius:999px!important;
  font-size:10px!important;
}

/* 2) Direitos + compartilhamento + ações nativas como uma faixa única. */
body.single-fcn_story .novera-story .nv-story-lower-actions{
  margin:10px 0 12px!important;
  padding:12px 0!important;
  border-top:1px solid color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 24%,transparent)!important;
  border-bottom:1px solid color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 24%,transparent)!important;
}
body.single-fcn_story .novera-story .nv-story-rights{
  font-size:9px!important;
  line-height:1.4!important;
  opacity:.76!important;
}
body.single-fcn_story .novera-story .nv-story-lower-actions__row{
  margin-top:11px!important;
  min-height:36px!important;
  gap:14px!important;
}
body.single-fcn_story .novera-story .nv-story-inline-share{
  gap:6px!important;
}
body.single-fcn_story .novera-story .nv-story-inline-share__label{
  margin-right:3px!important;
  color:var(--nv-muted)!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
}
body.single-fcn_story .novera-story .nv-story-inline-share__button{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  min-height:32px!important;
  border-radius:8px!important;
  background:color-mix(in srgb,var(--nv-panel-2) 48%,transparent)!important;
  transition:transform .15s ease,border-color .15s ease,color .15s ease,background-color .15s ease!important;
}
body.single-fcn_story .novera-story .nv-story-inline-share__button:hover{
  transform:translateY(-1px)!important;
  background:color-mix(in srgb,var(--nv-accent) 8%,transparent)!important;
}

/* Ações nativas com a mesma linguagem dos CTAs do Hero. */
body.single-fcn_story .novera-story .nv-story-lower-native-actions{
  gap:8px!important;
}
body.single-fcn_story .novera-story .nv-story-lower-native-actions .button,
body.single-fcn_story .novera-story .nv-story-lower-native-actions button,
body.single-fcn_story .novera-story .nv-story-lower-native-actions a{
  min-height:34px!important;
  padding:0 12px!important;
  border-radius:8px!important;
  font-size:11px!important;
  font-weight:750!important;
  background:color-mix(in srgb,var(--nv-panel-2) 52%,transparent)!important;
  transition:transform .15s ease,border-color .15s ease,color .15s ease,background-color .15s ease!important;
}
body.single-fcn_story .novera-story .nv-story-lower-native-actions .button:hover,
body.single-fcn_story .novera-story .nv-story-lower-native-actions button:hover,
body.single-fcn_story .novera-story .nv-story-lower-native-actions a:hover{
  transform:translateY(-1px)!important;
}
body.single-fcn_story .novera-story .nv-story-lower-native-actions .button-read-later._remembered{
  background:color-mix(in srgb,var(--nv-accent) 13%,transparent)!important;
}

/* 3) Biblioteca: remove aparência de painel administrativo pesado. */
body.single-fcn_story .novera-story .nv-story-chapter-shell{
  margin-top:12px!important;
  padding-top:0!important;
  padding-bottom:18px!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
body.single-fcn_story .novera-story .nv-story-library-tabs{
  min-height:46px!important;
  margin:0 0 10px!important;
  padding:0 2px!important;
  gap:3px!important;
  border:0!important;
  border-bottom:1px solid color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 30%,transparent)!important;
  border-radius:0!important;
  background:transparent!important;
}
body.single-fcn_story .novera-story .nv-story-library-tab{
  min-height:42px!important;
  padding:0 14px!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--nv-muted)!important;
  font-size:9px!important;
  letter-spacing:.075em!important;
  position:relative!important;
}
body.single-fcn_story .novera-story .nv-story-library-tab.is-active{
  color:var(--nv-text)!important;
  background:transparent!important;
}
body.single-fcn_story .novera-story .nv-story-library-tab.is-active::after{
  display:block!important;
  content:""!important;
  position:absolute!important;
  left:12px!important;
  right:12px!important;
  bottom:-1px!important;
  height:2px!important;
  border-radius:999px!important;
  background:var(--nv-accent)!important;
}
body.single-fcn_story .novera-story .nv-story-library-native-tools{
  padding-left:10px!important;
  border-left:1px solid color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 26%,transparent)!important;
}
body.single-fcn_story .novera-story .nv-story-library-native-tools .story__toggle{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  border-radius:7px!important;
}
body.single-fcn_story .novera-story #nv-library-panel-chapters,
body.single-fcn_story .novera-story .nv-story-native-chapters{
  margin-top:0!important;
  padding-top:0!important;
}

/* 4) Seletor de volume e cabeçalhos mais compactos. */
body.single-fcn_story .novera-story .nv-story-volume-jump{
  margin:4px 0 10px!important;
  gap:8px!important;
}
body.single-fcn_story .novera-story .nv-story-volume-jump__select-wrap{
  width:min(240px,100%)!important;
}
body.single-fcn_story .novera-story .nv-story-volume-jump__select{
  min-height:34px!important;
  border-radius:8px!important;
  font-size:10px!important;
}
body.single-fcn_story .novera-story .nv-story-native-chapters .chapter-group > .chapter-group__name{
  min-height:52px!important;
  margin:7px 0 2px!important;
  padding:8px 11px!important;
  border-radius:10px!important;
  background:color-mix(in srgb,var(--nv-panel-2) 54%,transparent)!important;
}

/* 5) Capítulos: leitura rápida, hover e “Mostrar mais” mais claro. */
body.single-fcn_story .novera-story .nv-story-native-chapters .chapter-group__list-item:not(._folding-toggle){
  transition:background-color .14s ease,border-color .14s ease!important;
}
body.single-fcn_story .novera-story .nv-story-native-chapters .chapter-group__folding-toggle{
  min-height:40px!important;
  border-radius:8px!important;
  color:var(--nv-muted)!important;
}
body.single-fcn_story .novera-story .nv-story-native-chapters .chapter-group__list-item._folding-toggle:hover{
  border-color:color-mix(in srgb,var(--nv-accent) 46%,var(--nv-line))!important;
  background:color-mix(in srgb,var(--nv-accent) 4%,transparent)!important;
}

/* 6) Mais do autor: cards editoriais compactos e capas 3:4. */
body.single-fcn_story .novera-story .nv-story-author-heading{
  margin:4px 0 14px!important;
  padding:0 0 12px!important;
}
body.single-fcn_story .novera-story .nv-story-author-grid{
  gap:10px!important;
}
body.single-fcn_story .novera-story .nv-story-author-card{
  grid-template-columns:82px minmax(0,1fr)!important;
  min-height:122px!important;
  padding:9px!important;
  gap:13px!important;
  border-radius:12px!important;
  background:color-mix(in srgb,var(--nv-panel-2) 38%,transparent)!important;
}
body.single-fcn_story .novera-story .nv-story-author-card__cover{
  width:82px!important;
  height:109px!important;
  border-radius:8px!important;
}
body.single-fcn_story .novera-story .nv-story-author-card__body strong{
  font-size:13px!important;
  line-height:1.3!important;
}
body.single-fcn_story .novera-story .nv-story-author-card__body small{
  margin-top:5px!important;
  font-size:9px!important;
}
body.single-fcn_story .novera-story .nv-story-author-card__body em{
  margin-top:7px!important;
  padding:3px 7px!important;
  border-radius:999px!important;
}

@media(max-width:700px){
  body.single-fcn_story .novera-story .nv-story-tags{
    margin-top:16px!important;
    margin-bottom:8px!important;
  }
  body.single-fcn_story .novera-story .nv-story-lower-actions{
    margin-top:8px!important;
    padding:10px 0!important;
  }
  body.single-fcn_story .novera-story .nv-story-rights{
    justify-content:flex-start!important;
    text-align:left!important;
  }
  body.single-fcn_story .novera-story .nv-story-lower-actions__row{
    margin-top:10px!important;
    flex-direction:row!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:10px!important;
  }
  body.single-fcn_story .novera-story .nv-story-inline-share{
    justify-content:flex-start!important;
  }
  body.single-fcn_story .novera-story .nv-story-inline-share__label{
    display:none!important;
  }
  body.single-fcn_story .novera-story .nv-story-lower-native-actions{
    justify-content:flex-end!important;
  }
  body.single-fcn_story .novera-story .nv-story-lower-native-actions .button,
  body.single-fcn_story .novera-story .nv-story-lower-native-actions button,
  body.single-fcn_story .novera-story .nv-story-lower-native-actions a{
    min-height:32px!important;
    padding:0 9px!important;
    font-size:10px!important;
  }
  body.single-fcn_story .novera-story .nv-story-chapter-shell{
    margin-top:10px!important;
    padding-bottom:14px!important;
  }
  body.single-fcn_story .novera-story .nv-story-library-tabs{
    min-height:44px!important;
    margin-bottom:8px!important;
  }
  body.single-fcn_story .novera-story .nv-story-library-tab{
    min-height:40px!important;
    padding:0 10px!important;
    font-size:8.5px!important;
  }
  body.single-fcn_story .novera-story .nv-story-library-tab.is-active::after{
    left:8px!important;
    right:8px!important;
  }
  body.single-fcn_story .novera-story .nv-story-volume-jump{
    margin:2px 0 9px!important;
  }
  body.single-fcn_story .novera-story .nv-story-native-chapters .chapter-group > .chapter-group__name{
    min-height:50px!important;
    margin-top:6px!important;
  }
  body.single-fcn_story .novera-story .nv-story-author-card{
    grid-template-columns:74px minmax(0,1fr)!important;
    min-height:108px!important;
  }
  body.single-fcn_story .novera-story .nv-story-author-card__cover{
    width:74px!important;
    height:99px!important;
  }
}

@media(max-width:460px){
  body.single-fcn_story .novera-story .nv-story-lower-actions__row{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  body.single-fcn_story .novera-story .nv-story-inline-share,
  body.single-fcn_story .novera-story .nv-story-lower-native-actions{
    justify-content:center!important;
  }
}

/* ==========================================================
   NOVERA STORY v0.3.8 — ações inferiores mobile
   Apenas apresentação: mantém controles nativos e handlers.
   ========================================================== */
@media(max-width:700px){
  body.single-fcn_story .novera-story .nv-story-lower-actions__row{
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:11px!important;
  }
  body.single-fcn_story .novera-story .nv-story-inline-share{
    width:100%!important;
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    align-items:center!important;
    gap:7px!important;
  }
  body.single-fcn_story .novera-story .nv-story-inline-share__label{
    display:block!important;
    flex:0 0 100%!important;
    width:100%!important;
    margin:0 0 2px!important;
    text-align:center!important;
    color:var(--nv-muted)!important;
    font-size:8.5px!important;
    font-weight:800!important;
    letter-spacing:.13em!important;
    text-transform:uppercase!important;
  }
  body.single-fcn_story .novera-story .nv-story-lower-native-actions{
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:8px!important;
  }
  /* Fictioneer esconde o texto "Ler mais tarde" abaixo de 480px.
     Nesta barra existe espaço suficiente, então mantemos o rótulo. */
  body.single-fcn_story .novera-story .nv-story-lower-native-actions .button-read-later .span-follow,
  body.single-fcn_story .novera-story .nv-story-lower-native-actions .button-read-later .span-follow.hide-below-480{
    display:inline!important;
    content-visibility:visible!important;
  }
  body.single-fcn_story .novera-story .nv-story-lower-native-actions .button-read-later,
  body.single-fcn_story .novera-story .nv-story-lower-native-actions .button-follow-story{
    min-height:34px!important;
    padding-inline:11px!important;
  }
}

@media(min-width:701px){
  /* Pequeno acerto de alinhamento da faixa desktop sem mudar estrutura. */
  body.single-fcn_story .novera-story .nv-story-lower-actions__row{
    align-items:center!important;
  }
  body.single-fcn_story .novera-story .nv-story-inline-share,
  body.single-fcn_story .novera-story .nv-story-lower-native-actions{
    align-items:center!important;
  }
}

/* ==========================================================
   NOVERA READER v0.3.14 — comunidade / avaliações
   Polimento visual apenas. Mantém HTML, votos, comentários e
   navegação de abas da v0.3.13 intactos.
   ========================================================== */

/* Metadados: uma linha compacta e coerente com o restante da Novera. */
body.single-fcn_story .novera-story .nv-story-footer--compact{
  margin:18px 0 16px!important;
  padding:10px 0!important;
}
body.single-fcn_story .novera-story .nv-story-footer--compact .story__meta{
  justify-content:flex-start!important;
  gap:0!important;
}
body.single-fcn_story .novera-story .nv-story-footer--compact .story__meta-item{
  position:relative!important;
  gap:0!important;
  padding-right:18px!important;
  margin-right:16px!important;
  font-size:10.5px!important;
}
body.single-fcn_story .novera-story .nv-story-footer--compact .story__meta-item i{
  display:none!important;
}
body.single-fcn_story .novera-story .nv-story-footer--compact .story__meta-item:not(:last-child)::after{
  content:""!important;
  position:absolute!important;
  right:0!important;
  top:50%!important;
  width:4px!important;
  height:4px!important;
  margin-top:-2px!important;
  border-radius:50%!important;
  background:color-mix(in srgb,var(--nv-muted) 72%,transparent)!important;
}

/* Abas: um pouco mais baixas e próximas do conteúdo. */
body.single-fcn_story .novera-story .nv-story-community-tabs{
  min-height:50px!important;
  margin:14px 0 16px!important;
  padding:5px!important;
}
body.single-fcn_story .novera-story .nv-story-community-tab{
  min-height:38px!important;
}

/* Desktop: avaliação vira um bloco compacto centralizado.
   Evita as barras ocuparem toda a largura da página. */
body.single-fcn_story .novera-story .nv-story-rating--reference{
  width:min(100%,860px)!important;
  max-width:860px!important;
  margin:0 auto!important;
  grid-template-columns:170px minmax(0,1fr)!important;
  gap:24px!important;
  padding:22px 26px!important;
}
body.single-fcn_story .novera-story .nv-story-rating--reference .nv-story-rating__main{
  padding-right:24px!important;
}
body.single-fcn_story .novera-story .nv-story-rating--reference .nv-story-rating__score strong{
  font-size:34px!important;
}
body.single-fcn_story .novera-story .nv-story-rating--reference .nv-story-rating__stars{
  margin:6px 0 3px!important;
}
body.single-fcn_story .novera-story .nv-story-rating--reference .nv-story-rating__stars button{
  font-size:17px!important;
}
body.single-fcn_story .novera-story .nv-story-rating--reference .nv-rating-row{
  min-height:23px!important;
  margin:2px 0!important;
}
body.single-fcn_story .novera-story .nv-story-rating--reference .nv-rating-row>div{
  height:5px!important;
}

/* Comentários: aproxima a seção da aba e reduz espaço morto no estado vazio. */
body.single-fcn_story .novera-story .nv-story-comments-wrap,
body.single-fcn_story .novera-story .nv-story-comments-wrap.nv-community-panel-active{
  margin-top:16px!important;
}
body.single-fcn_story .novera-story .nv-story-comments-wrap .nv-story-section-head{
  padding-bottom:8px!important;
}
body.single-fcn_story .novera-story .nv-story-comments-wrap .nv-story-section-head h2{
  margin-top:4px!important;
  margin-bottom:0!important;
}

@media(max-width:700px){
  /* Metadados no mobile: centralizados com separadores simples. */
  body.single-fcn_story .novera-story .nv-story-footer--compact{
    margin:14px 0 12px!important;
    padding:9px 0!important;
  }
  body.single-fcn_story .novera-story .nv-story-footer--compact .story__meta{
    justify-content:center!important;
    row-gap:8px!important;
  }
  body.single-fcn_story .novera-story .nv-story-footer--compact .story__meta-item{
    padding-right:14px!important;
    margin-right:12px!important;
    font-size:10px!important;
  }
  body.single-fcn_story .novera-story .nv-story-footer--compact .story__meta-item:last-child{
    padding-right:0!important;
    margin-right:0!important;
  }

  body.single-fcn_story .novera-story .nv-story-community-tabs{
    margin:12px 0 14px!important;
    gap:5px!important;
    padding:5px!important;
  }
  body.single-fcn_story .novera-story .nv-story-community-tab{
    min-height:35px!important;
    padding:0 10px!important;
  }

  /* Avaliação mobile: menos altura, sem perder legibilidade. */
  body.single-fcn_story .novera-story .nv-story-rating--reference{
    width:100%!important;
    padding:16px 8px 12px!important;
    gap:12px!important;
    border-left:0!important;
    border-right:0!important;
    border-radius:0!important;
  }
  body.single-fcn_story .novera-story .nv-story-rating--reference .nv-story-rating__main{
    padding:0 0 13px!important;
  }
  body.single-fcn_story .novera-story .nv-story-rating--reference .nv-story-rating__score strong{
    font-size:31px!important;
  }
  body.single-fcn_story .novera-story .nv-story-rating--reference .nv-story-rating__stars{
    margin:5px 0 2px!important;
  }
  body.single-fcn_story .novera-story .nv-story-rating--reference .nv-story-rating__distribution{
    padding-top:11px!important;
  }
  body.single-fcn_story .novera-story .nv-story-rating--reference .nv-rating-row{
    min-height:22px!important;
    margin:0!important;
  }
  body.single-fcn_story .novera-story .nv-story-rating--reference .nv-rating-row>div{
    height:5px!important;
  }
  body.single-fcn_story .novera-story .nv-story-comments-wrap,
  body.single-fcn_story .novera-story .nv-story-comments-wrap.nv-community-panel-active{
    margin-top:12px!important;
  }
}


/* ==========================================================
   NOVERA READER v0.3.15 — acabamento final comunidade
   Corrige separadores mobile, compacta avaliações e melhora
   comentários reais/estado vazio sem alterar sua lógica.
   ========================================================== */

/* Desktop conserva os ícones do Fictioneer e evita separadores extras. */
@media(min-width:701px){
  body.single-fcn_story .novera-story .nv-story-footer--compact .story__meta-item i{
    display:inline-block!important;
    color:var(--nv-accent)!important;
    margin-right:7px!important;
  }
  body.single-fcn_story .novera-story .nv-story-footer--compact .story__meta-item:not(:last-child)::after{
    content:none!important;
    display:none!important;
  }
  /* Distribuição um pouco mais contida em telas grandes. */
  body.single-fcn_story .novera-story .nv-story-rating--reference{
    width:min(100%,780px)!important;
    max-width:780px!important;
    grid-template-columns:160px minmax(0,1fr)!important;
    gap:22px!important;
    padding:21px 24px!important;
  }
  body.single-fcn_story .novera-story .nv-story-rating--reference .nv-story-rating__main{
    padding-right:21px!important;
  }
}

/* Comentários carregados pelo Fictioneer: mais separação e legibilidade. */
body.single-fcn_story .novera-story .nv-story-comments-wrap .fictioneer-comments__list>ul{
  overflow:hidden!important;
  border:1px solid color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 34%,transparent)!important;
  border-radius:9px!important;
  background:color-mix(in srgb,var(--page-bg-color) 98%,var(--nv-text) 2%)!important;
}
body.single-fcn_story .novera-story .nv-story-comments-wrap .fictioneer-comment{
  margin:0!important;
}
body.single-fcn_story .novera-story .nv-story-comments-wrap .fictioneer-comment + .fictioneer-comment{
  border-top:1px solid color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 28%,transparent)!important;
}
body.single-fcn_story .novera-story .nv-story-comments-wrap .fictioneer-comment__container{
  padding:15px 16px!important;
}
body.single-fcn_story .novera-story .nv-story-comments-wrap .fictioneer-comment__header{
  margin-bottom:9px!important;
}
body.single-fcn_story .novera-story .nv-story-comments-wrap .fictioneer-comment__info{
  color:color-mix(in srgb,var(--nv-muted) 88%,var(--nv-text) 12%)!important;
  font-size:10.5px!important;
  line-height:1.4!important;
}
body.single-fcn_story .novera-story .nv-story-comments-wrap .fictioneer-comment__body{
  font-size:13px!important;
  line-height:1.55!important;
}
body.single-fcn_story .novera-story .nv-story-comments-empty{
  margin-top:8px!important;
  padding:13px 15px!important;
  border:1px dashed color-mix(in srgb,var(--layout-lineart-color,var(--nv-line)) 34%,transparent)!important;
  border-radius:8px!important;
  color:var(--nv-muted)!important;
  background:color-mix(in srgb,var(--page-bg-color) 99%,var(--nv-text) 1%)!important;
  font-size:11px!important;
  line-height:1.5!important;
}

@media(max-width:700px){
  /* O Fictioneer já cria um ::before com • no mobile. Removemos esse
     separador nativo e mantemos apenas o ::after do Novera: um ponto só. */
  body.single-fcn_story .novera-story .nv-story-footer--compact .story__meta-item:not(:first-child):not(.checkmark)::before{
    content:none!important;
    display:none!important;
    padding:0!important;
    margin:0!important;
  }
  body.single-fcn_story .novera-story .nv-story-footer--compact .story__meta-item i{
    display:none!important;
  }

  /* Avaliação: reduz o vão entre nota/estrelas e as barras. */
  body.single-fcn_story .novera-story .nv-story-rating--reference{
    gap:8px!important;
    padding:14px 8px 10px!important;
  }
  body.single-fcn_story .novera-story .nv-story-rating--reference .nv-story-rating__main{
    padding:0 0 9px!important;
  }
  body.single-fcn_story .novera-story .nv-story-rating--reference .nv-story-rating__distribution{
    padding-top:7px!important;
  }

  /* Comentários reais continuam alinhados à esquerda, mas respiram melhor. */
  body.single-fcn_story .novera-story .nv-story-comments-wrap .fictioneer-comment__container{
    padding:12px!important;
  }
  body.single-fcn_story .novera-story .nv-story-comments-wrap .fictioneer-comment__header{
    gap:8px!important;
    margin-bottom:8px!important;
  }
  body.single-fcn_story .novera-story .nv-story-comments-wrap .fictioneer-comment__info{
    font-size:10px!important;
    line-height:1.35!important;
  }
  body.single-fcn_story .novera-story .nv-story-comments-wrap .fictioneer-comment__body{
    font-size:13px!important;
    line-height:1.5!important;
  }
  body.single-fcn_story .novera-story .nv-story-comments-empty{
    margin-top:6px!important;
    padding:12px 13px!important;
    font-size:10.5px!important;
  }
}

/* v0.3.20 — feedback discreto ao carregar um volume sob demanda. */
.novera-story .chapter-group.nv-volume-is-loading > .chapter-group__name{opacity:.72}
.novera-story .chapter-group.nv-volume-is-loading > .chapter-group__name::after{content:"Carregando…";margin-left:auto;font-size:10px;letter-spacing:.04em;color:var(--nv-muted);font-weight:600}
.novera-story .chapter-group.nv-volume-load-error > .chapter-group__name::after{content:"Tentar novamente";margin-left:auto;font-size:10px;color:var(--nv-accent);font-weight:700}
