/* A relaxed reading-club theme. Admin and immersive reader remain independent. */
html:root { --page:#faf7f0; --surface:#fffcf7; --surface-soft:#eee9de; --ink:#343d36; --muted:#686b60; --line:#dedfd2; --accent-soft:#eee8e0; --shadow:none; --font-ui:var(--font-heading,Arial),sans-serif; --content-width:1120px; --club-green:#435d49; --club-on-green:#fffdf7; }
html[data-bs-theme="dark"] { --page:#20251f; --surface:#252b24; --surface-soft:#2c352c; --ink:#f1ecdf; --muted:#b9bdad; --line:#434d40; --accent-soft:#343b32; --shadow:none; --club-green:#bed0ae; --club-on-green:#202b22; }
.editorial-site { font-size:17px; }
.editorial-site :is(h1,h2,h3,h4) { text-wrap:pretty; letter-spacing:-.025em!important; }
.editorial-site :is(h1,.hero-title) { font-size:clamp(2rem,3.6vw,2.75rem)!important; line-height:1.2!important; font-weight:700; }
.editorial-site h2 { font-size:clamp(1.6rem,2.7vw,2rem); line-height:1.2!important; }
.editorial-site h3 { font-size:1.25rem; line-height:1.3!important; }
.editorial-site .eyebrow { color:var(--muted); font:600 .72rem/1.5 var(--font-ui); letter-spacing:.035em; text-transform:none; }
.editorial-site a { text-underline-offset:4px; }
.editorial-site :is(.btn,.quest-btn) { border-radius:9px; box-shadow:none!important; transform:none!important; }
.editorial-site .btn-accent { background:var(--club-green); border-color:var(--club-green); color:var(--club-on-green); }
.editorial-site .btn-accent:hover { background:var(--accent-text); border-color:var(--accent-text); color:var(--page); }
.editorial-site .site-navbar { box-shadow:none; }
.editorial-site .header-main { max-width:var(--content-width); padding-inline:28px; min-height:83px; }
.editorial-site .navbar-brand { max-width:none; font-size:1.85rem; font-weight:700!important; letter-spacing:-.055em; margin-right:24px; color:var(--club-green); }
.editorial-site .brand-name::after { content:""; }
.editorial-brand-caption { max-width:170px; padding-left:23px; border-left:1px solid var(--line); font:400 .75rem/1.5 var(--font-ui); color:var(--muted); }
.editorial-site .theme-toggle { border:0; border-radius:50%; background:var(--surface-soft)!important; width:44px; height:44px; min-height:44px; flex-basis:44px; box-shadow:none; }
.editorial-site .header-actions .btn-soft { color:var(--ink); background:none; padding-inline:12px; font-size:.8rem; }
.editorial-site .header-actions .btn-soft:hover { text-decoration:underline; }
.editorial-site .resource-quick-nav .container { max-width:var(--content-width); justify-content:flex-start; gap:24px!important; padding:0 28px!important; min-height:45px; }
.editorial-site .resource-quick-label { display:none; }
.editorial-site .resource-quick-nav a { position:relative; padding:13px 0; border-radius:0; font:600 .78rem/1.4 var(--font-ui); color:var(--ink); background:none!important; min-height:45px; }
.editorial-site .resource-quick-nav a:hover { color:var(--accent-text); }
.editorial-site .resource-quick-nav .mobile-collections { display:none; }
.editorial-site .resource-quick-nav a[aria-current]::after { content:""; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--accent-text); }
.editorial-intro { border-bottom:0; padding:52px 0 30px; }
.editorial-intro-grid { display:grid; grid-template-columns:minmax(0,1fr) 326px; align-items:center; gap:58px; }
.editorial-intro-text { grid-template-columns:1fr; }
.editorial-intro .hero-title { margin:16px 0 22px!important; max-width:780px; font-family:var(--font-body,Georgia,serif)!important; font-weight:400; color:var(--club-green); }
.editorial-intro .eyebrow { color:var(--club-green); font-size:.76rem; }
.editorial-deck { max-width:680px; font:400 1rem/1.65 var(--font-ui); color:var(--muted); }
.editorial-deck p { margin-bottom:12px; }
.editorial-text-link { display:inline-flex; align-items:center; gap:14px; margin-top:10px; color:var(--ink); font:600 .86rem/1.4 var(--font-ui); text-decoration:underline; }
.editorial-text-link:hover { color:var(--accent-text); }
.editorial-intro .editorial-text-link { padding:13px 20px; border-radius:9px; background:var(--club-green); color:var(--club-on-green); text-decoration:none; }
.editorial-intro .editorial-text-link:hover { text-decoration:underline; }
.editorial-intro-art { margin:0; padding:12px 12px 0; background:#e7e9dc; border-radius:150px 150px 14px 14px; }
.editorial-intro-art img { width:100%; aspect-ratio:.88; object-fit:cover; object-position:center 30%; border-radius:140px 140px 7px 7px; }
.editorial-intro-art figcaption { padding:13px 0 15px; margin:0; text-align:center; color:#53604e; font:400 .7rem/1.5 var(--font-ui); }
html[data-bs-theme="dark"] .editorial-intro-art { background:#374332; }
html[data-bs-theme="dark"] .editorial-intro-art figcaption { color:#d6dfc7; }
.editorial-section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:24px; margin-bottom:26px; border-top:0; padding-top:8px; }
.editorial-section-heading h2 { margin:0; }
.editorial-section-heading>span { flex-shrink:0; font:400 .7rem/1.5 var(--font-ui); color:var(--muted); }
.editorial-section-heading>a { color:var(--ink); font:600 .8rem/1.4 var(--font-ui); white-space:nowrap; text-decoration:none; }
.editorial-section-heading>a:hover { text-decoration:underline; }
.editorial-section-heading p { max-width:660px; margin:13px 0 0; font:400 .9rem/1.65 var(--font-ui); color:var(--muted); }
.editorial-features { padding:42px 0 0; }
.editorial-features .editorial-section-heading { border:0; padding-top:0; }
.editorial-features .editorial-section-heading h2 { font-size:1.8rem; }
.editorial-feature-grid { display:grid; grid-template-columns:1.08fr 1fr; gap:32px; }
.editorial-feature-single { grid-template-columns:1fr; }
.editorial-feature-grid article { min-width:0; }
.editorial-feature-grid article>a { color:var(--ink); text-decoration:none; display:block; }
.editorial-story-art { height:290px; padding:26px; background:#e9dfce; border-radius:14px; display:flex; justify-content:center; align-items:center; }
html[data-bs-theme="dark"] .editorial-story-art { background:#3b3a2e; }
.editorial-story-art img { height:100%; width:auto; max-width:100%; object-fit:contain; box-shadow:7px 10px 16px #33291d24; transform:rotate(-4deg); }
.editorial-game-art { height:290px; overflow:hidden; border-radius:14px; }
.editorial-game-art img { width:100%; height:100%; object-fit:cover; object-position:center 28%; }
.editorial-feature-copy { padding-top:18px; }
.editorial-feature-copy h3 { font-size:1.75rem; line-height:1.15!important; margin:9px 0 12px; }
.editorial-feature-copy p { font:400 .95rem/1.6 var(--font-ui); color:var(--muted); margin-bottom:13px; }
.editorial-feature-copy .editorial-byline { font-size:.78rem; color:var(--ink); margin-bottom:13px; }
.editorial-feature-grid a:hover h3 { color:var(--accent-text); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.editorial-feature-links { display:flex; flex-wrap:wrap; gap:12px 28px; border-top:0; padding:16px 20px; margin-top:26px; border-radius:10px; background:var(--surface-soft); }
.editorial-feature-links a { color:var(--ink); font:600 .78rem/1.5 var(--font-ui); text-decoration:none; }
.editorial-feature-links a:hover { text-decoration:underline; }
html[data-bs-theme] .editorial-site :is(.collections-section,.shopping-sections,.tags-section,.seo-section,.resource-sections,.fanfics-home) { background:var(--page); border:0; }
.editorial-site main>section.py-5 { padding-block:42px!important; }
.editorial-site .editorial-directory { padding-top:12px!important; }
.editorial-link-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:32px; }
html[data-bs-theme] .editorial-site :is(.resource-card,.collection-card,.resource-directory-card,.fanfic-link-card,.fic-card) { border:0; border-radius:0; box-shadow:none; background:transparent; transform:none; }
html[data-bs-theme] .editorial-site :is(.resource-card,.collection-card,.resource-directory-card,.fanfic-link-card,.fic-card):hover { background:transparent; box-shadow:none; transform:none; }
.editorial-site .resource-card { padding:21px 0; align-items:flex-start; gap:12px; border-top:1px solid var(--line)!important; min-height:150px; }
.editorial-site .resource-title { font-size:1.08rem; font-weight:750; line-height:1.4; }
.editorial-site .resource-description { font:400 .83rem/1.65 var(--font-ui); }
.editorial-site :is(.resource-arrow,.card-arrow,.fanfic-card-arrow) { background:none; border-radius:0; color:var(--muted); width:18px; flex-basis:18px; }
.editorial-site .collection-grid { gap:32px; }
.editorial-site .collection-card { padding:23px 0; border-top:1px solid var(--line)!important; min-height:240px; }
.editorial-site .collection-card::before,.editorial-site .resource-section-card::after { display:none; }
.editorial-site .collection-card-kicker { padding:0; border-radius:0; background:none; color:var(--muted); font-size:.7rem; text-transform:none; letter-spacing:0; margin-bottom:15px; }
.editorial-site .collection-card strong { font-size:1.25rem; }
.editorial-site .collection-card .card-arrow { margin-top:20px!important; padding:0!important; }
.editorial-site .resource-section-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
html[data-bs-theme] .editorial-site .resource-section-card { position:relative; grid-column:auto; min-height:238px; border:0; border-radius:14px; background:#dee6d1; box-shadow:none; padding:26px; transform:none; color:#334733; }
html[data-bs-theme] .editorial-site .resource-kind-video { background:#efded3; color:#684538; }
html[data-bs-theme] .editorial-site .resource-kind-fb2 { background:#eae2bd; color:#5b4f28; }
html[data-bs-theme="dark"] .editorial-site .resource-section-card { background:#30382b; color:#e8eddf; }
html[data-bs-theme="dark"] .editorial-site .resource-kind-video { background:#34313f; color:#e8e6f0; }
html[data-bs-theme="dark"] .editorial-site .resource-kind-fb2 { background:#403229; color:#f2e3d8; }
.editorial-site .resource-section-card strong { color:inherit; font-size:1.35rem; margin:43px 20px 22px 0; }
.editorial-site .resource-section-card .editorial-rubric-art { position:absolute; right:22px; top:16px; opacity:.65; width:58px; height:58px; }
.editorial-site .resource-section-kicker { max-width:calc(100% - 62px); }
.editorial-site .resource-section-kicker,.editorial-site .resource-section-count { color:inherit; opacity:.8; font:400 .73rem/1.5 var(--font-ui); text-transform:none; letter-spacing:0; }
.editorial-site .resource-section-card .editorial-rubric-arrow { position:absolute; right:22px; bottom:20px; font:400 1.5rem/1 var(--font-ui); }
.editorial-site .resource-section-card:hover strong { color:inherit; text-decoration:underline; text-decoration-thickness:1px; }
.editorial-site .resource-directory { gap:0 32px; }
.editorial-site .resource-directory-card { border-top:1px solid var(--line)!important; padding:24px 30px 24px 0; min-height:170px; }
.editorial-site .fanfic-list { gap:0; }
.editorial-site .fanfic-link-card { border-top:1px solid var(--line)!important; padding:22px 0; }
.editorial-site .resource-directory-arrow { right:0; }
.editorial-site .tag-cloud { gap:10px; border-top:0; padding-top:5px; }
.editorial-site .tag-cloud a { padding:8px 14px; background:var(--surface-soft); border:0; border-radius:7px; font-size:.86rem; font-weight:500; transform:none; color:var(--ink); text-decoration:none; }
.editorial-site .tag-cloud a::before { display:none; }
.editorial-site .tag-cloud a:hover { background:none; color:var(--accent-text); }
.editorial-site main :is(.collection-hero,.tag-hero,.legal-hero,.fanfics-header,.fic-story .echo-header) { background:var(--page); padding:32px 0 36px; border-color:var(--line); }
.editorial-site main :is(.collection-hero,.tag-hero,.legal-hero,.fanfics-header,.fic-story .echo-header) h1 { font-size:clamp(2rem,3.6vw,2.75rem); line-height:1.13!important; margin:14px 0 20px!important; }
.editorial-site main :is(.collection-hero,.tag-hero,.legal-hero,.fanfics-header,.fic-story .echo-header) p { font:400 1.05rem/1.65 var(--font-ui); max-width:780px; }
.editorial-site .site-breadcrumbs { font-size:.73rem; margin-bottom:28px; }
.editorial-site .site-breadcrumbs li+li::before { border:0; width:auto; height:auto; transform:none; content:"/"; margin-inline:12px; opacity:.6; }
.editorial-site .legal-content { font-size:1.06rem; line-height:1.8; }
.editorial-site .legal-content :is(h2,h3) { margin-top:2em; margin-bottom:.8em; }
.editorial-site .legal-content h2 { font-size:1.65rem; }
.editorial-site .legal-content h3 { font-size:1.25rem; }
.editorial-site .legal-content>h2:first-child { margin-top:0; }
.editorial-site .legal-content figure img,.editorial-site .fic-illustration img { border-radius:10px; box-shadow:none; }
.editorial-site .legal-content figure figcaption { text-align:left; }
.editorial-site .redirect-card { border:1px solid var(--line); border-radius:14px; box-shadow:none; background:var(--surface); text-align:left!important; }
.editorial-site .redirect-icon { display:none; }
.editorial-site .target-url { border-radius:7px; background:var(--surface-soft); color:var(--ink); }
.editorial-site .empty-card { border-radius:0; }
.editorial-site .fic-card { border-top:1px solid var(--line)!important; padding:28px 0; }
.editorial-site .fic-cover-art,.editorial-site .fic-story-cover { border-radius:0; box-shadow:none; }
.editorial-site .fic-card-tags>span { background:none; padding:0; }
.editorial-site .fic-card-tags>span+span::before { content:"·"; margin-right:12px; }
.editorial-site .fic-story .echo-prose .void { border-radius:0; background:var(--surface-soft); }
.editorial-site .fic-toc { border-radius:0; }
.editorial-site .quest-card { border:0; border-radius:14px; box-shadow:none; transform:none; background:var(--surface-soft); }
.editorial-site .quest-card-copy { padding:32px; }
.editorial-site .quest-card-link { color:var(--ink); }
.editorial-site .quest-meta span { border:0; border-radius:0; padding:0 14px 0 0; background:none; font-family:var(--font-ui); }
.editorial-site .quest-meta span+span { border-left:1px solid var(--line); padding-left:14px; }
.editorial-site .quest-scene { border-radius:12px; }
.editorial-site .quest-paper { border:0; border-bottom:1px solid var(--line); border-radius:0; padding:30px 0; background:var(--page); }
.editorial-site .quest-task { border-top:1px solid var(--line); margin-top:12px; }
.editorial-site .quest-toolbar { border-radius:10px; background:var(--surface-soft); }
.editorial-site :is(.quest-progress button,.quest-input,.quest-select,.quest-options label,.quest-ending,.quest-clocks>div,.quest-order li,.quest-logic fieldset,.quest-roles>div,.quest-discussion,.quest-evidence,.quest-solution) { border-radius:3px; }
.editorial-site .quest-discussion { background:var(--surface-soft); border-left:3px solid var(--accent-text); }
.editorial-site .quest-story { max-width:100%; }
.editorial-site .quest-how { border-top:1px solid var(--line); padding-top:24px; }
.editorial-site .cookie-notice { border-radius:3px; box-shadow:0 3px 20px #0002; }
.editorial-site .age-gate-card { border-radius:5px; box-shadow:none; background:var(--page); }
.editorial-site .age-gate-mark { border-radius:0; box-shadow:none; }
.editorial-site .site-footer { background:var(--surface-soft); color:var(--muted); padding:40px 0 24px; border-top:0; }
.editorial-site .site-footer>.container { max-width:var(--content-width); padding-inline:28px; }
.editorial-site .footer-brand { color:var(--ink)!important; font-size:1.7rem; letter-spacing:-.045em; }
.editorial-site .footer-heading { color:var(--ink); font-size:.75rem; text-transform:none; letter-spacing:0; }
.editorial-site .site-footer a { color:var(--ink); }
.editorial-site .footer-bottom { border-color:var(--line); color:var(--muted); }
@media(max-width:991px) {
    .editorial-brand-caption { display:none; }
    .editorial-intro-grid { grid-template-columns:minmax(0,1fr) 250px; gap:32px; }
    .editorial-intro-text { grid-template-columns:1fr; }
    .editorial-link-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .editorial-site .resource-quick-nav .container { width:max-content; max-width:none; }
    .editorial-site .resource-section-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .editorial-site .resource-section-card:last-child:nth-child(odd) { grid-column:auto; }
    html[data-bs-theme] .editorial-site .resource-section-card { padding:20px; }
    .editorial-site .resource-section-card strong { font-size:1.12rem; }
}
@media(max-width:700px) {
    .editorial-site .header-main { min-height:66px; padding-inline:20px; }
    .editorial-site .navbar-brand { font-size:1.45rem; margin-right:10px; }
    .editorial-site .header-actions { gap:0!important; }
    .editorial-site .header-actions .btn-soft { font-size:.72rem; padding-inline:8px; }
    .editorial-site .header-actions .theme-toggle { width:40px; min-height:44px; flex-basis:40px; margin-left:1px; padding:0; }
    .editorial-site .resource-quick-nav .container { gap:23px!important; padding-inline:20px!important; }
    .editorial-site .resource-quick-nav a { font-size:.75rem; }
    .editorial-intro { padding:28px 0; }
    .editorial-intro-grid { grid-template-columns:minmax(0,1fr) 118px; gap:18px; }
    .editorial-intro-grid>div { display:contents; }
    .editorial-intro .eyebrow { grid-column:1 / -1; }
    .editorial-intro .hero-title { grid-column:1 / -1; font-size:1.95rem!important; margin:0!important; }
    .editorial-intro .editorial-deck { grid-column:1 / -1; font-size:.93rem; }
    .editorial-intro-art { grid-column:2; grid-row:4; align-self:center; margin:0; padding:5px; border-radius:60px 60px 10px 10px; }
    .editorial-intro-art img { aspect-ratio:.92; border-radius:55px 55px 6px 6px; }
    .editorial-intro-art figcaption { display:none; }
    .editorial-intro .editorial-text-link { grid-column:1; grid-row:4; margin:0; align-self:center; justify-self:start; font-size:.82rem; padding:12px 15px; }
    .editorial-intro-text { grid-template-columns:1fr; }
    .editorial-feature-grid { grid-template-columns:1fr 1fr; gap:20px; }
    .editorial-story-art,.editorial-game-art { height:190px; }
    .editorial-story-art { padding:15px; }
    .editorial-feature-copy h3 { font-size:1.4rem; }
    .editorial-feature-copy p { font-size:.83rem; }
    .editorial-feature-copy .eyebrow { font-size:.66rem; }
    .editorial-feature-copy .editorial-text-link { font-size:.78rem; }
    .editorial-section-heading { gap:15px; margin-bottom:20px; padding-top:17px; }
    .editorial-section-heading h2 { font-size:1.5rem; }
    .editorial-section-heading>span { display:none; }
    .editorial-section-heading>a { font-size:.73rem; }
    .editorial-site .resource-section-grid { grid-template-columns:1fr; gap:12px; }
    html[data-bs-theme] .editorial-site .resource-section-card { min-height:150px; padding:23px; }
    .editorial-site .resource-section-card strong { font-size:1.3rem; margin:18px 70px 16px 0; }
    .editorial-site main>section.py-5 { padding-block:32px!important; }
    .editorial-site .editorial-directory { padding-top:8px!important; }
    .editorial-site .resource-directory { grid-template-columns:1fr; }
    .editorial-site .collection-grid { grid-template-columns:1fr; gap:0; }
    .editorial-site .collection-card { min-height:0; padding:25px 0; }
    .editorial-site .collection-card .card-arrow { display:none; }
    .editorial-site main :is(.collection-hero,.tag-hero,.legal-hero,.fanfics-header,.fic-story .echo-header) { padding:24px 0 28px; }
    .editorial-site main :is(.collection-hero,.tag-hero,.legal-hero,.fanfics-header,.fic-story .echo-header) h1 { font-size:2rem!important; }
    .editorial-site main :is(.collection-hero,.tag-hero,.legal-hero,.fanfics-header,.fic-story .echo-header) p { font-size:.96rem; }
    .editorial-site .site-breadcrumbs { margin-bottom:22px; font-size:.7rem; }
    .editorial-site .legal-content { font-size:1rem; }
    .editorial-site .legal-content h2 { font-size:1.45rem; }
    .editorial-site .legal-content h3 { font-size:1.2rem; }
    .editorial-site .quest-card-copy { padding:25px; }
    .editorial-site .quest-paper { padding:24px 0; }
    .editorial-site .quest-clocks>div { padding:14px; }
    .editorial-site .footer-grid { grid-template-columns:1fr 1fr; gap:30px 20px; }
    .editorial-site .footer-about { grid-column:1 / -1; }
    .editorial-site .footer-nav { grid-template-columns:1fr; }
    .editorial-site .site-footer>.container { padding-inline:20px; }
}
@media(max-width:480px) {
    .editorial-site .header-main { padding-inline:16px; }
    .editorial-site .navbar-brand { font-size:1.26rem; margin-right:3px; }
    .editorial-site .header-actions .btn-soft { padding-inline:6px; font-size:.68rem; }
    .editorial-site .header-actions .theme-toggle { width:44px; flex-basis:44px; }
    .editorial-site .header-actions .header-collections { display:none; }
    .editorial-site .resource-quick-nav .mobile-collections { display:block; }
    .editorial-feature-grid { grid-template-columns:1fr; gap:30px; }
    .editorial-story-art,.editorial-game-art { height:230px; }
    .editorial-feature-copy h3 { font-size:1.7rem; }
    .editorial-feature-copy p { font-size:.94rem; }
    .editorial-feature-copy .eyebrow { font-size:.73rem; }
    .editorial-feature-links { gap:10px 22px; }
    .editorial-link-grid { grid-template-columns:1fr; }
    .editorial-site .resource-card { min-height:0; padding:21px 0; }
    .editorial-section-heading { align-items:flex-start; flex-direction:column; gap:12px; }
    .editorial-features .editorial-section-heading h2 { font-size:1.5rem; }
    .editorial-site .quest-meta span { padding-right:8px; font-size:.73rem; }
    .editorial-site .quest-meta span+span { padding-left:8px; }
}
@media(prefers-reduced-motion:reduce) { .editorial-site * { scroll-behavior:auto!important; } }
