/* ============================================================
   PassLord — FanFics Reader (chapter view)
   Apple Books / Kindle inspired. Reader-specific theming
   (cream, paper, sepia, night, ink) on top of the global tokens.
   ============================================================ */

body.passlord-reader-page {
    --rd-w: 680px;
    --rd-bg: var(--ph-bg);
    --rd-bg-2: var(--ph-bg-2);
    --rd-card: var(--ph-card);
    --rd-ink: var(--ph-ink);
    --rd-ink-2: var(--ph-ink-2);
    --rd-ink-3: var(--ph-ink-3);
    --rd-line: var(--ph-line);
}

html[data-rd-theme="cream"] body.passlord-reader-page {
    --rd-bg: #FAF6E8; --rd-bg-2: #FFFDF6;
    --rd-card: #FFFDF6; --rd-line: #E8DFC7;
    --rd-ink: #2A1F12; --rd-ink-2: #4A3A26; --rd-ink-3: #806B4F;
}

html[data-rd-theme="paper"] body.passlord-reader-page {
    --rd-bg: #F4F1E8; --rd-bg-2: #FFFDF6;
    --rd-card: #FFFDF6; --rd-line: #E4DFCF;
    --rd-ink: #0A2540; --rd-ink-2: #3A5578; --rd-ink-3: #6A7F99;
}

html[data-rd-theme="sepia"] body.passlord-reader-page {
    --rd-bg: #F0E2C9; --rd-bg-2: #FBF1DC;
    --rd-card: #FBF1DC; --rd-line: #E0CCAA;
    --rd-ink: #3B2418; --rd-ink-2: #5C3E2A; --rd-ink-3: #8E6E51;
}

html[data-rd-theme="night"] body.passlord-reader-page {
    --rd-bg: #0D1B2A; --rd-bg-2: #13263A;
    --rd-card: #13263A; --rd-line: #1F3450;
    --rd-ink: #F2EBD3; --rd-ink-2: #C9C0A6; --rd-ink-3: #8B9CB3;
}

html[data-rd-theme="ink"] body.passlord-reader-page {
    --rd-bg: #0a0a0a; --rd-bg-2: #161616;
    --rd-card: #161616; --rd-line: #262626;
    --rd-ink: #E8E8E8; --rd-ink-2: #B8B8B8; --rd-ink-3: #787878;
}

html[data-rd-width="snug"] body.passlord-reader-page  { --rd-w: 560px; }
html[data-rd-width="comfy"] body.passlord-reader-page { --rd-w: 680px; }
html[data-rd-width="wide"] body.passlord-reader-page  { --rd-w: 780px; }

body.passlord-reader-page {
    background: var(--rd-bg) !important;
    color: var(--rd-ink);
}

body.passlord-reader-page #container,
body.passlord-reader-page #page-content {
    width: 100% !important;
    max-width: none !important;
}

body.passlord-reader-page .rd { color: var(--rd-ink); font-family: var(--ph-font-ui); }

body.passlord-reader-page .rd h1,
body.passlord-reader-page .rd h2,
body.passlord-reader-page .rd h3,
body.passlord-reader-page .rd h4 {
    margin: 0;
    font-family: var(--ph-font-display);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.05;
}

body.passlord-reader-page .rd p { margin: 0; }

/* ============= TOP BAR ============= */
body.passlord-reader-page .rd-top {
    position: sticky;
    top: 0; z-index: 30;
    background: color-mix(in srgb, var(--rd-bg) 88%, transparent);
    backdrop-filter: blur(16px) saturate(140%);
    border-bottom: 1px solid var(--rd-line);
}

body.passlord-reader-page .rd-top__inner {
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex; align-items: center; gap: 16px;
    height: 60px;
}

body.passlord-reader-page .rd-crumb {
    display: flex; align-items: center; gap: 8px;
    font-family: var(--ph-font-mono);
    font-size: 11.5px;
    color: var(--rd-ink-3);
    letter-spacing: 0.05em;
    min-width: 0;
    flex: 1;
}

