:root {
  --navy: #15263a;
  --navy-2: #233a54;
  --wine: #526e91;
  --wine-strong: #334e70;
  --gold: #c2a15e;
  --paper: #f7f6f2;
  --ink: #202b38;
  --muted: #687380;
  --line: rgba(32, 43, 56, 0.15);
  --ui-font: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --editorial-font: "Newsreader", Georgia, serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--ui-font); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { display: block; width: 100%; }
a { color: inherit; }
button, input, select { font: inherit; }
.skip { position: fixed; z-index: 99; top: -100px; left: 1rem; background: #fff; padding: .75rem 1rem; }
.skip:focus { top: 1rem; }
.site-header { height: 80px; padding: 0 clamp(1.25rem, 4vw, 4.5rem); display: flex; align-items: center; justify-content: space-between; background: var(--navy); color: #fff; border-bottom: 1px solid rgba(255,255,255,.13); }
.brand { display: inline-flex; align-items: center; gap: .7rem; text-decoration: none; font-size: .82rem; font-weight: 600; letter-spacing: .18em; }
.brand-mark { width: 25px; height: 25px; flex: 0 0 25px; object-fit: contain; }
nav { display: flex; gap: 2rem; }
nav a, footer a { text-decoration: none; font-size: .9rem; color: rgba(255,255,255,.78); }
nav a:hover, footer a:hover { color: #fff; }
.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: .75rem 1.25rem; border: 1px solid var(--gold); background: var(--gold); color: #15212a; text-decoration: none; font-weight: 600; letter-spacing: .02em; cursor: pointer; transition: transform .2s, background .2s; }
.button:hover { transform: translateY(-2px); background: #d6b56f; }
.button-small { min-height: 40px; padding: .5rem 1rem; font-size: .84rem; }
.hero { position: relative; min-height: 700px; height: calc(100svh - 80px); max-height: 880px; display: flex; align-items: center; overflow: hidden; background: var(--navy); color: #fff; }
.hero-image, .hero-shade { position: absolute; inset: 0; height: 100%; object-fit: cover; }
.hero-image { object-position: 58% center; }
.hero-shade { background: linear-gradient(90deg, rgba(4,15,25,.98) 0%, rgba(4,15,25,.82) 34%, rgba(4,15,25,.16) 67%, rgba(4,15,25,.12) 100%); }
.hero-copy { position: relative; z-index: 2; width: min(590px, 52vw); margin-left: clamp(1.25rem, 8vw, 8.5rem); padding-bottom: 2rem; }
.eyebrow, .kicker { margin: 0 0 1.25rem; font-size: .76rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
h1, h2, h3, blockquote { font-family: var(--editorial-font); font-optical-sizing: auto; font-weight: 500; }
h1 { margin: 0; font-size: clamp(4.2rem, 8vw, 8rem); line-height: .9; letter-spacing: -.05em; }
.hero-deck { max-width: 500px; margin: 1.7rem 0; font-family: var(--editorial-font); font-size: clamp(1.15rem, 1.6vw, 1.45rem); line-height: 1.5; color: rgba(255,255,255,.8); }
.hero-actions { display: flex; align-items: center; gap: 1.75rem; }
.text-link { color: #fff; text-underline-offset: .35rem; }
.quiet { font-size: .78rem; color: rgba(255,255,255,.52); }
.hero-volume { position: absolute; z-index: 2; right: clamp(1rem, 3vw, 3rem); bottom: 2.5rem; display: flex; gap: .75rem; align-items: flex-start; color: rgba(255,255,255,.7); }
.hero-volume > span { color: var(--gold); font-family: var(--editorial-font); font-size: 2.7rem; line-height: 1; }
.hero-volume p { margin: 0; padding-left: .75rem; border-left: 1px solid rgba(255,255,255,.25); font-size: .75rem; line-height: 1.5; text-transform: uppercase; letter-spacing: .1em; }
.manifesto { padding: clamp(5rem, 10vw, 9rem) 8vw 5rem; text-align: center; background: #f5f0e5; }
.ornament { color: var(--gold); font-size: 1.6rem; margin-bottom: 1rem; }
.manifesto h2, .inside h2, .making h2 { margin: 0; font-size: clamp(2.6rem, 5vw, 5.2rem); line-height: 1.05; letter-spacing: -.04em; }
.manifesto-copy { max-width: 760px; margin: 2rem auto 4rem; color: #4f5b63; font-size: 1.08rem; }
.spec-row { display: grid; grid-template-columns: repeat(4, 1fr); max-width: 1100px; margin: 0 auto; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.spec-row div { padding: 1.5rem 1rem; border-right: 1px solid var(--line); }
.spec-row div:last-child { border-right: 0; }
.spec-row strong, .spec-row span { display: block; }
.spec-row strong { font-family: var(--editorial-font); font-size: 1.25rem; }
.spec-row span { color: var(--muted); font-size: .78rem; }
.inside { display: grid; grid-template-columns: 1.2fr .8fr; min-height: 760px; background: #fff; }
.inside-image-wrap { position: relative; min-height: 620px; overflow: hidden; }
.inside-image-wrap > img { height: 100%; object-fit: cover; }
.audio-pin { position: absolute; left: 10%; bottom: 8%; display: inline-flex; gap: .7rem; align-items: center; border: 1px solid rgba(255,255,255,.4); background: rgba(7,24,39,.9); color: #fff; padding: .8rem 1rem; cursor: pointer; backdrop-filter: blur(8px); }
.pulse { width: 9px; height: 9px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 6px rgba(200,162,90,.22); }
.inside-copy { padding: clamp(4rem, 8vw, 8rem) clamp(2rem, 6vw, 6rem); align-self: center; }
.inside-copy > p:not(.kicker) { color: var(--muted); font-size: 1.05rem; }
.feature-list { list-style: none; margin: 2.5rem 0 0; padding: 0; border-top: 1px solid var(--line); }
.feature-list li { display: grid; grid-template-columns: 42px 1fr; gap: .5rem; padding: 1.4rem 0; border-bottom: 1px solid var(--line); }
.feature-list li > span { color: var(--wine); font-size: .75rem; }
.feature-list strong { font-family: var(--editorial-font); font-size: 1.08rem; }
.feature-list p { margin: .2rem 0 0; color: var(--muted); font-size: .88rem; }
.saint { position: relative; overflow: hidden; display: grid; grid-template-columns: .75fr 1.25fr; min-height: 570px; background: var(--wine); color: #fff; }
.saint-number { align-self: center; justify-self: center; font-family: var(--editorial-font); font-size: clamp(12rem, 28vw, 28rem); line-height: .75; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.15); }
.saint-copy { position: relative; z-index: 1; align-self: center; max-width: 720px; padding: 5rem 8vw 5rem 0; }
blockquote { margin: 0 0 2rem; font-size: clamp(2rem, 4vw, 4.6rem); line-height: 1.15; letter-spacing: -.035em; }
.saint-copy > p:not(.kicker):not(.attribution) { color: rgba(255,255,255,.72); }
.attribution { margin-top: 1.5rem; font-size: .73rem; letter-spacing: .18em; color: var(--gold); }
.making { padding: clamp(5rem, 9vw, 9rem) 8vw; background: var(--navy); color: #fff; }
.making-heading { display: grid; grid-template-columns: .5fr 1.5fr; gap: 2rem; margin-bottom: 4rem; }
.making-heading h2 { max-width: 850px; }
.making-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.2); }
.making-grid article { padding: 2rem 3rem 2rem 0; border-right: 1px solid rgba(255,255,255,.16); }
.making-grid article + article { padding-left: 3rem; }
.making-grid article:last-child { border-right: 0; }
.making-grid span { color: var(--gold); font-size: .78rem; }
.making-grid h3 { font-size: 1.7rem; margin: 1rem 0 .5rem; }
.making-grid p, .production-note { color: rgba(255,255,255,.6); }
.production-note { max-width: 850px; margin: 3rem 0 0; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.14); font-size: .8rem; }
input, select { width: 100%; min-height: 48px; border: 1px solid #bdc1c1; border-radius: 0; background: #fff; padding: .7rem .8rem; color: var(--ink); }
input:focus, select:focus, button:focus-visible, a:focus-visible { outline: 3px solid #deb868; outline-offset: 3px; }
.form-row { display: grid; grid-template-columns: 1.4fr .6fr; gap: 1rem; margin-top: 1rem; }
.check { display: grid; grid-template-columns: 18px 1fr; gap: .65rem; align-items: start; margin: 1rem 0; }
.check input { width: 18px; min-height: 18px; margin-top: .15rem; }
.check span { font-weight: 400 !important; }
.button-light { width: 100%; background: var(--wine); border-color: var(--wine); color: #fff; }
.button-light:hover { background: var(--wine-strong); }
.form-note { margin: .6rem 0 0; text-align: center; color: var(--muted); font-size: .75rem; }
.form-note.form-error { color: #9a232e; }
footer { min-height: 160px; display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; gap: 2rem; padding: 2rem 8vw; background: #050f18; color: rgba(255,255,255,.62); }
footer > p { text-align: center; font-size: .8rem; }
footer > div { display: flex; justify-content: flex-end; gap: 1.5rem; }
.footer-brand { color: #fff; }
dialog { width: min(560px, calc(100% - 2rem)); padding: 3rem; border: 0; background: var(--paper); color: var(--ink); box-shadow: 0 25px 100px rgba(0,0,0,.45); }
dialog::backdrop { background: rgba(3,12,20,.78); backdrop-filter: blur(6px); }
dialog h2 { margin: 0; font-family: var(--editorial-font); font-size: 3.5rem; }
.dialog-close { position: absolute; top: 1rem; right: 1rem; width: 42px; height: 42px; border: 0; background: transparent; font-size: 2rem; cursor: pointer; }
.audio-reading { font-family: var(--editorial-font); font-size: 1.25rem; }
.audio-player { display: grid; grid-template-columns: 50px 1fr 45px; align-items: center; gap: 1rem; padding: 1rem 0; }
.audio-player button { width: 50px; height: 50px; border: 0; border-radius: 50%; background: var(--wine); color: #fff; cursor: pointer; }
.track { height: 4px; background: #d5cdbc; overflow: hidden; }
.track span { display: block; width: 0; height: 100%; background: var(--wine); transition: width .2s linear; }
.dialog-note { color: var(--muted); font-size: .78rem; }
.toast { position: fixed; z-index: 90; right: 1.25rem; bottom: 1.25rem; max-width: 360px; display: grid; padding: 1rem 1.2rem; background: #fff; border-left: 4px solid var(--gold); box-shadow: 0 12px 40px rgba(0,0,0,.18); transform: translateY(140%); transition: transform .35s ease; }
.toast.show { transform: translateY(0); }
.toast span { font-size: .82rem; color: var(--muted); }

@media (max-width: 900px) {
  nav { display: none; }
  .hero { min-height: 740px; align-items: flex-start; }
  .hero-image { object-position: 65% bottom; }
  .hero-shade { background: linear-gradient(180deg, rgba(4,15,25,.98) 0%, rgba(4,15,25,.88) 42%, rgba(4,15,25,.16) 78%); }
  .hero-copy { width: auto; margin: 0; padding: 5rem 1.25rem 0; }
  .hero-volume { display: none; }
  .inside, .saint { grid-template-columns: 1fr; }
  .inside-image-wrap { min-height: 540px; }
  .saint-number { position: absolute; left: -1rem; bottom: -1rem; }
  .saint-copy { padding: 5rem 8vw; }
  .making-heading { grid-template-columns: 1fr; }
  footer { grid-template-columns: 1fr; text-align: center; }
  footer > p { margin: 0; }
  footer > div { justify-content: center; }
  .footer-brand { justify-content: center; }
}

@media (max-width: 620px) {
  .site-header { height: 68px; padding: 0 1rem; }
  .site-header .button { display: none; }
  .hero { height: calc(100svh - 68px); min-height: 680px; }
  .hero-copy { padding-top: 3.5rem; }
  h1 { font-size: clamp(3.8rem, 20vw, 5.4rem); }
  .hero-deck { max-width: 92%; font-size: 1.06rem; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .manifesto { padding-left: 1.25rem; padding-right: 1.25rem; }
  .spec-row { grid-template-columns: 1fr 1fr; }
  .spec-row div:nth-child(2) { border-right: 0; }
  .spec-row div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .inside-image-wrap { min-height: 420px; }
  .inside-image-wrap > img { object-position: 42% center; }
  .inside-copy { padding: 4rem 1.25rem; }
  .saint-copy, .making { padding-left: 1.25rem; padding-right: 1.25rem; }
  .making-grid { grid-template-columns: 1fr; }
  .making-grid article, .making-grid article + article { padding: 1.5rem 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .form-row { grid-template-columns: 1fr; }
  dialog { padding: 2.5rem 1.25rem 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Collection catalog */
.catalog-hero { min-height: 540px; display: grid; grid-template-columns: 1.35fr .65fr; align-items: end; gap: 4rem; padding: clamp(5rem, 10vw, 9rem) 8vw clamp(4rem, 8vw, 7rem); background: radial-gradient(circle at 78% 35%, rgba(200,162,90,.16), transparent 26%), var(--navy); color: #fff; }
.catalog-intro h1 { margin: 0; font-size: clamp(4rem, 8.5vw, 8.8rem); line-height: .92; }
.catalog-intro > p:not(.eyebrow) { max-width: 620px; margin: 2rem 0; font-family: var(--editorial-font); font-size: 1.25rem; color: rgba(255,255,255,.72); }
.catalog-tally { justify-self: end; display: flex; align-items: center; gap: 1.25rem; padding: 1.5rem 0; border-top: 1px solid rgba(255,255,255,.22); border-bottom: 1px solid rgba(255,255,255,.22); }
.catalog-tally strong { font-family: var(--editorial-font); font-size: 4.8rem; line-height: 1; color: var(--gold); }
.catalog-tally span { font-size: .78rem; line-height: 1.55; text-transform: uppercase; letter-spacing: .12em; color: rgba(255,255,255,.6); }
.catalog { padding: clamp(5rem, 9vw, 8rem) 8vw; background: #f4efe3; }
.section-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 3rem; align-items: end; margin-bottom: 3rem; }
.section-heading h2, .principles h2 { margin: 0; font-family: var(--editorial-font); font-size: clamp(2.8rem, 5.8vw, 5.8rem); line-height: 1; letter-spacing: -.045em; }
.section-heading > p { max-width: 520px; color: var(--muted); }
.catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.2rem, 2.4vw, 2.4rem); }
.catalog-card { background: #fff; border: 1px solid rgba(20,34,43,.12); }
.card-image { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--navy); }
.card-image img { height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.8,.2,1); }
.catalog-card:hover .card-image img { transform: scale(1.035); }
.card-info { padding: 1.6rem; }
.card-meta { margin: 0 0 .35rem !important; color: var(--wine) !important; font-size: .7rem !important; font-weight: 600; letter-spacing: .14em; }
.matthew-card .card-meta { color: #2d6246 !important; }
.john-card .card-meta { color: #18557a !important; }
.john-card .card-image img { object-position: 58% center; }

.complete-catalog { padding: clamp(5rem, 9vw, 8rem) 8vw; background: #e9e2d4; }
.complete-catalog-heading { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(3rem, 8vw, 8rem); align-items: end; margin-bottom: clamp(3rem, 6vw, 5.5rem); }
.complete-catalog-heading h2 { margin: 0; font: 400 clamp(3.4rem, 6.5vw, 7rem)/.94 var(--editorial-font); letter-spacing: -.05em; }
.complete-catalog-heading > div:last-child > p { margin: 0 0 1.5rem; color: #536068; }
.catalog-search { position: relative; display: block; }
.catalog-search::after { content: "Search"; position: absolute; top: 50%; right: 1rem; color: #6b7d76; font-size: .68rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; transform: translateY(-50%); pointer-events: none; }
.catalog-search input { min-height: 54px; padding-right: 5.5rem; border-color: rgba(23,34,43,.28); background: rgba(255,255,255,.72); }
.canon-catalog { border-top: 1px solid rgba(23,34,43,.22); }
.canon-group { border-bottom: 1px solid rgba(23,34,43,.22); }
.canon-group > summary { min-height: 82px; display: grid; grid-template-columns: 1fr auto auto; gap: 1rem; align-items: center; padding: 1rem 0; cursor: pointer; list-style: none; }
.canon-group > summary::-webkit-details-marker { display: none; }
.canon-group > summary span { font: 400 clamp(1.7rem, 2.8vw, 2.7rem) var(--editorial-font); }
.canon-group > summary small { color: #6b7478; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.canon-group > summary::after { content: ""; width: 9px; height: 9px; margin: -.25rem 1rem 0; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; color: #6b7d76; transform: rotate(45deg); transition: transform .18s ease; }
.canon-group[open] > summary::after { transform: rotate(225deg); }
.canon-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-bottom: clamp(3rem, 6vw, 5rem); background: rgba(23,34,43,.14); border: 1px solid rgba(23,34,43,.14); }
.canon-card { min-width: 0; display: grid; grid-template-columns: 74px minmax(0, 1fr); grid-template-rows: 1fr auto; gap: .95rem 1rem; padding: 1rem; background: #f8f5ed; transition: background .2s, transform .2s; }
.canon-card:hover { position: relative; z-index: 1; background: #fff; box-shadow: 0 12px 30px rgba(34,27,19,.1); transform: translateY(-2px); }
.canon-cover { grid-row: 1 / 3; align-self: start; aspect-ratio: 2 / 3; overflow: hidden; background: #132735; box-shadow: 0 6px 16px rgba(16,24,29,.18); }
.canon-cover img { height: 100%; object-fit: cover; }
.canon-card > div { min-width: 0; }
.canon-card p { margin: 0 0 .3rem; color: #6b7d76; font-size: .58rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.canon-card h3 { margin: 0; font-size: clamp(1.05rem, 1.4vw, 1.35rem); line-height: 1.08; }
.canon-card h3 a { text-decoration: none; }
.canon-card span, .canon-card small { display: block; overflow: hidden; color: #667176; font-size: .68rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.canon-card small { margin-top: .28rem; }
.canon-read { align-self: end; color: #27363e; font-size: .72rem; font-weight: 600; text-underline-offset: .22rem; }
.canon-read span { display: inline; margin-left: .2rem; color: #6b7d76; font-size: inherit; }
.canon-empty { display: grid; place-items: center; min-height: 260px; padding: 3rem; text-align: center; }
.canon-empty span { color: var(--gold); font-size: 1.8rem; }
.canon-empty p { margin: .6rem 0 0; color: var(--muted); }

.card-info h3 { margin: 0; font-size: clamp(2.4rem, 4vw, 4rem); line-height: 1; }
.card-info p { margin: .4rem 0 0; color: var(--muted); }
.card-actions { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 1.4rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.card-actions > span { font-size: .78rem; color: var(--muted); }
.card-actions a { font-weight: 600; text-underline-offset: .25rem; }
.principles { padding: clamp(5rem, 9vw, 9rem) 8vw; background: #081a29; color: #fff; }
.principles > h2 { max-width: 980px; }
.principle-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 4rem; border-top: 1px solid rgba(255,255,255,.2); }
.principle-grid article { padding: 2rem 3rem 0 0; border-right: 1px solid rgba(255,255,255,.16); }
.principle-grid article + article { padding-left: 3rem; }
.principle-grid article:last-child { border-right: 0; }
.principle-grid span { color: var(--gold); font-size: .78rem; }
.principle-grid h3 { margin: 1rem 0 .5rem; font-size: 1.7rem; }
.principle-grid p { color: rgba(255,255,255,.62); }

/* Matthew's forest-and-cardinal volume language */
.matthew-theme { --wine: #244f39; --gold: #d0a95b; }
.matthew-theme .site-header { background: #0d1e15; }
.matthew-hero { background: #0d1e15; }
.matthew-hero .hero-image { object-position: 60% center; }
.matthew-hero .hero-shade { background: linear-gradient(90deg, rgba(8,19,13,.98) 0%, rgba(8,19,13,.84) 35%, rgba(8,19,13,.12) 70%); }
.saint-matthew { background: #234c37; }
.matthew-theme .button-light { background: #244f39; border-color: #244f39; }

@media (max-width: 900px) {
  .catalog-hero { grid-template-columns: 1fr; align-items: end; gap: 2rem; }
  .catalog-tally { justify-self: start; }
  .section-heading { grid-template-columns: 1fr; }
  .catalog-grid { grid-template-columns: 1fr; }
  .complete-catalog-heading { grid-template-columns: 1fr; }
  .canon-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .catalog-hero { min-height: 620px; padding-left: 1.25rem; padding-right: 1.25rem; }
  .catalog-intro h1 { font-size: clamp(3.6rem, 19vw, 5.5rem); }
  .catalog, .complete-catalog, .principles { padding-left: 1.25rem; padding-right: 1.25rem; }
  .catalog-tally strong { font-size: 3.8rem; }
  .card-actions { align-items: flex-start; flex-direction: column; }
  .principle-grid { grid-template-columns: 1fr; }
  .principle-grid article, .principle-grid article + article { padding: 1.5rem 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .matthew-hero .hero-image { object-position: 63% bottom; }
  .complete-catalog-heading { gap: 2rem; }
  .complete-catalog-heading h2 { font-size: clamp(3.2rem, 17vw, 5rem); }
  .canon-group > summary { min-height: 72px; }
  .canon-group > summary small { display: none; }
  .canon-grid { grid-template-columns: 1fr; margin-bottom: 2.5rem; }
  .canon-card { grid-template-columns: 68px minmax(0, 1fr); min-height: 126px; padding: .85rem; }
  .canon-read { min-height: 32px; display: inline-flex; align-items: center; }
}

/* Saint-led marketing experience */
.marketing-page { background:#f7f6f1; color:#243238; }
.marketing-page .site-header { position:sticky; top:0; z-index:40; background:rgba(20,35,30,.96); backdrop-filter:blur(18px); }
.marketing-page .button { border-color:#d3b671; background:#d3b671; color:#17231e; border-radius:999px; }
.marketing-page .button:hover { background:#e3ca8d; }
.marketing-page .text-link { font-weight:600; text-underline-offset:.35rem; }
.seasonal-hero { min-height:calc(100svh - 80px); display:grid; grid-template-columns:1.02fr .98fr; background:#182721; color:#fff; }
.seasonal-copy { align-self:center; max-width:760px; padding:clamp(4.5rem,9vw,9rem) clamp(2rem,7vw,8rem); }
.seasonal-copy h1 { max-width:720px; font-size:clamp(4.2rem,7.4vw,8.2rem); line-height:.88; }
.seasonal-copy .hero-deck { max-width:660px; color:rgba(255,255,255,.75); }
.seasonal-copy .hero-actions { margin-top:2.2rem; }
.seasonal-art { position:relative; min-height:720px; margin:0; overflow:hidden; background:#bc9c5f; }
.seasonal-art::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(24,39,33,.32),transparent 24%),linear-gradient(0deg,rgba(10,22,18,.72),transparent 30%); pointer-events:none; }
.seasonal-art img { height:100%; object-fit:cover; object-position:center 18%; }
.seasonal-art figcaption { position:absolute; z-index:1; left:clamp(1.5rem,4vw,4rem); right:clamp(1.5rem,4vw,4rem); bottom:clamp(1.5rem,4vw,3.5rem); display:grid; padding-top:1rem; border-top:1px solid rgba(255,255,255,.42); color:#fff; }
.seasonal-art figcaption span { font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.seasonal-art figcaption strong { font:500 clamp(1.8rem,3vw,3rem)/1.1 var(--editorial-font); }
.seasonal-facts { display:grid; grid-template-columns:repeat(3,1fr); margin:3.5rem 0 0; border-top:1px solid rgba(255,255,255,.22); border-bottom:1px solid rgba(255,255,255,.22); }
.seasonal-facts div { padding:1.15rem 1rem 1.15rem 0; }
.seasonal-facts div + div { padding-left:1rem; border-left:1px solid rgba(255,255,255,.18); }
.seasonal-facts dt { color:#d3b671; font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.seasonal-facts dd { margin:.28rem 0 0; color:rgba(255,255,255,.78); font:400 .95rem/1.35 var(--editorial-font); }
.pathway { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(3rem,8vw,8rem); padding:clamp(5rem,9vw,9rem) 8vw; background:#f7f6f1; }
.pathway-heading h2,.section-heading h2,.capability-intro h2,.prayer-copy h2,.companion-story h2,.companion-features h2 { margin:0; font:500 clamp(3rem,5.7vw,6rem)/.96 var(--editorial-font); letter-spacing:-.045em; }
.pathway-heading > p:last-child,.section-heading > p,.capability-intro > p,.prayer-copy > p { max-width:620px; color:#667176; font-size:1.02rem; line-height:1.75; }
.pathway-steps { border-top:1px solid rgba(31,49,43,.2); }
.pathway-steps article { display:grid; grid-template-columns:48px 1fr; gap:.2rem 1.2rem; padding:1.7rem 0; border-bottom:1px solid rgba(31,49,43,.2); }
.pathway-steps span { grid-row:1 / 3; color:#9a7c43; font-size:.72rem; letter-spacing:.1em; }
.pathway-steps h3 { margin:0; font:500 1.75rem/1.15 var(--editorial-font); }
.pathway-steps p { margin:.4rem 0 0; color:#6c7679; }
.saint-paths { padding:clamp(5rem,9vw,9rem) 8vw; background:#e8e2d5; }
.section-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:3rem; align-items:end; margin-bottom:3rem; }
.saint-path-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1rem,2vw,2rem); }
.saint-path-card { position:relative; min-height:620px; display:flex; justify-content:flex-end; flex-direction:column; overflow:hidden; padding:2rem; background:#1c3129; color:#fff; text-decoration:none; }
.saint-path-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(8,20,16,.94),rgba(8,20,16,.05) 60%); }
.saint-path-card img { position:absolute; inset:0; height:100%; object-fit:cover; object-position:center 20%; transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.saint-path-card:hover img { transform:scale(1.025); }
.saint-path-card span,.saint-path-card strong { position:relative; z-index:1; }
.saint-path-card span { color:#dcc584; font-size:.7rem; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }
.saint-path-card strong { max-width:380px; margin-top:.35rem; font:500 clamp(1.75rem,2.8vw,2.8rem)/1.05 var(--editorial-font); }
.saint-path-card small { position:relative; z-index:1; max-width:420px; margin-top:.75rem; color:rgba(255,255,255,.72); font-size:.82rem; line-height:1.55; }
.programs-showcase { padding:clamp(5rem,9vw,9rem) 8vw; background:#15263a; color:#fff; }
.programs-showcase-heading { display:grid; grid-template-columns:1.15fr .85fr; gap:3rem; align-items:end; margin-bottom:3rem; }
.programs-showcase-heading h2 { max-width:900px; margin:0; font:500 clamp(3rem,5.7vw,6rem)/.96 var(--editorial-font); letter-spacing:-.045em; }
.programs-showcase-heading > p { max-width:580px; margin:0; color:#b5c0cb; font-size:1rem; line-height:1.75; }
.programs-showcase .kicker { color:#d5b46f; }
.home-program-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.home-program-card { min-width:0; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:18px; background:#1c3047; }
.home-program-card > img { width:100%; aspect-ratio:16/10; object-fit:cover; object-position:center 22%; }
.home-program-card > div { padding:1.5rem; }
.home-program-card p { margin:0 0 .6rem; color:#d5b46f; font-size:.65rem; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }
.home-program-card h3 { margin:0; font:500 2rem/1.05 var(--editorial-font); }
.home-program-card span { display:block; min-height:76px; margin-top:.65rem; color:#bec8d2; font-size:.9rem; line-height:1.6; }
.home-program-card ol { margin:1.1rem 0 1.35rem; padding:1rem 0 0 1.25rem; border-top:1px solid rgba(255,255,255,.12); color:#dde4ea; font:400 .88rem/1.8 var(--editorial-font); }
.home-program-card a,.programs-explore-link { color:#fff; font-size:.75rem; font-weight:600; text-underline-offset:.3rem; }
.programs-explore-link { display:inline-block; margin-top:2rem; color:#d5b46f; }
.reader-capabilities { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(3rem,8vw,8rem); padding:clamp(5rem,9vw,9rem) 8vw; background:#172620; color:#fff; }
.capability-intro { position:sticky; top:140px; align-self:start; }
.capability-intro > p { color:rgba(255,255,255,.62); }
.capability-intro .text-link { color:#d9c07c; }
.capability-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(255,255,255,.18); }
.capability-grid article { min-height:260px; padding:2rem; border-right:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14); }
.capability-grid article:nth-child(2n) { border-right:0; }
.capability-grid svg { width:26px; height:26px; fill:none; stroke:#d9c07c; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.capability-grid h3 { margin:2rem 0 .55rem; font:500 1.6rem/1.1 var(--editorial-font); }
.capability-grid p { margin:0; color:rgba(255,255,255,.59); font-size:.9rem; line-height:1.65; }
.prayer-library { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(3rem,8vw,8rem); align-items:center; padding:clamp(5rem,9vw,9rem) 8vw; overflow:hidden; background:#efe9dc; }
.prayer-copy .hero-actions { margin-top:2rem; }
.prayer-copy .text-link { color:#33473f; }
.prayer-covers { min-height:660px; display:grid; grid-template-columns:1fr 1fr; gap:clamp(1rem,3vw,2.5rem); align-items:center; }
.prayer-covers a { display:grid; gap:.75rem; color:#34443e; font:500 1.25rem var(--editorial-font); text-decoration:none; }
.prayer-covers a:first-child { transform:translateY(-2rem); }
.prayer-covers a:last-child { transform:translateY(2rem); }
.prayer-covers img { aspect-ratio:2 / 3; object-fit:cover; box-shadow:0 24px 55px rgba(43,39,28,.18); }
.marketing-page .complete-catalog { background:#f7f6f1; }
.marketing-page .complete-catalog-heading h2 { color:#23342d; }
.closing-call { padding:clamp(6rem,11vw,11rem) 8vw; background:radial-gradient(circle at 50% 0,rgba(211,182,113,.18),transparent 32%),#10211b; color:#fff; text-align:center; }
.closing-call h2 { max-width:1100px; margin:0 auto 2.5rem; font:500 clamp(3.8rem,8vw,8rem)/.92 var(--editorial-font); letter-spacing:-.05em; }
.marketing-page footer { background:#08140f; }
.companion-hero { min-height:calc(100svh - 80px); display:grid; grid-template-columns:.9fr 1.1fr; background:#192a24; color:#fff; }
.companion-hero figure { min-height:720px; margin:0; overflow:hidden; }
.companion-hero figure img { height:100%; object-fit:cover; object-position:center 18%; }
.companion-hero > div { align-self:center; padding:clamp(4rem,9vw,9rem); }
.companion-hero h1 { font-size:clamp(4.5rem,8vw,8.5rem); }
.companion-hero .hero-deck { color:rgba(255,255,255,.72); }
.companion-story { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(3rem,8vw,8rem); padding:clamp(5rem,9vw,9rem) 8vw; background:#f7f6f1; }
.companion-story dl { margin:3rem 0 0; border-top:1px solid rgba(35,52,45,.18); }
.companion-story dl div { display:grid; grid-template-columns:90px 1fr; gap:1rem; padding:1rem 0; border-bottom:1px solid rgba(35,52,45,.18); }
.companion-story dt { color:#8d7442; font-size:.7rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.companion-story dd { margin:0; color:#526159; font-family:var(--editorial-font); }
.story-prose > p { margin:0; color:#3e4e47; font:400 clamp(1.3rem,2.1vw,1.7rem)/1.65 var(--editorial-font); }
.story-prose aside { margin-top:3rem; padding:2rem; border:1px solid rgba(35,52,45,.2); background:#fff; }
.story-prose aside span { color:#8d7442; font-size:.68rem; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }
.story-prose aside h3 { margin:.5rem 0; font:500 2rem var(--editorial-font); }
.story-prose aside p { color:#596761; }
.story-prose aside small { color:#7b8580; }
.pairing { padding:clamp(6rem,11vw,11rem) 12vw; background:#1a2b25; color:#fff; text-align:center; }
.pairing blockquote { max-width:1100px; margin:0 auto 2rem; font:500 clamp(3rem,6vw,6.5rem)/1.02 var(--editorial-font); }
.pairing > p:not(.kicker) { max-width:760px; margin:0 auto 2.5rem; color:rgba(255,255,255,.65); }
.companion-features { padding:clamp(5rem,9vw,9rem) 8vw; background:#e8e2d5; }
.companion-features > div:first-child { max-width:860px; }
.feature-row { display:grid; grid-template-columns:repeat(3,1fr); margin-top:4rem; border-top:1px solid rgba(35,52,45,.2); }
.feature-row article { padding:2rem 2.5rem 1rem 0; }
.feature-row article + article { padding-left:2.5rem; border-left:1px solid rgba(35,52,45,.2); }
.feature-row h3 { margin:0 0 .65rem; font:500 1.65rem var(--editorial-font); }
.feature-row p { color:#66716c; }
@media (max-width:900px) {
  .programs-showcase-heading { grid-template-columns:1fr; }
  .home-program-grid { grid-template-columns:1fr; }
  .home-program-card { display:grid; grid-template-columns:minmax(180px,.7fr) 1.3fr; }
  .home-program-card > img { height:100%; aspect-ratio:auto; }
  .home-program-card span { min-height:0; }
  .seasonal-hero,.companion-hero,.pathway,.reader-capabilities,.prayer-library,.companion-story { grid-template-columns:1fr; }
  .seasonal-copy { padding:5rem 8vw; }
  .seasonal-art,.companion-hero figure { min-height:680px; }
  .saint-path-grid { grid-template-columns:1fr; }
  .saint-path-card { min-height:720px; }
  .capability-intro { position:static; }
  .prayer-covers { min-height:580px; }
}
@media (max-width:620px) {
  .seasonal-hero,.companion-hero { min-height:auto; }
  .seasonal-copy,.companion-hero > div { padding:4rem 1.25rem; }
  .seasonal-copy h1,.companion-hero h1 { font-size:clamp(3.6rem,18vw,5.3rem); }
  .seasonal-facts { grid-template-columns:1fr; }
  .seasonal-facts div + div { padding-left:0; border-top:1px solid rgba(255,255,255,.18); border-left:0; }
  .seasonal-art,.companion-hero figure { min-height:560px; }
  .pathway,.saint-paths,.reader-capabilities,.prayer-library,.companion-story,.companion-features { padding-left:1.25rem; padding-right:1.25rem; }
  .section-heading,.complete-catalog-heading { grid-template-columns:1fr; }
  .saint-path-card { min-height:540px; }
  .capability-grid { grid-template-columns:1fr; }
  .capability-grid article { min-height:auto; border-right:0; }
  .prayer-covers { min-height:auto; }
  .prayer-covers a:first-child,.prayer-covers a:last-child { transform:none; }
  .feature-row { grid-template-columns:1fr; }
  .feature-row article,.feature-row article + article { padding:1.5rem 0; border-left:0; border-bottom:1px solid rgba(35,52,45,.2); }
  .closing-call { padding-left:1.25rem; padding-right:1.25rem; }
}

/* Full-screen digital reader */
.reader-app { --reader-accent: #71827b; --reader-accent-strong: #53675f; --reader-accent-soft: #edf1ee; --reading-scale: 1; height: 100svh; overflow: hidden; background: #faf9f5; color: #25343a; }
.reader-bar { position: relative; z-index: 10; height: 68px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 clamp(1rem, 2.5vw, 2rem); border-bottom: 1px solid #dde1dd; background: rgba(250,249,245,.96); box-shadow: 0 1px 0 rgba(37,52,58,.03); backdrop-filter: blur(16px); }
.reader-brand { display: inline-flex; align-items: center; gap: .6rem; color: #0b2131; text-decoration: none; text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; }
.reader-brand .brand-mark { width: 23px; height: 23px; flex-basis: 23px; }
.ui-icon { width:20px; height:20px; display:block; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.mobile-library-button { display: none; }
.passage-button { justify-self: center; min-width: 170px; display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: .65rem; padding: .45rem 1rem; border: 0; border-radius: 8px; background: transparent; color: #15242e; cursor: pointer; text-align: left; }
.passage-button:hover { background: var(--reader-accent-soft); }
.passage-button span { grid-column: 1; color: #707a7f; font-size: .68rem; line-height: 1.2; text-transform: uppercase; letter-spacing: .1em; }
.passage-button strong { grid-column: 1; font: 400 1.08rem/1.25 var(--editorial-font); }
.passage-button span, .passage-button strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.passage-button .passage-chevron { grid-column:2; grid-row:1 / 3; width:17px; height:17px; color:var(--reader-accent); }
.reader-tools { justify-self: end; display: flex; align-items: center; gap: .35rem; }
.reader-tools button, .reader-tools a { min-width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #d8ddd9; border-radius: 50%; background: #fdfcf9; color: #344249; text-decoration: none; font-size: .82rem; cursor: pointer; transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease; }
.reader-tools button:disabled { opacity: .38; cursor: default; }
.reader-tools a { width: auto; padding: 0 1rem; border-radius: 999px; }
.reader-tools .share-button { width: auto; display: inline-flex; gap: .4rem; padding: 0 .9rem; border-radius: 999px; }
.reader-tools .profile-button { width: auto; display: inline-flex; gap: .45rem; padding: 0 .75rem 0 .65rem; border-radius: 999px; }
.profile-button svg { width:19px; height:19px; }
.profile-button [data-profile-initials] { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: var(--reader-accent); color: #fff; font-size: .65rem; font-weight: 700; letter-spacing: .04em; }
.profile-button.is-signed-in [data-profile-icon],.profile-button:not(.is-signed-in) [data-profile-initials] { display:none !important; }
.profile-button.is-signed-in { border-color: color-mix(in srgb, var(--reader-accent) 40%, #d8dad7); }
.profile-label { max-width: 90px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.share-button .ui-icon { width:19px; height:19px; }
@media (hover: hover) {
  .reader-tools button:hover, .reader-tools a:hover { border-color: color-mix(in srgb, var(--reader-accent) 55%, #d8ddd9); background: var(--reader-accent-soft); color: var(--reader-accent-strong); transform: translateY(-1px); }
}
.reader-tools button:focus-visible, .reader-tools a:focus-visible { border-color: var(--reader-accent); color: var(--reader-accent); outline: 2px solid color-mix(in srgb, var(--reader-accent) 25%, transparent); outline-offset: 2px; }
.reader-layout { height: calc(100svh - 68px); display: grid; grid-template-columns: 228px minmax(0, 1fr); }
.book-rail { position: relative; min-height: 0; overflow-y: auto; padding: 2rem 1rem; border-right: 1px solid #dde1dd; background: radial-gradient(ellipse 85% 19% at 0 8%, rgba(255,255,255,.7), transparent 72%), radial-gradient(ellipse 90% 22% at 110% 42%, rgba(177,192,183,.22), transparent 74%), radial-gradient(ellipse 80% 18% at -10% 78%, rgba(255,255,255,.56), transparent 72%), #f1f3f0; overscroll-behavior: contain; scrollbar-color: #b7c0bb transparent; scrollbar-width: thin; }
.book-rail::-webkit-scrollbar { width: 10px; }
.book-rail::-webkit-scrollbar-track { background: transparent; }
.book-rail::-webkit-scrollbar-thumb { border: 3px solid transparent; border-radius: 999px; background: #b6bdb9; background-clip: padding-box; }
.book-rail::-webkit-scrollbar-thumb:hover { background-color: #8f9994; }
.book-rail > p { margin: 0 .7rem 1rem; color: #747c80; font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.rail-book { width: 100%; display: grid; grid-template-columns: 36px 1fr; gap: .65rem; align-items: center; padding: .85rem .75rem; border: 1px solid transparent; border-radius: 8px; background: transparent; color: #24323a; text-align: left; cursor: pointer; }
.rail-book:hover { background: rgba(255,255,255,.72); }
.rail-book.active { border-color: #d3dad5; background: #fdfcf9; box-shadow: 0 8px 24px rgba(32,46,42,.055); }
.rail-book > span:first-child { color: var(--reader-accent); font: 400 1.2rem var(--editorial-font); }
.rail-book > span:last-child { display: grid; }
.rail-book strong { font: 400 1.02rem var(--editorial-font); }
.rail-book small { color: #778084; font-size: .7rem; }
.rail-source { display: flex; gap: .65rem; align-items: flex-start; margin: 1.5rem .7rem 0; padding-top: 1.2rem; border-top: 1px solid #d8d9d5; color: #4f5a60; }
.rail-source > span { color: #c29b50; }
.rail-source p { margin: 0; font: 400 .9rem/1.35 var(--editorial-font); }
.rail-source small { color: #7c8488; font: 400 .7rem var(--ui-font); }
.reader-main { position:relative; min-width: 0; min-height: 0; display: grid; grid-template-rows: minmax(0, 1fr) 64px; background: radial-gradient(ellipse 40% 19% at 1% 13%, rgba(151,170,160,.12), transparent 73%), radial-gradient(ellipse 34% 17% at 98% 29%, rgba(205,190,159,.12), transparent 74%), radial-gradient(ellipse 46% 21% at 5% 72%, rgba(181,194,187,.11), transparent 75%), radial-gradient(ellipse 39% 18% at 99% 88%, rgba(171,186,178,.1), transparent 73%), #faf9f5; transition:margin-right .22s ease; }
.reading-progress { position:absolute; z-index:5; top:0; right:0; left:0; height:3px; overflow:hidden; background:transparent; pointer-events:none; }
.reading-progress span { display:block; width:0; height:100%; border-radius:0 999px 999px 0; background:var(--reader-accent); transition:width .12s linear; }
.reading-scroll { min-height: 0; overflow-y: auto; scroll-behavior: smooth; overscroll-behavior: contain; }
.reading-article { width: min(760px, calc(100% - 3rem)); min-height: 100%; margin: 0 auto; padding: clamp(3rem, 7vh, 5.5rem) 0 7rem; font-size: calc(1.08rem * var(--reading-scale)); }
.chapter-header { margin-bottom: 2.4rem; text-align: center; }
.chapter-header > p { margin: 0 0 .8rem; color: var(--reader-accent); font: 600 .72rem/1.4 var(--ui-font); letter-spacing: .13em; text-transform: uppercase; }
.chapter-header h1 { margin: 0; color: #26363c; font-size: clamp(3.2rem, 7vw, 5.6rem); line-height: .98; letter-spacing: -.035em; }
.chapter-header h1 span { color: var(--reader-accent); }
.chapter-summary { max-width: 600px; margin: 1.2rem auto 0; color: #697277; font: italic .9em/1.55 var(--editorial-font); }
.chapter-summary > span { display: block; margin-bottom: .3rem; color: var(--reader-accent); font: 600 .58rem/1.4 var(--ui-font); letter-spacing: .12em; text-transform: uppercase; }
.chapter-bookmark { min-height: 40px; display: inline-flex; align-items: center; gap: .5rem; margin-top: 1.15rem; padding: .55rem .9rem; border: 1px solid #d6d9d6; border-radius: 999px; background: #fff; color: #536168; cursor: pointer; font-size: .72rem; font-weight: 600; }
.chapter-bookmark svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linejoin: round; }
.chapter-bookmark:hover, .chapter-bookmark.is-saved { border-color: var(--reader-accent); color: var(--reader-accent); }
.chapter-bookmark.is-saved svg { fill: color-mix(in srgb, var(--reader-accent) 18%, transparent); }
.reader-illustration { position: relative; margin: 0 0 2.8rem; overflow: hidden; border-radius: 16px; background: #e7e4da; box-shadow: 0 18px 45px rgba(22,31,34,.1); }
.reader-illustration img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.reader-illustration figcaption { position: absolute; right: .8rem; bottom: .8rem; padding: .4rem .65rem; border-radius: 999px; background: rgba(5,22,31,.8); color: #fff; font: 500 .7rem/1.2 var(--ui-font); backdrop-filter: blur(8px); }
.chapter-audio { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.7rem 1rem; align-items:center; margin:0 0 2rem; padding:.85rem 1rem; border:1px solid #d9deda; border-radius:12px; background:#f3f5f2; box-shadow:none; font-family:var(--ui-font); }
.chapter-audio-heading { min-width:0; display:flex; gap:.8rem; align-items:center; }
.chapter-audio-heading > span { width:32px; height:32px; display:grid; flex:0 0 auto; place-items:center; border:1px solid #cfd6d1; border-radius:50%; background:#e8ece9; color:#667a71; }
.chapter-audio-heading svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; }
.chapter-audio p { margin:0 0 .15rem; color:#6f7d77; font:600 .59rem/1.25 var(--ui-font); letter-spacing:.12em; text-transform:uppercase; }
.chapter-audio h2 { margin:0; color:#2c3935; font:600 .98rem/1.25 var(--ui-font); letter-spacing:-.01em; }
.chapter-audio small { display:block; margin-top:.18rem; color:#7b8580; font:400 .64rem/1.35 var(--ui-font); }
.chapter-audio audio { grid-column:1 / -1; width:100%; height:40px; display:block; margin-top:.1rem; accent-color:var(--reader-accent); }
.chapter-audio-action { display:flex; align-items:center; }
.chapter-audio-action button, .reader-auth-dialog button[type="submit"], .profile-primary { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding:.7rem 1.05rem; border:1px solid var(--reader-accent-strong); border-radius:999px; background:var(--reader-accent-strong); color:#fff; cursor:pointer; font-weight:600; box-shadow: 0 6px 18px rgba(47,66,59,.12); transition: background .18s ease, transform .18s ease, box-shadow .18s ease; }
.chapter-audio .chapter-audio-action button { min-height:40px; padding:.55rem .9rem; border-color:#c7cfca; background:#fdfefa; color:#3c5047; box-shadow:none; font:600 .76rem/1 var(--ui-font); }
.chapter-audio .chapter-audio-action button:hover { border-color:#98a89f; background:#fff; color:#263a31; box-shadow:none; }
.chapter-audio-action button:hover, .reader-auth-dialog button[type="submit"]:hover, .profile-primary:hover { background: #455a53; transform: translateY(-1px); box-shadow: 0 9px 22px rgba(47,66,59,.16); }
.chapter-audio-action button svg { width: 17px; height: 17px; fill: currentColor; }
.chapter-audio-action button:disabled { opacity: .72; cursor: wait; }
.chapter-audio-action button.is-loading svg { animation: audioPulse 1s ease-in-out infinite; }
.chapter-audio-progress { grid-column:1 / -1; display:grid; grid-template-columns:1fr auto; gap:.55rem .8rem; align-items:center; margin-top:.25rem; }
.chapter-audio-progress > span { height: 5px; overflow: hidden; border-radius: 999px; background: color-mix(in srgb, var(--reader-accent) 12%, #e7e9e7); }
.chapter-audio-progress i { display: block; width: 4%; height: 100%; border-radius: inherit; background: var(--reader-accent); transition: width .35s ease; }
.chapter-audio-progress small { margin: 0; white-space: nowrap; }
.chapter-audio .chapter-audio-status { grid-column:1 / -1; margin:0; color:#657278; font:500 .7rem/1.4 var(--ui-font); letter-spacing:0; text-transform:none; }
.chapter-audio .chapter-audio-status:empty { display:none; }
@keyframes audioPulse { 50% { opacity: .4; transform: scale(.88); } }
.reader-auth-dialog, .profile-dialog { width:min(460px,calc(100% - 2rem)); border:0; border-radius:18px; padding:1.5rem; color:#26343b; background:#fffefa; box-shadow:0 24px 70px rgba(0,0,0,.28); }
.reader-auth-dialog::backdrop, .profile-dialog::backdrop { background:rgba(15,28,34,.58); backdrop-filter: blur(3px); }
.reader-auth-head { display:flex; justify-content:space-between; gap:1rem; align-items:start; margin-bottom:1rem; }
.reader-auth-head p,.reader-auth-dialog label span { display:block; margin:0 0 .35rem; color:#69767b; font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.reader-auth-head h2 { margin:0; font:400 1.8rem/1.15 var(--editorial-font); }
.reader-auth-head button { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border:1px solid #dedfdc; border-radius: 50%; background:#fff; color:#536168; cursor:pointer; }
.reader-auth-head button .ui-icon { width:17px; height:17px; }
.reader-auth-deck { margin: 0 0 1.1rem; color: #5e6c72; font-size: .86rem; line-height: 1.55; }
.reader-auth-dialog form { display:grid; gap:.85rem; }
.reader-auth-fields { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.reader-auth-dialog input { width:100%; box-sizing:border-box; padding:.75rem; border:1px solid #d4d8d6; border-radius:8px; font:inherit; }
.reader-auth-dialog input[name="code"] { text-align:center; font-size:1.4rem; font-weight:600; letter-spacing:.35em; }
.reader-auth-dialog form > small { color:#778185; font-size:.7rem; line-height:1.45; }
.reader-auth-dialog button[type="submit"]:disabled { opacity:.65; cursor:wait; }
.reader-auth-status { min-height:1.3rem; margin:.8rem 0 0; color:#8a3340; font-size:.78rem; }
.verification-sent { margin: 0; color:#526169; font-size:.84rem; }
.verification-actions { display:flex; justify-content:center; gap:1rem; }
.verification-actions button { border:0; background:transparent; color:var(--reader-accent); cursor:pointer; font-size:.75rem; text-decoration:underline; text-underline-offset:.2rem; }
.profile-signed-out { text-align:center; }
.profile-hero-icon { width:64px; height:64px; display:grid; place-items:center; margin:.4rem auto 1rem; border-radius:50%; background:color-mix(in srgb,var(--reader-accent) 9%,#fff); color:var(--reader-accent); }
.profile-hero-icon svg { width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; }
.profile-signed-out h3 { margin:0; font:400 1.45rem var(--editorial-font); }
.profile-signed-out p { margin:.6rem auto 1.2rem; max-width:330px; color:#66747a; font-size:.84rem; }
.profile-primary { width:100%; background:var(--reader-accent); }
.profile-identity { display:flex; align-items:center; gap:.9rem; padding:.4rem 0 1.2rem; }
.profile-identity > span { width:48px; height:48px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; background:var(--reader-accent); color:#fff; font-weight:700; }
.profile-identity h3 { margin:0; font:400 1.25rem var(--editorial-font); }
.profile-identity p { margin:.15rem 0 0; color:#738086; font-size:.75rem; }
.profile-menu-item { width:100%; display:grid; grid-template-columns:auto 1fr auto; gap:.8rem; align-items:center; padding:1rem; border:1px solid #dbddd9; border-radius:12px; background:#fff; color:#26363e; text-align:left; cursor:pointer; }
.profile-menu-item > svg:first-child { color:var(--reader-accent); }
.profile-menu-item > span:nth-child(2) { display:grid; }
.profile-menu-item small { color:#788287; font-size:.7rem; }
.profile-sign-out { width:100%; margin-top:1rem; padding:.7rem; border:0; background:transparent; color:#6c767b; cursor:pointer; }
.profile-text-settings { display:flex; align-items:center; justify-content:space-between; margin-top:1rem; padding-top:1rem; border-top:1px solid #e0e1dd; color:#68757b; font-size:.75rem; }
.profile-text-settings div { display:flex; gap:.4rem; }
.profile-text-settings button { width:40px; height:40px; border:1px solid #d8dad7; border-radius:50%; background:#fff; color:#28363e; cursor:pointer; }
.profile-theme-settings { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; padding-top:1rem; border-top:1px solid #e0e1dd; color:#68757b; font-size:.75rem; }
.profile-theme-settings > div { display:flex; padding:.2rem; border:1px solid #d8dad7; border-radius:999px; background:#f2f3ef; }
.profile-theme-settings button { min-height:34px; padding:.35rem .65rem; border:0; border-radius:999px; background:transparent; color:#5c696f; cursor:pointer; font-size:.68rem; }
.profile-theme-settings button.active { background:#fff; color:#26363e; box-shadow:0 2px 8px rgba(34,48,43,.1); }
.profile-app-info { margin-top:1rem; padding-top:1rem; border-top:1px solid #e0e1dd; color:#68757b; font-size:.72rem; }
.profile-app-info summary { display:flex; align-items:center; justify-content:space-between; cursor:pointer; list-style:none; color:#657279; }
.profile-app-info summary::-webkit-details-marker { display:none; }
.profile-app-info summary::after { content:'+'; color:#829095; font-size:1rem; line-height:1; }
.profile-app-info[open] summary::after { content:'−'; }
.profile-app-info > div { display:flex; align-items:center; justify-content:space-between; margin-top:.8rem; padding:.75rem .85rem; border:1px solid #dfe1dd; border-radius:10px; background:#f7f7f3; }
.profile-app-info strong { color:#334149; font-size:.7rem; font-variant-numeric:tabular-nums; letter-spacing:.04em; }
.profile-app-info p { margin:.55rem .1rem 0; color:#8a9498; font-size:.62rem; }
.study-drawer { position: fixed; z-index: 20; top: 68px; right: 0; bottom: 0; width: min(400px, calc(100vw - 1rem)); overflow-y: auto; padding: 1.35rem; border: 0; border-left: 1px solid #d8dad6; background: #fffefa; color: #26343b; box-shadow: -18px 0 54px rgba(15,28,34,.16); transform: translateX(104%); transition: transform .22s ease; }
.study-drawer.open { transform: translateX(0); }
.verse-action-menu { position:fixed; z-index:42; display:grid; grid-template-columns:repeat(3,minmax(58px,1fr)); gap:.2rem; width:max-content; max-width:calc(100vw - 20px); padding:.32rem; border:1px solid #cfd7e0; border-radius:13px; background:rgba(251,250,247,.97); box-shadow:0 12px 32px rgba(22,36,52,.2); backdrop-filter:blur(16px); transform:translate(-50%,-100%); }
.verse-action-menu[hidden] { display:none; }
.verse-action-menu[data-placement="below"] { transform:translate(-50%,0); }
.verse-action-menu::after { content:""; position:absolute; left:50%; bottom:-6px; width:10px; height:10px; border-right:1px solid #cfd7e0; border-bottom:1px solid #cfd7e0; background:#fbfaf7; transform:translateX(-50%) rotate(45deg); }
.verse-action-menu[data-placement="below"]::after { top:-6px; bottom:auto; border:0; border-top:1px solid #cfd7e0; border-left:1px solid #cfd7e0; }
.verse-action-menu button { min-width:60px; min-height:52px; display:grid; place-items:center; align-content:center; gap:.22rem; padding:.35rem .45rem; border:0; border-radius:9px; background:transparent; color:#46586b; cursor:pointer; font:600 .62rem/1.1 var(--ui-font); }
.verse-action-menu button:hover,.verse-action-menu button:focus-visible { background:#e9eef3; color:#24384f; outline:none; }
.verse-action-menu button.is-active { background:#f3ead6; color:#705a2d; }
.verse-action-menu button:disabled { opacity:.55; cursor:progress; }
.verse-action-menu .ui-icon { width:19px; height:19px; }
@media (min-width: 1280px) {
  .reader-app.study-open .reader-main { margin-right:400px; }
}
.study-drawer-head { display: flex; justify-content: space-between; gap: 1rem; align-items: start; padding-bottom: 1rem; border-bottom: 1px solid #dedfda; }
.study-drawer-head p, .study-note-title p, .study-note-composer label > span { margin: 0 0 .25rem; color: var(--reader-accent); font-size: .64rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.study-drawer-head h2 { margin: 0; font: 400 1.7rem/1.15 var(--editorial-font); }
.study-drawer-head > button { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid #dbddd9; border-radius: 50%; background: #fff; color:#536168; cursor: pointer; }
.study-drawer-head > button .ui-icon { width:17px; height:17px; }
.study-selected-verse { padding: 1.2rem 0; border-bottom: 1px solid #dedfda; }
.study-selected-verse blockquote { margin: 0 0 1rem; color: #33444c; font: 400 1rem/1.6 var(--editorial-font); }
.study-verse-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; }
.study-verse-actions button { min-height: 68px; display: grid; grid-template-columns: auto 1fr; gap: .55rem; align-items: center; padding: .7rem; border: 1px solid #d7dad7; border-radius: 10px; background: #fff; color: #3e4d54; text-align: left; cursor: pointer; }
.study-verse-actions button:hover { border-color: var(--reader-accent); color: var(--reader-accent); }
.study-verse-actions button.is-active { border-color:#9b865d; background:#f3eee3; color:#66583f; }
.study-verse-actions button:disabled { opacity:.65; cursor:wait; }
.study-verse-actions button > span { color: var(--reader-accent); }
.study-verse-actions strong { font-size: .72rem; line-height: 1.3; }
.study-note-composer { padding-top: 1.2rem; }
.study-note-title { display: flex; justify-content: space-between; gap: 1rem; align-items: start; }
.study-note-title h3 { margin: 0; font: 400 1.2rem/1.25 var(--editorial-font); }
.study-note-title > span { padding: .3rem .5rem; border-radius: 999px; background: #f0eee8; color: #68757b; font-size: .64rem; white-space: nowrap; }
.study-note-selections { display: grid; gap: .5rem; max-height: 235px; overflow-y: auto; margin: 1rem 0; }
.study-note-selections > p { margin: 0; padding: .85rem; border: 1px dashed #d4d7d3; border-radius: 9px; color: #778186; font-size: .75rem; line-height: 1.5; }
.study-note-selections article { position: relative; padding: .75rem 2rem .75rem .8rem; border: 1px solid #dedfdb; border-radius: 9px; background: #fff; }
.study-note-selections article > button { position: absolute; top: .35rem; right: .4rem; width:28px; height:28px; display:grid; place-items:center; border: 0; background: transparent; color: #778186; cursor: pointer; }
.study-note-selections article > button .ui-icon { width:14px; height:14px; }
.study-note-selections strong { display: block; color: var(--reader-accent); font-size: .68rem; }
.study-note-selections article p { margin: .25rem 0 0; color: #5d696f; font: 400 .75rem/1.45 var(--editorial-font); }
.study-note-composer label { display: block; }
.study-note-composer textarea { width: 100%; resize: vertical; padding: .75rem; border: 1px solid #d5d8d5; border-radius: 9px; background: #fff; color: #26343b; font: .85rem/1.5 var(--ui-font); }
.study-note-actions { display: flex; justify-content: flex-end; gap: .55rem; margin-top: .7rem; }
.study-note-actions button { min-height: 40px; padding: .55rem .9rem; border: 1px solid #d7dad7; border-radius: 999px; background: #fff; color: #56646a; cursor: pointer; font-size: .72rem; font-weight: 600; }
.study-note-actions [data-save-note] { border-color: var(--reader-accent-strong); background: var(--reader-accent-strong); color: #fff; }
.study-drawer-status { min-height: 1.2rem; margin: .7rem 0 0; color: #657278; font-size: .72rem; }
.study-library-dialog [data-study-list] { max-height: 60vh; overflow-y: auto; }
.study-library-dialog [data-study-list] section + section { margin-top: 1.1rem; }
.study-library-dialog [data-study-list] h3 { margin: 0 0 .5rem; color: #6c777b; font-size: .67rem; letter-spacing: .1em; text-transform: uppercase; }
.study-item { width: 100%; display: grid; gap: .25rem; margin: .35rem 0; padding: .75rem; border: 1px solid #d5d9d5; border-radius: 9px; background: #fff; color: #34444c; text-align: left; cursor: pointer; }
.study-item span { overflow: hidden; color: #66747a; font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.note-notebook-field { margin-bottom: .8rem; }
.note-notebook-field select { width:100%; min-height:42px; padding:.65rem .75rem; border:1px solid #d5d8d5; border-radius:9px; background:#fff; color:#26343b; font:500 .78rem var(--ui-font); }
.notebook-dialog { width:min(1060px,calc(100% - 2rem)); height:min(760px,calc(100dvh - 2rem)); max-width:none; max-height:none; padding:0; overflow:hidden; border:0; border-radius:20px; background:#fffefa; color:#26343b; box-shadow:0 28px 90px rgba(0,0,0,.32); }
.notebook-dialog::backdrop { background:rgba(15,28,34,.62); backdrop-filter:blur(4px); }
.notebook-dialog-head { height:80px; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:0 1.5rem; border-bottom:1px solid #dcdfdc; }
.notebook-dialog-head p,.notebook-current-head p,.notebook-notes-head p,.notebook-saved-reading > div > p { margin:0 0 .2rem; color:var(--reader-accent); font:600 .62rem/1.3 var(--ui-font); letter-spacing:.12em; text-transform:uppercase; }
.notebook-dialog-head h2 { margin:0; font:400 1.75rem/1.1 var(--editorial-font); }
.notebook-dialog-head > button { width:40px; height:40px; display:grid; place-items:center; border:1px solid #d8dcda; border-radius:50%; background:#fff; color:#526169; cursor:pointer; }
.notebook-dialog-head > button .ui-icon { width:17px; height:17px; }
.notebook-workspace { height:calc(100% - 80px); display:grid; grid-template-columns:250px minmax(0,1fr); }
.notebook-sidebar { min-width:0; overflow-y:auto; padding:1.2rem; border-right:1px solid #dcdfdc; background:#f3f4f0; }
.notebook-sidebar-title { display:flex; align-items:center; justify-content:space-between; gap:.8rem; margin-bottom:.8rem; }
.notebook-sidebar-title strong { font:500 .72rem var(--ui-font); letter-spacing:.06em; text-transform:uppercase; }
.notebook-sidebar-title button,.new-notebook-form button { min-height:34px; padding:.4rem .7rem; border:1px solid #cfd5d1; border-radius:999px; background:#fff; color:#3f5048; cursor:pointer; font:600 .68rem var(--ui-font); }
.new-notebook-form { display:grid; gap:.55rem; margin-bottom:1rem; padding:.8rem; border:1px solid #d8ddd9; border-radius:10px; background:#fff; }
.new-notebook-form label span { display:block; margin-bottom:.3rem; color:#68767b; font:600 .6rem var(--ui-font); letter-spacing:.09em; text-transform:uppercase; }
.new-notebook-form input { width:100%; min-height:40px; padding:.6rem; border:1px solid #d6dad7; border-radius:8px; font:inherit; }
.notebook-sidebar nav { display:grid; gap:.4rem; }
.notebook-sidebar nav > button { width:100%; display:grid; grid-template-columns:1fr auto; align-items:center; gap:.5rem; padding:.8rem; border:1px solid transparent; border-radius:10px; background:transparent; color:#34434a; text-align:left; cursor:pointer; }
.notebook-sidebar nav > button:hover { background:#fff; }
.notebook-sidebar nav > button.active { border-color:#cfd6d2; background:#fff; box-shadow:0 7px 18px rgba(36,48,43,.07); }
.notebook-sidebar nav > button > span:first-child { min-width:0; display:grid; gap:.15rem; }
.notebook-sidebar nav strong { overflow:hidden; font:500 .82rem var(--ui-font); text-overflow:ellipsis; white-space:nowrap; }
.notebook-sidebar nav small { color:#7a8580; font-size:.65rem; }
.notebook-sidebar nav > button > span:last-child { color:var(--reader-accent); font-size:.55rem; }
.notebook-main { min-width:0; overflow-y:auto; padding:1.35rem 1.5rem 2rem; }
.notebook-current-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1.2rem; padding-bottom:1.2rem; border-bottom:1px solid #e0e2df; }
.notebook-current-head > div:first-child { display:grid; gap:.4rem; }
.notebook-current-head input { min-width:0; padding:0; border:0; background:transparent; color:#26343b; font:400 2rem/1.15 var(--editorial-font); }
.notebook-current-head textarea { width:100%; resize:vertical; padding:.55rem .65rem; border:1px solid transparent; border-radius:8px; background:transparent; color:#657177; font:400 .8rem/1.45 var(--ui-font); }
.notebook-current-head input:focus,.notebook-current-head textarea:focus { border-color:#ccd4cf; background:#fff; outline:none; }
.notebook-current-head small { color:#7a8580; font-size:.66rem; }
.notebook-current-head > div:last-child { display:flex; flex-wrap:wrap; align-content:start; justify-content:flex-end; gap:.45rem; }
.notebook-current-head button,.notebook-bulk-bar button { min-height:38px; padding:.55rem .8rem; border:1px solid #ccd3cf; border-radius:999px; background:#fff; color:#405149; cursor:pointer; font:600 .68rem var(--ui-font); }
.notebook-current-head [data-share-notebook] { border-color:#6d8279; background:#5c7168; color:#fff; }
.notebook-current-head .notebook-delete,.notebook-bulk-bar [data-delete-notes] { color:#8a4b4d; }
.notebook-notes-head { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-top:1.3rem; }
.notebook-notes-head h3,.notebook-saved-reading h3 { margin:0; font:400 1.3rem var(--editorial-font); }
.notebook-notes-head label { display:flex; align-items:center; gap:.45rem; color:#66747a; font-size:.7rem; cursor:pointer; }
.notebook-notes-head input,.notebook-note-card input { accent-color:#5c7168; }
.notebook-bulk-bar { display:flex; align-items:center; gap:.55rem; margin:.8rem 0; padding:.65rem .75rem; border:1px solid #d3d9d5; border-radius:10px; background:#eef1ee; }
.notebook-bulk-bar strong { margin-right:auto; font-size:.7rem; }
.notebook-bulk-bar select { max-width:210px; min-height:38px; padding:.5rem .7rem; border:1px solid #ccd3cf; border-radius:999px; background:#fff; color:#394941; font-size:.7rem; }
.notebook-note-list { display:grid; gap:.65rem; margin-top:.8rem; }
.notebook-note-card { display:grid; grid-template-columns:auto 1fr; gap:.8rem; padding:1rem; border:1px solid #dce0dd; border-radius:12px; background:#fff; transition:border-color .15s ease,background .15s ease; }
.notebook-note-card.selected { border-color:#91a39a; background:#f2f5f2; }
.notebook-note-card > label { padding-top:.15rem; cursor:pointer; }
.notebook-note-card > div { min-width:0; }
.notebook-note-meta { display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
.notebook-note-meta strong { color:#576b62; font-size:.68rem; letter-spacing:.02em; }
.notebook-note-meta span { flex:0 0 auto; color:#87908c; font-size:.62rem; }
.notebook-note-card p { margin:.45rem 0 .65rem; color:#314048; font:400 1rem/1.5 var(--editorial-font); white-space:pre-wrap; }
.notebook-note-card button { display:inline-flex; align-items:center; gap:.35rem; padding:0; border:0; background:transparent; color:#5e7168; cursor:pointer; font:600 .67rem var(--ui-font); }
.notebook-note-card button .ui-icon { width:14px; height:14px; }
.notebook-saved-reading { margin-top:1.6rem; padding-top:1.2rem; border-top:1px solid #e0e2df; }
.notebook-saved-reading > div:first-child { margin-bottom:.7rem; }
.notebook-saved-reading [data-notebook-saved-reading] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; }
.notebook-status { min-height:1.2rem; margin:1rem 0 0; color:#5d7167; font-size:.72rem; }
.notebook-empty { margin:.6rem 0; padding:1.2rem; border:1px dashed #d2d7d3; border-radius:10px; color:#758079; text-align:center; font-size:.75rem; }
.notebook-empty strong { display:block; color:#3f4e46; font:400 1.1rem var(--editorial-font); }
.notebook-empty p { margin:.35rem 0 0; }
.shared-notebook-page { min-height:100vh; margin:0; background:#f4f2ea; color:#26343b; font-family:var(--ui-font); }
.shared-notebook-bar { height:72px; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:0 clamp(1rem,4vw,4rem); border-bottom:1px solid #d8d9d2; background:rgba(255,254,250,.9); backdrop-filter:blur(12px); }
.shared-notebook-bar a { color:#26343b; font-weight:600; text-decoration:none; }
.shared-notebook-bar > a { display:inline-flex; align-items:center; gap:.55rem; }
.shared-notebook-bar .brand-mark { width:24px; height:24px; flex-basis:24px; }
.shared-notebook-bar > div { display:flex; align-items:center; gap:.5rem; }
.shared-notebook-bar button,.shared-notebook-bar > div a { padding:.6rem .85rem; border:1px solid #ccd2ce; border-radius:999px; background:#fff; color:#415149; cursor:pointer; font:600 .7rem var(--ui-font); }
.shared-notebook-page main { width:min(900px,calc(100% - 2rem)); margin:0 auto; padding:clamp(3rem,8vw,7rem) 0 5rem; }
.shared-notebook-hero { max-width:720px; margin-bottom:3rem; }
.shared-notebook-hero > p { margin:0 0 .7rem; color:#64776e; font-size:.7rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.shared-notebook-hero h1 { margin:0; color:#223138; font:400 clamp(3.2rem,8vw,6rem)/.95 var(--editorial-font); letter-spacing:-.04em; }
.shared-notebook-hero > div { margin:1.1rem 0; color:#526169; font:400 1.15rem/1.55 var(--editorial-font); }
.shared-notebook-hero small { color:#7b8580; }
.shared-notebook-notes { display:grid; gap:1rem; }
.shared-notebook-notes > article { display:grid; grid-template-columns:54px 1fr; gap:1rem; padding:1.5rem; border:1px solid #d8dad4; border-radius:16px; background:#fffefa; }
.shared-note-number { color:#9a8460; font:400 1.3rem var(--editorial-font); }
.shared-note-copy { margin:0 0 1.1rem; color:#2b3a41; font:400 1.3rem/1.55 var(--editorial-font); white-space:pre-wrap; }
.shared-note-passages { display:grid; gap:.5rem; }
.shared-note-passages a { display:grid; gap:.25rem; padding:.8rem; border-radius:10px; background:#f2f3ef; color:#3d4d54; text-decoration:none; }
.shared-note-passages a:hover { background:#e9ede9; }
.shared-note-passages strong { color:#5b7066; font-size:.68rem; text-transform:uppercase; }
.shared-note-passages span { font:400 .92rem/1.5 var(--editorial-font); }
.shared-notebook-cta { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:1.2rem; margin-top:2rem; padding:1.5rem; border-radius:16px; background:#223238; color:#e9eee9; }
.shared-notebook-cta > span { color:#d1ad5d; }
.shared-notebook-cta h2 { margin:0; font:400 1.35rem var(--editorial-font); }
.shared-notebook-cta p { margin:.25rem 0 0; color:#b7c2bd; font-size:.76rem; }
.shared-notebook-cta a,.shared-notebook-error a { color:inherit; font-weight:600; text-decoration:none; }
.shared-notebook-loading,.shared-notebook-error { padding:5rem 1rem; text-align:center; }
.shared-notebook-loading span,.shared-notebook-error span { color:#ad8a42; font-size:1.5rem; }
.shared-notebook-error h1 { font:400 2.4rem var(--editorial-font); }
.shared-notebook-empty { padding:3rem; border:1px dashed #ccd2ce; border-radius:16px; text-align:center; }
.shared-notebook-empty h2 { font:400 1.8rem var(--editorial-font); }
.reader-verses { font-family: var(--editorial-font); color: #26333a; line-height: 1.78; }
.reader-verse { display: inline; margin: 0; }
.reader-verse::after { content: " "; }
.reader-verse a { margin-right: .28em; color: var(--reader-accent); font: 600 .68em/1 var(--ui-font); text-decoration: none; vertical-align: super; }
.reader-verse:target, .reader-verse.is-focused { border-radius: .16em; background: color-mix(in srgb, var(--reader-accent) 14%, transparent); box-shadow: 0 0 0 .08em color-mix(in srgb, var(--reader-accent) 14%, transparent); -webkit-box-decoration-break: clone; box-decoration-break: clone; scroll-margin-top: 3rem; }
.reading-article.has-reading-return .reader-verse { scroll-margin-top:8rem; }
.reader-verse.is-highlighted { border-radius: .16em; background: rgba(226, 189, 112, .3); box-shadow: 0 0 0 .08em rgba(226, 189, 112, .2); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.reader-verse.is-highlighted.is-focused { background: color-mix(in srgb, var(--reader-accent) 12%, rgba(226, 189, 112, .32)); }
.reader-verse.is-speaking,
.reader-verse.is-highlighted.is-speaking,
.reader-verse.is-focused.is-speaking { border-radius: .16em; background: #e3e6e4; box-shadow: 0 0 0 .1em #e3e6e4; -webkit-box-decoration-break: clone; box-decoration-break: clone; transition: background .18s ease, box-shadow .18s ease; }
.reader-verse:focus-visible { outline: 2px solid color-mix(in srgb, var(--reader-accent) 55%, transparent); outline-offset: 3px; }
.reader-verse:first-child::first-letter { font-size: 1.18em; }
.footnote-marker { min-width: 1.55rem; height: 1.55rem; margin: 0 .12rem 0 .18rem; padding: 0 .3rem; border: 1px solid color-mix(in srgb, var(--reader-accent) 32%, #d4d5d1); border-radius: 999px; background: color-mix(in srgb, var(--reader-accent) 7%, #fff); color: var(--reader-accent); font: 700 .62rem/1 var(--ui-font); vertical-align: super; cursor: pointer; }
.footnote-marker:hover, .footnote-marker:focus-visible { border-color: var(--reader-accent); background: var(--reader-accent); color: #fff; outline: none; }
.source-introduction { margin: 0 0 1.5rem; border: 1px solid #d8d8d1; border-radius: 12px; background: #fffefa; }
.source-introduction > summary, .source-note > summary { display: grid; grid-template-columns: 1fr auto; gap: .2rem 1rem; align-items: center; padding: 1rem 1.15rem; cursor: pointer; list-style: none; }
.source-introduction > summary::-webkit-details-marker, .source-note > summary::-webkit-details-marker { display: none; }
.source-introduction > summary span { color: var(--reader-accent); font: 600 .62rem/1.2 var(--ui-font); letter-spacing: .11em; text-transform: uppercase; }
.source-introduction > summary strong { grid-row: 2; color: #26363e; font: 400 1.2rem/1.2 var(--editorial-font); }
.source-introduction > summary b, .source-note > summary b { grid-column: 2; grid-row: 1 / span 2; width: 8px; height: 8px; margin-right: .25rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; color: var(--reader-accent); transform: rotate(45deg); transition: transform .18s ease; }
.source-introduction[open] > summary b, .source-note[open] > summary b { transform: rotate(225deg); }
.source-introduction > div { padding: .1rem 1.15rem 1.25rem; border-top: 1px solid #e1e0da; }
.source-introduction > div p { color: #46545a; font: 400 .96em/1.65 var(--editorial-font); }
.source-introduction .source-work-title { color: var(--reader-accent); font: 600 .68rem/1.45 var(--ui-font); letter-spacing: .09em; text-transform: uppercase; }
.chapter-source-notes { margin: 0 0 1.5rem; padding: .8rem 1rem; border-left: 3px solid var(--reader-accent); background: #f2efe7; }
.chapter-source-notes p { margin: 0; color: #5f686b; font: 500 .72rem/1.5 var(--ui-font); }
.source-annotations { margin-top: 3rem; border-top: 1px solid #d8d8d2; }
.source-annotations > div { display: flex; justify-content: space-between; gap: 1rem; padding: 1.3rem .15rem .8rem; }
.source-annotations > div p { margin: 0; color: #26363e; font: 400 1.35rem/1.2 var(--editorial-font); }
.source-annotations > div span { color: #788084; font: 500 .68rem/1.5 var(--ui-font); }
.source-note { border-top: 1px solid #e0dfd9; }
.source-note > summary { grid-template-columns: 28px 1fr auto; padding: .9rem .1rem; }
.source-note > summary span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--reader-accent) 10%, #fff); color: var(--reader-accent); font: 700 .62rem var(--ui-font); }
.source-note > summary strong { color: #34434a; font: 600 .82rem/1.4 var(--ui-font); }
.source-note > summary b { grid-column: 3; grid-row: 1; }
.source-note > div { padding: 0 0 1.1rem 2.2rem; }
.source-note > div p { margin: 0; color: #4a575c; font: 400 .93em/1.65 var(--editorial-font); }
.source-note > div a { display: inline-block; margin-top: .65rem; color: var(--reader-accent); font: 600 .64rem/1.4 var(--ui-font); text-decoration: none; text-transform: uppercase; letter-spacing: .08em; }
.reader-loading, .reader-error { min-height: 55vh; display: grid; place-content: center; justify-items: center; text-align: center; }
.reader-loading span, .reader-error > span { color: #c29b50; font-size: 1.8rem; animation: reader-pulse 1s ease-in-out infinite alternate; }
.reader-loading p, .reader-error p { color: #70797d; }
.reader-error h1 { margin: .7rem 0 0; font-size: 2.4rem; }
.reader-error button { margin-top: 1rem; padding: .7rem 1.2rem; border: 1px solid var(--reader-accent); border-radius: 999px; background: transparent; color: var(--reader-accent); cursor: pointer; }
.chapter-nav { position: relative; z-index: 3; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 clamp(1rem, 3vw, 2rem); border-top: 1px solid #dcdedb; background: rgba(255,255,255,.94); backdrop-filter:blur(12px); }
.chapter-nav button { min-height: 44px; display: inline-flex; gap: .6rem; align-items: center; border: 0; background: transparent; color: #2b3940; cursor: pointer; }
.chapter-nav button:first-child { justify-self: start; }
.chapter-nav button:last-child { justify-self: end; }
.chapter-nav button:disabled { opacity: .3; cursor: default; }
.chapter-nav .chapter-list-button { justify-self: center; padding: .55rem 1rem; border: 1px solid #d8dad7; border-radius: 999px; background: #fff; }
.passage-dialog { width: min(680px, calc(100% - 2rem)); max-height: min(760px, calc(100svh - 2rem)); padding: 0; border: 0; border-radius: 18px; background: #fbfaf6; color: #1a2931; box-shadow: 0 30px 90px rgba(6,17,22,.35); }
.passage-dialog::backdrop { background: rgba(5,18,26,.62); backdrop-filter: blur(3px); }
.picker-head { display: flex; justify-content: space-between; align-items: flex-start; padding: 1.5rem 1.5rem 1rem; }
.picker-head p, .picker-label { margin: 0; color: #737d81; font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.picker-head h2 { margin: .1rem 0 0; font-size: 2.6rem; }
.picker-head > button { width: 42px; height: 42px; display:grid; place-items:center; border: 1px solid #dcddd9; border-radius: 50%; background: #fff; color:#536168; cursor: pointer; }
.picker-head > button .ui-icon { width:18px; height:18px; }
.picker-books { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; padding: 0 1.5rem 1.4rem; }
.picker-books button { display: grid; padding: 1rem; border: 1px solid #d8dad6; border-radius: 10px; background: #fff; color: #29373e; text-align: left; cursor: pointer; }
.picker-books button.active { border-color: var(--reader-accent); box-shadow: inset 0 0 0 1px var(--reader-accent); }
.picker-books span { color: #788185; font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }
.picker-books strong { font: 400 1.25rem var(--editorial-font); }
.picker-label { padding: 0 1.5rem .7rem; }
.picker-grid { display: grid; grid-template-columns: repeat(10, 1fr); gap: .4rem; max-height: 330px; overflow-y: auto; padding: 0 1.5rem 1.5rem; }
.picker-grid button { aspect-ratio: 1; min-width: 42px; border: 1px solid #d9dad6; border-radius: 7px; background: #fff; color: #344149; cursor: pointer; }
.picker-grid button:hover { border-color: var(--reader-accent); color: var(--reader-accent); }
.picker-grid button[aria-current="page"] { border-color: var(--reader-accent-strong); background: var(--reader-accent-strong); color: #fff; }
.picker-grid.devotional-grid { grid-template-columns: repeat(2, 1fr); }
.picker-grid.devotional-grid button { aspect-ratio: auto; min-height: 52px; padding: .65rem; text-align: left; }
.library-search { display: block; margin: 0 .35rem .9rem; }
.library-search input { min-height: 40px; padding: .55rem .7rem; border-color: #d6d8d4; border-radius: 8px; background: rgba(255,255,255,.8); font-size: .76rem; }
.library-group + .library-group { margin-top: 1.5rem; }
.library-group > .testament-heading { margin: 0 .7rem .45rem; color: #7a8286; font-size: .64rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.library-group > summary { display: flex; justify-content: space-between; align-items: center; margin: 0 .35rem .45rem; padding: .55rem .4rem; color: #667176; cursor: pointer; list-style: none; }
.library-group > summary::-webkit-details-marker { display: none; }
.library-group > summary span { font-size: .64rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.library-group > summary small { font-size: .62rem; }
.library-group > summary::after { content: ""; width: 7px; height: 7px; margin: -.2rem .2rem 0 .55rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; color: var(--reader-accent); transform: rotate(45deg); transition: transform .18s ease; }
.library-group[open] > summary::after { transform: rotate(225deg); }
.library-empty { padding: 1rem .7rem; color: #747d81; font-size: .78rem; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.share-toast { position: fixed; z-index: 30; top: 82px; right: 1rem; max-width: min(340px, calc(100% - 2rem)); padding: .75rem 1rem; border: 1px solid #d9dad6; border-radius: 999px; background: #102634; color: #fff; box-shadow: 0 12px 36px rgba(6,20,28,.22); font-size: .8rem; opacity: 0; pointer-events: none; transform: translateY(-10px); transition: opacity .2s, transform .2s; }
.share-toast.show { opacity: 1; transform: translateY(0); }

@media (max-width: 760px) {
  .reader-bar { --mobile-header-side: 84px; height: calc(60px + env(safe-area-inset-top)); grid-template-columns: var(--mobile-header-side) minmax(0, 1fr) var(--mobile-header-side); padding: env(safe-area-inset-top) max(.7rem, env(safe-area-inset-right)) 0 max(.7rem, env(safe-area-inset-left)); }
  .reader-brand { display: none; }
  .mobile-library-button { width: 40px; height: 40px; display: grid; place-items: center; justify-self: start; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #26363e; cursor: pointer; line-height: 0; }
  .mobile-library-button svg { width:20px; height:20px; margin: auto; }
  .mobile-library-button:focus-visible { outline: 2px solid var(--reader-accent); outline-offset: 2px; }
  .passage-button { position: relative; min-width: 0; width: 100%; display: block; justify-self: stretch; padding: .3rem 1.35rem; text-align: center; }
  .passage-button span, .passage-button strong { display: block; }
  .passage-button .passage-chevron { position: absolute; top: 50%; right: .15rem; width: 16px; height: 16px; transform: translateY(-50%); }
  .reader-tools { width: var(--mobile-header-side); justify-content: flex-end; gap: 4px; }
  .reader-tools a { display: none; }
  .reader-tools [data-font-down], .reader-tools [data-font-up] { display: none; }
  .reader-tools button { min-width: 40px; height: 40px; margin: 0; padding: 0; line-height: 0; }
  .reader-tools .share-button, .reader-tools .profile-button { width:40px; display:grid; place-items:center; padding:0; border-color:transparent; background:transparent; }
  .reader-tools .share-button .ui-icon, .reader-tools .profile-button .ui-icon { width:20px; height:20px; margin:auto; }
  .reader-tools .share-button .ui-icon { transform: translateY(1px); }
  .profile-label { display: none; }
  .profile-button [data-profile-initials] { width: 30px; height: 30px; }
  .share-label { display: none; }
  .share-toast { top: 70px; }
  .reader-layout { height: calc(100svh - 60px - env(safe-area-inset-top)); display: block; }
  .book-rail { display: none; }
  .reader-main { height: 100%; grid-template-rows: minmax(0, 1fr) calc(58px + env(safe-area-inset-bottom)); }
  .reading-article { width: min(100% - 2.2rem, 680px); padding: 2.3rem 0 5rem; font-size: calc(1.05rem * var(--reading-scale)); }
  .chapter-header { margin-bottom: 1.8rem; }
  .chapter-header > p { margin-bottom:.55rem; font-size:.64rem; }
  .chapter-header h1 { font-size: clamp(2.7rem, 14vw, 4rem); }
  .chapter-summary { margin-top:.9rem; }
  .reader-illustration { margin-bottom: 2rem; border-radius: 11px; }
  .reader-illustration figcaption { right: .55rem; bottom: .55rem; max-width: calc(100% - 1.1rem); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .chapter-audio { grid-template-columns:minmax(0,1fr) auto; gap:.6rem; margin-bottom:1.5rem; padding:.75rem .8rem; border-radius:11px; }
  .chapter-audio-heading { gap:.6rem; }
  .chapter-audio-heading > span { width:30px; height:30px; }
  .chapter-audio h2 { font-size:.9rem; }
  .chapter-audio small { font-size:.6rem; }
  .chapter-audio-action { grid-column:2; align-items:center; flex-direction:row; }
  .chapter-audio-action button { width:auto; min-width:76px; }
  .chapter-audio-progress { grid-template-columns: 1fr; }
  .chapter-audio audio,.chapter-audio-progress,.chapter-audio .chapter-audio-status { grid-column:1 / -1; }
  .reader-auth-dialog, .profile-dialog { width: 100%; max-width: none; margin: auto 0 0; padding: 1.25rem 1.2rem calc(1.25rem + env(safe-area-inset-bottom)); border-radius: 20px 20px 0 0; }
  .reader-auth-fields { grid-template-columns: 1fr 1fr; }
  .study-drawer { top: calc(60px + env(safe-area-inset-top)); width: 100%; padding: 1.15rem 1rem calc(1.5rem + env(safe-area-inset-bottom)); border-left: 0; }
  .study-drawer-head { position: sticky; z-index: 2; top: -1.15rem; margin: -1.15rem -1rem 0; padding: 1rem; background: rgba(255,254,250,.96); backdrop-filter: blur(10px); }
  .verse-action-menu { grid-template-columns:repeat(3,58px); padding:.28rem; border-radius:12px; }
  .verse-action-menu button { min-width:58px; min-height:50px; padding:.3rem; }
  .reading-article.has-reading-return .reader-verse { scroll-margin-top:11rem; }
  .study-verse-actions { grid-template-columns: 1fr 1fr; }
  .reader-verses { line-height: 1.72; }
  .chapter-nav { padding: 0 max(.55rem, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(.55rem, env(safe-area-inset-left)); }
  .chapter-nav button { font-size: .78rem; }
  .chapter-nav .chapter-list-button { padding: .45rem .7rem; }
  .passage-dialog { width: calc(100% - 1rem); max-height: calc(100svh - 1rem); border-radius: 14px; }
  .picker-head { padding: 1.1rem 1.1rem .8rem; }
  .picker-books { padding: 0 1.1rem 1.1rem; }
  .picker-label { padding-left: 1.1rem; }
  .picker-grid { grid-template-columns: repeat(6, 1fr); max-height: 46svh; padding: 0 1.1rem 1.1rem; }
  .picker-grid.devotional-grid { grid-template-columns: 1fr; }
}

.mobile-library-dialog { width: min(620px, calc(100% - 1rem)); max-height: min(760px, calc(100svh - 1rem)); padding: 0; border: 0; border-radius: 18px; background: #fbfaf6; color: #1a2931; box-shadow: 0 30px 90px rgba(6,17,22,.35); }
.mobile-library-dialog::backdrop { background: rgba(5,18,26,.62); backdrop-filter: blur(3px); }
.mobile-library-head { display: flex; justify-content: space-between; align-items: flex-start; padding: 1.3rem 1.25rem .85rem; border-bottom: 1px solid #e0e0da; }
.mobile-library-head p { margin: 0; color: #737d81; font-size: .68rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.mobile-library-head h2 { margin: .15rem 0 0; font-size: 2rem; }
.mobile-library-head button { width: 40px; height: 40px; display:grid; place-items:center; border: 1px solid #dcddd9; border-radius: 50%; background: #fff; color:#536168; cursor: pointer; }
.mobile-library-head button .ui-icon { width:18px; height:18px; }
.mobile-library-search { display: block; padding: 1rem 1.25rem .5rem; }
.mobile-library-search input { width: 100%; min-height: 42px; padding: .6rem .75rem; border: 1px solid #d6d8d4; border-radius: 9px; background: #fff; font: .82rem var(--ui-font); }
.mobile-library-content { max-height: min(570px, calc(100svh - 190px)); overflow-y: auto; padding: .25rem 1rem 1.2rem; }
.mobile-library-group + .mobile-library-group { margin-top: .5rem; }
.mobile-library-group > summary { display: flex; justify-content: space-between; align-items: center; padding: .75rem .5rem; color: #667176; cursor: pointer; list-style: none; }
.mobile-library-group > summary::-webkit-details-marker { display: none; }
.mobile-library-group > summary span { font-size: .68rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.mobile-library-group > summary small { font-size: .66rem; }
.mobile-library-group > summary::after { content: ""; width: 7px; height: 7px; margin: -.2rem .2rem 0 .65rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; color: var(--reader-accent); transform: rotate(45deg); transition: transform .18s ease; }
.mobile-library-group[open] > summary::after { transform: rotate(225deg); }
.mobile-library-group .rail-book { padding: .72rem .65rem; }

@media (min-width: 761px) { .mobile-library-dialog { display: none; } }

@media (max-width: 390px) {
  .reader-bar { --mobile-header-side: 78px; }
  .reading-article { width: calc(100% - 1.6rem); }
  .reader-tools { gap: 2px; }
  .reader-tools button, .reader-tools .share-button, .reader-tools .profile-button { min-width: 38px; width: 38px; height: 38px; }
  .mobile-library-button { width: 38px; height: 38px; }
  .chapter-nav [data-prev-label], .chapter-nav [data-next-label] { display: none; }
  .picker-grid { grid-template-columns: repeat(5, 1fr); }
  .picker-grid.devotional-grid { grid-template-columns: 1fr; }
}

/* Reader library grouping, covers, and saint introductions */
.book-rail { padding-top: 1.6rem; }
.book-rail > .library-title { margin: 0 .7rem 1.5rem; color: #566268; font-size: .76rem; }
.book-rail > .testament-heading { margin: 1.25rem .7rem .45rem; color: #7a8286; font-size: .64rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.rail-book { grid-template-columns: 42px minmax(0, 1fr); gap: .75rem; }
.rail-book > img { width: 42px; height: 56px; border-radius: 4px; object-fit: cover; object-position: center 18%; }
.rail-book > span:last-child { min-width: 0; }
.rail-book small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.reading-article.immersive-cover { width: min(900px, 100%); height: 100%; padding: 0; }
.book-cover-view { position: relative; min-height: 100%; display: grid; align-items: end; overflow: hidden; background: #091d2b; color: #fff; }
.book-cover-view > img { position: absolute; inset: 0; height: 100%; object-fit: cover; object-position: center 24%; }
.book-cover-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,15,22,.96) 0%, rgba(4,15,22,.58) 35%, rgba(4,15,22,.03) 72%); }
.book-cover-copy { position: relative; z-index: 2; padding: clamp(2.2rem, 7vw, 5rem); }
.book-cover-copy > p { margin: 0 0 .5rem; color: #e2bd70; font-size: .72rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.book-cover-copy h1 { margin: 0; font-size: clamp(4.2rem, 10vw, 7.6rem); line-height: .9; letter-spacing: -.055em; }
.book-cover-copy.long-title h1 { max-width: 760px; font-size: clamp(3.2rem, 7vw, 6.2rem); }
.book-cover-copy > span { display: block; margin-top: .7rem; color: rgba(255,255,255,.76); font-family: var(--editorial-font); font-size: 1.05rem; }
.book-cover-actions { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; margin-top: 1.8rem; }
.book-cover-copy button { display: inline-flex; align-items: center; gap: 1.2rem; padding: .85rem 1.15rem; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; background: rgba(7,24,36,.38); color: #fff; cursor: pointer; backdrop-filter: blur(8px); }
.book-cover-copy button:hover { background: #fff; color: #10232e; }
.book-cover-copy button .ui-icon { width: 18px; height: 18px; color: #e2bd70; }
.book-cover-copy .cover-skip-saint { border-color: transparent; background: rgba(7,24,36,.7); color: rgba(255,255,255,.88); }
.saint-reading { max-width: 700px; margin: 0 auto; }
.saint-reading-kicker { margin: 0 0 1rem; color: var(--reader-accent); font-size: .72rem; font-weight: 600; letter-spacing: .15em; text-align: center; text-transform: uppercase; }
.saint-reading > h1 { max-width: 650px; margin: 0 auto 2.5rem; font-size: clamp(3rem, 7vw, 5rem); line-height: 1.02; text-align: center; }
.saint-story { position: relative; margin: 0 0 2.5rem; padding: clamp(1.5rem, 4vw, 2.5rem); overflow: hidden; border: 1px solid #dedbd1; border-radius: 14px; background: linear-gradient(145deg, #fffef9, #f1eee5); }
.saint-story::after { content: ""; position: absolute; top: -70px; right: -70px; width: 180px; height: 180px; border: 1px solid color-mix(in srgb, var(--reader-accent) 24%, transparent); border-radius: 50%; box-shadow: 0 0 0 28px color-mix(in srgb, var(--reader-accent) 5%, transparent); pointer-events: none; }
.saint-story > div { position: relative; z-index: 1; display: flex; gap: .65rem; align-items: center; margin-bottom: 1rem; color: var(--reader-accent); }
.saint-story > div span { color: #c39b4c; }
.saint-story > div p { margin: 0; font-size: .68rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.saint-story > p { position: relative; z-index: 1; margin: 0; color: #34434b; font: 400 clamp(1.08rem, 2vw, 1.25rem)/1.72 var(--editorial-font); }
.saint-story > p::first-letter { float: left; margin: .08em .12em 0 0; color: var(--reader-accent); font: 400 3.8em/.74 var(--editorial-font); }
.saint-facts { position: relative; z-index: 1; display: grid; grid-template-columns: .7fr 1.1fr 1.2fr; margin: 0 0 1.6rem; border-top: 1px solid #d9d6cc; border-bottom: 1px solid #d9d6cc; }
.saint-facts > div { min-width: 0; padding: .85rem .9rem .85rem 0; }
.saint-facts > div + div { padding-left: .9rem; border-left: 1px solid #d9d6cc; }
.saint-facts dt { color: #7a7470; font-size: .58rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.saint-facts dd { margin: .25rem 0 0; color: #2b3a42; font: 400 .82rem/1.35 var(--editorial-font); }
.saint-miracles { position: relative; z-index: 1; margin-top: 1.8rem; padding-top: 1.4rem; border-top: 1px solid #d9d6cc; }
.saint-miracles > div { display: flex; gap: .55rem; align-items: center; margin-bottom: .9rem; color: var(--reader-accent); }
.saint-miracles > div > span { color: #c39b4c; }
.saint-miracles > div > p { margin: 0; font: 600 .64rem/1.4 var(--ui-font); letter-spacing: .12em; text-transform: uppercase; }
.saint-miracles article { padding: 1rem 1.05rem; border: 1px solid color-mix(in srgb, var(--reader-accent) 18%, #dedbd1); border-radius: 10px; background: rgba(255,255,255,.7); }
.saint-miracles article > span { display: block; margin-bottom: .3rem; color: var(--reader-accent); font: 600 .58rem/1.4 var(--ui-font); letter-spacing: .09em; text-transform: uppercase; }
.saint-miracles h3 { margin: 0 0 .45rem; color: #263840; font: 400 1.25rem/1.25 var(--editorial-font); }
.saint-miracles article p { margin: 0; color: #4b585d; font: 400 .96rem/1.6 var(--editorial-font); }
.saint-reading > figure { margin: 0; padding: 2rem clamp(1.3rem, 4vw, 3rem); border-top: 1px solid #d5d5cf; border-bottom: 1px solid #d5d5cf; }
.saint-reading blockquote { margin: 0; color: #26343b; font-size: clamp(1.5rem, 3.5vw, 2.35rem); line-height: 1.3; text-align: center; }
.saint-reading figcaption { display: flex; justify-content: center; gap: .8rem; margin-top: 1.1rem; color: #747d81; font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; }
.saint-reading figcaption a { color: var(--reader-accent); }
.editorial-contemplation { margin-top: 2.5rem; }
.contemplation-label { margin: 0 0 .8rem; color: var(--reader-accent); font-size: .68rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.editorial-contemplation > p:not(.contemplation-label) { margin: 0; font-family: var(--editorial-font); font-size: 1.12em; line-height: 1.75; }
.editorial-contemplation > div { display: grid; grid-template-columns: auto 1fr; gap: .8rem; align-items: start; margin-top: 2rem; padding: 1.3rem; border-radius: 10px; background: #f0eee7; }
.editorial-contemplation > div span { color: #c29b50; }
.editorial-contemplation > div p { margin: 0; font-family: var(--editorial-font); font-size: 1.05em; }
.companion-audio { margin: 0 auto 2.2rem; }
.pastoral-section { padding: 2.4rem 0; border-top: 1px solid #d8d8d1; }
.pastoral-section:first-of-type { border-top: 0; padding-top: .8rem; }
.pastoral-section-number { margin: 0 0 .55rem; color: #78827e; font: 600 .62rem/1.3 var(--ui-font); letter-spacing: .13em; text-transform: uppercase; }
.pastoral-section h2 { margin: 0 0 1.15rem; color: #26343b; font: 400 clamp(1.75rem, 4vw, 2.45rem)/1.12 var(--editorial-font); letter-spacing: -.025em; }
.pastoral-prose { margin: 0; color: #2c393f; font: 400 1.1em/1.82 var(--editorial-font); }
.contemplation-sentence { display: inline; margin: 0; padding: .08em .03em; border: 0; border-radius: .16em; background: transparent; color: inherit; font: inherit; line-height: inherit; text-align: left; cursor: pointer; -webkit-box-decoration-break: clone; box-decoration-break: clone; transition: background .16s ease, box-shadow .16s ease; }
.contemplation-sentence:hover { background: rgba(91,107,99,.09); }
.contemplation-sentence:focus-visible,.contemplation-sentence.is-focused { outline: 0; background: color-mix(in srgb, var(--reader-accent) 12%, transparent); box-shadow: 0 0 0 .09em color-mix(in srgb, var(--reader-accent) 17%, transparent); }
.contemplation-sentence.is-highlighted { background: rgba(226,189,112,.3); box-shadow: 0 0 0 .08em rgba(226,189,112,.2); }
.contemplation-sentence.is-speaking,.contemplation-sentence.is-highlighted.is-speaking,.contemplation-sentence.is-focused.is-speaking { background: #e3e6e4; box-shadow: 0 0 0 .1em #e3e6e4; }
.contemplation-scripture { margin: 1.65rem 0 0; padding: 1.35rem 1.5rem; border: 1px solid #d8dad5; border-radius: 12px; background: #f7f6f1; }
.contemplation-scriptures { margin-top: 2.4rem; padding-top: 1.8rem; border-top: 1px solid #d8d8d1; }
.contemplation-scriptures > h3 { margin: 0 0 1rem; color: #26343b; font: 400 clamp(1.4rem, 3vw, 1.9rem)/1.18 var(--editorial-font); letter-spacing: -.02em; }
.contemplation-scriptures .contemplation-scripture { margin: 0; }
.saint-reading .contemplation-scripture blockquote { margin: 0; font-size: 1.18em; line-height: 1.55; text-align: left; }
.saint-reading .contemplation-scripture figcaption { justify-content: flex-start; align-items: center; margin-top: 1rem; text-align: left; }
.contemplation-scripture figcaption button { display: inline-flex; align-items: center; gap: .35rem; padding: .5rem .7rem; border: 1px solid #cfd3cf; border-radius: 999px; background: #fff; color: #40534b; font: 600 .68rem/1 var(--ui-font); cursor: pointer; }
.contemplation-scripture figcaption button:hover { border-color: #9eaaa4; }
.contemplation-scripture .ui-icon { width: 14px; height: 14px; }
.editorial-contemplation > .contemplation-prompt { margin-top: .6rem; }
.devotional-header h1 { max-width: 760px; }
.devotional-prose { display: grid; gap: 1.1rem; }
.devotional-block { padding: clamp(1.3rem, 3vw, 2rem); border: 1px solid #dddcd5; border-radius: 12px; background: #fffefa; }
.devotional-block h2 { margin: 0 0 .7rem; color: #24343c; font: 400 clamp(1.45rem, 3vw, 2rem) var(--editorial-font); }
.devotional-block > p:last-child { margin: 0; color: #45545c; font: 400 1.04em/1.75 var(--editorial-font); }
.devotional-label { margin: 0 0 .35rem !important; color: var(--reader-accent) !important; font: 600 .68rem var(--ui-font) !important; letter-spacing: .13em; text-transform: uppercase; }
.rosary-today-header { padding-bottom: 1.2rem; border-bottom: 1px solid #d7d5ce; }
.rosary-route { position: relative; display: grid; gap: 1.25rem; }
.rosary-route::before { content: ""; position: absolute; top: 22px; bottom: 22px; left: 17px; width: 1px; background: linear-gradient(#d1a957, #2f6382, #d1a957); opacity: .48; }
.rosary-route-marker { position: relative; z-index: 1; display: flex; align-items: center; gap: .85rem; margin-top: .7rem; }
.rosary-route-marker > span { width: 35px; height: 35px; flex: 0 0 35px; display: grid; place-items: center; border: 1px solid #d1a957; border-radius: 50%; background: #fbfaf6; color: #c1984b; }
.rosary-route-marker p { margin: 0; color: #526169; font-size: .7rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.rosary-prayer-list, .rosary-mystery-list { margin-left: 3.15rem; }
.rosary-prayer, .rosary-mystery-card { position: relative; }
.rosary-prayer::before, .rosary-mystery-card::before { content: ""; position: absolute; top: 1.8rem; left: -2.15rem; width: .55rem; height: .55rem; border: 2px solid #fbfaf6; border-radius: 50%; background: var(--reader-accent); box-shadow: 0 0 0 1px rgba(47,99,130,.35); }
.rosary-prayer.first-prayer { border-color: #c9a557; background: linear-gradient(145deg, #fffef9, #f6efdf); box-shadow: 0 12px 34px rgba(81,61,24,.08); }
.rosary-mystery-intro { margin: 0 0 .2rem 3.15rem; padding: 1rem 1.2rem; border-left: 2px solid #d1a957; color: #59666c; font-family: var(--editorial-font); font-size: 1.04rem; }
.rosary-mystery-card { background: linear-gradient(145deg, #fffefa, #f0f4f6); }
.rosary-scripture-link { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.25rem; padding: .85rem 1rem; border: 1px solid rgba(47,99,130,.28); border-radius: 9px; background: rgba(255,255,255,.72); color: #2f6382; cursor: pointer; text-align: left; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.rosary-scripture-link:hover { border-color: #2f6382; background: #fff; transform: translateY(-1px); }
.rosary-scripture-link span { color: #65747a; font-size: .68rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.rosary-scripture-link strong { display: inline-flex; align-items: center; gap: .45rem; color: #244e67; font: 400 1rem var(--editorial-font); }
.rosary-scripture-link .ui-icon { width: 16px; height: 16px; color: #c1984b; }
.rosary-return { position: sticky; top: .9rem; z-index: 4; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .85rem; align-items: center; margin: 0 0 1.7rem; padding: 1rem 1.15rem; border: 1px solid rgba(47,99,130,.28); border-radius: 10px; background: linear-gradient(135deg, #f2f7f8, #fffcf3); box-shadow: 0 10px 24px rgba(39,58,65,.12); }
.rosary-return > span { color: #c1984b; }
.rosary-return p { margin: 0 0 .2rem; color: #65747a; font-size: .64rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.rosary-return strong { color: #26414f; font: 400 1rem var(--editorial-font); }
.rosary-return button { display: inline-flex; align-items: center; gap: .42rem; padding: .55rem .75rem; border: 1px solid #2f6382; border-radius: 999px; background: #fff; color: #2f6382; cursor: pointer; font: 600 .7rem var(--ui-font); }
.rosary-return button .ui-icon { width: 15px; height: 15px; }
.rosary-return button:hover { background: #2f6382; color: #fff; }
.rosary-cadence { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1.15rem; }
.rosary-cadence span { padding: .32rem .55rem; border: 1px solid rgba(47,99,130,.22); border-radius: 999px; color: #52656f; font-size: .66rem; }
.mystery-marker > span { border-color: #2f6382; color: #2f6382; }
.daily-reader-date { display: inline-grid; gap: .35rem; margin: 1.3rem 0 0; color: #707a7f; font-size: .68rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.daily-reader-date input { min-height: 44px; border-radius: 8px; background: #fff; }
.daily-saint-card { display:grid; grid-template-columns:minmax(190px, 34%) 1fr; min-height:340px; margin:0 0 2rem; overflow:hidden; border:1px solid #dddcd5; border-radius:14px; background:linear-gradient(135deg,#f3f5f2,#fffdf7); }
.daily-saint-card > figure { min-height:340px; margin:0; background:#d9ddd7; }
.daily-saint-card > figure img { width:100%; height:100%; min-height:340px; object-fit:cover; object-position:center 22%; }
.daily-saint-card > div:last-child { align-self:center; padding:clamp(1.6rem,4vw,3rem); }
.daily-saint-card h2 { margin:.2rem 0 .65rem; color:#26363e; font:400 clamp(2rem,4vw,3.4rem)/1 var(--editorial-font); letter-spacing:-.025em; }
.daily-saint-card h2 + span { display:block; margin-bottom:1rem; color:#7b8588; font-size:.72rem; line-height:1.5; }
.daily-saint-card div > p:not(.devotional-label) { margin:.9rem 0 0; color:#4e5b61; font:400 1rem/1.65 var(--editorial-font); }
.daily-saint-card blockquote { margin:1.2rem 0 0; padding-left:1rem; border-left:2px solid #c7a458; color:#526067; font:italic 400 1.05rem/1.55 var(--editorial-font); }
.daily-saint-image-pending { min-height:340px; display:grid; place-items:center; background:radial-gradient(circle at 50% 36%,#f4e5ba,#d9ded9 52%,#bcc9c5); color:#fff; font-size:1.4rem; }
.daily-reader-list { gap: 1.5rem; }
.daily-reader-card { padding: clamp(1.5rem, 4vw, 2.5rem); scroll-margin-top: 1rem; }
.daily-reader-heading { display: flex; justify-content: space-between; align-items: start; gap: 1rem; margin-bottom: 1.2rem; padding-bottom: 1rem; border-bottom: 1px solid #dfded7; }
.daily-reader-heading h2 { margin-bottom: 0; }
.daily-source-citation { display:block; margin-top:.35rem; color:#74808d; font:500 .66rem/1.4 var(--ui-font); letter-spacing:.03em; }
.daily-reader-heading button { flex: 0 0 auto; display: inline-flex; align-items: center; gap: .42rem; padding: .35rem 0; border: 0; background: transparent; color: var(--reader-accent); font-size: .72rem; font-weight: 600; cursor: pointer; }
.daily-reader-heading button .ui-icon { width: 15px; height: 15px; }
.daily-verse-number { margin-right: .35em; color: var(--reader-accent); font: 600 .68em var(--ui-font); vertical-align: super; }
.daily-reading-verse { display:block; margin:0 0 .32em; }
.daily-reading-verse::after { content:none; }
.begin-scripture { margin: 2rem auto 0; display: flex; align-items: center; gap: 1rem; padding: .8rem 1.2rem; border: 1px solid var(--reader-accent-strong); border-radius: 999px; background: var(--reader-accent-strong); color: #fff; cursor: pointer; }
.begin-scripture .ui-icon { width: 17px; height: 17px; }
.picker-start { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; padding: 0 1.5rem 1.3rem; }
.picker-start button { display: flex; gap: .7rem; align-items: center; padding: .8rem 1rem; border: 1px solid #d9dad6; border-radius: 9px; background: #fff; color: #344149; text-align: left; cursor: pointer; }
.picker-start button:hover, .picker-start button.active { border-color: var(--reader-accent); color: var(--reader-accent); }
.picker-start button > span { color: #c29b50; }

@media (max-width: 760px) {
  .reading-article.immersive-cover { width: 100%; padding: 0; }
  .book-cover-view { min-height: 100%; }
  .book-cover-copy { padding: 2rem 1.5rem 2.4rem; }
  .book-cover-copy h1 { font-size: clamp(4rem, 22vw, 6rem); }
  .book-cover-copy.long-title h1 { font-size: clamp(2.8rem, 14vw, 4.5rem); }
  .book-cover-actions { align-items: stretch; flex-direction: column; }
  .book-cover-copy button { width: 100%; justify-content: space-between; }
  .book-cover-view > img { object-position: center 18%; }
  .saint-reading { padding-bottom: 2rem; }
  .saint-reading > h1 { font-size: clamp(2.7rem, 13vw, 4rem); }
  .saint-story { padding: 1.35rem; }
  .saint-story > p { font-size: 1.04rem; }
  .saint-facts { grid-template-columns: 1fr; }
  .saint-facts > div { padding: .65rem 0; }
  .saint-facts > div + div { padding-left: 0; border-top: 1px solid #dfddd5; border-left: 0; }
  .saint-reading figcaption { flex-direction: column; align-items: center; gap: .2rem; }
  .picker-start { padding: 0 1.1rem 1.1rem; }
  .rosary-prayer-list, .rosary-mystery-list, .rosary-mystery-intro { margin-left: 2.35rem; }
  .rosary-prayer::before, .rosary-mystery-card::before { left: -1.75rem; }
  .rosary-scripture-link { align-items: flex-start; flex-direction: column; gap: .35rem; }
  .rosary-return { top: .65rem; grid-template-columns: auto 1fr; }
  .rosary-return button { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 760px) {
  .reader-tools .catalog-tool { display: none; }
  .daily-saint-card { grid-template-columns:1fr; }
  .daily-saint-card > figure, .daily-saint-card > figure img, .daily-saint-image-pending { min-height:300px; max-height:440px; }
  .daily-reader-heading { align-items: flex-start; flex-direction: column; }
}

/* Reader appearance and tablet reading modes */
@media (min-width: 900px) and (max-width: 1366px) and (orientation: landscape) {
  .reading-article.chapter-reading { width: min(1000px, calc(100% - 4rem)); }
  .reading-article.chapter-reading > .reader-verses {
    column-count: 2;
    column-gap: clamp(2.5rem, 5vw, 4.25rem);
    column-rule: 1px solid #dde0dc;
  }
}

html[data-reader-theme="dark"] .reader-app {
  --reader-accent: #a8bcb1;
  --reader-accent-strong: #718f80;
  --reader-accent-soft: #222b27;
  background: #141816;
  color: #e4e9e5;
}
html[data-reader-theme="dark"] .reader-bar { border-color: #303833; background: rgba(20,24,22,.96); box-shadow: 0 1px 0 rgba(255,255,255,.025); }
html[data-reader-theme="dark"] .reader-brand,
html[data-reader-theme="dark"] .passage-button,
html[data-reader-theme="dark"] .mobile-library-button { color: #e4e9e5; }
html[data-reader-theme="dark"] .passage-button span { color: #919d97; }
html[data-reader-theme="dark"] .reader-tools button,
html[data-reader-theme="dark"] .reader-tools a { border-color: #39423d; background: #1d2320; color: #d8dfda; }
html[data-reader-theme="dark"] .profile-button [data-profile-initials] { color: #101512; }
html[data-reader-theme="dark"] .book-rail { border-color: #303833; background: radial-gradient(ellipse 90% 20% at 0 9%, rgba(109,135,121,.14), transparent 73%), radial-gradient(ellipse 95% 23% at 110% 43%, rgba(91,113,102,.13), transparent 74%), radial-gradient(ellipse 82% 18% at -10% 81%, rgba(130,114,90,.08), transparent 72%), #111513; scrollbar-color: #4e5b54 transparent; }
html[data-reader-theme="dark"] .book-rail::-webkit-scrollbar-thumb { background-color: #4e5b54; }
html[data-reader-theme="dark"] .book-rail::-webkit-scrollbar-thumb:hover { background-color: #68776f; }
html[data-reader-theme="dark"] .book-rail > p,
html[data-reader-theme="dark"] .book-rail > .library-title,
html[data-reader-theme="dark"] .library-group > summary,
html[data-reader-theme="dark"] .library-group > .testament-heading { color: #909b96; }
html[data-reader-theme="dark"] .library-search input,
html[data-reader-theme="dark"] .mobile-library-search input { border-color: #354039; background: #1c221f; color: #e4e9e5; }
html[data-reader-theme="dark"] .rail-book { color: #dce3de; }
html[data-reader-theme="dark"] .rail-book:hover { background: #1a211e; }
html[data-reader-theme="dark"] .rail-book.active { border-color: #3c4741; background: #202723; box-shadow: 0 8px 24px rgba(0,0,0,.18); }
html[data-reader-theme="dark"] .rail-book small,
html[data-reader-theme="dark"] .rail-source,
html[data-reader-theme="dark"] .rail-source small { color: #929d97; }
html[data-reader-theme="dark"] .rail-source { border-color: #303833; }
html[data-reader-theme="dark"] .reader-main { background: radial-gradient(ellipse 42% 20% at 0 14%, rgba(97,125,111,.13), transparent 73%), radial-gradient(ellipse 37% 17% at 100% 29%, rgba(130,113,81,.09), transparent 74%), radial-gradient(ellipse 48% 22% at 4% 73%, rgba(83,110,97,.11), transparent 75%), radial-gradient(ellipse 40% 19% at 100% 89%, rgba(103,126,115,.1), transparent 73%), #151a18; }
html[data-reader-theme="dark"] .reading-scroll { background: transparent; }
html[data-reader-theme="dark"] .chapter-header h1,
html[data-reader-theme="dark"] .reader-verses,
html[data-reader-theme="dark"] .source-annotations > div p,
html[data-reader-theme="dark"] .saint-reading > h1,
html[data-reader-theme="dark"] .editorial-contemplation > p,
html[data-reader-theme="dark"] .editorial-contemplation > div p { color: #e7ece8; }
html[data-reader-theme="dark"] .chapter-summary,
html[data-reader-theme="dark"] .reader-loading p,
html[data-reader-theme="dark"] .reader-error p { color: #9ca8a2; }
html[data-reader-theme="dark"] .chapter-bookmark { border-color: #3b453f; background: #1d2421; color: #b8c2bc; }
html[data-reader-theme="dark"] .chapter-audio { border-color: #343d38; background: #1c221f; box-shadow: none; }
html[data-reader-theme="dark"] .chapter-audio h2 { color: #e4e9e5; }
html[data-reader-theme="dark"] .chapter-audio small,
html[data-reader-theme="dark"] .chapter-audio .chapter-audio-status { color: #9ba7a1; }
html[data-reader-theme="dark"] .chapter-audio-heading > span { border-color: #3d4842; background: #252e29; color: #b3c4bb; }
html[data-reader-theme="dark"] .chapter-audio .chapter-audio-action button { border-color: #45514a; background: #242c28; color: #d6dfda; }
html[data-reader-theme="dark"] .chapter-audio .chapter-audio-action button:hover { border-color: #68786f; background: #2b3530; color: #f1f4f2; }
html[data-reader-theme="dark"] .reader-verse.is-highlighted { background: rgba(194,155,80,.28); box-shadow: 0 0 0 .08em rgba(194,155,80,.18); }
html[data-reader-theme="dark"] .reader-verse.is-speaking,
html[data-reader-theme="dark"] .reader-verse.is-highlighted.is-speaking,
html[data-reader-theme="dark"] .reader-verse.is-focused.is-speaking { background: #3a413e; box-shadow: 0 0 0 .1em #3a413e; }
html[data-reader-theme="dark"] .footnote-marker { border-color: #526158; background: #202824; color: #b7c9bf; }
html[data-reader-theme="dark"] .source-introduction,
html[data-reader-theme="dark"] .devotional-block,
html[data-reader-theme="dark"] .saint-story { border-color: #39413d; background: #1b211e; }
html[data-reader-theme="dark"] .saint-story { background: linear-gradient(145deg, #1d2420, #171c1a); }
html[data-reader-theme="dark"] .source-introduction > summary strong,
html[data-reader-theme="dark"] .source-annotations > div p,
html[data-reader-theme="dark"] .source-note > summary strong,
html[data-reader-theme="dark"] .devotional-block h2,
html[data-reader-theme="dark"] .saint-story > p,
html[data-reader-theme="dark"] .saint-facts dd,
html[data-reader-theme="dark"] .saint-miracles h3,
html[data-reader-theme="dark"] .saint-reading blockquote { color: #e0e7e2; }
html[data-reader-theme="dark"] .source-introduction > div,
html[data-reader-theme="dark"] .source-note,
html[data-reader-theme="dark"] .source-annotations,
html[data-reader-theme="dark"] .saint-facts,
html[data-reader-theme="dark"] .saint-facts > div + div,
html[data-reader-theme="dark"] .saint-miracles,
html[data-reader-theme="dark"] .saint-reading > figure,
html[data-reader-theme="dark"] .rosary-today-header,
html[data-reader-theme="dark"] .daily-reader-heading { border-color: #39413d; }
html[data-reader-theme="dark"] .source-introduction > div p,
html[data-reader-theme="dark"] .source-note > div p,
html[data-reader-theme="dark"] .devotional-block > p:last-child,
html[data-reader-theme="dark"] .saint-miracles article p,
html[data-reader-theme="dark"] .editorial-contemplation,
html[data-reader-theme="dark"] .rosary-mystery-intro { color: #b7c1bb; }
html[data-reader-theme="dark"] .chapter-source-notes,
html[data-reader-theme="dark"] .editorial-contemplation > div { background: #202620; }
html[data-reader-theme="dark"] .pastoral-section { border-color: #39413d; }
html[data-reader-theme="dark"] .pastoral-section h2,
html[data-reader-theme="dark"] .pastoral-prose { color: #e0e7e2; }
html[data-reader-theme="dark"] .pastoral-section-number { color: #929d97; }
html[data-reader-theme="dark"] .contemplation-sentence:hover { background: rgba(255,255,255,.06); }
html[data-reader-theme="dark"] .contemplation-sentence.is-highlighted { background: rgba(194,155,80,.28); box-shadow: 0 0 0 .08em rgba(194,155,80,.18); }
html[data-reader-theme="dark"] .contemplation-sentence.is-speaking,
html[data-reader-theme="dark"] .contemplation-sentence.is-highlighted.is-speaking,
html[data-reader-theme="dark"] .contemplation-sentence.is-focused.is-speaking { background: #3a413e; box-shadow: 0 0 0 .1em #3a413e; }
html[data-reader-theme="dark"] .contemplation-scripture { border-color: #3d4942; background: #1d2420; }
html[data-reader-theme="dark"] .contemplation-scriptures { border-color: #39413d; }
html[data-reader-theme="dark"] .contemplation-scriptures > h3 { color: #e0e7e2; }
html[data-reader-theme="dark"] .contemplation-scripture figcaption button { border-color: #46524c; background: #252d29; color: #d5ddd8; }
html[data-reader-theme="dark"] .chapter-source-notes p { color: #aeb9b3; }
html[data-reader-theme="dark"] .source-note > summary span { background: #252f2a; }
html[data-reader-theme="dark"] .saint-facts dt,
html[data-reader-theme="dark"] .saint-reading figcaption,
html[data-reader-theme="dark"] .source-annotations > div span { color: #929d97; }
html[data-reader-theme="dark"] .saint-miracles article { border-color: #3d4942; background: rgba(255,255,255,.025); }
html[data-reader-theme="dark"] .devotional-block.rosary-prayer.first-prayer,
html[data-reader-theme="dark"] .rosary-mystery-card { background: linear-gradient(145deg, #1e2521, #19211f); }
html[data-reader-theme="dark"] .rosary-route-marker > span { border-color: #8f7749; background: #171c1a; }
html[data-reader-theme="dark"] .rosary-prayer::before,
html[data-reader-theme="dark"] .rosary-mystery-card::before { border-color: #151a18; }
html[data-reader-theme="dark"] .rosary-route-marker p,
html[data-reader-theme="dark"] .rosary-scripture-link span,
html[data-reader-theme="dark"] .rosary-cadence span { color: #a2aea8; }
html[data-reader-theme="dark"] .rosary-scripture-link,
html[data-reader-theme="dark"] .rosary-return { border-color: #3c5149; background: #1d2622; color: #b9cdc2; }
html[data-reader-theme="dark"] .rosary-scripture-link strong,
html[data-reader-theme="dark"] .rosary-return strong { color: #dce7e1; }
html[data-reader-theme="dark"] .rosary-return p { color: #9aa7a1; }
html[data-reader-theme="dark"] .rosary-return button { border-color: #76998a; background: #202824; color: #c1d2c9; }
html[data-reader-theme="dark"] .daily-saint-card { border-color:#39413d; background:linear-gradient(135deg,#202824,#171c19); }
html[data-reader-theme="dark"] .daily-saint-card h2 { color:#edf2ee; }
html[data-reader-theme="dark"] .daily-saint-card h2 + span,
html[data-reader-theme="dark"] .daily-saint-card div > p:not(.devotional-label),
html[data-reader-theme="dark"] .daily-saint-card blockquote { color:#aab4af; }
html[data-reader-theme="dark"] .daily-reader-date { color: #9aa59f; }
html[data-reader-theme="dark"] .daily-reader-date input { border-color: #3b453f; background: #1d2421; color: #e4e9e5; }
html[data-reader-theme="dark"] .chapter-nav { border-color: #303833; background: rgba(22,27,24,.97); }
html[data-reader-theme="dark"] .reading-progress span { background:#9aada4; }
html[data-reader-theme="dark"] .chapter-nav button { color: #dbe2dd; }
html[data-reader-theme="dark"] .chapter-nav .chapter-list-button { border-color: #3b453f; background: #1d2421; }
html[data-reader-theme="dark"] .passage-dialog,
html[data-reader-theme="dark"] .mobile-library-dialog,
html[data-reader-theme="dark"] .reader-auth-dialog,
html[data-reader-theme="dark"] .profile-dialog,
html[data-reader-theme="dark"] .study-drawer { border-color: #38413c; background: #191f1c; color: #e4e9e5; }
html[data-reader-theme="dark"] .verse-action-menu { border-color:#435164; background:rgba(18,26,36,.97); box-shadow:0 12px 34px rgba(0,0,0,.4); }
html[data-reader-theme="dark"] .verse-action-menu::after { border-color:#435164; background:#121a24; }
html[data-reader-theme="dark"] .verse-action-menu button { color:#c6d0db; }
html[data-reader-theme="dark"] .verse-action-menu button:hover,html[data-reader-theme="dark"] .verse-action-menu button:focus-visible { background:#253343; color:#f1f4f7; }
html[data-reader-theme="dark"] .verse-action-menu button.is-active { background:#413824; color:#e1c47f; }
html[data-reader-theme="dark"] .picker-head > button,
html[data-reader-theme="dark"] .mobile-library-head button,
html[data-reader-theme="dark"] .reader-auth-head button,
html[data-reader-theme="dark"] .study-drawer-head > button,
html[data-reader-theme="dark"] .picker-books button,
html[data-reader-theme="dark"] .picker-grid button,
html[data-reader-theme="dark"] .picker-start button,
html[data-reader-theme="dark"] .profile-text-settings button,
html[data-reader-theme="dark"] .profile-menu-item,
html[data-reader-theme="dark"] .study-verse-actions button,
html[data-reader-theme="dark"] .study-note-selections article,
html[data-reader-theme="dark"] .study-note-actions button,
html[data-reader-theme="dark"] .study-item { border-color: #3a443e; background: #202723; color: #dfe6e1; }
html[data-reader-theme="dark"] .reader-auth-dialog input,
html[data-reader-theme="dark"] .study-note-composer textarea { border-color: #3a443e; background: #111613; color: #e4e9e5; }
html[data-reader-theme="dark"] .profile-theme-settings,
html[data-reader-theme="dark"] .profile-text-settings,
html[data-reader-theme="dark"] .profile-app-info,
html[data-reader-theme="dark"] .mobile-library-head,
html[data-reader-theme="dark"] .study-drawer-head,
html[data-reader-theme="dark"] .study-selected-verse { border-color: #38413c; }
html[data-reader-theme="dark"] .profile-theme-settings > div { border-color: #3a443e; background: #111613; }
html[data-reader-theme="dark"] .profile-theme-settings button { color: #9ea9a3; }
html[data-reader-theme="dark"] .profile-theme-settings button.active { background: #303a35; color: #f0f4f1; box-shadow: 0 2px 8px rgba(0,0,0,.22); }
html[data-reader-theme="dark"] .profile-app-info > div { border-color:#3a443e; background:#171d19; }
html[data-reader-theme="dark"] .profile-app-info strong { color:#e1e7e3; }
html[data-reader-theme="dark"] .profile-signed-out p,
html[data-reader-theme="dark"] .profile-identity p,
html[data-reader-theme="dark"] .profile-menu-item small,
html[data-reader-theme="dark"] .study-note-selections article p,
html[data-reader-theme="dark"] .study-item span,
html[data-reader-theme="dark"] .reader-auth-deck,
html[data-reader-theme="dark"] .verification-sent { color: #9ba7a1; }
html[data-reader-theme="dark"] .profile-hero-icon { background: #242e29; }
html[data-reader-theme="dark"] .study-selected-verse blockquote { color: #d7dfda; }
html[data-reader-theme="dark"] .study-note-title > span { background: #252c28; color: #a4afa9; }
html[data-reader-theme="dark"] .study-note-selections > p { border-color: #3a443e; color: #97a29c; }
html[data-reader-theme="dark"] .study-drawer-head { background: rgba(25,31,28,.96); }
html[data-reader-theme="dark"] .study-verse-actions button.is-active { border-color:#8f7d59; background:#29271f; color:#d8c79f; }
html[data-reader-theme="dark"] .note-notebook-field select,
html[data-reader-theme="dark"] .notebook-dialog,
html[data-reader-theme="dark"] .notebook-current-head input,
html[data-reader-theme="dark"] .notebook-current-head textarea { border-color:#3a443e; background:#191f1c; color:#e4e9e5; }
html[data-reader-theme="dark"] .notebook-dialog-head,
html[data-reader-theme="dark"] .notebook-current-head,
html[data-reader-theme="dark"] .notebook-saved-reading { border-color:#38413c; }
html[data-reader-theme="dark"] .notebook-dialog-head > button,
html[data-reader-theme="dark"] .notebook-sidebar nav > button.active,
html[data-reader-theme="dark"] .new-notebook-form,
html[data-reader-theme="dark"] .new-notebook-form button,
html[data-reader-theme="dark"] .notebook-current-head button,
html[data-reader-theme="dark"] .notebook-bulk-bar button,
html[data-reader-theme="dark"] .notebook-bulk-bar select,
html[data-reader-theme="dark"] .notebook-note-card { border-color:#3a443e; background:#202723; color:#dfe6e1; }
html[data-reader-theme="dark"] .notebook-sidebar { border-color:#38413c; background:#161c19; }
html[data-reader-theme="dark"] .notebook-sidebar nav > button { color:#d9e1dc; }
html[data-reader-theme="dark"] .notebook-sidebar nav > button:hover { background:#202723; }
html[data-reader-theme="dark"] .new-notebook-form input { border-color:#3a443e; background:#111613; color:#e4e9e5; }
html[data-reader-theme="dark"] .notebook-bulk-bar { border-color:#3a443e; background:#202822; }
html[data-reader-theme="dark"] .notebook-note-card.selected { border-color:#768d82; background:#25302b; }
html[data-reader-theme="dark"] .notebook-note-card p { color:#d8e0db; }
html[data-reader-theme="dark"] .notebook-empty { border-color:#3a443e; color:#9ca7a1; }
html[data-reader-theme="dark"] .notebook-empty strong { color:#e0e6e2; }

@media (max-width: 760px) {
  .notebook-dialog { width:100%; height:100dvh; border-radius:0; }
  .notebook-dialog-head { height:68px; padding:0 1rem; }
  .notebook-dialog-head h2 { font-size:1.45rem; }
  .notebook-workspace { height:calc(100% - 68px); display:block; overflow-y:auto; }
  .notebook-sidebar { overflow:visible; padding:.9rem 1rem; border-right:0; border-bottom:1px solid #dcdfdc; }
  .notebook-sidebar nav { display:flex; overflow-x:auto; padding-bottom:.2rem; scrollbar-width:none; }
  .notebook-sidebar nav::-webkit-scrollbar { display:none; }
  .notebook-sidebar nav > button { width:auto; min-width:150px; flex:0 0 auto; }
  .notebook-main { overflow:visible; padding:1rem 1rem 6rem; }
  .notebook-current-head { grid-template-columns:1fr; }
  .notebook-current-head > div:last-child { justify-content:flex-start; }
  .notebook-current-head input { font-size:1.7rem; }
  .notebook-bulk-bar { flex-wrap:wrap; }
  .notebook-bulk-bar strong { width:100%; }
  .notebook-bulk-bar select { max-width:none; flex:1; }
  .notebook-saved-reading [data-notebook-saved-reading] { grid-template-columns:1fr; }
  .shared-notebook-bar { height:auto; align-items:flex-start; padding:1rem; }
  .shared-notebook-bar > div { flex-wrap:wrap; justify-content:flex-end; }
  .shared-notebook-page main { padding-top:3rem; }
  .shared-notebook-notes > article { grid-template-columns:1fr; }
  .shared-note-number { font-size:.8rem; }
  .shared-notebook-cta { grid-template-columns:auto 1fr; }
  .shared-notebook-cta a { grid-column:2; }
}

@media (min-width: 900px) and (max-width: 1366px) and (orientation: landscape) {
  html[data-reader-theme="dark"] .reading-article.chapter-reading > .reader-verses { column-rule-color: #343d38; }
}

/* Ink blue, graphite, and antique gold palette */
:root {
  --blue-950:#0d1b2a;
  --blue-900:#15263a;
  --blue-800:#223a54;
  --blue-700:#334e70;
  --blue-600:#526e91;
  --blue-100:#eaf0f6;
  --gray-950:#18212b;
  --gray-800:#303b47;
  --gray-600:#687380;
  --gray-300:#d8dde4;
  --gray-100:#f1f3f5;
  --gold-600:#a9843e;
  --gold-500:#c2a15e;
  --gold-300:#ddc58f;
}

/* Marketing and companion pages */
.marketing-page { background:#f7f6f2; color:var(--gray-950); }
.marketing-page .site-header { background:rgba(21,38,58,.96); }
.marketing-page .button { border-color:var(--gold-500); background:var(--gold-500); color:#152033; }
.marketing-page .button:hover { background:#d4b776; }
.seasonal-hero { background:var(--blue-900); }
.seasonal-art::after { background:linear-gradient(90deg,rgba(21,38,58,.36),transparent 24%),linear-gradient(0deg,rgba(13,27,42,.78),transparent 32%); }
.pathway,.companion-story,.marketing-page .complete-catalog { background:#f7f6f2; }
.pathway-heading > p:last-child,.section-heading > p,.capability-intro > p,.prayer-copy > p,.feature-row p { color:var(--gray-600); }
.pathway-steps,.companion-story dl,.feature-row { border-color:rgba(34,58,84,.18); }
.pathway-steps article,.companion-story dl div,.feature-row article + article { border-color:rgba(34,58,84,.18); }
.pathway-steps span,.companion-story dt,.story-prose aside span { color:var(--gold-600); }
.pathway-steps p,.companion-story dd,.story-prose > p,.story-prose aside p { color:#4e5c6b; }
.saint-paths,.companion-features { background:#e9e7e1; }
.saint-path-card { background:var(--blue-800); }
.saint-path-card::after { background:linear-gradient(0deg,rgba(13,27,42,.95),rgba(13,27,42,.04) 60%); }
.saint-path-card span,.capability-grid svg,.capability-intro .text-link { color:var(--gold-300); stroke:var(--gold-300); }
.reader-capabilities,.companion-hero,.pairing { background:var(--blue-900); }
.prayer-library { background:#efede7; }
.prayer-copy .text-link,.prayer-covers a { color:var(--blue-700); }
.marketing-page .complete-catalog-heading h2 { color:var(--blue-900); }
.closing-call { background:radial-gradient(circle at 50% 0,rgba(194,161,94,.2),transparent 32%),var(--blue-950); }
.marketing-page footer { background:#091522; }
.story-prose aside { border-color:rgba(34,58,84,.2); background:#fff; }
.matthew-theme { --wine:var(--blue-600); --gold:var(--gold-500); }
.matthew-theme .site-header,.matthew-hero,.saint-matthew { background:var(--blue-900); }
.matthew-theme .button-light { border-color:var(--blue-700); background:var(--blue-700); }
.matthew-card .card-meta { color:var(--blue-600) !important; }

/* Reader: quiet paper, slate controls, blue focus, gold emphasis */
.reader-app {
  --reader-accent:var(--blue-600);
  --reader-accent-strong:var(--blue-700);
  --reader-accent-soft:var(--blue-100);
  background:#f8f7f4;
  color:var(--gray-950);
}
.reader-bar { border-color:var(--gray-300); background:rgba(248,247,244,.97); box-shadow:0 1px 0 rgba(13,27,42,.035); }
.reader-brand,.passage-button { color:var(--blue-950); }
.passage-button span { color:var(--gray-600); }
.reader-tools button,.reader-tools a { border-color:var(--gray-300); background:#fbfaf7; color:#354354; }
.profile-button.is-signed-in { border-color:color-mix(in srgb,var(--blue-600) 42%,var(--gray-300)); }
.book-rail {
  border-color:var(--gray-300);
  background:radial-gradient(ellipse 88% 20% at 0 8%,rgba(255,255,255,.76),transparent 72%),radial-gradient(ellipse 90% 23% at 110% 42%,rgba(119,145,176,.14),transparent 74%),radial-gradient(ellipse 80% 18% at -10% 78%,rgba(255,255,255,.6),transparent 72%),#eef1f4;
  scrollbar-color:#a9b3bf transparent;
}
.book-rail::-webkit-scrollbar-thumb { background:#a9b3bf; }
.book-rail::-webkit-scrollbar-thumb:hover { background:#7f8c9b; }
.rail-book { color:#263545; }
.rail-book.active { border-color:#ccd4de; background:#fcfbf8; box-shadow:0 8px 24px rgba(25,43,64,.07); }
.rail-book small,.rail-source small { color:#737f8c; }
.rail-source { border-color:#d2d8df; color:#4e5b69; }
.reader-main { background:radial-gradient(ellipse 40% 19% at 1% 13%,rgba(105,137,176,.1),transparent 73%),radial-gradient(ellipse 34% 17% at 98% 29%,rgba(194,161,94,.1),transparent 74%),radial-gradient(ellipse 46% 21% at 5% 72%,rgba(121,143,169,.08),transparent 75%),radial-gradient(ellipse 39% 18% at 99% 88%,rgba(100,130,165,.08),transparent 73%),#faf9f6; }
.chapter-header h1,.reader-verses,.saint-reading > h1 { color:#243344; }
.chapter-summary { color:#66727f; }
.chapter-bookmark { border-color:#d4dae1; color:#4f5f70; }
.chapter-audio { border-color:#d7dde4; background:#f0f3f6; }
.chapter-audio-heading > span { border-color:#cbd4de; background:#e4eaf0; color:var(--blue-600); }
.chapter-audio h2 { color:#29394a; }
.chapter-audio p,.chapter-audio small,.chapter-audio .chapter-audio-status { color:#6b7785; }
.chapter-audio .chapter-audio-action button { border-color:#c5cfda; background:#fbfcfd; color:var(--blue-700); }
.chapter-audio .chapter-audio-action button:hover { border-color:#91a4b9; color:#243c57; }
.reader-auth-dialog button[type="submit"]:hover,.profile-primary:hover { background:#2d4765; box-shadow:0 9px 22px rgba(34,58,84,.18); }
.reader-verse.is-speaking,.reader-verse.is-highlighted.is-speaking,.reader-verse.is-focused.is-speaking,
.contemplation-sentence.is-speaking,.contemplation-sentence.is-highlighted.is-speaking,.contemplation-sentence.is-focused.is-speaking { background:#e6e9ed; box-shadow:0 0 0 .1em #e6e9ed; }
.source-introduction,.devotional-block,.saint-story { border-color:#d7dce3; background:#f6f5f1; }
.saint-story { background:linear-gradient(145deg,#f5f3ee,#eceff3); }
.chapter-source-notes,.editorial-contemplation > div { background:#eef1f4; }
.pastoral-section,.source-introduction > div,.source-note,.source-annotations,.saint-facts,.saint-facts > div + div,.saint-miracles,.saint-reading > figure,.rosary-today-header,.daily-reader-heading { border-color:#d7dce3; }
.contemplation-scripture { border-color:#d5dce5; background:#f4f6f8; }
.devotional-block.rosary-prayer.first-prayer,.rosary-mystery-card { background:linear-gradient(145deg,#f4f6f8,#eef1f5); }
.rosary-scripture-link,.rosary-return { border-color:#cbd6e2; background:#f2f5f8; color:var(--blue-700); }
.rosary-scripture-link strong,.rosary-return strong { color:#253a52; }
.daily-saint-card { border-color:#d4dbe3; background:linear-gradient(135deg,#f5f6f8,#eceff3); }
.daily-saint-card > figure { background:#dce2e8; }
.daily-saint-image-pending { background:radial-gradient(circle at 50% 36%,#f4e5ba,#dbe2e9 52%,#aebdcc); }
.chapter-nav { border-color:var(--gray-300); background:rgba(248,247,244,.97); }
.chapter-nav button { color:#334355; }
.chapter-nav .chapter-list-button { border-color:#d3dae2; background:#fbfaf7; }

/* Account, study, notebook, and share surfaces */
.reader-auth-dialog,.profile-dialog,.study-drawer,.notebook-dialog { color:#263545; background:#fbfaf7; }
.reader-auth-dialog::backdrop,.profile-dialog::backdrop,.notebook-dialog::backdrop { background:rgba(13,27,42,.62); }
.profile-menu-item,.study-verse-actions button,.study-note-selections article,.study-note-actions button,.study-item,.new-notebook-form,.new-notebook-form button,.notebook-current-head button,.notebook-bulk-bar button,.notebook-note-card { border-color:#d6dce3; background:#fff; color:#334355; }
.study-verse-actions button.is-active { border-color:#b89a61; background:#f4efe4; color:#6d5932; }
.notebook-sidebar { border-color:#d6dce3; background:#eef1f4; }
.notebook-sidebar nav > button { color:#34465a; }
.notebook-sidebar nav > button.active { border-color:#cbd4de; background:#fff; box-shadow:0 7px 18px rgba(31,52,76,.08); }
.notebook-current-head [data-share-notebook] { border-color:var(--blue-700); background:var(--blue-700); }
.notebook-notes-head input,.notebook-note-card input { accent-color:var(--blue-600); }
.notebook-bulk-bar { border-color:#d1d9e2; background:#edf1f5; }
.notebook-note-card.selected { border-color:#90a5bc; background:#eff4f9; }
.notebook-note-meta strong,.notebook-note-card button,.notebook-status { color:var(--blue-600); }
.notebook-sidebar-title button,.notebook-bulk-bar select { border-color:#ccd5df; color:#3c5067; }
.notebook-empty strong { color:#35485d; }
.shared-notebook-page { background:#f3f2ee; color:#263545; }
.shared-notebook-bar { border-color:#d6dbe2; background:rgba(251,250,247,.92); }
.shared-notebook-bar a { color:#263545; }
.shared-notebook-bar button,.shared-notebook-bar > div a { border-color:#cfd6df; color:#394b5f; }
.shared-notebook-hero > p { color:var(--blue-600); }
.shared-notebook-hero h1 { color:var(--blue-900); }
.shared-notebook-hero > div { color:#4f5e6e; }
.shared-notebook-notes > article { border-color:#d6dce3; background:#fbfaf7; }
.shared-note-passages a { background:#eef2f6; color:#3d4e61; }
.shared-note-passages a:hover { background:#e3e9ef; }
.shared-note-passages strong { color:var(--blue-600); }
.shared-notebook-cta { background:var(--blue-900); color:#eef2f6; }
.shared-notebook-cta > span { color:var(--gold-500); }
.shared-notebook-cta p { color:#bdc8d3; }
.contemplation-sentence:hover { background:rgba(82,110,145,.09); }
.contemplation-scripture figcaption button { border-color:#cbd4de; color:#3b5068; }

/* Dark reader: graphite foundations with blue controls and warm gold accents */
html[data-reader-theme="dark"] .reader-app {
  --reader-accent:#86a2c3;
  --reader-accent-strong:#6484aa;
  --reader-accent-soft:#202f40;
  background:#10161d;
  color:#e7ebef;
}
html[data-reader-theme="dark"] .reader-bar { border-color:#2d3946; background:rgba(16,22,29,.97); }
html[data-reader-theme="dark"] .reader-brand,
html[data-reader-theme="dark"] .passage-button,
html[data-reader-theme="dark"] .mobile-library-button { color:#e7ebef; }
html[data-reader-theme="dark"] .passage-button span { color:#98a4b1; }
html[data-reader-theme="dark"] .reader-tools button,
html[data-reader-theme="dark"] .reader-tools a { border-color:#344150; background:#1a2430; color:#dbe2e9; }
html[data-reader-theme="dark"] .profile-button [data-profile-initials] { color:#101820; }
html[data-reader-theme="dark"] .book-rail { border-color:#2d3946; background:radial-gradient(ellipse 90% 20% at 0 9%,rgba(80,112,150,.16),transparent 73%),radial-gradient(ellipse 95% 23% at 110% 43%,rgba(60,87,119,.15),transparent 74%),radial-gradient(ellipse 82% 18% at -10% 81%,rgba(164,132,73,.07),transparent 72%),#0e151d; scrollbar-color:#455568 transparent; }
html[data-reader-theme="dark"] .book-rail::-webkit-scrollbar-thumb { background-color:#455568; }
html[data-reader-theme="dark"] .book-rail::-webkit-scrollbar-thumb:hover { background-color:#617186; }
html[data-reader-theme="dark"] .book-rail > p,
html[data-reader-theme="dark"] .book-rail > .library-title,
html[data-reader-theme="dark"] .library-group > summary,
html[data-reader-theme="dark"] .library-group > .testament-heading { color:#96a2af; }
html[data-reader-theme="dark"] .library-search input,
html[data-reader-theme="dark"] .mobile-library-search input { border-color:#344150; background:#151e28; color:#e7ebef; }
html[data-reader-theme="dark"] .rail-book { color:#dce3ea; }
html[data-reader-theme="dark"] .rail-book:hover { background:#172330; }
html[data-reader-theme="dark"] .rail-book.active { border-color:#3c4d60; background:#1b2734; box-shadow:0 8px 24px rgba(0,0,0,.2); }
html[data-reader-theme="dark"] .rail-book small,
html[data-reader-theme="dark"] .rail-source,
html[data-reader-theme="dark"] .rail-source small { color:#929eaa; }
html[data-reader-theme="dark"] .rail-source { border-color:#2d3946; }
html[data-reader-theme="dark"] .reader-main { background:radial-gradient(ellipse 42% 20% at 0 14%,rgba(74,108,149,.15),transparent 73%),radial-gradient(ellipse 37% 17% at 100% 29%,rgba(158,126,68,.08),transparent 74%),radial-gradient(ellipse 48% 22% at 4% 73%,rgba(61,91,127,.12),transparent 75%),radial-gradient(ellipse 40% 19% at 100% 89%,rgba(71,101,138,.1),transparent 73%),#111820; }
html[data-reader-theme="dark"] .chapter-header h1,
html[data-reader-theme="dark"] .reader-verses,
html[data-reader-theme="dark"] .source-annotations > div p,
html[data-reader-theme="dark"] .saint-reading > h1,
html[data-reader-theme="dark"] .editorial-contemplation > p,
html[data-reader-theme="dark"] .editorial-contemplation > div p { color:#e5eaf0; }
html[data-reader-theme="dark"] .chapter-summary,
html[data-reader-theme="dark"] .reader-loading p,
html[data-reader-theme="dark"] .reader-error p { color:#9aa6b3; }
html[data-reader-theme="dark"] .chapter-bookmark { border-color:#394758; background:#18222d; color:#bdc7d2; }
html[data-reader-theme="dark"] .chapter-audio { border-color:#344150; background:#17212c; }
html[data-reader-theme="dark"] .chapter-audio h2 { color:#e5eaf0; }
html[data-reader-theme="dark"] .chapter-audio-heading > span { border-color:#405064; background:#202d3b; color:#a9bdd4; }
html[data-reader-theme="dark"] .chapter-audio .chapter-audio-action button { border-color:#46586c; background:#1d2a37; color:#d8e1ea; }
html[data-reader-theme="dark"] .chapter-audio .chapter-audio-action button:hover { border-color:#6f87a2; background:#263647; color:#f2f5f8; }
html[data-reader-theme="dark"] .profile-hero-icon { background:#202e3d; color:#9db4cf; }
html[data-reader-theme="dark"] .profile-primary:hover,
html[data-reader-theme="dark"] .reader-auth-dialog button[type="submit"]:hover { background:#526f91; }
html[data-reader-theme="dark"] .reader-verse.is-speaking,
html[data-reader-theme="dark"] .reader-verse.is-highlighted.is-speaking,
html[data-reader-theme="dark"] .reader-verse.is-focused.is-speaking,
html[data-reader-theme="dark"] .contemplation-sentence.is-speaking,
html[data-reader-theme="dark"] .contemplation-sentence.is-highlighted.is-speaking,
html[data-reader-theme="dark"] .contemplation-sentence.is-focused.is-speaking { background:#303a46; box-shadow:0 0 0 .1em #303a46; }
html[data-reader-theme="dark"] .source-introduction,
html[data-reader-theme="dark"] .devotional-block,
html[data-reader-theme="dark"] .saint-story { border-color:#344150; background:#161f2a; }
html[data-reader-theme="dark"] .saint-story { background:linear-gradient(145deg,#192431,#121b25); }
html[data-reader-theme="dark"] .chapter-source-notes,
html[data-reader-theme="dark"] .editorial-contemplation > div { background:#19232f; }
html[data-reader-theme="dark"] .footnote-marker { border-color:#4a5d73; background:#1b2835; color:#aec1d7; }
html[data-reader-theme="dark"] .source-note > summary span { background:#202d3b; }
html[data-reader-theme="dark"] .pastoral-section,
html[data-reader-theme="dark"] .source-introduction > div,
html[data-reader-theme="dark"] .source-note,
html[data-reader-theme="dark"] .source-annotations,
html[data-reader-theme="dark"] .saint-facts,
html[data-reader-theme="dark"] .saint-facts > div + div,
html[data-reader-theme="dark"] .saint-miracles,
html[data-reader-theme="dark"] .saint-reading > figure,
html[data-reader-theme="dark"] .rosary-today-header,
html[data-reader-theme="dark"] .daily-reader-heading { border-color:#344150; }
html[data-reader-theme="dark"] .contemplation-scripture { border-color:#3b4b5e; background:#18232f; }
html[data-reader-theme="dark"] .contemplation-scriptures { border-color:#344150; }
html[data-reader-theme="dark"] .contemplation-scriptures > h3 { color:#e5eaf0; }
html[data-reader-theme="dark"] .devotional-block.rosary-prayer.first-prayer,
html[data-reader-theme="dark"] .rosary-mystery-card { background:linear-gradient(145deg,#192431,#131d27); }
html[data-reader-theme="dark"] .rosary-route-marker > span { border-color:#9f834c; background:#121b25; }
html[data-reader-theme="dark"] .rosary-prayer::before,
html[data-reader-theme="dark"] .rosary-mystery-card::before { border-color:#111820; }
html[data-reader-theme="dark"] .rosary-scripture-link,
html[data-reader-theme="dark"] .rosary-return { border-color:#40556d; background:#172431; color:#aec1d7; }
html[data-reader-theme="dark"] .rosary-return button { border-color:#6c88a8; background:#1b2835; color:#c7d5e3; }
html[data-reader-theme="dark"] .daily-saint-card { border-color:#344150; background:linear-gradient(135deg,#1a2633,#121b25); }
html[data-reader-theme="dark"] .daily-reader-date input { border-color:#39495b; background:#18232f; color:#e5eaf0; }
html[data-reader-theme="dark"] .reading-progress span { background:#86a2c3; }
html[data-reader-theme="dark"] .chapter-nav { border-color:#2d3946; background:rgba(16,23,31,.97); }
html[data-reader-theme="dark"] .chapter-nav button { color:#dce3eb; }
html[data-reader-theme="dark"] .chapter-nav .chapter-list-button { border-color:#394758; background:#18222d; }
html[data-reader-theme="dark"] .passage-dialog,
html[data-reader-theme="dark"] .mobile-library-dialog,
html[data-reader-theme="dark"] .reader-auth-dialog,
html[data-reader-theme="dark"] .profile-dialog,
html[data-reader-theme="dark"] .study-drawer,
html[data-reader-theme="dark"] .notebook-dialog { border-color:#344150; background:#121a24; color:#e5eaf0; }
html[data-reader-theme="dark"] .picker-head > button,
html[data-reader-theme="dark"] .mobile-library-head button,
html[data-reader-theme="dark"] .reader-auth-head button,
html[data-reader-theme="dark"] .study-drawer-head > button,
html[data-reader-theme="dark"] .picker-books button,
html[data-reader-theme="dark"] .picker-grid button,
html[data-reader-theme="dark"] .picker-start button,
html[data-reader-theme="dark"] .profile-text-settings button,
html[data-reader-theme="dark"] .profile-menu-item,
html[data-reader-theme="dark"] .study-verse-actions button,
html[data-reader-theme="dark"] .study-note-selections article,
html[data-reader-theme="dark"] .study-note-actions button,
html[data-reader-theme="dark"] .study-item,
html[data-reader-theme="dark"] .notebook-dialog-head > button,
html[data-reader-theme="dark"] .notebook-sidebar nav > button.active,
html[data-reader-theme="dark"] .new-notebook-form,
html[data-reader-theme="dark"] .new-notebook-form button,
html[data-reader-theme="dark"] .notebook-current-head button,
html[data-reader-theme="dark"] .notebook-bulk-bar button,
html[data-reader-theme="dark"] .notebook-bulk-bar select,
html[data-reader-theme="dark"] .notebook-note-card { border-color:#354456; background:#1a2531; color:#dfe5eb; }
html[data-reader-theme="dark"] .reader-auth-dialog input,
html[data-reader-theme="dark"] .study-note-composer textarea,
html[data-reader-theme="dark"] .new-notebook-form input,
html[data-reader-theme="dark"] .note-notebook-field select,
html[data-reader-theme="dark"] .notebook-current-head input,
html[data-reader-theme="dark"] .notebook-current-head textarea { border-color:#354456; background:#0f1720; color:#e5eaf0; }
html[data-reader-theme="dark"] .profile-theme-settings > div { border-color:#354456; background:#0f1720; }
html[data-reader-theme="dark"] .profile-theme-settings button { color:#9ba7b4; }
html[data-reader-theme="dark"] .profile-theme-settings button.active { background:#273646; color:#f1f4f7; }
html[data-reader-theme="dark"] .profile-app-info > div { border-color:#354456; background:#151f2a; }
html[data-reader-theme="dark"] .profile-app-info strong { color:#e2e8ee; }
html[data-reader-theme="dark"] .profile-signed-out p,
html[data-reader-theme="dark"] .profile-identity p,
html[data-reader-theme="dark"] .profile-menu-item small,
html[data-reader-theme="dark"] .study-note-selections article p,
html[data-reader-theme="dark"] .study-item span,
html[data-reader-theme="dark"] .reader-auth-deck,
html[data-reader-theme="dark"] .verification-sent { color:#9aa7b4; }
html[data-reader-theme="dark"] .study-selected-verse blockquote,
html[data-reader-theme="dark"] .notebook-note-card p { color:#dbe3eb; }
html[data-reader-theme="dark"] .study-note-title > span { background:#202c39; color:#a7b4c1; }
html[data-reader-theme="dark"] .study-drawer-head { background:rgba(18,26,36,.97); }
html[data-reader-theme="dark"] .notebook-sidebar { border-color:#344150; background:#101821; }
html[data-reader-theme="dark"] .notebook-sidebar nav > button { color:#d9e1e9; }
html[data-reader-theme="dark"] .notebook-sidebar nav > button:hover { background:#1a2531; }
html[data-reader-theme="dark"] .notebook-bulk-bar { border-color:#354456; background:#192633; }
html[data-reader-theme="dark"] .notebook-note-card.selected { border-color:#6683a4; background:#213247; }

@media (min-width:900px) and (max-width:1366px) and (orientation:landscape) {
  .reading-article.chapter-reading > .reader-verses { column-rule-color:#d7dce3; }
  html[data-reader-theme="dark"] .reading-article.chapter-reading > .reader-verses { column-rule-color:#344150; }
}

/* Responsive reading layouts */
.reader-tools .layout-button { width:auto; display:inline-flex; gap:.4rem; padding:0 .8rem; border-radius:999px; }
.reader-tools .layout-button .ui-icon { width:18px; height:18px; }
.reader-tools .layout-button.is-active { border-color:var(--reader-accent); background:var(--reader-accent-soft); color:var(--reader-accent-strong); }
.reader-tools .pencil-button { width:auto; display:inline-flex; gap:.4rem; padding:0 .8rem; border-radius:999px; }
.reader-tools .pencil-button[hidden] { display:none; }
.reader-tools .pencil-button .ui-icon { width:18px; height:18px; }
.reader-tools .pencil-button.is-active { border-color:#a27d3a; background:#f7f0df; color:#745b29; }
.reading-article { position:relative; }
.reading-scroll { position:relative; }
.pencil-layer { position:absolute; z-index:6; top:0; right:0; left:0; width:100%; overflow:visible; pointer-events:none; }
.reading-scroll.pencil-active,.reading-scroll.pencil-active * { touch-action:none; }
.reading-scroll.pencil-active { cursor:crosshair; }
.pencil-layer path { fill:none; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.pencil-layer path.is-located { animation:located-ink 2.6s ease-out; }
@keyframes located-ink { 0%,28% { opacity:1; filter:drop-shadow(0 0 5px rgba(213,180,111,.95)); stroke-width:6px; } 100% { filter:none; } }
.pencil-toolbar { position:absolute; z-index:9; right:clamp(.75rem,2.5vw,2rem); bottom:76px; max-width:min(720px,calc(100% - 1.5rem)); min-height:54px; display:flex; align-items:center; gap:.55rem; padding:.5rem .55rem .5rem .85rem; border:1px solid rgba(116,128,142,.42); border-radius:18px; background:rgba(250,249,245,.94); color:#263747; box-shadow:0 16px 44px rgba(22,34,48,.18); backdrop-filter:blur(18px); font-family:var(--ui-font); }
.pencil-toolbar[hidden] { display:none; }
.pencil-toolbar-copy { min-width:180px; display:grid; gap:.12rem; padding-right:.35rem; }
.pencil-toolbar-copy strong { color:#263747; font-size:.76rem; }
.pencil-toolbar-copy small { color:#71808e; font-size:.61rem; line-height:1.25; }
.pencil-toolbar > button { min-height:38px; display:inline-flex; align-items:center; gap:.3rem; padding:.45rem .65rem; border:1px solid #d4d9df; border-radius:999px; background:#fff; color:#425264; cursor:pointer; font:600 .67rem/1 var(--ui-font); }
.pencil-toolbar > button:disabled { opacity:.38; cursor:default; }
.pencil-toolbar > button .ui-icon { width:16px; height:16px; }
.pencil-toolbar .pencil-done { border-color:#354f6d; background:#354f6d; color:#fff; }
.pencil-colors { display:flex; align-items:center; gap:.32rem; padding:.28rem; border:1px solid #d8dde2; border-radius:999px; background:#f4f5f5; }
.pencil-colors button { width:24px; height:24px; padding:0; border:3px solid #f4f5f5; border-radius:50%; box-shadow:0 0 0 1px rgba(31,46,61,.18); cursor:pointer; }
.pencil-colors button[data-pencil-color="#355d86"] { background:#355d86; }
.pencil-colors button[data-pencil-color="#a27d3a"] { background:#a27d3a; }
.pencil-colors button[data-pencil-color="#34414c"] { background:#34414c; }
.pencil-colors button.is-selected { box-shadow:0 0 0 2px #fff,0 0 0 4px #7890aa; }
.pencil-save-error { color:#8a4e4e !important; }
.profile-layout-settings { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; padding-top:1rem; border-top:1px solid #e0e1dd; color:#68757b; font-size:.75rem; }
.profile-layout-settings > div { display:flex; padding:.2rem; border:1px solid #d8dad7; border-radius:999px; background:#f2f3ef; }
.profile-layout-settings button { min-height:34px; padding:.35rem .65rem; border:0; border-radius:999px; background:transparent; color:#5c696f; cursor:pointer; font-size:.68rem; }
.profile-layout-settings button.active { background:#fff; color:#26363e; box-shadow:0 2px 8px rgba(34,48,63,.1); }

html[data-reader-layout="single"] .reading-article.chapter-reading { width:min(760px,calc(100% - 3rem)); }
html[data-reader-layout="single"] .reading-article.chapter-reading > .reader-verses { column-count:1; column-rule:0; }

@media (min-width:761px) {
  html[data-reader-layout="spread"] .reading-article.chapter-reading { width:min(1120px,calc(100% - 4rem)); }
  html[data-reader-layout="spread"] .reading-article.chapter-reading > .reader-verses { column-count:2; column-gap:clamp(2.5rem,5vw,4.5rem); column-rule:1px solid #d7dce3; }
  html[data-reader-theme="dark"][data-reader-layout="spread"] .reading-article.chapter-reading > .reader-verses { column-rule-color:#344150; }
}

@media (min-width:640px) and (orientation:landscape) {
  html[data-reader-layout="auto"] .reading-article.chapter-reading { width:min(1120px,calc(100% - 3rem)); }
  html[data-reader-layout="auto"] .reading-article.chapter-reading > .reader-verses { column-count:2; column-gap:clamp(2rem,5vw,4.5rem); column-rule:1px solid #d7dce3; }
  html[data-reader-theme="dark"][data-reader-layout="auto"] .reading-article.chapter-reading > .reader-verses { column-rule-color:#344150; }
}

@media (max-width:1100px) and (min-width:761px) {
  .reader-tools .layout-button { width:42px; padding:0; justify-content:center; }
  .reader-tools .layout-button span { display:none; }
  .reader-tools .pencil-button { width:42px; padding:0; justify-content:center; }
  .reader-tools .pencil-button span { display:none; }
}

@media (max-width:760px) {
  .reader-tools .layout-button { display:none; }
  .reader-tools .pencil-button { width:38px; min-width:38px; height:38px; padding:0; justify-content:center; border-color:transparent; background:transparent; }
  .reader-tools .pencil-button span { display:none; }
  .pencil-toolbar { right:.5rem; bottom:72px; left:.5rem; max-width:none; min-height:52px; justify-content:center; padding:.45rem; border-radius:16px; }
  .pencil-toolbar-copy { min-width:0; }
  .pencil-toolbar-copy strong { font-size:.68rem; }
  .pencil-toolbar-copy small { display:none; }
  .pencil-toolbar > button { width:36px; min-height:36px; justify-content:center; padding:0; }
  .pencil-toolbar > button span { display:none; }
  .pencil-toolbar .pencil-done { width:auto; padding:0 .7rem; }
  .profile-layout-settings { display:none; }
}

html[data-reader-theme="dark"] .profile-layout-settings { border-color:#344150; color:#9aa7b4; }
html[data-reader-theme="dark"] .profile-layout-settings > div { border-color:#354456; background:#0f1720; }
html[data-reader-theme="dark"] .profile-layout-settings button { color:#9ba7b4; }
html[data-reader-theme="dark"] .profile-layout-settings button.active { background:#273646; color:#f1f4f7; box-shadow:0 2px 8px rgba(0,0,0,.22); }
html[data-reader-theme="dark"] .reader-tools .pencil-button.is-active { border-color:#b59451; background:#2f2b20; color:#dec27d; }
html[data-reader-theme="dark"] .pencil-toolbar { border-color:#3e4c5d; background:rgba(18,26,36,.94); color:#dbe3eb; box-shadow:0 16px 44px rgba(0,0,0,.34); }
html[data-reader-theme="dark"] .pencil-toolbar-copy strong { color:#e5ebf1; }
html[data-reader-theme="dark"] .pencil-toolbar-copy small { color:#9aa8b7; }
html[data-reader-theme="dark"] .pencil-toolbar > button { border-color:#435161; background:#202c39; color:#dbe3eb; }
html[data-reader-theme="dark"] .pencil-toolbar .pencil-done { border-color:#7893b2; background:#7893b2; color:#101820; }
html[data-reader-theme="dark"] .pencil-colors { border-color:#435161; background:#17212c; }
html[data-reader-theme="dark"] .pencil-colors button { border-color:#17212c; }

/* My Studies: book-like study management inside the reader */
.study-library-group { margin-bottom:.65rem; padding-bottom:.65rem; border-bottom:1px solid rgba(82,110,145,.2); }
.study-rail-book .study-rail-icon { width:36px; height:44px; display:grid; place-items:center; border:1px solid #c9d4df; border-radius:8px; background:linear-gradient(145deg,#edf2f7,#dfe7ef); color:var(--blue-700); }
.study-rail-book .study-rail-icon .ui-icon { width:19px; height:19px; }
.study-rail-book.active .study-rail-icon { border-color:#8ca3bc; background:var(--blue-700); color:#fff; }
.reading-article.studies-reading { width:min(1160px,calc(100% - 4rem)); padding:clamp(2.5rem,5vw,4.5rem) 0 5rem; font-size:1rem; }
.studies-page { min-height:100%; color:#263545; font-family:var(--ui-font); }
.studies-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,420px); align-items:end; gap:1.5rem 3rem; padding-bottom:2rem; border-bottom:1px solid #d8dee5; }
.studies-hero > p { grid-column:1 / -1; margin:0 0 -.8rem; color:var(--gold-600); font-size:.68rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; }
.studies-hero h1 { margin:0; color:var(--blue-950); font:400 clamp(3rem,6vw,5rem)/.95 var(--editorial-font); letter-spacing:-.035em; }
.studies-hero > div { color:#657381; font:400 1rem/1.65 var(--editorial-font); }
.studies-section-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.55rem; margin:1.4rem 0 1.8rem; }
.studies-section-nav button { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:.5rem; min-height:48px; padding:.7rem .85rem; border:1px solid #d6dde5; border-radius:12px; background:#fbfaf7; color:#536273; cursor:pointer; font:600 .73rem/1.2 var(--ui-font); }
.studies-section-nav button small { min-width:25px; padding:.25rem .4rem; border-radius:999px; background:#edf1f5; color:#6b7987; font-size:.62rem; text-align:center; }
.studies-section-nav button.active { border-color:#718ca9; background:#eaf0f6; color:#294b70; box-shadow:0 7px 18px rgba(31,52,76,.07); }
.studies-section-nav button.active small { background:#294b70; color:#fff; }
.studies-panel { min-height:420px; }
.notebooks-study-panel .notebook-workspace { height:auto; min-height:620px; overflow:hidden; border:1px solid #d6dde5; border-radius:16px; background:#fbfaf7; box-shadow:0 16px 40px rgba(31,52,76,.06); }
.notebooks-study-panel .notebook-sidebar { max-height:760px; }
.notebooks-study-panel .notebook-main { overflow:visible; }
.notebooks-study-panel .notebook-saved-reading { display:none; }
.studies-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.studies-saved-card { min-width:0; display:grid; grid-template-columns:auto minmax(0,1fr); gap:.8rem 1rem; align-items:start; padding:1.15rem; border:1px solid #d7dee6; border-radius:14px; background:#fbfaf7; box-shadow:0 8px 24px rgba(31,52,76,.045); }
.studies-card-mark { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:#eaf0f6; color:var(--gold-600); }
.studies-saved-card > div:nth-child(2) { min-width:0; }
.studies-saved-card p { margin:0 0 .3rem; color:var(--blue-600); font-size:.6rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.studies-saved-card h2 { margin:0; overflow:hidden; color:#293949; font:400 1.3rem/1.2 var(--editorial-font); text-overflow:ellipsis; }
.studies-saved-card time,.studies-saved-card small { display:block; margin-top:.35rem; color:#7a8793; font-size:.64rem; }
.studies-card-actions { grid-column:2; display:flex; align-items:center; gap:.8rem; }
.studies-card-actions button,.studies-card-actions a { display:inline-flex; align-items:center; gap:.3rem; padding:0; border:0; background:transparent; color:var(--blue-700); cursor:pointer; font:600 .67rem/1.2 var(--ui-font); text-decoration:none; }
.studies-card-actions .ui-icon { width:14px; height:14px; }
.studies-card-actions .studies-remove { margin-left:auto; color:#8a5960; }
.handwritten-preview { width:84px; height:64px; display:grid; grid-row:1 / 3; place-items:center; overflow:hidden; border:1px solid #d5dce4; border-radius:10px; background:linear-gradient(#f8f6ef 19px,#dce2e8 20px,#f8f6ef 21px); background-size:100% 21px; }
.handwritten-preview svg { width:72px; height:46px; fill:none; stroke:#355d86; stroke-width:2.2; stroke-linecap:round; opacity:.75; }
.handwritten-study-card { grid-template-columns:auto minmax(0,1fr); }
.handwritten-study-card .studies-card-actions { grid-column:2; }
.studies-empty { min-height:360px; display:grid; place-items:center; align-content:center; gap:.7rem; padding:2rem; border:1px dashed #cfd8e1; border-radius:16px; color:#667583; text-align:center; }
.studies-empty > span { color:var(--gold-500); font-size:1.5rem; }
.studies-empty > p { margin:0; color:var(--blue-600); font-size:.65rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.studies-empty h1,.studies-empty h2 { max-width:680px; margin:0; color:var(--blue-950); font:400 clamp(2.2rem,5vw,4.3rem)/1 var(--editorial-font); }
.studies-empty > div,.studies-empty > p:last-of-type { max-width:570px; margin:0; font:400 1rem/1.6 var(--editorial-font); }
.studies-empty button { min-height:42px; margin-top:.5rem; padding:.65rem 1rem; border:1px solid var(--blue-700); border-radius:999px; background:var(--blue-700); color:#fff; cursor:pointer; font-weight:600; }

@media (max-width:900px) {
  .reading-article.studies-reading { width:min(100% - 2rem,760px); }
  .studies-hero { grid-template-columns:1fr; }
  .studies-hero > p { margin-bottom:-.5rem; }
  .studies-section-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .studies-card-grid { grid-template-columns:1fr; }
  .notebooks-study-panel .notebook-workspace { min-height:0; }
}
@media (max-width:600px) {
  .programs-showcase { padding-right:1.25rem; padding-left:1.25rem; }
  .home-program-card { display:block; }
  .home-program-card > img { aspect-ratio:16/10; }
  .reading-article.studies-reading { width:calc(100% - 1.25rem); padding:1.8rem 0 4rem; }
  .studies-hero { gap:1rem; padding:0 .35rem 1.5rem; }
  .studies-hero h1 { font-size:2.8rem; }
  .studies-section-nav { display:flex; overflow-x:auto; margin:1rem -.2rem 1.25rem; padding:.2rem; scrollbar-width:none; }
  .studies-section-nav::-webkit-scrollbar { display:none; }
  .studies-section-nav button { min-width:135px; flex:0 0 auto; }
  .studies-saved-card { padding:1rem; }
  .notebooks-study-panel .notebook-workspace { border-radius:12px; }
}

html[data-reader-theme="dark"] .study-library-group { border-color:#314050; }
html[data-reader-theme="dark"] .study-rail-book .study-rail-icon { border-color:#405166; background:linear-gradient(145deg,#202c39,#18222d); color:#9bb2cc; }
html[data-reader-theme="dark"] .study-rail-book.active .study-rail-icon { background:#6685a8; color:#0f1822; }
html[data-reader-theme="dark"] .studies-page { color:#dfe6ed; }
html[data-reader-theme="dark"] .studies-hero { border-color:#344150; }
html[data-reader-theme="dark"] .studies-hero h1,html[data-reader-theme="dark"] .studies-empty h1,html[data-reader-theme="dark"] .studies-empty h2 { color:#edf1f5; }
html[data-reader-theme="dark"] .studies-hero > div,html[data-reader-theme="dark"] .studies-empty { color:#9eabb8; }
html[data-reader-theme="dark"] .studies-section-nav button,html[data-reader-theme="dark"] .studies-saved-card,html[data-reader-theme="dark"] .notebooks-study-panel .notebook-workspace { border-color:#344150; background:#151f2a; color:#aeb9c5; }
html[data-reader-theme="dark"] .studies-section-nav button small,html[data-reader-theme="dark"] .studies-card-mark { background:#202e3c; color:#c4a866; }
html[data-reader-theme="dark"] .studies-section-nav button.active { border-color:#6685a8; background:#213247; color:#c7d6e6; }
html[data-reader-theme="dark"] .studies-section-nav button.active small { background:#7895b5; color:#101923; }
html[data-reader-theme="dark"] .studies-saved-card h2 { color:#e4eaf0; }
html[data-reader-theme="dark"] .handwritten-preview { border-color:#3b4a59; background:linear-gradient(#1b2632 19px,#344150 20px,#1b2632 21px); background-size:100% 21px; }
html[data-reader-theme="dark"] .handwritten-preview svg { stroke:#9bb5d2; }
html[data-reader-theme="dark"] .studies-empty { border-color:#3b4a59; }

/* Programs: guided reading paths with saved progress */
.reading-article.programs-reading { width:min(1160px,calc(100% - 4rem)); padding:clamp(2.5rem,5vw,4.5rem) 0 6rem; font-size:1rem; }
.programs-page,.program-detail { color:#263545; font-family:var(--ui-font); }
.programs-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,430px); align-items:end; gap:1.5rem 3rem; padding-bottom:2.2rem; border-bottom:1px solid #d8dee5; }
.programs-hero > p,.program-collection > div > p,.program-detail header > div > p { grid-column:1/-1; margin:0; color:var(--gold-600); font-size:.68rem; font-weight:650; letter-spacing:.15em; text-transform:uppercase; }
.programs-hero h1 { margin:0; color:var(--blue-950); font:400 clamp(3.5rem,7vw,6rem)/.92 var(--editorial-font); letter-spacing:-.045em; }
.programs-hero > div { color:#657381; font:400 1rem/1.7 var(--editorial-font); }
.program-collection { padding-top:2.5rem; }
.program-collection > div:first-child { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:1.15rem; }
.program-collection h2 { margin:.25rem 0 0; color:var(--blue-950); font:400 2.25rem/1.05 var(--editorial-font); }
.program-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.program-card { min-width:0; display:grid; grid-template-columns:92px minmax(0,1fr); overflow:hidden; border:1px solid #d7dee6; border-radius:15px; background:#fbfaf7; box-shadow:0 8px 24px rgba(31,52,76,.05); }
.program-card > img { width:92px; height:100%; min-height:270px; object-fit:cover; }
.program-card > div { min-width:0; display:flex; align-items:flex-start; flex-direction:column; padding:1.1rem; }
.program-card p { margin:0 0 .4rem; color:var(--gold-600); font-size:.59rem; font-weight:650; letter-spacing:.1em; text-transform:uppercase; }
.program-card h2 { margin:0; color:var(--blue-950); font:400 1.65rem/1 var(--editorial-font); }
.program-card strong { margin-top:.3rem; color:var(--blue-700); font:400 .86rem/1.3 var(--editorial-font); }
.program-card > div > span { margin-top:.7rem; color:#657381; font-size:.73rem; line-height:1.5; }
.program-card small { display:block; margin-top:.55rem; color:#788591; font-size:.61rem; line-height:1.4; }
.program-card button,.program-start { min-height:38px; display:inline-flex; align-items:center; gap:.35rem; margin-top:auto; padding:.6rem .85rem; border:1px solid var(--blue-700); border-radius:999px; background:var(--blue-700); color:#fff; cursor:pointer; font:650 .68rem/1 var(--ui-font); }
.program-card button { margin-top:1rem; }
.program-card .ui-icon,.program-start .ui-icon { width:14px; height:14px; }
.program-card-progress { width:100%; height:4px; margin-top:.8rem; overflow:hidden; border-radius:999px; background:#e2e7eb; }
.program-card-progress i { height:100%; display:block; border-radius:inherit; background:var(--gold-500); }
.program-back { display:inline-flex; align-items:center; gap:.35rem; margin:0 0 1.4rem; padding:0; border:0; background:transparent; color:var(--blue-700); cursor:pointer; font:650 .7rem var(--ui-font); }
.program-back .ui-icon { width:15px; height:15px; }
.program-detail > header { display:grid; grid-template-columns:minmax(0,1fr) 230px; gap:clamp(2rem,6vw,5rem); align-items:center; padding:2.5rem; border-radius:20px; background:#15263a; color:#fff; overflow:hidden; }
.program-detail header h1 { margin:.45rem 0 .2rem; font:400 clamp(3rem,6vw,5.5rem)/.9 var(--editorial-font); letter-spacing:-.045em; }
.program-detail header h2 { margin:0; color:#d5b46f; font:400 1.4rem/1.25 var(--editorial-font); }
.program-detail header > div > div { max-width:680px; margin-top:1rem; color:#bdc8d2; font:400 1rem/1.65 var(--editorial-font); }
.program-detail header > img { width:100%; aspect-ratio:2/3; object-fit:cover; border-radius:8px; box-shadow:0 20px 50px rgba(0,0,0,.3); }
.program-start { margin-top:1.35rem; border-color:#d5b46f; background:#d5b46f; color:#142338; }
.program-membership { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.5rem; padding:1rem; border:1px solid rgba(255,255,255,.2); border-radius:12px; }
.program-membership label { display:flex; align-items:flex-start; gap:.7rem; cursor:pointer; }
.program-membership input { margin-top:.2rem; accent-color:#d5b46f; }
.program-membership label span { display:grid; gap:.15rem; }
.program-membership label strong { color:#fff; font-size:.72rem; }
.program-membership label small { color:#aebbc7; font-size:.62rem; line-height:1.4; }
.program-membership > button { padding:0; border:0; background:transparent; color:#d6bd86; cursor:pointer; font:600 .64rem var(--ui-font); }
.program-progress { display:grid; grid-template-columns:auto 1fr; gap:.65rem 1.5rem; align-items:center; margin:1.5rem 0; padding:1.15rem 1.3rem; border:1px solid #d7dee6; border-radius:14px; background:#fbfaf7; }
.program-progress > div:first-child { display:grid; }
.program-progress span { color:var(--blue-600); font-size:.58rem; font-weight:650; letter-spacing:.1em; text-transform:uppercase; }
.program-progress strong { margin-top:.18rem; color:var(--blue-950); font:400 1.25rem var(--editorial-font); }
.program-progress > div:nth-child(2) { height:7px; overflow:hidden; border-radius:999px; background:#e4e9ed; }
.program-progress i { height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,var(--blue-700),var(--gold-500)); }
.program-progress p { grid-column:1/-1; margin:0; color:#6d7a87; font-size:.72rem; }
.program-days { display:grid; gap:.6rem; }
.program-day { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:1rem; align-items:center; padding:1.1rem; border:1px solid #d9dfe5; border-radius:14px; background:#fbfaf7; }
.program-day.is-next { border-color:#7894b2; box-shadow:0 8px 26px rgba(45,76,109,.08); }
.program-day.is-complete { background:#f1f3f4; }
.program-day-check { width:40px; height:40px; display:grid; place-items:center; padding:0; border:1px solid #c8d1da; border-radius:50%; background:#fff; color:var(--blue-700); cursor:pointer; font-weight:700; }
.program-day.is-complete .program-day-check { border-color:var(--blue-700); background:var(--blue-700); color:#fff; }
.program-day-check:disabled { opacity:.45; cursor:not-allowed; }
.program-day > div { min-width:0; }
.program-day p { margin:0 0 .18rem; color:var(--gold-600); font-size:.57rem; font-weight:650; letter-spacing:.1em; text-transform:uppercase; }
.program-day h3 { margin:0; color:var(--blue-950); font:400 1.35rem/1.1 var(--editorial-font); }
.program-day strong { display:block; margin-top:.2rem; color:var(--blue-700); font:600 .7rem var(--ui-font); }
.program-day > div > span { display:block; margin-top:.45rem; color:#697784; font:400 .82rem/1.45 var(--editorial-font); }
.program-reading-link { display:inline-flex; align-items:center; gap:.35rem; padding:.65rem .85rem; border:1px solid #cdd6de; border-radius:999px; background:#fff; color:var(--blue-700); cursor:pointer; font:650 .67rem var(--ui-font); }
.program-reading-link .ui-icon { width:14px; height:14px; }
.program-status { min-height:1.4rem; color:var(--blue-700); font-size:.72rem; }
.program-library-group { margin-bottom:.65rem; padding-bottom:.65rem; border-bottom:1px solid rgba(82,110,145,.2); }

@media (max-width:1000px) {
  .program-grid { grid-template-columns:1fr; }
  .program-card { grid-template-columns:110px minmax(0,1fr); }
  .program-card > img { width:110px; min-height:230px; }
}
@media (max-width:760px) {
  .reading-article.programs-reading { width:calc(100% - 1.25rem); padding:1.5rem 0 4rem; }
  .programs-hero { grid-template-columns:1fr; padding:.35rem .35rem 1.5rem; }
  .programs-hero h1 { font-size:3.2rem; }
  .program-detail > header { grid-template-columns:1fr; padding:1.4rem; }
  .program-detail header > img { width:min(190px,55vw); grid-row:1; }
  .program-membership { align-items:flex-start; flex-direction:column; }
  .program-progress { grid-template-columns:1fr; }
  .program-progress p { grid-column:1; }
  .program-day { grid-template-columns:auto minmax(0,1fr); }
  .program-reading-link { grid-column:2; justify-self:start; }
}

html[data-reader-theme="dark"] .programs-page,html[data-reader-theme="dark"] .program-detail { color:#dfe6ed; }
html[data-reader-theme="dark"] .programs-hero { border-color:#344150; }
html[data-reader-theme="dark"] .programs-hero h1,html[data-reader-theme="dark"] .program-collection h2,html[data-reader-theme="dark"] .program-card h2,html[data-reader-theme="dark"] .program-progress strong,html[data-reader-theme="dark"] .program-day h3 { color:#edf1f5; }
html[data-reader-theme="dark"] .programs-hero > div,html[data-reader-theme="dark"] .program-card > div > span,html[data-reader-theme="dark"] .program-day > div > span { color:#9eabb8; }
html[data-reader-theme="dark"] .program-card,html[data-reader-theme="dark"] .program-progress,html[data-reader-theme="dark"] .program-day { border-color:#344150; background:#151f2a; }
html[data-reader-theme="dark"] .program-day.is-complete { background:#1a2530; }
html[data-reader-theme="dark"] .program-day-check,html[data-reader-theme="dark"] .program-reading-link { border-color:#435161; background:#202c39; color:#c7d6e6; }
html[data-reader-theme="dark"] .program-card-progress,html[data-reader-theme="dark"] .program-progress > div:nth-child(2) { background:#2d3b49; }
