/* TaleLamp — the book layer: covers, shelves, chapters, the live book. Shared by the library pages and the PL home.
   Tokens extend style.css ("Dwanaście Księżyców"). Nothing here is a card with a border: paper sheets, night bands, books. */
:root {
  --r-page: 4px; --r-book: 3px 10px 10px 3px; --r-btn: 999px;
  --sh-page: 0 1px 0 rgba(27,36,71,.06), 0 12px 24px -12px rgba(27,36,71,.25);
  --sh-book: -14px 22px 40px -10px rgba(27,36,71,.55), inset 0 0 0 1px rgba(255,255,255,.06);
  --sh-lift: -18px 34px 56px -12px rgba(27,36,71,.6);
  --ease-book: cubic-bezier(.2,.7,.2,1); --t-fast: 180ms; --t-book: 600ms; --t-drift: 14s;
  --measure: 62ch; --lh-read: 1.65;
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
body.paper-grain::before { content: ""; position: fixed; inset: 0; background: var(--grain); pointer-events: none; mix-blend-mode: multiply; opacity: .55; z-index: 0; }
body.paper-grain > * { position: relative; z-index: 1; }

/* ---------- the book cover (ribbon layout) ---------- */
.bk { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: var(--r-book); overflow: hidden; background: var(--night); color: var(--paper);
      box-shadow: var(--sh-book); text-decoration: none; container-type: inline-size; transform: translateZ(0); }
.bk img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity var(--t-book) var(--ease-book); }
.bk img.fade { opacity: 0; }
.bk::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 40%; z-index: 1;
      background: linear-gradient(to bottom, var(--night) 0%, var(--night) 42%, rgba(27,36,71,.85) 62%, rgba(27,36,71,0) 100%); }
.bk::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 7%; z-index: 3; pointer-events: none;
      background: linear-gradient(to right, rgba(0,0,0,.35), rgba(0,0,0,.08) 55%, rgba(255,255,255,.06) 80%, rgba(0,0,0,.04)); }