body.passlord-reader-page .rd-crumb a { color: var(--rd-ink-3); }
body.passlord-reader-page .rd-crumb a:hover { color: var(--ph-brand); }
body.passlord-reader-page .rd-crumb .sep { color: color-mix(in srgb, var(--rd-ink-3) 50%, transparent); }
body.passlord-reader-page .rd-crumb .here {
    color: var(--rd-ink); font-weight: 700;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

body.passlord-reader-page .rd-icon-btn {
    width: 40px; height: 40px;
    border-radius: 50%;
    display: grid; place-items: center;
    border: 1px solid var(--rd-line);
    background: var(--rd-card);
    color: var(--rd-ink);
    transition: transform 0.1s, background 0.15s;
    cursor: pointer;
}

body.passlord-reader-page .rd-icon-btn:hover { background: var(--rd-bg); }

body.passlord-reader-page .rd-icon-btn.active {
    background: var(--rd-ink);
    color: var(--rd-bg);
    border-color: var(--rd-ink);
}

body.passlord-reader-page .rd-icon-btn svg { width: 16px; height: 16px; }

body.passlord-reader-page .rd-pill-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    font-family: var(--ph-font-ui);
    font-weight: 600; font-size: 13px;
    border: 1px solid var(--rd-line);
    background: var(--rd-card);
    color: var(--rd-ink);
    text-decoration: none !important;
}

body.passlord-reader-page .rd-pill-btn svg { width: 14px; height: 14px; }

body.passlord-reader-page .rd-progress {
    position: absolute;
    left: 0; right: 0; bottom: -1px;
    height: 2px;
    background: transparent;
}

body.passlord-reader-page .rd-progress > span {
    display: block; height: 100%;
    width: 0%;
    background: linear-gradient(90deg, var(--ph-brand), var(--ph-mint));
    transition: width 0.2s ease;
}

/* ============= LAYOUT ============= */
body.passlord-reader-page .rd-shell {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr) 280px;
    gap: 0;
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 24px;
}

body.passlord-reader-page .rd-side {
    padding: 28px 16px 60px;
    position: sticky;
    top: 60px;
    height: calc(100vh - 60px);
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--rd-line) transparent;
}

body.passlord-reader-page .rd-side::-webkit-scrollbar { width: 6px; }
body.passlord-reader-page .rd-side::-webkit-scrollbar-thumb { background: var(--rd-line); border-radius: 6px; }

body.passlord-reader-page .rd-side h5 {
    font-family: var(--ph-font-mono);
    font-size: 10.5px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--rd-ink-3);
    margin: 0 0 12px;
    font-weight: 700;
}

/* ============= MINI COVER (left side) ============= */
body.passlord-reader-page .rd-side-cover {
    display: flex; gap: 14px; align-items: flex-start;
    padding: 12px;
    border: 1.5px solid var(--rd-line);
    border-radius: 18px;
    background: var(--rd-card);
    margin-bottom: 24px;
    text-decoration: none !important;
    color: inherit;
}

