/* Mirror of the Trader v30.1 — corrections layer (loaded after v30.css).
   1) black-cherry palette dominant  2) ONE wide layout system  3) header  4) homepage structure  5) page-level wide treatments.
   Supplied artwork is never recoloured here. Light theme keeps its own accessible warm-ivory/charcoal adaptation. */

/* ===== 1. PALETTE — dark theme: #100002 black cherry is the page; #050405 is the depth band; gold #D4AF5A; brass #A98238; ivory #F3E8D8 ===== */
:root{--maxw:1680px;--maxw-member:1680px;--cherry-lift:#110001;--cherry-glow:#110001;--abyss:#050405;--page-pad:clamp(20px,4vw,48px)}
:root:not([data-site-theme="light"]){--black:#050405;--deep:#050405;--cherry:#100002}
:root:not([data-site-theme="light"]) body{background:#050405}
/* the approved hero banner and the media stages keep their original #050405 frame, unchanged */
:root:not([data-site-theme="light"]) .hero--video .hero-stage,:root:not([data-site-theme="light"]) .hero--video,:root:not([data-site-theme="light"]) .media,:root:not([data-site-theme="light"]) .stage,:root:not([data-site-theme="light"]) .tl-hero{--black:#050405}
:root:not([data-site-theme="light"]) .hero--video .hero-stage,:root:not([data-site-theme="light"]) .media{background:#050405}
:root:not([data-site-theme="light"]) footer{background:linear-gradient(180deg,#100002,#050405)}
:root:not([data-site-theme="light"]) table.habits thead th,:root:not([data-site-theme="light"]) table.habits td.name,:root:not([data-site-theme="light"]) table.habits th.name,:root:not([data-site-theme="light"]) table.habits tbody tr:hover td.name{background:#100002}

/* ===== 2. ONE WIDE LAYOUT SYSTEM — every page uses .wrap = min(1400px, viewport - gutters) ===== */
.wrap{max-width:var(--maxw);padding-left:var(--page-pad);padding-right:var(--page-pad)}
.wrap.v30-wide{max-width:var(--maxw)}
.wrap.v30-wide.v30-two,.v30-feature-grid{max-width:var(--maxw)}
#hdr .wrap.hd{max-width:1680px}
#v-worksheets .wrap,#v-tracker .wrap,#v-journal .wrap,#v-plan .wrap,#v-assess .wrap,#v-psychtests .wrap,#v-questions .wrap,#v-library .wrap,#v-reader .wrap{max-width:var(--maxw)!important}
.tl-detail .wrap{max-width:min(var(--maxw),980px)}   /* single Thought page: a readable article column inside the same frame */
.wrap.narrow{max-width:var(--maxw)}                    /* legacy .narrow wrappers no longer shrink the page frame; text blocks keep their own ch-based measure */
.wrap.narrow>*:not(.tl-grid):not(.tl-group):not(.tl-filters):not(.acc):not(.faq):not(.grid){max-width:min(100%,64rem);margin-left:auto;margin-right:auto}
.readpane{max-width:none}
#v-assess .qtext,#v-assess .qprompt,#v-psychtests .qtext,#v-psychtests .qprompt{max-width:78ch}

/* ===== 3. HEADER ===== */
.logo{font-size:clamp(1.6rem,2.3vw,2.25rem);font-weight:600;letter-spacing:.05em;line-height:1}
.logo i{font-weight:600;color:var(--antique)}
header#hdr{padding:14px 0}
header#hdr.solid{padding:9px 0}
:root:not([data-site-theme="light"]) header.solid{background:rgba(5,4,5,.94);border-bottom-color:rgba(169,130,56,.6);box-shadow:0 10px 30px -12px rgba(0,0,0,.7)}
:root:not([data-site-theme="light"]) header#hdr:not(.solid){background:linear-gradient(180deg,rgba(5,4,5,.82),rgba(5,4,5,0))}
#hdr .hd{gap:clamp(14px,2vw,32px)}
nav.main{gap:8px;flex-wrap:nowrap}
nav.main a{padding:9px 14px;font-size:.82rem;letter-spacing:.07em;font-weight:500;border:1px solid rgba(169,130,56,.55);border-radius:4px;color:var(--ivory);background:rgba(5,4,5,.55);transition:background .3s,border-color .3s,color .3s}
:root:not([data-site-theme="light"]) nav.main a{background:linear-gradient(180deg,#110001,#110001)}
nav.main a::after{display:none}
nav.main a:hover{border-color:var(--antique);color:var(--antique)}
nav.main a.on{border-color:var(--antique);color:var(--antique);background:linear-gradient(180deg,#110001,#110001)}
nav.main a:focus-visible,.hd-cta .btn:focus-visible{outline:2px solid var(--antique);outline-offset:2px}
.hd-cta .btn-sm{border-radius:4px;padding:9px 16px;font-size:.82rem}
.hd-cta .btn{white-space:nowrap}
nav.main{align-items:stretch}nav.main a{display:flex;align-items:center}
@media(min-width:1px){nav.main{gap:5px}nav.main a{font-size:.8rem;letter-spacing:.01em;padding:8px 8px;line-height:1.2;white-space:nowrap}.logo{letter-spacing:.03em}.hd-cta .btn-sm{padding:8px 11px;font-size:.8rem}}
@media(max-width:1380px){nav.main,.hd-cta .btn{display:none}.ntog{display:block}}
@media(min-width:1381px){.ntog{display:none}}
:root:not([data-site-theme="light"]) #mnav{background:rgba(5,4,5,.985)}
#mnav a:not(.btn){width:min(420px,88vw);text-align:center;font-size:1.3rem;padding:13px 16px;border:1px solid rgba(169,130,56,.5);border-radius:4px;margin-top:-1px;background:rgba(17,0,1,.7)}
#mnav .mb{margin-top:24px}

/* ===== 4. HOMEPAGE ===== */
.v30-intro{padding:clamp(30px,4vw,54px) 0 clamp(10px,1.6vw,20px);background:transparent}
.v30-intro .v30-narrow{max-width:var(--maxw)}
.v30-oneline{white-space:nowrap;font-size:clamp(1.55rem,4.6vw,3.4rem);max-width:none!important;margin:0 auto}
@media(max-width:560px){.v30-oneline{white-space:normal;text-wrap:balance}}
.v30-lede{margin:16px auto 0;max-width:64ch}
.v30-features{padding:clamp(14px,2vw,26px) 0 clamp(24px,3vw,36px);background:transparent}
.v30-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,28px);align-items:stretch}
.v30-feature{height:100%;justify-content:flex-start;padding:clamp(24px,2.6vw,38px) clamp(20px,2.2vw,32px);border-color:var(--brass);border-radius:8px}
:root:not([data-site-theme="light"]) .v30-feature{background:linear-gradient(165deg,#110001,#110001 70%);box-shadow:inset 0 1px 0 rgba(212,175,90,.18),0 18px 40px -24px rgba(0,0,0,.8)}
.v30-ficon{width:clamp(88px,9vw,120px);height:clamp(88px,9vw,120px);mix-blend-mode:lighten}
img.v30-ficon[src*="logo-3"]{-webkit-mask-image:radial-gradient(closest-side,#000 72%,transparent 100%);mask-image:radial-gradient(closest-side,#000 72%,transparent 100%)}   /* display only: feathers the baked dark square of the supplied mirror file */
:root[data-site-theme="light"] .v30-ficon,:root[data-site-theme="light"] .ab-ico{mix-blend-mode:normal;background:#050405;border:1px solid #AC7D35;border-radius:14px;padding:8px;-webkit-mask-image:none!important;mask-image:none!important}  /* display blend only: the supplied files are untouched */
.v30-feature h3{font-size:clamp(1.3rem,1.7vw,1.6rem);font-weight:500}
.v30-feature p{font-size:1.06rem;line-height:1.65;max-width:34ch}
/* Why this matters */
.v30-why{padding:clamp(34px,4.6vw,64px) 0;text-align:center;background:transparent}
:root:not([data-site-theme="light"]) .v30-why{background:#050405}
.v30-why .ab-sub{max-width:68ch;margin:14px auto 0;font-size:clamp(1.04rem,1.4vw,1.2rem)}
.v30-why .ab-grid{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,28px);margin-top:clamp(22px,3vw,40px);align-items:stretch}
.v30-why .ab-card--why{height:100%;justify-content:flex-start;border-color:var(--brass);border-radius:8px}
:root:not([data-site-theme="light"]) .v30-why .ab-card--why{background:linear-gradient(165deg,#110001,#110001 70%)}
.v30-why .ab-card--why h3{font-size:1rem;color:var(--antique)}
.v30-why .ab-card--why p{font-size:1.04rem;color:var(--ivory)}
@media(max-width:900px){.v30-why .ab-grid{grid-template-columns:1fr;max-width:620px;margin-left:auto;margin-right:auto}}
/* My Story */
.v30-story{padding:clamp(34px,4.6vw,64px) 0 clamp(48px,6vw,84px);background:transparent}
:root:not([data-site-theme="light"]) .v30-story{background:#100002;border-top:1px solid rgba(169,130,56,.3)}
.v30-story .v30-two{grid-template-columns:minmax(0,6fr) minmax(0,6fr);max-width:var(--maxw);align-items:center}
.v30-story-art img{box-shadow:0 26px 60px -28px rgba(0,0,0,.9)}
.v30-story-copy>*+*{margin-top:16px}
.v30-story-copy p{color:var(--ivory);font-size:clamp(1.02rem,1.25vw,1.12rem);line-height:1.8;max-width:62ch}
.v30-story-copy .v30-story-lead{font-size:clamp(1.12rem,1.6vw,1.32rem);color:var(--ivory)}
.v30-story-copy .v30-story-h2{color:var(--antique);font-style:italic;margin-top:22px}
.v30-story-copy .v30-actions{margin-top:26px}
@media(max-width:900px){.v30-story .v30-two{grid-template-columns:1fr}}
/* tighter spacing hero -> intro -> features -> book */
#my-journey{scroll-margin-top:72px}

/* ===== 5. PAGE-LEVEL WIDE TREATMENTS (public pages) ===== */
/* Thought Library: filters + cards spread across the full frame */
.tl-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1280px){.tl-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.tl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.tl-grid{grid-template-columns:1fr}}
:root:not([data-site-theme="light"]) .tl-card{background:linear-gradient(165deg,#110001,#110001 75%);border-color:var(--brass)}
:root:not([data-site-theme="light"]) .tl-chip{background:#110001;border-color:var(--brass)}
:root:not([data-site-theme="light"]) .tl-chip[aria-pressed="true"]{background:var(--antique);color:#100002}
/* generic cherry cards on public pages */
:root:not([data-site-theme="light"]) .tool-card,:root:not([data-site-theme="light"]) .door,:root:not([data-site-theme="light"]) .acc .item,:root:not([data-site-theme="light"]) .acc details,:root:not([data-site-theme="light"]) .contact-card,:root:not([data-site-theme="light"]) .co-card,:root:not([data-site-theme="light"]) .access-card{background:linear-gradient(165deg,#110001,#110001 75%);border-color:var(--brass)}

/* ===== 6. depth: black-cherry glow so the page reads burgundy, not black ===== */
:root:not([data-site-theme="light"]){--card-cherry:linear-gradient(165deg,#110001,#110001 78%)}
:root:not([data-site-theme="light"]) body{background:#050405}
:root:not([data-site-theme="light"]) .phead,:root:not([data-site-theme="light"]) section.glowbed{background:radial-gradient(90% 120% at 50% 0,#110001 0,#110001 55%,#100002 100%)}
:root:not([data-site-theme="light"]) .v30-feature,:root:not([data-site-theme="light"]) .v30-why .ab-card--why,:root:not([data-site-theme="light"]) .tl-card,:root:not([data-site-theme="light"]) .tool-card{background:var(--card-cherry)}
:root:not([data-site-theme="light"]) .tool-card p,.tool-card p{color:var(--ivory)}
:root:not([data-site-theme="light"]) .v30-intro{background:radial-gradient(70% 140% at 50% 0,#110001 0,transparent 70%)}

/* ===== 7. FAQ / Contact / Read a Chapter: same wide frame ===== */
.v301-faq .rv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,64px);align-items:start}
@media(max-width:900px){.v301-faq .rv{grid-template-columns:1fr}}
.v301-faq .acc{background:linear-gradient(165deg,rgba(17,0,1,.55),rgba(16,0,2,.55));border-bottom:1px solid rgba(169,130,56,.45);padding:0 clamp(12px,1.6vw,22px)}
.v301-faq .acc button{font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--ivory)}
.v301-contact .v301-cform{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px clamp(16px,3vw,40px);max-width:none;padding:clamp(22px,3.4vw,48px);border:1px solid var(--brass);border-radius:8px;background:var(--card-cherry,transparent)}
.v301-contact .v301-cform .field:nth-of-type(n+3),.v301-contact .v301-cform #cMsg,.v301-contact .v301-cform #cBtn{grid-column:1/-1}
.v301-contact .v301-cform textarea{min-height:200px}
@media(max-width:700px){.v301-contact .v301-cform{grid-template-columns:1fr}}
/* v30.2: no outer frame. The preview sits directly on the wide page; running text is set in two readable columns on wide screens (each ~70ch) so the page is not a narrow strip */
.v301-sheet{background:none;border:0;border-radius:0;padding:clamp(10px,2vw,28px) 0 clamp(24px,4vw,56px);box-shadow:none}
.v301-sheet>.rv>*:not(.readpane){max-width:70ch;margin-left:auto!important;margin-right:auto!important}
.v301-sheet .read-epigraph,.v301-sheet .eyebrow,.v301-sheet h2{text-align:center}
.v301-sheet .readpane{max-width:none;margin-left:0;margin-right:0}
.v301-sheet .readpane:not(.read-fade){column-width:30rem;column-gap:clamp(36px,5vw,96px);column-rule:1px solid rgba(169,130,56,.32)}
.v301-sheet .readpane.read-fade{max-width:70ch;margin-left:auto;margin-right:auto}
.v301-sheet .readpane p{color:var(--ivory);font-size:clamp(1.06rem,1.3vw,1.18rem);line-height:1.9}
.v301-sheet .readpane p+p{margin-top:1.1em}
@media(max-width:900px){.v301-sheet .readpane:not(.read-fade){column-width:auto;columns:1}}
.v301-sheet .read-cta{max-width:70ch}

/* ===== 8. MEMBER TOOLS HUB — deliberate grid (P12) =====
   DOM order: 01 02 03 04 | 05 | EX (four original worksheets) | 06 | 07 08 09 10
   Desktop: row 1 = tools 01-04; left = Tool 05 stacked over Tool 06; right = worksheets card spanning both; last row = tools 07-10. */
#v-worksheets #hubCards.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(14px,2vw,28px);align-items:stretch}
#v-worksheets #hubCards.grid[hidden]{display:none}   /* the journal hides the catalogue with the hidden attribute; the grid rule must not override it */
#v-worksheets #hubCards>.tool-card{grid-column:span 3;height:100%}
#v-worksheets #hubCards>.tool-card:nth-child(5){grid-column:1/7;grid-row:2}
#v-worksheets #hubCards>.tool-card:nth-child(7){grid-column:1/7;grid-row:3}
#v-worksheets #hubCards>.tool-card:nth-child(6){grid-column:7/13;grid-row:2/4}
@media(max-width:1100px){
  #v-worksheets #hubCards.grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #v-worksheets #hubCards>.tool-card{grid-column:auto;grid-row:auto}
  #v-worksheets #hubCards>.tool-card:nth-child(5){grid-column:1;grid-row:3}
  #v-worksheets #hubCards>.tool-card:nth-child(7){grid-column:1;grid-row:4}
  #v-worksheets #hubCards>.tool-card:nth-child(6){grid-column:2;grid-row:3/5}
}
@media(max-width:700px){
  #v-worksheets #hubCards.grid{grid-template-columns:1fr}
  #v-worksheets #hubCards>.tool-card,#v-worksheets #hubCards>.tool-card:nth-child(n){grid-column:1;grid-row:auto}
}

/* ===== 9. BOOK READER — open book (two facing pages), paper, gutter, margins; Light mode contrast fixed =====
   Presentation only. The pager lays the same single chapter DOM into columns; in a wide pane (>=900px) it shows two columns at once. */
#memberReader{--paper:#100002;--paper-ink:#F3E8D8;--paper-edge:#A98238;--spine:rgba(0,0,0,.85);--leaf:#110001;--num:#A98238}
#memberReader[data-rtheme="light"]{--paper:#FFF3E5;--paper-ink:#291A18;--paper-edge:#AC7D35;--spine:rgba(74,16,27,.30);--leaf:#FFF8EF;--num:#70544D}
#memberReader .pg-book{display:block}
#memberReader .readpane.paged.spread .pg-book{position:relative;padding:clamp(22px,3vw,44px) clamp(26px,3.6vw,56px);border-radius:6px;border:1px solid var(--paper-edge);
  background:
    linear-gradient(90deg,transparent calc(50% - .5px),var(--spine) calc(50% - .5px),var(--spine) calc(50% + .5px),transparent calc(50% + .5px)),
    linear-gradient(90deg,transparent calc(50% - 46px),color-mix(in srgb,var(--spine) 38%,transparent) calc(50% - 10px),color-mix(in srgb,var(--spine) 70%,transparent) 50%,color-mix(in srgb,var(--spine) 38%,transparent) calc(50% + 10px),transparent calc(50% + 46px)),
    var(--paper);
  box-shadow:0 0 0 1px rgba(0,0,0,.35),4px 4px 0 -1px var(--paper),4px 4px 0 0 var(--paper-edge),8px 8px 0 -1px var(--paper),8px 8px 0 0 var(--paper-edge),0 34px 60px -28px rgba(0,0,0,.85)}
#memberReader .readpane.paged.spread .pg-view{box-shadow:none;background:transparent;border-radius:0}
#memberReader .readpane.paged:not(.spread) .pg-book{padding:0}
#memberReader .readpane.paged.spread .chap-body{color:var(--paper-ink)}
#memberReader .readpane.paged.spread .chap-body p,#memberReader .readpane.paged.spread .chap-body li{font-size:clamp(1.02rem,1.15vw,1.12rem);line-height:1.8;color:var(--paper-ink)}
#memberReader .readpane.paged.spread .chap-body p.quoteline{font-size:clamp(1.22rem,2.1vw,1.5rem);line-height:1.3;font-weight:700}
#memberReader:not([data-rtheme="light"]) .readpane.paged.spread .chap-body p.quoteline{color:#D4AF5A}
/* Dark reader: black-cherry night paper, ivory ink, antique-gold headings */
#memberReader:not([data-rtheme="light"]) .readpane.paged.spread .chap-body :is(h1,h2,h3){color:#D4AF5A}
#memberReader:not([data-rtheme="light"]) .readpane.paged.spread .chap-body .eyebrow{color:#C99B3F}
/* Light reader: ivory paper, near-black ink, burgundy headings (AA+ everywhere) */
#memberReader[data-rtheme="light"] .readpane h1.booktitle,
#memberReader[data-rtheme="light"] .readpane h2,#memberReader[data-rtheme="light"] .readpane h2.chapline,#memberReader[data-rtheme="light"] .readpane h3{color:#4A101B}
#memberReader[data-rtheme="light"] .readpane p.booksub,#memberReader[data-rtheme="light"] .readpane .chap-body>.eyebrow{color:#4A101B}
#memberReader[data-rtheme="light"] .readpane p,#memberReader[data-rtheme="light"] .readpane li,#memberReader[data-rtheme="light"] .readpane strong,#memberReader[data-rtheme="light"] .readpane em,#memberReader[data-rtheme="light"] .readpane p.quoteline,#memberReader[data-rtheme="light"] .readpane blockquote.entry{color:#291A18}
#memberReader[data-rtheme="light"] .readpane li::before,#memberReader[data-rtheme="light"] .readpane blockquote.entry{border-color:#AC7D35;color:#291A18}
#memberReader[data-rtheme="light"] .readpane li::before{color:#500D19}
#memberReader[data-rtheme="light"] .readpane .readnav .tlink{color:#4A101B}
#memberReader[data-rtheme="light"] .readpane.paged:not(.spread) .pg-view{background:#FFF3E5}
#memberReader[data-rtheme="light"] .chaplist button,#memberReader[data-rtheme="light"] .chaplist button > span[style*="color"]{color:#4A101B!important}
#memberReader[data-rtheme="light"] .chaplist button.on,#memberReader[data-rtheme="light"] .chaplist button:hover{color:#291A18!important}
#memberReader[data-rtheme="light"] .pg-btn,#memberReader[data-rtheme="light"] .pg-count,#memberReader[data-rtheme="light"] .pg-mode button{color:#4A101B}
#memberReader[data-rtheme="light"] .pg-btn{border-color:#500D19}
#memberReader[data-rtheme="light"] .pg-btn[disabled]{opacity:.62}
#memberReader[data-rtheme="light"] .pg-mode button[aria-pressed=true]{color:#291A18}
#memberReader[data-rtheme="light"] .audiobtn[disabled],#memberReader[data-rtheme="light"] .audiobtn:disabled{opacity:.62}
#memberReader[data-rtheme="light"] .audiobtn,#memberReader[data-rtheme="light"] .audiotime,#memberReader[data-rtheme="light"] .audiometa label,#memberReader[data-rtheme="light"] .audionote,#memberReader[data-rtheme="light"] .chip{color:#4A101B}
#memberReader[data-rtheme="light"] .audiobtn.play{background:#500D19;color:#FFF3E5;border-color:#500D19}
#memberReader[data-rtheme="light"] .audiometa select{color:#291A18;border-color:#500D19}
/* ownership watermark stays visible but never sits on top of the letters in a way that hurts reading */
#memberReader[data-rtheme="light"] #readPane .wm-layer{opacity:.1}
#memberReader:not([data-rtheme="light"]) #readPane .wm-layer{opacity:.07}
@media(max-width:700px){#memberReader[data-rtheme="light"] #readPane .wm-layer,#memberReader:not([data-rtheme="light"]) #readPane .wm-layer{opacity:.13}}
@media print{#memberReader #readPane .wm-layer{opacity:.22}}
/* closed cover uses the same darker presentation of the supplied cover */
.v30-actions--center{justify-content:center}

/* ===== 10. TYPOGRAPHY (P4): Lora everywhere (Cormorant only for the wordmark), larger small text, stronger thin weights, ivory for long text ===== */
:root:not([data-site-theme="light"]) p,:root:not([data-site-theme="light"]) .lede,:root:not([data-site-theme="light"]) .acc .body p,:root:not([data-site-theme="light"]) .tl-desc{color:var(--ivory)}
/* the reader keeps its own quotation colour (gold) - the site-wide ivory body rule must not flatten it */
#memberReader:not([data-rtheme="light"]) .readpane p.quoteline{color:var(--gold-lt)}
:root:not([data-site-theme="light"]) .cap{color:#C9C3B8}
.cap{font-size:.875rem}
.eyebrow{font-size:.85rem;font-weight:600;letter-spacing:.09em}
.btn{font-weight:600}
nav.main a,#mnav a{font-weight:500}
.tool-card .num,.tl-cat,.ab-card--why h3,.v30-why .ab-card--why h3{font-weight:600}
.tool-card p,.v30-feature p,.tl-card .tl-t,.ab-card--why p{font-weight:450}
.lede{font-size:clamp(1.06rem,1.5vw,1.22rem)}
/* the reader keeps its own approved chrome sizes (scoped rules in app.css); the spread text stays the manuscript's own */
@media(max-width:900px){.v30-feature-grid{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto}.v30-feature{height:auto}}

/* v30.1: header is ~55px on phones; keep the Tools stage flush under it */
@media(max-width:560px){.stage.stage--tools{margin-top:55px!important}}

.v30-modal-kicker{display:block;letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;font-weight:600;color:var(--antique);margin-bottom:8px}

/* ===== 9b. v30.2 book reader: closed cover in the library, opening transition, page numbers, running heads, page-turn leaf ===== */
.book-closed{flex-direction:column;align-items:center}
.book-closed-eyebrow{margin:0 0 clamp(10px,2vw,22px);font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;color:#A98238;text-align:center}
#memberReader[data-rtheme="light"] .book-closed-eyebrow{color:#70544D}
.book-closed-btn{position:relative;z-index:1}
.book-closed-btn img{width:min(70vw,380px);transform-origin:left center;filter:none}
.book-shelf{display:block;width:min(86vw,560px);height:14px;margin-top:-6px;border-radius:2px;background:linear-gradient(180deg,#110001,#050405);box-shadow:0 1px 0 #A98238,0 18px 30px -12px rgba(0,0,0,.8)}
#memberReader[data-rtheme="light"] .book-shelf{background:#EBD3B8;box-shadow:0 1px 0 #AC7D35,0 14px 24px -12px rgba(41,26,24,.45)}
.book-closed.is-opening .book-closed-btn img{visibility:hidden}
.book-closed.is-opening .book-closed-cta,.book-closed.is-opening .book-closed-eyebrow,.book-closed.is-opening .book-shelf{opacity:0;transition:opacity .25s}
#memberReader.book-just-opened .pg-book,#memberReader.book-just-opened .readpane:not(.paged){animation:bookOpen .55s cubic-bezier(.2,.7,.2,1) both}
/* opacity only: a transform on the book would change the rectangles the pager measures while it restores the saved position */
@keyframes bookOpen{from{opacity:0}to{opacity:1}}

/* page numbers + running heads live in .pg-book, outside the column layout */
#memberReader .pg-book{position:relative}
#memberReader .pg-num,#memberReader .pg-rh,#memberReader .pg-leaf{display:none}
#memberReader .pg-book.has-nums .pg-num,#memberReader .pg-book.has-nums .pg-rh{display:block;position:absolute;pointer-events:none;color:var(--num);font-size:.78rem;letter-spacing:.14em;line-height:1}
#memberReader .pg-book.has-nums .pg-rh{top:calc(clamp(22px,3vw,44px) * .45);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42%}
#memberReader .pg-book.has-nums .pg-num{bottom:calc(clamp(22px,3vw,44px) * .4);font-variant-numeric:lining-nums;letter-spacing:.08em;font-size:.86rem}
#memberReader .pg-rh-l{left:clamp(26px,3.6vw,56px)}#memberReader .pg-rh-r{right:clamp(26px,3.6vw,56px);text-align:right}
#memberReader .pg-num-l{left:calc(25% - 1ch)}#memberReader .pg-num-r{right:calc(25% - 1ch)}
#memberReader .readpane.paged:not(.spread) .pg-book.has-nums{padding:26px 0 30px}
#memberReader .readpane.paged:not(.spread) .pg-num-r{right:50%;transform:translateX(50%)}
#memberReader .readpane.paged:not(.spread) .pg-rh-r{right:50%;transform:translateX(50%);max-width:80%}
#memberReader .readpane.paged.spread .pg-book{padding-top:clamp(34px,3.6vw,54px);padding-bottom:clamp(36px,3.8vw,56px)}

/* page-turn: a paper leaf swings across the spine over the (already updated) pages. Pure overlay: opacity/transform only. */
#memberReader .pg-book .pg-leaf{display:block;position:absolute;top:0;bottom:0;pointer-events:none;opacity:0;z-index:3;background:linear-gradient(90deg,var(--leaf),color-mix(in srgb,var(--leaf) 82%,var(--spine)));border-radius:2px}
#memberReader .readpane.paged.spread .pg-book .pg-leaf{left:50%;width:50%;transform-origin:left center}
#memberReader .readpane.paged:not(.spread) .pg-book .pg-leaf{left:0;width:100%;transform-origin:left center}
#memberReader .pg-book.flip-next .pg-leaf{animation:leafNext .46s cubic-bezier(.45,.05,.25,1) both}
#memberReader .pg-book.flip-prev .pg-leaf{animation:leafPrev .46s cubic-bezier(.45,.05,.25,1) both}
#memberReader .readpane.paged.spread .pg-book.flip-prev .pg-leaf{left:0;transform-origin:right center}
#memberReader .readpane.paged:not(.spread) .pg-book.flip-prev .pg-leaf{transform-origin:right center}
@keyframes leafNext{0%{opacity:0;transform:perspective(1800px) rotateY(0)}12%{opacity:.96}70%{opacity:.9}100%{opacity:0;transform:perspective(1800px) rotateY(-178deg)}}
@keyframes leafPrev{0%{opacity:0;transform:perspective(1800px) rotateY(0)}12%{opacity:.96}70%{opacity:.9}100%{opacity:0;transform:perspective(1800px) rotateY(178deg)}}
#memberReader .pg-book.flip-next .pg-view,#memberReader .pg-book.flip-prev .pg-view{animation:pgSettle .46s ease-out both}
@keyframes pgSettle{from{opacity:.55}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
  .book-closed.is-opening .book-closed-btn img{transition:none}
  #memberReader.book-just-opened .pg-book,#memberReader.book-just-opened .readpane:not(.paged){animation:none}
  #memberReader .pg-book .pg-leaf,#memberReader .pg-book.flip-next .pg-view,#memberReader .pg-book.flip-prev .pg-view{animation:none!important;display:none}
}

/* ===== Light: main navigation pills, from the approved Light palette only ===== */
:root[data-site-theme="light"] nav.main a{background:#FFF3E5;color:#291A18;border-color:#AC7D35}
:root[data-site-theme="light"] nav.main a:hover{background:#EBD3B8;color:#4A101B;border-color:#AC7D35}
:root[data-site-theme="light"] nav.main a.on{background:#500D19;color:#FFF3E5;border-color:#500D19}

/* ===== v30.2: minimum 12px type in the reader chrome (audit found 9.9–11.2px labels); Light error states from the approved palette ===== */
#memberReader .eyebrow,#memberReader .audiometa label,#memberReader .chip,#memberReader .audionote,#memberReader .chaplist button>span,#memberReader .chaplist span,#memberReader .book-closed .eyebrow,#memberReader .book-closed-eyebrow{font-size:max(.75rem,12px)!important}
:root[data-site-theme="light"] .formerr,#memberReader[data-rtheme="light"] .formerr{border-color:#AC7D35;background:#FFF3E5;color:#4A101B}
:root[data-site-theme="light"] .chip.danger,#memberReader[data-rtheme="light"] .chip.danger{color:#4A101B}
:root[data-site-theme="light"] .chip.danger:hover{border-color:#4A101B;color:#4A101B}
:root[data-site-theme="light"] table.habits td.name,:root[data-site-theme="light"] table.habits th.name{background:#F4E8D9}

/* ===== Light: gold button + skip link from the approved palette ===== */
:root[data-site-theme="light"] .btn-gold,:root[data-site-theme="light"] a.btn.btn-gold{background:#500D19;color:#FFF3E5;border-color:#500D19}
:root[data-site-theme="light"] .btn-gold:hover,:root[data-site-theme="light"] a.btn.btn-gold:hover{background:#4A101B;color:#FFF3E5;box-shadow:none}
:root[data-site-theme="light"] a.skip{background:#D4A64B;color:#291A18;border-color:#AC7D35}

/* ===== Light: Thought Library and Tools elements that were hard-coded for Dark (pale gold on cream) ===== */
:root[data-site-theme="light"] :is(.tl-h1,.tl-dh1,.tl-refl-h,.tl-psych h2,.tl-key strong,.tl-block--q p,.tl-endquote p,.tl-reflect p:nth-last-child(2)){color:#4A101B}
:root[data-site-theme="light"] .tl-cat-line{color:#70544D}
:root[data-site-theme="light"] .tl-reflect p:last-child{color:#4A101B}
:root[data-site-theme="light"] .lock-badge{background:#EBD3B8;color:#4A101B;border-color:#AC7D35}
:root[data-site-theme="light"] #mnav a.btn-gold{color:#FFF3E5}
:root[data-site-theme="light"] #mnav a:not(.btn){background:#FFF3E5;border-color:#AC7D35;color:#291A18}
:root[data-site-theme="light"] #mnav a.on:not(.btn){background:#500D19;color:#FFF3E5;border-color:#500D19}
:root[data-site-theme="light"] .tl-chip{background:#FFF8EF;border-color:#AC7D35;color:#291A18}
:root[data-site-theme="light"] .tl-chip[aria-pressed="true"]{background:#500D19;border-color:#500D19;color:#FFF3E5}
#memberReader .pg-head button,.readpane .pg-head button{font-size:max(.75rem,12px)!important}

/* v30.2: the narration status line always sits on its own row, so the audio bar keeps ONE height in every state (Reading / Paused / error).
   A status that fits beside the controls ("Paused") used to make the bar shorter than a long one, which re-flowed the book pages while listening. */
#memberReader .audionote{flex:1 0 100%;width:100%;max-width:100%;margin-left:0;text-align:right;min-height:1.3em;box-sizing:border-box}

/* ===== v30.2 Home layout per the author's reference image =====
   (1) "The Book — 7 Chapters": the cover sits alone at the left; ONE centred heading runs over the seven cards, which share its row.
   (2) "Why this matters": heading + intro, then the three pillars as open columns with thin gold dividers (no boxes), then the three audience panels
       with the icon at the left, a slanted gold rule, and left-aligned gold title + text. Panels use the approved #110001 surface (no burgundy). */
.v30-why .v30-pillars{max-width:var(--maxw);margin:clamp(24px,3.4vw,46px) auto 0;gap:0;align-items:start}
.v30-why .v30-pillars .v30-feature{background:transparent!important;border:0;box-shadow:none;border-radius:0;height:auto;padding:clamp(8px,1vw,14px) clamp(16px,2.4vw,40px);position:relative}
.v30-why .v30-pillars .v30-feature + .v30-feature::before{content:"";position:absolute;left:0;top:14%;bottom:14%;width:1px;background:linear-gradient(180deg,transparent,#D4AF5A 30%,#D4AF5A 70%,transparent);opacity:.7}
.v30-why .v30-pillars .v30-feature h3{color:var(--gold)}
.v30-why .v30-pillars .v30-feature p{max-width:28ch;margin:0 auto}
:root[data-site-theme="light"] .v30-why .v30-pillars .v30-feature{background:transparent!important}
:root[data-site-theme="light"] .v30-why .v30-pillars .v30-feature + .v30-feature::before{background:linear-gradient(180deg,transparent,#AC7D35 30%,#AC7D35 70%,transparent)}
:root[data-site-theme="light"] .v30-why .v30-pillars .v30-feature h3{color:#4A101B}
.v30-why .ab-grid--why{margin-top:clamp(26px,3.4vw,48px)}
.v30-why .ab-card--why{display:grid;grid-template-columns:clamp(54px,5.2vw,78px) minmax(0,1fr);column-gap:clamp(20px,2.2vw,30px);row-gap:6px;align-items:center;text-align:left;position:relative;padding:clamp(22px,2.4vw,32px) clamp(18px,2.2vw,30px)}
.v30-why .ab-card--why .ab-ico{grid-column:1;grid-row:1 / span 2;width:100%;height:auto;margin:0;justify-self:center}
.v30-why .ab-card--why h3{grid-column:2;grid-row:1;align-self:end;margin:0;text-align:left;font-size:clamp(.95rem,1.2vw,1.12rem);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.v30-why .ab-card--why p{grid-column:2;grid-row:2;align-self:start;margin:0;text-align:left;line-height:1.65}
.v30-why .ab-card--why::before{content:"";position:absolute;top:10%;bottom:10%;left:calc(clamp(18px,2.2vw,30px) + clamp(54px,5.2vw,78px) + clamp(10px,1.1vw,15px));width:1px;background:linear-gradient(180deg,transparent,#D4AF5A 25%,#D4AF5A 75%,transparent);opacity:.75;transform:skewX(-9deg)}
:root[data-site-theme="light"] .v30-why .ab-card--why::before{background:linear-gradient(180deg,transparent,#AC7D35 25%,#AC7D35 75%,transparent)}
:root[data-site-theme="light"] .v30-why .ab-card--why h3{color:#4A101B}
@media(max-width:560px){
  .v30-why .ab-card--why{grid-template-columns:56px minmax(0,1fr);column-gap:18px;padding:20px 18px}
  .v30-why .ab-card--why::before{left:calc(18px + 56px + 9px)}
}
.v30-why .ab-card--why{column-gap:calc(clamp(20px,2.2vw,30px) + 8px)}
@media(max-width:900px){.v30-why .v30-pillars .v30-feature + .v30-feature::before{display:none}.v30-why .v30-pillars .v30-feature{padding:14px 12px}}

/* =====================================================================================================================
   v30.3 — MEMBER QUESTIONS, LIGHT MODE (root-cause fix)
   ROOT CAUSE: app.css hard-coded `.qanswer p{color:#EDE9E1}` (near-white, written for Dark) and several state/badge colours (#8FA87E, #B9B6B0,
   #B06B5C). The Light theme only re-mapped CSS variables, so those literals survived and rendered at 1.11:1 on #FFF3E5.
   FIX: every element of #v-questions gets explicit approved-palette colours, including every paragraph/list/quote/link inside an answer.
   ===================================================================================================================== */
:root[data-site-theme="light"] #v-questions{--ivory:#291A18;--grey:#70544D;--muted:#70544D}
:root[data-site-theme="light"] #v-questions .qcard{background:#FFF3E5;border:1px solid #AC7D35;box-shadow:none;background-image:none}
:root[data-site-theme="light"] #v-questions .qcard:hover{border-color:#D4A64B}
:root[data-site-theme="light"] #v-questions .qcard h3{color:#4A101B}
:root[data-site-theme="light"] #v-questions .qmeta,:root[data-site-theme="light"] #v-questions .qmeta *{color:#70544D}
:root[data-site-theme="light"] #v-questions .qcat{background:#EBD3B8;color:#4A101B;border:1px solid #AC7D35}
:root[data-site-theme="light"] #v-questions .qbody{color:#291A18}
:root[data-site-theme="light"] #v-questions .qanswer{border-left:2px solid #AC7D35}
:root[data-site-theme="light"] #v-questions .qanswer .who{color:#4A101B}
:root[data-site-theme="light"] #v-questions .qanswer,
:root[data-site-theme="light"] #v-questions .qanswer :is(p,li,ul,ol,blockquote,span,div,em,strong,b,i,h1,h2,h3,h4,h5,h6){color:#291A18;opacity:1}
:root[data-site-theme="light"] #v-questions .qanswer .who{color:#4A101B}
:root[data-site-theme="light"] #v-questions .qanswer a{color:#4A101B;text-decoration:underline;text-underline-offset:2px}
:root[data-site-theme="light"] #v-questions .qanswer blockquote{border-left:2px solid #D4A64B;padding-left:14px}
:root[data-site-theme="light"] #v-questions .qlink{background:#FFF8EF;color:#4A101B;border:1px solid #AC7D35}
:root[data-site-theme="light"] #v-questions .qlink:hover{background:#EBD3B8;border-color:#4A101B}
:root[data-site-theme="light"] #v-questions .qfoot{border-top:1px solid rgba(172,125,53,.4)}
:root[data-site-theme="light"] #v-questions .helpful{background:#FFF8EF;color:#291A18;border:1px solid #AC7D35}
:root[data-site-theme="light"] #v-questions .helpful:hover{background:#EBD3B8;color:#4A101B;border-color:#4A101B}
:root[data-site-theme="light"] #v-questions .helpful.on{background:#500D19;color:#FFF8EF;border-color:#500D19}
:root[data-site-theme="light"] #v-questions .helpful[disabled]{opacity:1;color:#70544D}
:root[data-site-theme="light"] #v-questions .feat{background:#D4A64B;color:#291A18;border:1px solid #AC7D35}
:root[data-site-theme="light"] #v-questions .qtabs button{background:#FFF8EF;color:#291A18;border:1px solid #AC7D35}
:root[data-site-theme="light"] #v-questions .qtabs button:hover{background:#EBD3B8;color:#4A101B;border-color:#4A101B}
:root[data-site-theme="light"] #v-questions .qtabs button.on,:root[data-site-theme="light"] #v-questions .qtabs button[aria-selected="true"]{background:#500D19;color:#FFF8EF;border-color:#500D19}
:root[data-site-theme="light"] #v-questions .qfilters input,:root[data-site-theme="light"] #v-questions .qfilters select,
:root[data-site-theme="light"] #v-questions .field input,:root[data-site-theme="light"] #v-questions .field textarea,:root[data-site-theme="light"] #v-questions .field select{background:#FFF8EF;color:#291A18;border:1px solid #AC7D35}
:root[data-site-theme="light"] #v-questions input::placeholder,:root[data-site-theme="light"] #v-questions textarea::placeholder{color:#70544D;opacity:1}
:root[data-site-theme="light"] #v-questions .qfilters input:focus,:root[data-site-theme="light"] #v-questions .qfilters select:focus,
:root[data-site-theme="light"] #v-questions .field input:focus,:root[data-site-theme="light"] #v-questions .field textarea:focus{border-color:#4A101B;box-shadow:0 0 0 3px rgba(212,166,75,.45);background:#FFF8EF}
:root[data-site-theme="light"] #v-questions .field label,:root[data-site-theme="light"] #v-questions .confirms label{color:#70544D}
:root[data-site-theme="light"] #v-questions .confirms label{color:#291A18}
:root[data-site-theme="light"] #v-questions .state{background:#EBD3B8;border-color:#AC7D35;color:#291A18}
:root[data-site-theme="light"] #v-questions .state.review{color:#4A101B}
:root[data-site-theme="light"] #v-questions .state.answered{background:#500D19;border-color:#500D19;color:#FFF8EF}
:root[data-site-theme="light"] #v-questions .state.notpub,:root[data-site-theme="light"] #v-questions .state.withdrawn{color:#4A101B}
:root[data-site-theme="light"] #v-questions .qempty{color:#70544D}
:root[data-site-theme="light"] #v-questions .notice,:root[data-site-theme="light"] #v-questions .care{background:#FFF3E5;border:1px solid #AC7D35;color:#291A18}
:root[data-site-theme="light"] #v-questions .notice b,:root[data-site-theme="light"] #v-questions .care b,:root[data-site-theme="light"] #v-questions .care strong{color:#4A101B}
:root[data-site-theme="light"] #v-questions .formok{background:#FFF3E5;border:1px solid #AC7D35;color:#291A18}
:root[data-site-theme="light"] #v-questions .formerr{background:#FFF3E5;border:1px solid #4A101B;color:#4A101B}
:root[data-site-theme="light"] #v-questions .savepill{color:#70544D}
:root[data-site-theme="light"] #v-questions .chip,:root[data-site-theme="light"] #v-questions .btn-ghost{background:#FFF8EF;color:#291A18;border-color:#AC7D35}
:root[data-site-theme="light"] #v-questions .eyebrow{color:#4A101B}
:root[data-site-theme="light"] #v-questions .h-md,:root[data-site-theme="light"] #v-questions h2{color:#4A101B}
:root[data-site-theme="light"] #v-questions .cap,:root[data-site-theme="light"] #v-questions p.cap{color:#70544D}
/* wide, like the other member tools (Question text keeps a readable measure) */
#v-questions .wrap{max-width:var(--maxw-member,1280px)!important}
#v-questions .qanswer p,#v-questions .qbody{max-width:92ch}

/* =====================================================================================================================
   v30.3 HOME — BOOK + 13 CHAPTER CARDS (author-approved arrangement)
   Book (large) on the left with "The Book" BELOW it; "SELECT A CHAPTER TO REVEAL ITS STORY" above the cards on the right; the supplied 13
   illustrated cards in a uniform grid. Every card sits in an IDENTICAL frame (same displayed width and height); the artwork is fitted inside it
   with object-fit:contain, so no image is cropped, stretched or edited (the supplied PNGs have slightly different native proportions).
   ===================================================================================================================== */
.v30-bookchaps{padding:clamp(34px,5vw,72px) 0;background:transparent;border:0}
.v30-bc{display:grid;grid-template-columns:minmax(0,clamp(300px,36%,520px)) minmax(0,1fr);gap:clamp(28px,4vw,72px);align-items:center}
.v30-book-col{text-align:center;min-width:0}
.v30-book-col .v30-book-art img{width:100%;max-width:520px;height:auto;margin:0 auto}
.v30-book-h{margin:clamp(14px,1.8vw,24px) 0 0;text-align:center}
.v30-chap-col{min-width:0}
.v30-select{display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.6vw,20px);margin:0 0 6px;font-size:max(.8rem,12.8px);letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:#D4AF5A;text-align:center;line-height:1.5}
.v30-select-t{color:#D4AF5A}
.v30-select-line{flex:0 1 clamp(24px,5vw,64px);height:1px;background:linear-gradient(90deg,transparent,#D4AF5A)}
.v30-select-line:last-child{background:linear-gradient(270deg,transparent,#D4AF5A)}
.v30-select-t{flex:0 1 auto}
.v30-select-hint{margin:0 0 clamp(16px,2vw,26px);text-align:center;font-size:max(.8rem,12.8px);letter-spacing:.06em;color:#A98238;font-style:italic}
.v30-cards{list-style:none;margin:0 auto;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(10px,1.1vw,16px);--n:5;--g:clamp(10px,1.1vw,16px)}
.v30-cards>li{flex:0 0 calc((100% - var(--g)*(var(--n) - 1))/var(--n));min-width:0;grid-column:auto;width:auto}
.v30-card{display:block;width:100%;aspect-ratio:215/290;padding:0;border:0;background:#0A0102;border-radius:12px;overflow:hidden;cursor:pointer;position:relative;transition:transform .28s var(--ease),box-shadow .28s,filter .28s;box-shadow:0 10px 24px -14px rgba(0,0,0,.8)}
.v30-card img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border:0;border-radius:0}
.v30-card:hover{transform:translateY(-4px);box-shadow:0 0 0 1px rgba(245,184,62,.75),0 14px 30px -12px rgba(245,184,62,.38);filter:brightness(1.08)}
.v30-card:focus-visible{outline:2px solid #F5B83E;outline-offset:3px;transform:translateY(-4px)}
@media(prefers-reduced-motion:reduce){.v30-card,.v30-card:hover,.v30-card:focus-visible{transition:none;transform:none}}
@media(max-width:1180px){.v30-bc{grid-template-columns:minmax(0,clamp(260px,34%,400px)) minmax(0,1fr);gap:clamp(24px,3vw,40px)}.v30-cards{--n:4}}
@media(max-width:900px){.v30-bc{grid-template-columns:1fr;gap:clamp(26px,5vw,40px)}.v30-book-col .v30-book-art img{width:min(86%,420px)}.v30-cards{--n:4}}
@media(max-width:700px){.v30-cards{--n:3}}
@media(max-width:520px){.v30-cards{--n:2}.v30-book-col .v30-book-art img{width:min(92%,380px)}.v30-select{letter-spacing:.16em}}
:root[data-site-theme="light"] .v30-select,:root[data-site-theme="light"] .v30-select-t{color:#4A101B}
:root[data-site-theme="light"] .v30-select-line{background:linear-gradient(90deg,transparent,#AC7D35)}
:root[data-site-theme="light"] .v30-select-line:last-child{background:linear-gradient(270deg,transparent,#AC7D35)}
:root[data-site-theme="light"] .v30-select-hint{color:#70544D}
:root[data-site-theme="light"] .v30-card{box-shadow:0 8px 20px -12px rgba(41,26,24,.6)}
:root[data-site-theme="light"] .v30-card:hover{box-shadow:0 0 0 2px #AC7D35,0 12px 26px -12px rgba(41,26,24,.55)}
:root[data-site-theme="light"] .v30-card:focus-visible{outline-color:#4A101B}
.v30-modal-sum p{margin:0 0 1em}.v30-modal-sum p:last-child{margin-bottom:0}
.v30-modal-logo{width:clamp(110px,24vw,150px)}

/* =====================================================================================================================
   v30.3 — ONE CONTINUOUS DARK ENVIRONMENT (author's sampled palette)
   Deep black #050405 drifting into extremely dark black cherry #100002 / #110001 and back. The richer artwork burgundies (#27070B, #3C0E15) are NOT
   used for page areas. Sections are transparent so nothing forms a hard colour band; hierarchy comes from spacing and type, not from rules.
   LIGHT MODE IS UNTOUCHED BY THIS BLOCK (flat approved colours, no gradient).
   ===================================================================================================================== */
:root:not([data-site-theme="light"]){--cherry:#100002;--cherry-lift:#110001;--cherry-glow:#110001;--gold-hi:#F5B83E;--ivory-sample:#FDF6E4}
:root:not([data-site-theme="light"]) html,html:not([data-site-theme="light"]){background:#050405}
:root:not([data-site-theme="light"]) body{background-color:#050405;background-image:linear-gradient(180deg,#050405 0%,#070102 16%,#0C0102 34%,#100002 52%,#0C0102 70%,#070102 86%,#050405 100%);background-repeat:no-repeat;background-size:100% 100%}
:root:not([data-site-theme="light"]) .v30-why,:root:not([data-site-theme="light"]) .v30-story,:root:not([data-site-theme="light"]) .v30-bookchaps,:root:not([data-site-theme="light"]) .v30-intro,
:root:not([data-site-theme="light"]) .v30-features{background:transparent;border:0}
:root:not([data-site-theme="light"]) .v30-story{border-top:0}
:root:not([data-site-theme="light"]) footer{background:transparent;border-top:0}
footer{border-top:0}footer::before{display:none}.fbot{border-top:0}
:root:not([data-site-theme="light"]) .phead,:root:not([data-site-theme="light"]) section.glowbed{background:radial-gradient(90% 120% at 50% 0,rgba(17,0,1,.9) 0,rgba(17,0,1,.5) 55%,transparent 100%)}
.tl-endquote{border-top:0}
/* v30.3: decorative wrappers softened (form FIELDS, buttons, dialogues and functional cards keep their borders) */
:root:not([data-site-theme="light"]) .v301-cform{background:rgba(17,0,1,.55);border:0;box-shadow:none}
:root[data-site-theme="light"] .v301-cform{border:0}
.v301-faq .acc{border-bottom:1px solid rgba(169,130,56,.22)}
:root[data-site-theme="light"] .v301-faq .acc{border-bottom:1px solid rgba(172,125,53,.35)}
.membernav,.mbar{border-bottom-color:rgba(169,130,56,.16)}

/* ===== v30.3 book-opening overlay: the real cover swings open on its spine (overlay only; the reader beneath is never transformed) ===== */
.book-fx{position:fixed;z-index:9500;pointer-events:none;perspective:1900px;opacity:1;transition:opacity .38s ease}
.book-fx.done{opacity:0}
.book-fx-pages{position:absolute;top:1.2%;bottom:1.2%;left:3%;right:.4%;border-radius:2px 5px 5px 2px;background:linear-gradient(90deg,#000 0,#1B0A0D 4%,#2A1517 6%,#1B0A0D 8%,#241214 96%,#0A0405 100%);box-shadow:inset 0 0 0 1px rgba(212,175,90,.35),0 24px 60px -18px rgba(0,0,0,.85)}
.book-fx-pages::after{content:"";position:absolute;inset:6% 5% 6% 9%;border-radius:2px;background:repeating-linear-gradient(0deg,rgba(243,232,216,.07) 0 1px,transparent 1px 9px)}
.book-fx-cover{position:absolute;inset:0;transform-origin:left center;transform-style:preserve-3d;transition:transform .82s cubic-bezier(.5,.04,.22,1)}
.book-fx-cover img{position:absolute;inset:0;width:100%;height:100%;display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.book-fx-inside{position:absolute;inset:0;transform:rotateY(180deg);backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:5px 2px 2px 5px;background:linear-gradient(270deg,#100002,#1B0508 60%,#0A0102);box-shadow:inset 0 0 0 6px #100002,inset 0 0 0 7px rgba(212,175,90,.45)}
.book-fx.go .book-fx-cover{transform:rotateY(-168deg)}
@media(prefers-reduced-motion:reduce){.book-fx{display:none}}
/* page turn: a shaded, curved leaf (presentation only) */
#memberReader .pg-book .pg-leaf{background:linear-gradient(90deg,color-mix(in srgb,var(--leaf) 70%,#000) 0,var(--leaf) 10%,color-mix(in srgb,var(--leaf) 92%,#fff) 58%,color-mix(in srgb,var(--leaf) 80%,var(--spine)) 100%);box-shadow:-22px 0 44px -14px rgba(0,0,0,.6)}
#memberReader[data-rtheme="light"] .pg-book .pg-leaf{box-shadow:-22px 0 44px -16px rgba(41,26,24,.35)}
#memberReader .pg-book.flip-next .pg-leaf{animation-duration:.62s}
#memberReader .pg-book.flip-prev .pg-leaf{animation-duration:.62s}