.bk .bk-txt { position: absolute; left: 7%; right: 6%; top: 3.5%; z-index: 2; text-align: center; text-shadow: 0 1px 2px rgba(0,0,0,.35); }
.bk .bk-name { display: block; font: 700 clamp(24px, 15cqw, 46px) / .95 var(--font-name); color: var(--moon); text-shadow: 0 0 14px rgba(242,193,78,.45), 0 1px 2px rgba(0,0,0,.4); }
.bk .bk-name.ghost { opacity: .72; }
.bk .bk-name.pulse { animation: namepulse .7s var(--ease-book) 1; }
@keyframes namepulse { 0% { text-shadow: 0 0 0 rgba(242,193,78,0); } 40% { text-shadow: 0 0 26px rgba(242,193,78,.95), 0 1px 2px rgba(0,0,0,.4); } 100% { text-shadow: 0 0 14px rgba(242,193,78,.45), 0 1px 2px rgba(0,0,0,.4); } }
.bk .bk-title { display: block; margin-top: .3em; font: 800 clamp(12px, 6.4cqw, 21px) / 1.12 var(--font-display); color: var(--paper); text-wrap: balance; }
.bk .bk-title.inline { margin-top: 0; font-size: clamp(14px, 7cqw, 22px); }
.bk .bk-mark { position: absolute; right: 6%; bottom: 3%; z-index: 2; font: 700 11px var(--font-display); color: rgba(251,247,238,.9); }
.bk .bk-mark::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--moon); margin-right: 5px; }
.bk .bk-stars { position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: .9;
      background-image: radial-gradient(circle, rgba(251,247,238,.9) 0 1px, transparent 1.5px), radial-gradient(circle, rgba(251,247,238,.6) 0 1px, transparent 1.5px);
      background-size: 97px 61px, 143px 89px; background-position: 12px 8px, 60px 22px; height: 30%; mask-image: linear-gradient(to bottom, #000 60%, transparent); -webkit-mask-image: linear-gradient(to bottom, #000 60%, transparent); }

/* a book standing on a shelf: perspective, spine, page block */
.book { position: relative; display: block; text-decoration: none; color: inherit; transform-style: preserve-3d; transition: transform 220ms var(--ease-book), filter 220ms; }
.book .bk { transform: perspective(1200px) rotateY(-9deg); transform-origin: left center; box-shadow: var(--sh-book); }
.book::after { content: ""; position: absolute; top: 2.5%; bottom: 2%; right: -6px; width: 8px; border-radius: 0 3px 3px 0; z-index: -1;
      background: repeating-linear-gradient(to right, var(--paper-2) 0 1px, var(--paper-3) 1px 2px); transform: perspective(1200px) rotateY(-9deg); transform-origin: left center; }
.book:hover, .book:focus-visible { transform: translateY(-8px); }
.book:hover .bk, .book:focus-visible .bk { transform: perspective(1200px) rotateY(0); box-shadow: var(--sh-lift); }
@media (prefers-reduced-motion: reduce) { .book, .book .bk, .bk img, .bk .bk-name { transition: none !important; animation: none !important; } }

/* ---------- ornaments ---------- */
.orn { display: block; margin: 0 auto; color: var(--moon); }
.orn-stars { width: 72px; height: 24px; }
.orn-firefly { width: 28px; height: 28px; filter: drop-shadow(0 0 6px rgba(242,193,78,.8)); }
.rule { border: 0; height: 1px; margin: var(--s-6) auto; max-width: 240px; background: linear-gradient(to right, transparent, var(--line), transparent); }

/* ---------- running heads, chapters, sheets ---------- */
.running-head { font: 600 12px var(--font-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); display: flex; gap: 10px; align-items: center; }
.running-head::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.chapter { position: relative; padding: var(--s-7) 0 var(--s-5); }
.chapter .num { display: block; font: 700 72px / 1 var(--font-display); color: var(--moon); text-align: center; letter-spacing: .04em; }
.chapter h2 { text-align: center; font-size: clamp(30px, 4vw, 42px); margin: var(--s-2) 0 var(--s-4); }
.chapter .lead { max-width: 60ch; margin: 0 auto var(--s-5); text-align: center; font: 400 var(--fs-3) / 1.6 var(--font-read); color: var(--ink-2); }
.sheet { background: var(--paper); border-radius: var(--r-page); box-shadow: var(--sh-page); padding: var(--s-5) var(--s-5) var(--s-5); }
.night { background: var(--night); color: var(--paper); }
.night h1, .night h2, .night h3 { color: var(--paper); }
.night .muted { color: rgba(251,247,238,.7); }

/* ---------- one control scale: 52px, 15px UI text, pill buttons, quiet fields ---------- */
:root { --ctl: 52px; --ctl-s: 44px; }
.btn-lamp { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: var(--ctl); padding: 0 26px; border-radius: var(--r-btn); border: 0;
      background: var(--moon); color: var(--night); font: 600 var(--fs-2) / 1 var(--font-ui); letter-spacing: .01em; text-decoration: none; cursor: pointer;
      box-shadow: 0 1px 0 rgba(0,0,0,.08), 0 10px 22px -12px rgba(242,193,78,.9); transition: transform var(--t-fast), box-shadow var(--t-fast), background var(--t-fast); }
.btn-lamp:hover { background: #f6c95c; transform: translateY(-1px); box-shadow: 0 1px 0 rgba(0,0,0,.08), 0 14px 26px -12px rgba(242,193,78,1); }
.btn-lamp:active { transform: translateY(0); }
.btn-lamp.ghost { background: transparent; color: var(--paper); box-shadow: inset 0 0 0 1.5px rgba(251,247,238,.45); }
.btn-lamp.ghost:hover { background: rgba(251,247,238,.06); box-shadow: inset 0 0 0 1.5px var(--paper); }
.btn-lamp.quiet { background: var(--paper-2); color: var(--night); box-shadow: inset 0 0 0 1px var(--line); }
.btn-lamp.quiet:hover { background: var(--paper-3); }
.btn-lamp[disabled] { opacity: .55; cursor: default; transform: none; }
.btn-lamp.s { min-height: var(--ctl-s); padding: 0 18px; font-size: var(--fs-1); }

/* the name field: a hand-written line, not a box */
.name-line { display: flex; flex-direction: column; gap: 8px; }
.name-line label { font: 600 12px var(--font-ui); letter-spacing: .1em; text-transform: uppercase; color: rgba(251,247,238,.6); }
.name-line input { width: 100%; min-height: var(--ctl); padding: 0 18px; border: 0; border-radius: 14px; background: rgba(251,247,238,.08); box-shadow: inset 0 0 0 1px rgba(251,247,238,.22);
      font: 700 26px / 1 var(--font-name); color: var(--paper); outline: none; transition: box-shadow var(--t-fast), background var(--t-fast); }
.name-line input::placeholder { color: rgba(251,247,238,.42); font-weight: 400; }
.name-line input:focus { background: rgba(251,247,238,.12); box-shadow: inset 0 0 0 1.5px var(--moon), 0 0 0 4px rgba(242,193,78,.18); }
.gender { display: inline-flex; width: max-content; min-height: var(--ctl); border-radius: 14px; padding: 4px; background: rgba(251,247,238,.08); box-shadow: inset 0 0 0 1px rgba(251,247,238,.22); }
.gender button { min-height: calc(var(--ctl) - 8px); padding: 0 18px; border: 0; border-radius: 10px; background: transparent; color: var(--paper); font: 600 var(--fs-2) var(--font-ui); cursor: pointer; opacity: .75; transition: opacity var(--t-fast), background var(--t-fast); }
.gender button[aria-pressed=true] { background: var(--paper); color: var(--night); opacity: 1; box-shadow: 0 1px 3px rgba(0,0,0,.25); }
.paperish .name-line label { color: var(--muted); }
.paperish .name-line input { color: var(--night); background: #fff; box-shadow: inset 0 0 0 1px var(--line); }
.paperish .name-line input::placeholder { color: rgba(35,33,58,.38); }
.paperish .name-line input:focus { background: #fff; box-shadow: inset 0 0 0 1.5px var(--moon-2), 0 0 0 4px rgba(242,193,78,.22); }
.paperish .gender { background: var(--paper-2); box-shadow: inset 0 0 0 1px var(--line); }
.paperish .gender button { color: var(--night); }
.paperish .gender button[aria-pressed=true] { background: var(--night); color: var(--paper); box-shadow: none; }
.row-ctl { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }

/* ---------- fireflies (hero) ---------- */
.fireflies { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.firefly { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: var(--moon); filter: blur(1px); box-shadow: 0 0 10px 3px rgba(242,193,78,.55); opacity: .75;
      animation: drift var(--t-drift) ease-in-out infinite alternate, blink 3.2s ease-in-out infinite; }
@keyframes drift { from { transform: translate(0, 0); } to { transform: translate(var(--dx, 40px), var(--dy, -30px)); } }
@keyframes blink { 0%, 100% { opacity: .35; } 50% { opacity: .95; } }
@media (prefers-reduced-motion: reduce) { .firefly { animation: none; } }

/* ---------- shelves (library index) ---------- */
.shelf { position: relative; display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px 16px; padding: 0 12px 22px; margin: var(--s-4) 0 var(--s-6); list-style: none; }
.shelf::after { content: ""; position: absolute; left: -4px; right: -4px; bottom: 0; height: 8px; border-radius: 2px; background: linear-gradient(to bottom, #3a4677, #2a3560); box-shadow: 0 8px 14px -6px rgba(27,36,71,.7); }
.shelf li { display: flex; flex-direction: column; gap: 8px; }
.shelf .book { width: 100%; }
.shelf h3 { margin: 8px 2px 0; font: 700 15px / 1.3 var(--font-display); }
.shelf h3 a { color: var(--night); text-decoration: none; }
.shelf .lib-meta { margin: 0 2px; }
@media (min-width: 640px) { .shelf { grid-template-columns: repeat(3, 1fr); gap: 22px 20px; } }
@media (min-width: 960px) { .shelf { grid-template-columns: repeat(5, 1fr); gap: 26px 22px; padding: 0 16px 26px; } }
.shelf-head { margin: var(--s-6) 0 0; }
.index-nav { margin: var(--s-4) 0 var(--s-3); }
.index-nav h2 { font: 600 12px var(--font-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin: var(--s-3) 0 2px; }
.index-nav ul { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 0; padding: 0; list-style: none; }
.index-nav a { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; font: 600 var(--fs-2) var(--font-ui); color: var(--night); text-decoration: none; }
.index-nav a::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--line); }
.index-nav a.on::before, .index-nav a:hover::before { background: var(--moon); }
.index-nav small { color: var(--muted); font-family: var(--font-ui); font-size: 12px; }
@media (max-width: 639px) { .index-nav ul { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; } .index-nav ul::-webkit-scrollbar { display: none; } .index-nav a { white-space: nowrap; } }

/* ---------- story page ---------- */
.title-page { display: grid; gap: var(--s-4); margin: var(--s-4) 0 var(--s-5); }
.title-page .book { width: min(100%, 360px); margin: 0 auto; }
.title-page .tp-txt h1 { font-size: clamp(28px, 5vw, 40px); line-height: 1.1; margin: 0 0 var(--s-2); }
.title-page .tp-meta { font: 500 var(--fs-1) var(--font-ui); color: var(--muted); display: flex; flex-wrap: wrap; gap: 4px 10px; margin: 0 0 var(--s-3); }
.title-page .tp-meta span + span::before { content: "·"; margin-right: 10px; }
@media (min-width: 860px) { .title-page { grid-template-columns: 5fr 7fr; align-items: center; gap: var(--s-6); } .title-page .book { width: 100%; max-width: 340px; margin: 0; } }
.name-sheet { padding: var(--s-4) 0 0; }
.name-sheet h2 { font-size: var(--fs-4); margin: 0 0 var(--s-2); }
.name-sheet form { display: grid; gap: 12px; }
.name-sheet .row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.name-sheet .note { font: 400 var(--fs-1) / 1.5 var(--font-ui); color: var(--muted); margin: 0; }
.read { max-width: var(--measure); margin: var(--s-5) auto; }
.read .running-head { position: sticky; top: 0; background: var(--paper); padding: 10px 0; z-index: 5; }
.read .running-head .rh-name { color: var(--night); font-family: var(--font-name); font-size: 18px; letter-spacing: 0; text-transform: none; }
.read .running-head button { margin-left: auto; border: 0; background: transparent; color: var(--ink-2); font: 600 12px var(--font-ui); letter-spacing: .06em; text-transform: none; cursor: pointer; display: inline-flex; gap: 6px; align-items: center; min-height: 36px; padding: 0 8px; border-radius: 8px; }
.read .running-head button:hover { background: var(--paper-2); color: var(--night); }
.read .running-head::after { display: none; }
.plate { margin: var(--s-6) 0; aspect-ratio: 16 / 9; border-radius: var(--r-page); background: var(--paper-2); display: grid; place-items: center; color: var(--muted); font: 500 var(--fs-1) var(--font-ui); box-shadow: var(--sh-page); }
.plate .orn-firefly { width: 40px; height: 40px; opacity: .8; margin-bottom: 8px; }
.cta-book { margin: var(--s-7) 0 var(--s-5); padding: var(--s-5); border-radius: var(--r-page); background: rgba(127,178,154,.16); display: grid; gap: var(--s-4); align-items: center; }
.cta-book .fan { position: relative; height: 150px; width: 210px; margin: 0 auto; }
.cta-book .fan .bk { position: absolute; width: 96px; top: 10px; left: 50%; margin-left: -48px; transform-origin: bottom center; box-shadow: 0 10px 20px -8px rgba(27,36,71,.5); }
.cta-book .fan .bk:nth-child(1) { transform: rotate(-9deg) translateX(-38px); } .cta-book .fan .bk:nth-child(3) { transform: rotate(9deg) translateX(38px); } .cta-book .fan .bk:nth-child(2) { z-index: 2; transform: translateY(-6px); }
.cta-book h2 { margin: 0 0 6px; font-size: var(--fs-5); }
.cta-book p { margin: 0 0 var(--s-3); color: var(--ink-2); }
@media (min-width: 760px) { .cta-book { grid-template-columns: 220px 1fr; } }
[data-theme=night] body, [data-theme=night] { background: #161d3a; color: #e9e2d3; }
[data-theme=night] .read .running-head { background: #161d3a; color: #b9b3a5; }
[data-theme=night] .read .running-head button, [data-theme=night] .read .running-head .rh-name { color: var(--moon); }
[data-theme=night] .lib-story, [data-theme=night] .lib-story p:first-child::first-letter { color: #e9e2d3; }
[data-theme=night] .plate { background: #223060; color: #b9b3a5; }
[data-theme=night] .lib-tale h1, [data-theme=night] .title-page h1, [data-theme=night] .shelf h3 a, [data-theme=night] .name-sheet h2 { color: #f3efe6; }
[data-theme=night] .sheet, [data-theme=night] .lib-name { background: #1f2a52; color: #e9e2d3; }

/* ---------- home (PL) ---------- */
.home { overflow-x: clip; }
.home main { max-width: none; padding: 0; }
.home .top { padding-left: 20px; padding-right: 20px; }
.hero-night { position: relative; background: var(--night); color: var(--paper); padding: var(--s-6) 0 var(--s-7); }
.hero-night .wrap { position: relative; max-width: 1120px; margin: 0 auto; padding: 0 20px; display: grid; gap: var(--s-6); }
.hero-night .overline { font: 600 13px var(--font-ui); letter-spacing: .14em; text-transform: uppercase; color: var(--moon); margin: 0 0 var(--s-3); }
.hero-night h1 { font-size: clamp(34px, 5.2vw, 58px); line-height: 1.08; margin: 0 0 var(--s-4); color: var(--paper); }
.hero-night h1 .nm { font-family: var(--font-name); color: var(--moon); font-weight: 700; font-size: 1.15em; }
.hero-night .sub { font: 400 var(--fs-3) / 1.6 var(--font-read); color: rgba(251,247,238,.85); max-width: 46ch; margin: 0 0 var(--s-5); }
.hero-night .form { display: grid; gap: 12px; max-width: 440px; }
.hero-night .form .row-ctl .btn-lamp { flex: 1 1 auto; }
.hero-night .trust { font: 400 var(--fs-1) / 1.5 var(--font-ui); color: rgba(251,247,238,.6); margin: 4px 0 0; }
.hero-night .alt { color: rgba(251,247,238,.85); font: 500 var(--fs-1) var(--font-ui); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: rgba(251,247,238,.35); }
.book-live { width: min(78vw, 320px); margin: 0 auto; perspective: 1400px; }
.book-live .bk { transform: rotateY(-14deg); transform-origin: left center; box-shadow: var(--sh-lift); }
.book-live .pages { position: absolute; top: 2%; bottom: 1.5%; right: -8px; width: 10px; border-radius: 0 3px 3px 0; transform: rotateY(-14deg); transform-origin: left center; z-index: -1;
      background: repeating-linear-gradient(to right, var(--paper-2) 0 1px, var(--paper-3) 1px 2px); }
.book-live-wrap { position: relative; }
.book-live .cap { text-align: center; font: 500 var(--fs-1) var(--font-ui); color: rgba(251,247,238,.6); margin: var(--s-4) 0 0; }
.more-covers { display: flex; gap: 10px; justify-content: center; margin: var(--s-5) 0 0; }
.more-covers .bk { width: 56px; flex: 0 0 56px; opacity: .85; box-shadow: 0 6px 14px -6px rgba(0,0,0,.6); }
@media (max-width: 899px) { .book-live-wrap { order: -1; } .book-live { width: min(64vw, 250px); } .more-covers { display: none; } .hero-night { padding-top: var(--s-5); } .hero-night h1 { font-size: clamp(30px, 8.6vw, 40px); } .hero-night .sub { font-size: var(--fs-2); } }
@media (min-width: 900px) { .hero-night { padding: var(--s-8) 0; } .hero-night .wrap { grid-template-columns: 7fr 5fr; align-items: center; } .book-live { width: 380px; margin: 0 0 0 auto; } .hero-night .form { max-width: 480px; } }
.home section.paperish { max-width: 1120px; margin: 0 auto; padding: 0 20px; }
.chapters { display: grid; gap: var(--s-5); }
.chapters article { padding: 0; }
.chapters .num { font: 700 44px / 1 var(--font-display); color: var(--moon); }
.chapters h3 { font-size: var(--fs-5); margin: 8px 0 10px; }
.chapters p { font: 400 var(--fs-3) / 1.6 var(--font-read); color: var(--ink-2); margin: 0; }
@media (min-width: 760px) { .chapters { grid-template-columns: repeat(3, 1fr); gap: var(--s-6); } }
.hero-pair { display: grid; gap: var(--s-5); align-items: center; }
.hero-pair .pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; width: 100%; max-width: 460px; margin: 0 auto; }
.hero-pair .pair .book, .hero-pair .pair .bk { width: 100%; }
.hero-pair .txt p { font: 400 var(--fs-3) / 1.65 var(--font-read); color: var(--ink-2); margin: 0 0 1em; }
@media (min-width: 900px) { .hero-pair { grid-template-columns: 5fr 7fr; gap: var(--s-7); } .hero-pair .pair { margin: 0; } }
.book12 { position: relative; padding: var(--s-7) 0; }
.book12 .wrap { max-width: 1120px; margin: 0 auto; padding: 0 20px; display: grid; gap: var(--s-6); align-items: center; }
.book12 .fan12 { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; width: 100%; max-width: 520px; margin: 0 auto; }
.book12 .fan12 .bk { width: 100%; }
.book12 .fan12 .bk { box-shadow: 0 10px 22px -10px rgba(0,0,0,.7); }
.book12 .fan12 .bk .bk-name { font-size: clamp(10px, 15cqw, 22px); } .book12 .fan12 .bk .bk-title { font-size: clamp(6px, 6.4cqw, 11px); } .book12 .fan12 .bk-mark { display: none; }
.book12 ul { margin: 0 0 var(--s-4); padding: 0; list-style: none; display: grid; gap: 10px; }
.book12 li { padding-left: 24px; position: relative; font: 400 var(--fs-3) / 1.5 var(--font-read); color: rgba(251,247,238,.9); }
.book12 li::before { content: ""; position: absolute; left: 0; top: .6em; width: 9px; height: 9px; border-radius: 50%; background: var(--moon); box-shadow: 0 0 8px rgba(242,193,78,.7); }
.book12 .price { font: 700 var(--fs-5) var(--font-display); color: var(--paper); margin: 0 0 var(--s-3); }
.book12 .price small { font: 500 var(--fs-2) var(--font-ui); color: rgba(251,247,238,.7); margin-left: 10px; }
.book12 .ded { font: 700 22px / 1.3 var(--font-name); color: var(--moon); margin: var(--s-4) 0 0; }
@media (min-width: 900px) { .book12 .wrap { grid-template-columns: 6fr 6fr; } }
.faq-list { max-width: 720px; margin: 0 auto; }
.faq-list details { border-top: 1px solid var(--line); padding: 14px 0; }
.faq-list details:last-child { border-bottom: 1px solid var(--line); }
.faq-list summary { list-style: none; cursor: pointer; font: 700 var(--fs-4) var(--font-display); color: var(--night); display: flex; gap: 14px; align-items: baseline; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::before { content: "Q"; font: 700 26px / 1 var(--font-display); color: var(--moon); }
.faq-list p { margin: 10px 0 0 40px; font: 400 var(--fs-3) / 1.6 var(--font-read); color: var(--ink-2); }
.foot-night { background: var(--night); color: rgba(251,247,238,.8); padding: var(--s-6) 20px; text-align: center; font: 500 var(--fs-1) var(--font-ui); }
.foot-night .tag { font: 700 var(--fs-4) var(--font-display); color: var(--paper); margin: 0 0 8px; }
.foot-night a { color: rgba(251,247,238,.85); }
.foot-night .ai { margin-top: 10px; font-size: 12px; color: rgba(251,247,238,.55); }

/* ---------- brand assets from the design sheet ---------- */
.logo.brand::before { display: none; }
.logo.brand img { width: 46px; height: 46px; object-fit: contain; margin-right: 2px; filter: drop-shadow(0 2px 4px rgba(0,0,0,.18)); }
.orn-img { display: block; margin: 0 auto; height: 34px; width: auto; }
.chapters .num-img { display: block; height: 64px; width: auto; margin: 0 0 8px; }
.ff { display: block; margin: 0 auto; height: 96px; width: auto; }
.framed { position: relative; }
.framed .cnr { position: absolute; width: 120px; height: auto; opacity: .9; pointer-events: none; }
.framed .cnr.tl { left: -8px; top: -8px; } .framed .cnr.tr { right: -8px; top: -8px; } .framed .cnr.bl { left: -8px; bottom: -8px; } .framed .cnr.br { right: -8px; bottom: -8px; }
@media (max-width: 760px) { .framed .cnr { width: 72px; } }
.index-nav a img { width: 26px; height: 26px; object-fit: contain; }
.index-nav a::before { display: none; }
.index-nav a.on { color: var(--night); text-decoration: underline; text-underline-offset: 5px; text-decoration-color: var(--moon); }
.empty-state { text-align: center; padding: var(--s-6) 0; color: var(--muted); }
.read .running-head .rh-ff { height: 26px; width: auto; margin-right: 4px; }
.goodnight { text-align: center; margin: var(--s-6) 0 var(--s-4); }
.goodnight img { height: 96px; width: auto; display: block; margin: 0 auto 6px; }
.goodnight p { font: 700 30px / 1.2 var(--font-name); color: var(--night); margin: 0; }
[data-theme=night] .goodnight p { color: var(--moon); }