body.passlord-reader-page .rd-mini-cover {
    width: 54px;
    aspect-ratio: 2 / 3;
    border-radius: 5px 9px 9px 5px;
    flex-shrink: 0;
    color: white;
    font-family: var(--ph-font-display);
    font-weight: 800;
    font-size: 9px;
    line-height: 0.95;
    padding: 8px 6px 8px 12px;
    display: flex; flex-direction: column; justify-content: flex-end;
    position: relative;
    box-shadow: -2px 0 0 rgba(0, 0, 0, 0.18) inset, 0 4px 10px rgba(10, 37, 64, 0.18);
    background: linear-gradient(160deg, #062B55, #1A6FD6);
}

body.passlord-reader-page .rd-mini-cover::before {
    content: ""; position: absolute; left: 5px; top: 0; bottom: 0; width: 1px;
    background: rgba(255, 255, 255, 0.18);
}

body.passlord-reader-page .rd-mini-cover em {
    font-family: var(--ph-font-read);
    font-style: italic;
    font-weight: 500;
    color: var(--ph-accent);
}

body.passlord-reader-page .rd-side-cover .info { min-width: 0; }
body.passlord-reader-page .rd-side-cover .ttl {
    font-family: var(--ph-font-display);
    font-weight: 700; font-size: 14px;
    letter-spacing: -0.015em;
    line-height: 1.2;
    color: var(--rd-ink);
}
body.passlord-reader-page .rd-side-cover .by {
    font-family: var(--ph-font-mono);
    font-size: 10.5px;
    color: var(--rd-ink-3);
    margin-top: 3px;
    letter-spacing: 0.05em;
}
body.passlord-reader-page .rd-side-cover .back {
    margin-top: 8px;
    display: inline-flex; align-items: center; gap: 4px;
    font-family: var(--ph-font-mono);
    font-size: 10.5px;
    color: var(--ph-brand);
    font-weight: 700;
    letter-spacing: 0.05em;
}

/* ============= TOC ============= */
body.passlord-reader-page .rd-toc {
    display: flex; flex-direction: column;
    gap: 0;
}

body.passlord-reader-page .rd-tocrow {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 10px;
    align-items: center;
    padding: 10px;
    border-radius: 10px;
    font-size: 13px;
    color: var(--rd-ink-2);
    cursor: pointer;
    text-decoration: none !important;
}

body.passlord-reader-page .rd-tocrow:hover {
    background: color-mix(in srgb, var(--ph-brand) 6%, transparent);
    color: var(--rd-ink);
}

body.passlord-reader-page .rd-tocrow.read { color: var(--rd-ink-3); }
body.passlord-reader-page .rd-tocrow.read .n { color: var(--ph-mint); }

body.passlord-reader-page .rd-tocrow.current {
    background: color-mix(in srgb, var(--ph-accent) 22%, transparent);
    color: var(--rd-ink);
    font-weight: 700;
}

body.passlord-reader-page .rd-tocrow.current .n { color: var(--rd-ink); }

body.passlord-reader-page .rd-tocrow .n {
    font-family: var(--ph-font-mono);
    font-size: 10.5px;
    color: var(--rd-ink-3);
    text-align: right;
    letter-spacing: 0.05em;
    font-weight: 700;
}

body.passlord-reader-page .rd-tocrow .ttl {
    font-family: var(--ph-font-display);
    font-weight: 700;
    font-size: 13.5px;
    letter-spacing: -0.01em;
    line-height: 1.25;
    text-wrap: balance;
}

body.passlord-reader-page .rd-tocrow.read .ttl { font-weight: 600; }

/* ============= READER CONTENT ============= */
body.passlord-reader-page .rd-content {
    padding: 56px 16px 120px;
    max-width: var(--rd-w);
    margin: 0 auto;
    width: 100%;
}

body.passlord-reader-page .rd-chapter-meta {
    display: flex; flex-direction: column; align-items: flex-start;
    gap: 10px;
    margin-bottom: 20px;
}

body.passlord-reader-page .rd-chapter-meta .saga {
    font-family: var(--ph-font-mono);
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--rd-ink-3);
    display: inline-flex; align-items: center; gap: 10px;
}

body.passlord-reader-page .rd-chapter-meta .saga::before {
    content: "";
    width: 18px; height: 1.5px;
    background: var(--rd-ink-3);
}

body.passlord-reader-page .rd-chapter-meta .num {
    font-family: var(--ph-font-mono);
    font-size: 11px;
    letter-spacing: 0.18em;
    color: var(--ph-brand);
    font-weight: 700;
}

body.passlord-reader-page .rd-chapter-h1 {
    font-family: var(--ph-font-display);
    font-size: clamp(34px, 4.6vw, 54px);
    letter-spacing: -0.04em;
    line-height: 0.95;
    text-wrap: balance;
    color: var(--rd-ink);
}

body.passlord-reader-page .rd-chapter-h1 em {
    font-family: var(--ph-font-read);
    font-style: italic;
    font-weight: 500;
    color: var(--ph-brand);
}

body.passlord-reader-page .rd-chapter-byline {
    display: flex; align-items: center; gap: 10px;
    margin-top: 24px;
    padding: 14px 0;
    border-top: 1px solid var(--rd-line);
    border-bottom: 1px solid var(--rd-line);
    font-family: var(--ph-font-mono);
    font-size: 11.5px;
    color: var(--rd-ink-3);
    letter-spacing: 0.05em;
    flex-wrap: wrap;
}

