:root {
  --ink: #2f3a42;
  --ink-soft: #66716f;
  --paper: #f6efe2;
  --paper-deep: #eadfcd;
  --sage: #7f8d78;
  --sage-light: #b8bfac;
  --night: #181b21;
  --night-2: #242934;
  --gold: #d2ad67;
  --bronze: #a66c54;
  --wine: #6f3f46;
  --indigo: #394761;
  --olive-gold: #7f7538;
  --shadow: rgba(10, 13, 18, .48);
  --page-ratio: 0.705;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
html { background: var(--night); }
body {
  margin: 0;
  min-height: 100svh;
  overscroll-behavior: none;
  color: #f7f3e9;
  background: linear-gradient(150deg, #12161b 0%, #242a30 48%, #191d22 100%);
  font-family: "Assistant", Arial, sans-serif;
  overflow-x: hidden;
}
body.reader-open { overflow: hidden; height: 100dvh; }
button { font: inherit; }
button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid #e4d5ad; outline-offset: 4px; }

.ambient { position: fixed; inset: 0; pointer-events: none; overflow: hidden; opacity: .68; }
.ambient span { position: absolute; width: 2px; height: 2px; border-radius: 50%; background: #f2dfb6; box-shadow: 0 0 12px rgba(246,218,154,.38); animation: drift 13s linear infinite; }
.ambient span:nth-child(1) { top: 20%; left: 17%; }
.ambient span:nth-child(2) { top: 58%; left: 78%; animation-delay: -4s; }
.ambient span:nth-child(3) { top: 78%; left: 31%; animation-delay: -9s; }
@keyframes drift { 50% { transform: translate(16px,-24px); opacity:.35 } }

.landing {
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(320px, 470px) minmax(340px, 520px);
  align-items: center;
  justify-content: center;
  gap: clamp(42px, 7vw, 110px);
  padding: clamp(28px,5vh,56px) max(28px, 5vw) clamp(34px,5vh,58px);
  position: relative;
  isolation: isolate;
}
.landing::before {
  content:""; position:absolute; inset:0; z-index:-1; opacity:.075;
  background-image: repeating-linear-gradient(0deg, transparent 0 3px, rgba(255,255,255,.12) 4px);
  mix-blend-mode: overlay;
}
.landing-copy { max-width: 470px; }
.eyebrow { color: #e1c489; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 12px; }
.landing h1 { font-family:"Assistant", Arial, sans-serif; font-size: clamp(44px, 5vw, 72px); line-height: .98; font-weight: 600; margin: 0 0 18px; color:#fff0d5; text-shadow:0 10px 34px rgba(0,0,0,.25), 0 0 24px rgba(196,122,89,.12); }
.landing-copy p { color:#ddd1c1; font-size: clamp(17px,1.5vw,21px); line-height:1.72; margin:0 0 32px; }
.primary-btn {
  border: 1px solid rgba(218,183,115,.62); background:linear-gradient(180deg,#f4e3c8,#e8cfad); color:#241f1b; min-height:52px;
  padding: 0 22px; border-radius:999px; display:inline-flex; align-items:center; gap:22px; cursor:pointer;
  box-shadow:0 14px 42px rgba(0,0,0,.22), 0 0 0 1px rgba(255,255,255,.05) inset; transition:.25s ease;
}
.primary-btn:hover { transform: translateY(-2px); background:#fff8e8; box-shadow:0 18px 50px rgba(0,0,0,.24); }
.primary-btn .arrow { font-size:23px; line-height:1; }
.quiet-btn { display:block; margin-top:18px; padding:8px 0; color:#c3b394; background:none; border:0; cursor:pointer; border-bottom:1px solid transparent; }
.quiet-btn:hover { color:#ded8c9; border-color:#858b7f; }

.cover-stage { perspective:1700px; position:relative; display:grid; place-items:center; cursor:pointer; }
.cover-shadow { position:absolute; width:82%; height:26%; bottom:-3%; border-radius:50%; background:rgba(0,0,0,.68); filter:blur(38px); transform:rotate(-3deg); }
.cover-book {
  position:relative; width:min(430px, 36vw, 48vh); aspect-ratio:3/4; transform:rotateY(-10deg) rotateX(2deg) rotateZ(-1.2deg);
  transform-style:preserve-3d; transition: transform .8s cubic-bezier(.2,.72,.2,1), opacity .55s;
  filter: drop-shadow(0 28px 34px rgba(0,0,0,.42)) drop-shadow(0 0 18px rgba(210,165,95,.12));
}
.cover-book::after { content:""; position:absolute; inset:0; border-radius:2px 7px 7px 2px; box-shadow:inset -13px 0 22px rgba(63,52,37,.08), inset 0 0 0 1px rgba(87,71,50,.16); pointer-events:none; }
.cover-book img { width:100%; height:100%; object-fit:cover; border-radius:2px 7px 7px 2px; display:block; user-select:none; }
.cover-edge { position:absolute; top:8px; bottom:8px; right:-9px; width:11px; transform:rotateY(72deg); transform-origin:left; background:linear-gradient(90deg,#d8cdbb,#f7efe1,#c8baa5); border-radius:0 5px 5px 0; }
.cover-stage:hover .cover-book { transform:rotateY(-5deg) rotateX(1deg) rotateZ(0); }
.landing.is-opening .cover-book { transform:translateX(22%) rotateY(-118deg) rotateX(2deg); opacity:.12; }
.landing.is-opening .landing-copy { animation: fadeLeft .55s ease forwards; }
@keyframes fadeLeft { to { opacity:0; transform:translateX(22px); } }
.landing-note { position:absolute; bottom:24px; inset-inline:0; text-align:center; color:#858b81; font-size:12px; }

.reader {
  position:fixed; inset:0; z-index:50; height:100dvh; min-height:0;
  display:grid; grid-template-rows:auto minmax(0,1fr) auto; overflow:hidden;
  opacity:0; transform:scale(.992); transition:opacity .34s ease, transform .42s cubic-bezier(.2,.72,.2,1);
  background: linear-gradient(150deg,#11151a 0%,#252b31 48%,#171b20 100%);
}
.reader[hidden] { display:none !important; }
.reader.show { opacity:1; transform:none; }
.reader-bar { min-height:40px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:3px max(9px,1.2vw); border-bottom:1px solid rgba(210,173,109,.18); background:linear-gradient(180deg,rgba(16,19,23,.74),rgba(18,21,25,.52)); backdrop-filter:blur(14px); box-shadow:0 5px 24px rgba(0,0,0,.16); }
.brand-mini { display:flex; flex-direction:row; align-items:baseline; gap:9px; white-space:nowrap; }
.brand-mini strong { font-family:"Assistant", Arial, sans-serif; font-size:16px; line-height:1; font-weight:500; color:#f6ecd7; }
.brand-mini span { color:#ac9d83; font-size:9px; }
.reader-actions { display:flex; gap:5px; direction:rtl; align-items:center; flex-wrap:nowrap; }
.reader-actions::-webkit-scrollbar { display:none; }
.icon-btn { border:1px solid rgba(255,255,255,.09); color:#dfd8cb; background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025)); border-radius:10px; min-width:42px; min-height:32px; padding:3px 7px; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:5px; transition:.2s; }
.icon-btn:hover { background:rgba(255,255,255,.085); color:#fff7e7; }
.icon-btn .label { font-size:9px; }
.icon-lines { width:15px; height:11px; border-top:1px solid currentColor; border-bottom:1px solid currentColor; position:relative; }
.icon-lines::after { content:""; position:absolute; left:0; right:0; top:4px; border-top:1px solid currentColor; }

.reader-scene { min-height:0; height:100%; display:grid; grid-template-columns:44px minmax(0,1480px) 44px; align-items:center; gap:4px; padding:2px max(2px,.35vw) 1px; position:relative; overflow:hidden; }
.scene-glow { position:absolute; left:50%; top:48%; width:min(1420px,94vw); height:88%; transform:translate(-50%,-50%); background:radial-gradient(ellipse at 50% 48%,rgba(218,188,132,.13),transparent 68%); filter:blur(22px); pointer-events:none; }
.book-wrap { position:relative; width:100%; z-index:2; }
.book { width:100%; aspect-ratio:1.41/1; touch-action:none; user-select:none; -webkit-user-select:none; max-height:calc(100dvh - 72px); max-width:calc((100dvh - 72px) * 1.41); margin:auto; position:relative; perspective:2400px; transform-style:preserve-3d; filter:drop-shadow(0 34px 38px rgba(0,0,0,.48)) drop-shadow(0 0 24px rgba(211,171,103,.08)); cursor:grab; }
.book:active { cursor:grabbing; }
.book-shadow { width:91%; height:22px; margin:-2px auto 0; background:rgba(0,0,0,.52); filter:blur(22px); border-radius:50%; }
.static-page, .flip-face { position:absolute; top:0; bottom:0; width:50%; overflow:hidden; background:var(--paper); color:var(--ink); }
.page-right { right:0; border-radius:3px 11px 11px 3px; box-shadow:inset 24px 0 34px rgba(75,63,44,.11), inset -2px 0 rgba(98,86,66,.12), 5px 7px 12px rgba(0,0,0,.035); }
.page-left { left:0; border-radius:11px 3px 3px 11px; box-shadow:inset -24px 0 34px rgba(75,63,44,.11), inset 2px 0 rgba(98,86,66,.12), -5px 7px 12px rgba(0,0,0,.035); }
.spine { z-index:15; position:absolute; top:0; bottom:0; left:calc(50% - 9px); width:18px; pointer-events:none; background:linear-gradient(90deg,transparent 0%,rgba(78,60,40,.09) 22%,rgba(83,66,46,.18) 46%,rgba(255,255,255,.30) 53%,rgba(75,59,41,.08) 72%,transparent 100%); mix-blend-mode:multiply; opacity:.78; filter:blur(.15px); }
.book-depth { position:absolute; top:6px; bottom:-8px; width:49.4%; z-index:-2; background:repeating-linear-gradient(0deg,#cfc1ad 0 1px,#eee4d5 1px 2px,#f7f0e5 2px 4px); box-shadow:0 8px 12px rgba(0,0,0,.08); }
.left-depth { left:.4%; border-radius:0 0 0 10px; transform:skewY(-.22deg); }
.right-depth { right:.4%; border-radius:0 0 10px 0; transform:skewY(.22deg); }

.poem-page { --accent:#536b70; position:absolute; inset:0; overflow:hidden;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.22), transparent 22%),
    linear-gradient(100deg,rgba(197,174,136,.09),transparent 11%,transparent 88%,rgba(184,160,124,.08)),
    #f6efe3;
  font-family:"Assistant", Arial, sans-serif;
  box-shadow:inset 0 0 34px rgba(83,67,47,.035), inset 0 -12px 28px rgba(255,255,255,.06);
}
.poem-page::before { content:""; position:absolute; z-index:6; top:0; left:14%; right:14%; height:2px; opacity:.78; background:linear-gradient(90deg,transparent,color-mix(in srgb, var(--accent) 70%, #d9b06d 30%),transparent); }
.poem-page::after { content:""; position:absolute; inset:0; opacity:.10; pointer-events:none; background-image:repeating-linear-gradient(12deg,rgba(81,66,48,.035) 0 1px,transparent 1px 6px); mix-blend-mode:multiply; }
.running-head { position:absolute; top:4.8%; left:0; right:0; text-align:center; color:#7e7567; font-size:clamp(8px, .8vw, 12px); letter-spacing:.08em; z-index:3; }
.running-head .sprig { color:var(--accent); margin-inline-start:6px; opacity:.78; }
.poem-inner { position:absolute; top:12.7%; left:11.2%; right:11.2%; bottom:29.8%; text-align:right; z-index:4; }
.gate-label { font-family:"Assistant", Arial, sans-serif; color:var(--accent); font-size:clamp(7px,.7vw,11px); font-weight:600; letter-spacing:.12em; margin-bottom:5px; text-align:center; }
.poem-title { margin:0; text-align:center; font-weight:600; color:color-mix(in srgb, var(--accent) 64%, #273545 36%); font-size:clamp(23px,3.2vw,50px); line-height:1.03; text-shadow:0 1px 0 rgba(255,255,255,.4); }
.title-rule { filter:saturate(1.08); height:22px; display:flex; align-items:center; justify-content:center; gap:8px; color:var(--accent); margin:1px 0 12px; }
.title-rule span { width:38px; height:1px; background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 66%,#c2bdaa)); box-shadow:0 0 8px color-mix(in srgb,var(--accent) 18%, transparent); }
.title-rule b { font-weight:400; font-size:13px; }
.poem-body { margin:0 auto; width:min(90%, 448px); color:#3e4647; font-size:clamp(12.5px,1.33vw,20.5px); line-height:1.62; }
.poem-body p { margin:0 0 1em; white-space:pre-line; }
.illustration-fade { position:absolute; z-index:2; left:0; right:0; bottom:3.8%; height:28.4%; background-size:cover; background-position:center 58%; background-repeat:no-repeat; opacity:.91; filter:saturate(1.42) contrast(1.14) sepia(.015) brightness(1.04); mix-blend-mode:multiply; -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.18) 12%,#000 43%,#000 100%); mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.18) 12%,#000 43%,#000 100%); }
.illustration-fade::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 0%, rgba(255,247,230,.06) 55%, rgba(210,168,101,.08) 100%); mix-blend-mode:screen; }
.page-number { position:absolute; z-index:5; bottom:2.8%; left:0; right:0; text-align:center; color:#6e675c; font-family:"Assistant", Arial, sans-serif; font-size:clamp(8px,.8vw,12px); }
.page-number::before, .page-number::after { content:"•"; color:#7d817b; margin:0 12px; }

.flip-layer { display:none; position:absolute; top:0; bottom:0; width:50%; transform-style:preserve-3d; z-index:30; }
.flip-layer.active { display:block; }
.flip-layer.forward { left:0; transform-origin:100% 50%; animation:flipForward .82s cubic-bezier(.42,.02,.24,1) forwards; }
.flip-layer.backward { right:0; transform-origin:0% 50%; animation:flipBackward .82s cubic-bezier(.42,.02,.24,1) forwards; }
.flip-face { width:100%; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden; transform-style:flat; -webkit-transform-style:flat; will-change:transform; isolation:isolate; }
.flip-face > *, .flip-face .poem-page { backface-visibility:hidden; -webkit-backface-visibility:hidden; transform:translateZ(.01px); }
.flip-front { box-shadow:-9px 0 24px rgba(22,22,19,.18); }
.flip-back { transform:rotateY(180deg); box-shadow:9px 0 24px rgba(22,22,19,.18); }
.flip-layer::after { content:""; position:absolute; inset:0; z-index:50; pointer-events:none; border-radius:inherit; opacity:0; background:linear-gradient(90deg,rgba(20,18,14,.13),rgba(255,255,255,.08) 42%,rgba(255,255,255,.24) 50%,rgba(30,26,19,.11) 64%,transparent); mix-blend-mode:multiply; animation:turnSheen .82s ease-in-out both; }
.flip-layer .running-head, .flip-layer .poem-inner, .flip-layer .page-number { will-change:opacity; }
.flip-layer.active .flip-front .running-head,
.flip-layer.active .flip-front .poem-inner,
.flip-layer.active .flip-front .page-number { animation:inkOut .82s linear both; }
.flip-layer.active .flip-back .running-head,
.flip-layer.active .flip-back .poem-inner,
.flip-layer.active .flip-back .page-number { animation:inkIn .82s linear both; }
@keyframes inkOut { 0%,38%{opacity:1} 48%,100%{opacity:0} }
@keyframes inkIn { 0%,52%{opacity:0} 62%,100%{opacity:1} }
@keyframes turnSheen { 0%,100%{opacity:0} 46%,56%{opacity:.78} }
.flip-layer.forward .flip-front { border-radius:10px 3px 3px 10px; }
.flip-layer.forward .flip-back { border-radius:3px 10px 10px 3px; }
.flip-layer.backward .flip-front { border-radius:3px 10px 10px 3px; }
.flip-layer.backward .flip-back { border-radius:10px 3px 3px 10px; }
@keyframes flipForward { 0%{transform:rotateY(0)} 47%{filter:brightness(.92)} 100%{transform:rotateY(180deg)} }
@keyframes flipBackward { 0%{transform:rotateY(0)} 47%{filter:brightness(.92)} 100%{transform:rotateY(-180deg)} }

.nav-hit { z-index:3; width:40px; height:74px; align-self:center; border:1px solid rgba(255,255,255,.10); border-radius:16px; background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03)); color:#c7baa3; cursor:pointer; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; transition:.2s; }
.nav-hit:hover:not(:disabled) { background:rgba(255,255,255,.10); color:#f3ead8; transform:translateY(-1px); box-shadow:0 10px 24px rgba(0,0,0,.12); }
.nav-hit:disabled { opacity:.18; cursor:default; }
.nav-chev { font-family:Arial,sans-serif; font-size:36px; line-height:.78; font-weight:200; }
.nav-hit small { font-size:9px; }
.nav-next { grid-column:1; justify-self:end; margin-inline-end:0; }
.book-wrap { grid-column:2; }
.nav-prev { grid-column:3; justify-self:start; margin-inline-start:0; }

.reader-footer { display:grid; grid-template-columns:1fr minmax(150px,320px) 1fr; align-items:center; gap:14px; min-height:26px; padding:0 max(10px,1.6vw) 2px; color:#9c988c; font-size:10px; }
.progress-copy { justify-self:end; }
.progress-track { height:2px; background:rgba(255,255,255,.08); overflow:hidden; border-radius:99px; direction:rtl; }
.progress-track span { display:block; height:100%; width:20%; background:linear-gradient(90deg,#607f8c,#c89863,#8b7742); transition:width .4s ease; }
.hint { justify-self:start; }

.modal-backdrop { position:fixed; inset:0; z-index:80; background:rgba(8,10,8,.64); backdrop-filter:blur(3px); }
.toc-drawer { box-shadow: 0 30px 80px rgba(0,0,0,.28); position:fixed; z-index:90; top:0; bottom:0; right:0; width:min(430px,92vw); padding:30px; background:#f2ede1; color:#354039; box-shadow:-26px 0 70px rgba(0,0,0,.35); transform:translateX(105%); transition:transform .35s cubic-bezier(.2,.76,.2,1); overflow:auto; }
.toc-drawer.open { transform:none; }
.drawer-head { background: linear-gradient(180deg, rgba(255,255,255,.04), transparent); display:flex; justify-content:space-between; align-items:flex-start; gap:20px; border-bottom:1px solid #d3cbb9; padding-bottom:20px; }
.drawer-head h2 { font-family:"Assistant", Arial, sans-serif; font-size:36px; font-weight:500; margin:0; color:#334038; }
.drawer-head .eyebrow { color:#899183; margin:0 0 4px; }
.drawer-close { width:40px; height:40px; border:1px solid #cfc6b3; border-radius:50%; color:#5c665d; background:transparent; cursor:pointer; font-size:24px; }
.toc-list { padding:18px 0 24px; }
.toc-gate { margin:20px 0 7px; color:#92998a; font-size:11px; letter-spacing:.12em; }
.toc-item { width:100%; border:0; border-bottom:1px solid #ddd5c5; background:transparent; color:#3b4640; padding:13px 2px; display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; text-align:right; }
.toc-item:hover { color:#1f2923; padding-inline-start:8px; }
.toc-item strong { font-family:"Assistant", Arial, sans-serif; font-weight:500; font-size:19px; }
.toc-item span { font-size:11px; color:#8c9389; }
.drawer-foot { border-top:1px solid #d3cbb9; padding-top:18px; color:#979c93; font-size:10px; }

/* subtle drag cue */
.book.drag-ready .page-left::after { content:""; position:absolute; z-index:11; top:0; bottom:0; left:0; width:34px; background:linear-gradient(90deg,rgba(148,133,103,.10),transparent); opacity:0; transition:.2s; }
.book.drag-ready:hover .page-left::after { opacity:1; }
.book:hover .page-corner-cue { opacity:.46; transform:translate(-1px,1px); }
.page-corner-cue { transition:opacity .2s ease, transform .2s ease; }


@media (max-height: 760px) and (min-width: 901px) {
  .landing { gap:clamp(34px,6vw,84px); }
  .landing h1 { font-size:clamp(42px,4.6vw,62px); }
  .landing-copy p { margin-bottom:22px; }
  .cover-book { width:min(350px,34vw,58vh); }
  .landing-note { bottom:12px; }
}

@media (max-width: 900px) {
  .landing { grid-template-columns:1fr; gap:34px; text-align:center; padding-top:42px; }
  .landing-copy { margin:auto; order:2; }
  .cover-stage { order:1; }
  .cover-book { width:min(330px,70vw); }
  .primary-btn { margin:auto; }
  .quiet-btn { margin:16px auto 0; }
  .landing-note { display:none; }
  .reader-scene { grid-template-columns:40px minmax(0,1fr) 40px; gap:4px; padding-inline:4px; }
  .icon-btn .label { display:none; }
  .icon-btn { min-width:42px; }
  .brand-mini span { display:none; }
  .reader-footer { grid-template-columns:auto 1fr; }
  .hint { display:none; }
}

@media (max-width: 680px) {
  .reader-bar { min-height:39px; padding:3px 6px; }
  .brand-mini strong { font-size:15px; }
  .reader-actions { gap:4px; }
  .reader-scene { display:flex; align-items:center; justify-content:center; padding:6px 12px 3px; overflow:hidden; }
  .book-wrap { width:min(100%, 410px); margin:auto; }
  .book { aspect-ratio:var(--page-ratio); width:min(100%, 444px); height:auto; max-height:calc(100dvh - 66px); max-width:min(444px, calc((100dvh - 66px)*var(--page-ratio))); }
  .static-page { width:100%; inset:0; border-radius:8px; }
  .page-left { display:none; }
  .page-right { right:0; box-shadow:inset 18px 0 32px rgba(75,63,44,.08), inset -8px 0 20px rgba(75,63,44,.06); }
  .spine, .book-depth { display:none; }
  .flip-layer { width:100%; left:0 !important; right:0 !important; transform-origin:100% 50% !important; }
  .flip-layer.forward { animation:mobileFlipF .7s cubic-bezier(.42,.02,.24,1) forwards; }
  .flip-layer.backward { animation:mobileFlipB .7s cubic-bezier(.42,.02,.24,1) forwards; }
  @keyframes mobileFlipF { to{ transform:rotateY(180deg) } }
  @keyframes mobileFlipB { from{transform:rotateY(-180deg)} to{transform:rotateY(0)} }
  .poem-inner { top:9.7%; bottom:28.8%; left:9.7%; right:9.7%; }
  .poem-title { font-size:clamp(25px,7.2vw,35px); line-height:1.02; }
  .poem-body { width:min(95%,372px); font-size:clamp(12.8px,3.5vw,15.4px); line-height:1.5; }
  .poem-body p { margin-bottom:.88em; }
  .title-rule { filter:saturate(1.08); height:17px; margin:0 0 7px; }
  .running-head { top:4.2%; font-size:9px; }
  .gate-label { font-size:8px; margin-bottom:3px; }
  .illustration-fade { left:0; right:0; height:25.5%; opacity:.87; bottom:3.7%; filter:saturate(1.3) contrast(1.11) sepia(.02) brightness(1.03); }
  .page-number { font-size:10px; }
  .nav-hit { position:absolute; top:50%; transform:translateY(-50%); width:38px; height:72px; border-radius:14px; }
  .nav-next { left:5px; }
  .nav-prev { right:5px; }
  .nav-hit:hover:not(:disabled) { transform:translateY(-50%); }
  .nav-hit small { display:none; }
  .reader-footer { padding:0 8px 2px; min-height:25px; font-size:9px; }
  .progress-copy { justify-self:start; }
}

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

.cover-return { border-color:rgba(211,176,110,.28); color:#f0dfbd; background:rgba(211,176,110,.07); padding-inline:10px; }
.cover-return:hover { background:rgba(211,176,110,.13) !important; color:#fff0cf !important; }
.cover-return .label { display:inline !important; font-size:10px !important; }
@media (max-width:680px){ .cover-return { min-width:auto; padding-inline:8px; } .cover-return .label { font-size:9px !important; } }


/* V6 experience enhancements */
.landing-links { margin-top:18px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.contact-landing-link { display:inline-flex; align-items:center; gap:7px; padding:7px 2px 6px; }
.contact-landing-link span:first-child { color:#d5b777; font-size:13px; transform:translateY(-1px); }
.landing-link-btn { border:0; background:none; color:#d2bea0; padding:4px 0; cursor:pointer; font-size:12px; border-bottom:1px solid rgba(210,190,160,.25); transition:.2s ease; }
.landing-link-btn:hover { color:#fff0d5; border-color:#d4b875; }
.site-credit { position:absolute; bottom:16px; left:max(18px,2.4vw); color:#a6a095; font-size:10px; letter-spacing:.025em; direction:rtl; unicode-bidi:isolate; display:flex; align-items:center; gap:4px; }
.site-credit strong { color:#d0b583; font-weight:600; letter-spacing:.055em; unicode-bidi:isolate; }
.contact-accent { color:#e3c486; }
.icon-btn.feature-btn { color:#ead8ba; border-color:rgba(218,183,115,.18); box-shadow:0 0 0 1px rgba(218,183,115,.04) inset; }
.icon-btn.feature-btn:hover { border-color:rgba(218,183,115,.34); }
.icon-btn.is-active { color:#fff3d6; border-color:rgba(226,194,132,.42); background:linear-gradient(180deg,rgba(223,190,127,.18),rgba(255,255,255,.03)); }

.contact-drawer { position:fixed; z-index:95; top:0; bottom:0; right:0; width:min(420px,94vw); padding:28px; background:#f6efe4; color:#354039; box-shadow:-28px 0 80px rgba(0,0,0,.38); transform:translateX(106%); transition:transform .35s cubic-bezier(.2,.76,.2,1); overflow:auto; }
.contact-drawer.open { transform:none; }
.contact-drawer h2 { font-family:"Assistant", Arial, sans-serif; font-size:34px; font-weight:500; margin:4px 0 10px; color:#2e3b3b; }
.contact-drawer p { color:#6e706a; line-height:1.7; font-size:14px; }
.contact-form { display:grid; gap:12px; margin-top:20px; }
.contact-form label { display:grid; gap:5px; font-size:11px; color:#74766f; }
.contact-form input,.contact-form textarea { width:100%; border:1px solid #d4caba; background:#fffaf1; color:#303b3c; border-radius:10px; padding:11px 12px; font:inherit; outline:none; }
.contact-form textarea { min-height:110px; resize:vertical; }
.contact-form input:focus,.contact-form textarea:focus { border-color:#aa8c57; box-shadow:0 0 0 3px rgba(170,140,87,.10); }
.contact-submit { border:1px solid #b6955c; background:linear-gradient(180deg,#e9d3ad,#d9bd8d); color:#2a2721; min-height:44px; border-radius:999px; cursor:pointer; font-weight:600; }
.contact-note { margin-top:12px; font-size:10px !important; color:#979489 !important; }
.toast { position:fixed; z-index:120; left:50%; bottom:26px; transform:translate(-50%,14px); opacity:0; pointer-events:none; background:rgba(22,25,27,.94); border:1px solid rgba(255,255,255,.10); color:#f3ead7; padding:10px 16px; border-radius:999px; font-size:12px; box-shadow:0 14px 42px rgba(0,0,0,.3); transition:.25s ease; }
.toast.show { opacity:1; transform:translate(-50%,0); }
.page-corner-cue { position:absolute; z-index:12; bottom:0; left:0; width:58px; height:58px; pointer-events:none; opacity:.32; background:linear-gradient(135deg,transparent 50%,rgba(176,142,86,.22) 51%,rgba(255,255,255,.38) 72%,transparent 73%); }
@media (max-width:900px){ .site-credit{ position:static; margin-top:10px; text-align:center; direction:ltr; } .landing-links{ justify-content:center; } }
@media (max-width:680px){ .landing-links{ margin-top:12px; gap:12px; } .contact-drawer{padding:22px;} }

.cover-stage::after { content:"לחצו על הכריכה לפתיחת הספר"; position:absolute; bottom:-28px; left:50%; transform:translateX(-50%); color:#9f9b91; font-size:10px; white-space:nowrap; opacity:0; transition:opacity .25s ease, transform .25s ease; pointer-events:none; }
.cover-stage:hover::after, .cover-stage:focus-visible::after { opacity:.9; transform:translate(-50%,-2px); }
@media (max-width:900px){ .cover-stage::after{display:none;} }

@media (min-width:681px) and (max-width:1050px){
  .reader-actions{gap:3px;}
  .icon-btn{min-width:38px;padding-inline:6px;}
  .icon-btn .label{font-size:8px;}
}

/* V11 — immersive reader, library, favorites and media */
.reader-bar,.reader-footer,.nav-hit { transition:opacity .34s ease, transform .34s ease, background .2s ease; }
.reader.ui-hidden .reader-bar { opacity:.06; transform:translateY(-88%); pointer-events:none; }
.reader.ui-hidden .reader-footer { opacity:0; transform:translateY(90%); pointer-events:none; }
.reader.ui-hidden .nav-hit { opacity:.08; pointer-events:none; }
.reader:not(.ui-hidden) .reader-bar,.reader:not(.ui-hidden) .reader-footer,.reader:not(.ui-hidden) .nav-hit { opacity:1; }

.library-search-wrap { margin:17px 0 10px; height:43px; display:flex; align-items:center; gap:9px; border:1px solid #d8cfbf; border-radius:13px; padding:0 12px; background:#fffaf2; color:#9b8c73; }
.library-search-wrap input { flex:1; min-width:0; border:0; outline:0; background:transparent; color:#37423d; font:13px "Assistant", Arial, sans-serif; }
.library-search-wrap input::placeholder { color:#aaa49a; }
.library-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; padding:5px; border-radius:12px; background:#e9e1d3; margin-bottom:6px; }
.library-status { min-height:18px; margin:0 1px 6px; color:#918778; font-size:10px; }
.library-tab { min-height:34px; border:0; border-radius:9px; background:transparent; color:#777970; cursor:pointer; font-size:11px; }
.library-tab.active { background:#fffaf0; color:#35413d; box-shadow:0 2px 9px rgba(73,62,46,.10); font-weight:600; }
.library-tab span { color:#a27b50; margin-inline-start:2px; }
.library-content { padding-top:8px; }
.library-empty { padding:34px 8px; text-align:center; color:#97958d; font-size:12px; line-height:1.8; }
.page-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:8px 0 18px; }
.page-thumb { position:relative; min-height:145px; padding:12px; overflow:hidden; border:1px solid #d9d0bf; border-radius:12px; background:#f8f1e5; cursor:pointer; text-align:right; color:#38433f; box-shadow:0 5px 16px rgba(80,65,42,.06); }
.page-thumb::before { content:""; position:absolute; left:0; right:0; bottom:0; height:58%; background:var(--thumb) center bottom/cover no-repeat; opacity:.50; filter:saturate(1.22) contrast(1.05); -webkit-mask-image:linear-gradient(to bottom,transparent,#000 42%); mask-image:linear-gradient(to bottom,transparent,#000 42%); }
.page-thumb > * { position:relative; z-index:2; }
.page-thumb small { display:block; color:#9a8c77; font-size:9px; margin-bottom:5px; }
.page-thumb strong { display:block; font-family:"Assistant", Arial, sans-serif; font-size:18px; font-weight:500; line-height:1.12; }
.page-thumb:hover { transform:translateY(-1px); border-color:#b9a88d; }
.search-hit { display:block; margin-top:5px; color:#8a806f; font-size:10px; line-height:1.5; }

.page-favorite { position:absolute; z-index:13; top:5.55%; width:52px; min-height:52px; padding:4px 3px 5px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; border:1px solid rgba(166,122,107,.15); border-radius:17px; background:linear-gradient(180deg,rgba(255,252,246,.91),rgba(246,238,226,.80)); color:#9f8c77; cursor:pointer; opacity:.98; box-shadow:0 11px 26px rgba(79,66,47,.085); transition:transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease; backdrop-filter:blur(2px); }
.page-right .page-favorite { right:4.9%; }
.page-left .page-favorite { left:4.9%; }
.page-favorite:hover { color:#9f5d63; background:linear-gradient(180deg,rgba(255,253,249,.98),rgba(251,243,234,.94)); transform:translateY(-2px); box-shadow:0 14px 30px rgba(79,66,47,.11); }
.page-favorite .fav-icon { font-size:26px; line-height:.95; transition:transform .22s ease, color .22s ease; }
.page-favorite .fav-text { font:600 9px/1 "Assistant", Arial, sans-serif; color:#978a7a; letter-spacing:.01em; transition:color .2s ease; }
.page-favorite.saved { color:#b25160; border-color:rgba(178,82,97,.24); background:linear-gradient(180deg,rgba(245,210,217,.72),rgba(250,232,236,.64)); box-shadow:0 10px 24px rgba(157,70,84,.10); }
.page-favorite.saved .fav-icon { font-size:0; }
.page-favorite.saved .fav-icon::before { content:"♥"; font-size:24px; color:rgba(178,73,89,.82); text-shadow:0 2px 8px rgba(178,73,89,.10); }
.page-favorite.saved .fav-text { color:#ad6973; }
.page-favorite.just-saved .fav-icon::before { animation:heartPop .42s cubic-bezier(.2,.85,.25,1.3); }
@keyframes heartPop { 0%{transform:scale(.55)} 55%{transform:scale(1.22)} 100%{transform:scale(1)} }

.media-trigger { position:absolute; z-index:13; top:6.15%; min-height:39px; max-width:128px; padding:6px 12px 6px 9px; border:1px solid color-mix(in srgb,var(--accent) 38%,#d6cbb9); border-radius:999px; background:linear-gradient(180deg,rgba(255,252,247,.94),rgba(246,238,228,.86)); color:color-mix(in srgb,var(--accent) 74%,#4f504b); display:flex; align-items:center; gap:7px; cursor:pointer; box-shadow:0 10px 24px rgba(70,59,41,.075); backdrop-filter:blur(3px); font:600 10px "Assistant", Arial, sans-serif; transition:transform .2s ease, background .2s ease, box-shadow .2s ease; }
.page-right .media-trigger { right:16.7%; }
.page-left .media-trigger { left:16.7%; }
.media-trigger:hover { background:#fffaf2; transform:translateY(-2px); box-shadow:0 14px 28px rgba(70,59,41,.10); }
.media-play { width:21px; height:21px; display:grid; place-items:center; border-radius:50%; background:var(--accent); color:#fff; font-size:8px; padding-inline-start:1px; box-shadow:0 5px 12px rgba(0,0,0,.13); }


.media-panel { position:fixed; z-index:110; left:max(14px,1.5vw); top:54px; width:min(360px,28vw); border:1px solid rgba(255,255,255,.12); border-radius:16px; overflow:hidden; background:#171b20; box-shadow:0 24px 70px rgba(0,0,0,.48); color:#f1eadb; transform:translateX(calc(-100% - 30px)); opacity:0; pointer-events:none; transition:.32s cubic-bezier(.2,.76,.2,1); }
.media-panel.open { transform:none; opacity:1; pointer-events:auto; }
.media-panel-head { min-height:48px; padding:8px 10px 8px 13px; display:flex; align-items:center; justify-content:space-between; gap:10px; background:linear-gradient(180deg,#242a31,#1b2026); }
.media-panel-head div { display:grid; gap:1px; }
.media-panel-head small { color:#a89b87; font-size:9px; }
.media-panel-head strong { font-family:"Assistant", Arial, sans-serif; font-size:16px; font-weight:500; }
.media-close { width:30px; height:30px; border:1px solid rgba(255,255,255,.12); border-radius:50%; background:transparent; color:#e8dfce; cursor:pointer; font-size:19px; }
.media-frame-wrap { aspect-ratio:16/9; background:#000; }
.media-frame-wrap iframe { display:block; width:100%; height:100%; border:0; }

@media (max-width:1180px) and (min-width:681px) {
  .media-panel { width:330px; left:12px; top:auto; bottom:36px; }
}
@media (max-width:680px) {
  .page-favorite { top:3.9%; right:auto !important; left:4.4% !important; width:48px; min-height:48px; padding:4px 2px; }
  .page-favorite .fav-icon { font-size:22px; }
  .page-favorite .fav-text { font-size:8px; }
  .media-trigger { top:4.35%; bottom:auto; right:18.4% !important; left:auto !important; min-height:34px; max-width:118px; font-size:9px; padding:5px 9px 5px 8px; }
  .media-panel { left:8px; right:8px; top:auto; bottom:8px; width:auto; border-radius:16px; transform:translateY(calc(100% + 20px)); }
  .media-panel.open { transform:none; }
  .page-grid { grid-template-columns:repeat(2,1fr); gap:8px; }
  .page-thumb { min-height:126px; padding:10px; }
  .page-thumb strong { font-size:16px; }
  .library-drawer { padding:22px; }
}

.media-trigger[hidden] { display:none !important; }

.library-tab.active { box-shadow:0 8px 18px rgba(0,0,0,.08); }
.media-trigger .media-label { white-space:nowrap; }

.static-page::after { content:""; position:absolute; z-index:7; top:0; bottom:0; width:6px; pointer-events:none; opacity:.26; }
.page-right::after { right:0; background:linear-gradient(90deg,transparent,rgba(255,255,255,.55)); }
.page-left::after { left:0; background:linear-gradient(90deg,rgba(255,255,255,.55),transparent); }

/* V15 — real page-curl engine (StPageFlip), RTL mirrored geometry */
.pageflip-wrap {
  position: relative;
  width: min(100%, calc((100dvh - 74px) * 1.41));
  aspect-ratio: 1.41 / 1;
  margin: auto;
  display: grid;
  place-items: center;
  overflow: visible;
}
.pageflip-mirror {
  width: 100%;
  height: 100%;
  transform: scaleX(-1);
  transform-origin: 50% 50%;
  transition: filter .28s ease, transform .28s ease;
  filter: drop-shadow(0 34px 38px rgba(0,0,0,.48)) drop-shadow(0 0 24px rgba(211,171,103,.08));
}
.reader.page-folding .pageflip-mirror {
  filter: drop-shadow(0 40px 48px rgba(0,0,0,.52)) drop-shadow(0 0 28px rgba(220,180,111,.12));
}
#book.pageflip-book {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  aspect-ratio: auto;
  perspective: none;
  transform-style: flat;
  filter: none;
  cursor: grab;
  touch-action: none;
}
#book.pageflip-book:active { cursor: grabbing; }
#book .stf__parent,
#book .stf__block { overflow: visible !important; }
#book .stf__block { perspective: 2600px !important; }
#book .stf__outerShadow,
#book .stf__innerShadow { pointer-events:none; }
#book .stf__outerShadow { mix-blend-mode: multiply; filter: blur(.15px); }
#book .stf__innerShadow { mix-blend-mode: multiply; }

.book-sheet {
  overflow: hidden;
  background: #f6efe3;
  box-shadow: inset 0 0 34px rgba(83,67,47,.035);
  border-radius: 2px;
}
.book-sheet::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:50;
  background:
    linear-gradient(96deg, rgba(255,255,255,.08), transparent 20%, transparent 72%, rgba(129,100,62,.05)),
    repeating-linear-gradient(11deg, rgba(83,65,45,.018) 0 1px, transparent 1px 7px);
  mix-blend-mode:multiply;
}
.book-sheet::after {
  content:"";
  position:absolute;
  inset:-10% -35%;
  z-index:55;
  pointer-events:none;
  opacity:.14;
  background:linear-gradient(105deg, transparent 36%, rgba(255,255,255,.58) 48%, rgba(255,248,229,.18) 52%, transparent 64%);
  transform:translateX(-18%);
  mix-blend-mode:screen;
}
.reader.page-folding .book-sheet::after {
  opacity:.24;
  animation:paperGlint .9s ease-in-out both;
}
@keyframes paperGlint {
  0% { transform:translateX(-38%); opacity:.06; }
  45% { opacity:.30; }
  100% { transform:translateX(38%); opacity:.08; }
}

.page-mirror-content {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  transform:scaleX(-1);
  transform-origin:50% 50%;
  overflow:hidden;
}
.page-mirror-content > .poem-page {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

/* page-local controls now use actual Hebrew visual side */
.book-sheet.rtl-right .page-favorite { right:4.9%; left:auto; }
.book-sheet.rtl-left .page-favorite { left:4.9%; right:auto; }
.book-sheet.rtl-right .media-trigger { right:16.7%; left:auto; }
.book-sheet.rtl-left .media-trigger { left:16.7%; right:auto; }

/* subtle physical spine and stacked-edge illusion around the real engine */
.pageflip-wrap::before {
  content:"";
  position:absolute;
  z-index:60;
  top:1.1%;
  bottom:1.2%;
  left:50%;
  width:20px;
  transform:translateX(-50%);
  pointer-events:none;
  opacity:.84;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(52,41,29,.08) 22%,
    rgba(76,58,39,.18) 44%,
    rgba(255,255,255,.34) 53%,
    rgba(67,51,36,.10) 72%,
    transparent 100%);
  mix-blend-mode:multiply;
  filter:blur(.2px);
}
.reader.page-folding .pageflip-wrap::before { opacity:.96; }
.pageflip-wrap::after {
  content:"";
  position:absolute;
  z-index:-1;
  left:3.2%; right:3.2%; bottom:-9px;
  height:17px;
  border-radius:50%;
  background:rgba(0,0,0,.44);
  filter:blur(15px);
  pointer-events:none;
}
.pageflip-wrap .book-shadow { display:none; }

.page-turn-tip {
  position:absolute;
  z-index:75;
  left:50%;
  bottom:-27px;
  transform:translateX(-50%);
  pointer-events:none;
  color:#b7a98f;
  border:1px solid rgba(229,205,158,.13);
  background:rgba(22,25,28,.68);
  backdrop-filter:blur(8px);
  border-radius:999px;
  padding:5px 10px;
  font-size:9px;
  white-space:nowrap;
  opacity:.84;
  transition:opacity .35s ease, transform .35s ease;
  box-shadow:0 9px 25px rgba(0,0,0,.16);
}
.page-turn-tip.seen { opacity:0; transform:translate(-50%,4px); }

/* make the corner visually invite a drag without faking the fold */
#book .book-sheet.--right .page-mirror-content::after,
#book .book-sheet.--left .page-mirror-content::after {
  content:"";
  position:absolute;
  width:58px;
  height:58px;
  bottom:0;
  opacity:.18;
  pointer-events:none;
  transition:opacity .2s ease;
  background:linear-gradient(135deg, transparent 49%, rgba(176,142,86,.18) 50%, rgba(255,255,255,.30) 72%, transparent 73%);
}
#book .book-sheet.--right .page-mirror-content::after { right:0; }
#book .book-sheet.--left .page-mirror-content::after { left:0; transform:scaleX(-1); }
#book:hover .book-sheet.--right .page-mirror-content::after,
#book:hover .book-sheet.--left .page-mirror-content::after { opacity:.34; }

@media (max-width:680px) {
  .pageflip-wrap {
    width:min(100%, 444px);
    height:auto;
    max-height:calc(100dvh - 66px);
    aspect-ratio:var(--page-ratio);
  }
  .pageflip-mirror { width:100%; height:100%; }
  .pageflip-wrap::before { display:none; }
  .page-turn-tip { bottom:-21px; font-size:8px; padding:4px 8px; }
  .book-sheet .page-favorite { top:3.9%; right:auto !important; left:4.4% !important; width:48px; min-height:48px; }
  .book-sheet .media-trigger { top:4.35%; bottom:auto; right:18.4% !important; left:auto !important; min-height:34px; max-width:118px; font-size:9px; padding:5px 9px 5px 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .reader.page-folding .book-sheet::after { animation:none !important; }
}
#book.stf__parent { position:relative; display:block; box-sizing:border-box; }
#book.stf__parent > .stf__wrapper { width:100%; max-height:100%; }

.toc-item.current, .page-thumb.current { border-color:#b99b6a; background:linear-gradient(180deg,#fbf5e8,#f3ead8); box-shadow:0 10px 24px rgba(120,96,63,.10); }
.toc-item.current strong, .page-thumb.current strong { color:#2c3734; }
.toc-item.current::before { content:"כאן"; color:#a78756; font-size:9px; margin-inline-start:10px; }
.page-thumb.current::after { content:"כאן"; position:absolute; top:10px; left:10px; padding:4px 8px; border-radius:999px; background:rgba(164,132,81,.12); color:#8a6b40; font-size:9px; }
.reader-bar .icon-btn:focus-visible, .nav-hit:focus-visible, .page-favorite:focus-visible, .media-trigger:focus-visible { outline-color:#f0dbaf; }
.page-turn-tip { border-color: rgba(229,205,158,.18); }

@media (max-width: 1050px){ .reader-actions{ overflow-x:auto; scrollbar-width:none; padding-bottom:2px; } }


/* V20 book-structure enhancements */
.poem-body { overflow:hidden; }
.poem-page.kind-title .running-head,
.poem-page.kind-gate .running-head { letter-spacing:.12em; }
.poem-page.kind-title .poem-inner,
.poem-page.kind-gate .poem-inner,
.poem-page.kind-prose .poem-inner { bottom:22.4%; }
.poem-page.kind-title .poem-inner { top:18%; text-align:center; }
.poem-page.kind-title .gate-label { text-align:center; color:rgba(84,74,61,.72); font-size:clamp(13px,1.2vw,17px); letter-spacing:.18em; }
.poem-page.kind-title .poem-title { text-align:center; font-size:clamp(34px,3vw,48px); }
.poem-page.kind-title .poem-body { width:min(90%,420px); text-align:center; }
.title-support { margin:0; white-space:pre-line; }
.title-subtitle { color:#7c654e; font-size:clamp(18px,1.6vw,24px); margin-bottom:14px; }
.title-author { color:#4d4a4a; font-size:clamp(16px,1.25vw,21px); }
.poem-page.kind-gate .poem-inner { top:18%; text-align:center; }
.poem-page.kind-gate .gate-label,
.poem-page.kind-gate .poem-title,
.poem-page.kind-gate .poem-body { text-align:center; }
.poem-page.kind-gate .gate-label { font-size:clamp(14px,1.15vw,17px); letter-spacing:.24em; color:rgba(84,74,61,.74); margin-bottom:14px; }
.poem-page.kind-gate .poem-title { font-size:clamp(34px,3vw,48px); margin-bottom:18px; }
.section-subtitle { margin:0 0 22px; font-size:clamp(18px,1.45vw,24px); color:#645d58; }
.section-epigraph { margin:0 auto; max-width:420px; font-size:clamp(16px,1.25vw,20px); line-height:1.8; color:#514946; font-style:italic; border:0; }
.poem-page.kind-prose .poem-inner { top:14.6%; }
.poem-page.kind-prose .gate-label { color:rgba(84,74,61,.68); }
.poem-page.kind-prose .poem-body { width:min(91%,470px); font-size:clamp(12.8px,1.18vw,18px); line-height:1.72; }
.poem-page.kind-prose .poem-body p { margin-bottom:1.1em; }
.poem-page.is-compact .poem-body { font-size:clamp(12.1px,1.2vw,17px); line-height:1.54; }
.poem-page.is-tight .poem-body { font-size:clamp(11.2px,1.08vw,15.7px); line-height:1.46; }
.poem-page.is-tight .poem-body p { margin-bottom:.78em; }
.poem-page.is-placeholder .poem-body p:last-child { color:#6f6661; font-size:.93em; }
.poem-note { margin-top:1.15em; color:#746e67; font-size:.92em; }
.blank-page { background:linear-gradient(180deg, rgba(255,250,243,.92), rgba(251,246,236,.96)); }
.blank-page .running-head,
.blank-page .poem-inner,
.blank-page .page-number,
.blank-page .page-favorite,
.blank-page .media-trigger { display:none !important; }
.blank-page .illustration-fade { display:none !important; }
@media (max-width: 680px) {
  .poem-page.kind-title .poem-inner,
  .poem-page.kind-gate .poem-inner { top:15.2%; bottom:20.8%; }
  .poem-page.kind-prose .poem-inner { top:11.8%; bottom:22%; }
  .section-epigraph { max-width:330px; }
}


.poem-page.kind-poem .poem-inner { bottom:26.8%; }
.poem-page.kind-poem .poem-body { width:min(91%, 468px); }
.poem-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px; align-items:start; direction:rtl; }
.poem-col { min-width:0; }
.poem-col p:last-child { margin-bottom:0; }
.poem-page.is-two-col .poem-body { width:min(92%, 510px); font-size:clamp(11.5px,1.12vw,16.5px); line-height:1.44; }
.poem-page.is-two-col .poem-body p { margin-bottom:.8em; }
.poem-page.is-two-col.is-tight .poem-body { font-size:clamp(10.7px,1.02vw,14.8px); line-height:1.36; }
.poem-page.is-two-col.is-tight .poem-body p { margin-bottom:.7em; }
.poem-page.is-two-col.is-compact .poem-body { font-size:clamp(11.1px,1.05vw,15.3px); }
.poem-page.is-two-col .poem-note { grid-column:1 / -1; margin-top:.7em; }
.poem-page.is-placeholder .poem-columns .poem-col:last-child p:last-child { color:#6f6661; font-size:.93em; }
@media (max-width: 680px) {
  .poem-page.kind-poem .poem-inner { bottom:27.8%; }
  .poem-page.is-two-col .poem-body { width:min(95%, 390px); font-size:clamp(10.3px,2.8vw,12.1px); line-height:1.34; }
  .poem-columns { gap:12px; }
  .poem-page.is-two-col .poem-body p { margin-bottom:.65em; }
}


/* V22 — final page-fit and symmetry pass */
.running-head { top:3.65%; }
.poem-page.kind-poem .poem-inner {
  top:7.8%; bottom:24.1%; left:8.6%; right:8.6%;
  display:flex; flex-direction:column;
}
.poem-page.kind-poem .gate-label { margin-bottom:2px; }
.poem-page.kind-poem .poem-title { font-size:clamp(23px,2.85vw,43px); line-height:1.02; }
.poem-page.kind-poem .title-rule { height:18px; margin:0 0 7px; }
.poem-page.kind-poem .poem-body,
.poem-page.kind-poem.is-compact .poem-body,
.poem-page.kind-poem.is-tight .poem-body,
.poem-page.kind-poem.is-two-col .poem-body,
.poem-page.kind-poem.is-two-col.is-compact .poem-body,
.poem-page.kind-poem.is-two-col.is-tight .poem-body {
  flex:1; min-height:0; overflow:hidden;
  font-size:clamp(12.6px,1.16vw,17.4px); line-height:1.48;
}
.poem-page.kind-poem .poem-body { width:min(91%,470px); }
.poem-page.kind-poem .poem-body p,
.poem-page.kind-poem.is-compact .poem-body p,
.poem-page.kind-poem.is-tight .poem-body p { margin:0 0 .88em; }
.poem-page.kind-poem.is-two-col .poem-body { width:100%; }
.poem-columns {
  height:100%; display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  column-gap:20px; align-items:start; direction:rtl;
}
.poem-page.kind-poem.is-two-col .poem-col { min-width:0; }
.poem-page.kind-poem.is-two-col .poem-col p { margin:0 0 .62em; }
.poem-page.kind-poem.is-two-col .poem-col:last-child { padding-inline-start:3px; }

.poem-page.kind-poem .illustration-fade,
.poem-page.kind-title .illustration-fade,
.poem-page.kind-prose .illustration-fade,
.poem-page.kind-gate .illustration-fade {
  left:0; right:0; bottom:3.5%; height:19.7%;
  background-size:100% auto; background-position:center bottom; background-repeat:no-repeat;
  opacity:.93; filter:saturate(1.18) contrast(1.07) sepia(.01) brightness(1.02);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.22) 14%,#000 43%,#000 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.22) 14%,#000 43%,#000 100%);
}

.reader-scene { grid-template-columns:42px minmax(0,1480px) 42px; gap:3px; }
.nav-hit,.nav-next,.nav-prev {
  width:40px; height:74px; min-width:40px; min-height:74px; max-width:40px; max-height:74px;
  border-radius:16px; border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
  color:#c7baa3; padding:0; margin:0; align-self:center;
}
.nav-next { justify-self:end; } .nav-prev { justify-self:start; }
.nav-chev { display:block; width:22px; height:29px; font-size:31px; line-height:27px; text-align:center; }
.nav-hit small { display:block; width:100%; font-size:9px; line-height:12px; text-align:center; }

@media (max-width:680px) {
  .running-head { top:3.35%; }
  .poem-page.kind-poem .poem-inner { top:7.2%; bottom:23.8%; left:7.8%; right:7.8%; }
  .poem-page.kind-poem .poem-title { font-size:clamp(24px,6.7vw,33px); }
  .poem-page.kind-poem .poem-body,
  .poem-page.kind-poem.is-compact .poem-body,
  .poem-page.kind-poem.is-tight .poem-body,
  .poem-page.kind-poem.is-two-col .poem-body,
  .poem-page.kind-poem.is-two-col.is-compact .poem-body,
  .poem-page.kind-poem.is-two-col.is-tight .poem-body {
    font-size:clamp(12.1px,3.18vw,14.3px); line-height:1.43;
  }
  .poem-page.kind-poem.is-two-col .poem-body { width:100%; }
  .poem-columns { column-gap:10px; }
  .poem-page.kind-poem.is-two-col .poem-col p { margin-bottom:.55em; }
  .poem-page.kind-poem .illustration-fade,
  .poem-page.kind-title .illustration-fade,
  .poem-page.kind-prose .illustration-fade,
  .poem-page.kind-gate .illustration-fade {
    height:18.5%; bottom:3.4%; background-size:100% auto; background-position:center bottom;
  }
  .nav-hit,.nav-next,.nav-prev {
    width:38px; height:70px; min-width:38px; min-height:70px; max-width:38px; max-height:70px; top:50%;
  }
}


/* V23 – overflow, illustration and navigation refinement */
.running-head { top:3.05% !important; }

.poem-page.kind-poem .poem-inner {
  top:6.2% !important;
  bottom:21.9% !important;
  left:8.2% !important;
  right:8.2% !important;
}
.poem-page.kind-poem .gate-label { margin-bottom:1px !important; }
.poem-page.kind-poem .poem-title { margin-bottom:3px !important; }
.poem-page.kind-poem .title-rule { margin:0 0 6px !important; }
.poem-page.kind-poem .poem-body,
.poem-page.kind-poem.is-compact .poem-body,
.poem-page.kind-poem.is-tight .poem-body,
.poem-page.kind-poem.is-two-col .poem-body,
.poem-page.kind-poem.is-two-col.is-compact .poem-body,
.poem-page.kind-poem.is-two-col.is-tight .poem-body {
  font-size:clamp(12.8px,1.14vw,17.8px) !important;
  line-height:1.5 !important;
  width:min(92%, 486px) !important;
  flex:1; min-height:0; overflow:hidden;
}
.poem-page.kind-poem .poem-body p,
.poem-page.kind-poem.is-two-col .poem-col p { margin:0 0 .75em !important; }
.poem-page.kind-poem.is-two-col .poem-body { width:100% !important; }
.poem-columns {
  height:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  column-gap:18px;
  align-items:start;
  direction:rtl;
}
.poem-page.kind-poem.is-two-col .poem-col { min-width:0; }

.poem-page.kind-prose .poem-inner {
  top:10.2% !important;
  bottom:17.6% !important;
  left:8.6% !important;
  right:8.6% !important;
}
.poem-page.kind-prose .poem-body {
  width:min(92%, 500px) !important;
  font-size:clamp(11.9px,1.03vw,15.7px) !important;
  line-height:1.58 !important;
}
.poem-page.kind-prose .poem-body p { margin:0 0 .95em !important; }
.poem-page.kind-prose.is-prose-tight .poem-body {
  font-size:clamp(11.2px,0.98vw,14.8px) !important;
  line-height:1.5 !important;
}
.poem-page.kind-prose.is-prose-two-col .poem-body {
  width:100% !important;
  font-size:clamp(11.2px,0.95vw,14.6px) !important;
  line-height:1.46 !important;
}
.poem-page.kind-prose.is-prose-two-col .prose-columns { column-gap:20px; }
.poem-page.kind-prose.is-prose-two-col .prose-columns .poem-col p { margin:0 0 .78em !important; }

.poem-page.kind-poem .illustration-fade {
  left:0 !important; right:0 !important; bottom:2.9% !important; height:22.6% !important;
  background-size:100% auto !important;
  background-position:center bottom !important;
  background-repeat:no-repeat !important;
  opacity:.97 !important;
  filter:saturate(1.18) contrast(1.06) brightness(1.01) !important;
}
.poem-page.kind-prose .illustration-fade {
  left:0 !important; right:0 !important; bottom:2.6% !important; height:13.3% !important;
  background-size:100% auto !important;
  background-position:center bottom !important;
  opacity:.92 !important;
}
.poem-page.kind-title .illustration-fade,
.poem-page.kind-gate .illustration-fade {
  left:0 !important; right:0 !important; bottom:2.8% !important; height:17.6% !important;
  background-size:100% auto !important;
  background-position:center bottom !important;
}

.reader-scene {
  position:relative !important;
  grid-template-columns:minmax(0,1480px) !important;
  justify-content:center !important;
  gap:0 !important;
  padding:2px 12px 1px !important;
}
.book-wrap { grid-column:1 !important; position:relative; }
.nav-hit {
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:40px !important; height:74px !important;
  min-width:40px !important; min-height:74px !important;
  max-width:40px !important; max-height:74px !important;
  margin:0 !important;
  border-radius:16px !important;
  z-index:6 !important;
}
.nav-next {
  left:calc(50% - min(706px, 47vw) - 14px) !important;
  right:auto !important;
}
.nav-prev {
  right:calc(50% - min(706px, 47vw) - 14px) !important;
  left:auto !important;
}
.nav-hit:hover:not(:disabled) { transform:translateY(-50%) !important; }

@media (max-width: 680px) {
  .running-head { top:3.15% !important; }
  .poem-page.kind-poem .poem-inner { top:6.8% !important; bottom:21.8% !important; left:7.4% !important; right:7.4% !important; }
  .poem-page.kind-poem .poem-body,
  .poem-page.kind-poem.is-compact .poem-body,
  .poem-page.kind-poem.is-tight .poem-body,
  .poem-page.kind-poem.is-two-col .poem-body,
  .poem-page.kind-poem.is-two-col.is-compact .poem-body,
  .poem-page.kind-poem.is-two-col.is-tight .poem-body {
    font-size:clamp(12.0px,3.18vw,14.4px) !important;
    line-height:1.42 !important;
  }
  .poem-columns { column-gap:12px !important; }
  .poem-page.kind-prose .poem-inner { top:9.2% !important; bottom:16.5% !important; left:7.4% !important; right:7.4% !important; }
  .poem-page.kind-prose .poem-body,
  .poem-page.kind-prose.is-prose-tight .poem-body,
  .poem-page.kind-prose.is-prose-two-col .poem-body {
    font-size:clamp(10.4px,2.62vw,13.2px) !important;
    line-height:1.42 !important;
  }
  .poem-page.kind-poem .illustration-fade { height:20.8% !important; }
  .poem-page.kind-prose .illustration-fade { height:12.2% !important; }
  .nav-hit {
    width:38px !important; height:70px !important; min-width:38px !important; min-height:70px !important;
    max-width:38px !important; max-height:70px !important;
    top:50% !important;
  }
  .nav-next { left:6px !important; }
  .nav-prev { right:6px !important; }
}


/* V24 – opening pages fit, distinct illustrations, symmetric near-book nav */
.poem-page.kind-prose[data-page="3"] .poem-inner,
.poem-page.kind-prose[data-page="5"] .poem-inner {
  top: 8.2% !important;
  bottom: 12.6% !important;
  left: 7.6% !important;
  right: 7.6% !important;
}
.poem-page.kind-prose[data-page="3"] .poem-body,
.poem-page.kind-prose[data-page="5"] .poem-body {
  width: min(94%, 520px) !important;
  font-size: clamp(10.8px, .93vw, 14.3px) !important;
  line-height: 1.46 !important;
}
.poem-page.kind-prose[data-page="3"] .poem-body p,
.poem-page.kind-prose[data-page="5"] .poem-body p { margin: 0 0 .84em !important; }
.poem-page.kind-prose[data-page="3"] .illustration-fade,
.poem-page.kind-prose[data-page="5"] .illustration-fade {
  height: 8.8% !important;
  bottom: 2.2% !important;
  opacity: .9 !important;
}
.poem-page.kind-prose.is-prose-two-col .poem-body {
  width: 100% !important;
  font-size: clamp(10.8px, .91vw, 14.0px) !important;
  line-height: 1.42 !important;
}
.poem-page.kind-prose.is-prose-tighter .poem-body {
  font-size: clamp(10.1px, .86vw, 13.4px) !important;
  line-height: 1.35 !important;
}
.poem-page.kind-prose.is-prose-tighter .prose-columns { column-gap: 16px !important; }
.poem-page.kind-poem .illustration-fade {
  height: 20.8% !important;
  bottom: 2.6% !important;
  opacity: .98 !important;
  background-size: contain !important;
  background-position: center bottom !important;
}
.poem-page.kind-title .illustration-fade,
.poem-page.kind-gate .illustration-fade {
  height: 17% !important;
  bottom: 2.4% !important;
  background-size: contain !important;
}
.poem-page.kind-prose .illustration-fade {
  background-size: contain !important;
  background-position: center bottom !important;
}
.reader-scene {
  display: grid !important;
  grid-template-columns: 48px auto 48px !important;
  justify-content: center !important;
  align-items: center !important;
  column-gap: 8px !important;
  padding: 4px 10px 2px !important;
}
.book-wrap {
  grid-column: 2 !important;
  width: min(calc((100dvh - 82px) * 1.41), 94vw) !important;
  max-width: min(calc((100dvh - 82px) * 1.41), 94vw) !important;
  justify-self: center !important;
}
.nav-next,
.nav-prev,
.nav-hit {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  justify-self: center !important;
  align-self: center !important;
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 78px !important;
  min-height: 78px !important;
  max-height: 78px !important;
  margin: 0 !important;
  border-radius: 16px !important;
}
.nav-next { grid-column: 1 !important; }
.nav-prev { grid-column: 3 !important; }
.nav-hit:hover:not(:disabled) { transform: translateY(-1px) !important; }
.nav-chev { font-size: 31px !important; line-height: 26px !important; }
@media (max-width: 680px) {
  .reader-scene { grid-template-columns: 40px auto 40px !important; column-gap: 4px !important; padding-inline: 4px !important; }
  .book-wrap { width: min(calc((100dvh - 118px) * 1.41), calc(100vw - 92px)) !important; max-width: min(calc((100dvh - 118px) * 1.41), calc(100vw - 92px)) !important; }
  .nav-next,.nav-prev,.nav-hit { width: 36px !important; min-width: 36px !important; max-width: 36px !important; height: 68px !important; min-height: 68px !important; max-height: 68px !important; }
  .nav-hit small { display:none !important; }
  .poem-page.kind-prose[data-page="3"] .poem-inner,
  .poem-page.kind-prose[data-page="5"] .poem-inner { top: 7.6% !important; bottom: 10.8% !important; left: 6.8% !important; right: 6.8% !important; }
  .poem-page.kind-prose[data-page="3"] .poem-body,
  .poem-page.kind-prose[data-page="5"] .poem-body,
  .poem-page.kind-prose.is-prose-two-col .poem-body,
  .poem-page.kind-prose.is-prose-tighter .poem-body { font-size: clamp(9.8px, 2.38vw, 12.3px) !important; line-height: 1.32 !important; }
  .poem-page.kind-prose[data-page="3"] .illustration-fade,
  .poem-page.kind-prose[data-page="5"] .illustration-fade { height: 7.8% !important; }
}


/* V25 – remove redundant pre-gate blanks, stronger bottom illustrations, tighter nav */
.reader-scene {
  grid-template-columns: 42px auto 42px !important;
  column-gap: 2px !important;
  padding-inline: 6px !important;
}
.book-wrap {
  width: min(calc((100dvh - 82px) * 1.43), 95vw) !important;
  max-width: min(calc((100dvh - 82px) * 1.43), 95vw) !important;
}
.nav-next,.nav-prev,.nav-hit {
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 74px !important;
  min-height: 74px !important;
  max-height: 74px !important;
  border-radius: 14px !important;
}
.nav-hit small {
  width:100% !important;
  text-align:center !important;
  line-height:1 !important;
  margin-top:2px !important;
}
.poem-page.kind-poem .illustration-fade {
  height: 23.2% !important;
  bottom: 1.6% !important;
  opacity: 1 !important;
  filter: saturate(1.08) contrast(1.08) brightness(1.01) !important;
  background-size: 100% auto !important;
  background-position: center bottom !important;
}
.poem-page.kind-gate .illustration-fade,
.poem-page.kind-title .illustration-fade {
  height: 18.4% !important;
  bottom: 1.8% !important;
  opacity: .98 !important;
}
.poem-page.kind-prose .illustration-fade {
  height: 10.2% !important;
  bottom: 1.8% !important;
  opacity: .97 !important;
}
@media (max-width: 680px) {
  .reader-scene { grid-template-columns: 36px auto 36px !important; column-gap: 1px !important; padding-inline: 2px !important; }
  .book-wrap { width: min(calc((100dvh - 118px) * 1.42), calc(100vw - 78px)) !important; max-width: min(calc((100dvh - 118px) * 1.42), calc(100vw - 78px)) !important; }
  .nav-next,.nav-prev,.nav-hit { width: 34px !important; min-width: 34px !important; max-width: 34px !important; height: 64px !important; min-height: 64px !important; max-height: 64px !important; }
  .poem-page.kind-poem .illustration-fade { height: 21.8% !important; bottom: 1.5% !important; }
  .poem-page.kind-prose .illustration-fade { height: 9.4% !important; }
}

/* V30 first 20 bespoke illustrations */
.poem-page.kind-poem .illustration-fade {
  height:24.2% !important;
  bottom:1.7% !important;
  background-size:100% 100% !important;
  background-position:center bottom !important;
  background-repeat:no-repeat !important;
  opacity:1 !important;
  filter:none !important;
}
@media (max-width:680px){
  .poem-page.kind-poem .illustration-fade { height:22.8% !important; }
}


/* V34 — Hebrew physical pagination: odd pages left, even pages right */
.illustration-fade{display:none!important;background:none!important;}
.cover-typographic{
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:12% 10%; border-radius:2px 7px 7px 2px; overflow:hidden;
  background:
    radial-gradient(circle at 58% 24%,rgba(255,236,190,.14),transparent 28%),
    linear-gradient(155deg,#4a5252 0%,#2f3a3e 46%,#1e292d 100%);
  color:#f5ead7; box-shadow:inset 0 0 0 1px rgba(230,207,166,.22),inset 14px 0 28px rgba(0,0,0,.16);
  font-family:"Assistant", Arial, sans-serif;
}
.cover-typographic::before{content:"";position:absolute;inset:4.5%;border:1px solid rgba(221,193,142,.36);pointer-events:none;}
.cover-typographic::after{content:"";position:absolute;inset:0;opacity:.10;background:repeating-linear-gradient(9deg,rgba(255,255,255,.12) 0 1px,transparent 1px 7px);mix-blend-mode:soft-light;}
.cover-kicker{font-family:"Assistant", Arial, sans-serif;font-size:clamp(10px,1.05vw,14px);letter-spacing:.08em;color:#d8c3a0;margin-bottom:12%;z-index:1;}
.cover-typographic strong{font-size:clamp(35px,4vw,58px);line-height:1.08;font-weight:500;z-index:1;text-shadow:0 8px 22px rgba(0,0,0,.26);}
.cover-typographic i{width:54px;height:1px;background:#c7a976;margin:12% 0 8%;z-index:1;}
.cover-author{font-size:clamp(15px,1.45vw,21px);color:#eadcc6;z-index:1;}

/* A fixed grid for every poem page. No per-poem font shrinking. */
.poem-page.kind-poem .poem-inner{
  top:8.2%!important; bottom:5.4%!important; left:7.8%!important; right:7.8%!important;
  display:flex; flex-direction:column; min-height:0;
}
.poem-page.kind-poem .poem-title{
  flex:0 0 auto; font-size:clamp(22px,2.35vw,35px)!important; line-height:1.08!important;
  margin:0 0 2px!important; min-height:1.15em;
}
.poem-page.kind-poem .title-rule{flex:0 0 auto;height:17px!important;margin:0 0 7px!important;}
.poem-page.kind-poem .poem-body,
.poem-page.kind-poem.is-two-col .poem-body,
.poem-page.kind-poem.is-compact .poem-body,
.poem-page.kind-poem.is-tight .poem-body,
.poem-page.kind-poem.is-two-col.is-compact .poem-body,
.poem-page.kind-poem.is-two-col.is-tight .poem-body{
  flex:1 1 auto; min-height:0; overflow:hidden!important; width:min(92%,500px)!important;
  font-size:clamp(13.2px,1.12vw,16.6px)!important; line-height:1.43!important;
  color:#373d3e!important;
}
.poem-page.kind-poem .poem-body p,
.poem-page.kind-poem.is-two-col .poem-col p{
  margin:0 0 .76em!important; white-space:pre-line!important;
}
.poem-page.kind-poem.is-two-col .poem-body{width:100%!important;}
.poem-page.kind-poem .poem-columns{height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px!important;align-items:start;direction:rtl;}
.poem-page.kind-poem .poem-col{min-width:0;}
.poem-page.kind-poem.single-long .poem-body{width:min(94%,520px)!important;}

/* Correct side-specific running heads */
.poem-page.kind-poem .running-head{top:3.5%!important;font-family:"Assistant", Arial, sans-serif;font-size:clamp(8.5px,.72vw,11px)!important;letter-spacing:.025em!important;color:#776f64!important;}

/* Table of contents pages */
.poem-page.kind-toc .poem-inner{top:8.8%!important;bottom:6%!important;left:10%!important;right:10%!important;}
.poem-page.kind-toc .poem-title{font-size:clamp(25px,2.6vw,39px)!important;margin-bottom:9px;}
.poem-page.kind-toc .gate-label{font-size:clamp(11px,.92vw,14px)!important;letter-spacing:.02em!important;margin:0 0 14px!important;line-height:1.35;}
.poem-page.kind-toc .poem-body{width:94%!important;font-size:clamp(10.8px,.92vw,14px)!important;line-height:1.33!important;}
.toc-print-list{display:grid;grid-template-columns:1fr;gap:2px;}
.toc-print-row{margin:0!important;padding:0 0 2px;border-bottom:1px solid rgba(95,84,68,.055);white-space:normal!important;}

/* Gate pages: special typography, still image-free */
.poem-page.kind-gate .poem-inner{top:17%!important;bottom:13%!important;left:12%!important;right:12%!important;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.poem-page.kind-gate .poem-title{font-size:clamp(31px,3.15vw,47px)!important;line-height:1.12!important;max-width:92%;}
.poem-page.kind-gate .section-subtitle{white-space:pre-line;font-family:"Assistant", Arial, sans-serif;color:#645f59;font-size:clamp(12px,1vw,16px);line-height:1.55;margin:8px 0 18px;}
.poem-page.kind-gate .section-epigraph{white-space:pre-line;max-width:82%;font-size:clamp(14px,1.15vw,18px);line-height:1.6;color:#4c504e;border:0;margin:12px auto 0;padding:18px 0 0;position:relative;}
.poem-page.kind-gate .section-epigraph::before{content:"";position:absolute;top:0;left:34%;right:34%;height:1px;background:color-mix(in srgb,var(--accent) 55%,#b6a98c);}

/* Front matter can use its space now that internal illustrations are gone. */
.poem-page.kind-prose .poem-inner{top:8.5%!important;bottom:5.8%!important;left:8.5%!important;right:8.5%!important;}
.poem-page.kind-prose .poem-body{width:min(94%,520px)!important;}
.poem-page.kind-title .poem-inner{bottom:10%!important;}

@media (max-width:680px){
  .poem-page.kind-poem .poem-inner{top:7.4%!important;bottom:5%!important;left:6.8%!important;right:6.8%!important;}
  .poem-page.kind-poem .poem-body,
  .poem-page.kind-poem.is-two-col .poem-body{font-size:clamp(12.1px,3.15vw,14.2px)!important;line-height:1.38!important;}
  .poem-page.kind-poem .poem-columns{column-gap:11px!important;}
  .poem-page.kind-poem .poem-body p,.poem-page.kind-poem.is-two-col .poem-col p{margin-bottom:.62em!important;}
  .poem-page.kind-toc .poem-body{font-size:clamp(9.5px,2.6vw,11.8px)!important;line-height:1.25!important;}
}


/* V35 — Assistant typography + larger lyrics + robust stanza-safe fit */
html, body, button, input, textarea, select,
.landing, .reader, .poem-page, .poem-page *, .toc-drawer, .contact-drawer, .media-panel {
  font-family:"Assistant", Arial, sans-serif;
}

/* Modern, lighter typographic voice across cover and UI */
.landing h1 { font-family:"Assistant",Arial,sans-serif; font-weight:600; letter-spacing:-.025em; }
.cover-typographic { font-family:"Assistant",Arial,sans-serif; }
.cover-typographic strong { font-weight:600; letter-spacing:-.025em; }
.cover-kicker, .cover-author { font-family:"Assistant",Arial,sans-serif; }
.brand-mini strong, .drawer-head h2, .contact-drawer h2, .toc-item strong { font-family:"Assistant",Arial,sans-serif; }

/* One font size system for every song. Two columns NEVER shrink the type. */
.poem-page.kind-poem .poem-inner {
  top:7.55%!important;
  bottom:4.85%!important;
  left:7.2%!important;
  right:7.2%!important;
}
.poem-page.kind-poem .poem-title {
  font-family:"Assistant",Arial,sans-serif!important;
  font-weight:600!important;
  font-size:clamp(24px,2.45vw,37px)!important;
  line-height:1.05!important;
  letter-spacing:-.012em;
}
.poem-page.kind-poem .title-rule { height:14px!important; margin:0 0 5px!important; }
.poem-page.kind-poem .poem-body,
.poem-page.kind-poem.is-two-col .poem-body,
.poem-page.kind-poem.is-compact .poem-body,
.poem-page.kind-poem.is-tight .poem-body,
.poem-page.kind-poem.is-two-col.is-compact .poem-body,
.poem-page.kind-poem.is-two-col.is-tight .poem-body {
  width:min(94%,530px)!important;
  font-family:"Assistant",Arial,sans-serif!important;
  font-size:clamp(14.8px,1.27vw,19.2px)!important;
  font-weight:400!important;
  line-height:1.38!important;
  overflow:hidden!important;
}
.poem-page.kind-poem .poem-body p,
.poem-page.kind-poem.is-two-col .poem-col p {
  margin:0 0 .62em!important;
  white-space:pre-line!important;
}
.poem-page.kind-poem.is-two-col .poem-body { width:100%!important; }
.poem-page.kind-poem .poem-columns {
  height:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  column-gap:26px!important;
  align-items:start!important;
  direction:rtl!important;
}
.poem-page.kind-poem .poem-col { min-width:0!important; overflow:visible!important; }
.poem-page.kind-poem .running-head {
  font-family:"Assistant",Arial,sans-serif!important;
  font-weight:400!important;
}
.gate-label, .page-number, .poem-page.kind-gate .section-subtitle {
  font-family:"Assistant",Arial,sans-serif!important;
}

/* A diagnostic state must never silently hide text. It is only used by JS while refitting. */
.poem-page.kind-poem.is-refitting .poem-body { overflow:visible!important; }

@media (max-width:680px){
  .poem-page.kind-poem .poem-inner{top:7.1%!important;bottom:4.7%!important;left:5.9%!important;right:5.9%!important;}
  .poem-page.kind-poem .poem-title{font-size:clamp(25px,7vw,35px)!important;}
  .poem-page.kind-poem .poem-body,
  .poem-page.kind-poem.is-two-col .poem-body{
    font-size:clamp(13.6px,3.55vw,16.1px)!important;
    line-height:1.35!important;
  }
  .poem-page.kind-poem .poem-columns{column-gap:12px!important;}
  .poem-page.kind-poem .poem-body p,
  .poem-page.kind-poem.is-two-col .poem-col p{margin-bottom:.56em!important;}
}


/* V36 — stronger lyric contrast + right→left two-page continuation system */
.poem-page.kind-poem .poem-body,
.poem-page.kind-poem .poem-body p,
.poem-page.kind-poem .poem-col,
.poem-page.kind-poem .poem-col p {
  color:#24292a!important;
}

/* A spread is two full-width poem columns across facing physical pages.
   First part MUST be even/right; continuation MUST be odd/left. */
.poem-page.kind-poem.spread-first .poem-body,
.poem-page.kind-poem.spread-continuation .poem-body {
  width:min(95%,552px)!important;
}
.poem-page.kind-poem.spread-first .poem-title {
  font-size:clamp(23px,2.25vw,34px)!important;
  line-height:1.03!important;
}
.poem-page.kind-poem.spread-first .poem-inner {
  top:6.65%!important;
  bottom:4.2%!important;
  left:6.2%!important;
  right:6.2%!important;
}
.poem-page.kind-poem.spread-continuation .poem-inner {
  top:6.65%!important;
  bottom:4.2%!important;
  left:6.2%!important;
  right:6.2%!important;
}
/* Keep the title block's vertical rhythm so the two facing text columns align,
   but do not visually repeat the song title on the continuation page. */
.poem-page.kind-poem.spread-continuation .poem-title,
.poem-page.kind-poem.spread-continuation .title-rule,
.poem-page.kind-poem.spread-continuation .gate-label {
  visibility:hidden!important;
}
.poem-page.kind-poem.spread-continuation .page-favorite,
.poem-page.kind-poem.spread-continuation .media-trigger {
  display:none!important;
}
.poem-page.kind-poem.spread-first .poem-body,
.poem-page.kind-poem.spread-continuation .poem-body {
  overflow:hidden!important;
}

/* A very long single Word stanza cannot legally be split. Preserve the exact
   stanza and the same font size; recover room only through page geometry and
   tighter leading, never by cutting the stanza or shrinking its type. */
.poem-page.kind-poem.single-long .poem-inner {
  top:5.3%!important;
  bottom:3.5%!important;
  left:5.2%!important;
  right:5.2%!important;
}
.poem-page.kind-poem.single-long .poem-title {
  font-size:clamp(22px,2.1vw,32px)!important;
}
.poem-page.kind-poem.single-long .title-rule {
  height:10px!important;
  margin-bottom:2px!important;
}
.poem-page.kind-poem.single-long .poem-body {
  width:min(97%,570px)!important;
  line-height:1.20!important;
}

/* Fit warnings must never result in invisible clipped text during diagnostics. */
.poem-page.kind-poem.fit-warning .poem-body { overflow:visible!important; }

@media (max-width:680px){
  .poem-page.kind-poem.spread-first .poem-inner,
  .poem-page.kind-poem.spread-continuation .poem-inner{
    top:6.5%!important;bottom:4.1%!important;left:5.2%!important;right:5.2%!important;
  }
  .poem-page.kind-poem.spread-first .poem-body,
  .poem-page.kind-poem.spread-continuation .poem-body{width:min(96%,430px)!important;}
  .poem-page.kind-poem.single-long .poem-body{line-height:1.22!important;}
}


/* V37 — full Word-by-Word stanza audit + deterministic safe pagination */
.poem-page.kind-poem .poem-body,
.poem-page.kind-poem.is-two-col .poem-body,
.poem-page.kind-poem.spread-first .poem-body,
.poem-page.kind-poem.spread-continuation .poem-body {
  color:#1f2425!important;
  font-size:clamp(14.8px,1.27vw,19.2px)!important;
  font-weight:400!important;
  line-height:1.38!important;
}
.poem-page.kind-poem .poem-body p,
.poem-page.kind-poem.is-two-col .poem-col p,
.poem-page.kind-poem.spread-first .poem-body p,
.poem-page.kind-poem.spread-continuation .poem-body p {
  margin:0 0 .62em!important;
}
/* A two-page spread gets more usable paper, not smaller lyrics. */
.poem-page.kind-poem.spread-first .poem-inner,
.poem-page.kind-poem.spread-continuation .poem-inner {
  top:5.35%!important;
  bottom:3.35%!important;
  left:5.35%!important;
  right:5.35%!important;
}
.poem-page.kind-poem.spread-first .poem-title {
  font-size:clamp(22px,2.05vw,32px)!important;
  line-height:1.02!important;
  margin-bottom:1px!important;
}
.poem-page.kind-poem.spread-first .title-rule,
.poem-page.kind-poem.spread-continuation .title-rule {
  height:10px!important;
  min-height:10px!important;
  margin:0 0 2px!important;
}
.poem-page.kind-poem.spread-first .poem-body,
.poem-page.kind-poem.spread-continuation .poem-body {
  width:min(97%,570px)!important;
}
/* continuation remains visually title-free, but keeps a small stable top rhythm */
.poem-page.kind-poem.spread-continuation .gate-label,
.poem-page.kind-poem.spread-continuation .poem-title,
.poem-page.kind-poem.spread-continuation .title-rule { visibility:hidden!important; }
.poem-page.kind-poem.fit-warning .poem-body { overflow:visible!important; }
@media(max-width:680px){
  .poem-page.kind-poem.spread-first .poem-inner,
  .poem-page.kind-poem.spread-continuation .poem-inner{top:5.1%!important;bottom:3.2%!important;left:4.8%!important;right:4.8%!important;}
  .poem-page.kind-poem .poem-body,
  .poem-page.kind-poem.is-two-col .poem-body,
  .poem-page.kind-poem.spread-first .poem-body,
  .poem-page.kind-poem.spread-continuation .poem-body{font-size:clamp(13.6px,3.55vw,16.1px)!important;line-height:1.35!important;}
}


/* V38 – white pages, darker type, tiny line symbol per poem */
.poem-page {
  background: #ffffff !important;
  box-shadow: inset 0 0 22px rgba(0,0,0,.02), inset 0 -4px 10px rgba(0,0,0,.015) !important;
}
.poem-page::after {
  opacity: .035 !important;
  background-image: repeating-linear-gradient(12deg, rgba(0,0,0,.022) 0 1px, transparent 1px 7px) !important;
}
.poem-page::before {
  opacity: .42 !important;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,.12), transparent) !important;
}
.running-head,
.page-number,
.page-number::before,
.page-number::after,
.gate-label,
.title-rule,
.title-rule span,
.running-head .sprig {
  color: #555 !important;
}
.running-head { color:#4a4a4a !important; }
.poem-title,
.poem-body,
.poem-body p,
.poem-page.kind-prose .poem-body,
.poem-page.kind-prose .poem-body p,
.poem-page.kind-title .poem-body,
.poem-page.kind-gate .poem-body {
  color: #101010 !important;
  text-shadow: none !important;
}
.poem-title { color: #1f1f1f !important; }
.poem-page.kind-poem .poem-body,
.poem-page.kind-poem.is-compact .poem-body,
.poem-page.kind-poem.is-tight .poem-body,
.poem-page.kind-poem.is-two-col .poem-body,
.poem-page.kind-poem.is-two-col.is-compact .poem-body,
.poem-page.kind-poem.is-two-col.is-tight .poem-body {
  color: #111111 !important;
}
.poem-page.kind-poem .poem-body { margin-top: 10px !important; }
.poem-page.kind-poem .title-rule { margin: 0 0 10px !important; }
.poem-page.kind-poem .poem-title { margin-bottom: 2px !important; }
.poem-page.kind-poem .illustration-fade {
  left: 0 !important;
  right: 0 !important;
  bottom: 5.5% !important;
  height: 8.2% !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  opacity: 1 !important;
  background: none !important;
  filter: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  mix-blend-mode: normal !important;
  pointer-events: none !important;
}
.poem-page.kind-poem .illustration-fade::after {
  content: none !important;
  display: none !important;
}
.poem-page.kind-poem .illustration-fade .page-symbol-svg {
  width: 88px;
  height: 46px;
  color: #676767;
  opacity: .86;
}
.poem-page.kind-title .illustration-fade,
.poem-page.kind-gate .illustration-fade,
.poem-page.kind-prose .illustration-fade,
.blank-page .illustration-fade { display: none !important; }
@media (max-width: 680px) {
  .poem-page.kind-poem .poem-body { margin-top: 9px !important; }
  .poem-page.kind-poem .illustration-fade { bottom: 5.2% !important; height: 7.6% !important; }
  .poem-page.kind-poem .illustration-fade .page-symbol-svg { width: 72px; height: 38px; }
}


/* V40 – a touch more breathing room between song title and lyrics.
   The inner box grows downward by the same amount, so this does not steal lyric height. */
.poem-page.kind-poem .poem-inner {
  bottom: calc(21.9% - 4px) !important;
}
.poem-page.kind-poem .poem-body {
  position: relative;
  top: 4px;
}
@media (max-width: 680px) {
  .poem-page.kind-poem .poem-inner { bottom: calc(21.9% - 3px) !important; }
  .poem-page.kind-poem .poem-body { top: 3px; }
}


/* V41 – restore per-section accent language + closing back cover */
.poem-page[data-section="A"] { --accent:#4d7a84 !important; }
.poem-page[data-section="B"] { --accent:#5968a1 !important; }
.poem-page[data-section="C"] { --accent:#4f7d58 !important; }
.poem-page[data-section="D"] { --accent:#8a7a35 !important; }
.poem-page[data-section="E"] { --accent:#615884 !important; }
.poem-page.kind-poem .running-head,
.poem-page.kind-gate .running-head,
.poem-page.kind-title .running-head,
.poem-page.kind-poem .gate-label,
.poem-page.kind-poem .poem-title,
.poem-page.kind-gate .poem-title,
.poem-page.kind-poem .title-rule,
.poem-page.kind-poem .title-rule span,
.poem-page.kind-gate .section-subtitle,
.poem-page.kind-gate .section-epigraph::before,
.poem-page.kind-gate .gate-label,
.poem-page.kind-gate .title-rule,
.poem-page.kind-gate .title-rule span {
  color: var(--accent) !important;
}
.poem-page.kind-poem .poem-title,
.poem-page.kind-gate .poem-title {
  color: color-mix(in srgb, var(--accent) 78%, #1b1b1b 22%) !important;
}
.poem-page.kind-poem .title-rule span,
.poem-page.kind-gate .title-rule span { background: color-mix(in srgb, var(--accent) 70%, #cdd2db 30%) !important; }
.poem-page.kind-poem .running-head,
.poem-page.kind-gate .running-head,
.poem-page.kind-title .running-head,
.poem-page.kind-poem .gate-label { color: color-mix(in srgb, var(--accent) 82%, #575757 18%) !important; }

.poem-page.kind-back-cover {
  background: radial-gradient(circle at 50% 22%, rgba(255,255,255,.10), transparent 28%), linear-gradient(160deg, #334258 0%, #212c3d 42%, #17202d 100%) !important;
  color: #f2e8d7 !important;
  box-shadow: inset -18px 0 26px rgba(255,255,255,.05), inset 0 0 0 1px rgba(245,229,197,.18), inset 0 0 80px rgba(0,0,0,.18) !important;
}
.poem-page.kind-back-cover::before { background: linear-gradient(90deg, transparent, rgba(238,208,149,.42), transparent) !important; opacity: .55 !important; }
.poem-page.kind-back-cover::after { opacity: .09 !important; background: repeating-linear-gradient(9deg, rgba(255,255,255,.14) 0 1px, transparent 1px 7px) !important; }
.poem-page.kind-back-cover .poem-inner { justify-content:center; padding-top: 18%; padding-bottom: 16%; }
.poem-page.kind-back-cover .poem-title { color:#f5ead6 !important; font-size: clamp(28px,3.5vw,50px); font-weight:600; text-shadow:0 8px 22px rgba(0,0,0,.28); }
.poem-page.kind-back-cover .poem-body { color:#eadcc6 !important; display:flex; flex-direction:column; align-items:center; gap:12px; margin-top: 12px !important; }
.poem-page.kind-back-cover .title-support.title-subtitle { color:#d8c3a0; letter-spacing:.05em; }
.poem-page.kind-back-cover .title-support.title-author { color:#f0e2cd; font-size: clamp(15px,1.45vw,21px); }
.poem-page.kind-back-cover .back-cover-note { margin-top: 20px; color:#d7bd94; font-size:12px; letter-spacing:.18em; }
.poem-page.kind-back-cover .page-favorite,
.poem-page.kind-back-cover .media-trigger,
.poem-page.kind-back-cover .illustration-fade,
.poem-page.kind-back-cover .page-number,
.poem-page.kind-back-cover .gate-label,
.poem-page.kind-back-cover .running-head,
.poem-page.kind-back-cover .title-rule { display:none !important; }


/* V42 */
.poem-page.kind-poem .poem-inner{bottom:calc(21.9% - 7px)!important;}
.poem-page.kind-poem .poem-body{top:7px!important;}
.poem-page.kind-poem .illustration-fade .page-symbol-svg{color:color-mix(in srgb,var(--accent) 72%,#444 28%)!important;}
.magnifier-toolbar-icon{width:22px;height:22px;display:grid;place-items:center}.magnifier-toolbar-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.magnifier-btn[aria-pressed="true"]{background:rgba(255,255,255,.16)!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(226,197,143,.30)}
.magnifier-lens{position:fixed;z-index:9999;width:190px;height:190px;transform:translate(-50%,-50%);pointer-events:none;border-radius:50%;border:5px solid rgba(48,52,57,.9);box-shadow:0 18px 38px rgba(0,0,0,.34),inset 0 0 0 2px rgba(255,255,255,.7);overflow:visible}
.magnifier-lens[hidden]{display:none!important}.magnifier-viewport{position:absolute;inset:0;border-radius:50%;overflow:hidden;background:#fff}.magnifier-viewport:after{content:"";position:absolute;right:24px;top:10px;width:52px;height:22px;border-radius:50%;transform:rotate(-28deg);background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,0))}
.magnifier-clone{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform;pointer-events:none}.magnifier-clone *{pointer-events:none!important}
.magnifier-handle{position:absolute;width:76px;height:17px;left:148px;top:156px;border-radius:12px;transform:rotate(45deg);transform-origin:8px 50%;background:linear-gradient(180deg,#545960,#25292e);box-shadow:0 5px 10px rgba(0,0,0,.30),inset 0 1px 1px rgba(255,255,255,.24)}
body.magnifier-active #pageFlipMirror{cursor:crosshair!important}
@media(max-width:680px){.magnifier-btn,.magnifier-lens{display:none!important}.poem-page.kind-poem .poem-inner{bottom:calc(21.9% - 5px)!important}.poem-page.kind-poem .poem-body{top:5px!important}}


/* V43 – lighter library, per-page share, refined back cover */
.toc-drawer {
  background: #fbfaf4 !important;
  color: #354039;
}
.toc-drawer .drawer-head { border-bottom-color:#e2dccd !important; background:linear-gradient(180deg, rgba(255,255,255,.65), transparent) !important; }
.toc-drawer .library-search-wrap { background:#ffffff !important; border-color:#e7dfcf !important; }
.toc-drawer .library-tab { background:#fffdf8 !important; border-color:#e7dfcf !important; }
.toc-drawer .library-tab.active { background:#f3eee2 !important; }
.toc-drawer .drawer-foot { color:#807b70 !important; }

.page-share { position:absolute; z-index:13; top:5.55%; width:52px; min-height:52px; padding:4px 3px 5px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; border:1px solid rgba(111,125,150,.16); border-radius:17px; background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(244,246,250,.88)); color:#6f7d96; cursor:pointer; opacity:.98; box-shadow:0 11px 26px rgba(55,66,82,.08); transition:transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease; backdrop-filter:blur(2px); }
.page-right .page-share { right: calc(4.9% + 60px); }
.page-left .page-share { left: calc(4.9% + 60px); }
.page-share:hover { color:#55657f; background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(239,243,249,.94)); transform:translateY(-2px); box-shadow:0 14px 30px rgba(55,66,82,.11); }
.page-share .share-icon { font-size:22px; line-height:.95; transform: translateY(-1px); }
.page-share .share-text { font:600 9px/1 "Assistant", Arial, sans-serif; color:#6f7d96; letter-spacing:.01em; }
.book-sheet.rtl-right .page-share { right: calc(4.9% + 60px); left:auto; }
.book-sheet.rtl-left .page-share { left: calc(4.9% + 60px); right:auto; }
@media (max-width: 680px) {
  .page-share { top:3.9%; width:48px; min-height:48px; padding:4px 2px; }
  .page-right .page-share, .book-sheet.rtl-right .page-share { right: calc(4.4% + 56px); }
  .page-left .page-share, .book-sheet.rtl-left .page-share { left: calc(4.4% + 56px); }
  .page-share .share-icon { font-size:20px; }
  .page-share .share-text { font-size:8px; }
}
.blank-page .page-share,
.poem-page.kind-title .page-share,
.poem-page.kind-gate .page-share,
.poem-page.kind-prose .page-share,
.poem-page.kind-back-cover .page-share,
.poem-page.kind-poem.spread-continuation .page-share { display:none !important; }

.poem-page.kind-back-cover {
  background:
    radial-gradient(circle at 62% 20%, rgba(255,236,190,.12), transparent 29%),
    linear-gradient(155deg,#4a5252 0%,#2f3a3e 46%,#1e292d 100%) !important;
  color:#f5ead7 !important;
  box-shadow: inset 0 0 0 1px rgba(230,207,166,.22), inset 14px 0 28px rgba(0,0,0,.16) !important;
}
.poem-page.kind-back-cover::before { content:""; position:absolute; inset:4.5%; border:1px solid rgba(221,193,142,.36); opacity:1 !important; background:none !important; }
.poem-page.kind-back-cover::after { opacity:.10 !important; background:repeating-linear-gradient(9deg,rgba(255,255,255,.12) 0 1px,transparent 1px 7px) !important; mix-blend-mode:soft-light !important; }
.poem-page.kind-back-cover .poem-inner { justify-content:center; padding:12% 10% !important; top:0 !important; bottom:0 !important; left:0 !important; right:0 !important; }
.poem-page.kind-back-cover .poem-title { color:#f5ead7 !important; font-size:clamp(35px,4vw,58px); line-height:1.08; font-weight:600; text-shadow:0 8px 22px rgba(0,0,0,.26); }
.poem-page.kind-back-cover .poem-body { color:#eadcc6 !important; display:flex; flex-direction:column; align-items:center; gap:12px; margin-top:16px !important; }
.poem-page.kind-back-cover .title-support.title-subtitle { color:#d8c3a0 !important; font-size:clamp(10px,1.05vw,14px); letter-spacing:.08em; margin-bottom:12%; }
.poem-page.kind-back-cover .title-support.title-author { color:#eadcc6 !important; font-size:clamp(15px,1.45vw,21px); }
.poem-page.kind-back-cover .back-cover-note { margin-top: 20px; color:#d8c3a0 !important; font-size:11px; letter-spacing:.18em; }
.poem-page.kind-back-cover .page-number, .poem-page.kind-back-cover .gate-label, .poem-page.kind-back-cover .running-head, .poem-page.kind-back-cover .title-rule, .poem-page.kind-back-cover .page-favorite, .poem-page.kind-back-cover .media-trigger, .poem-page.kind-back-cover .illustration-fade { display:none !important; }


/* V44 – stable closing pair for StPageFlip: inner endpaper + hard back cover */
.poem-page.subkind-endpaper {
  background:#ffffff !important;
  box-shadow: inset 0 0 18px rgba(0,0,0,.018) !important;
}
.poem-page.subkind-endpaper::before,
.poem-page.subkind-endpaper::after { display:none !important; }


/* V45 – readability, magnifier ergonomics, section D red, RTL navigation */

/* Save/share labels: larger, heavier and higher contrast. */
.page-favorite .fav-text,
.page-share .share-text {
  font-family:"Assistant",Arial,sans-serif !important;
  font-size:11px !important;
  line-height:1.05 !important;
  font-weight:700 !important;
  letter-spacing:.01em !important;
}
.page-favorite .fav-text { color:#655e55 !important; }
.page-favorite.saved .fav-text { color:#9e4554 !important; }
.page-share .share-text { color:#55647b !important; }

/* A slightly larger top toolbar without turning it into a bulky header. */
.reader-bar {
  min-height:46px !important;
  padding-top:5px !important;
  padding-bottom:5px !important;
}
.reader-actions { gap:6px !important; }
.icon-btn {
  min-width:46px !important;
  min-height:36px !important;
  padding:4px 8px !important;
  border-radius:11px !important;
}
.icon-btn .label {
  font-size:10px !important;
  font-weight:600 !important;
}
.icon-btn > span:first-child:not(.label) { font-size:16px; }
.magnifier-toolbar-icon { width:24px !important; height:24px !important; }
.magnifier-toolbar-icon svg { width:23px !important; height:23px !important; }

/* Move the small ornament/rule away from the song title. Preserve poem-body
   usable height by opening the lower edge by the same amount. */
.poem-page.kind-poem .title-rule {
  margin:7px 0 10px !important;
}
.poem-page.kind-poem .poem-inner {
  bottom:calc(21.9% - 13px) !important;
}

/* Section D – "שנינו": muted literary red, never mustard/yellow. */
.poem-page[data-section="D"] { --accent:#a14f59 !important; }

/* Magnifier: larger glass; the real mouse cursor now rests over its handle. */
.magnifier-lens {
  width:218px !important;
  height:218px !important;
  border-width:5px !important;
  box-shadow:0 20px 42px rgba(0,0,0,.34),inset 0 0 0 2px rgba(255,255,255,.76) !important;
}
.magnifier-handle {
  width:88px !important;
  height:18px !important;
  left:171px !important;
  top:181px !important;
  transform:rotate(45deg) !important;
}
body.magnifier-active #pageFlipMirror { cursor:default !important; }

/* Physical Hebrew-book navigation. Force the scene itself to LTR so CSS-grid
   column 1 is physically LEFT and column 3 is physically RIGHT. The book
   content remains RTL. Forward points outward left; back points outward right. */
.reader-scene { direction:ltr !important; }
.book-wrap { direction:rtl !important; }
.nav-next {
  grid-column:1 !important;
  justify-self:end !important;
  direction:rtl !important;
}
.nav-prev {
  grid-column:3 !important;
  justify-self:start !important;
  direction:rtl !important;
}
.nav-next .nav-chev::before { content:"‹"; }
.nav-prev .nav-chev::before { content:"›"; }
.nav-next .nav-chev,
.nav-prev .nav-chev { font-size:0 !important; }
.nav-next .nav-chev::before,
.nav-prev .nav-chev::before {
  font-family:Arial,sans-serif;
  font-size:32px;
  line-height:27px;
  font-weight:200;
}

@media (max-width:680px) {
  .reader-bar { min-height:43px !important; padding-top:4px !important; padding-bottom:4px !important; }
  .reader-actions { gap:4px !important; }
  .icon-btn { min-width:42px !important; min-height:34px !important; padding:3px 7px !important; }
  .page-favorite .fav-text,.page-share .share-text { font-size:9.5px !important; }
  .poem-page.kind-poem .title-rule { margin-top:5px !important; }
  .poem-page.kind-poem .poem-inner { bottom:calc(21.9% - 10px) !important; }
}


/* V46 – full opaque black for all song lyrics */
.poem-page.kind-poem .poem-body,
.poem-page.kind-poem .poem-body p,
.poem-page.kind-poem.is-two-col .poem-body,
.poem-page.kind-poem.is-two-col .poem-body p,
.poem-page.kind-poem.spread-first .poem-body,
.poem-page.kind-poem.spread-first .poem-body p,
.poem-page.kind-poem.spread-continuation .poem-body,
.poem-page.kind-poem.spread-continuation .poem-body p,
.poem-page.kind-poem.single-long .poem-body,
.poem-page.kind-poem.single-long .poem-body p,
.poem-page.kind-poem .poem-col,
.poem-page.kind-poem .poem-col p {
  color: #000000 !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #000000 !important;
}


/* V48 – cover refinements */
.cover-book {
  transform-origin: right center;
  transform: rotateY(10deg) rotateX(2deg) rotateZ(1.2deg) !important;
}
.cover-book::after {
  border-radius: 7px 2px 2px 7px !important;
  box-shadow: inset 13px 0 22px rgba(63,52,37,.08), inset 0 0 0 1px rgba(87,71,50,.16) !important;
}
.cover-edge {
  left: -9px !important;
  right: auto !important;
  transform: rotateY(-72deg) !important;
  transform-origin: right !important;
  background: linear-gradient(90deg,#c8baa5,#f7efe1,#d8cdbb) !important;
  border-radius: 5px 0 0 5px !important;
}
.cover-stage:hover .cover-book {
  transform: rotateY(5deg) rotateX(1deg) rotateZ(0) !important;
}
.landing.is-opening .cover-book {
  transform: translateX(-22%) rotateY(118deg) rotateX(2deg) !important;
  opacity: .12;
}
@keyframes fadeLeft { to { opacity:0; transform:translateX(-22px); } }
.cover-typographic {
  padding: 13% 10% 12% !important;
}
.cover-kicker {
  font-size: clamp(12px, 1.2vw, 17px) !important;
  font-weight: 600 !important;
  letter-spacing: .07em !important;
  color: #e0caa6 !important;
  margin-bottom: 11% !important;
}
.cover-typographic strong {
  font-size: clamp(30px, 3.15vw, 48px) !important;
  line-height: 1.06 !important;
  font-weight: 600 !important;
  letter-spacing: -.02em !important;
  white-space: nowrap !important;
}
.cover-typographic i {
  margin: 10% 0 8% !important;
}
.cover-author {
  font-size: clamp(18px, 1.7vw, 25px) !important;
  font-weight: 500 !important;
  color: #f1e2c8 !important;
}
@media (max-width: 900px) {
  .cover-typographic strong {
    font-size: clamp(27px, 6.3vw, 38px) !important;
  }
  .cover-kicker {
    font-size: clamp(11px, 3.1vw, 15px) !important;
  }
  .cover-author {
    font-size: clamp(16px, 3.8vw, 21px) !important;
  }
}


/* V49 – unified page action buttons row + arrow glyph tweak */
.page-favorite,
.page-share,
.media-trigger {
  top: auto !important;
  bottom: 10.2% !important;
  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
  min-height: 52px !important;
  padding: 5px 4px 6px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  border-radius: 17px !important;
  font-family: "Assistant", Arial, sans-serif !important;
}
.page-favorite .fav-icon,
.page-share .share-icon,
.media-trigger .media-play {
  font-size: 22px !important;
  line-height: .95 !important;
  transform: none !important;
}
.page-favorite .fav-text,
.page-share .share-text,
.media-trigger .media-label {
  display: block !important;
  white-space: nowrap !important;
  font: 700 10.5px/1 "Assistant", Arial, sans-serif !important;
  letter-spacing: .01em !important;
}
.media-trigger {
  border: 1px solid color-mix(in srgb,var(--accent) 38%,#d6cbb9) !important;
  background: linear-gradient(180deg,rgba(255,252,247,.94),rgba(246,238,228,.86)) !important;
  color: color-mix(in srgb,var(--accent) 74%,#4f504b) !important;
  box-shadow: 0 10px 24px rgba(70,59,41,.075) !important;
}
.media-trigger:hover { background:#fffaf2 !important; }
.media-trigger .media-label { color: color-mix(in srgb,var(--accent) 74%,#4f504b) !important; }

/* place all three in one horizontal row near the outer lower margin */
.page-right .page-favorite,
.book-sheet.rtl-right .page-favorite { right: 4.9% !important; left: auto !important; }
.page-right .page-share,
.book-sheet.rtl-right .page-share { right: calc(4.9% + 76px) !important; left: auto !important; }
.page-right .media-trigger,
.book-sheet.rtl-right .media-trigger { right: calc(4.9% + 152px) !important; left: auto !important; }
.page-left .page-favorite,
.book-sheet.rtl-left .page-favorite { left: 4.9% !important; right: auto !important; }
.page-left .page-share,
.book-sheet.rtl-left .page-share { left: calc(4.9% + 76px) !important; right: auto !important; }
.page-left .media-trigger,
.book-sheet.rtl-left .media-trigger { left: calc(4.9% + 152px) !important; right: auto !important; }

/* slight breathing room from text/symbol */
.poem-page.kind-poem .illustration-fade { bottom: 3.4% !important; }

/* continuation pages still hide row */
.poem-page.kind-poem.spread-continuation .page-favorite,
.poem-page.kind-poem.spread-continuation .page-share,
.poem-page.kind-poem.spread-continuation .media-trigger { display:none !important; }

/* nav arrows: keep positions, only flip chevrons visually */
.nav-hit .nav-chev { font-size: 28px !important; }

@media (max-width: 680px) {
  .page-favorite,
  .page-share,
  .media-trigger {
    bottom: 9.2% !important;
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    min-height: 46px !important;
    padding: 4px 3px 5px !important;
  }
  .page-favorite .fav-icon,
  .page-share .share-icon,
  .media-trigger .media-play { font-size: 19px !important; }
  .page-favorite .fav-text,
  .page-share .share-text,
  .media-trigger .media-label { font-size: 8.7px !important; }
  .page-right .page-favorite,
  .book-sheet.rtl-right .page-favorite { right: 4.4% !important; }
  .page-right .page-share,
  .book-sheet.rtl-right .page-share { right: calc(4.4% + 66px) !important; }
  .page-right .media-trigger,
  .book-sheet.rtl-right .media-trigger { right: calc(4.4% + 132px) !important; }
  .page-left .page-favorite,
  .book-sheet.rtl-left .page-favorite { left: 4.4% !important; }
  .page-left .page-share,
  .book-sheet.rtl-left .page-share { left: calc(4.4% + 66px) !important; }
  .page-left .media-trigger,
  .book-sheet.rtl-left .media-trigger { left: calc(4.4% + 132px) !important; }
  .poem-page.kind-poem .illustration-fade { bottom: 2.5% !important; }
}


/* V50 – larger top toolbar and no TTS button */
.reader-bar {
  min-height: 50px !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  padding-inline: max(10px, 1.35vw) !important;
}
.reader-actions { gap: 7px !important; }
.icon-btn {
  min-width: 50px !important;
  min-height: 39px !important;
  padding: 5px 9px !important;
  border-radius: 12px !important;
}
.icon-btn .label {
  font-size: 10.5px !important;
  font-weight: 700 !important;
}
.icon-btn > span:first-child:not(.label) { font-size: 17px !important; }
#soundIcon { font-size: 17px !important; }
@media (max-width: 900px) {
  .reader-bar { min-height: 47px !important; padding-top:5px !important; padding-bottom:5px !important; }
  .icon-btn { min-width: 46px !important; min-height: 36px !important; padding:4px 8px !important; }
  .icon-btn .label { font-size: 9px !important; }
}


/* V51 – clickable WhatsApp credit */
.site-credit-link{color:inherit;text-decoration:none;font-weight:700;border-bottom:1px solid rgba(255,255,255,.28);padding-bottom:1px;transition:opacity .2s ease,border-color .2s ease;}
.site-credit-link:hover{opacity:.88;border-bottom-color:rgba(255,255,255,.55);}


/* V52 – refined front-matter typography for pages 3 and 5 */
.poem-page.kind-prose[data-page="3"] .poem-inner,
.poem-page.kind-prose[data-page="5"] .poem-inner {
  top: 8.4% !important;
  bottom: 8.4% !important;
  left: 8.2% !important;
  right: 8.2% !important;
}
.poem-page.kind-prose[data-page="3"] .poem-body,
.poem-page.kind-prose[data-page="5"] .poem-body {
  width: min(94%, 560px) !important;
  font-size: clamp(14.4px, 1.32vw, 20px) !important;
  line-height: 1.82 !important;
}
.poem-page.kind-prose[data-page="3"] .poem-body p,
.poem-page.kind-prose[data-page="5"] .poem-body p {
  margin: 0 0 1.05em !important;
}
.poem-page.kind-prose[data-page="3"] .poem-title,
.poem-page.kind-prose[data-page="5"] .poem-title {
  margin-bottom: 12px !important;
}
.poem-page.kind-prose[data-page="3"] .title-rule,
.poem-page.kind-prose[data-page="5"] .title-rule {
  margin-top: 10px !important;
  margin-bottom: 18px !important;
}
.poem-page.kind-prose[data-page="3"] .prose-byline {
  text-align: center !important;
  font-size: clamp(15px, 1.42vw, 21px) !important;
  font-weight: 600 !important;
  color: color-mix(in srgb, var(--accent) 84%, #3d3a36 16%) !important;
  margin: 2px 0 1.1em !important;
}
.poem-page.kind-prose[data-page="3"] .poem-body {
  text-align: justify !important;
  text-wrap: pretty;
}
.poem-page.kind-prose[data-page="5"] .poem-body {
  width: min(95%, 575px) !important;
}
.poem-page.kind-prose[data-page="5"] .prose-block {
  margin: 0 0 1.1em !important;
}
.poem-page.kind-prose[data-page="5"] .prose-minihead {
  margin: 0 0 .34em !important;
  font: 700 clamp(14.8px, 1.34vw, 20.5px)/1.35 "Assistant", Arial, sans-serif !important;
  color: color-mix(in srgb, var(--accent) 88%, #292723 12%) !important;
}
.poem-page.kind-prose[data-page="5"] .prose-text {
  margin: 0 !important;
}
.poem-page.kind-prose[data-page="3"] .illustration-fade,
.poem-page.kind-prose[data-page="5"] .illustration-fade {
  height: 6.2% !important;
}
@media (max-width: 900px) {
  .poem-page.kind-prose[data-page="3"] .poem-inner,
  .poem-page.kind-prose[data-page="5"] .poem-inner {
    top: 7.6% !important;
    bottom: 7.6% !important;
    left: 7.2% !important;
    right: 7.2% !important;
  }
  .poem-page.kind-prose[data-page="3"] .poem-body,
  .poem-page.kind-prose[data-page="5"] .poem-body {
    width: min(96%, 100%) !important;
    font-size: clamp(12.4px, 2.6vw, 15px) !important;
    line-height: 1.7 !important;
  }
  .poem-page.kind-prose[data-page="3"] .prose-byline {
    font-size: clamp(13px, 3vw, 16px) !important;
    margin-bottom: .9em !important;
  }
  .poem-page.kind-prose[data-page="5"] .prose-minihead {
    font-size: clamp(12.8px, 2.8vw, 15.8px) !important;
    margin-bottom: .26em !important;
  }
}


/* V54 – cleaner landing copy hierarchy */
.landing-book-meta{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:0 0 32px;color:#ddd1c1;}
.landing-subtitle{font:500 clamp(18px,1.55vw,22px)/1.45 "Assistant",Arial,sans-serif;color:#ddd1c1;}
.landing-author{font:600 clamp(21px,1.8vw,26px)/1.35 "Assistant",Arial,sans-serif;color:#f0dfc4;}
@media(max-width:900px){.landing-book-meta{align-items:center;margin-bottom:24px}.landing-subtitle{font-size:clamp(17px,4.1vw,21px)}.landing-author{font-size:clamp(20px,4.8vw,25px)}}


/* V55 – action controls moved up into the outer page margin */
.page-favorite,
.page-share,
.media-trigger {
  top: auto !important;
  bottom: auto !important;
  width: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  min-height: 48px !important;
  padding: 4px 3px 5px !important;
  border-radius: 15px !important;
}
.page-favorite { top: 16.5% !important; }
.page-share { top: 23.3% !important; }
.media-trigger { top: 30.1% !important; }
.page-right .page-favorite,
.page-right .page-share,
.page-right .media-trigger,
.book-sheet.rtl-right .page-favorite,
.book-sheet.rtl-right .page-share,
.book-sheet.rtl-right .media-trigger {
  right: 2.2% !important;
  left: auto !important;
}
.page-left .page-favorite,
.page-left .page-share,
.page-left .media-trigger,
.book-sheet.rtl-left .page-favorite,
.book-sheet.rtl-left .page-share,
.book-sheet.rtl-left .media-trigger {
  left: 2.2% !important;
  right: auto !important;
}
.page-favorite .fav-text,
.page-share .share-text,
.media-trigger .media-label { font-size: 9.8px !important; }
.page-favorite .fav-icon,
.page-share .share-icon,
.media-trigger .media-play { font-size: 20px !important; }
.poem-page.kind-poem .illustration-fade { bottom: 3.7% !important; }

/* V55 – calmer, fitted front-matter typography. No doubled paragraph spacing. */
.poem-page.kind-prose[data-page="3"] .poem-inner,
.poem-page.kind-prose[data-page="5"] .poem-inner {
  top: 8.2% !important;
  bottom: 7.2% !important;
  left: 8.4% !important;
  right: 8.4% !important;
}
.poem-page.kind-prose[data-page="3"] .poem-body {
  width: min(92%, 520px) !important;
  font-size: clamp(13.2px, 1.05vw, 16.2px) !important;
  line-height: 1.56 !important;
  text-align: right !important;
}
.poem-page.kind-prose[data-page="5"] .poem-body {
  width: min(94%, 545px) !important;
  font-size: clamp(12.7px, 1vw, 15.7px) !important;
  line-height: 1.5 !important;
  text-align: right !important;
}
.poem-page.kind-prose[data-page="3"] .poem-body p,
.poem-page.kind-prose[data-page="5"] .poem-body p {
  margin: 0 0 .62em !important;
}
.poem-page.kind-prose[data-page="3"] .prose-byline {
  text-align: center !important;
  font-size: clamp(14.2px, 1.18vw, 17.5px) !important;
  font-weight: 600 !important;
  margin: 0 0 .72em !important;
}
.poem-page.kind-prose[data-page="5"] .prose-block { margin: 0 0 .72em !important; }
.poem-page.kind-prose[data-page="5"] .prose-minihead {
  margin: 0 0 .18em !important;
  font: 700 clamp(13.2px, 1.05vw, 16.2px)/1.3 "Assistant", Arial, sans-serif !important;
}
.poem-page.kind-prose[data-page="5"] .prose-text { margin: 0 !important; }
.poem-page.kind-prose[data-page="3"] .title-rule,
.poem-page.kind-prose[data-page="5"] .title-rule { margin-bottom: 13px !important; }

/* V55 – exactly one navigation arrow on each side. */
.nav-next .nav-chev::before,
.nav-prev .nav-chev::before { content: none !important; display: none !important; }
.nav-next .nav-chev,
.nav-prev .nav-chev {
  font-family: Arial, sans-serif !important;
  font-size: 32px !important;
  line-height: 27px !important;
  font-weight: 200 !important;
}

/* V55 – global fixed developer credit, visible on cover and while reading. */
.global-site-credit {
  position: fixed !important;
  z-index: 130 !important;
  left: max(14px, 1.2vw) !important;
  bottom: 8px !important;
  margin: 0 !important;
  display: flex !important;
  direction: rtl !important;
  align-items: center !important;
  gap: 4px !important;
  color: #aaa398 !important;
  font-size: 10px !important;
  pointer-events: auto !important;
}
.global-site-credit .site-credit-link { color: #d0b583 !important; }

/* V55 – author popup */
.about-author-modal {
  position: fixed;
  z-index: 96;
  top: 50%;
  left: 50%;
  width: min(560px, calc(100vw - 32px));
  max-height: min(72vh, 650px);
  overflow: auto;
  padding: 26px 28px 28px;
  border: 1px solid rgba(121,104,77,.18);
  border-radius: 20px;
  background: #fbf7ef;
  color: #354039;
  box-shadow: 0 28px 90px rgba(0,0,0,.42);
  transform: translate(-50%,-48%) scale(.97);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease, transform .28s cubic-bezier(.2,.76,.2,1);
}
.about-author-modal.open {
  transform: translate(-50%,-50%) scale(1);
  opacity: 1;
  pointer-events: auto;
}
.about-author-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding-bottom:16px;
  border-bottom:1px solid #e2dccd;
}
.about-author-head .eyebrow { color:#8b8e84; font-size:11px; margin-bottom:3px; }
.about-author-head h2 { margin:0; font:600 28px/1.2 "Assistant",Arial,sans-serif; color:#334038; }
.about-author-body { padding-top:18px; }
.about-author-body p { margin:0; font-size:15px; line-height:1.7; color:#6a6c66; }
.about-author-btn { min-width: auto !important; }
.about-author-btn .label { white-space: nowrap; }

@media (max-width: 900px) {
  .page-favorite,
  .page-share,
  .media-trigger {
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
    min-height: 43px !important;
    padding: 3px 2px 4px !important;
  }
  .page-favorite { top: 15.4% !important; }
  .page-share { top: 22.1% !important; }
  .media-trigger { top: 28.8% !important; }
  .page-right .page-favorite,
  .page-right .page-share,
  .page-right .media-trigger,
  .book-sheet.rtl-right .page-favorite,
  .book-sheet.rtl-right .page-share,
  .book-sheet.rtl-right .media-trigger { right: 1.4% !important; }
  .page-left .page-favorite,
  .page-left .page-share,
  .page-left .media-trigger,
  .book-sheet.rtl-left .page-favorite,
  .book-sheet.rtl-left .page-share,
  .book-sheet.rtl-left .media-trigger { left: 1.4% !important; }
  .page-favorite .fav-text,
  .page-share .share-text,
  .media-trigger .media-label { font-size: 8.3px !important; }
  .poem-page.kind-prose[data-page="3"] .poem-body,
  .poem-page.kind-prose[data-page="5"] .poem-body {
    font-size: clamp(10.8px, 2.35vw, 13px) !important;
    line-height: 1.42 !important;
  }
  .poem-page.kind-prose[data-page="3"] .poem-body p,
  .poem-page.kind-prose[data-page="5"] .poem-body p { margin-bottom: .48em !important; }
  .poem-page.kind-prose[data-page="3"] .prose-byline { font-size: clamp(12px,2.7vw,14px) !important; }
  .poem-page.kind-prose[data-page="5"] .prose-minihead { font-size: clamp(11.2px,2.5vw,13.5px) !important; }
  .global-site-credit { bottom: 5px !important; font-size: 8.7px !important; }
  .about-author-modal { padding:22px 20px 24px; }
  .about-author-head h2 { font-size:24px; }
}


/* V56 – compact horizontal song actions at the upper outer edge */
.page-favorite,
.page-share,
.media-trigger {
  top: 6.75% !important;
  bottom: auto !important;
  width: 43px !important;
  min-width: 43px !important;
  max-width: 43px !important;
  min-height: 38px !important;
  height: 38px !important;
  padding: 2px 2px 3px !important;
  border-radius: 12px !important;
  gap: 0 !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}
.page-favorite .fav-icon,
.page-share .share-icon,
.media-trigger .media-play {
  font-size: 17px !important;
  line-height: .92 !important;
}
.page-favorite.saved .fav-icon::before { font-size: 17px !important; }
.page-favorite .fav-text,
.page-share .share-text,
.media-trigger .media-label {
  font-size: 7.7px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
}
.page-right .page-favorite,
.book-sheet.rtl-right .page-favorite { right: 2.5% !important; left: auto !important; }
.page-right .page-share,
.book-sheet.rtl-right .page-share { right: calc(2.5% + 47px) !important; left: auto !important; }
.page-right .media-trigger,
.book-sheet.rtl-right .media-trigger { right: calc(2.5% + 94px) !important; left: auto !important; }
.page-left .page-favorite,
.book-sheet.rtl-left .page-favorite { left: 2.5% !important; right: auto !important; }
.page-left .page-share,
.book-sheet.rtl-left .page-share { left: calc(2.5% + 47px) !important; right: auto !important; }
.page-left .media-trigger,
.book-sheet.rtl-left .media-trigger { left: calc(2.5% + 94px) !important; right: auto !important; }

/* V56 – developer credit +15% */
.global-site-credit { font-size: 11.5px !important; }
.global-site-credit .site-credit-link { font-weight: 700 !important; }

/* V56 – real author biography copy */
.about-author-modal { width: min(620px, calc(100vw - 32px)); }
.about-author-body { padding-top: 18px; }
.about-author-body p {
  margin: 0 0 1em !important;
  font-size: 15px !important;
  line-height: 1.72 !important;
  color: #5f625d !important;
}
.about-author-body p:last-child { margin-bottom: 0 !important; }

@media (max-width: 900px) {
  .page-favorite,
  .page-share,
  .media-trigger {
    top: 6.2% !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    min-height: 34px !important;
    height: 34px !important;
    padding: 2px 1px !important;
    border-radius: 10px !important;
  }
  .page-favorite .fav-icon,
  .page-share .share-icon,
  .media-trigger .media-play { font-size: 15px !important; }
  .page-favorite.saved .fav-icon::before { font-size: 15px !important; }
  .page-favorite .fav-text,
  .page-share .share-text,
  .media-trigger .media-label { font-size: 6.8px !important; }
  .page-right .page-favorite,
  .book-sheet.rtl-right .page-favorite { right: 2% !important; }
  .page-right .page-share,
  .book-sheet.rtl-right .page-share { right: calc(2% + 41px) !important; }
  .page-right .media-trigger,
  .book-sheet.rtl-right .media-trigger { right: calc(2% + 82px) !important; }
  .page-left .page-favorite,
  .book-sheet.rtl-left .page-favorite { left: 2% !important; }
  .page-left .page-share,
  .book-sheet.rtl-left .page-share { left: calc(2% + 41px) !important; }
  .page-left .media-trigger,
  .book-sheet.rtl-left .media-trigger { left: calc(2% + 82px) !important; }
  .global-site-credit { font-size: 10px !important; }
  .about-author-body p { font-size: 14px !important; line-height: 1.65 !important; }
}


/* V57 – larger top song action buttons without overlap */
.page-favorite,
.page-share,
.media-trigger {
  top: 6.5% !important;
  width: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  min-height: 46px !important;
  height: 46px !important;
  padding: 4px 4px 5px !important;
  border-radius: 14px !important;
  gap: 1px !important;
}
.page-favorite .fav-icon,
.page-share .share-icon,
.media-trigger .media-play {
  font-size: 20px !important;
  line-height: .94 !important;
}
.page-favorite.saved .fav-icon::before { font-size: 20px !important; }
.page-favorite .fav-text,
.page-share .share-text,
.media-trigger .media-label {
  font-size: 9.2px !important;
  line-height: 1.05 !important;
  font-weight: 700 !important;
}
.page-right .page-favorite,
.book-sheet.rtl-right .page-favorite { right: 2.2% !important; }
.page-right .page-share,
.book-sheet.rtl-right .page-share { right: calc(2.2% + 62px) !important; }
.page-right .media-trigger,
.book-sheet.rtl-right .media-trigger { right: calc(2.2% + 124px) !important; }
.page-left .page-favorite,
.book-sheet.rtl-left .page-favorite { left: 2.2% !important; }
.page-left .page-share,
.book-sheet.rtl-left .page-share { left: calc(2.2% + 62px) !important; }
.page-left .media-trigger,
.book-sheet.rtl-left .media-trigger { left: calc(2.2% + 124px) !important; }

/* V57 – redesigned author modal with portrait */
.about-author-modal {
  width: min(880px, calc(100vw - 34px)) !important;
  max-height: min(82vh, 760px) !important;
  padding: 0 !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at top right, rgba(108,149,199,.14), transparent 28%),
    radial-gradient(circle at bottom left, rgba(213,169,103,.12), transparent 26%),
    #ffffff !important;
  border: 1px solid rgba(120,132,150,.16) !important;
  box-shadow: 0 28px 90px rgba(15,20,26,.26) !important;
  overflow: hidden !important;
}
.about-author-head {
  padding: 24px 28px 20px !important;
  border-bottom: 1px solid rgba(136,153,173,.16) !important;
  background: linear-gradient(180deg, rgba(244,248,253,.95), rgba(255,255,255,.96)) !important;
}
.about-author-head .eyebrow {
  color: #6983a6 !important;
  font-size: 12px !important;
  letter-spacing: .08em !important;
  margin-bottom: 6px !important;
}
.about-author-head h2 {
  color: #243449 !important;
  font-size: 31px !important;
}
.about-author-body {
  padding: 22px 28px 28px !important;
}
.about-author-layout {
  display: grid;
  grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}
.about-author-figure {
  margin: 0;
  position: sticky;
  top: 0;
}
.about-author-figure img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
  border-radius: 22px;
  background: linear-gradient(180deg,#eef3f8,#ffffff);
  box-shadow: 0 18px 40px rgba(36,52,73,.12);
}
.about-author-figure figcaption {
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(243,248,254,.95), rgba(255,255,255,.96));
  border: 1px solid rgba(136,153,173,.16);
}
.about-author-figure figcaption strong {
  display:block;
  font: 700 22px/1.2 "Assistant", Arial, sans-serif;
  color:#243449;
  margin-bottom:4px;
}
.about-author-figure figcaption span {
  display:block;
  font: 600 13px/1.45 "Assistant", Arial, sans-serif;
  color:#6a7f9b;
}
.about-author-copy {
  padding-top: 2px;
}
.about-author-copy p {
  margin: 0 0 1em !important;
  font-size: 17px !important;
  line-height: 1.82 !important;
  color: #40464d !important;
}
.about-author-copy p:first-child {
  font-size: 17.5px !important;
}
@media (max-width: 900px) {
  .page-favorite,
  .page-share,
  .media-trigger {
    top: 6.2% !important;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 3px !important;
  }
  .page-favorite .fav-icon,
  .page-share .share-icon,
  .media-trigger .media-play { font-size: 17px !important; }
  .page-favorite.saved .fav-icon::before { font-size: 17px !important; }
  .page-favorite .fav-text,
  .page-share .share-text,
  .media-trigger .media-label { font-size: 7.7px !important; }
  .page-right .page-favorite,
  .book-sheet.rtl-right .page-favorite { right: 1.8% !important; }
  .page-right .page-share,
  .book-sheet.rtl-right .page-share { right: calc(1.8% + 51px) !important; }
  .page-right .media-trigger,
  .book-sheet.rtl-right .media-trigger { right: calc(1.8% + 102px) !important; }
  .page-left .page-favorite,
  .book-sheet.rtl-left .page-favorite { left: 1.8% !important; }
  .page-left .page-share,
  .book-sheet.rtl-left .page-share { left: calc(1.8% + 51px) !important; }
  .page-left .media-trigger,
  .book-sheet.rtl-left .media-trigger { left: calc(1.8% + 102px) !important; }

  .about-author-modal {
    width: min(94vw, 680px) !important;
    max-height: min(86vh, 920px) !important;
  }
  .about-author-head { padding: 20px 20px 16px !important; }
  .about-author-head h2 { font-size: 25px !important; }
  .about-author-body { padding: 18px 20px 22px !important; }
  .about-author-layout {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .about-author-figure {
    position: static;
    max-width: 330px;
    margin: 0 auto;
  }
  .about-author-copy p {
    font-size: 15px !important;
    line-height: 1.72 !important;
  }
}


/* V58 — MOBILE-ONLY full reader adaptation. Desktop remains unchanged. */
@media (max-width: 680px) {
  html, body { width:100%; max-width:100%; overflow-x:hidden; }
  body.reader-open { overflow:hidden !important; overscroll-behavior:none; }

  /* Persistent developer credit: reserve footer space so it is always visible. */
  .global-site-credit {
    position: fixed !important;
    z-index: 125 !important;
    left: 50% !important;
    right: auto !important;
    bottom: max(3px, env(safe-area-inset-bottom)) !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    padding: 3px 9px !important;
    width: max-content !important;
    max-width: calc(100vw - 20px) !important;
    display: flex !important;
    justify-content: center !important;
    direction: rtl !important;
    white-space: nowrap !important;
    font-size: 9.7px !important;
    line-height: 1.2 !important;
    color: #ded6c7 !important;
    background: rgba(22,26,30,.78) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 999px !important;
    backdrop-filter: blur(8px) !important;
    box-shadow: 0 4px 18px rgba(0,0,0,.18) !important;
  }
  .global-site-credit .site-credit-link { color:#e0bf86 !important; }

  /* Compact, scrollable toolbar — no content is forced off screen. */
  .reader { grid-template-rows: 45px minmax(0,1fr) 39px !important; }
  .reader-bar {
    min-height:45px !important;
    height:45px !important;
    padding:4px 5px !important;
    gap:0 !important;
    overflow:hidden !important;
  }
  .brand-mini { display:none !important; }
  .reader-actions {
    width:100% !important;
    min-width:0 !important;
    display:flex !important;
    gap:5px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch !important;
    padding:0 1px 2px !important;
  }
  .reader-actions::-webkit-scrollbar { display:none !important; }
  .reader-bar .icon-btn {
    flex:0 0 40px !important;
    min-width:40px !important;
    width:40px !important;
    height:35px !important;
    min-height:35px !important;
    padding:3px !important;
    border-radius:10px !important;
  }
  .reader-bar .icon-btn .label { display:none !important; }
  .reader-bar .icon-btn > span:first-child:not(.label) { font-size:16px !important; }
  .magnifier-btn { display:none !important; }

  /* Give the physical page every usable horizontal pixel. */
  .reader-scene {
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:0 !important;
    padding:2px 2px 3px !important;
    overflow:hidden !important;
    touch-action:none !important;
  }
  .book-wrap,
  .pageflip-wrap {
    width:min(calc(100vw - 4px), 430px) !important;
    max-width:calc(100vw - 4px) !important;
    height:auto !important;
    max-height:calc(100dvh - 88px) !important;
    aspect-ratio:620 / 880 !important;
    margin:auto !important;
    overflow:visible !important;
    touch-action:none !important;
  }
  .pageflip-mirror,
  #book.pageflip-book,
  #book.stf__parent,
  #book.stf__parent > .stf__wrapper {
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    touch-action:none !important;
  }
  #book .stf__block { overflow:hidden !important; }
  .pageflip-wrap::before { display:none !important; }
  .pageflip-wrap::after { bottom:-4px !important; height:10px !important; filter:blur(9px) !important; }
  .page-turn-tip {
    bottom:5px !important;
    font-size:8px !important;
    padding:3px 7px !important;
    opacity:.68 !important;
    pointer-events:none !important;
  }

  /* Reliable fallback arrows, over the margin only. */
  .nav-hit,.nav-next,.nav-prev {
    position:absolute !important;
    z-index:90 !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:32px !important;
    min-width:32px !important;
    max-width:32px !important;
    height:66px !important;
    min-height:66px !important;
    max-height:66px !important;
    border-radius:12px !important;
    background:rgba(21,25,29,.54) !important;
    border-color:rgba(255,255,255,.12) !important;
    backdrop-filter:blur(5px) !important;
  }
  .nav-next { left:2px !important; right:auto !important; }
  .nav-prev { right:2px !important; left:auto !important; }
  .nav-hit .nav-chev { font-size:27px !important; }
  .nav-hit small { display:none !important; }

  /* The page itself: reserve a clean top strip for the three actions, then
     maximize usable text height. */
  .running-head {
    top:2.25% !important;
    font-size:8px !important;
    line-height:1.1 !important;
  }
  .poem-page.kind-poem .poem-inner {
    top:15.2% !important;
    bottom:10.4% !important;
    left:6.8% !important;
    right:6.8% !important;
  }
  .poem-page.kind-poem .poem-title {
    font-size:clamp(20px,5.6vw,25px) !important;
    line-height:1.02 !important;
    margin:0 !important;
  }
  .poem-page.kind-poem .title-rule {
    height:11px !important;
    margin:3px 0 5px !important;
  }
  .poem-page.kind-poem .poem-body,
  .poem-page.kind-poem.is-compact .poem-body,
  .poem-page.kind-poem.is-tight .poem-body,
  .poem-page.kind-poem.is-two-col .poem-body,
  .poem-page.kind-poem.is-two-col.is-compact .poem-body,
  .poem-page.kind-poem.is-two-col.is-tight .poem-body,
  .poem-page.kind-poem.spread-first .poem-body,
  .poem-page.kind-poem.spread-continuation .poem-body {
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    font-size:clamp(10.8px,2.92vw,12.2px) !important;
    line-height:1.32 !important;
    overflow:hidden !important;
    color:#000 !important;
    opacity:1 !important;
    -webkit-text-fill-color:#000 !important;
  }
  .poem-page.kind-poem .poem-body p,
  .poem-page.kind-poem .poem-col p,
  .poem-page.kind-poem.spread-first .poem-body p,
  .poem-page.kind-poem.spread-continuation .poem-body p {
    margin:0 0 .5em !important;
  }
  .poem-columns { column-gap:8px !important; }
  .poem-page.kind-poem .illustration-fade {
    height:7.4% !important;
    bottom:2.6% !important;
    opacity:.72 !important;
  }
  .page-number { bottom:1.25% !important; font-size:8.5px !important; }

  /* Song actions: still readable, but contained entirely in the reserved top strip. */
  .page-favorite,.page-share,.media-trigger {
    top:5.4% !important;
    width:50px !important;
    min-width:50px !important;
    max-width:50px !important;
    height:41px !important;
    min-height:41px !important;
    padding:3px !important;
    border-radius:12px !important;
    gap:1px !important;
  }
  .page-favorite .fav-icon,.page-share .share-icon,.media-trigger .media-play {
    font-size:18px !important;
    line-height:.9 !important;
  }
  .page-favorite.saved .fav-icon::before { font-size:18px !important; }
  .page-favorite .fav-text,.page-share .share-text,.media-trigger .media-label {
    font-size:8px !important;
    line-height:1 !important;
    font-weight:700 !important;
  }
  .book-sheet.rtl-right .page-favorite,.page-right .page-favorite { right:2.2% !important; left:auto !important; }
  .book-sheet.rtl-right .page-share,.page-right .page-share { right:calc(2.2% + 53px) !important; left:auto !important; }
  .book-sheet.rtl-right .media-trigger,.page-right .media-trigger { right:calc(2.2% + 106px) !important; left:auto !important; }
  .book-sheet.rtl-left .page-favorite,.page-left .page-favorite { left:2.2% !important; right:auto !important; }
  .book-sheet.rtl-left .page-share,.page-left .page-share { left:calc(2.2% + 53px) !important; right:auto !important; }
  .book-sheet.rtl-left .media-trigger,.page-left .media-trigger { left:calc(2.2% + 106px) !important; right:auto !important; }

  /* Front matter stays one-column on phones and uses the full page. */
  .poem-page.kind-prose[data-page="3"] .poem-inner,
  .poem-page.kind-prose[data-page="5"] .poem-inner,
  .poem-page.kind-prose .poem-inner {
    top:7.5% !important;
    bottom:5.8% !important;
    left:6.2% !important;
    right:6.2% !important;
  }
  .poem-page.kind-prose .poem-title {
    font-size:clamp(20px,5.7vw,25px) !important;
    line-height:1.03 !important;
  }
  .poem-page.kind-prose .title-rule {
    height:10px !important;
    margin:3px 0 7px !important;
  }
  .poem-page.kind-prose .poem-body,
  .poem-page.kind-prose[data-page="3"] .poem-body,
  .poem-page.kind-prose[data-page="5"] .poem-body {
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(9.9px,2.6vw,11px) !important;
    line-height:1.38 !important;
    text-align:right !important;
    overflow:hidden !important;
  }
  .poem-page.kind-prose .poem-body p,
  .poem-page.kind-prose[data-page="3"] .poem-body p,
  .poem-page.kind-prose[data-page="5"] .poem-body p {
    margin:0 0 .58em !important;
  }
  .poem-page.kind-prose[data-page="3"] .prose-byline {
    text-align:center !important;
    font-size:11.8px !important;
    line-height:1.2 !important;
    margin:0 0 .65em !important;
  }
  .poem-page.kind-prose[data-page="5"] .prose-block { margin:0 0 .62em !important; }
  .poem-page.kind-prose[data-page="5"] .prose-minihead {
    font-size:10.8px !important;
    line-height:1.2 !important;
    margin:0 0 .18em !important;
    font-weight:700 !important;
  }
  .poem-page.kind-prose .illustration-fade { display:none !important; }
  .poem-page.kind-prose .prose-columns { display:block !important; }

  /* TOC and gates/title pages: no clipping at phone width. */
  .poem-page.kind-toc .poem-inner {
    top:7% !important; bottom:5.5% !important; left:5.7% !important; right:5.7% !important;
  }
  .poem-page.kind-toc .poem-title { font-size:20px !important; }
  .poem-page.kind-toc .poem-body {
    width:100% !important;
    font-size:9.5px !important;
    line-height:1.2 !important;
    overflow:hidden !important;
  }
  .toc-print-row { margin-bottom:.28em !important; }
  .poem-page.kind-gate .poem-inner,
  .poem-page.kind-title .poem-inner {
    top:15% !important; bottom:12% !important; left:7% !important; right:7% !important;
  }
  .poem-page.kind-gate .poem-title,
  .poem-page.kind-title .poem-title { font-size:clamp(25px,7vw,31px) !important; }
  .poem-page.kind-gate .poem-body,
  .poem-page.kind-title .poem-body { font-size:13px !important; line-height:1.5 !important; }

  /* Last-resort classes added only when actual rendered overflow is measured. */
  .poem-page.mobile-fit-tight .poem-title { font-size:18.5px !important; }
  .poem-page.mobile-fit-tight .title-rule { height:7px !important; margin-bottom:3px !important; }
  .poem-page.kind-poem.mobile-fit-tight .poem-inner { top:14.4% !important; bottom:8.3% !important; }
  .poem-page.kind-poem.mobile-fit-tight .illustration-fade { height:5.4% !important; opacity:.58 !important; }
  .poem-page.mobile-fit-ultra .poem-title { font-size:17px !important; }
  .poem-page.kind-poem.mobile-fit-ultra .poem-inner { top:13.9% !important; bottom:6.6% !important; }
  .poem-page.kind-poem.mobile-fit-ultra .illustration-fade { display:none !important; }

  /* Footer has room for the persistent credit pill. */
  .reader-footer {
    min-height:39px !important;
    height:39px !important;
    padding:2px 7px 15px !important;
    grid-template-columns:auto 1fr !important;
    font-size:8px !important;
  }
  .hint { display:none !important; }
  .progress-copy { white-space:nowrap !important; font-size:8px !important; }

  /* Drawers/modals must never exceed the phone viewport. */
  .toc-drawer,.contact-drawer {
    width:min(94vw, 430px) !important;
    max-width:94vw !important;
    max-height:calc(100dvh - 18px) !important;
    overflow:auto !important;
  }
  .about-author-modal {
    width:94vw !important;
    max-height:88dvh !important;
    overflow:auto !important;
    border-radius:20px !important;
  }
  .about-author-head { position:sticky !important; top:0 !important; z-index:3 !important; padding:16px 16px 13px !important; }
  .about-author-head h2 { font-size:22px !important; }
  .about-author-body { padding:14px 16px 20px !important; }
  .about-author-layout { display:block !important; }
  .about-author-figure { max-width:230px !important; margin:0 auto 16px !important; }
  .about-author-figure img { border-radius:16px !important; }
  .about-author-figure figcaption { margin-top:8px !important; padding:10px 12px !important; }
  .about-author-figure figcaption strong { font-size:18px !important; }
  .about-author-copy p { font-size:14px !important; line-height:1.62 !important; }
  .media-panel {
    left:4vw !important; right:4vw !important; top:54px !important; width:92vw !important; max-width:none !important;
  }
}

/* Extra-small phones only; still mobile-only. */
@media (max-width: 360px) {
  .page-favorite,.page-share,.media-trigger {
    width:46px !important; min-width:46px !important; max-width:46px !important;
    height:39px !important; min-height:39px !important;
  }
  .page-favorite .fav-text,.page-share .share-text,.media-trigger .media-label { font-size:7.3px !important; }
  .book-sheet.rtl-right .page-share,.page-right .page-share { right:calc(2% + 48px) !important; }
  .book-sheet.rtl-right .media-trigger,.page-right .media-trigger { right:calc(2% + 96px) !important; }
  .book-sheet.rtl-left .page-share,.page-left .page-share { left:calc(2% + 48px) !important; }
  .book-sheet.rtl-left .media-trigger,.page-left .media-trigger { left:calc(2% + 96px) !important; }
  .poem-page.kind-poem .poem-body { font-size:10.5px !important; }
  .poem-page.kind-prose .poem-body { font-size:9.5px !important; }
}

/* V58 mobile continuation pages have no title/actions, so use that space. */
@media (max-width: 680px) {
  .poem-page.kind-poem.spread-continuation .poem-inner {
    top:5.2% !important;
    bottom:6.2% !important;
    left:6.8% !important;
    right:6.8% !important;
  }
  .poem-page.kind-poem.spread-continuation .poem-body {
    width:100% !important;
    font-size:clamp(10.8px,2.92vw,12.2px) !important;
    line-height:1.32 !important;
  }
  .poem-page.kind-poem.spread-continuation .illustration-fade {
    height:4.8% !important;
    bottom:2.2% !important;
  }
  .poem-page .poem-body,
  .poem-page .poem-body p,
  .poem-page .poem-col,
  .poem-page .poem-col p {
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }
}


/* V59 — mobile-only refinement */
@media (max-width: 680px) {
  /* Keep the top bar fixed and usable while scrolling horizontally. */
  .reader {
    grid-template-rows: auto minmax(0,1fr) 39px !important;
  }
  .reader-bar {
    position: sticky !important;
    top: 0 !important;
    z-index: 135 !important;
    min-height: 48px !important;
    height: 48px !important;
    padding: 5px 5px !important;
    background: linear-gradient(180deg, rgba(17,20,24,.92), rgba(20,23,28,.84)) !important;
    box-shadow: 0 7px 22px rgba(0,0,0,.18) !important;
  }
  .reader-actions {
    padding: 0 2px 2px !important;
    gap: 6px !important;
  }
  .reader-bar .icon-btn {
    flex: 0 0 42px !important;
    min-width: 42px !important;
    width: 42px !important;
    height: 36px !important;
    min-height: 36px !important;
  }
  /* Re-enable a mobile-safe magnifier button (reading zoom mode). */
  .magnifier-btn {
    display: flex !important;
  }

  /* Move navigation below the book so it never covers the poem text. */
  .reader-scene {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-areas:
      "book book"
      "next prev" !important;
    justify-items: center !important;
    align-content: start !important;
    gap: 10px 14px !important;
    padding: 3px 6px 6px !important;
    overflow: visible !important;
    direction: ltr !important;
  }
  .book-wrap,
  .pageflip-wrap {
    grid-area: book !important;
    width: min(calc(100vw - 10px), 430px) !important;
    max-width: calc(100vw - 10px) !important;
    max-height: calc(100dvh - 152px) !important;
    aspect-ratio: 620 / 880 !important;
    margin: 0 auto !important;
  }
  .nav-hit,
  .nav-next,
  .nav-prev {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    z-index: 92 !important;
    width: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    border-radius: 14px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    background: rgba(21,25,29,.76) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.16) !important;
    backdrop-filter: blur(7px) !important;
    direction: rtl !important;
  }
  .nav-next { grid-area: next !important; justify-self: start !important; margin-left: 8px !important; }
  .nav-prev { grid-area: prev !important; justify-self: end !important; margin-right: 8px !important; }
  .nav-hit:hover:not(:disabled) { transform: none !important; }
  .nav-hit .nav-chev {
    font-size: 24px !important;
    line-height: 1 !important;
  }
  .nav-hit small {
    display: block !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    color: #eee3cf !important;
    letter-spacing: .01em !important;
  }

  /* Mobile-safe reading zoom mode triggered by the magnifier button. */
  body.mobile-magnifier-mode .poem-page.kind-poem .poem-body,
  body.mobile-magnifier-mode .poem-page.kind-poem.spread-continuation .poem-body {
    font-size: clamp(11.6px, 3.08vw, 13px) !important;
    line-height: 1.42 !important;
  }
  body.mobile-magnifier-mode .poem-page.kind-prose .poem-body,
  body.mobile-magnifier-mode .poem-page.kind-prose[data-page="3"] .poem-body,
  body.mobile-magnifier-mode .poem-page.kind-prose[data-page="5"] .poem-body {
    font-size: clamp(10.3px, 2.86vw, 11.6px) !important;
    line-height: 1.46 !important;
  }
  body.mobile-magnifier-mode .poem-page .illustration-fade {
    display: none !important;
  }
  body.mobile-magnifier-mode .poem-page.kind-poem .poem-inner {
    bottom: 7.2% !important;
  }
  body.mobile-magnifier-mode .poem-page.kind-poem.spread-continuation .poem-inner {
    bottom: 5.2% !important;
  }
}

@media (max-width: 380px) {
  .nav-hit,
  .nav-next,
  .nav-prev {
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
  }
  .nav-hit small {
    font-size: 9.5px !important;
  }
}


/* V60 — mobile polish only. Desktop untouched. */
@media (max-width: 680px) {
  /* Landing: fit the entire hero into real mobile viewport + safe areas. */
  .landing {
    min-height:100dvh !important;
    height:auto !important;
    align-content:center !important;
    gap:18px !important;
    padding: max(18px, env(safe-area-inset-top)) 16px max(52px, calc(env(safe-area-inset-bottom) + 42px)) !important;
  }
  .cover-book { width:min(285px, 64vw, 38dvh) !important; }
  .landing-copy { width:min(100%, 390px) !important; }
  .landing h1 {
    font-size:clamp(29px, 8.2vw, 40px) !important;
    line-height:1.02 !important;
    margin-bottom:12px !important;
    white-space:nowrap !important;
  }
  .landing-book-meta { margin-bottom:18px !important; gap:2px !important; }
  .landing-subtitle { font-size:clamp(15px,4.2vw,18px) !important; }
  .landing-author { font-size:clamp(19px,5.1vw,23px) !important; }
  .primary-btn { min-height:46px !important; padding:10px 18px !important; }
  .quiet-btn { min-height:42px !important; margin-top:10px !important; }
  .landing-links { margin-top:8px !important; }

  /* The toolbar is truly persistent on mobile, even after UI auto-hide. */
  .reader.ui-hidden .reader-bar,
  .reader:not(.ui-hidden) .reader-bar {
    opacity:1 !important;
    transform:none !important;
    pointer-events:auto !important;
  }
  .reader-bar {
    padding-top:max(5px, env(safe-area-inset-top)) !important;
    height:auto !important;
    min-height:calc(44px + env(safe-area-inset-top)) !important;
  }
  .reader-actions {
    scroll-snap-type:x proximity !important;
    overscroll-behavior-x:contain !important;
    mask-image:linear-gradient(90deg, transparent 0, #000 12px, #000 calc(100% - 12px), transparent 100%) !important;
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 12px, #000 calc(100% - 12px), transparent 100%) !important;
  }
  .reader-bar .icon-btn {
    flex-basis:44px !important;
    min-width:44px !important;
    width:44px !important;
    height:38px !important;
    min-height:38px !important;
    scroll-snap-align:start !important;
  }
  .magnifier-toolbar-icon,
  .magnifier-toolbar-icon svg { width:21px !important; height:21px !important; }

  /* Clean footer/progress with dedicated room for the fixed developer credit. */
  .reader-footer {
    min-height:42px !important;
    height:42px !important;
    padding:3px 9px 20px !important;
    grid-template-columns:auto 1fr !important;
  }
  .progress-track { height:2px !important; }
  .global-site-credit {
    bottom:max(3px, env(safe-area-inset-bottom)) !important;
    font-size:9.8px !important;
    min-height:20px !important;
    padding:3px 10px !important;
  }

  /* Navigation row gets safe spacing and remains visible. */
  .reader.ui-hidden .nav-hit,
  .reader:not(.ui-hidden) .nav-hit {
    opacity:1 !important;
    pointer-events:auto !important;
  }
  .reader-scene {
    padding-bottom:8px !important;
  }
  .book-wrap,.pageflip-wrap {
    max-height:calc(100dvh - 166px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }

  /* Mobile reading overlay: real large-text mode instead of enlarging the page. */
  .mobile-reading-overlay {
    position:fixed !important;
    z-index:170 !important;
    inset:max(8px, env(safe-area-inset-top)) 8px max(8px, env(safe-area-inset-bottom)) !important;
    display:flex !important;
    flex-direction:column !important;
    background:#fff !important;
    border:1px solid rgba(92,111,137,.16) !important;
    border-radius:22px !important;
    box-shadow:0 22px 70px rgba(0,0,0,.34) !important;
    transform:translateY(12px) scale(.985) !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition:opacity .2s ease, transform .24s cubic-bezier(.2,.76,.2,1) !important;
    overflow:hidden !important;
  }
  .mobile-reading-overlay.open {
    opacity:1 !important;
    transform:none !important;
    pointer-events:auto !important;
  }
  .mobile-reading-head {
    flex:0 0 auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    padding:14px 16px 12px !important;
    border-bottom:1px solid rgba(100,119,144,.14) !important;
    background:linear-gradient(180deg,#f6f9fd,#fff) !important;
    direction:rtl !important;
  }
  .mobile-reading-head small {
    display:block !important;
    font:600 10px/1.2 "Assistant",Arial,sans-serif !important;
    color:#7890ad !important;
    margin-bottom:2px !important;
  }
  .mobile-reading-head strong {
    display:block !important;
    max-width:75vw !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    font:700 16px/1.25 "Assistant",Arial,sans-serif !important;
    color:#27384d !important;
  }
  .mobile-reading-close {
    flex:0 0 40px !important;
    width:40px !important;
    height:40px !important;
    border-radius:50% !important;
    border:1px solid rgba(75,96,124,.16) !important;
    background:#fff !important;
    color:#41536b !important;
    font:400 27px/1 "Assistant",Arial,sans-serif !important;
  }
  .mobile-reading-content {
    flex:1 1 auto !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch !important;
    direction:rtl !important;
    text-align:right !important;
    padding:20px 20px 30px !important;
    color:#111 !important;
    font-family:"Assistant",Arial,sans-serif !important;
  }
  .mobile-reading-content h2 {
    margin:0 0 16px !important;
    font:700 clamp(25px,7vw,32px)/1.15 "Assistant",Arial,sans-serif !important;
    color:#2d4f70 !important;
  }
  .mobile-reading-content h3 {
    margin:20px 0 6px !important;
    font:700 18px/1.35 "Assistant",Arial,sans-serif !important;
    color:#725d85 !important;
  }
  .mobile-reading-content p,
  .mobile-reading-content blockquote {
    white-space:pre-line !important;
    margin:0 0 1em !important;
    font:500 18px/1.68 "Assistant",Arial,sans-serif !important;
    color:#111 !important;
  }
  .mobile-reading-content blockquote {
    padding:10px 14px !important;
    border-right:3px solid #7f96b3 !important;
    background:#f6f8fb !important;
    border-radius:10px !important;
  }
  .mobile-reading-content .mobile-reading-byline {
    text-align:center !important;
    font-weight:700 !important;
    color:#566b83 !important;
  }
  .mobile-reading-content .mobile-reading-subtitle,
  .mobile-reading-content .mobile-reading-author {
    text-align:center !important;
    font-weight:600 !important;
  }
  .mobile-reading-content .mobile-reading-toc {
    font-size:16px !important;
    margin-bottom:.55em !important;
  }
  body.mobile-reading-open { overflow:hidden !important; }
  body.mobile-reading-open .global-site-credit { opacity:0 !important; pointer-events:none !important; }

  /* Old magnifier-lens UI stays desktop-only. */
  .magnifier-lens { display:none !important; }
  body.mobile-magnifier-mode .poem-page { /* neutralize V59 page enlargement */ }
}

@media (max-width: 360px) {
  .landing h1 { font-size:27px !important; }
  .cover-book { width:min(250px, 61vw, 35dvh) !important; }
  .mobile-reading-content { padding:18px 16px 26px !important; }
  .mobile-reading-content p,.mobile-reading-content blockquote { font-size:17px !important; }
}

/* Keep the mobile reading sheet completely absent on desktop. */
.mobile-reading-overlay { display:none; }
@media (max-width:680px){ .mobile-reading-overlay { display:flex !important; } }


/* V61 — reading upgrades: mobile page scrubber + mobile text size + day/night on all devices */
.progress-control { position:relative; min-width:0; }
.page-jump-range { display:none; }
.theme-toggle-btn #themeIcon { font-size:18px !important; line-height:1 !important; }

/* Night mode: physical book pages and reader chrome. */
html[data-book-theme="night"] .poem-page:not(.kind-back-cover) {
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.035), transparent 24%),
    linear-gradient(100deg,rgba(92,111,132,.06),transparent 12%,transparent 88%,rgba(152,113,76,.045)),
    #171c22 !important;
  box-shadow: inset 0 0 34px rgba(0,0,0,.16), inset 0 -12px 28px rgba(255,255,255,.015) !important;
}
html[data-book-theme="night"] .poem-page:not(.kind-back-cover)::after {
  opacity:.07 !important;
  background-image:repeating-linear-gradient(12deg,rgba(255,255,255,.024) 0 1px,transparent 1px 6px) !important;
  mix-blend-mode:screen !important;
}
html[data-book-theme="night"] .poem-page:not(.kind-back-cover) .poem-body,
html[data-book-theme="night"] .poem-page:not(.kind-back-cover) .poem-body p,
html[data-book-theme="night"] .poem-page:not(.kind-back-cover) .poem-col,
html[data-book-theme="night"] .poem-page:not(.kind-back-cover) .poem-col p,
html[data-book-theme="night"] .poem-page:not(.kind-back-cover) .section-subtitle,
html[data-book-theme="night"] .poem-page:not(.kind-back-cover) .section-epigraph {
  color:#f1ede5 !important;
  -webkit-text-fill-color:#f1ede5 !important;
  opacity:1 !important;
}
html[data-book-theme="night"] .poem-page:not(.kind-back-cover) .poem-title,
html[data-book-theme="night"] .poem-page:not(.kind-back-cover) .prose-minihead,
html[data-book-theme="night"] .poem-page:not(.kind-back-cover) .prose-byline {
  color:color-mix(in srgb, var(--accent) 54%, #f5f0e7 46%) !important;
  text-shadow:none !important;
}
html[data-book-theme="night"] .poem-page:not(.kind-back-cover) .running-head,
html[data-book-theme="night"] .poem-page:not(.kind-back-cover) .page-number,
html[data-book-theme="night"] .poem-page:not(.kind-back-cover) .gate-label {
  color:#aaa99f !important;
}
html[data-book-theme="night"] .poem-page:not(.kind-back-cover) .title-rule span {
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 72%,#ddd5c7)) !important;
}
html[data-book-theme="night"] .poem-page:not(.kind-back-cover) .illustration-fade {
  opacity:.48 !important;
  filter:saturate(.78) contrast(1.05) brightness(.84) !important;
  mix-blend-mode:screen !important;
}
html[data-book-theme="night"] .poem-page:not(.kind-back-cover) .illustration-fade::after {
  background:linear-gradient(180deg,transparent,rgba(80,105,130,.035),rgba(198,151,91,.035)) !important;
}
html[data-book-theme="night"] .page-favorite,
html[data-book-theme="night"] .page-share,
html[data-book-theme="night"] .media-trigger {
  background:linear-gradient(180deg,rgba(37,44,53,.96),rgba(25,31,38,.91)) !important;
  border-color:rgba(255,255,255,.12) !important;
  box-shadow:0 10px 25px rgba(0,0,0,.18) !important;
}
html[data-book-theme="night"] .page-favorite .fav-text,
html[data-book-theme="night"] .page-share .share-text,
html[data-book-theme="night"] .media-trigger .media-label { color:#e7e2d8 !important; }
html[data-book-theme="night"] .reader-footer { color:#b7b3aa !important; }
html[data-book-theme="night"] .progress-track { background:rgba(255,255,255,.11) !important; }

/* Night mode for auxiliary reading surfaces. */
html[data-book-theme="night"] .toc-drawer,
html[data-book-theme="night"] .contact-drawer,
html[data-book-theme="night"] .about-author-modal {
  background:#161c23 !important;
  color:#f0ede6 !important;
  border-color:rgba(255,255,255,.10) !important;
}
html[data-book-theme="night"] .drawer-head,
html[data-book-theme="night"] .about-author-head {
  background:linear-gradient(180deg,rgba(32,41,52,.96),rgba(22,28,35,.96)) !important;
  border-color:rgba(255,255,255,.10) !important;
}
html[data-book-theme="night"] .drawer-head h2,
html[data-book-theme="night"] .about-author-head h2,
html[data-book-theme="night"] .contact-drawer h2,
html[data-book-theme="night"] .toc-item,
html[data-book-theme="night"] .about-author-figure figcaption strong { color:#f3efe7 !important; }
html[data-book-theme="night"] .toc-item { border-color:rgba(255,255,255,.09) !important; }
html[data-book-theme="night"] .toc-item span,
html[data-book-theme="night"] .drawer-foot,
html[data-book-theme="night"] .contact-drawer p,
html[data-book-theme="night"] .contact-note,
html[data-book-theme="night"] .about-author-copy p,
html[data-book-theme="night"] .about-author-figure figcaption span { color:#c1c0ba !important; }
html[data-book-theme="night"] .library-search-wrap,
html[data-book-theme="night"] .library-tabs,
html[data-book-theme="night"] .about-author-figure figcaption {
  background:#202832 !important;
  border-color:rgba(255,255,255,.10) !important;
}
html[data-book-theme="night"] .library-search-wrap input,
html[data-book-theme="night"] .contact-form input,
html[data-book-theme="night"] .contact-form textarea {
  background:#11171d !important;
  color:#f4f0e8 !important;
  border-color:rgba(255,255,255,.12) !important;
}
html[data-book-theme="night"] .drawer-close { color:#e7dfd2 !important; border-color:rgba(255,255,255,.18) !important; }
html[data-book-theme="night"] .about-author-figure img { box-shadow:0 18px 40px rgba(0,0,0,.28) !important; }

@media (max-width:680px) {
  /* Mobile quick page scrubber sits directly on the existing progress line. */
  .progress-control { height:18px !important; display:flex !important; align-items:center !important; }
  .progress-control .progress-track { position:absolute !important; left:0 !important; right:0 !important; top:8px !important; }
  .page-jump-range {
    display:block !important;
    position:relative !important;
    z-index:2 !important;
    width:100% !important;
    height:18px !important;
    margin:0 !important;
    appearance:none !important;
    -webkit-appearance:none !important;
    background:transparent !important;
    touch-action:pan-x !important;
    cursor:pointer !important;
  }
  .page-jump-range::-webkit-slider-runnable-track { height:18px !important; background:transparent !important; }
  .page-jump-range::-webkit-slider-thumb {
    appearance:none !important;
    -webkit-appearance:none !important;
    width:16px !important;
    height:16px !important;
    margin-top:1px !important;
    border-radius:50% !important;
    border:2px solid rgba(255,255,255,.88) !important;
    background:#c79e67 !important;
    box-shadow:0 2px 8px rgba(0,0,0,.26) !important;
  }
  .page-jump-range::-moz-range-track { height:2px !important; background:transparent !important; }
  .page-jump-range::-moz-range-thumb {
    width:14px !important; height:14px !important; border-radius:50% !important;
    border:2px solid rgba(255,255,255,.88) !important; background:#c79e67 !important;
  }

  /* A-/A+ belong to the clean reading sheet, not the physical book page. */
  .mobile-reading-head-actions { display:flex !important; align-items:center !important; gap:8px !important; }
  .mobile-reading-size-controls {
    display:flex !important;
    align-items:center !important;
    gap:4px !important;
    padding:3px !important;
    border:1px solid rgba(80,102,132,.14) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.88) !important;
  }
  .mobile-reading-size-controls button {
    width:38px !important; height:34px !important; border:0 !important; border-radius:999px !important;
    background:#edf3f9 !important; color:#324b66 !important;
    font:700 13px/1 "Assistant",Arial,sans-serif !important; cursor:pointer !important;
  }
  .mobile-reading-size-controls button:disabled { opacity:.34 !important; cursor:default !important; }
  .mobile-reading-size-controls span {
    min-width:42px !important; text-align:center !important;
    font:700 10px/1 "Assistant",Arial,sans-serif !important; color:#71849a !important;
  }
  .mobile-reading-content p,
  .mobile-reading-content blockquote {
    font-size:var(--mobile-reading-font-size, 18px) !important;
  }
  .mobile-reading-content .mobile-reading-toc {
    font-size:calc(var(--mobile-reading-font-size, 18px) - 2px) !important;
  }

  html[data-book-theme="night"] .mobile-reading-overlay {
    background:#121820 !important;
    border-color:rgba(255,255,255,.10) !important;
  }
  html[data-book-theme="night"] .mobile-reading-head {
    background:linear-gradient(180deg,#1d2631,#151c24) !important;
    border-color:rgba(255,255,255,.10) !important;
  }
  html[data-book-theme="night"] .mobile-reading-head strong { color:#f3efe7 !important; }
  html[data-book-theme="night"] .mobile-reading-head small { color:#93aac3 !important; }
  html[data-book-theme="night"] .mobile-reading-content { background:#121820 !important; color:#f3efe7 !important; }
  html[data-book-theme="night"] .mobile-reading-content h2 { color:#a9c7e7 !important; }
  html[data-book-theme="night"] .mobile-reading-content h3 { color:#c4acd5 !important; }
  html[data-book-theme="night"] .mobile-reading-content p,
  html[data-book-theme="night"] .mobile-reading-content blockquote { color:#f3efe7 !important; }
  html[data-book-theme="night"] .mobile-reading-content blockquote { background:#1c2630 !important; }
  html[data-book-theme="night"] .mobile-reading-size-controls { background:#202a35 !important; border-color:rgba(255,255,255,.10) !important; }
  html[data-book-theme="night"] .mobile-reading-size-controls button { background:#293746 !important; color:#eef1f4 !important; }
  html[data-book-theme="night"] .mobile-reading-size-controls span { color:#b8c6d5 !important; }
  html[data-book-theme="night"] .mobile-reading-close { background:#202a35 !important; color:#eee8de !important; border-color:rgba(255,255,255,.12) !important; }
}

@media (max-width:390px) {
  .mobile-reading-head { gap:6px !important; padding-inline:10px !important; }
  .mobile-reading-head > div:first-child { min-width:0 !important; }
  .mobile-reading-size-controls span { display:none !important; }
  .mobile-reading-size-controls button { width:34px !important; height:32px !important; }
  .mobile-reading-close { flex-basis:36px !important; width:36px !important; height:36px !important; }
}


/* V62 — readable song action labels on desktop + mobile */
.page-favorite .fav-text,
.page-share .share-text,
.media-trigger .media-label {
  font-size: 10.5px !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  letter-spacing: .005em !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.55) !important;
}
.page-favorite .fav-text { color:#544f49 !important; }
.page-share .share-text { color:#465873 !important; }
.media-trigger .media-label { color:color-mix(in srgb,var(--accent) 82%,#343a37) !important; }
html[data-book-theme="night"] .page-favorite .fav-text,
html[data-book-theme="night"] .page-share .share-text,
html[data-book-theme="night"] .media-trigger .media-label {
  color:#f1ede5 !important;
  text-shadow:none !important;
}

/* V62 — direct contact panel, no backend required */
.contact-direct { padding-top:16px; text-align:right; }
.contact-person-mark {
  width:58px; height:58px; border-radius:18px; display:grid; place-items:center;
  margin-bottom:10px; font:700 27px/1 "Assistant",Arial,sans-serif;
  color:#fff; background:linear-gradient(145deg,#5b7292,#9d7862);
  box-shadow:0 10px 26px rgba(58,72,93,.16);
}
.contact-direct-intro { display:flex; flex-direction:column; gap:2px; margin-bottom:13px; }
.contact-direct-intro strong { font:700 22px/1.2 "Assistant",Arial,sans-serif; color:#2f3d4e; }
.contact-direct-intro span { font-size:12px; color:#748093; }
.contact-direct > p { margin:0 0 15px; font-size:14px; line-height:1.6; color:#5b615f; }
.contact-direct-cards { display:grid; grid-template-columns:1fr; gap:9px; }
.contact-direct-card {
  display:flex; align-items:center; gap:11px; min-width:0; padding:12px 13px;
  border:1px solid rgba(91,114,146,.15); border-radius:15px; text-decoration:none;
  color:#354252; background:linear-gradient(180deg,#fff,#f7f9fc);
  box-shadow:0 8px 20px rgba(43,57,75,.06); transition:.2s ease;
}
.contact-direct-card:hover { transform:translateY(-1px); border-color:rgba(91,114,146,.30); box-shadow:0 11px 24px rgba(43,57,75,.09); }
.contact-direct-icon { width:34px; height:34px; border-radius:11px; display:grid; place-items:center; flex:0 0 auto; background:#edf3fa; color:#5b7292; font-size:16px; }
.contact-direct-card > span:last-child { min-width:0; display:flex; flex-direction:column; gap:2px; }
.contact-direct-card small { font-size:10px; color:#7b8491; }
.contact-direct-card b { font:700 13px/1.3 "Assistant",Arial,sans-serif; color:#334151; overflow-wrap:anywhere; }
.contact-whatsapp {
  margin-top:13px; min-height:48px; display:flex; align-items:center; justify-content:center; gap:9px;
  border-radius:15px; text-decoration:none; color:#fff; background:linear-gradient(135deg,#168c50,#22a862);
  box-shadow:0 12px 28px rgba(23,145,82,.18); font-size:14px;
}
.contact-whatsapp:hover { filter:brightness(1.04); transform:translateY(-1px); }
html[data-book-theme="night"] .contact-direct-intro strong,
html[data-book-theme="night"] .contact-direct-card b { color:#f1eee8 !important; }
html[data-book-theme="night"] .contact-direct-intro span,
html[data-book-theme="night"] .contact-direct > p,
html[data-book-theme="night"] .contact-direct-card small { color:#aeb6c1 !important; }
html[data-book-theme="night"] .contact-direct-card { background:linear-gradient(180deg,#202a35,#18212b) !important; border-color:rgba(255,255,255,.09) !important; }
html[data-book-theme="night"] .contact-direct-icon { background:#293747 !important; color:#c7d4e5 !important; }

/* V62 — MOBILE ONLY: fit every toolbar icon in a single row, no horizontal scrolling */
@media (max-width: 680px) {
  .reader-bar {
    padding-left:3px !important;
    padding-right:3px !important;
  }
  .reader-actions {
    display:grid !important;
    grid-template-columns:repeat(10,minmax(0,1fr)) !important;
    gap:2px !important;
    width:100% !important;
    overflow:hidden !important;
    padding:0 !important;
  }
  .reader-actions .icon-btn {
    min-width:0 !important;
    width:100% !important;
    max-width:none !important;
    flex:none !important;
    height:34px !important;
    min-height:34px !important;
    padding:2px 1px !important;
    border-radius:8px !important;
    border-width:1px !important;
  }
  .reader-actions .icon-btn > span:first-child:not(.label),
  .reader-actions #themeIcon,
  .reader-actions #soundIcon {
    font-size:15px !important;
  }
  .reader-actions .magnifier-toolbar-icon,
  .reader-actions .magnifier-toolbar-icon svg { width:18px !important; height:18px !important; }
  .reader-actions .icon-btn .label { display:none !important; }

  .page-favorite .fav-text,
  .page-share .share-text,
  .media-trigger .media-label {
    font-size:9.1px !important;
    font-weight:800 !important;
  }
  .contact-drawer { padding-bottom:calc(22px + env(safe-area-inset-bottom)) !important; }
}
@media (max-width: 360px) {
  .reader-actions { gap:1px !important; }
  .reader-actions .icon-btn { height:32px !important; min-height:32px !important; border-radius:7px !important; }
  .reader-actions .icon-btn > span:first-child:not(.label),
  .reader-actions #themeIcon,
  .reader-actions #soundIcon { font-size:14px !important; }
}


/* V62 — contact is a true centered popup, not a backend form/drawer */
.contact-drawer {
  top:50% !important;
  bottom:auto !important;
  right:auto !important;
  left:50% !important;
  width:min(480px, calc(100vw - 32px)) !important;
  max-height:min(78vh, 650px) !important;
  padding:24px 26px 26px !important;
  border-radius:22px !important;
  background:#ffffff !important;
  border:1px solid rgba(91,114,146,.16) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.30) !important;
  transform:translate(-50%,-46%) scale(.97) !important;
  opacity:0 !important;
  pointer-events:none !important;
  transition:opacity .22s ease, transform .28s cubic-bezier(.2,.76,.2,1) !important;
}
.contact-drawer.open {
  transform:translate(-50%,-50%) scale(1) !important;
  opacity:1 !important;
  pointer-events:auto !important;
}
html[data-book-theme="night"] .contact-drawer { background:#161f29 !important; }
@media(max-width:680px){
  .contact-drawer {
    width:92vw !important;
    max-width:92vw !important;
    max-height:84dvh !important;
    padding:20px 18px calc(20px + env(safe-area-inset-bottom)) !important;
    border-radius:19px !important;
  }
}


/* V63 — Library palette refresh: white + cool neutral accents (day mode only) */
html:not([data-book-theme="night"]) .toc-drawer {
  background: #ffffff !important;
  color: #2f3944 !important;
  border-left: 1px solid #e5eaf0 !important;
  box-shadow: -26px 0 70px rgba(23,35,49,.18) !important;
}
html:not([data-book-theme="night"]) .toc-drawer .drawer-head {
  background: linear-gradient(180deg, #f8fbfe 0%, #ffffff 100%) !important;
  border-bottom-color: #e4eaf0 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .drawer-head h2 {
  color: #263748 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .drawer-head .eyebrow {
  color: #6f849a !important;
}
html:not([data-book-theme="night"]) .toc-drawer .drawer-close {
  background: #ffffff !important;
  color: #53677b !important;
  border-color: #d9e1e9 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .drawer-close:hover {
  background: #f5f8fb !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-search-wrap {
  background: #ffffff !important;
  border-color: #dce4ec !important;
  color: #6b8197 !important;
  box-shadow: 0 3px 12px rgba(45,67,89,.045) !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-search-wrap:focus-within {
  border-color: #aebfd0 !important;
  box-shadow: 0 0 0 3px rgba(91,123,155,.08) !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-search-wrap input {
  color: #2f3e4d !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-search-wrap input::placeholder {
  color: #9aa8b6 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-tabs {
  background: #f1f5f8 !important;
  border: 1px solid #e4eaf0 !important;
  padding: 5px !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-tab {
  background: #ffffff !important;
  color: #607386 !important;
  border: 1px solid #e2e8ee !important;
  box-shadow: none !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-tab:hover {
  background: #f8fbfd !important;
  color: #344b61 !important;
  border-color: #cfdae4 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-tab.active {
  background: #ffffff !important;
  color: #2f5577 !important;
  border-color: #bfcfdd !important;
  box-shadow: 0 4px 14px rgba(45,72,98,.10) !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-tab span {
  color: #6686a5 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-status {
  color: #7b8c9c !important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-gate {
  color: #738ba2 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item {
  color: #334150 !important;
  border-bottom-color: #e7ebef !important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item:hover {
  color: #1f4d73 !important;
  background: linear-gradient(90deg, transparent, rgba(102,134,165,.055)) !important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item span {
  color: #8191a0 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .page-thumb {
  background: #ffffff !important;
  color: #344353 !important;
  border-color: #e0e7ed !important;
  box-shadow: 0 5px 16px rgba(36,56,76,.06) !important;
}
html:not([data-book-theme="night"]) .toc-drawer .page-thumb:hover {
  border-color: #c7d5e1 !important;
  box-shadow: 0 8px 22px rgba(36,56,76,.10) !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-empty {
  color: #8594a2 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .drawer-foot {
  border-top-color: #e4eaf0 !important;
  color: #7c8b99 !important;
}


/* V64 — feature polish: gates, listening, clean reading, PWA, closing page */
.library-gates {
  display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; margin:10px 0 11px;
}
.library-gate-chip {
  min-width:0; min-height:48px; padding:6px 4px; border-radius:12px; cursor:pointer;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  border:1px solid color-mix(in srgb,var(--gate-accent) 34%,#dce4eb);
  background:color-mix(in srgb,var(--gate-accent) 7%,#fff); color:#3b4753;
  font-family:"Assistant",Arial,sans-serif; transition:.18s ease;
}
.library-gate-chip:hover { transform:translateY(-1px); border-color:color-mix(in srgb,var(--gate-accent) 55%,#cfd8e0); box-shadow:0 6px 16px rgba(38,56,74,.07); }
.library-gate-chip b { color:var(--gate-accent); font-size:12px; line-height:1; }
.library-gate-chip span { width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:9px; font-weight:700; }
.library-listening-list { display:flex; flex-direction:column; gap:9px; padding-top:4px; }
.library-listen-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; padding:8px; border:1px solid #e2e8ee; border-radius:14px; background:#fff; }
.library-listen-title { min-width:0; display:flex; flex-direction:column; gap:2px; text-align:right; text-decoration:none; border:0; background:transparent; color:#314153; cursor:pointer; font-family:"Assistant",Arial,sans-serif; }
.library-listen-title strong { font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.library-listen-title small { font-size:10px; color:#8392a0; }
.library-listen-play { min-height:38px; padding:6px 10px; border:1px solid #cbd8e3; border-radius:11px; background:#f5f9fc; color:#405f7e; display:flex; align-items:center; gap:5px; cursor:pointer; font-family:"Assistant",Arial,sans-serif; }
.library-listen-play span { font-size:12px; } .library-listen-play b { font-size:10px; }
html[data-book-theme="night"] .library-gate-chip { background:color-mix(in srgb,var(--gate-accent) 16%,#18212b); border-color:color-mix(in srgb,var(--gate-accent) 35%,#35414d); color:#e7ebef; }
html[data-book-theme="night"] .library-listen-item { background:#1b2530; border-color:rgba(255,255,255,.09); }
html[data-book-theme="night"] .library-listen-title { color:#eef1f4; }
html[data-book-theme="night"] .library-listen-play { background:#253240; border-color:#3a4b5d; color:#d9e4ef; }

/* PWA install button + helper */
.install-landing-link[hidden] { display:none !important; }
.install-help-modal {
  position:fixed; z-index:98; top:50%; left:50%; width:min(480px,calc(100vw - 32px)); max-height:80vh; overflow:auto;
  transform:translate(-50%,-47%) scale(.97); opacity:0; pointer-events:none; transition:.22s ease;
  background:#fff; color:#344251; border:1px solid #dfe7ee; border-radius:22px; box-shadow:0 28px 90px rgba(0,0,0,.3); padding:24px 26px 26px;
}
.install-help-modal.open { transform:translate(-50%,-50%) scale(1); opacity:1; pointer-events:auto; }
.install-help-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding-bottom:14px; border-bottom:1px solid #e6ebf0; }
.install-help-head small { color:#70859b; font-size:11px; } .install-help-head h2 { margin:3px 0 0; font:700 25px/1.15 "Assistant",Arial,sans-serif; color:#26394c; }
.install-help-body { padding-top:16px; } .install-help-body p { margin:0 0 12px; font-size:15px; line-height:1.65; } .install-help-body > small { display:block; color:#778797; line-height:1.55; }
html[data-book-theme="night"] .install-help-modal { background:#161f29; color:#e8edf2; border-color:rgba(255,255,255,.1); }
html[data-book-theme="night"] .install-help-head { border-color:rgba(255,255,255,.09); } html[data-book-theme="night"] .install-help-head h2 { color:#f1f4f7; }

/* Random song transition */
.random-pick-overlay { position:fixed; inset:0; z-index:150; display:grid; place-items:center; background:rgba(12,16,20,.28); backdrop-filter:blur(3px); opacity:0; pointer-events:none; transition:opacity .18s ease; }
.random-pick-overlay.show { opacity:1; pointer-events:auto; }
.random-pick-card { min-width:260px; padding:20px 24px; border-radius:20px; background:rgba(30,36,41,.94); color:#f3ead8; display:flex; flex-direction:column; align-items:center; gap:9px; box-shadow:0 22px 60px rgba(0,0,0,.28); }
.random-book-icon { font-size:34px; display:block; animation:randomBookFlip .62s ease-in-out infinite alternate; transform-origin:center; }
.random-pick-card strong { font-size:14px; } .random-pick-card i { width:96px; height:2px; border-radius:999px; background:linear-gradient(90deg,transparent,#d2b57f,transparent); animation:randomLine 1s ease-in-out infinite; }
@keyframes randomBookFlip { from{transform:perspective(120px) rotateY(-16deg)} to{transform:perspective(120px) rotateY(16deg)} }
@keyframes randomLine { 0%,100%{opacity:.35;transform:scaleX(.65)} 50%{opacity:1;transform:scaleX(1)} }

/* Clean reading mode. Tap the page to restore controls. */
.reader.clean-reading { grid-template-rows:0 minmax(0,1fr) 0 !important; }
.reader.clean-reading .reader-bar,
.reader.clean-reading .reader-footer,
.reader.clean-reading .nav-hit,
.reader.clean-reading .page-turn-tip { opacity:0 !important; pointer-events:none !important; visibility:hidden !important; }
.reader.clean-reading .page-favorite,
.reader.clean-reading .page-share,
.reader.clean-reading .media-trigger { opacity:0 !important; pointer-events:none !important; }
body.clean-reading-active .global-site-credit { opacity:0 !important; pointer-events:none !important; }
.reader.clean-reading .reader-scene { padding-top:8px !important; padding-bottom:8px !important; }

/* Closing page replaces the old empty endpaper, preserving page count. */
.poem-page.kind-closing { background:linear-gradient(160deg,#ffffff 0%,#f8faf9 56%,#eef3f0 100%) !important; color:#2d3935 !important; }
.poem-page.kind-closing .poem-inner { top:18% !important; bottom:15% !important; left:13% !important; right:13% !important; text-align:center !important; }
.poem-page.kind-closing .poem-title { color:#31423b !important; font-size:clamp(28px,3vw,40px) !important; text-align:center !important; }
.poem-page.kind-closing .poem-body { display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; text-align:center !important; height:100% !important; }
.closing-book-title { margin:0 0 5px !important; font-size:18px !important; font-weight:700 !important; color:#52675e !important; }
.closing-author { margin:0 !important; font-size:14px !important; font-weight:600 !important; color:#73847c !important; }
.closing-line { width:76px; height:1px; margin:20px auto 18px; background:linear-gradient(90deg,transparent,#8da39a,transparent); }
.closing-note { max-width:340px; margin:0 auto 22px !important; font-size:15px !important; line-height:1.55 !important; color:#5f6c66 !important; }
.closing-actions { display:flex; justify-content:center; gap:9px; flex-wrap:wrap; }
.closing-actions button { min-height:40px; padding:8px 15px; border:1px solid #cad7d1; border-radius:12px; background:#fff; color:#435950; cursor:pointer; font:700 11px "Assistant",Arial,sans-serif; box-shadow:0 6px 16px rgba(57,78,69,.07); }
.closing-actions button:hover { transform:translateY(-1px); border-color:#9fb3aa; }
html[data-book-theme="night"] .poem-page.kind-closing { background:linear-gradient(160deg,#161d22,#11181d) !important; color:#eef1ee !important; }
html[data-book-theme="night"] .poem-page.kind-closing .poem-title, html[data-book-theme="night"] .closing-book-title { color:#eef3ef !important; }
html[data-book-theme="night"] .closing-author, html[data-book-theme="night"] .closing-note { color:#b9c5bf !important; }
html[data-book-theme="night"] .closing-actions button { background:#1e292f; border-color:#35454b; color:#eef2ef; }

/* Library anchors retain button-like appearance. */
a.toc-item, a.page-thumb { text-decoration:none !important; }

@media(max-width:680px){
  /* V64 adds one toolbar tool; keep all 11 tools on a single line. */
  .reader-actions { grid-template-columns:repeat(11,minmax(0,1fr)) !important; gap:1px !important; }
  .reader-actions .icon-btn { height:32px !important; min-height:32px !important; padding:1px !important; border-radius:7px !important; }
  .reader-actions .icon-btn > span:first-child:not(.label), .reader-actions #themeIcon, .reader-actions #soundIcon { font-size:13.5px !important; }
  .reader-actions .magnifier-toolbar-icon, .reader-actions .magnifier-toolbar-icon svg { width:16px !important; height:16px !important; }
  .library-gates { gap:4px; margin-top:8px; }
  .library-gate-chip { min-height:43px; padding:5px 2px; border-radius:10px; }
  .library-gate-chip b { font-size:11px; } .library-gate-chip span { font-size:7.5px; }
  .library-listen-item { padding:7px; } .library-listen-title strong { font-size:13px; }
  .install-help-modal { width:92vw; padding:20px 18px calc(20px + env(safe-area-inset-bottom)); }
  .reader.clean-reading .book-wrap, .reader.clean-reading .pageflip-wrap { max-height:calc(100dvh - 16px) !important; }
  .poem-page.kind-closing .poem-inner { top:14% !important; bottom:12% !important; left:9% !important; right:9% !important; }
  .poem-page.kind-closing .poem-title { font-size:26px !important; }
  .closing-book-title { font-size:15px !important; } .closing-note { font-size:12px !important; margin-bottom:16px !important; }
  .closing-actions button { min-height:36px; padding:6px 11px; font-size:9px; }
}
@media(max-width:360px){
  .reader-actions .icon-btn { height:30px !important; min-height:30px !important; }
  .reader-actions .icon-btn > span:first-child:not(.label), .reader-actions #themeIcon, .reader-actions #soundIcon { font-size:12.5px !important; }
}

.landing-link-btn.songs-directory-link { text-decoration:none; }
.song-directory-page { margin:0; min-height:100vh; background:#f7f9fb; color:#2c3946; font-family:"Assistant",Arial,sans-serif; }
.song-directory-page main { width:min(760px,calc(100vw - 30px)); margin:0 auto; padding:42px 0 70px; }
.song-directory-home { color:#55728f; text-decoration:none; font-weight:700; }
.song-directory-page h1 { margin:22px 0 3px; font-size:38px; }.song-directory-page main>p{margin:0 0 24px;color:#758493;}
.song-directory-page ol { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.song-directory-page li a { display:block; padding:12px 14px; border:1px solid #e1e7ed; border-radius:12px; background:#fff; color:#354758; text-decoration:none; font-weight:600; }
.song-directory-page li a:hover { border-color:#bacbd9; box-shadow:0 5px 16px rgba(36,56,76,.06); }
@media(max-width:680px){.song-directory-page main{padding-top:24px}.song-directory-page h1{font-size:30px}.song-directory-page ol{grid-template-columns:1fr}.landing-links{flex-wrap:wrap !important;}}

@media(max-width:680px){
  .reader.clean-reading .reader-scene {
    grid-template-areas:"book book" !important;
    grid-template-rows:minmax(0,1fr) !important;
    gap:0 !important;
    align-content:center !important;
  }
  .reader.clean-reading .nav-hit { display:none !important; }
}


/* V65 — requested book-page corrections only */

/* 1–3: song-order pages 6–10: slightly tighter rows, larger gate heading,
   and the exact section accent used by the corresponding gate. */
.poem-page.kind-toc .poem-body {
  line-height: 1.22 !important;
}
.poem-page.kind-toc .toc-print-list {
  gap: 0 !important;
}
.poem-page.kind-toc .toc-print-row {
  padding-bottom: 1px !important;
  margin: 0 !important;
  line-height: 1.22 !important;
}
.poem-page.kind-toc .gate-label {
  color: var(--accent) !important;
  font-size: clamp(15px, 1.25vw, 19px) !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  letter-spacing: .015em !important;
  margin-bottom: 10px !important;
}

/* 4: every section gate is explicitly three visual levels. */
.poem-page.kind-gate .poem-title {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
}
.poem-page.kind-gate .gate-title-line {
  display: block;
  font-size: clamp(23px, 2.2vw, 34px) !important;
  line-height: 1.05 !important;
  font-weight: 700 !important;
  color: var(--accent) !important;
}
.poem-page.kind-gate .gate-name-line {
  display: block;
  font-size: clamp(35px, 4vw, 58px) !important;
  line-height: 1.04 !important;
  font-weight: 700 !important;
  color: color-mix(in srgb, var(--accent) 82%, #181818 18%) !important;
}
.poem-page.kind-gate .section-subtitle {
  font-size: clamp(16px, 1.55vw, 22px) !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  white-space: pre-line !important;
}

/* 5: lift the song-page illustration away from the page number. */
.poem-page.kind-poem .illustration-fade {
  bottom: 5.25% !important;
}

/* 7: lyrics are true 100% black in the normal/day paper view. */
html:not([data-book-theme="night"]) .poem-page.kind-poem .poem-body,
html:not([data-book-theme="night"]) .poem-page.kind-poem .poem-body p,
html:not([data-book-theme="night"]) .poem-page.kind-poem .poem-col,
html:not([data-book-theme="night"]) .poem-page.kind-poem .poem-col p {
  color: #000000 !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #000000 !important;
}

/* 8: stronger running header; text itself is set in app.js. */
.poem-page.kind-poem .running-head {
  font-size: clamp(10px, .92vw, 14px) !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  letter-spacing: .015em !important;
}

/* 9: requested back-cover copy replaces the old closing lines. */
.poem-page.kind-back-cover .poem-inner {
  justify-content: center !important;
  padding: 9.5% 9.2% !important;
}
.poem-page.kind-back-cover .poem-body {
  width: 100% !important;
  margin: 0 !important;
  display: block !important;
  text-align: right !important;
}
.poem-page.kind-back-cover .back-cover-copy {
  width: 100%;
  max-width: 100%;
  direction: rtl;
  text-align: right;
}
.poem-page.kind-back-cover .back-cover-copy p {
  margin: 0 0 1.15em !important;
  color: #eee2cf !important;
  font: 400 clamp(11.2px, 1.05vw, 15.5px)/1.62 "Assistant", Arial, sans-serif !important;
}
.poem-page.kind-back-cover .back-cover-copy p:last-child { margin-bottom: 0 !important; }
.poem-page.kind-back-cover .back-cover-copy strong {
  color: #f7ead4 !important;
  font-weight: 700 !important;
  font-size: 1.08em !important;
}

@media (max-width: 680px) {
  .poem-page.kind-toc .poem-body,
  .poem-page.kind-toc .toc-print-row {
    line-height: 1.12 !important;
  }
  .poem-page.kind-toc .toc-print-row {
    margin: 0 !important;
    padding-bottom: 0 !important;
  }
  .poem-page.kind-toc .gate-label {
    font-size: 12px !important;
    line-height: 1.1 !important;
    margin-bottom: 5px !important;
  }
  .poem-page.kind-gate .poem-title { gap: 4px !important; }
  .poem-page.kind-gate .gate-title-line { font-size: 19px !important; }
  .poem-page.kind-gate .gate-name-line { font-size: clamp(29px, 8vw, 36px) !important; }
  .poem-page.kind-gate .section-subtitle {
    font-size: 14px !important;
    line-height: 1.3 !important;
  }
  .poem-page.kind-poem .illustration-fade { bottom: 4.75% !important; }
  .poem-page.kind-poem .running-head {
    font-size: 9.2px !important;
    font-weight: 700 !important;
  }
  .poem-page.kind-back-cover .poem-inner { padding: 8% 7.5% !important; }
  .poem-page.kind-back-cover .back-cover-copy p {
    font-size: clamp(9px, 2.45vw, 10.5px) !important;
    line-height: 1.48 !important;
    margin-bottom: .9em !important;
  }
}


/* V66 — “נשבע. הטיוטא הראשונה” archival feature, page 102 only */
.nishba-draft-trigger {
  position: absolute;
  z-index: 16;
  top: 6.5%;
  right: calc(2.2% + 124px);
  left: auto;
  width: 190px;
  min-height: 46px;
  padding: 6px 12px;
  border: 1px solid rgba(139,103,101,.34);
  border-radius: 14px;
  background: linear-gradient(180deg,rgba(255,253,249,.98),rgba(248,240,235,.95));
  color: #714d4c;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-family: "Assistant", Arial, sans-serif;
  font-size: 10px;
  line-height: 1.12;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(98,62,60,.11), 0 0 0 0 rgba(139,103,101,.20);
  animation: nishbaDraftBreathe 2.8s ease-in-out infinite;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.nishba-draft-trigger:hover,
.nishba-draft-trigger:focus-visible {
  transform: translateY(-2px);
  background: #fffdfa;
  box-shadow: 0 12px 28px rgba(98,62,60,.16), 0 0 0 4px rgba(139,103,101,.10);
  outline: none;
}
.nishba-draft-trigger-icon {
  flex: 0 0 auto;
  font-size: 18px;
  line-height: 1;
  color: #8b6765;
}
.nishba-draft-trigger-label { white-space: nowrap; }
@keyframes nishbaDraftBreathe {
  0%,100% { box-shadow: 0 8px 20px rgba(98,62,60,.10), 0 0 0 0 rgba(139,103,101,.17); }
  50% { box-shadow: 0 10px 24px rgba(98,62,60,.14), 0 0 0 7px rgba(139,103,101,0); }
}
@media (prefers-reduced-motion: reduce) {
  .nishba-draft-trigger { animation: none !important; }
}
.reader.clean-reading .nishba-draft-trigger { display: none !important; }

.nishba-draft-modal {
  position: fixed;
  z-index: 142;
  top: 50%;
  left: 50%;
  width: min(920px, calc(100vw - 34px));
  max-height: min(90vh, 900px);
  overflow: hidden;
  border: 1px solid rgba(106,78,70,.18);
  border-radius: 26px;
  background:
    radial-gradient(circle at 8% 0%, rgba(166,124,107,.09), transparent 27%),
    linear-gradient(180deg,#ffffff 0%,#fcfaf6 100%);
  color: #262321;
  box-shadow: 0 30px 100px rgba(0,0,0,.38);
  transform: translate(-50%,-48%) scale(.975);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease, transform .26s cubic-bezier(.2,.75,.2,1);
}
.nishba-draft-modal.open {
  transform: translate(-50%,-50%) scale(1);
  opacity: 1;
  pointer-events: auto;
}
.nishba-draft-head {
  position: sticky;
  top: 0;
  z-index: 3;
  min-height: 78px;
  padding: 18px 22px 16px 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(139,103,101,.14);
}
.nishba-draft-heading { min-width: 0; }
.nishba-draft-eyebrow {
  display: block;
  margin-bottom: 4px;
  color: #8b6765;
  font: 700 11px/1.2 "Assistant", Arial, sans-serif;
  letter-spacing: .06em;
}
.nishba-draft-head h2 {
  margin: 0;
  color: #392a29;
  font: 700 clamp(24px,2.4vw,34px)/1.12 "Assistant", Arial, sans-serif;
}
.nishba-draft-close {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(84,68,64,.14);
  border-radius: 50%;
  background: #fff;
  color: #5e504c;
  font: 300 30px/38px "Assistant", Arial, sans-serif;
  cursor: pointer;
  box-shadow: 0 5px 16px rgba(0,0,0,.07);
}
.nishba-draft-close:hover,
.nishba-draft-close:focus-visible {
  color: #7b4d4d;
  border-color: rgba(139,103,101,.34);
  outline: none;
}
.nishba-draft-body {
  max-height: calc(min(90vh,900px) - 78px);
  overflow: auto;
  overscroll-behavior: contain;
  padding: 26px clamp(20px,3vw,38px) 38px;
}
.nishba-draft-story {
  position: relative;
  max-width: 790px;
  margin: 0 auto 28px;
  padding: 24px 30px 26px;
  direction: rtl;
  text-align: right;
  border: 1px solid rgba(137,103,83,.16);
  border-radius: 18px;
  background:
    repeating-linear-gradient(180deg, transparent 0 34px, rgba(109,126,147,.09) 34px 35px),
    linear-gradient(135deg,#fffdf7,#faf4e8);
  box-shadow: 0 14px 34px rgba(92,70,55,.08);
  transform: rotate(-.15deg);
}
.nishba-draft-story::before {
  content: "✎";
  position: absolute;
  left: 18px;
  top: 12px;
  color: rgba(139,103,101,.34);
  font-size: 28px;
  transform: rotate(-12deg);
}
.nishba-draft-story-line {
  position: relative;
  z-index: 1;
  color: #3a312d;
  font-family: "Gveret Levin", "Assistant", Arial, sans-serif;
  font-size: clamp(21px,2.05vw,29px);
  line-height: 1.42;
  font-weight: 400;
  margin: 0 0 4px;
}
.nishba-draft-story-line:last-child { margin-top: 8px; }
.nishba-draft-photo-frame {
  width: min(100%, 760px);
  margin: 0 auto;
  padding: 11px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(115,92,75,.18);
  box-shadow: 0 18px 46px rgba(65,48,36,.16);
}
.nishba-draft-photo-frame img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  border-radius: 10px;
  background: #eee9df;
}
body.nishba-draft-open { overflow: hidden !important; }

html[data-book-theme="night"] .nishba-draft-modal {
  background: linear-gradient(180deg,#242527,#1d1f21);
  border-color: rgba(255,255,255,.12);
}
html[data-book-theme="night"] .nishba-draft-head {
  background: rgba(32,34,36,.94);
  border-color: rgba(255,255,255,.10);
}
html[data-book-theme="night"] .nishba-draft-head h2 { color: #f2e9dc; }
html[data-book-theme="night"] .nishba-draft-close {
  background: #2c2e30;
  color: #f3eadf;
  border-color: rgba(255,255,255,.12);
}

@media (max-width: 680px) {
  .nishba-draft-trigger {
    top: 5.4% !important;
    right: calc(2.2% + 106px) !important;
    width: 166px !important;
    min-height: 41px !important;
    height: 41px !important;
    padding: 4px 8px !important;
    border-radius: 12px !important;
    gap: 5px !important;
    font-size: 8.6px !important;
  }
  .nishba-draft-trigger-icon { font-size: 16px !important; }
  .nishba-draft-modal {
    width: calc(100vw - 18px);
    max-height: 92dvh;
    border-radius: 20px;
  }
  .nishba-draft-head {
    min-height: 68px;
    padding: 13px 14px 12px 16px;
    gap: 10px;
  }
  .nishba-draft-head h2 { font-size: 23px; }
  .nishba-draft-eyebrow { font-size: 9.5px; }
  .nishba-draft-close {
    flex-basis: 38px;
    width: 38px;
    height: 38px;
    font-size: 27px;
    line-height: 34px;
  }
  .nishba-draft-body {
    max-height: calc(92dvh - 68px);
    padding: 16px 12px 24px;
  }
  .nishba-draft-story {
    margin-bottom: 18px;
    padding: 18px 17px 20px;
    border-radius: 15px;
    transform: none;
    background:
      repeating-linear-gradient(180deg, transparent 0 29px, rgba(109,126,147,.08) 29px 30px),
      linear-gradient(135deg,#fffdf7,#faf4e8);
  }
  .nishba-draft-story::before { font-size: 22px; left: 11px; top: 8px; }
  .nishba-draft-story-line {
    font-size: clamp(18px,5.25vw,23px);
    line-height: 1.42;
    margin-bottom: 3px;
  }
  .nishba-draft-photo-frame { padding: 6px; border-radius: 13px; }
  .nishba-draft-photo-frame img { border-radius: 8px; }
}

@media (max-width: 370px) {
  .nishba-draft-trigger {
    right: calc(2% + 96px) !important;
    width: 154px !important;
    font-size: 8px !important;
  }
}


/* V67 — “שיר בכיף. הטיוטא הראשונה” */
.shir-bekef-draft-trigger .nishba-draft-trigger-label { white-space: nowrap; }
html[data-book-theme="night"] .shir-bekef-draft-trigger {
  color: #f3e6d9;
  background: linear-gradient(180deg,rgba(75,55,55,.96),rgba(56,40,40,.94));
  border-color: rgba(228,190,179,.22);
}


/* V68 — draft buttons/popups refinement only (Nishba + Shir Bekef) */
.nishba-draft-trigger {
  top: 6.25% !important;
  left: 3.8% !important;
  right: auto !important;
  width: 170px !important;
  min-height: 42px !important;
  padding: 5px 10px !important;
  font-size: 9.4px !important;
}
.nishba-draft-trigger-icon { font-size: 16px !important; }

.nishba-draft-modal {
  width: min(720px, calc(100vw - 34px)) !important;
  max-height: min(86vh, 780px) !important;
  border-radius: 22px !important;
}
.nishba-draft-head {
  min-height: 66px !important;
  padding: 14px 18px 13px 20px !important;
}
.nishba-draft-head h2 {
  font-size: clamp(21px,2vw,28px) !important;
}
.nishba-draft-eyebrow { font-size: 10px !important; }
.nishba-draft-body {
  max-height: calc(min(86vh,780px) - 66px) !important;
  padding: 18px 20px 26px !important;
}
.nishba-draft-story {
  max-width: 620px !important;
  margin-bottom: 20px !important;
  padding: 18px 22px 20px !important;
  transform: none !important;
}
.nishba-draft-story-line {
  font-family: "Assistant", Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.66 !important;
  font-weight: 400 !important;
  margin-bottom: 2px !important;
}
.nishba-draft-story-line:last-child { margin-top: 5px !important; }
.nishba-draft-photo-frame {
  width: min(100%, 560px) !important;
  padding: 8px !important;
  border-radius: 15px !important;
}

@media (max-width: 680px) {
  .nishba-draft-trigger {
    top: 15.05% !important;
    left: 2.2% !important;
    right: auto !important;
    width: 142px !important;
    min-height: 36px !important;
    height: 36px !important;
    padding: 3px 6px !important;
    border-radius: 10px !important;
    gap: 4px !important;
    font-size: 7.8px !important;
  }
  .nishba-draft-trigger-icon { font-size: 14px !important; }
  .nishba-draft-modal {
    width: calc(100vw - 22px) !important;
    max-height: 88dvh !important;
    border-radius: 18px !important;
  }
  .nishba-draft-head {
    min-height: 60px !important;
    padding: 11px 12px 10px 14px !important;
  }
  .nishba-draft-head h2 { font-size: 20px !important; }
  .nishba-draft-eyebrow { font-size: 8.8px !important; }
  .nishba-draft-close {
    flex-basis: 34px !important;
    width: 34px !important;
    height: 34px !important;
    font-size: 24px !important;
    line-height: 30px !important;
  }
  .nishba-draft-body {
    max-height: calc(88dvh - 60px) !important;
    padding: 13px 10px 18px !important;
  }
  .nishba-draft-story {
    max-width: 100% !important;
    margin-bottom: 14px !important;
    padding: 14px 14px 15px !important;
  }
  .nishba-draft-story-line {
    font-size: 14px !important;
    line-height: 1.55 !important;
    margin-bottom: 2px !important;
  }
  .nishba-draft-photo-frame {
    width: min(100%, 430px) !important;
    padding: 5px !important;
  }
}

@media (max-width: 370px) {
  .nishba-draft-trigger {
    left: 1.6% !important;
    right: auto !important;
    width: 132px !important;
    font-size: 7.3px !important;
  }
}


/* V69 — stronger draft-button labels only */
.nishba-draft-trigger-label {
  font-size: 11.2px !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}
@media (max-width: 680px) {
  .nishba-draft-trigger-label {
    font-size: 9.2px !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
  }
}
@media (max-width: 370px) {
  .nishba-draft-trigger-label { font-size: 8.6px !important; }
}


/* V70 — stronger quick-gate colors; Gate C is green site-wide */
.library-gate-chip {
  border-color: color-mix(in srgb,var(--gate-accent) 58%,#dce4eb) !important;
  background: color-mix(in srgb,var(--gate-accent) 18%,#fff) !important;
  color: color-mix(in srgb,var(--gate-accent) 62%,#28323c 38%) !important;
  box-shadow: inset 0 2px 0 color-mix(in srgb,var(--gate-accent) 32%,transparent) !important;
}
.library-gate-chip b {
  color: var(--gate-accent) !important;
  font-weight: 800 !important;
}
.library-gate-chip span {
  color: color-mix(in srgb,var(--gate-accent) 72%,#27323c 28%) !important;
  font-weight: 800 !important;
}
.library-gate-chip:hover {
  border-color: color-mix(in srgb,var(--gate-accent) 78%,#cfd8e0) !important;
  background: color-mix(in srgb,var(--gate-accent) 24%,#fff) !important;
}
html[data-book-theme="night"] .library-gate-chip {
  background: color-mix(in srgb,var(--gate-accent) 28%,#18212b) !important;
  border-color: color-mix(in srgb,var(--gate-accent) 58%,#35414d) !important;
  color:#f0f3f5 !important;
}
html[data-book-theme="night"] .library-gate-chip span {
  color: color-mix(in srgb,var(--gate-accent) 52%,#f2f4f6 48%) !important;
}
