/* Nocturne reader: Madara data and controls, rebuilt as a calm reading workspace. */
body.nocturne-reader {
    background: var(--nox-reader-bg);
    color: var(--nox-text);
    color-scheme: dark;
    font-family: Inter, "Segoe UI", Helvetica, Arial, sans-serif;
    --nox-reader-width: 920px;
}
body.nocturne-reader .wrap,
body.nocturne-reader .body-wrap,
body.nocturne-reader .site-content,
body.nocturne-reader .c-page-content,
body.nocturne-reader .content-area { background: var(--nox-reader-bg); color: var(--nox-text); }
body.nocturne-reader :is(a, button, select):focus-visible { outline: 2px solid var(--nox-accent); outline-offset: 3px; }

.nox-reader-dock {
    position: sticky;
    top: 0;
    z-index: 9998;
    width: 100%;
    background: color-mix(in srgb, var(--nox-bg) 88%, transparent);
    border-bottom: 1px solid var(--nox-line);
    box-shadow: 0 14px 36px #0007;
    color: var(--nox-text);
    font-family: Inter, "Segoe UI", Helvetica, Arial, sans-serif;
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    transition: transform .24s cubic-bezier(.22,.61,.36,1), box-shadow .24s ease;
    will-change: transform;
}
body.nox-reader-dock-hidden .nox-reader-dock { transform: translateY(calc(-100% - 4px)); box-shadow: none; }
.nox-reader-progress { position: absolute; inset: 0 0 auto; height: 3px; overflow: hidden; background: var(--nox-raised); }
.nox-reader-progress span { display: block; width: 100%; height: 100%; background: var(--nox-accent); transform: scaleX(0); transform-origin: left; transition: transform .12s linear; }
.nox-reader-dock[dir=rtl] .nox-reader-progress span { transform-origin: right; }
.nox-reader-dock-inner { width: min(1460px, calc(100% - 36px)); min-height: 70px; margin: 0 auto; display: grid; grid-template-columns: auto minmax(130px, .6fr) minmax(360px, 1.4fr) auto; align-items: center; gap: 17px; }
.nox-reader-back { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--nox-line); border-radius: 50%; color: var(--nox-text); font-size: 19px; text-decoration: none; }
.nox-reader-back:hover { background: var(--nox-accent); border-color: var(--nox-accent); color: #171211; }
.nox-reader-identity { min-width: 0; line-height: 1.25; }
.nox-reader-identity strong, .nox-reader-identity span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nox-reader-identity strong { color: var(--nox-text); font-size: 13px; }
.nox-reader-identity span { color: var(--nox-muted); font-size: 10px; margin-top: 5px; }
.nox-reader-selectors { display: flex; justify-content: center; gap: 8px; min-width: 0; }
.nox-reader-selectors > div { flex: 1 1 0; min-width: 0; max-width: 190px; }
.nox-reader-selectors label { display: block; margin: 0; position: relative; }
.nox-reader-selectors label > span { position: absolute; z-index: 1; inset-inline-start: 11px; top: 6px; color: var(--nox-muted); font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; pointer-events: none; }
.nox-reader-selectors select { display: block; width: 100%; height: 48px; padding: 18px 31px 5px 10px; border: 1px solid var(--nox-line); border-radius: 8px; background: var(--nox-surface); color: var(--nox-text); font-size: 11px; line-height: 1.2; box-shadow: none; cursor: pointer; }
.nox-reader-actions { display: flex; align-items: center; gap: 7px; }
.nox-reader-actions button { min-width: 37px; height: 37px; padding: 0 10px; border: 1px solid var(--nox-line); border-radius: 7px; background: var(--nox-raised); color: var(--nox-text); font: inherit; cursor: pointer; }
.nox-reader-actions button:hover, .nox-reader-actions button[aria-pressed=true] { border-color: var(--nox-accent); color: var(--nox-accent); }
.nox-reader-actions .nox-auto-hide { min-width: 45px; padding-inline: 8px; font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.nox-reader-actions [data-nox-action=resume] { width: auto; color: #171211; border-color: var(--nox-accent); background: var(--nox-accent); font-size: 10px; font-weight: 700; white-space: nowrap; }
.nox-reader-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

body.nocturne-reader .reading-content-wrap { padding: 42px 0 70px; position: relative; }
body.nocturne-reader .nox-site-header { display: none !important; }
body.nocturne-reader #chapter-heading { max-width: 840px; margin: 0 auto 28px; padding: 0 18px; color: var(--nox-text); text-align: center; font-size: clamp(24px, 3vw, 38px); font-weight: 720; line-height: 1.25; letter-spacing: -.035em; }
body.nocturne-reader .main-col-inner { background: transparent; }
body.nocturne-reader .c-blog-post .entry-content { color: var(--nox-text); }
body.nocturne-reader .entry-content_wrap { background: transparent; }
body.nocturne-reader .read-container { position: relative; }
body.nocturne-reader .reading-content { width: min(var(--nox-reader-width), 100%); margin-inline: auto; transition: width .2s ease; }
body.nocturne-reader .reading-content .page-break { margin: 0 auto 12px; text-align: center; background: transparent; }
body.nocturne-reader .reading-content .page-break.no-gaps { margin-bottom: 0; }
body.nocturne-reader .reading-content img.wp-manga-chapter-img { display: block; width: auto; max-width: 100%; height: auto; margin-inline: auto; box-shadow: 0 0 0 1px #ffffff08; }
body.nocturne-reader[data-nox-reader-width=wide] { --nox-reader-width: 1180px; }
body.nocturne-reader[data-nox-reader-width=focus] { --nox-reader-width: 720px; }

body.nocturne-reader :is(#manga-reading-nav-head, #manga-reading-nav-foot) { width: min(1040px, calc(100% - 30px)); margin: 0 auto 26px; padding: 13px; border: 1px solid var(--nox-line); border-radius: 12px; background: var(--nox-surface); }
body.nocturne-reader #manga-reading-nav-foot { margin-top: 34px; margin-bottom: 0; }
body.nocturne-reader .wp-manga-nav { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
body.nocturne-reader .wp-manga-nav .select-view { display: flex !important; visibility: visible !important; height: auto !important; max-height: none !important; overflow: visible !important; opacity: 1 !important; flex-wrap: wrap; align-items: center; gap: 8px; }
body.nocturne-reader .wp-manga-nav .selectpicker_version,
body.nocturne-reader .wp-manga-nav .selectpicker_chapter,
body.nocturne-reader .wp-manga-nav .selectpicker_load,
body.nocturne-reader .wp-manga-nav .c-selectpicker { display: block !important; visibility: visible !important; margin: 0; }
body.nocturne-reader .wp-manga-nav select { min-width: 135px; height: 39px; padding: 5px 28px 5px 9px; border: 1px solid var(--nox-line) !important; border-radius: 7px; background: var(--nox-raised) !important; color: var(--nox-text) !important; color-scheme: dark; appearance: auto !important; font-size: 11px; }
body.nocturne-reader .wp-manga-nav .select-pagination { min-width: 0; }
body.nocturne-reader .wp-manga-nav .nav-links { display: flex; align-items: center; gap: 7px; }
body.nocturne-reader .wp-manga-nav .nav-links a { display: grid; place-items: center; min-width: 128px; min-height: 39px; padding: 7px 18px; border: 1px solid var(--nox-line) !important; border-radius: 999px; background: var(--nox-raised) !important; color: var(--nox-text) !important; font-size: 11px; font-weight: 700; text-decoration: none; }
body.nocturne-reader .wp-manga-nav .nav-links :is(a.prev_page, a.next_page) { width: auto !important; min-width: 128px !important; padding: 7px 18px !important; overflow: visible !important; text-indent: 0 !important; white-space: nowrap !important; }
body.nocturne-reader .wp-manga-nav .nav-links a:hover { border-color: var(--nox-accent); color: var(--nox-accent); }
body.nocturne-reader .wp-manga-nav .nav-links a :is(i, svg) { display: none !important; }
body.nocturne-reader .wp-manga-nav .nav-previous a::before,
body.nocturne-reader .wp-manga-nav .nav-previous a::after,
body.nocturne-reader .wp-manga-nav .nav-next a::before,
body.nocturne-reader .wp-manga-nav .nav-next a::after { display: none !important; content: none !important; }
body.nocturne-reader .wp-manga-nav .mobile-nav-btn { display: none !important; }
body.nox-reader-enhanced #manga-reading-nav-head .selectpicker_version { display: none !important; }
body.nox-reader-enhanced #manga-reading-nav-head .select-view,
body.nox-reader-enhanced #manga-reading-nav-head .action-icon { display: none !important; }
body.nox-reader-enhanced #manga-reading-nav-foot .select-view,
body.nox-reader-enhanced #manga-reading-nav-foot .action-icon { display: none !important; }
body.nox-reader-enhanced #manga-reading-nav-foot .wp-manga-nav { justify-content: center; }
body.nox-reader-enhanced #manga-reading-nav-foot .select-pagination { width: 100%; }
body.nox-reader-enhanced #manga-reading-nav-foot .nav-links { justify-content: center; }
body.nocturne-reader .body-top-ads, body.nocturne-reader .body-bottom-ads { max-width: 1040px; margin-inline: auto; }
body.nocturne-reader .nox-site-header .search-navigation :is(a, button, .open-search-main-menu) { background: var(--nox-raised) !important; color: var(--nox-text) !important; border: 1px solid var(--nox-line) !important; border-radius: 50%; }
body.nocturne-reader :is(.comments-area, .c-tabs-item__content, .related-manga) { color: var(--nox-text); }
body.nocturne-reader :is(.comments-area, .related-manga) :is(input, textarea) { background: var(--nox-surface); color: var(--nox-text); border: 1px solid var(--nox-line); border-radius: 7px; }
body.nocturne-reader :is(.comments-area, .related-manga) :is(h3, h4, h5, label, p, a) { color: var(--nox-text); }
body.nocturne-reader :is(.comments-area, .related-manga) :is(.btn, input[type=submit]) { background: var(--nox-accent) !important; border-color: var(--nox-accent) !important; color: #171211 !important; border-radius: 7px; }

body.nocturne-reader.nox-paper-reader { --nox-reader-bg: #e8e1d4; --nox-text: #282521; --nox-muted: #6c665d; --nox-surface: #f4eee3; --nox-raised: #ded5c6; --nox-line: #c7bdad; color-scheme: light; }
body.nocturne-reader.nox-paper-reader .nox-site-header,
body.nocturne-reader.nox-paper-reader .nox-site-footer { display: none; }
body.nocturne-reader.nox-focus-mode .nox-site-header,
body.nocturne-reader.nox-focus-mode .nox-site-footer,
body.nocturne-reader.nox-focus-mode #chapter-heading,
body.nocturne-reader.nox-focus-mode #manga-reading-nav-foot,
body.nocturne-reader.nox-focus-mode :is(.body-top-ads, .body-bottom-ads) { display: none !important; }
body.nocturne-reader.nox-focus-mode .reading-content-wrap { padding-top: 22px; }
body.nox-reader-loading .reading-content-wrap { opacity: .42; pointer-events: none; transition: opacity .15s ease; }
body.nox-reader-loading .nox-reader-progress span { transform: scaleX(.72) !important; animation: nox-reader-wait 1s ease-in-out infinite alternate; }
@keyframes nox-reader-wait { to { transform: scaleX(.96); } }

@media (max-width: 900px) {
    .nox-reader-dock-inner { grid-template-columns: auto 1fr auto; padding: 10px 0; }
    .nox-reader-identity { display: none; }
    .nox-reader-selectors { grid-row: 2; grid-column: 1 / -1; width: 100%; }
    .nox-reader-selectors > div { max-width: none; }
    body.nocturne-reader .reading-content-wrap { padding-top: 28px; }
}
@media (max-width: 767px) {
    body.nocturne-reader { overflow-x: clip; }
    .nox-reader-dock-inner { width: min(100% - 20px, 1460px); gap: 8px; }
    .nox-reader-actions { justify-content: flex-end; }
    .nox-reader-actions [data-nox-action=width],
    .nox-reader-actions [data-nox-action=focus] { display: none; }
    .nox-reader-actions [data-nox-action=resume] { position: fixed; inset-inline: 12px; bottom: 14px; height: 44px; box-shadow: 0 10px 30px #0009; }
    .nox-reader-selectors { gap: 5px; overflow: visible; justify-content: stretch; }
    .nox-reader-selectors > div { min-width: 0; flex: 1 1 0; }
    .nox-reader-selectors select { min-width: 0; padding-inline-end: 22px; text-overflow: ellipsis; }
    body.nocturne-reader .reading-content-wrap { padding: 20px 0 54px !important; }
    body.nocturne-reader #chapter-heading { margin-bottom: 20px; padding-inline: 14px; font-size: 22px; }
    body.nocturne-reader #manga-reading-nav-head .entry-header_wrap,
    body.nocturne-reader .wp-manga-nav .nav-links .btn-primary { display: none; }
    body.nocturne-reader .reading-content {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-inline: calc(50% - 50vw) !important;
        padding: 0 !important;
    }
    body.nocturne-reader .reading-content .page-break {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    body.nocturne-reader .reading-content img,
    body.nocturne-reader .reading-content img.wp-manga-chapter-img {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
    }
    body.nocturne-reader :is(#manga-reading-nav-head, #manga-reading-nav-foot) { width: calc(100% - 20px); padding: 9px; }
    body.nocturne-reader .wp-manga-nav { align-items: stretch; flex-direction: column; }
    body.nocturne-reader .wp-manga-nav .select-view { width: 100%; min-height: 49px; }
    body.nocturne-reader .wp-manga-nav .select-pagination { position: static !important; }
    body.nocturne-reader .wp-manga-nav .c-selectpicker { flex: 1 1 120px; }
    body.nocturne-reader .wp-manga-nav select { width: 100% !important; min-width: 0; }
    body.nocturne-reader .wp-manga-nav .nav-links { justify-content: space-between; }
    body.nocturne-reader .wp-manga-nav .select-pagination,
    body.nocturne-reader .wp-manga-nav .nav-links { width: 100%; }
    body.nocturne-reader .wp-manga-nav .nav-links > div { flex: 1; }
    body.nocturne-reader .wp-manga-nav .nav-links :is(a.prev_page, a.next_page) { width: 100% !important; min-width: 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
    .nox-reader-dock, .nox-reader-progress span, body.nocturne-reader .reading-content, body.nox-reader-loading .reading-content-wrap { transition: none; animation: none; }
}