body.passlord-reader-page .rd-chapter-byline .av {
    width: 32px; height: 32px;
    border-radius: 50%;
    background: var(--ph-brand);
    color: var(--ph-accent);
    display: grid; place-items: center;
    font-family: var(--ph-font-display);
    font-weight: 800; font-size: 13px;
}

body.passlord-reader-page .rd-chapter-byline .name {
    font-family: var(--ph-font-display);
    font-size: 14px;
    font-weight: 700;
    color: var(--rd-ink);
    letter-spacing: -0.01em;
}

body.passlord-reader-page .rd-chapter-byline .ml {
    margin-left: auto;
    display: flex; align-items: center; gap: 18px;
    font-family: var(--ph-font-mono);
}

/* ============= PROSE ============= */
body.passlord-reader-page .rd-body {
    font-family: "Lora", Georgia, serif;
    font-size: 19px;
    line-height: 1.7;
    color: var(--rd-ink);
    text-wrap: pretty;
    margin-top: 32px;
}

html[data-rd-font-family="lora"] body.passlord-reader-page .rd-body { font-family: "Lora", Georgia, serif; }
html[data-rd-font-family="serif4"] body.passlord-reader-page .rd-body { font-family: "Source Serif 4", Georgia, serif; }
html[data-rd-font-family="dm-serif"] body.passlord-reader-page .rd-body { font-family: "DM Serif Display", Georgia, serif; }
html[data-rd-font-family="inter"] body.passlord-reader-page .rd-body { font-family: "Inter", system-ui, sans-serif; }

html[data-rd-justify="true"] body.passlord-reader-page .rd-body p {
    text-align: justify;
    hyphens: auto;
}

body.passlord-reader-page .rd-body p + p {
    margin-top: 18px;
    text-indent: 2em;
}

body.passlord-reader-page .rd-body p.first { text-indent: 0; }

body.passlord-reader-page .rd-body p.first::first-letter {
    font-family: "Lora", Georgia, serif;
    font-size: 5.5em;
    float: left;
    line-height: 0.85;
    margin: 6px 12px 0 0;
    color: var(--ph-brand);
    font-weight: 600;
    font-style: italic;
}

body.passlord-reader-page .rd-body blockquote {
    margin: 32px 0;
    padding: 0 0 0 24px;
    border-left: 3px solid var(--ph-brand);
    font-family: "Lora", Georgia, serif;
    font-style: italic;
    font-size: 1.05em;
    color: var(--rd-ink-2);
}

body.passlord-reader-page .rd-body em.scene {
    display: block;
    font-family: var(--ph-font-mono);
    font-style: normal;
    font-size: 0.7em;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--rd-ink-3);
    text-align: center;
    margin: 36px 0 8px;
    font-weight: 700;
}

/* ============= READING TOOLBAR (floating) ============= */
body.passlord-reader-page .rd-tools {
    position: fixed;
    left: 50%; bottom: 28px;
    transform: translateX(-50%);
    display: flex; align-items: center; gap: 6px;
    background: var(--rd-card);
    border: 1.5px solid var(--rd-line);
    border-radius: 999px;
    padding: 6px;
    box-shadow: 0 12px 32px rgba(10, 37, 64, 0.14);
    z-index: 40;
}

body.passlord-reader-page .rd-tools__btn {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 14px;
    border-radius: 999px;
    font-family: var(--ph-font-ui);
    font-weight: 600;
    font-size: 13px;
    color: var(--rd-ink);
    text-decoration: none !important;
}

body.passlord-reader-page .rd-tools__btn:hover { background: var(--rd-bg); }

body.passlord-reader-page .rd-tools__btn.primary {
    background: var(--rd-ink);
    color: var(--rd-bg);
}

body.passlord-reader-page .rd-tools__btn svg { width: 14px; height: 14px; }

body.passlord-reader-page .rd-tools__sep {
    width: 1px; height: 22px;
    background: var(--rd-line);
    margin: 0 4px;
}

body.passlord-reader-page .rd-tools__progress {
    display: flex; flex-direction: column; align-items: center;
    padding: 0 12px;
    font-family: var(--ph-font-mono);
    font-size: 10.5px;
    color: var(--rd-ink-3);
    letter-spacing: 0.05em;
    min-width: 96px;
}

body.passlord-reader-page .rd-tools__progress b {
    color: var(--rd-ink);
    font-family: var(--ph-font-display);
    font-weight: 800;
    font-size: 13px;
    letter-spacing: -0.01em;
}

/* ============= RIGHT SIDEBAR ============= */
body.passlord-reader-page .rd-side.rd-side--right h5 { margin-top: 24px; }
body.passlord-reader-page .rd-side.rd-side--right h5:first-child { margin-top: 0; }

body.passlord-reader-page .rd-annot {
    background: var(--rd-card);
    border: 1.5px solid var(--rd-line);
    border-radius: 14px;
    padding: 14px;
    margin-bottom: 10px;
}

body.passlord-reader-page .rd-annot .head {
    display: flex; align-items: center; gap: 8px;
    font-family: var(--ph-font-mono);
    font-size: 10.5px;
    color: var(--rd-ink-3);
    letter-spacing: 0.05em;
    margin-bottom: 8px;
}

body.passlord-reader-page .rd-annot .swatch {
    width: 10px; height: 10px;
    border-radius: 3px;
    background: var(--ph-accent);
}

body.passlord-reader-page .rd-annot .quote {
    font-family: var(--ph-font-read);
    font-style: italic;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--rd-ink-2);
    text-wrap: pretty;
}

/* ============= END OF CHAPTER ============= */
body.passlord-reader-page .rd-chapter-end {
    margin-top: 60px;
    padding-top: 36px;
    border-top: 1.5px dashed var(--rd-line);
    display: flex; flex-direction: column; align-items: center;
    gap: 18px;
    text-align: center;
}

body.passlord-reader-page .rd-chapter-end .stamp {
    font-family: var(--ph-font-read);
    font-style: italic;
    font-size: 32px;
    color: var(--rd-ink);
    letter-spacing: 0.05em;
}

body.passlord-reader-page .rd-chapter-end .meta {
    font-family: var(--ph-font-mono);
    font-size: 11.5px;
    color: var(--rd-ink-3);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

body.passlord-reader-page .rd-stars-pick {
    display: flex; gap: 4px;
    font-size: 28px;
    color: color-mix(in srgb, var(--rd-ink) 20%, transparent);
    cursor: pointer;
}

body.passlord-reader-page .rd-stars-pick span:hover,
body.passlord-reader-page .rd-stars-pick span.on {
    color: var(--ph-accent);
}

/* ============= NEXT TEASER ============= */
body.passlord-reader-page .rd-next {
    margin-top: 32px;
    border-radius: 24px;
    overflow: hidden;
    background: linear-gradient(135deg, color-mix(in srgb, var(--ph-brand) 90%, var(--ph-ink)) 0%, var(--ph-brand) 100%);
    color: var(--ph-bg-2);
    position: relative;
}

body.passlord-reader-page .rd-next .inner {
    padding: 28px 32px;
    display: flex; align-items: center; gap: 24px;
    position: relative; z-index: 1;
}

body.passlord-reader-page .rd-next::before {
    content: ""; position: absolute; inset: 0;
    background: radial-gradient(ellipse at 90% 30%, color-mix(in srgb, var(--ph-accent) 50%, transparent), transparent 50%);
    pointer-events: none;
}

body.passlord-reader-page .rd-next .lbl {
    font-family: var(--ph-font-mono);
    font-size: 10.5px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: color-mix(in srgb, var(--ph-accent) 80%, white);
}

body.passlord-reader-page .rd-next h4 {
    font-size: 24px;
    letter-spacing: -0.025em;
    margin-top: 6px;
    color: var(--ph-bg-2);
}

body.passlord-reader-page .rd-next h4 em {
    font-family: var(--ph-font-read);
    font-style: italic;
    font-weight: 500;
    color: var(--ph-accent);
}

body.passlord-reader-page .rd-next .meta {
    font-family: var(--ph-font-mono);
    font-size: 11px;
    color: color-mix(in srgb, white 75%, transparent);
    margin-top: 4px;
    letter-spacing: 0.05em;
}

body.passlord-reader-page .rd-next .go {
    margin-left: auto;
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 16px;
    border-radius: 999px;
    background: var(--ph-accent);
    color: var(--ph-ink);
    font-family: var(--ph-font-ui);
    font-weight: 700;
    font-size: 13px;
    flex-shrink: 0;
    box-shadow: 0 3px 0 rgba(0, 0, 0, 0.2);
    text-decoration: none !important;
}

body.passlord-reader-page .rd-next .go:hover { transform: translateY(-1px); }

/* ============= SETTINGS PANEL ============= */
body.passlord-reader-page .rd-settings {
    position: fixed;
    right: 24px; top: 72px;
    z-index: 45;
    background: var(--rd-card);
    border: 1.5px solid var(--rd-line);
    border-radius: 20px;
    box-shadow: 0 16px 48px rgba(10, 37, 64, 0.18);
    width: 320px;
    padding: 18px;
    font-family: var(--ph-font-ui);
    display: none;
}

body.passlord-reader-page .rd-settings.is-open { display: block; }

body.passlord-reader-page .rd-settings h4 {
    font-family: var(--ph-font-display);
    font-size: 16px;
    letter-spacing: -0.02em;
    display: flex; align-items: center; gap: 8px;
    margin-bottom: 14px;
}

body.passlord-reader-page .rd-settings h4 .tag {
    font-family: var(--ph-font-mono);
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    background: var(--ph-accent);
    color: var(--ph-ink);
    padding: 2px 6px;
    border-radius: 6px;
}

body.passlord-reader-page .rd-tweak-row { margin-bottom: 14px; }

body.passlord-reader-page .rd-tweak-row > label {
    display: flex; align-items: center; justify-content: space-between;
    font-size: 11.5px;
    font-family: var(--ph-font-mono);
    color: var(--rd-ink-3);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 6px;
}

body.passlord-reader-page .rd-tweak-row > label b {
    color: var(--rd-ink);
    font-family: var(--ph-font-display);
    font-size: 13px;
    letter-spacing: 0;
}

body.passlord-reader-page .rd-seg {
    display: flex;
    background: var(--rd-bg);
    border: 1px solid var(--rd-line);
    border-radius: 10px;
    padding: 3px;
}

body.passlord-reader-page .rd-seg button {
    flex: 1;
    padding: 7px 6px;
    border-radius: 7px;
    font-size: 11.5px;
    font-weight: 600;
    color: var(--rd-ink-2);
    border: 0;
    background: transparent;
    cursor: pointer;
    font-family: inherit;
}

body.passlord-reader-page .rd-seg button[aria-pressed="true"] {
    background: var(--rd-ink);
    color: var(--rd-bg);
}

body.passlord-reader-page .rd-theme-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 6px;
}

body.passlord-reader-page .rd-theme-swatch {
    aspect-ratio: 1;
    border-radius: 10px;
    border: 2px solid var(--rd-line);
    cursor: pointer;
    display: flex; align-items: flex-end; justify-content: center;
    font-family: var(--ph-font-mono);
    font-size: 9px;
    letter-spacing: 0.06em;
    color: var(--rd-ink-2);
    font-weight: 700;
    padding: 4px;
    position: relative;
}

body.passlord-reader-page .rd-theme-swatch.cream { background: #FAF6E8; color: #2A1F12; }
body.passlord-reader-page .rd-theme-swatch.paper { background: #F4F1E8; color: #0A2540; }
body.passlord-reader-page .rd-theme-swatch.sepia { background: #F0E2C9; color: #3B2418; }
body.passlord-reader-page .rd-theme-swatch.night { background: #0D1B2A; color: #F2EBD3; border-color: #1F3450; }
body.passlord-reader-page .rd-theme-swatch.ink { background: #0a0a0a; color: #E8E8E8; border-color: #262626; }

body.passlord-reader-page .rd-theme-swatch[aria-pressed="true"] {
    border-color: var(--ph-brand);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--ph-brand) 30%, transparent);
}

body.passlord-reader-page .rd-font-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
}

body.passlord-reader-page .rd-font-grid button {
    padding: 10px 8px;
    border-radius: 10px;
    border: 1.5px solid var(--rd-line);
    background: var(--rd-bg);
    font-size: 14px;
    text-align: center;
    color: var(--rd-ink-2);
    cursor: pointer;
}

body.passlord-reader-page .rd-font-grid button[aria-pressed="true"] {
    border-color: var(--ph-brand);
    color: var(--rd-ink);
    background: var(--rd-card);
}

body.passlord-reader-page .rd-font-grid button[data-v="lora"] { font-family: "Lora", Georgia, serif; font-style: italic; }
body.passlord-reader-page .rd-font-grid button[data-v="serif4"] { font-family: "Source Serif 4", Georgia, serif; }
body.passlord-reader-page .rd-font-grid button[data-v="dm-serif"] { font-family: "DM Serif Display", Georgia, serif; }
body.passlord-reader-page .rd-font-grid button[data-v="inter"] { font-family: "Inter", system-ui, sans-serif; }

body.passlord-reader-page .rd-range-row {
    display: flex; align-items: center; gap: 10px;
}

body.passlord-reader-page .rd-range-row input[type="range"] {
    flex: 1;
    -webkit-appearance: none;
    appearance: none;
    height: 4px;
    background: color-mix(in srgb, var(--rd-ink) 18%, transparent);
    border-radius: 999px;
    outline: none;
}

body.passlord-reader-page .rd-range-row input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 18px; height: 18px;
    background: var(--rd-ink);
    border-radius: 50%;
    cursor: pointer;
}

body.passlord-reader-page .rd-range-row .v {
    font-family: var(--ph-font-mono);
    font-size: 11.5px;
    color: var(--rd-ink-2);
    font-weight: 700;
    min-width: 32px; text-align: right;
}

body.passlord-reader-page .rd-toggle-row {
    display: flex; align-items: center; justify-content: space-between;
    padding: 8px 10px;
    background: var(--rd-bg);
    border: 1px solid var(--rd-line);
    border-radius: 10px;
}

body.passlord-reader-page .rd-toggle-row label {
    font-family: var(--ph-font-ui);
    font-size: 13px;
    font-weight: 600;
    color: var(--rd-ink);
    cursor: pointer;
}

body.passlord-reader-page .rd-switch {
    position: relative;
    width: 36px; height: 20px;
    background: var(--rd-ink-3);
    border-radius: 999px;
    transition: background 0.15s;
    cursor: pointer;
    display: inline-block;
}

body.passlord-reader-page .rd-switch::after {
    content: "";
    position: absolute;
    left: 2px; top: 2px;
    width: 16px; height: 16px;
    background: white;
    border-radius: 50%;
    transition: left 0.15s;
}

body.passlord-reader-page .rd-switch.is-on { background: var(--ph-brand); }
body.passlord-reader-page .rd-switch.is-on::after { left: 18px; }

/* ============= RESPONSIVE ============= */
@media (max-width: 1199px) {
    body.passlord-reader-page .rd-shell {
        grid-template-columns: 240px minmax(0, 1fr);
    }
    body.passlord-reader-page .rd-side--right { display: none; }
    body.passlord-reader-page .rd-content { padding: 40px 16px 120px; }
}

@media (max-width: 767px) {
    body.passlord-reader-page .rd-top__inner { padding: 0 16px; gap: 8px; }
    body.passlord-reader-page .rd-crumb { display: none; }
    body.passlord-reader-page .rd-shell {
        grid-template-columns: 1fr;
        padding: 0 16px;
    }
    body.passlord-reader-page .rd-side {
        display: none;
    }
    body.passlord-reader-page .rd-content { padding: 24px 12px 120px; }
    body.passlord-reader-page .rd-chapter-h1 { font-size: clamp(28px, 8vw, 40px); }
    body.passlord-reader-page .rd-body { font-size: 17px; }
    body.passlord-reader-page .rd-tools { left: 12px; right: 12px; transform: none; flex-wrap: nowrap; bottom: 16px; }
    body.passlord-reader-page .rd-tools__btn { padding: 8px 10px; font-size: 12.5px; }
    body.passlord-reader-page .rd-tools__progress { display: none; }
    body.passlord-reader-page .rd-settings { right: 16px; left: 16px; width: auto; top: 64px; }
}
