: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:#55BFC2 !important; }
.poem-page[data-section="B"] { --accent:#5968a1 !important; }
.poem-page[data-section="C"] { --accent:#C27B76 !important; }
.poem-page[data-section="D"] { --accent:#8a7a35 !important; }
.poem-page[data-section="E"] { --accent:#C66A2D !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;
}


/* V72 — requested corrections only */

/* 1. Home: author name larger. */
.landing-author {
  font-size: clamp(25px, 2.15vw, 31px) !important;
  font-weight: 700 !important;
}

/* 3. Cover instruction is always visible, larger and clearer before hover. */
.cover-stage::after {
  display: block !important;
  bottom: -34px !important;
  color: #d8c9ae !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  opacity: .96 !important;
  transform: translateX(-50%) !important;
}
.cover-stage:hover::after,
.cover-stage:focus-visible::after {
  opacity: 1 !important;
  transform: translate(-50%,-2px) !important;
}

/* 4. Page 1: author credit larger. */
.poem-page.kind-title[data-page="1"] .title-author {
  font-size: clamp(21px, 1.72vw, 29px) !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
}

/* 5. Pages 3 and 5: no running author name at the very top. */
.poem-page[data-page="3"] .running-head,
.poem-page[data-page="5"] .running-head {
  display: none !important;
}

/* 6. Running grid headings: stronger ink throughout the book. */
html:not([data-book-theme="night"]) .poem-page:not(.kind-back-cover) .running-head {
  color: #303438 !important;
  opacity: 1 !important;
  font-weight: 700 !important;
}
html[data-book-theme="night"] .poem-page:not(.kind-back-cover) .running-head {
  color: #eee8de !important;
  opacity: 1 !important;
  font-weight: 700 !important;
}

/* 7. New, clearly separated gate palette. */
.poem-page[data-section="A"] { --accent:#55BFC2 !important; }
.poem-page[data-section="C"] { --accent:#C27B76 !important; }
.poem-page[data-section="E"] { --accent:#C66A2D !important; }

/* 8. Gate composition: lift the whole block slightly, keeping it centered
   between the usable top and bottom cuts of the paper. */
.poem-page.kind-gate .poem-inner {
  top: 13.5% !important;
  bottom: 17.5% !important;
  justify-content: center !important;
}

/* 9. Gate definition sits precisely between an upper and lower accent line. */
.poem-page.kind-gate .title-rule {
  display: none !important;
}
.poem-page.kind-gate .section-subtitle {
  position: relative !important;
  width: min(82%, 520px) !important;
  margin: 13px auto 15px !important;
  padding: 13px 0 !important;
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 54px !important;
}
.poem-page.kind-gate .section-subtitle::before,
.poem-page.kind-gate .section-subtitle::after {
  content: "";
  position: absolute;
  left: 28%;
  right: 28%;
  height: 1px;
  background: color-mix(in srgb, var(--accent) 64%, #b8b1a5 36%);
}
.poem-page.kind-gate .section-subtitle::before { top: 0; }
.poem-page.kind-gate .section-subtitle::after { bottom: 0; }
.poem-page.kind-gate .section-epigraph {
  margin-top: 0 !important;
  padding-top: 3px !important;
}
.poem-page.kind-gate .section-epigraph::before {
  display: none !important;
}

/* 10–11. Pages 6–10: gate heading has a dash, is larger; “סדר השירים” is smaller. */
.poem-page.kind-toc .gate-label {
  font-size: clamp(19px, 1.58vw, 25px) !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
  margin-bottom: 9px !important;
}
.poem-page.kind-toc .poem-title {
  font-size: clamp(19px, 1.7vw, 27px) !important;
  line-height: 1.08 !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
}

@media (max-width: 900px) {
  .landing-author {
    font-size: clamp(24px, 6vw, 29px) !important;
  }
  .cover-stage::after {
    bottom: -25px !important;
    font-size: 12.5px !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 680px) {
  .landing-author { font-size: clamp(23px, 6.2vw, 28px) !important; }
  .cover-stage::after {
    bottom: -24px !important;
    font-size: 12px !important;
  }
  .poem-page.kind-title[data-page="1"] .title-author {
    font-size: clamp(18px, 5.3vw, 23px) !important;
  }
  .poem-page.kind-gate .poem-inner {
    top: 11.8% !important;
    bottom: 17.8% !important;
  }
  .poem-page.kind-gate .section-subtitle {
    width: 88% !important;
    min-height: 44px !important;
    margin: 9px auto 10px !important;
    padding: 9px 0 !important;
  }
  .poem-page.kind-toc .gate-label {
    font-size: 14px !important;
    line-height: 1.08 !important;
    margin-bottom: 4px !important;
  }
  .poem-page.kind-toc .poem-title {
    font-size: 17px !important;
    margin-bottom: 5px !important;
  }
}


/* V73 — requested contents-panel refinements only */

/* Slightly narrower contents panel, with wrapping rather than clipped words. */
.toc-drawer {
  width: min(350px, 88vw) !important;
  padding: 24px 22px !important;
}
.toc-drawer .drawer-head h2 {
  line-height: 1.18 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.toc-drawer .toc-item strong,
.toc-drawer .page-thumb strong {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

/* While reading on desktop, keep contents open beside the book instead of dimming it. */
@media (min-width: 901px) {
  body.toc-pinned-open .reader {
    left: 0 !important;
    right: auto !important;
    width: calc(100vw - 350px) !important;
    transition: opacity .34s ease, transform .42s cubic-bezier(.2,.72,.2,1), width .35s cubic-bezier(.2,.76,.2,1) !important;
  }
  body.toc-pinned-open .reader-scene {
    padding-left: 3px !important;
    padding-right: 3px !important;
  }
}

/* On smaller screens there is not enough width for a true side-by-side layout;
   keep the drawer non-modal and readable without darkening the book. */
@media (max-width: 900px) {
  .toc-drawer {
    width: min(340px, 88vw) !important;
    padding: 22px 18px !important;
  }
}

/* Gate E quick button: two intentional lines, no ellipsis. */
.library-gate-chip .gate-name {
  width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.08 !important;
}
.library-gate-chip .gate-name i {
  display: block;
  font-style: normal;
  white-space: nowrap;
}
.library-gate-chip .gate-name-split {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
}

/* V74 — the 40 requested corrections only */

/* 2. Restore Gate C ("ארצי") to the book's sage green. */
.poem-page[data-section="C"] { --accent:#7f8d78 !important; }

/* 3. Keep lyric starts/columns on one consistent horizontal line. Spread pages
   now use the same top geometry and title scale as ordinary song pages. */
.poem-page.kind-poem.spread-first .poem-inner,
.poem-page.kind-poem.spread-continuation .poem-inner {
  top:7.55% !important;
  bottom:18.3% !important;
}
.poem-page.kind-poem.spread-first .poem-title,
.poem-page.kind-poem.spread-continuation .poem-title {
  font-size:clamp(24px,2.45vw,37px) !important;
  line-height:1.05 !important;
}
.poem-page.kind-poem .poem-columns { align-items:start !important; }
.poem-page.kind-poem .poem-col { margin-top:0 !important; padding-top:0 !important; }
.poem-page.kind-poem .poem-col > p:first-child { margin-top:0 !important; }

/* 4. Home author name larger. */
.landing-author {
  font-size:clamp(29px,2.55vw,36px) !important;
  line-height:1.25 !important;
}

/* Landing-page contents button: visible under “פתחו את הספר”. */
#browseTocLanding { display:inline-flex !important; align-items:center; gap:7px; }

/* 6. Running headers thinner. */
html:not([data-book-theme="night"]) .poem-page:not(.kind-back-cover) .running-head,
html[data-book-theme="night"] .poem-page:not(.kind-back-cover) .running-head {
  font-weight:400 !important;
}

/* 7, 11–14, 17. Recover clipped endings without changing or shrinking lyrics. */
.poem-page.kind-poem[data-page="13"] .poem-body,
.poem-page.kind-poem[data-page="22"] .poem-body,
.poem-page.kind-poem[data-page="24"] .poem-body,
.poem-page.kind-poem[data-page="25"] .poem-body,
.poem-page.kind-poem[data-page="30"] .poem-body,
.poem-page.kind-poem[data-page="46"] .poem-body {
  line-height:1.31 !important;
}
.poem-page.kind-poem[data-page="13"] .poem-body p,
.poem-page.kind-poem[data-page="22"] .poem-body p,
.poem-page.kind-poem[data-page="24"] .poem-body p,
.poem-page.kind-poem[data-page="25"] .poem-body p,
.poem-page.kind-poem[data-page="30"] .poem-body p,
.poem-page.kind-poem[data-page="46"] .poem-body p {
  margin-bottom:.42em !important;
}

/* 10. Footnotes: clearly detached from the poem and typographically quieter. */
.poem-page.kind-poem[data-page="18"] .poem-body p:last-child,
.poem-page.kind-poem[data-page="50"] .poem-body p:last-child,
.poem-page.kind-poem[data-page="51"] .poem-body p:last-child,
.poem-page.kind-poem[data-page="129"] .poem-body p:last-child,
.poem-page.kind-poem[data-page="132"] .poem-body p:last-child,
.poem-page.kind-poem[data-page="140"] .poem-body p:last-child,
.poem-page.kind-poem[data-page="141"] .poem-body p:last-child,
.poem-page.kind-poem[data-page="18"] .poem-col:last-child p:last-child,
.poem-page.kind-poem[data-page="50"] .poem-col:last-child p:last-child,
.poem-page.kind-poem[data-page="132"] .poem-col:last-child p:last-child,
.poem-page.kind-poem[data-page="141"] .poem-col:last-child p:last-child {
  margin-top:1.35em !important;
  margin-bottom:0 !important;
  padding-top:.45em !important;
  border-top:1px solid rgba(90,90,90,.20) !important;
  font-family:Arial,sans-serif !important;
  font-size:.70em !important;
  line-height:1.3 !important;
  color:#555 !important;
  -webkit-text-fill-color:#555 !important;
}

/* Moved material on these spread first-pages needs the same readable type with
   slightly tighter stanza rhythm, not a smaller font. */
.poem-page.kind-poem[data-page="76"] .poem-body,
.poem-page.kind-poem[data-page="106"] .poem-body {
  line-height:1.32 !important;
}
.poem-page.kind-poem[data-page="76"] .poem-body p,
.poem-page.kind-poem[data-page="106"] .poem-body p {
  margin-bottom:.45em !important;
}

/* 34. Gate 115 quotation is explicitly one line. */
.poem-page.kind-gate[data-page="115"] .section-epigraph {
  max-width:98% !important;
  width:98% !important;
  white-space:nowrap !important;
  font-size:clamp(8.8px,1.02vw,14px) !important;
  letter-spacing:-.015em !important;
}

@media (max-width:900px) {
  .landing-author { font-size:clamp(27px,6.8vw,33px) !important; }
}
@media (max-width:680px) {
  .poem-page.kind-poem.spread-first .poem-inner,
  .poem-page.kind-poem.spread-continuation .poem-inner {
    top:7.1% !important;
    bottom:calc(21.9% - 20px) !important;
  }
  .poem-page.kind-poem.spread-first .poem-title,
  .poem-page.kind-poem.spread-continuation .poem-title {
    font-size:clamp(25px,7vw,35px) !important;
  }
  .poem-page.kind-gate[data-page="115"] .section-epigraph {
    font-size:7.7px !important;
    line-height:1.35 !important;
  }
}


/* V77 — contents menu behavior only */
/* Keep the menu chrome fixed; only the song/page list scrolls. */
.toc-drawer.library-drawer {
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
.toc-drawer.library-drawer > .drawer-head,
.toc-drawer.library-drawer > .library-search-wrap,
.toc-drawer.library-drawer > .library-gates,
.toc-drawer.library-drawer > .library-tabs,
.toc-drawer.library-drawer > .library-status,
.toc-drawer.library-drawer > .drawer-foot {
  flex:0 0 auto;
}
.toc-drawer.library-drawer > .toc-list.library-content {
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
/* The requested title is always a single line. */
.toc-drawer .drawer-head {
  align-items:center !important;
  gap:10px !important;
}
.toc-drawer .drawer-head > div { min-width:0; flex:1 1 auto; }
.toc-drawer .drawer-head h2 {
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  font-size:clamp(19px,1.75vw,24px) !important;
  line-height:1.15 !important;
  letter-spacing:-.015em !important;
}
@media (max-width:900px) {
  .toc-drawer .drawer-head h2 { font-size:20px !important; }
}
@media (max-width:420px) {
  .toc-drawer .drawer-head h2 { font-size:18px !important; }
  .toc-drawer .drawer-head { gap:7px !important; }
  .toc-drawer .drawer-close { width:36px !important; height:36px !important; flex:0 0 36px !important; }
}


/* V78 — restrained editorial refresh for the contents/library drawer only */
html:not([data-book-theme="night"]) .toc-drawer.library-drawer {
  background:#fbf8f1 !important;
  color:#353b37 !important;
  border-left:1px solid #e7dfd2 !important;
  box-shadow:-18px 0 48px rgba(54,47,38,.14) !important;
}
html:not([data-book-theme="night"]) .toc-drawer .drawer-head {
  background:transparent !important;
  border-bottom:1px solid #e6ded1 !important;
  padding-bottom:16px !important;
}
html:not([data-book-theme="night"]) .toc-drawer .drawer-head .eyebrow {
  color:#978d7e !important;
  font-size:10px !important;
  letter-spacing:.035em !important;
  margin-bottom:5px !important;
}
html:not([data-book-theme="night"]) .toc-drawer .drawer-head h2 {
  color:#303732 !important;
  font-weight:520 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .drawer-close {
  width:34px !important;
  height:34px !important;
  flex:0 0 34px !important;
  border:0 !important;
  border-radius:9px !important;
  background:transparent !important;
  color:#82796d !important;
  font-size:23px !important;
  box-shadow:none !important;
}
html:not([data-book-theme="night"]) .toc-drawer .drawer-close:hover {
  background:#f0eadf !important;
  color:#4e554f !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-search-wrap {
  height:41px !important;
  margin:15px 0 10px !important;
  border:1px solid #e3dbce !important;
  border-radius:10px !important;
  background:rgba(255,255,255,.58) !important;
  color:#9b8f7e !important;
  box-shadow:none !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-search-wrap:focus-within {
  border-color:#b9aa94 !important;
  background:#fffdf9 !important;
  box-shadow:0 0 0 2px rgba(150,126,93,.07) !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-search-wrap input {
  color:#383e3a !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-search-wrap input::placeholder {
  color:#aaa195 !important;
}

/* Gates remain recognisable by their book colors, but read as editorial markers rather than dashboard cards. */
.toc-drawer .library-gates {
  gap:5px !important;
  margin:7px 0 11px !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-gate-chip {
  min-height:43px !important;
  padding:5px 3px !important;
  border:1px solid color-mix(in srgb,var(--gate-accent) 38%,#ded7cc) !important;
  border-radius:9px !important;
  background:color-mix(in srgb,var(--gate-accent) 8%,#fbf8f1) !important;
  color:#474c47 !important;
  box-shadow:none !important;
  transform:none !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-gate-chip:hover {
  border-color:color-mix(in srgb,var(--gate-accent) 58%,#d3cabd) !important;
  background:color-mix(in srgb,var(--gate-accent) 12%,#fffaf3) !important;
  box-shadow:none !important;
  transform:none !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-gate-chip b {
  font-size:11px !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-gate-chip span {
  color:color-mix(in srgb,var(--gate-accent) 54%,#555a55 46%) !important;
  font-size:8.5px !important;
  font-weight:650 !important;
}

/* Four quiet text tabs, with a simple underline for the active view. */
.toc-drawer .library-tabs {
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-tabs {
  gap:0 !important;
  padding:0 !important;
  margin:0 0 8px !important;
  border:0 !important;
  border-bottom:1px solid #e4dccf !important;
  border-radius:0 !important;
  background:transparent !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-tab {
  position:relative !important;
  min-height:36px !important;
  padding:4px 2px 8px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#81796e !important;
  box-shadow:none !important;
  font-size:10.5px !important;
  font-weight:500 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-tab:hover {
  background:transparent !important;
  color:#3e4640 !important;
  border-color:transparent !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-tab.active {
  background:transparent !important;
  color:#303a34 !important;
  border-color:transparent !important;
  box-shadow:none !important;
  font-weight:700 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-tab.active::after {
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  bottom:-1px;
  height:2px;
  border-radius:999px;
  background:#9f825b;
}
html:not([data-book-theme="night"]) .toc-drawer .library-tab span {
  color:#a4855d !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-status {
  min-height:16px !important;
  margin:0 2px 3px !important;
  color:#958d82 !important;
  font-size:9.5px !important;
}

/* Song list: more breathing room, less table/dashboard treatment. */
.toc-drawer .toc-list.library-content {
  padding-top:5px !important;
  padding-inline-end:3px !important;
  scrollbar-width:thin;
  scrollbar-color:#c9bca9 transparent;
}
.toc-drawer .toc-list.library-content::-webkit-scrollbar { width:5px; }
.toc-drawer .toc-list.library-content::-webkit-scrollbar-track { background:transparent; }
.toc-drawer .toc-list.library-content::-webkit-scrollbar-thumb { background:#c9bca9; border-radius:999px; }
html:not([data-book-theme="night"]) .toc-drawer .toc-gate {
  margin:18px 4px 5px !important;
  padding-top:4px !important;
  color:#8f7d66 !important;
  font-size:10px !important;
  letter-spacing:.07em !important;
  font-weight:700 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item {
  position:relative !important;
  min-height:43px !important;
  padding:10px 7px !important;
  border:0 !important;
  border-bottom:1px solid rgba(121,105,83,.115) !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#414741 !important;
  box-shadow:none !important;
  transition:background .16s ease,color .16s ease !important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item:hover {
  padding-inline-start:7px !important;
  color:#262e29 !important;
  background:rgba(137,112,78,.045) !important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item strong {
  font-size:17px !important;
  font-weight:520 !important;
  line-height:1.22 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item span {
  color:#9b9286 !important;
  font-size:10px !important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item.current {
  padding-inline-end:11px !important;
  border-bottom-color:rgba(157,126,84,.18) !important;
  background:linear-gradient(90deg,rgba(170,137,91,.025),rgba(170,137,91,.085)) !important;
  box-shadow:inset -2px 0 0 #a48761 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item.current strong {
  color:#2f3832 !important;
  font-weight:650 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item.current::before {
  color:#9b7b50 !important;
  font-size:8.5px !important;
  margin-inline-start:8px !important;
}

/* Page and listening views keep their existing structure, only soften the visual weight. */
html:not([data-book-theme="night"]) .toc-drawer .page-grid {
  gap:8px !important;
}
html:not([data-book-theme="night"]) .toc-drawer .page-thumb {
  border-color:#e2dacd !important;
  border-radius:10px !important;
  background:#fffdf9 !important;
  color:#3f4641 !important;
  box-shadow:0 3px 11px rgba(73,58,39,.045) !important;
}
html:not([data-book-theme="night"]) .toc-drawer .page-thumb:hover {
  border-color:#cfc1ac !important;
  box-shadow:0 5px 15px rgba(73,58,39,.07) !important;
  transform:none !important;
}
html:not([data-book-theme="night"]) .toc-drawer .page-thumb.current {
  border-color:#bfa57f !important;
  background:#fffaf1 !important;
  box-shadow:0 4px 14px rgba(120,91,55,.07) !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-listen-item {
  border-color:#e3dbcf !important;
  border-radius:10px !important;
  background:rgba(255,255,255,.58) !important;
  box-shadow:none !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-listen-title {
  color:#3c4540 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-listen-title small {
  color:#978e82 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-listen-play {
  border-color:#d7ccbc !important;
  border-radius:9px !important;
  background:#f7f1e7 !important;
  color:#6d5c45 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-empty {
  color:#999084 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .drawer-foot {
  margin-top:4px !important;
  padding-top:13px !important;
  border-top:1px solid #e4dccf !important;
  color:#9b9388 !important;
  font-size:9.5px !important;
}

/* Night mode follows the same warmer, quieter editorial language. */
html[data-book-theme="night"] .toc-drawer.library-drawer {
  background:#1b1d1b !important;
  color:#ece7dd !important;
  border-left-color:rgba(255,255,255,.08) !important;
  box-shadow:-18px 0 48px rgba(0,0,0,.34) !important;
}
html[data-book-theme="night"] .toc-drawer .drawer-head {
  background:transparent !important;
  border-bottom-color:rgba(255,255,255,.09) !important;
  padding-bottom:16px !important;
}
html[data-book-theme="night"] .toc-drawer .drawer-head .eyebrow { color:#9f978b !important; }
html[data-book-theme="night"] .toc-drawer .drawer-head h2 { color:#f0ece4 !important; font-weight:520 !important; }
html[data-book-theme="night"] .toc-drawer .drawer-close {
  width:34px !important; height:34px !important; flex:0 0 34px !important;
  border:0 !important; border-radius:9px !important; background:transparent !important;
  color:#aaa197 !important; box-shadow:none !important;
}
html[data-book-theme="night"] .toc-drawer .drawer-close:hover { background:rgba(255,255,255,.06) !important; color:#f0ebe3 !important; }
html[data-book-theme="night"] .toc-drawer .library-search-wrap {
  border-color:rgba(255,255,255,.10) !important;
  border-radius:10px !important;
  background:rgba(255,255,255,.035) !important;
  box-shadow:none !important;
}
html[data-book-theme="night"] .toc-drawer .library-tabs {
  gap:0 !important; padding:0 !important; border:0 !important; border-bottom:1px solid rgba(255,255,255,.09) !important;
  border-radius:0 !important; background:transparent !important;
}
html[data-book-theme="night"] .toc-drawer .library-tab {
  position:relative !important; border:0 !important; border-radius:0 !important; background:transparent !important;
  color:#aaa298 !important; box-shadow:none !important;
}
html[data-book-theme="night"] .toc-drawer .library-tab.active { color:#f0ece4 !important; background:transparent !important; box-shadow:none !important; }
html[data-book-theme="night"] .toc-drawer .library-tab.active::after {
  content:""; position:absolute; left:18%; right:18%; bottom:-1px; height:2px; border-radius:999px; background:#b2946b;
}
html[data-book-theme="night"] .toc-drawer .toc-item {
  border:0 !important; border-bottom:1px solid rgba(255,255,255,.065) !important; border-radius:0 !important;
  background:transparent !important; color:#ded9d1 !important; box-shadow:none !important; padding:10px 7px !important;
}
html[data-book-theme="night"] .toc-drawer .toc-item:hover { background:rgba(255,255,255,.035) !important; padding-inline-start:7px !important; }
html[data-book-theme="night"] .toc-drawer .toc-item.current {
  background:linear-gradient(90deg,rgba(178,148,107,.015),rgba(178,148,107,.09)) !important;
  box-shadow:inset -2px 0 0 #b2946b !important;
}
html[data-book-theme="night"] .toc-drawer .drawer-foot { border-top-color:rgba(255,255,255,.09) !important; color:#938c84 !important; }
html[data-book-theme="night"] .toc-drawer .library-gate-chip {
  box-shadow:none !important;
  border-radius:9px !important;
  background:color-mix(in srgb,var(--gate-accent) 14%,#1b1d1b) !important;
  border-color:color-mix(in srgb,var(--gate-accent) 38%,#45423e) !important;
}

@media (max-width:680px) {
  .toc-drawer .library-gates { gap:4px !important; }
  .toc-drawer .library-gate-chip { min-height:41px !important; }
  .toc-drawer .library-tab { font-size:10px !important; }
  html:not([data-book-theme="night"]) .toc-drawer .toc-item strong { font-size:16px !important; }
}

/* V79 — slightly larger reader identity + lighter contents drawer */
.brand-mini strong {
  font-size:18px !important;
}
.brand-mini span {
  font-size:11px !important;
}
html:not([data-book-theme="night"]) .toc-drawer.library-drawer {
  background:#fdfbf7 !important;
}

@media (max-width:680px) {
  .reader-bar {
    flex-direction:column !important;
    align-items:stretch !important;
    gap:2px !important;
  }
  .brand-mini {
    display:flex !important;
    width:100% !important;
    min-height:19px !important;
    padding:0 4px !important;
    justify-content:flex-start !important;
    align-items:baseline !important;
    gap:7px !important;
    overflow:hidden !important;
  }
  .brand-mini strong {
    font-size:16.5px !important;
    line-height:1.05 !important;
    flex:0 1 auto !important;
  }
  .brand-mini span {
    display:inline !important;
    font-size:10px !important;
    line-height:1 !important;
    flex:0 0 auto !important;
  }
}

@media (max-width:360px) {
  .brand-mini { gap:6px !important; }
  .brand-mini strong { font-size:15px !important; }
  .brand-mini span { font-size:9px !important; }
}

/* V80 — requested home/reader refinements only. */
@media (min-width:901px) {
  .landing .cover-book {
    width:min(450px, 37.5vw, 50vh) !important;
  }
}

.landing-links .contents-landing-link .icon-lines {
  width:13px;
  height:10px;
  flex:0 0 auto;
}

/* In browser fullscreen the toolbar may return to the existing immersive auto-hide behavior. */
@media (max-width:680px) {
  html.book-fullscreen .reader.ui-hidden .reader-bar {
    opacity:.06 !important;
    transform:translateY(-88%) !important;
    pointer-events:none !important;
  }
}



/* V82 — requested toolbar order + slightly larger author name only. */
.brand-mini span {
  font-size:13px !important;
}
@media (max-width:680px) {
  .brand-mini span { font-size:11.5px !important; }
}
@media (max-width:360px) {
  .brand-mini span { font-size:10.5px !important; }
}


/* V83 — four requested visual refinements only. */
/* 2. Reader identity: title above author, same size; title bold, author regular. */
.brand-mini {
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:1px !important;
  white-space:nowrap !important;
}
.brand-mini strong,
.brand-mini span {
  display:block !important;
  font-family:"Assistant",Arial,sans-serif !important;
  font-size:18px !important;
  line-height:1.05 !important;
}
.brand-mini strong { font-weight:700 !important; }
.brand-mini span { font-weight:400 !important; }

/* 3–4. Desktop landing copy only: author +20%, subtitle slightly larger. */
@media (min-width:901px) {
  .landing-author {
    font-size:clamp(34.8px,3.06vw,43.2px) !important;
  }
  .landing-subtitle {
    font-size:clamp(20px,1.7vw,24px) !important;
  }
}

@media (max-width:680px) {
  .brand-mini {
    align-items:flex-start !important;
    justify-content:center !important;
    gap:1px !important;
    min-height:31px !important;
    padding:1px 4px !important;
  }
  .brand-mini strong,
  .brand-mini span {
    font-size:15px !important;
    line-height:1.02 !important;
  }
}
@media (max-width:360px) {
  .brand-mini strong,
  .brand-mini span { font-size:13.5px !important; }
}


/* V84 — requested landing + in-book contents refinements only */

/* 1. Closed cover on home page: a few subtle twinkling stars/nodes left of the book. */
.cover-stage::before {
  content:"";
  position:absolute;
  left:-12%;
  top:10%;
  width:52%;
  height:70%;
  pointer-events:none;
  opacity:.78;
  background:
    radial-gradient(circle at 18% 20%, rgba(255,247,219,.95) 0 1.7px, transparent 2.2px),
    radial-gradient(circle at 31% 37%, rgba(255,236,194,.82) 0 1.1px, transparent 1.9px),
    radial-gradient(circle at 43% 16%, rgba(255,244,223,.92) 0 2.1px, transparent 2.9px),
    radial-gradient(circle at 56% 32%, rgba(255,231,183,.76) 0 1.4px, transparent 2.1px),
    radial-gradient(circle at 28% 62%, rgba(255,244,221,.88) 0 1.8px, transparent 2.5px),
    radial-gradient(circle at 10% 52%, rgba(255,235,196,.74) 0 1.1px, transparent 1.9px),
    radial-gradient(circle at 52% 58%, rgba(255,240,207,.8) 0 1.2px, transparent 2px),
    radial-gradient(circle at 39% 79%, rgba(255,247,226,.86) 0 2px, transparent 2.8px),
    linear-gradient(rgba(255,243,214,.72), rgba(255,243,214,.72)) 43% 16%/1px 12px no-repeat,
    linear-gradient(90deg, rgba(255,243,214,.72), rgba(255,243,214,.72)) 43% 16%/12px 1px no-repeat,
    linear-gradient(rgba(255,238,204,.52), rgba(255,238,204,.52)) 28% 62%/1px 10px no-repeat,
    linear-gradient(90deg, rgba(255,238,204,.52), rgba(255,238,204,.52)) 28% 62%/10px 1px no-repeat;
  filter: drop-shadow(0 0 7px rgba(255,226,166,.18));
  animation: coverTwinkle 5.8s ease-in-out infinite;
}
.landing.is-opening .cover-stage::before { opacity:0; transition:opacity .28s ease; }
@keyframes coverTwinkle {
  0%,100% { transform:translate3d(0,0,0); opacity:.68; }
  30% { transform:translate3d(3px,-2px,0); opacity:.9; }
  58% { transform:translate3d(-2px,2px,0); opacity:.76; }
  78% { transform:translate3d(2px,-1px,0); opacity:.86; }
}
@media (max-width:900px){
  .cover-stage::before {
    left:-7%;
    top:8%;
    width:36%;
    height:46%;
    opacity:.58;
  }
}

/* 2. In-book chapter contents pages (A–E): increase the song list by ~15%,
   while keeping the last song visible and uncut. */
.poem-page.kind-toc .poem-inner {
  top: 8.35% !important;
  bottom: 4.55% !important;
}
.poem-page.kind-toc .poem-body {
  width: 95.5% !important;
  font-size: clamp(12.4px, 1.06vw, 16.1px) !important;
  line-height: 1.16 !important;
}
.poem-page.kind-toc .toc-print-row {
  font-size: 1em !important;
  line-height: 1.16 !important;
  padding-bottom: 0 !important;
}
@media (max-width:680px){
  .poem-page.kind-toc .poem-inner {
    top: 6.9% !important;
    bottom: 4.9% !important;
  }
  .poem-page.kind-toc .poem-body {
    font-size: 10.9px !important;
    line-height: 1.12 !important;
  }
  .poem-page.kind-toc .toc-print-row {
    line-height: 1.12 !important;
  }
}


/* V85 — refine the landing sparkle treatment only: more elegant, less like plain dots. */
.landing::after {
  content:"";
  position:absolute;
  left:clamp(4%, 7vw, 10%);
  top:14%;
  width:min(310px, 27vw);
  height:min(360px, 46vh);
  pointer-events:none;
  z-index:-1;
  border-radius:50%;
  background:
    radial-gradient(ellipse at 36% 34%, rgba(109, 197, 204, .10) 0%, rgba(109, 197, 204, .06) 22%, transparent 58%),
    radial-gradient(ellipse at 56% 48%, rgba(255, 229, 177, .12) 0%, rgba(255, 229, 177, .07) 24%, transparent 62%),
    radial-gradient(ellipse at 28% 72%, rgba(255, 245, 228, .09) 0%, transparent 58%);
  filter:blur(18px);
  opacity:.88;
  transform:rotate(-10deg);
  animation:landingGlowDrift 8.8s ease-in-out infinite;
}
.landing.is-opening::after { opacity:0; transition:opacity .28s ease; }
@keyframes landingGlowDrift {
  0%,100% { transform:rotate(-10deg) translate3d(0,0,0); opacity:.82; }
  50% { transform:rotate(-8deg) translate3d(8px,-6px,0); opacity:.96; }
}

.cover-stage::before {
  content:"";
  position:absolute;
  left:-16%;
  top:10%;
  width:58%;
  height:72%;
  pointer-events:none;
  opacity:.92;
  background:
    radial-gradient(circle at 18% 74%, rgba(255,246,228,.90) 0 1.2px, transparent 2px),
    radial-gradient(circle at 28% 57%, rgba(255,237,202,.80) 0 1.05px, transparent 1.85px),
    radial-gradient(circle at 45% 38%, rgba(255,249,236,.98) 0 2.05px, transparent 3px),
    radial-gradient(circle at 60% 26%, rgba(255,234,190,.88) 0 1.45px, transparent 2.25px),
    radial-gradient(circle at 76% 39%, rgba(255,242,217,.78) 0 1.1px, transparent 1.95px),
    radial-gradient(circle at 56% 58%, rgba(255,245,224,.86) 0 1.35px, transparent 2.15px),
    radial-gradient(circle at 35% 84%, rgba(255,238,201,.76) 0 1.15px, transparent 1.95px),
    radial-gradient(ellipse at 48% 49%, rgba(255,227,170,.16) 0 15%, transparent 40%),
    linear-gradient(rgba(255,244,220,.86), rgba(255,244,220,.86)) 45% 38%/1px 18px no-repeat,
    linear-gradient(90deg, rgba(255,244,220,.86), rgba(255,244,220,.86)) 45% 38%/18px 1px no-repeat,
    linear-gradient(rgba(255,240,211,.58), rgba(255,240,211,.58)) 60% 26%/1px 12px no-repeat,
    linear-gradient(90deg, rgba(255,240,211,.58), rgba(255,240,211,.58)) 60% 26%/12px 1px no-repeat,
    linear-gradient(rgba(255,239,209,.52), rgba(255,239,209,.52)) 28% 57%/1px 9px no-repeat,
    linear-gradient(90deg, rgba(255,239,209,.52), rgba(255,239,209,.52)) 28% 57%/9px 1px no-repeat,
    linear-gradient(90deg, rgba(255,240,208,.14), rgba(255,240,208,0)) 20% 63%/58% 1px no-repeat,
    linear-gradient(124deg, transparent 0 44%, rgba(255,240,208,.18) 49%, transparent 54%) 18% 63%/58% 10px no-repeat;
  filter:drop-shadow(0 0 11px rgba(255, 223, 158, .20));
  animation:coverConstellation 7s ease-in-out infinite;
}
.landing.is-opening .cover-stage::before { opacity:0; transition:opacity .28s ease; }
@keyframes coverConstellation {
  0%,100% { transform:translate3d(0,0,0) scale(1); opacity:.84; }
  34% { transform:translate3d(3px,-2px,0) scale(1.02); opacity:.97; }
  67% { transform:translate3d(-2px,2px,0) scale(.99); opacity:.9; }
}
@media (max-width:900px){
  .landing::after {
    left:2%;
    top:12%;
    width:24%;
    height:24%;
    opacity:.58;
    filter:blur(14px);
  }
  .cover-stage::before {
    left:-8%;
    top:9%;
    width:34%;
    height:48%;
    opacity:.66;
  }
}


/* V86 — replace landing sparkles with a subtler living-book motion,
   and strengthen the five chapter-chip colors in the contents drawer. */

/* Remove the previous star/dot treatment entirely. */
.cover-stage::before,
.landing::after {
  content:none !important;
  background:none !important;
  animation:none !important;
  filter:none !important;
}

/* Home page: the book breathes very gently, and a soft light passes over it occasionally. */
.cover-stage {
  animation: coverStageBreath 6.8s ease-in-out infinite;
  will-change: transform;
}
.cover-shadow {
  animation: coverShadowBreath 6.8s ease-in-out infinite;
  will-change: transform, opacity, filter;
}
.cover-book {
  overflow:hidden;
  will-change: transform, filter, translate;
}
.cover-book::before {
  content:"";
  position:absolute;
  inset:-8% -16%;
  pointer-events:none;
  z-index:2;
  border-radius:inherit;
  background:linear-gradient(112deg,
    transparent 0%,
    transparent 34%,
    rgba(255,247,228,0) 42%,
    rgba(255,247,228,.10) 47%,
    rgba(255,252,244,.20) 50%,
    rgba(255,242,216,.10) 53%,
    rgba(255,242,216,0) 58%,
    transparent 66%,
    transparent 100%);
  mix-blend-mode:screen;
  opacity:0;
  transform:translateX(-145%) skewX(-14deg);
  animation: coverLightSweep 10.5s ease-in-out infinite;
}
.landing.is-opening .cover-stage,
.landing.is-opening .cover-shadow,
.landing.is-opening .cover-book::before {
  animation-play-state:paused;
}
@keyframes coverStageBreath {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(-6px); }
}
@keyframes coverShadowBreath {
  0%,100% { transform:rotate(-3deg) scale(1); opacity:1; filter:blur(38px); }
  50% { transform:rotate(-3deg) scale(.97); opacity:.88; filter:blur(34px); }
}
@keyframes coverLightSweep {
  0%, 72%, 100% { opacity:0; transform:translateX(-145%) skewX(-14deg); }
  78% { opacity:.28; }
  87% { opacity:.5; }
  96% { opacity:0; transform:translateX(138%) skewX(-14deg); }
}
@media (max-width:900px){
  .cover-stage { animation-duration:7.2s; }
  @keyframes coverStageBreath {
    0%,100% { transform:translateY(0); }
    50% { transform:translateY(-3px); }
  }
  .cover-book::before { animation-duration:11.5s; opacity:0; }
}

/* Left contents drawer: make the five colored chapter buttons about 15% stronger. */
html:not([data-book-theme="night"]) .toc-drawer .library-gate-chip {
  border:1px solid color-mix(in srgb,var(--gate-accent) 44%,#ded7cc) !important;
  background:color-mix(in srgb,var(--gate-accent) 15%,#fbf8f1) !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-gate-chip:hover {
  border-color:color-mix(in srgb,var(--gate-accent) 66%,#d3cabd) !important;
  background:color-mix(in srgb,var(--gate-accent) 19%,#fffaf3) !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-gate-chip span {
  color:color-mix(in srgb,var(--gate-accent) 62%,#555a55 38%) !important;
}
html[data-book-theme="night"] .toc-drawer .library-gate-chip {
  background:color-mix(in srgb,var(--gate-accent) 19%,#1b1d1b) !important;
  border-color:color-mix(in srgb,var(--gate-accent) 45%,#45423e) !important;
}


/* V87 — subtle realistic page-corner cue on the closed cover only. */
.cover-page-cue {
  position:absolute;
  left:-1px;
  bottom:-1px;
  width:96px;
  height:92px;
  z-index:7;
  pointer-events:none;
  overflow:visible;
  opacity:0;
  transform-origin:0 100%;
  transform:translate3d(-2px,2px,0) scale(.12) rotate(-1deg);
  clip-path:polygon(0 100%, 100% 100%, 0 0);
  background:
    linear-gradient(138deg,
      rgba(255,253,247,.98) 0%,
      rgba(248,241,230,.98) 42%,
      rgba(221,207,188,.98) 48%,
      rgba(174,153,126,.78) 51%,
      rgba(79,62,44,.16) 57%,
      rgba(34,26,19,0) 71%);
  box-shadow:10px -8px 19px rgba(20,15,11,.18);
  filter:drop-shadow(6px -5px 7px rgba(0,0,0,.16));
  animation:coverCornerCue 8.8s cubic-bezier(.23,.68,.24,1) infinite;
  will-change:transform,opacity,filter;
}
.cover-page-cue::before {
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:100%;
  clip-path:polygon(0 100%, 100% 100%, 0 0);
  background:
    linear-gradient(48deg,
      rgba(255,255,255,.36) 0 20%,
      transparent 32% 59%,
      rgba(255,255,255,.44) 67%,
      transparent 76%);
  opacity:.75;
}
.cover-page-cue::after {
  content:"";
  position:absolute;
  left:8px;
  bottom:4px;
  width:78px;
  height:22px;
  border-radius:50%;
  background:rgba(10,8,6,.20);
  filter:blur(10px);
  transform:rotate(-24deg) translateY(8px);
  opacity:.42;
}
@keyframes coverCornerCue {
  0%, 68%, 100% {
    opacity:0;
    transform:translate3d(-3px,3px,0) scale(.10) rotate(-1deg) skewX(0deg);
    filter:drop-shadow(2px -2px 3px rgba(0,0,0,.08));
  }
  72% {
    opacity:.38;
    transform:translate3d(-1px,1px,0) scale(.34) rotate(-1.5deg) skewX(-2deg);
  }
  77% {
    opacity:.82;
    transform:translate3d(1px,-2px,0) scale(.67) rotate(-3deg) skewX(-4deg);
  }
  82% {
    opacity:.97;
    transform:translate3d(4px,-8px,0) scale(.92) rotate(-5deg) skewX(-6deg);
    filter:drop-shadow(9px -8px 11px rgba(0,0,0,.20));
  }
  86% {
    opacity:1;
    transform:translate3d(6px,-11px,0) scale(1) rotate(-6deg) skewX(-7deg);
    filter:drop-shadow(11px -10px 13px rgba(0,0,0,.23));
  }
  91% {
    opacity:.74;
    transform:translate3d(2px,-4px,0) scale(.63) rotate(-3deg) skewX(-3deg);
  }
  96% {
    opacity:.18;
    transform:translate3d(-1px,1px,0) scale(.24) rotate(-1.4deg) skewX(-1deg);
  }
}
.cover-stage:hover .cover-page-cue,
.cover-stage:focus-visible .cover-page-cue,
.landing.is-opening .cover-page-cue {
  opacity:0 !important;
}
@media (max-width:900px){
  .cover-page-cue {
    width:74px;
    height:70px;
    animation-duration:9.6s;
  }
}
@media (prefers-reduced-motion:reduce){
  .cover-page-cue { display:none !important; }
}

/* V88 — bespoke literary reader chrome: visual language only; no behavior changes. */

/* A. Reader toolbar becomes a quiet reading ribbon instead of an app toolbar. */
.reader {
  --ui-accent:#b79a6d;
}
.reader-bar {
  position:relative !important;
  min-height:48px !important;
  padding:5px max(11px,1.35vw) 6px !important;
  border-bottom:0 !important;
  background:
    linear-gradient(180deg,rgba(27,25,22,.89),rgba(27,25,22,.73)) !important;
  backdrop-filter:blur(18px) saturate(.82) !important;
  -webkit-backdrop-filter:blur(18px) saturate(.82) !important;
  box-shadow:0 7px 22px rgba(0,0,0,.13) !important;
}
.reader-bar::after {
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,
    transparent 0%,
    color-mix(in srgb,var(--ui-accent) 18%,rgba(219,193,151,.18)) 24%,
    color-mix(in srgb,var(--ui-accent) 58%,rgba(219,193,151,.36)) 50%,
    color-mix(in srgb,var(--ui-accent) 18%,rgba(219,193,151,.18)) 76%,
    transparent 100%);
  opacity:.8;
}
.brand-mini {
  position:relative !important;
  padding-inline-start:7px !important;
  padding-inline-end:34px !important;
}
.brand-mini::after {
  content:"";
  position:absolute;
  inset-inline-end:0;
  top:50%;
  width:25px;
  height:7px;
  transform:translateY(-50%);
  opacity:.72;
  background:
    linear-gradient(90deg,transparent,color-mix(in srgb,var(--ui-accent) 72%,#e8d6b1),transparent) center/25px 1px no-repeat,
    linear-gradient(70deg,transparent 47%,color-mix(in srgb,var(--ui-accent) 66%,#e8d6b1) 49% 51%,transparent 53%) left 6px center/11px 7px no-repeat,
    linear-gradient(110deg,transparent 47%,color-mix(in srgb,var(--ui-accent) 66%,#e8d6b1) 49% 51%,transparent 53%) right 6px center/11px 7px no-repeat;
}
.brand-mini strong { color:#f5ead6 !important; letter-spacing:-.018em !important; }
.brand-mini span { color:#b9aa91 !important; }
.reader-actions { gap:3px !important; }
.reader-bar .icon-btn,
.reader-bar .icon-btn.feature-btn {
  position:relative !important;
  min-height:34px !important;
  padding:3px 7px 4px !important;
  border:0 !important;
  border-radius:5px !important;
  background:transparent !important;
  color:#d5cbbb !important;
  box-shadow:none !important;
  transition:color .18s ease, background .18s ease, transform .18s ease !important;
}
.reader-bar .icon-btn::after {
  content:"";
  position:absolute;
  left:24%; right:24%; bottom:0;
  height:1px;
  border-radius:99px;
  background:var(--ui-accent);
  opacity:0;
  transform:scaleX(.35);
  transition:opacity .18s ease, transform .18s ease;
}
.reader-bar .icon-btn:hover {
  color:#fff4df !important;
  background:rgba(255,255,255,.025) !important;
  transform:translateY(-1px) !important;
}
.reader-bar .icon-btn:hover::after { opacity:.48; transform:scaleX(1); }
.reader-bar .icon-btn.is-active,
.reader-bar .icon-btn[aria-pressed="true"]:not(#soundBtn) {
  color:color-mix(in srgb,var(--ui-accent) 62%,#fff1d5 38%) !important;
  background:transparent !important;
}
.reader-bar .icon-btn.is-active::after,
.reader-bar .icon-btn[aria-pressed="true"]:not(#soundBtn)::after {
  opacity:.85;
  transform:scaleX(1);
}
.reader-bar .icon-btn .label {
  font-weight:500 !important;
  letter-spacing:.005em !important;
  color:inherit !important;
  opacity:.9;
}

/* B. Contents drawer reads as a bound index leaf beside the book. */
.toc-drawer.library-drawer {
  --ui-accent:#b79a6d;
  isolation:isolate;
}
html:not([data-book-theme="night"]) .toc-drawer.library-drawer {
  background:
    linear-gradient(90deg,rgba(103,84,56,.035),transparent 18px),
    repeating-linear-gradient(0deg,rgba(92,75,52,.012) 0 1px,transparent 1px 4px),
    linear-gradient(180deg,#fffdf9 0%,#fbf7ee 100%) !important;
  border-left:0 !important;
  box-shadow:-15px 0 34px rgba(47,40,31,.13), inset 1px 0 rgba(120,97,63,.12) !important;
}
html:not([data-book-theme="night"]) .toc-drawer.library-drawer::before {
  content:"";
  position:absolute;
  z-index:2;
  left:0; top:18px; bottom:18px;
  width:2px;
  pointer-events:none;
  border-radius:99px;
  background:linear-gradient(180deg,transparent,var(--ui-accent) 22%,var(--ui-accent) 78%,transparent);
  opacity:.34;
}
.toc-drawer .drawer-head { position:relative !important; }
.toc-drawer .drawer-head > div { position:relative !important; }
html:not([data-book-theme="night"]) .toc-drawer .drawer-head {
  border-bottom:0 !important;
  padding-bottom:17px !important;
}
html:not([data-book-theme="night"]) .toc-drawer .drawer-head > div::after {
  content:"";
  display:block;
  width:46px;
  height:1px;
  margin-top:9px;
  background:linear-gradient(90deg,var(--ui-accent),rgba(183,154,109,0));
  opacity:.72;
}
html:not([data-book-theme="night"]) .toc-drawer .drawer-head .eyebrow {
  color:#9b8e7b !important;
  letter-spacing:.08em !important;
}
html:not([data-book-theme="night"]) .toc-drawer .drawer-head h2 {
  font-weight:570 !important;
  color:#332f2a !important;
  letter-spacing:-.02em !important;
}

/* Search as a typographic line, not a form-field card. */
html:not([data-book-theme="night"]) .toc-drawer .library-search-wrap {
  height:39px !important;
  margin:9px 0 8px !important;
  padding:0 3px !important;
  border:0 !important;
  border-bottom:1px solid #ddd2c2 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#9a876b !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-search-wrap:focus-within {
  border-bottom-color:color-mix(in srgb,var(--ui-accent) 68%,#c8b99f) !important;
  box-shadow:none !important;
}

/* The five chapters become small colored book-ribbon bookmarks. */
.toc-drawer .library-gates {
  align-items:stretch !important;
  gap:6px !important;
  margin:10px 0 12px !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-gate-chip {
  position:relative !important;
  min-height:48px !important;
  padding:6px 4px 11px !important;
  border:0 !important;
  border-radius:3px 3px 5px 5px !important;
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--gate-accent) 21%,#fffdf9),
    color-mix(in srgb,var(--gate-accent) 13%,#fbf7ee)) !important;
  box-shadow:inset 0 1px rgba(255,255,255,.7), 0 2px 7px rgba(75,59,40,.045) !important;
  clip-path:polygon(0 0,100% 0,100% 86%,50% 100%,0 86%);
  transform:none !important;
  transition:filter .18s ease, transform .18s ease !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-gate-chip:hover {
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--gate-accent) 27%,#fffdf9),
    color-mix(in srgb,var(--gate-accent) 17%,#fbf7ee)) !important;
  transform:translateY(-1px) !important;
  filter:saturate(1.06);
}
html:not([data-book-theme="night"]) .toc-drawer .library-gate-chip.current-section {
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--gate-accent) 31%,#fffdf9),
    color-mix(in srgb,var(--gate-accent) 20%,#fbf7ee)) !important;
  box-shadow:inset 0 2px 0 color-mix(in srgb,var(--gate-accent) 66%,transparent), 0 3px 9px rgba(75,59,40,.07) !important;
  transform:translateY(-2px) !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-gate-chip b {
  color:color-mix(in srgb,var(--gate-accent) 88%,#2f332f 12%) !important;
  font-weight:800 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-gate-chip span {
  color:color-mix(in srgb,var(--gate-accent) 67%,#4f514d 33%) !important;
}

/* Tabs stay purely editorial: text + one fine accent rule. */
html:not([data-book-theme="night"]) .toc-drawer .library-tabs {
  margin-top:1px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-bottom:1px solid #e1d8ca !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-tab {
  letter-spacing:.015em !important;
  color:#8a8175 !important;
  background:transparent !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-tab.active {
  color:#39352f !important;
  font-weight:650 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-tab.active::after {
  background:var(--ui-accent) !important;
  height:2px !important;
  left:22% !important;
  right:22% !important;
}

/* Song list resembles a printed index, not selectable app rows. */
html:not([data-book-theme="night"]) .toc-drawer .toc-list.library-content {
  padding-top:6px !important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-gate {
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  margin:14px 4px 5px !important;
  color:#9b8e7b !important;
  font-size:9.5px !important;
  font-weight:750 !important;
  letter-spacing:.07em !important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-gate::after {
  content:"";
  flex:1;
  height:1px;
  background:linear-gradient(90deg,#ddd2c2,transparent);
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item {
  position:relative !important;
  min-height:39px !important;
  padding:9px 8px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item + .toc-item {
  border-top:1px solid rgba(129,109,79,.055) !important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item:hover {
  padding-inline-start:8px !important;
  background:linear-gradient(90deg,transparent,rgba(170,145,104,.035)) !important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item strong {
  font-weight:560 !important;
  color:#37332e !important;
  letter-spacing:-.01em !important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item > span:last-child {
  color:#a19584 !important;
  font-size:10px !important;
  font-variant-numeric:tabular-nums;
  min-width:34px;
  text-align:left;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item.current {
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--item-accent) 7%,#fffaf3)) !important;
  box-shadow:inset -2px 0 0 color-mix(in srgb,var(--item-accent) 72%,#b49a72) !important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item.current::before {
  content:"" !important;
  width:8px;
  height:14px;
  flex:0 0 8px;
  margin-inline-start:5px !important;
  background:color-mix(in srgb,var(--item-accent) 82%,#b59b72) !important;
  clip-path:polygon(0 0,100% 0,100% 100%,50% 74%,0 100%);
  opacity:.78;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item.current strong {
  color:color-mix(in srgb,var(--item-accent) 55%,#282823 45%) !important;
}

/* Page/listening variants inherit the same chapter accent when current. */
html:not([data-book-theme="night"]) .toc-drawer .page-thumb.current {
  border-color:color-mix(in srgb,var(--item-accent) 48%,#cdbfa9) !important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--item-accent) 18%,transparent),0 4px 12px rgba(74,58,38,.06) !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-listen-item {
  border:0 !important;
  border-bottom:1px solid rgba(129,109,79,.08) !important;
  border-radius:0 !important;
  background:transparent !important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-listen-play {
  border:0 !important;
  background:transparent !important;
  color:#7d6d58 !important;
}
html:not([data-book-theme="night"]) .toc-drawer .drawer-foot {
  border-top:1px solid #e1d8ca !important;
  color:#a2998d !important;
  font-style:italic;
}

/* C. Night mode keeps the same bookish language instead of reverting to dashboard cards. */
html[data-book-theme="night"] .reader-bar {
  background:linear-gradient(180deg,rgba(12,14,16,.91),rgba(15,17,18,.78)) !important;
}
html[data-book-theme="night"] .toc-drawer.library-drawer {
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.008) 0 1px,transparent 1px 4px),
    linear-gradient(180deg,#191b19,#171917) !important;
  border-left:0 !important;
  box-shadow:-16px 0 38px rgba(0,0,0,.38), inset 1px 0 rgba(255,255,255,.055) !important;
}
html[data-book-theme="night"] .toc-drawer.library-drawer::before {
  content:"";
  position:absolute;
  z-index:2;
  left:0; top:18px; bottom:18px;
  width:2px;
  background:linear-gradient(180deg,transparent,var(--ui-accent) 24%,var(--ui-accent) 76%,transparent);
  opacity:.34;
}
html[data-book-theme="night"] .toc-drawer .drawer-head { border-bottom:0 !important; }
html[data-book-theme="night"] .toc-drawer .drawer-head > div::after {
  content:"";
  display:block;
  width:46px;
  height:1px;
  margin-top:9px;
  background:linear-gradient(90deg,var(--ui-accent),transparent);
  opacity:.58;
}
html[data-book-theme="night"] .toc-drawer .library-search-wrap {
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.11) !important;
  border-radius:0 !important;
  background:transparent !important;
}
html[data-book-theme="night"] .toc-drawer .library-gate-chip {
  border:0 !important;
  border-radius:3px 3px 5px 5px !important;
  padding-bottom:11px !important;
  clip-path:polygon(0 0,100% 0,100% 86%,50% 100%,0 86%);
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--gate-accent) 25%,#1b1d1b),
    color-mix(in srgb,var(--gate-accent) 15%,#171917)) !important;
}
html[data-book-theme="night"] .toc-drawer .library-gate-chip.current-section {
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--gate-accent) 34%,#1b1d1b),
    color-mix(in srgb,var(--gate-accent) 21%,#171917)) !important;
  transform:translateY(-2px) !important;
}
html[data-book-theme="night"] .toc-drawer .library-tab.active::after { background:var(--ui-accent) !important; }
html[data-book-theme="night"] .toc-drawer .toc-gate {
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  color:#938a80 !important;
}
html[data-book-theme="night"] .toc-drawer .toc-gate::after {
  content:"";
  flex:1;
  height:1px;
  background:linear-gradient(90deg,rgba(255,255,255,.12),transparent);
}
html[data-book-theme="night"] .toc-drawer .toc-item {
  border:0 !important;
  border-top:1px solid rgba(255,255,255,.035) !important;
  background:transparent !important;
}
html[data-book-theme="night"] .toc-drawer .toc-item.current {
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--item-accent) 11%,#1b1d1b)) !important;
  box-shadow:inset -2px 0 0 color-mix(in srgb,var(--item-accent) 72%,#b2946b) !important;
}
html[data-book-theme="night"] .toc-drawer .toc-item.current::before {
  content:"" !important;
  width:8px;
  height:14px;
  flex:0 0 8px;
  margin-inline-start:5px !important;
  background:color-mix(in srgb,var(--item-accent) 82%,#b2946b) !important;
  clip-path:polygon(0 0,100% 0,100% 100%,50% 74%,0 100%);
  opacity:.82;
}

@media (max-width:680px) {
  .reader-bar {
    padding-top:4px !important;
    padding-bottom:4px !important;
  }
  .brand-mini { padding-inline-end:25px !important; }
  .brand-mini::after { width:18px; height:6px; }
  .reader-bar .icon-btn { border-radius:4px !important; }
  .toc-drawer .library-gates { gap:4px !important; }
  html:not([data-book-theme="night"]) .toc-drawer .library-gate-chip,
  html[data-book-theme="night"] .toc-drawer .library-gate-chip {
    min-height:44px !important;
    padding-bottom:9px !important;
  }
}

/* V89 — requested refinements only */

/* 1. Closed-cover page cue: real diagonal paper peel rather than a flat triangle. */
.cover-page-cue {
  left:-1px !important;
  bottom:-1px !important;
  width:92px !important;
  height:92px !important;
  opacity:0 !important;
  overflow:visible !important;
  clip-path:polygon(0 100%, 0 100%, 0 100%) !important;
  transform-origin:0 100% !important;
  transform:perspective(520px) rotateX(0deg) rotateY(0deg) translate3d(0,0,0) !important;
  background:
    linear-gradient(137deg,
      rgba(255,255,255,.99) 0%,
      rgba(251,247,238,.99) 34%,
      rgba(231,221,206,.99) 48%,
      rgba(202,187,165,.96) 51%,
      rgba(244,237,226,.98) 54%,
      rgba(255,253,247,.98) 100%) !important;
  box-shadow:none !important;
  filter:none !important;
  animation:coverPaperPeel 9.6s cubic-bezier(.22,.67,.24,1) infinite !important;
  will-change:clip-path,transform,opacity,filter !important;
}
.cover-page-cue::before {
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  clip-path:inherit !important;
  background:
    linear-gradient(137deg,
      transparent 0 43%,
      rgba(109,88,64,.10) 46%,
      rgba(93,72,49,.27) 49.2%,
      rgba(255,255,255,.82) 50.4%,
      rgba(255,255,255,.16) 53%,
      transparent 59%),
    repeating-linear-gradient(12deg,rgba(95,73,49,.018) 0 1px,transparent 1px 6px) !important;
  opacity:.92 !important;
  pointer-events:none !important;
}
.cover-page-cue::after {
  content:"" !important;
  position:absolute !important;
  left:7px !important;
  bottom:-4px !important;
  width:84px !important;
  height:30px !important;
  border-radius:50% !important;
  background:rgba(8,6,4,.31) !important;
  filter:blur(10px) !important;
  transform:rotate(-28deg) translateY(8px) scaleX(.82) !important;
  transform-origin:left center !important;
  opacity:0 !important;
  pointer-events:none !important;
  animation:coverPaperPeelShadow 9.6s cubic-bezier(.22,.67,.24,1) infinite !important;
}
@keyframes coverPaperPeel {
  0%, 68%, 100% {
    opacity:0;
    clip-path:polygon(0 100%, 0 100%, 0 100%);
    transform:perspective(520px) rotateX(0deg) rotateY(0deg) translate3d(0,0,0);
    filter:drop-shadow(0 0 0 rgba(0,0,0,0));
  }
  72% {
    opacity:.38;
    clip-path:polygon(0 100%, 25% 100%, 0 75%);
    transform:perspective(520px) rotateX(5deg) rotateY(-5deg) translate3d(0,-1px,0);
  }
  77% {
    opacity:.78;
    clip-path:polygon(0 100%, 49% 100%, 0 51%);
    transform:perspective(520px) rotateX(11deg) rotateY(-10deg) translate3d(1px,-3px,4px);
    filter:drop-shadow(5px -4px 5px rgba(0,0,0,.12));
  }
  82% {
    opacity:1;
    clip-path:polygon(0 100%, 72% 100%, 0 28%);
    transform:perspective(520px) rotateX(18deg) rotateY(-16deg) translate3d(3px,-7px,10px);
    filter:drop-shadow(9px -8px 9px rgba(0,0,0,.20));
  }
  86% {
    opacity:1;
    clip-path:polygon(0 100%, 82% 100%, 0 18%);
    transform:perspective(520px) rotateX(22deg) rotateY(-19deg) translate3d(4px,-9px,13px);
    filter:drop-shadow(11px -10px 11px rgba(0,0,0,.22));
  }
  91% {
    opacity:.70;
    clip-path:polygon(0 100%, 50% 100%, 0 50%);
    transform:perspective(520px) rotateX(11deg) rotateY(-10deg) translate3d(1px,-3px,4px);
    filter:drop-shadow(5px -4px 6px rgba(0,0,0,.13));
  }
  96% {
    opacity:.20;
    clip-path:polygon(0 100%, 18% 100%, 0 82%);
    transform:perspective(520px) rotateX(4deg) rotateY(-4deg) translate3d(0,-1px,0);
  }
}
@keyframes coverPaperPeelShadow {
  0%,68%,100% { opacity:0; transform:rotate(-28deg) translateY(8px) scaleX(.18); }
  75% { opacity:.12; transform:rotate(-28deg) translateY(7px) scaleX(.38); }
  82% { opacity:.34; transform:rotate(-28deg) translateY(5px) scaleX(.74); }
  86% { opacity:.42; transform:rotate(-28deg) translateY(4px) scaleX(.86); }
  92% { opacity:.15; transform:rotate(-28deg) translateY(7px) scaleX(.42); }
}
.cover-stage:hover .cover-page-cue,
.cover-stage:focus-visible .cover-page-cue,
.landing.is-opening .cover-page-cue {
  opacity:0 !important;
  animation-play-state:paused !important;
}
.cover-stage:hover .cover-page-cue::after,
.cover-stage:focus-visible .cover-page-cue::after,
.landing.is-opening .cover-page-cue::after {
  opacity:0 !important;
  animation-play-state:paused !important;
}
@media (max-width:900px){
  .cover-page-cue { width:70px !important; height:70px !important; animation-duration:10.4s !important; }
  .cover-page-cue::after { width:62px !important; height:24px !important; animation-duration:10.4s !important; }
}

/* 2. Top reading bar: slightly larger controls with bolder labels. */
.reader-bar .icon-btn,
.reader-bar .icon-btn.feature-btn {
  min-height:38px !important;
  min-width:46px !important;
  padding:4px 9px 5px !important;
  gap:6px !important;
}
.reader-bar .icon-btn .label {
  font-size:10px !important;
  font-weight:700 !important;
  opacity:.96 !important;
}
.reader-bar .icon-btn > span:first-child:not(.label),
.reader-bar #themeIcon,
.reader-bar #soundIcon {
  font-size:17.5px !important;
}
@media (max-width:680px){
  .reader-bar .icon-btn,
  .reader-bar .icon-btn.feature-btn {
    min-width:36px !important;
    min-height:34px !important;
    padding:2px 5px !important;
  }
  .reader-bar .icon-btn > span:first-child:not(.label),
  .reader-bar #themeIcon,
  .reader-bar #soundIcon {
    font-size:14.5px !important;
  }
}

/* 3. Contents drawer: slightly brighter paper tone, still not pure white. */
html:not([data-book-theme="night"]) .toc-drawer.library-drawer {
  background:
    linear-gradient(90deg,rgba(103,84,56,.020),transparent 18px),
    repeating-linear-gradient(0deg,rgba(92,75,52,.007) 0 1px,transparent 1px 4px),
    linear-gradient(180deg,#fffefb 0%,#fdfbf6 100%) !important;
}


/* V90 — make the closed-cover page curl clearly visible + 5% larger top-bar labels. */
.cover-page-cue {
  width:108px !important;
  height:104px !important;
  opacity:0;
  transform-origin:0 100% !important;
  animation:coverCornerCueV90 6.8s cubic-bezier(.22,.68,.22,1) infinite !important;
  background:
    linear-gradient(136deg,
      rgba(255,254,249,.99) 0%,
      rgba(251,246,237,.99) 35%,
      rgba(236,225,209,.98) 45%,
      rgba(193,173,146,.94) 49%,
      rgba(111,88,61,.44) 51%,
      rgba(59,43,29,.14) 57%,
      rgba(34,26,19,0) 69%) !important;
  box-shadow:12px -10px 22px rgba(20,15,11,.24) !important;
  filter:drop-shadow(8px -7px 9px rgba(0,0,0,.19));
}
.cover-page-cue::before {
  background:
    linear-gradient(47deg,
      rgba(255,255,255,.48) 0 18%,
      rgba(255,255,255,.12) 28%,
      transparent 38% 57%,
      rgba(255,255,255,.48) 65%,
      rgba(255,255,255,.08) 72%,
      transparent 81%) !important;
  opacity:.88 !important;
}
.cover-page-cue::after {
  left:9px !important;
  bottom:5px !important;
  width:88px !important;
  height:26px !important;
  background:rgba(10,8,6,.25) !important;
  filter:blur(11px) !important;
  transform:rotate(-23deg) translateY(9px) !important;
  opacity:.54 !important;
}
@keyframes coverCornerCueV90 {
  0%, 43%, 100% {
    opacity:0;
    transform:perspective(260px) translate3d(-4px,4px,0) scale(.08) rotate(-1deg) rotateY(0deg) skewX(0deg);
    filter:drop-shadow(2px -2px 3px rgba(0,0,0,.07));
  }
  48% {
    opacity:.42;
    transform:perspective(260px) translate3d(-1px,1px,0) scale(.34) rotate(-2deg) rotateY(-5deg) skewX(-2deg);
  }
  55% {
    opacity:.9;
    transform:perspective(260px) translate3d(3px,-5px,0) scale(.72) rotate(-4deg) rotateY(-12deg) skewX(-5deg);
  }
  62% {
    opacity:1;
    transform:perspective(260px) translate3d(8px,-14px,0) scale(1) rotate(-7deg) rotateY(-19deg) skewX(-7deg);
    filter:drop-shadow(12px -11px 14px rgba(0,0,0,.24));
  }
  69% {
    opacity:.96;
    transform:perspective(260px) translate3d(6px,-11px,0) scale(.92) rotate(-6deg) rotateY(-15deg) skewX(-6deg);
  }
  78% {
    opacity:.55;
    transform:perspective(260px) translate3d(1px,-2px,0) scale(.48) rotate(-3deg) rotateY(-7deg) skewX(-3deg);
  }
  86% {
    opacity:.08;
    transform:perspective(260px) translate3d(-2px,2px,0) scale(.18) rotate(-1deg) rotateY(-2deg) skewX(-1deg);
  }
}
/* Keep the cue visible even while the mouse rests on the cover; hide only when opening. */
.cover-stage:hover .cover-page-cue,
.cover-stage:focus-visible .cover-page-cue {
  opacity:revert !important;
}
.landing.is-opening .cover-page-cue { opacity:0 !important; }
@media (max-width:900px){
  .cover-page-cue {
    width:82px !important;
    height:80px !important;
    animation-duration:7.8s !important;
  }
}

/* Top reader toolbar labels: +5% from V89 (10px -> 10.5px). */
.reader-bar .icon-btn .label {
  font-size:10.5px !important;
}


/* V91 — requested poem-page corrections 1–8 only. */

/* 1, 2, 6, 8: these are real lyric stanzas at the end of the RIGHT column,
   not footnotes. Restore the normal song typography and remove the note rule. */
.poem-page.kind-poem[data-page="18"] .poem-col.col-a > p:last-child,
.poem-page.kind-poem[data-page="50"] .poem-col.col-a > p:last-child,
.poem-page.kind-poem[data-page="132"] .poem-col.col-a > p:last-child,
.poem-page.kind-poem[data-page="141"] .poem-col.col-a > p:last-child {
  margin-top:0 !important;
  margin-bottom:.62em !important;
  padding-top:0 !important;
  border-top:0 !important;
  font-family:"Assistant",Arial,sans-serif !important;
  font-size:1em !important;
  font-weight:400 !important;
  line-height:inherit !important;
  color:#24292a !important;
  -webkit-text-fill-color:#24292a !important;
}

/* 3–4: recover the clipped final lyric lines without changing font size or text. */
.poem-page.kind-poem[data-page="71"] .poem-body,
.poem-page.kind-poem[data-page="109"] .poem-body {
  line-height:1.34 !important;
}
.poem-page.kind-poem[data-page="71"] .poem-body > p,
.poem-page.kind-poem[data-page="109"] .poem-body > p {
  margin-bottom:.38em !important;
}
.poem-page.kind-poem[data-page="95"] .poem-body,
.poem-page.kind-poem[data-page="95"] .poem-col {
  line-height:1.33 !important;
}
.poem-page.kind-poem[data-page="95"] .poem-col > p {
  margin-bottom:.40em !important;
}

/* 5: page 123 source line is a genuine footnote, separate from the poem. */
.poem-page.kind-poem[data-page="123"] .poem-body > p:last-child {
  margin-top:1.35em !important;
  margin-bottom:0 !important;
  padding-top:.45em !important;
  border-top:1px solid rgba(90,90,90,.20) !important;
  font-family:Arial,sans-serif !important;
  font-size:.70em !important;
  line-height:1.3 !important;
  color:#555 !important;
  -webkit-text-fill-color:#555 !important;
}

/* 6–7: footnote rule should be only as wide as the source note itself. */
.poem-page.kind-poem[data-page="129"] .poem-body > p:last-child,
.poem-page.kind-poem[data-page="140"] .poem-body > p:last-child {
  width:fit-content !important;
  max-width:100% !important;
  margin-inline-start:0 !important;
  margin-inline-end:auto !important;
}

/* 6: keep the long page-129 title clear of the share control. */
.poem-page.kind-poem[data-page="129"] .poem-title {
  box-sizing:border-box !important;
  padding-inline-end:0 !important;
  padding-inline-start:12% !important;
}
@media (max-width:680px){
  .poem-page.kind-poem[data-page="129"] .poem-title {
    padding-inline-start:18% !important;
  }
}


/* V91 — requested poem/page fixes 1–9; back cover portrait integration */
.poem-page.kind-back-cover .poem-inner {
  justify-content:flex-start !important;
  padding: 11.6% 9.2% 8.8% !important;
}
.poem-page.kind-back-cover .poem-body {
  padding-top: 1.2% !important;
}
.poem-page.kind-back-cover .back-cover-hero {
  width:100%;
  display:flex;
  justify-content:center;
  margin: 0 0 18px;
}
.poem-page.kind-back-cover .back-cover-portrait-wrap {
  width:clamp(112px, 16.5vw, 164px);
  padding:6px;
  border-radius:20px;
  background:linear-gradient(180deg, rgba(247,234,211,.22), rgba(214,186,140,.10));
  border:1px solid rgba(224,197,151,.42);
  box-shadow:0 16px 34px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.16);
}
.poem-page.kind-back-cover .back-cover-portrait {
  display:block;
  width:100%;
  aspect-ratio: 4 / 5;
  object-fit:cover;
  object-position:center top;
  border-radius:15px;
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}
.poem-page.kind-back-cover .back-cover-copy {
  width:100%;
  max-width:100%;
  margin-top: 2px;
}
@media (max-width: 680px) {
  .poem-page.kind-back-cover .poem-inner {
    padding: 10.3% 7.5% 7.2% !important;
  }
  .poem-page.kind-back-cover .back-cover-hero {
    margin-bottom: 12px !important;
  }
  .poem-page.kind-back-cover .back-cover-portrait-wrap {
    width: clamp(86px, 27vw, 108px);
    padding: 4px;
    border-radius: 15px;
  }
  .poem-page.kind-back-cover .back-cover-portrait {
    border-radius: 11px;
  }
}


/* === SHIRIM HEM PITGAMIM · V2 identity === */
:root{
  --ink:#1e3038; --ink-soft:#4f6c75; --paper:#fffefa; --paper-deep:#eef8f8;
  --sage:#2ab2c9; --sage-light:#86d9e5; --night:#0b5265; --night-2:#0b748b;
  --gold:#e4dc30; --bronze:#c2b61c; --wine:#e78d72; --indigo:#14738a;
  --shadow:rgba(1,43,55,.38); --page-ratio:.717;
}
html{background:#07536a}
body{background:linear-gradient(155deg,#063f52 0%,#087a94 48%,#15a9c8 100%);color:#f5fdff}
.ambient{opacity:.42}.ambient span{background:#dffbff;box-shadow:0 0 16px rgba(219,250,255,.58)}
.landing{background:
 radial-gradient(circle at 80% 14%,rgba(255,255,255,.18),transparent 24%),
 linear-gradient(180deg,#8ad7e7 0%,#43bfd8 44%,#16a6c4 100%)}
.landing::before{opacity:.11;background-image:repeating-linear-gradient(0deg,transparent 0 10px,rgba(255,255,255,.22) 11px,transparent 12px)}
.landing h1{color:#081e25;text-shadow:0 2px 0 rgba(255,255,255,.28);font-weight:700;letter-spacing:-.02em}
.landing-book-meta{color:#123e48}.landing-subtitle,.landing-author{color:#123e48!important}
.primary-btn{border-color:rgba(103,94,0,.25);background:linear-gradient(180deg,#f7ef4a,#ded221);color:#172d31;box-shadow:0 14px 34px rgba(4,83,100,.25)}
.primary-btn:hover{background:#fff65d}.landing-link-btn{color:#0d4a5a!important}.landing-note{color:rgba(5,55,66,.76)}
.cover-book{aspect-ratio:1054/1472;width:min(410px,34vw,55vh);filter:drop-shadow(0 28px 35px rgba(0,61,74,.38));}
.cover-book::after{box-shadow:inset -12px 0 20px rgba(0,45,56,.12),inset 0 0 0 1px rgba(0,70,82,.25)}
.cover-edge{background:linear-gradient(90deg,#d9ece8,#fff,#b7ddd8)}
.landing-cover-image{display:block;width:100%;height:100%;object-fit:cover;border-radius:3px 8px 8px 3px}
.reader{background:linear-gradient(155deg,#063f52 0%,#08788f 52%,#064d61 100%)}
.reader-bar{border-bottom-color:rgba(185,239,248,.2);background:linear-gradient(180deg,rgba(3,55,69,.86),rgba(4,71,86,.7))}
.brand-mini strong{color:#eafcff}.brand-mini span{color:#a9dae4}.icon-btn{color:#e3f7fa;border-color:rgba(255,255,255,.14)}
.scene-glow{background:radial-gradient(ellipse at 50% 48%,rgba(160,241,251,.20),transparent 68%)}
.book{aspect-ratio:1.434/1;filter:drop-shadow(0 34px 40px rgba(0,35,43,.52))}
.poem-page{background:#fff!important}.poem-page.has-page-image::before,.poem-page.has-page-image::after{display:none}
.poem-page.has-page-image .poem-inner{inset:0;z-index:2;width:100%;height:100%;}
.poem-page.has-page-image .poem-body{width:100%;height:100%;max-width:none;margin:0;display:block;}
.book-page-image{display:block;width:100%;height:100%;object-fit:contain;background:#fff;user-select:none;-webkit-user-drag:none;}
.poem-page.has-page-image .page-favorite,.poem-page.has-page-image .page-share{z-index:9;background:rgba(255,255,255,.88);backdrop-filter:blur(7px);box-shadow:0 4px 18px rgba(0,72,88,.13)}
.poem-page.has-page-image .page-favorite:hover,.poem-page.has-page-image .page-share:hover{background:#fff}
.nav-hit{color:#d8f5f8;border-color:rgba(255,255,255,.14);background:rgba(0,73,89,.32)}
.reader-footer{color:#b9e2e8}.progress-track span{background:linear-gradient(90deg,#f2e83b,#6bd9e8,#1db1ce)}
.toc-drawer{background:#f7fcfb;color:#19353b}.drawer-head{border-bottom-color:#cce3e5}.drawer-head h2{color:#17383f}.drawer-head .eyebrow{color:#198da6}.drawer-close{border-color:#b7d8dc;color:#17677a}
.library-search-wrap,.library-tabs{--ui-accent:#1aa8c5}.toc-item{border-bottom-color:#d8e9e9;color:#21434a}.toc-item:hover{color:#057f99}.toc-item strong{font-weight:600}.drawer-foot{border-top-color:#d4e7e8;color:#6d8b91}
.site-credit a{color:#e8f9fb!important}
[data-book-theme="night"] .book-page-image{filter:brightness(.88) contrast(.98)}
@media(max-width:900px){.cover-book{width:min(310px,74vw,46vh)}.landing{gap:20px;padding-top:22px}.landing h1{font-size:clamp(36px,11vw,56px)}}


/* Shirim Hem Pitgamim V1 - image-based clean reading mode */
@media (max-width:680px){
  .mobile-reading-content:has(.mobile-reading-page-image){
    padding:12px 10px 26px !important;
    text-align:center !important;
    background:#eefbff !important;
  }
  .mobile-reading-page-image{
    display:block !important;
    width:min(100%,760px) !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 auto !important;
    border-radius:14px !important;
    box-shadow:0 14px 36px rgba(16,83,105,.16) !important;
    user-select:none !important;
    -webkit-user-drag:none !important;
    touch-action:pinch-zoom !important;
  }
  html[data-book-theme="night"] .mobile-reading-content:has(.mobile-reading-page-image){
    background:#10191e !important;
  }
  html[data-book-theme="night"] .mobile-reading-page-image{
    box-shadow:0 16px 42px rgba(0,0,0,.42) !important;
  }
}


/* V2 - exact supplied PDF pagination. Full-page raster pages are authoritative. */
.book-page-image{opacity:1!important;visibility:visible!important;}
.book-sheet.--left .book-page-image,.book-sheet.--right .book-page-image{display:block!important;}


/* V4 - exact PDF spread: even illustration LEFT, following odd text RIGHT. */
#book.exact-spread-book{position:relative!important;display:block!important;overflow:visible!important;transform:none!important;perspective:none!important;}
#book.exact-spread-book .exact-sheet{position:absolute!important;top:0!important;bottom:0!important;height:100%!important;width:50%!important;overflow:hidden!important;background:#fff!important;transform:none!important;backface-visibility:visible!important;box-shadow:0 8px 24px rgba(0,48,58,.10)!important;}
#book.exact-spread-book .exact-right{right:0!important;left:auto!important;border-radius:2px 10px 10px 2px!important;box-shadow:inset 18px 0 25px rgba(20,60,65,.06),0 8px 24px rgba(0,48,58,.10)!important;}
#book.exact-spread-book .exact-left{left:0!important;right:auto!important;border-radius:10px 2px 2px 10px!important;box-shadow:inset -18px 0 25px rgba(20,60,65,.06),0 8px 24px rgba(0,48,58,.10)!important;}
#book.exact-spread-book .exact-blank{background:#fff!important;}
#book.exact-spread-book .poem-page{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;transform:none!important;}
#book.exact-spread-book .book-page-image{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;opacity:1!important;visibility:visible!important;background:#fff!important;}
#book.exact-spread-book.exact-enter .exact-sheet{animation:exactPageIn .24s ease-out both;}
@keyframes exactPageIn{from{opacity:.72;transform:translateY(2px) scale(.997)}to{opacity:1;transform:none}}
@media(max-width:680px){
  #book.exact-spread-book .exact-sheet{left:0!important;right:0!important;width:100%!important;height:100%!important;border-radius:8px!important;box-shadow:0 10px 28px rgba(0,44,54,.18)!important;}
  #book.exact-spread-book .exact-single{position:absolute!important;inset:0!important;}
  .pageflip-wrap::before{display:none!important;}
}


/* V4 hard spread lock: never let RTL/flex ordering swap the physical PDF sides. */
@media (min-width:681px){
  #book.exact-spread-book{direction:ltr!important;}
  #book.exact-spread-book .exact-left{position:absolute!important;left:0!important;right:auto!important;width:50%!important;}
  #book.exact-spread-book .exact-right{position:absolute!important;right:0!important;left:auto!important;width:50%!important;}
}


/* V5 — empty book baseline */
.blank-cover-placeholder{
  display:block; width:100%; height:100%; border-radius:3px 8px 8px 3px;
  background:linear-gradient(145deg,#f9fbfb 0%,#eef7f8 55%,#dceff2 100%);
  box-shadow:inset -10px 0 24px rgba(36,118,136,.08),inset 0 0 0 1px rgba(20,89,104,.10);
}
.book-page.blank-page,.blank-page{background:#fff!important;}

/* V6 EXACT PDF - authoritative physical placement. Do not reverse these sides. */
#book.exact-spread-book{direction:ltr!important;}
#book.exact-spread-book .exact-right{position:absolute!important;right:0!important;left:auto!important;width:50%!important;}
#book.exact-spread-book .exact-left{position:absolute!important;left:0!important;right:auto!important;width:50%!important;}
#book.exact-spread-book .exact-sheet .poem-inner{position:absolute!important;inset:0!important;padding:0!important;margin:0!important;}
#book.exact-spread-book .exact-sheet .poem-body{position:absolute!important;inset:0!important;margin:0!important;padding:0!important;width:100%!important;height:100%!important;}
#book.exact-spread-book .exact-sheet .book-page-image{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;background:#fff!important;}
#book.exact-spread-book .exact-sheet .page-favorite,
#book.exact-spread-book .exact-sheet .page-share,
#book.exact-spread-book .exact-sheet .media-trigger,
#book.exact-spread-book .exact-sheet .running-head,
#book.exact-spread-book .exact-sheet .gate-label,
#book.exact-spread-book .exact-sheet .poem-title,
#book.exact-spread-book .exact-sheet .title-rule,
#book.exact-spread-book .exact-sheet .page-number{display:none!important;}
@media (max-width:680px){
  #book.exact-spread-book .exact-sheet{left:0!important;right:0!important;width:100%!important;}
  #book.exact-spread-book .exact-single{inset:0!important;}
}

/* V6 uses a direct (non-mirrored) spread renderer. The old page-curl engine used scaleX(-1); keeping it would reverse both sides and the Hebrew text. */
.pageflip-mirror{transform:none!important;transform-origin:50% 50%!important;}
@media (min-width:681px){
  .book-wrap.pageflip-wrap,.pageflip-wrap{
    width:min(100%, calc((100dvh - 74px) * 1.5))!important;
    aspect-ratio:1.5 / 1!important;
  }
}
@media (max-width:680px){
  .book-wrap.pageflip-wrap,.pageflip-wrap{
    aspect-ratio:552.756 / 737.008!important;
  }
}


/* V7 — direct PDF reader safety layer */
#book.exact-spread-book .exact-sheet{z-index:2!important;}
#book.exact-spread-book .exact-sheet .poem-page.has-page-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;display:block!important;overflow:hidden!important;background:#fff!important;}
#book.exact-spread-book .exact-pdf-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;display:block!important;opacity:1!important;visibility:visible!important;background:#fff!important;}
#book.exact-spread-book .page-image-error{display:flex!important;align-items:center!important;justify-content:center!important;font:600 18px/1.4 Assistant,Arial,sans-serif;color:#8b2931!important;}
.reader-load-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:30px;text-align:center;background:#fff;color:#8b2931;font:600 20px/1.5 Assistant,Arial,sans-serif;}

/* V8 — desktop spread geometry fix.
   The V6 width used min(100%, ...) inside an auto-sized grid column, creating
   a cyclic percentage width on desktop Chromium. The middle grid track could
   collapse to zero, leaving only the two navigation buttons visible.
   Give the reader a stable middle track and an explicit viewport-based spread width. */
@media (min-width:681px){
  .reader-scene{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) 44px!important;
    grid-template-areas:"next book prev"!important;
    align-items:center!important;
    justify-items:center!important;
    column-gap:6px!important;
    padding:3px 8px 2px!important;
    overflow:hidden!important;
  }
  .nav-next{grid-area:next!important;}
  .nav-prev{grid-area:prev!important;}
  .book-wrap.pageflip-wrap,
  .pageflip-wrap{
    grid-area:book!important;
    justify-self:center!important;
    align-self:center!important;
    width:min(calc((100dvh - 92px) * 1.5), calc(100vw - 116px), 1480px)!important;
    max-width:min(calc((100dvh - 92px) * 1.5), calc(100vw - 116px), 1480px)!important;
    height:auto!important;
    max-height:calc(100dvh - 92px)!important;
    aspect-ratio:1.5 / 1!important;
    margin:0 auto!important;
    overflow:visible!important;
  }
  .pageflip-mirror,
  #book.pageflip-book,
  #book.exact-spread-book{
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
  }
  #book.exact-spread-book .exact-sheet{
    height:100%!important;
  }
}


/* V9 — realistic page-turn overlay for the exact PDF renderer */
#book.exact-spread-book{perspective:2400px!important;transform-style:preserve-3d!important;}
.exact-flip-layer{
  position:absolute;
  inset:0;
  z-index:35;
  pointer-events:none;
  perspective:2400px;
  transform-style:preserve-3d;
  overflow:visible;
}
.exact-flip-layer .flip-static-page,
.exact-flip-layer .flip-turn-leaf{
  position:absolute;
  top:0;
  width:50%;
  height:100%;
  transform-style:preserve-3d;
}
.exact-flip-layer .flip-static-left{left:0;}
.exact-flip-layer .flip-static-right{right:0;}
.exact-flip-layer .flip-static-page{
  overflow:hidden;
  background:#fff;
  box-shadow:0 8px 24px rgba(0,48,58,.10), inset 0 0 0 1px rgba(0,0,0,.03);
}
.exact-flip-layer .flip-static-page::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg, rgba(8,25,29,.10), transparent 14%, transparent 86%, rgba(255,255,255,.18));
}
.exact-flip-layer .flip-turn-leaf{
  overflow:visible;
  transform-style:preserve-3d;
  will-change:transform;
  filter:drop-shadow(0 18px 26px rgba(0,0,0,.25));
}
.exact-flip-layer.exact-flip-forward .flip-turn-leaf{left:0; transform-origin:100% 50%; transform:rotateY(0deg);}
.exact-flip-layer.exact-flip-backward .flip-turn-leaf{right:0; transform-origin:0% 50%; transform:rotateY(0deg);}
.exact-flip-layer.play.exact-flip-forward .flip-turn-leaf{transform:rotateY(180deg); transition:transform .78s cubic-bezier(.22,.75,.18,1);}
.exact-flip-layer.play.exact-flip-backward .flip-turn-leaf{transform:rotateY(-180deg); transition:transform .78s cubic-bezier(.22,.75,.18,1);}
.exact-flip-layer.play .flip-static-page{opacity:0; transition:opacity .18s linear .28s;}
.exact-flip-layer .flip-face{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:#fff;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transform-style:preserve-3d;
}
.exact-flip-layer .flip-face::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg, rgba(15,34,38,.13), transparent 18%, transparent 80%, rgba(255,255,255,.22));
  mix-blend-mode:multiply;
}
.exact-flip-layer.exact-flip-forward .flip-front::after{background:linear-gradient(90deg, rgba(255,255,255,.26), transparent 26%, transparent 82%, rgba(0,0,0,.10));}
.exact-flip-layer.exact-flip-forward .flip-back::after{background:linear-gradient(90deg, rgba(0,0,0,.14), transparent 20%, transparent 78%, rgba(255,255,255,.20));}
.exact-flip-layer.exact-flip-backward .flip-front::after{background:linear-gradient(90deg, rgba(0,0,0,.10), transparent 20%, transparent 78%, rgba(255,255,255,.26));}
.exact-flip-layer.exact-flip-backward .flip-back::after{background:linear-gradient(90deg, rgba(255,255,255,.20), transparent 22%, transparent 82%, rgba(0,0,0,.14));}
.exact-flip-layer .flip-front{transform:rotateY(0deg);}
.exact-flip-layer.exact-flip-forward .flip-back{transform:rotateY(180deg);}
.exact-flip-layer.exact-flip-backward .flip-back{transform:rotateY(-180deg);}
.exact-flip-layer .flip-face-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#fff;
  user-select:none;
}
.reader.page-folding .pageflip-wrap::before{opacity:1!important;}
@media (max-width:680px){
  .exact-flip-layer{display:none!important;}
}


/* V12 — V95 page-turn mechanism, corrected for raster PDF pages.
   Two mirrors are intentional:
   1) the whole PageFlip viewport is mirrored so the physical turn behaves RTL;
   2) each page's content is counter-mirrored so text/images remain readable. */
.pageflip-mirror {
  width:100%;
  height:100%;
  transform:scaleX(-1) !important;
  transform-origin:50% 50% !important;
  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));
}
.page-mirror-content {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  transform:scaleX(-1) !important;
  transform-origin:50% 50% !important;
  overflow:hidden;
}
.page-mirror-content > .poem-page {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  transform:none !important;
}
.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)) !important;
}
#book.pageflip-book {
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  perspective:none !important;
  transform-style:flat !important;
  filter:none !important;
  cursor:grab !important;
  touch-action:none !important;
}
#book.pageflip-book:active { cursor:grabbing !important; }
#book .stf__parent,
#book .stf__block { overflow:visible !important; }
#book .stf__block { perspective:2600px !important; }
#book .stf__outerShadow,
#book .stf__innerShadow { pointer-events:none !important; }
#book .stf__outerShadow { mix-blend-mode:multiply; filter:blur(.15px); }
#book .stf__innerShadow { mix-blend-mode:multiply; }

/* Keep the current V8 desktop sizing; only the flip mechanism/orientation is changed. */
@media (min-width:681px) {
  .book-wrap.pageflip-wrap,
  .pageflip-wrap {
    width:min(calc((100dvh - 92px) * 1.5), calc(100vw - 116px), 1480px) !important;
    max-width:min(calc((100dvh - 92px) * 1.5), calc(100vw - 116px), 1480px) !important;
    aspect-ratio:1.5 / 1 !important;
    overflow:visible !important;
  }
}
@media (max-width:680px) {
  .pageflip-mirror { width:100% !important; height:100% !important; }
  #book .stf__block { overflow:hidden !important; }
}


/* V13 — illustrated UI restyle for the top toolbar and right contents drawer
   inspired by the book cover: turquoise water/sky, warm yellow signs, soft leafy accents. */
:root{
  --pit-ui-teal-1:#eafafc;
  --pit-ui-teal-2:#d8f4f8;
  --pit-ui-teal-3:#bdebf3;
  --pit-ui-teal-4:#198da6;
  --pit-ui-teal-5:#0d5f73;
  --pit-ui-gold-1:#fff8d8;
  --pit-ui-gold-2:#ffe37a;
  --pit-ui-gold-3:#d6b24a;
  --pit-ui-leaf:#82a941;
}
.reader-bar{
  position:relative!important;
  overflow:hidden!important;
  border-bottom:1px solid rgba(180,239,246,.26)!important;
  background:
    radial-gradient(circle at 15% -30%, rgba(255,255,255,.16), transparent 32%),
    radial-gradient(circle at 85% 0%, rgba(255,239,168,.16), transparent 24%),
    linear-gradient(180deg, rgba(4,63,77,.94), rgba(7,104,127,.88))!important;
  box-shadow:0 8px 30px rgba(0,34,43,.24)!important;
}
.reader-bar::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.38;
  background:
    radial-gradient(circle at 12% 140%, rgba(255,255,255,.18) 0 2px, transparent 3px) 0 0/120px 42px,
    radial-gradient(circle at 76% 130%, rgba(255,255,255,.14) 0 2px, transparent 3px) 0 0/140px 48px,
    repeating-linear-gradient(-8deg, transparent 0 15px, rgba(255,255,255,.04) 15px 17px, transparent 17px 31px);
}
.reader-bar::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(255,231,122,.65) 18%, rgba(255,255,255,.2) 50%, rgba(255,231,122,.65) 82%, transparent);
  opacity:.82;
}
.reader-actions{
  gap:6px!important;
}
.reader-bar .icon-btn,
.reader-bar .icon-btn.feature-btn{
  position:relative!important;
  isolation:isolate!important;
  min-height:40px!important;
  padding:4px 9px!important;
  border-radius:16px!important;
  border:1px solid rgba(228,247,248,.22)!important;
  background:linear-gradient(180deg, rgba(255,255,255,.15), rgba(255,255,255,.08))!important;
  box-shadow:0 8px 18px rgba(0,27,34,.14), inset 0 1px 0 rgba(255,255,255,.14)!important;
  color:#effffe!important;
  backdrop-filter:blur(8px)!important;
}
.reader-bar .icon-btn::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:15px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), transparent 58%);
  opacity:.9;
  z-index:-1;
}
.reader-bar .icon-btn:hover{
  transform:translateY(-1px)!important;
  border-color:rgba(255,241,178,.44)!important;
  background:linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.10))!important;
  box-shadow:0 12px 22px rgba(0,27,34,.18), inset 0 1px 0 rgba(255,255,255,.2)!important;
}
.reader-bar .icon-btn > span:first-child:not(.label),
.reader-bar #themeIcon,
.reader-bar #soundIcon{
  display:grid!important;
  place-items:center!important;
  width:27px!important;
  height:27px!important;
  border-radius:50%!important;
  flex:0 0 27px!important;
  background:
    radial-gradient(circle at 34% 28%, rgba(255,255,255,.84), rgba(255,255,255,0) 36%),
    linear-gradient(180deg, var(--pit-ui-gold-1), var(--pit-ui-gold-2))!important;
  color:var(--pit-ui-teal-5)!important;
  border:1px solid rgba(223,183,67,.64)!important;
  box-shadow:0 4px 12px rgba(0,0,0,.16), inset 0 -2px 0 rgba(214,178,74,.35)!important;
  font-size:15px!important;
  line-height:1!important;
  transform:rotate(-7deg);
}
.reader-bar .icon-btn:nth-child(even) > span:first-child:not(.label),
.reader-bar .icon-btn:nth-child(even) #themeIcon,
.reader-bar .icon-btn:nth-child(even) #soundIcon{
  transform:rotate(6deg);
}
.reader-bar .icon-btn .label{
  font-size:10px!important;
  font-weight:700!important;
  color:#f9fffe!important;
  text-shadow:0 1px 0 rgba(0,0,0,.14)!important;
}
.reader-bar .icon-btn.is-active,
.reader-bar .icon-btn[aria-pressed="true"]:not(#soundBtn){
  background:linear-gradient(180deg, rgba(255,240,176,.26), rgba(255,255,255,.12))!important;
  border-color:rgba(255,229,127,.52)!important;
}
.reader-bar .icon-btn.is-active > span:first-child:not(.label),
.reader-bar .icon-btn[aria-pressed="true"]:not(#soundBtn) > span:first-child:not(.label){
  background:linear-gradient(180deg, #fffbe9, #ffd65d)!important;
}

.toc-drawer,
.toc-drawer.library-drawer{
  background:
    radial-gradient(circle at 86% 10%, rgba(255,237,163,.34), transparent 20%),
    radial-gradient(circle at 15% 6%, rgba(67,197,221,.18), transparent 24%),
    linear-gradient(180deg, #f7fcfc 0%, #eef9fb 40%, #e7f5f8 100%)!important;
  color:#174149!important;
  border-left:1px solid rgba(31,139,160,.16)!important;
  box-shadow:-28px 0 70px rgba(0,54,67,.22)!important;
}
.toc-drawer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.38;
  background:
    repeating-linear-gradient(-7deg, transparent 0 18px, rgba(63,186,210,.05) 18px 20px, transparent 20px 38px),
    radial-gradient(circle at 10% 96%, rgba(136,174,72,.14) 0 18%, transparent 18%),
    radial-gradient(circle at 96% 86%, rgba(136,174,72,.12) 0 16%, transparent 16%);
}
.toc-drawer::after{
  content:"✦";
  position:absolute;
  top:22px;
  left:24px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(180deg, #fffbe6, #ffe17e);
  color:#1b7e92;
  border:1px solid rgba(223,183,67,.58);
  box-shadow:0 8px 20px rgba(0,0,0,.09), inset 0 -2px 0 rgba(214,178,74,.35);
  font-size:16px;
  transform:rotate(-10deg);
  pointer-events:none;
}
.toc-drawer .drawer-head{
  position:relative!important;
  padding:0 0 18px!important;
  margin-bottom:10px!important;
  border-bottom:0!important;
  background:none!important;
}
.toc-drawer .drawer-head > div{
  position:relative!important;
  background:linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,255,255,.42))!important;
  border:1px solid rgba(189,226,232,.88)!important;
  border-radius:24px!important;
  padding:16px 18px 14px!important;
  box-shadow:0 12px 26px rgba(7,83,98,.08), inset 0 1px 0 rgba(255,255,255,.65)!important;
}
.toc-drawer .drawer-head > div::after{
  content:"";
  position:absolute;
  right:16px;
  left:16px;
  bottom:-8px;
  height:14px;
  border-radius:50%;
  background:rgba(4,86,103,.06);
  filter:blur(8px);
}
.toc-drawer .drawer-head h2{
  color:#17434b!important;
  font-size:34px!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  margin:2px 0 0!important;
}
.toc-drawer .drawer-head .eyebrow{
  color:#198da6!important;
  font-size:11px!important;
  letter-spacing:.18em!important;
  font-weight:700!important;
}
.toc-drawer .drawer-close{
  width:44px!important;
  height:44px!important;
  border-radius:16px!important;
  border:1px solid rgba(217,182,79,.62)!important;
  background:linear-gradient(180deg, #fffbe9, #ffe17d)!important;
  color:#17677a!important;
  box-shadow:0 8px 18px rgba(0,0,0,.10), inset 0 -2px 0 rgba(214,178,74,.34)!important;
}
.toc-drawer .drawer-close:hover{ transform:translateY(-1px) rotate(-6deg); }

.toc-drawer .library-search-wrap{
  position:relative!important;
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(188,226,233,.98)!important;
  border-radius:18px!important;
  min-height:48px!important;
  padding:0 14px!important;
  box-shadow:0 8px 18px rgba(12,91,106,.06), inset 0 1px 0 rgba(255,255,255,.72)!important;
}
.toc-drawer .library-search-wrap::before{
  content:"⌕";
  font-size:16px;
  color:#198da6;
  line-height:1;
}
.toc-drawer .library-search-wrap input{
  font-size:14px!important;
  color:#1f4b54!important;
  font-weight:600!important;
}
.toc-drawer .library-search-wrap input::placeholder{ color:#75a8b2!important; }

.toc-drawer .library-gates{
  background:rgba(255,255,255,.42)!important;
  border:1px solid rgba(192,229,236,.85)!important;
  border-radius:20px!important;
  padding:10px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5)!important;
}
.toc-drawer .library-tabs{
  background:rgba(26,168,197,.11)!important;
  border:1px solid rgba(192,229,236,.92)!important;
  border-radius:18px!important;
  padding:6px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6)!important;
}
.toc-drawer .library-tab{
  min-height:38px!important;
  border-radius:14px!important;
  background:transparent!important;
  color:#37606a!important;
  font-size:12px!important;
  font-weight:700!important;
}
.toc-drawer .library-tab.active{
  background:linear-gradient(180deg, #fffcef, #ffeaa0)!important;
  color:#1b5561!important;
  border:1px solid rgba(220,188,87,.55)!important;
  box-shadow:0 8px 16px rgba(15,91,106,.10), inset 0 -2px 0 rgba(214,178,74,.24)!important;
}
.toc-drawer .library-tab span{ color:#198da6!important; }

.toc-drawer .toc-list.library-content{
  gap:12px!important;
}
.toc-drawer .toc-item,
.toc-drawer .page-thumb{
  position:relative!important;
  overflow:hidden!important;
  border:1px solid rgba(195,229,234,.95)!important;
  border-radius:20px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(251,255,255,.74))!important;
  box-shadow:0 10px 22px rgba(9,84,100,.08), inset 0 1px 0 rgba(255,255,255,.72)!important;
}
.toc-drawer .toc-item{
  padding:15px 16px 15px 14px!important;
  margin-bottom:10px!important;
  border-bottom:1px solid rgba(195,229,234,.95)!important;
}
.toc-drawer .toc-item::after,
.toc-drawer .page-thumb::after{
  content:"";
  position:absolute;
  inset-inline-start:0;
  top:0;
  bottom:0;
  width:8px;
  background:linear-gradient(180deg, #9ce2ef, #5fc3d7 55%, #8bb64c)!important;
  opacity:.88;
}
.toc-drawer .toc-item::before{
  content:"✦";
  position:absolute;
  inset-inline-end:14px;
  top:14px;
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(180deg, #fffbe8, #ffe17f);
  border:1px solid rgba(223,183,67,.54);
  color:#16798e;
  font-size:12px;
  box-shadow:0 4px 10px rgba(0,0,0,.08);
}
.toc-drawer .toc-item strong,
.toc-drawer .page-thumb strong{
  color:#1c4650!important;
  font-weight:800!important;
}
.toc-drawer .toc-item span,
.toc-drawer .page-thumb small{ color:#68929a!important; }
.toc-drawer .toc-item:hover,
.toc-drawer .page-thumb:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(215,184,84,.56)!important;
  box-shadow:0 14px 26px rgba(9,84,100,.12), inset 0 1px 0 rgba(255,255,255,.78)!important;
}
.toc-drawer .toc-item.current,
.toc-drawer .page-thumb.current{
  background:linear-gradient(180deg, #fffef5, #fff4c7)!important;
  border-color:rgba(223,183,67,.62)!important;
  box-shadow:0 16px 28px rgba(12,91,106,.12), inset 0 -2px 0 rgba(214,178,74,.20)!important;
}
.toc-drawer .toc-item.current::before,
.toc-drawer .page-thumb.current::before{
  background:linear-gradient(180deg, #9ce2ef, #8bb64c)!important;
}
.toc-drawer .drawer-foot{
  border-top:1px dashed rgba(25,141,166,.28)!important;
  color:#6f98a1!important;
}

@media (max-width: 860px){
  .reader-bar .icon-btn,
  .reader-bar .icon-btn.feature-btn{ min-height:38px!important; padding:4px 8px!important; border-radius:14px!important; }
  .reader-bar .icon-btn > span:first-child:not(.label),
  .reader-bar #themeIcon,
  .reader-bar #soundIcon{ width:24px!important; height:24px!important; flex-basis:24px!important; font-size:13px!important; }
  .toc-drawer::after{ left:18px; top:18px; width:30px; height:30px; font-size:14px; }
  .toc-drawer .drawer-head h2{ font-size:30px!important; }
}


/* V14 — major UI polish: cleaner top bar, orderly side drawer, fully themed popups */
:root{
  --pit14-teal-950:#0b5262;
  --pit14-teal-900:#0f687a;
  --pit14-teal-800:#17869b;
  --pit14-teal-300:#c8eef3;
  --pit14-teal-200:#e5fbfe;
  --pit14-cream:#fffdf4;
  --pit14-sand:#fff5cb;
  --pit14-gold:#e0b64d;
  --pit14-leaf:#8cb84a;
  --pit14-ink:#1f4b54;
  --pit14-soft-shadow:0 16px 34px rgba(8,77,93,.12);
}

/* top toolbar */
.reader-bar{
  min-height:54px!important;
  padding:6px 12px!important;
  gap:12px!important;
  background:
    radial-gradient(circle at 12% -35%, rgba(255,255,255,.18), transparent 34%),
    radial-gradient(circle at 88% 0%, rgba(255,231,151,.17), transparent 26%),
    linear-gradient(180deg, rgba(6,73,89,.97), rgba(10,117,139,.92))!important;
  border-bottom:1px solid rgba(202,245,250,.28)!important;
  box-shadow:0 10px 28px rgba(0,36,44,.22)!important;
}
.reader-bar::before{
  content:"";
  position:absolute; inset:0; pointer-events:none; opacity:.30;
  background:
    repeating-linear-gradient(-7deg, transparent 0 18px, rgba(255,255,255,.045) 18px 20px, transparent 20px 38px),
    radial-gradient(circle at 9% 130%, rgba(255,255,255,.17) 0 2px, transparent 3px) 0 0/124px 44px,
    radial-gradient(circle at 72% 140%, rgba(255,255,255,.13) 0 2px, transparent 3px) 0 0/144px 52px;
}
.brand-mini{
  flex:0 0 auto!important;
  gap:8px!important;
  align-items:center!important;
  padding:8px 12px 8px 16px!important;
  border-radius:16px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.06))!important;
  border:1px solid rgba(227,247,249,.18)!important;
  box-shadow:0 10px 24px rgba(0,37,45,.10), inset 0 1px 0 rgba(255,255,255,.12)!important;
}
.brand-mini::after{
  width:20px!important; height:20px!important; inset-inline-end:10px!important;
  transform:translateY(-50%) rotate(-10deg)!important;
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.86), rgba(255,255,255,0) 34%),
    linear-gradient(180deg, #fffbe8, #ffe17c)!important;
  box-shadow:0 6px 14px rgba(0,0,0,.14), inset 0 -2px 0 rgba(214,178,74,.34)!important;
}
.brand-mini strong{color:#f6ffff!important;font-size:15px!important;font-weight:800!important;}
.brand-mini span{color:#d5f4f9!important;font-size:10px!important;}
.reader-actions{
  flex:1 1 auto!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding-bottom:2px!important;
  gap:7px!important;
  scrollbar-width:none;
}
.reader-actions::-webkit-scrollbar{display:none;}
.reader-bar .icon-btn,
.reader-bar .icon-btn.feature-btn{
  flex:0 0 auto!important;
  min-height:42px!important;
  padding:5px 10px!important;
  gap:8px!important;
  border-radius:16px!important;
  border:1px solid rgba(224,245,248,.22)!important;
  background:linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.07))!important;
  color:#f7ffff!important;
  box-shadow:0 9px 18px rgba(0,34,43,.11), inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.reader-bar .icon-btn::before,
.reader-bar .icon-btn::after{content:none!important;}
.reader-bar .icon-btn:hover{
  transform:translateY(-1px)!important;
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.09))!important;
  border-color:rgba(255,244,196,.42)!important;
  box-shadow:0 12px 24px rgba(0,34,43,.15), inset 0 1px 0 rgba(255,255,255,.16)!important;
}
.reader-bar .icon-btn > span:first-child:not(.label),
.reader-bar #themeIcon,
.reader-bar #soundIcon,
.reader-bar .magnifier-toolbar-icon{
  width:28px!important; height:28px!important; min-width:28px!important; flex:0 0 28px!important;
  display:grid!important; place-items:center!important; border-radius:50%!important;
  background:
    radial-gradient(circle at 35% 28%, rgba(255,255,255,.96), rgba(255,255,255,0) 36%),
    linear-gradient(180deg, #fffdf5, #fff3c8)!important;
  color:var(--pit14-ink)!important;
  border:1px solid rgba(224,182,72,.56)!important;
  box-shadow:0 4px 10px rgba(0,0,0,.12), inset 0 -2px 0 rgba(224,182,72,.24)!important;
  transform:none!important;
  font-size:14px!important;
}
.reader-bar .magnifier-toolbar-icon svg{
  width:15px!important; height:15px!important;
  stroke:var(--pit14-ink)!important; fill:none!important; stroke-width:2.2!important;
}
.reader-bar .icon-btn .label{
  white-space:nowrap!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
  color:#f7ffff!important;
  text-shadow:0 1px 0 rgba(0,0,0,.10)!important;
}
.reader-bar .icon-btn.is-active,
.reader-bar .icon-btn[aria-pressed="true"]:not(#soundBtn){
  background:linear-gradient(180deg, rgba(255,244,196,.25), rgba(255,255,255,.08))!important;
  border-color:rgba(255,231,131,.54)!important;
}
.reader-bar .icon-btn.is-active > span:first-child:not(.label),
.reader-bar .icon-btn[aria-pressed="true"]:not(#soundBtn) > span:first-child:not(.label){
  background:linear-gradient(180deg, #fffefb, #ffe790)!important;
}
@media (max-width: 1140px){
  .reader-bar{padding:6px 8px!important; gap:8px!important;}
  .reader-actions{gap:5px!important;}
  .reader-bar .icon-btn,.reader-bar .icon-btn.feature-btn{padding:5px 8px!important;}
  .reader-bar .icon-btn .label{font-size:9px!important;}
}
@media (max-width: 760px){
  .brand-mini{padding:7px 10px!important;}
  .reader-bar .icon-btn,.reader-bar .icon-btn.feature-btn{min-height:38px!important;border-radius:14px!important;}
  .reader-bar .icon-btn > span:first-child:not(.label),
  .reader-bar #themeIcon,
  .reader-bar #soundIcon,
  .reader-bar .magnifier-toolbar-icon{width:24px!important;height:24px!important;min-width:24px!important;}
}

/* contents drawer reorganization */
.toc-drawer,
.toc-drawer.library-drawer,
.contact-drawer{
  background:
    radial-gradient(circle at 82% 8%, rgba(255,236,162,.28), transparent 22%),
    radial-gradient(circle at 8% 10%, rgba(105,214,235,.13), transparent 22%),
    linear-gradient(180deg, #f7fcfc 0%, #eef9fb 44%, #eaf7fa 100%)!important;
  color:#1b4850!important;
  border-left:1px solid rgba(24,141,166,.14)!important;
}
.toc-drawer,
.toc-drawer.library-drawer{
  width:min(450px,94vw)!important;
  padding:26px 22px 20px!important;
}
.toc-drawer::after{content:none!important;}
.toc-drawer::before,
.contact-drawer::before,
.about-author-modal::before,
.install-help-modal::before,
.nishba-draft-modal::before{
  content:"";
  position:absolute; inset:0; pointer-events:none; opacity:.30;
  background:repeating-linear-gradient(-8deg, transparent 0 18px, rgba(65,177,197,.04) 18px 20px, transparent 20px 40px);
}
.toc-drawer .drawer-head,
.contact-drawer .drawer-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:14px!important;
  padding:0 0 16px!important;
  margin-bottom:12px!important;
  border-bottom:1px solid rgba(34,151,174,.16)!important;
  background:none!important;
}
.toc-drawer .drawer-head > div,
.contact-drawer .drawer-head > div{
  min-width:0!important;
  background:linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,255,255,.58))!important;
  border:1px solid rgba(193,230,236,.94)!important;
  border-radius:22px!important;
  padding:15px 16px!important;
  box-shadow:var(--pit14-soft-shadow), inset 0 1px 0 rgba(255,255,255,.68)!important;
}
.toc-drawer .drawer-head > div::after,
.contact-drawer .drawer-head > div::after{content:none!important;}
.toc-drawer .drawer-head h2,
.contact-drawer h2{
  margin:2px 0 0!important;
  font-size:30px!important;
  line-height:1.06!important;
  font-weight:800!important;
  color:#17464d!important;
}
.toc-drawer .drawer-head .eyebrow,
.contact-drawer .drawer-head .eyebrow,
.about-author-head .eyebrow,
.install-help-head small,
.nishba-draft-eyebrow{color:#198da6!important;font-weight:800!important;letter-spacing:.14em!important;}
.toc-drawer .drawer-close,
.contact-drawer .drawer-close,
.about-author-modal .drawer-close,
.install-help-modal .drawer-close,
.media-close,
.nishba-draft-close{
  width:42px!important;height:42px!important;min-width:42px!important;
  border-radius:14px!important;
  border:1px solid rgba(224,182,72,.56)!important;
  background:linear-gradient(180deg, #fffdf3, #ffe58b)!important;
  color:#166d80!important;
  box-shadow:0 8px 18px rgba(0,0,0,.10), inset 0 -2px 0 rgba(224,182,72,.22)!important;
}
.toc-drawer .drawer-close:hover,
.contact-drawer .drawer-close:hover,
.about-author-modal .drawer-close:hover,
.install-help-modal .drawer-close:hover,
.media-close:hover,
.nishba-draft-close:hover{transform:translateY(-1px)!important;}
.toc-drawer .library-search-wrap{
  min-height:50px!important;
  border-radius:18px!important;
  padding:0 14px!important;
  margin:14px 0 12px!important;
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(193,230,236,.95)!important;
  box-shadow:var(--pit14-soft-shadow), inset 0 1px 0 rgba(255,255,255,.72)!important;
}
.toc-drawer .library-search-wrap::before,
.toc-drawer .library-search-wrap > span{color:#198da6!important;font-size:16px!important;}
.toc-drawer .library-search-wrap input{font-size:14px!important;font-weight:700!important;color:#204b53!important;}
.toc-drawer .library-gates{
  grid-template-columns:repeat(auto-fit,minmax(76px,1fr))!important;
  gap:8px!important;
  margin:8px 0 14px!important;
  background:rgba(255,255,255,.40)!important;
  border:1px solid rgba(193,230,236,.82)!important;
  border-radius:18px!important;
  padding:10px!important;
}
.toc-drawer .library-gate-chip{
  min-height:54px!important;
  border-radius:16px!important;
  border:1px solid rgba(187,224,230,.9)!important;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(245,252,253,.84))!important;
  box-shadow:0 6px 16px rgba(7,83,98,.06)!important;
}
.toc-drawer .library-gate-chip b{font-size:13px!important;}
.toc-drawer .library-gate-chip span{font-size:10px!important;}
.toc-drawer .library-tabs{
  margin-bottom:12px!important;
  padding:6px!important;
  border-radius:18px!important;
  background:rgba(25,141,166,.10)!important;
  border:1px solid rgba(193,230,236,.92)!important;
}
.toc-drawer .library-tab{
  min-height:40px!important;
  border-radius:14px!important;
  border:1px solid transparent!important;
  color:#4d6b72!important;
  font-size:12px!important;
  font-weight:800!important;
}
.toc-drawer .library-tab.active{
  background:linear-gradient(180deg, #fffdf4, #ffe9a7)!important;
  border-color:rgba(224,182,72,.5)!important;
  color:#1e5560!important;
  box-shadow:0 8px 16px rgba(11,93,108,.10)!important;
}
.toc-drawer .library-status{
  margin:0 0 10px!important;
  padding:0 4px!important;
  color:#6c9198!important;
  font-size:12px!important;
}
.toc-drawer .toc-list.library-content{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  padding:3px 1px 6px!important;
}
.toc-drawer .toc-item,
.toc-drawer .page-thumb{
  position:relative!important;
  overflow:hidden!important;
  border:1px solid rgba(194,230,235,.96)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,253,253,.86))!important;
  box-shadow:0 10px 20px rgba(8,77,93,.08), inset 0 1px 0 rgba(255,255,255,.72)!important;
}
.toc-drawer .toc-item{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:14px 16px 14px 14px!important;
  margin:0!important;
  border-bottom:1px solid rgba(194,230,235,.96)!important;
}
.toc-drawer .toc-item::before,
.toc-drawer .page-thumb::after{content:none!important;}
.toc-drawer .toc-item::after,
.toc-drawer .page-thumb::before{
  content:"";
  position:absolute;
  inset-inline-start:0;
  top:0; bottom:0;
  width:7px;
  background:linear-gradient(180deg, #93deed, #59bfd5 58%, #92b84a)!important;
  opacity:.95;
}
.toc-drawer .toc-item strong,
.toc-drawer .page-thumb strong{
  display:block!important;
  padding-inline-start:8px!important;
  font-size:18px!important;
  line-height:1.14!important;
  color:#1e4a54!important;
}
.toc-drawer .toc-item span,
.toc-drawer .page-thumb small{
  display:block!important;
  padding-inline-start:8px!important;
  color:#6f96a0!important;
  font-size:11px!important;
}
.toc-drawer .toc-item:hover,
.toc-drawer .page-thumb:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(224,182,72,.46)!important;
  box-shadow:0 14px 28px rgba(8,77,93,.12), inset 0 1px 0 rgba(255,255,255,.76)!important;
}
.toc-drawer .toc-item.current,
.toc-drawer .page-thumb.current{
  background:linear-gradient(180deg, #fffef7, #fff4c8)!important;
  border-color:rgba(224,182,72,.56)!important;
  box-shadow:0 14px 28px rgba(8,77,93,.12), inset 0 -2px 0 rgba(224,182,72,.18)!important;
}
.toc-drawer .toc-item.current::before,
.toc-drawer .page-thumb.current::after{content:none!important;}
.toc-drawer .page-thumb{
  min-height:154px!important;
  padding:14px!important;
}
.toc-drawer .page-thumb::before{
  width:6px!important; inset-inline-start:0!important; inset-block:0!important;
  mask:none!important; -webkit-mask-image:none!important; filter:none!important; opacity:1!important;
}
.toc-drawer .page-thumb .thumb-badge,
.toc-drawer .page-thumb.current .thumb-badge{display:none!important;}
.toc-drawer .drawer-foot{
  margin-top:12px!important;
  padding-top:12px!important;
  border-top:1px dashed rgba(25,141,166,.28)!important;
  color:#6f98a1!important;
  font-size:12px!important;
}

/* themed popups */
.modal-backdrop{
  background:rgba(6,63,76,.48)!important;
  backdrop-filter:blur(7px) saturate(1.06)!important;
}
.about-author-modal,
.contact-drawer,
.install-help-modal,
.nishba-draft-modal{
  border-radius:26px!important;
  border:1px solid rgba(188,227,233,.95)!important;
  background:
    radial-gradient(circle at 82% 10%, rgba(255,238,176,.24), transparent 20%),
    linear-gradient(180deg, #ffffff 0%, #f6fcfd 44%, #eef9fb 100%)!important;
  color:#234850!important;
  box-shadow:0 28px 86px rgba(0,41,49,.24)!important;
}
.about-author-head,
.install-help-head,
.nishba-draft-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:14px!important;
  padding-bottom:16px!important;
  border-bottom:1px solid rgba(24,141,166,.16)!important;
}
.about-author-head h2,
.install-help-head h2,
.nishba-draft-head h2{
  margin:3px 0 0!important;
  font:800 29px/1.08 "Assistant",Arial,sans-serif!important;
  color:#17464d!important;
}
.about-author-body,
.install-help-body,
.nishba-draft-body{padding-top:18px!important;}
.about-author-layout{
  display:grid!important;
  grid-template-columns:180px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
}
.about-author-figure{
  margin:0!important;
  padding:10px!important;
  border-radius:22px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(245,252,253,.88))!important;
  border:1px solid rgba(192,229,235,.9)!important;
  box-shadow:var(--pit14-soft-shadow)!important;
}
.about-author-figure img{
  border-radius:18px!important;
  border:3px solid rgba(255,243,194,.8)!important;
}
.about-author-figure figcaption strong{color:#1c4952!important;}
.about-author-figure figcaption span,
.about-author-copy p,
.install-help-body p,
.install-help-body > small,
.nishba-draft-story-line{color:#587a83!important;}
.about-author-copy p,
.install-help-body p,
.nishba-draft-story-line{font-size:15px!important; line-height:1.72!important;}
.contact-direct{
  position:relative!important;
  padding:16px 2px 4px!important;
}
.contact-person-mark{
  width:62px!important;height:62px!important;border-radius:22px!important;
  background:linear-gradient(180deg, #fffdf2, #ffe38a)!important;
  color:#16697a!important;
  border:1px solid rgba(224,182,72,.56)!important;
  box-shadow:0 12px 22px rgba(8,77,93,.10), inset 0 -2px 0 rgba(224,182,72,.22)!important;
}
.contact-direct-intro strong{font-size:26px!important;color:#17464d!important;}
.contact-direct-intro span,
.contact-drawer p{color:#64848c!important;}
.contact-direct-cards{
  display:grid!important; gap:10px!important; margin-top:14px!important;
}
.contact-direct-card{
  border-radius:18px!important;
  border:1px solid rgba(193,230,236,.95)!important;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(245,252,253,.84))!important;
  box-shadow:var(--pit14-soft-shadow)!important;
}
.contact-direct-icon{
  width:44px!important; height:44px!important; border-radius:16px!important;
  background:linear-gradient(180deg, #fffdf3, #ffe38c)!important;
  color:#14687a!important;
  border:1px solid rgba(224,182,72,.56)!important;
}
.contact-direct-card small{color:#7a9ba1!important;}
.contact-direct-card b{color:#1f4c56!important;}
.contact-whatsapp{
  margin-top:16px!important;
  min-height:54px!important;
  border-radius:18px!important;
  background:linear-gradient(180deg, #22c88c, #179f70)!important;
  box-shadow:0 14px 24px rgba(23,159,112,.24)!important;
}
.contact-whatsapp span{
  width:32px!important; height:32px!important; border-radius:50%!important;
  background:rgba(255,255,255,.2)!important; display:grid!important; place-items:center!important;
}
.media-panel{
  border-radius:22px!important;
  border:1px solid rgba(194,230,235,.88)!important;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(242,251,253,.96))!important;
  box-shadow:0 26px 70px rgba(0,41,49,.24)!important;
  color:#1e4b54!important;
}
.media-panel-head{
  min-height:58px!important;
  padding:10px 12px 10px 14px!important;
  background:linear-gradient(180deg, #f9feff, #ecf8fa)!important;
  border-bottom:1px solid rgba(193,230,236,.9)!important;
}
.media-panel-head small{color:#6f97a0!important;font-size:10px!important;}
.media-panel-head strong{font-size:18px!important;color:#18474f!important;font-weight:800!important;}
.media-frame-wrap{background:#dff2f6!important;}
.media-frame-wrap iframe{border-radius:0 0 20px 20px!important;}
.install-help-body p strong,
.about-author-copy strong,
.nishba-draft-story strong{color:#1b5560!important;}
.nishba-draft-story,
.nishba-draft-photo-frame{
  border-radius:20px!important;
  border:1px solid rgba(193,230,236,.9)!important;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(245,252,253,.88))!important;
  box-shadow:var(--pit14-soft-shadow)!important;
}
.nishba-draft-story::before{background:linear-gradient(180deg, #9ce2ef, #7ac7d8 56%, #95ba4d)!important;}

@media (max-width: 720px){
  .toc-drawer,
  .toc-drawer.library-drawer,
  .contact-drawer{padding:22px 16px 16px!important;}
  .toc-drawer .drawer-head h2,
  .contact-drawer h2,
  .about-author-head h2,
  .install-help-head h2,
  .nishba-draft-head h2{font-size:26px!important;}
  .about-author-layout{grid-template-columns:1fr!important;}
  .about-author-figure{max-width:280px!important;margin:0 auto!important;}
}


/* V15 — toolbar cleanup, drawer refinement, developer credit readability, page trim alignment */
:root{
  --pit15-cream:#fbf7ea;
  --pit15-sand:#f1dd9d;
  --pit15-gold:#cfa346;
  --pit15-teal:#0f6e82;
  --pit15-teal-deep:#0c5565;
  --pit15-ink:#1f4952;
}

/* Top bar: move action icons to the LEFT, brand to the RIGHT */
.reader-bar{
  direction:ltr!important;
  min-height:56px!important;
  gap:10px!important;
  padding:6px 10px!important;
}
.reader-actions{
  order:1!important;
  direction:rtl!important;
  justify-content:flex-start!important;
  margin-inline-end:auto!important;
  margin-inline-start:0!important;
  padding-inline-end:2px!important;
}
.brand-mini{
  order:2!important;
  direction:rtl!important;
  margin-inline-start:auto!important;
  margin-inline-end:0!important;
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04))!important;
}
.brand-mini strong{font-size:15.5px!important;}
.brand-mini span{font-size:10.5px!important;}

/* Remove the requested controls from the top toolbar */
#themeBtn,
#cleanReadingBtn,
#soundBtn{display:none!important;}

/* Improve toolbar buttons and mute the yellow tone */
.reader-bar .icon-btn,
.reader-bar .icon-btn.feature-btn{
  min-height:42px!important;
  border-radius:16px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.05))!important;
  border:1px solid rgba(221,242,245,.20)!important;
  box-shadow:0 10px 20px rgba(0,36,44,.10), inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.reader-bar .icon-btn:hover{
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.08))!important;
}
.reader-bar .icon-btn > span:first-child:not(.label),
.reader-bar #themeIcon,
.reader-bar #soundIcon,
.reader-bar .magnifier-toolbar-icon{
  background:
    radial-gradient(circle at 35% 28%, rgba(255,255,255,.88), rgba(255,255,255,0) 36%),
    linear-gradient(180deg, #fdf8e8, #efdfad)!important;
  border:1px solid rgba(205,166,76,.44)!important;
  box-shadow:0 4px 10px rgba(0,0,0,.11), inset 0 -2px 0 rgba(207,163,70,.16)!important;
  color:var(--pit15-ink)!important;
}
.reader-bar .magnifier-toolbar-icon svg{stroke:var(--pit15-ink)!important;}
.reader-bar .icon-btn .label{
  font-size:10px!important;
  font-weight:800!important;
}
@media (max-width: 840px){
  .reader-bar{padding:6px 8px!important;}
  .reader-bar .icon-btn,.reader-bar .icon-btn.feature-btn{padding:5px 8px!important;}
}

/* Developer credit: black and 15% larger */
.global-site-credit,
.site-credit{
  color:#111!important;
  font-size:11.5px!important;
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(0,0,0,.08)!important;
  border-radius:999px!important;
  padding:4px 10px!important;
  box-shadow:0 6px 20px rgba(0,0,0,.08)!important;
}
.global-site-credit .site-credit-link,
.site-credit .site-credit-link,
.site-credit a{color:#000!important;border-bottom-color:rgba(0,0,0,.28)!important;}

/* Side contents drawer — cleaner, better spacing, no overlaps */
.toc-drawer,
.toc-drawer.library-drawer{
  width:min(470px,95vw)!important;
  padding:22px 18px 16px!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
}
.toc-drawer .drawer-head{
  position:sticky!important;
  top:-6px!important;
  z-index:5!important;
  padding-top:6px!important;
  background:linear-gradient(180deg, rgba(247,252,252,.98), rgba(247,252,252,.92), rgba(247,252,252,.72), rgba(247,252,252,0))!important;
  backdrop-filter:blur(2px)!important;
}
.toc-drawer .drawer-head > div{
  padding:14px 15px!important;
  border-radius:20px!important;
}
.toc-drawer .drawer-head h2{font-size:28px!important;}
.toc-drawer .library-search-wrap{margin-top:10px!important;margin-bottom:10px!important;}
.toc-drawer .library-gates{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  margin-bottom:12px!important;
}
.toc-drawer .library-tabs{margin-bottom:10px!important;}
.toc-drawer .toc-list.library-content{gap:9px!important;padding-bottom:10px!important;}
.toc-drawer .toc-item,
.toc-drawer .page-thumb{
  border-radius:17px!important;
}
.toc-drawer .toc-item{
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start!important;
  padding:13px 15px 13px 13px!important;
}
.toc-drawer .toc-item strong,
.toc-drawer .page-thumb strong{
  font-size:17px!important;
  line-height:1.15!important;
}
.toc-drawer .toc-item span,
.toc-drawer .page-thumb small{
  font-size:11px!important;
  line-height:1.4!important;
}
.toc-drawer .drawer-foot{
  position:sticky!important;
  bottom:-1px!important;
  background:linear-gradient(180deg, rgba(247,252,252,0), rgba(247,252,252,.86) 36%, rgba(247,252,252,.98))!important;
  padding-bottom:4px!important;
}
@media (max-width: 640px){
  .toc-drawer,
  .toc-drawer.library-drawer{padding:18px 14px 12px!important;}
  .toc-drawer .library-gates{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}

/* Keep themed popups consistent and slightly more polished */
.about-author-modal,
.contact-drawer,
.install-help-modal,
.media-panel,
.nishba-draft-modal{
  box-shadow:0 30px 90px rgba(0,41,49,.26)!important;
}
.about-author-head h2,
.install-help-head h2,
.nishba-draft-head h2,
.contact-drawer h2{font-size:30px!important;}

/* Exact trimmed page rendering */
.book-wrap.pageflip-wrap,
.pageflip-wrap{
  aspect-ratio:1950 / 1359!important;
}
#book.pageflip-book,
#book.exact-spread-book{
  aspect-ratio:1950 / 1359!important;
}
.book-page-image,
#book.exact-spread-book .book-page-image,
#book.exact-spread-book .exact-sheet .book-page-image,
.mobile-reading-page-image{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#fff!important;
}
.poem-page.has-page-image,
#book.exact-spread-book .exact-sheet .poem-page.has-page-image{
  background:#fff!important;
}


/* V16 — final toolbar positioning, centered image pages, cleaner modern drawer */
.reader-bar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  direction:ltr!important;
  min-height:58px!important;
  padding:6px 12px!important;
  background:
    radial-gradient(circle at 14% -30%, rgba(255,255,255,.17), transparent 34%),
    radial-gradient(circle at 86% 0%, rgba(122,225,244,.10), transparent 24%),
    linear-gradient(180deg, rgba(5,70,85,.98), rgba(12,120,143,.94))!important;
}
.reader-actions{
  grid-column:1!important;
  order:1!important;
  justify-self:start!important;
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:7px!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  margin:0!important;
  padding:0 0 2px!important;
  direction:rtl!important;
  scrollbar-width:none!important;
}
.reader-actions::-webkit-scrollbar{display:none!important;}
.brand-mini{
  grid-column:2!important;
  order:2!important;
  justify-self:end!important;
  align-self:center!important;
  flex:0 0 auto!important;
  max-width:min(34vw, 270px)!important;
  margin:0!important;
  padding:8px 14px 8px 18px!important;
  border-radius:18px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.05))!important;
  border:1px solid rgba(226,247,250,.20)!important;
  box-shadow:0 12px 24px rgba(0,36,45,.12), inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.brand-mini strong{display:block!important;font-size:16px!important;line-height:1.03!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.brand-mini span{display:block!important;font-size:10.5px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.reader-bar .icon-btn,
.reader-bar .icon-btn.feature-btn{
  min-height:42px!important;
  padding:5px 9px!important;
  gap:8px!important;
  border-radius:15px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.05))!important;
  border:1px solid rgba(223,244,247,.18)!important;
  box-shadow:0 8px 18px rgba(0,29,35,.11), inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.reader-bar .icon-btn:hover{
  transform:translateY(-1px)!important;
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.08))!important;
  border-color:rgba(255,255,255,.24)!important;
}
.reader-bar .icon-btn > span:first-child:not(.label),
.reader-bar .magnifier-toolbar-icon{
  width:28px!important;height:28px!important;min-width:28px!important;
  background:
    radial-gradient(circle at 35% 28%, rgba(255,255,255,.92), rgba(255,255,255,0) 36%),
    linear-gradient(180deg, #fbf8ec, #e8d9a9)!important;
  border:1px solid rgba(199,159,72,.38)!important;
  box-shadow:0 4px 10px rgba(0,0,0,.10), inset 0 -2px 0 rgba(199,159,72,.14)!important;
  color:#214851!important;
}
.reader-bar .icon-btn .label{font-size:10px!important;font-weight:800!important;line-height:1!important;}
.about-author-btn .label{max-width:110px!important;overflow:hidden!important;text-overflow:ellipsis!important;}
@media (max-width: 980px){
  .reader-bar{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;padding:6px 8px!important;}
  .brand-mini{max-width:190px!important;padding:8px 12px 8px 16px!important;}
  .reader-bar .icon-btn,.reader-bar .icon-btn.feature-btn{padding:5px 8px!important;}
}
@media (max-width: 720px){
  .reader-bar{grid-template-columns:1fr!important;align-items:stretch!important;}
  .reader-actions{grid-column:1!important;order:2!important;justify-self:stretch!important;}
  .brand-mini{grid-column:1!important;order:1!important;justify-self:end!important;max-width:100%!important;}
}

/* Full clickable credit */
.full-credit-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  text-decoration:none!important;
}
.full-credit-link strong{color:#000!important;font-weight:800!important;}
.full-credit-link:hover{opacity:.92!important;transform:translateY(-1px)!important;}
.full-credit-link:hover strong{text-decoration:underline!important;}

/* More modern right-side contents drawer */
.toc-drawer,
.toc-drawer.library-drawer{
  background:
    radial-gradient(circle at 88% 9%, rgba(255,237,172,.20), transparent 18%),
    radial-gradient(circle at 12% 12%, rgba(120,215,235,.10), transparent 20%),
    linear-gradient(180deg, #fbfefe 0%, #f2fbfd 42%, #edf9fb 100%)!important;
  box-shadow:-30px 0 76px rgba(0,52,63,.18)!important;
}
.toc-drawer .drawer-head > div{
  border-radius:22px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.68))!important;
  box-shadow:0 12px 30px rgba(8,77,93,.08), inset 0 1px 0 rgba(255,255,255,.75)!important;
}
.toc-drawer .library-gate-chip,
.toc-drawer .toc-item,
.toc-drawer .page-thumb,
.toc-drawer .library-tab.active{
  box-shadow:0 10px 22px rgba(10,88,104,.08)!important;
}
.toc-drawer .library-gate-chip{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,252,253,.90))!important;
}
.toc-drawer .toc-item,
.toc-drawer .page-thumb{
  border-radius:18px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(247,252,253,.90))!important;
}
.toc-drawer .toc-item strong,
.toc-drawer .page-thumb strong{font-size:17.5px!important;}
.toc-drawer .toc-item.current,
.toc-drawer .page-thumb.current{
  background:linear-gradient(180deg, #fffef9, #fff4cf)!important;
}

/* Image pages: center perfectly and remove all remnants */
.poem-page.has-page-image,
#book.exact-spread-book .exact-sheet .poem-page.has-page-image{
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
}
.poem-page.has-page-image .poem-inner,
#book.exact-spread-book .exact-sheet .poem-page.has-page-image .poem-inner{
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
.poem-page.has-page-image .poem-body,
#book.exact-spread-book .exact-sheet .poem-page.has-page-image .poem-body{
  width:100%!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
}
.poem-page.has-page-image .book-page-image,
#book.exact-spread-book .book-page-image,
#book.exact-spread-book .exact-sheet .book-page-image,
.mobile-reading-page-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:auto!important;
  background:#fff!important;
}
.poem-page.has-page-image .page-number,
.poem-page.has-page-image .running-head,
.poem-page.has-page-image .gate-label,
.poem-page.has-page-image .title-rule,
.poem-page.has-page-image .illustration-fade,
.poem-page.has-page-image .page-share,
.poem-page.has-page-image .page-favorite,
#book.exact-spread-book .exact-sheet .poem-page.has-page-image .page-number,
#book.exact-spread-book .exact-sheet .poem-page.has-page-image .running-head,
#book.exact-spread-book .exact-sheet .poem-page.has-page-image .gate-label,
#book.exact-spread-book .exact-sheet .poem-page.has-page-image .title-rule,
#book.exact-spread-book .exact-sheet .poem-page.has-page-image .illustration-fade,
#book.exact-spread-book .exact-sheet .poem-page.has-page-image .page-share,
#book.exact-spread-book .exact-sheet .poem-page.has-page-image .page-favorite{
  display:none!important;
}
/* remove any decorative carryover lines on image pages */
.poem-page.has-page-image::before,
.poem-page.has-page-image::after{display:none!important;content:none!important;}


/* V27 — clean book/author identity in the top-right corner */
.brand-mini{
  background:none!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
  gap:2px!important;
}
.brand-mini::before,
.brand-mini::after{
  content:none!important;
  display:none!important;
}
.brand-mini strong,
.brand-mini span{
  display:block!important;
  font-size:15px!important;
  line-height:1.12!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  letter-spacing:0!important;
}
.brand-mini strong{
  font-weight:800!important;
}
.brand-mini span{
  font-weight:400!important;
}
@media (max-width:980px){
  .brand-mini{padding:0!important;}
}
@media (max-width:720px){
  .brand-mini{padding:0!important;}
}


/* V28 — cleaner toolbar icons, larger labels, navigation attached to book edges */

/* Modern cool-glass toolbar icons: remove the yellow/cream discs entirely. */
.reader-bar .icon-btn,
.reader-bar .icon-btn.feature-btn{
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(215,247,252,.14)!important;
  box-shadow:none!important;
  padding:5px 10px!important;
  gap:7px!important;
}
.reader-bar .icon-btn:hover,
.reader-bar .icon-btn.feature-btn:hover{
  background:rgba(205,245,251,.11)!important;
  border-color:rgba(218,250,255,.25)!important;
  box-shadow:0 7px 18px rgba(0,37,46,.10)!important;
}

.reader-bar .icon-btn > span:first-child:not(.label),
.reader-bar .magnifier-toolbar-icon{
  width:29px!important;
  height:29px!important;
  min-width:29px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,rgba(218,249,253,.12),rgba(180,232,241,.055))!important;
  border:1px solid rgba(215,248,252,.17)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10)!important;
  color:#eafcff!important;
  text-shadow:none!important;
  font-size:17px!important;
  font-weight:600!important;
}
.reader-bar .magnifier-toolbar-icon svg{
  width:17px!important;
  height:17px!important;
  stroke:#eafcff!important;
  fill:none!important;
}

/* Active state is cyan/white instead of gold. */
.reader-bar .icon-btn.is-active,
.reader-bar .icon-btn[aria-pressed="true"]:not(#soundBtn){
  background:rgba(174,235,246,.14)!important;
  border-color:rgba(205,247,253,.31)!important;
  color:#f3fdff!important;
}
.reader-bar .icon-btn.is-active > span:first-child:not(.label),
.reader-bar .icon-btn[aria-pressed="true"]:not(#soundBtn) > span:first-child:not(.label){
  background:rgba(210,249,254,.17)!important;
  border-color:rgba(220,251,255,.29)!important;
  color:#fff!important;
}

/* Make every button name easier to read. */
.reader-bar .icon-btn .label{
  font-size:12px!important;
  line-height:1.05!important;
  font-weight:700!important;
  letter-spacing:0!important;
  color:#edfafd!important;
  white-space:nowrap!important;
}
.about-author-btn .label{
  max-width:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

/* Desktop/tablet: keep the two page-turn arrows physically beside the book,
   instead of at the far sides of the viewport. */
@media (min-width:681px){
  .reader-scene{
    grid-template-columns:40px auto 40px!important;
    grid-template-areas:"next book prev"!important;
    justify-content:center!important;
    justify-items:center!important;
    column-gap:2px!important;
  }
  .book-wrap.pageflip-wrap,
  .pageflip-wrap{
    grid-area:book!important;
  }
  .nav-hit,
  .nav-next,
  .nav-prev{
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    margin:0!important;
  }
  .nav-next{
    grid-area:next!important;
    justify-self:end!important;
    margin-right:0!important;
    margin-left:0!important;
  }
  .nav-prev{
    grid-area:prev!important;
    justify-self:start!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* Slightly tighter toolbar on medium widths, while preserving the larger names. */
@media (max-width:1100px) and (min-width:721px){
  .reader-actions{gap:5px!important;}
  .reader-bar .icon-btn,
  .reader-bar .icon-btn.feature-btn{padding:5px 8px!important;gap:5px!important;}
  .reader-bar .icon-btn .label{font-size:11px!important;}
  .reader-bar .icon-btn > span:first-child:not(.label),
  .reader-bar .magnifier-toolbar-icon{
    width:27px!important;height:27px!important;min-width:27px!important;
  }
}


/* ==========================================================================
   V29 — restrained physical-book polish
   No animation or transformation is applied to the printed illustrations.
   ========================================================================== */

/* 1–2. Realer thickness + cleaner central spine */
.pageflip-wrap{
  isolation:isolate!important;
}
.pageflip-mirror{
  position:relative!important;
  z-index:3!important;
}
.book-page-stack{
  position:absolute;
  pointer-events:none;
  z-index:1;
  opacity:.72;
}
.book-page-stack-bottom{
  left:2.2%;
  right:2.2%;
  bottom:-6px;
  height:8px;
  border-radius:0 0 8px 8px;
  background:
    repeating-linear-gradient(180deg,
      rgba(255,255,255,.82) 0 1px,
      rgba(205,203,191,.55) 1px 2px,
      rgba(245,243,235,.90) 2px 3px);
  box-shadow:0 5px 9px rgba(0,24,30,.17);
}
.book-page-stack-left,
.book-page-stack-right{
  top:2.4%;
  bottom:2.4%;
  width:6px;
  background:
    repeating-linear-gradient(90deg,
      rgba(247,246,239,.92) 0 1px,
      rgba(194,193,184,.50) 1px 2px,
      rgba(251,250,244,.88) 2px 3px);
}
.book-page-stack-left{
  left:-4px;
  border-radius:6px 0 0 6px;
  box-shadow:-3px 1px 7px rgba(0,24,30,.10);
}
.book-page-stack-right{
  right:-4px;
  border-radius:0 6px 6px 0;
  box-shadow:3px 1px 7px rgba(0,24,30,.10);
}

/* Existing PageFlip spine, refined rather than replaced. */
.pageflip-wrap::before{
  width:15px!important;
  top:1.4%!important;
  bottom:1.5%!important;
  opacity:.56!important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(30,45,43,.04) 13%,
    rgba(58,58,49,.13) 34%,
    rgba(255,255,255,.20) 50%,
    rgba(61,59,49,.11) 66%,
    rgba(30,45,43,.03) 87%,
    transparent 100%)!important;
  filter:blur(.35px)!important;
}
.reader.page-folding .pageflip-wrap::before{
  opacity:.70!important;
}

/* 3. Toolbar relaxes after inactivity, but never disappears in normal reading. */
.reader-bar{
  transition:opacity .42s ease, transform .42s ease, background .28s ease, filter .42s ease!important;
}
.reader.ui-resting .reader-bar{
  opacity:.67!important;
  transform:translateY(-1px)!important;
  filter:saturate(.88)!important;
}
.reader.ui-resting .reader-footer{
  opacity:.80!important;
}
.reader.ui-resting .nav-hit{
  opacity:.80!important;
}
.reader-bar:hover,
.reader-bar:focus-within{
  opacity:1!important;
  filter:none!important;
}

/* 4. Short-lived song progress feedback after a page turn. */
.song-progress-pop{
  position:absolute;
  z-index:80;
  left:50%;
  bottom:34px;
  transform:translate(-50%,8px);
  min-width:128px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  padding:6px 12px 7px;
  border:1px solid rgba(211,244,249,.15);
  border-radius:999px;
  background:rgba(5,67,80,.72);
  color:#edfafd;
  box-shadow:0 9px 24px rgba(0,36,44,.16);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
  opacity:0;
  pointer-events:none;
  transition:opacity .28s ease, transform .32s ease;
}
.song-progress-pop.show{
  opacity:.92;
  transform:translate(-50%,0);
}
.song-progress-pop span{
  font-size:10.5px;
  font-weight:700;
  line-height:1;
}
.song-progress-pop i{
  display:block;
  width:86px;
  height:2px;
  overflow:hidden;
  border-radius:99px;
  background:rgba(255,255,255,.16);
}
.song-progress-pop i b{
  display:block;
  height:100%;
  width:0;
  border-radius:inherit;
  background:#bdebf2;
  transition:width .35s ease;
}

/* 5. Page corners: only a tiny physical lift when the cursor is truly at a corner. */
.page-corner-lift{
  position:absolute;
  z-index:72;
  width:23px;
  height:23px;
  pointer-events:none;
  opacity:0;
  transition:opacity .16s ease, transform .18s ease;
  filter:drop-shadow(0 3px 4px rgba(0,29,35,.12));
}
.corner-left-top{
  left:-1px; top:-1px;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(221,220,209,.60) 56%,transparent 58%);
  clip-path:polygon(0 0,100% 0,0 100%);
  transform:translate(-2px,-2px) scale(.84);
}
.corner-left-bottom{
  left:-1px; bottom:-1px;
  background:linear-gradient(45deg,rgba(255,255,255,.94),rgba(221,220,209,.60) 56%,transparent 58%);
  clip-path:polygon(0 0,0 100%,100% 100%);
  transform:translate(-2px,2px) scale(.84);
}
.corner-right-top{
  right:-1px; top:-1px;
  background:linear-gradient(225deg,rgba(255,255,255,.94),rgba(221,220,209,.60) 56%,transparent 58%);
  clip-path:polygon(100% 0,0 0,100% 100%);
  transform:translate(2px,-2px) scale(.84);
}
.corner-right-bottom{
  right:-1px; bottom:-1px;
  background:linear-gradient(315deg,rgba(255,255,255,.94),rgba(221,220,209,.60) 56%,transparent 58%);
  clip-path:polygon(100% 0,0 100%,100% 100%);
  transform:translate(2px,2px) scale(.84);
}
.pageflip-wrap[data-corner-lift="left-top"] .corner-left-top,
.pageflip-wrap[data-corner-lift="left-bottom"] .corner-left-bottom,
.pageflip-wrap[data-corner-lift="right-top"] .corner-right-top,
.pageflip-wrap[data-corner-lift="right-bottom"] .corner-right-bottom{
  opacity:.86;
  transform:translate(0,0) scale(1);
}

/* 6. Double-click / double-tap opens a clean whole-page view. */
.page-zoom-overlay{
  position:fixed;
  z-index:220;
  inset:0;
  display:grid;
  grid-template-rows:1fr auto auto;
  place-items:center;
  gap:6px;
  padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));
  background:rgba(2,31,38,.90);
  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease, visibility .22s ease;
}
.page-zoom-overlay.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.page-zoom-stage{
  min-height:0;
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
}
.page-zoom-stage img{
  display:block;
  width:auto;
  height:auto;
  max-width:min(94vw,980px);
  max-height:calc(100dvh - 74px);
  object-fit:contain;
  background:#fff;
  box-shadow:0 26px 70px rgba(0,0,0,.42);
  border-radius:3px;
  user-select:none;
  -webkit-user-drag:none;
}
.page-zoom-close{
  position:fixed;
  z-index:2;
  top:max(10px,env(safe-area-inset-top));
  left:max(10px,env(safe-area-inset-left));
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:12px;
  background:rgba(255,255,255,.09);
  color:#fff;
  font-size:25px;
  line-height:1;
  cursor:pointer;
}
.page-zoom-caption{
  max-width:min(86vw,760px);
  color:#eefafd;
  font-size:11px;
  font-weight:650;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.page-zoom-hint{
  color:rgba(225,246,249,.58);
  font-size:9px;
}
body.page-zoom-open{overflow:hidden!important;}

/* 8. Browser fullscreen becomes a calm "book only" mode.
   The exit button is always available; arrows remain beside the book. */
html.book-fullscreen .reader-bar{
  position:fixed!important;
  z-index:150!important;
  top:max(10px,env(safe-area-inset-top))!important;
  left:max(10px,env(safe-area-inset-left))!important;
  right:auto!important;
  width:auto!important;
  min-height:0!important;
  height:auto!important;
  display:block!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  transform:none!important;
  opacity:1!important;
  pointer-events:none!important;
}
html.book-fullscreen .reader-actions{
  display:block!important;
  overflow:visible!important;
  padding:0!important;
  margin:0!important;
  mask-image:none!important;
  -webkit-mask-image:none!important;
}
html.book-fullscreen .reader-actions > .icon-btn{
  display:none!important;
}
html.book-fullscreen .reader-actions > #fullscreenBtn{
  display:flex!important;
  width:39px!important;
  min-width:39px!important;
  max-width:39px!important;
  height:39px!important;
  min-height:39px!important;
  padding:0!important;
  border-radius:12px!important;
  background:rgba(3,57,69,.58)!important;
  border:1px solid rgba(222,249,253,.18)!important;
  box-shadow:0 8px 22px rgba(0,25,31,.16)!important;
  pointer-events:auto!important;
}
html.book-fullscreen #fullscreenBtn > span:first-child{
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  font-size:20px!important;
  color:#f2fdff!important;
}
html.book-fullscreen #fullscreenBtn .label,
html.book-fullscreen .brand-mini,
html.book-fullscreen .reader-footer,
html.book-fullscreen .global-site-credit,
html.book-fullscreen .page-turn-tip{
  display:none!important;
}
html.book-fullscreen .reader{
  grid-template-rows:0 minmax(0,1fr) 0!important;
}
html.book-fullscreen .reader-scene{
  padding-top:8px!important;
  padding-bottom:8px!important;
}
html.book-fullscreen .reader.fullscreen-resting .nav-hit{
  opacity:.34!important;
}
html.book-fullscreen .reader:not(.fullscreen-resting) .nav-hit{
  opacity:.92!important;
}
html.book-fullscreen .reader.ui-hidden .reader-bar{
  opacity:1!important;
  transform:none!important;
  pointer-events:none!important;
}

/* 9. Fold lighting: more paper-like, less "digital shadow". */
.reader.page-folding .pageflip-mirror{
  filter:
    drop-shadow(0 36px 42px rgba(0,0,0,.43))
    drop-shadow(0 0 18px rgba(208,236,231,.055))!important;
}
.reader.page-folding .book-sheet::after{
  opacity:.19!important;
}
#book .stf__outerShadow,
#book .stf__innerShadow{
  filter:blur(.35px)!important;
}

/* 10. Cover: depth from paper edge and shadow only, no idle wobble. */
.cover-edge{
  right:-8px!important;
  width:10px!important;
  top:7px!important;
  bottom:7px!important;
  background:
    repeating-linear-gradient(180deg,rgba(255,255,255,.88) 0 1px,rgba(184,215,211,.64) 1px 2px,rgba(244,251,249,.92) 2px 3px),
    linear-gradient(90deg,#c7e3df,#fff,#afcfcb)!important;
  box-shadow:3px 2px 6px rgba(0,61,74,.11)!important;
}
.cover-shadow{
  width:78%!important;
  height:20%!important;
  bottom:-2%!important;
  background:rgba(0,38,48,.42)!important;
  filter:blur(30px)!important;
  transform:none!important;
}
.cover-book{
  filter:drop-shadow(0 24px 28px rgba(0,55,67,.31))!important;
}
.landing:not(.is-opening) .cover-stage:hover .cover-book,
.landing:not(.is-opening) .cover-stage:focus-visible .cover-book{
  transform:none!important;
}

/* Responsive restraint */
@media (max-width:680px){
  .book-page-stack-left,.book-page-stack-right{display:none!important;}
  .book-page-stack-bottom{left:4%;right:4%;bottom:-4px;height:6px;opacity:.55;}
  .pageflip-wrap::before{display:none!important;}
  .page-corner-lift{display:none!important;}
  .song-progress-pop{
    bottom:23px;
    min-width:112px;
    padding:5px 10px 6px;
  }
  .song-progress-pop span{font-size:9.5px;}
  .song-progress-pop i{width:72px;}
  .reader.ui-resting .reader-bar{opacity:.76!important;}
  .page-zoom-stage img{max-width:96vw;max-height:calc(100dvh - 84px);}
  .page-zoom-caption{font-size:10px;}
  .page-zoom-hint{font-size:8px;}
}

/* Reduced-motion users still get all functionality without motion flourishes. */
@media (prefers-reduced-motion:reduce){
  .reader-bar,.song-progress-pop,.page-corner-lift,.page-zoom-overlay{
    transition:none!important;
  }
  .reader.page-folding .book-sheet::after{
    animation:none!important;
  }
}


/* ==========================================================================
   V30 — remove the two rejected V29 additions; rebuild contents as Apple-like
   frosted glass. The book/page art and PageFlip behavior remain untouched.
   ========================================================================== */

/* Remove all fake book-thickness decoration. */
.book-page-stack,
.book-page-stack-bottom,
.book-page-stack-left,
.book-page-stack-right{
  display:none!important;
}

/* Remove the transient "song X of 60" banner. Existing footer progress remains. */
.song-progress-pop{
  display:none!important;
}

/* --------------------------------------------------------------------------
   Contents drawer — light Apple-style glass:
   translucent surface, blur, cool neutral borders, no yellow accents.
   -------------------------------------------------------------------------- */
.toc-drawer,
.toc-drawer.library-drawer{
  width:min(465px,95vw)!important;
  padding:18px 16px 14px!important;
  color:#173d46!important;
  background:
    radial-gradient(circle at 18% 8%, rgba(213,247,252,.62), transparent 31%),
    radial-gradient(circle at 88% 4%, rgba(255,255,255,.88), transparent 33%),
    linear-gradient(180deg, rgba(241,250,252,.91), rgba(224,242,246,.86))!important;
  border-left:1px solid rgba(255,255,255,.72)!important;
  box-shadow:
    -24px 0 70px rgba(0,41,51,.20),
    inset 1px 0 0 rgba(255,255,255,.64)!important;
  backdrop-filter:blur(28px) saturate(1.18)!important;
  -webkit-backdrop-filter:blur(28px) saturate(1.18)!important;
}
.toc-drawer::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.26),transparent 34%),
    radial-gradient(circle at 70% 18%,rgba(169,229,239,.12),transparent 30%)!important;
  opacity:1!important;
}

/* Header: one clean glass plane, not a card-in-a-card. */
.toc-drawer .drawer-head{
  position:sticky!important;
  top:-4px!important;
  z-index:8!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  margin:0 0 12px!important;
  padding:8px 4px 12px!important;
  border-bottom:1px solid rgba(82,145,157,.14)!important;
  background:linear-gradient(180deg,rgba(240,250,252,.95),rgba(240,250,252,.77),rgba(240,250,252,0))!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}
.toc-drawer .drawer-head > div{
  min-width:0!important;
  padding:0 4px!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
}
.toc-drawer .drawer-head .eyebrow{
  margin:0 0 3px!important;
  color:#59808a!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
}
.toc-drawer .drawer-head h2{
  margin:0!important;
  color:#173f48!important;
  font-size:27px!important;
  line-height:1.05!important;
  font-weight:750!important;
  letter-spacing:-.02em!important;
}

/* Close button uses the same glass language as the top toolbar. */
.toc-drawer .drawer-close{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  border-radius:12px!important;
  border:1px solid rgba(83,151,164,.17)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.64),rgba(226,244,247,.42))!important;
  color:#315f69!important;
  box-shadow:
    0 7px 18px rgba(20,79,91,.08),
    inset 0 1px 0 rgba(255,255,255,.78)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
.toc-drawer .drawer-close:hover{
  transform:translateY(-1px)!important;
  background:rgba(255,255,255,.78)!important;
  border-color:rgba(70,142,157,.28)!important;
}

/* Search: like an iOS/macOS search field. */
.toc-drawer .library-search-wrap{
  min-height:46px!important;
  margin:6px 0 11px!important;
  padding:0 13px!important;
  gap:8px!important;
  border-radius:14px!important;
  border:1px solid rgba(75,142,155,.13)!important;
  background:rgba(255,255,255,.54)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.80),
    0 6px 20px rgba(18,82,95,.055)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}
.toc-drawer .library-search-wrap > span,
.toc-drawer .library-search-wrap::before{
  color:#668b94!important;
  font-size:15px!important;
}
.toc-drawer .library-search-wrap input{
  color:#244c55!important;
  font-size:14px!important;
  font-weight:600!important;
}
.toc-drawer .library-search-wrap input::placeholder{
  color:#7898a0!important;
}

/* Gates become compact glass chips instead of little white cards. */
.toc-drawer .library-gates{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px!important;
  margin:0 0 11px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
}
.toc-drawer .library-gate-chip{
  min-height:49px!important;
  padding:7px 6px!important;
  border-radius:14px!important;
  border:1px solid rgba(76,143,156,.12)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.56),rgba(229,244,247,.38))!important;
  color:#315b65!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    0 6px 15px rgba(19,78,90,.045)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
.toc-drawer .library-gate-chip:hover{
  transform:translateY(-1px)!important;
  border-color:rgba(54,133,149,.24)!important;
  background:rgba(255,255,255,.70)!important;
}
.toc-drawer .library-gate-chip b{
  color:#274f58!important;
  font-size:12.5px!important;
  font-weight:750!important;
}
.toc-drawer .library-gate-chip span{
  color:#78949b!important;
  font-size:9.5px!important;
}

/* Segmented control — Apple-style, no yellow active state. */
.toc-drawer .library-tabs{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:3px!important;
  margin:0 0 10px!important;
  padding:3px!important;
  border:1px solid rgba(70,137,150,.11)!important;
  border-radius:12px!important;
  background:rgba(124,173,182,.12)!important;
  box-shadow:inset 0 1px 3px rgba(14,73,84,.045)!important;
}
.toc-drawer .library-tab{
  min-height:36px!important;
  padding:0 8px!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:#65828a!important;
  font-size:11.5px!important;
  font-weight:700!important;
  box-shadow:none!important;
}
.toc-drawer .library-tab:hover{
  color:#325e68!important;
  background:rgba(255,255,255,.30)!important;
}
.toc-drawer .library-tab.active{
  color:#214f59!important;
  background:rgba(255,255,255,.82)!important;
  border:0!important;
  box-shadow:
    0 1px 3px rgba(19,72,82,.10),
    0 5px 13px rgba(19,72,82,.06),
    inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.toc-drawer .library-tab span{
  color:#3a7a88!important;
}

/* Status line is deliberately quiet. */
.toc-drawer .library-status{
  margin:0 0 7px!important;
  padding:0 4px!important;
  color:#78939a!important;
  font-size:11px!important;
  font-weight:600!important;
}

/* Content entries: translucent list cells instead of "cards". */
.toc-drawer .toc-list.library-content{
  gap:6px!important;
  padding:2px 0 8px!important;
}
.toc-drawer .toc-item,
.toc-drawer .page-thumb{
  border:1px solid rgba(74,139,151,.10)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.43)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    0 5px 16px rgba(18,74,85,.035)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
.toc-drawer .toc-item{
  padding:12px 13px!important;
  border-bottom:1px solid rgba(74,139,151,.10)!important;
}
.toc-drawer .toc-item::after,
.toc-drawer .page-thumb::before{
  content:none!important;
}
.toc-drawer .toc-item strong,
.toc-drawer .page-thumb strong{
  padding-inline-start:0!important;
  color:#234d56!important;
  font-size:16px!important;
  line-height:1.18!important;
  font-weight:720!important;
}
.toc-drawer .toc-item span,
.toc-drawer .page-thumb small{
  padding-inline-start:0!important;
  margin-top:3px!important;
  color:#779198!important;
  font-size:10.5px!important;
  line-height:1.35!important;
}
.toc-drawer .toc-item:hover,
.toc-drawer .page-thumb:hover{
  transform:translateY(-1px)!important;
  border-color:rgba(53,130,146,.20)!important;
  background:rgba(255,255,255,.62)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 8px 21px rgba(18,74,85,.06)!important;
}
.toc-drawer .toc-item.current,
.toc-drawer .page-thumb.current{
  border-color:rgba(46,132,151,.23)!important;
  background:linear-gradient(180deg,rgba(227,247,251,.83),rgba(255,255,255,.63))!important;
  box-shadow:
    inset 3px 0 0 rgba(50,151,171,.72),
    inset 0 1px 0 rgba(255,255,255,.88),
    0 7px 19px rgba(19,83,96,.065)!important;
}
.toc-drawer .page-thumb{
  min-height:148px!important;
  padding:12px!important;
}

/* Footer no longer looks like a separate panel. */
.toc-drawer .drawer-foot{
  position:sticky!important;
  bottom:-1px!important;
  margin-top:7px!important;
  padding:11px 3px 3px!important;
  border-top:1px solid rgba(73,139,152,.11)!important;
  background:linear-gradient(180deg,rgba(228,244,247,0),rgba(228,244,247,.86) 40%,rgba(228,244,247,.97))!important;
  color:#708f96!important;
  font-size:10.5px!important;
  text-align:center!important;
}

/* Mobile: retain the glass look but avoid excessive blur/work. */
@media (max-width:640px){
  .toc-drawer,
  .toc-drawer.library-drawer{
    width:min(94vw,430px)!important;
    padding:15px 12px 11px!important;
    backdrop-filter:blur(18px) saturate(1.10)!important;
    -webkit-backdrop-filter:blur(18px) saturate(1.10)!important;
  }
  .toc-drawer .drawer-head h2{font-size:24px!important;}
  .toc-drawer .library-gates{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .toc-drawer .library-gate-chip{min-height:46px!important;}
  .toc-drawer .toc-item strong,
  .toc-drawer .page-thumb strong{font-size:15.5px!important;}
}


/* ==========================================================================
   V31 — remove page-corner hover fold; darker transparent Apple-like drawer
   matching the top toolbar.
   ========================================================================== */

/* 1. No fake corner folding / hover hint at all. */
.page-corner-lift,
.corner-left-top,
.corner-left-bottom,
.corner-right-top,
.corner-right-bottom{
  display:none!important;
}
.pageflip-wrap[data-corner-lift]{
  --corner-lift:none;
}

/* 2. Contents drawer now uses the same dark translucent glass language
   as the top reader toolbar, instead of a pale opaque panel. */
.toc-drawer,
.toc-drawer.library-drawer{
  width:min(465px,95vw)!important;
  padding:18px 16px 14px!important;
  color:#effcff!important;
  background:
    radial-gradient(circle at 14% -12%, rgba(255,255,255,.13), transparent 34%),
    radial-gradient(circle at 88% 5%, rgba(111,221,241,.11), transparent 28%),
    linear-gradient(180deg, rgba(5,70,85,.82), rgba(8,92,109,.74))!important;
  border-left:1px solid rgba(218,248,252,.15)!important;
  box-shadow:
    -24px 0 64px rgba(0,28,35,.22),
    inset 1px 0 0 rgba(255,255,255,.07)!important;
  backdrop-filter:blur(28px) saturate(1.20)!important;
  -webkit-backdrop-filter:blur(28px) saturate(1.20)!important;
}

.toc-drawer::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.075),transparent 38%),
    radial-gradient(circle at 70% 18%,rgba(154,236,249,.055),transparent 31%)!important;
  opacity:1!important;
}

/* Header stays transparent; no white panel. */
.toc-drawer .drawer-head{
  position:sticky!important;
  top:-4px!important;
  z-index:8!important;
  margin:0 0 12px!important;
  padding:8px 4px 12px!important;
  border-bottom:1px solid rgba(221,249,253,.12)!important;
  background:linear-gradient(180deg,rgba(5,70,85,.72),rgba(5,70,85,.36),transparent)!important;
  backdrop-filter:blur(20px)!important;
  -webkit-backdrop-filter:blur(20px)!important;
}
.toc-drawer .drawer-head > div{
  padding:0 4px!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
}
.toc-drawer .drawer-head .eyebrow{
  color:rgba(223,248,252,.62)!important;
}
.toc-drawer .drawer-head h2{
  color:#f4fdff!important;
  font-weight:750!important;
}

/* Close button = same glass button family as toolbar. */
.toc-drawer .drawer-close{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  border-radius:12px!important;
  border:1px solid rgba(215,247,252,.16)!important;
  background:linear-gradient(180deg,rgba(218,249,253,.10),rgba(180,232,241,.045))!important;
  color:#effcff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
}
.toc-drawer .drawer-close:hover{
  background:rgba(205,245,251,.12)!important;
  border-color:rgba(218,250,255,.25)!important;
  color:#fff!important;
}

/* Search field: transparent glass, not milky white. */
.toc-drawer .library-search-wrap{
  min-height:46px!important;
  margin:6px 0 11px!important;
  padding:0 13px!important;
  gap:8px!important;
  border-radius:14px!important;
  border:1px solid rgba(215,247,252,.13)!important;
  background:rgba(255,255,255,.065)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
}
.toc-drawer .library-search-wrap > span,
.toc-drawer .library-search-wrap::before{
  color:rgba(230,250,253,.62)!important;
}
.toc-drawer .library-search-wrap input{
  color:#f0fbfd!important;
}
.toc-drawer .library-search-wrap input::placeholder{
  color:rgba(225,247,250,.52)!important;
}

/* Gate chips = translucent dark glass. */
.toc-drawer .library-gate-chip{
  border:1px solid rgba(215,247,252,.11)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035))!important;
  color:#eaf9fc!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
.toc-drawer .library-gate-chip:hover{
  background:rgba(207,245,251,.10)!important;
  border-color:rgba(218,250,255,.19)!important;
}
.toc-drawer .library-gate-chip b{
  color:#f2fcfe!important;
}
.toc-drawer .library-gate-chip span{
  color:rgba(220,245,249,.58)!important;
}

/* Segmented control similar to macOS dark glass. */
.toc-drawer .library-tabs{
  border:1px solid rgba(215,247,252,.10)!important;
  background:rgba(0,35,43,.14)!important;
  box-shadow:inset 0 1px 3px rgba(0,18,23,.10)!important;
}
.toc-drawer .library-tab{
  color:rgba(225,248,251,.62)!important;
}
.toc-drawer .library-tab:hover{
  color:#f2fdff!important;
  background:rgba(255,255,255,.055)!important;
}
.toc-drawer .library-tab.active{
  color:#f4fdff!important;
  background:rgba(216,248,253,.12)!important;
  border:1px solid rgba(222,250,254,.12)!important;
  box-shadow:
    0 4px 12px rgba(0,28,35,.09),
    inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.toc-drawer .library-tab span{
  color:#bdebf2!important;
}
.toc-drawer .library-status{
  color:rgba(221,246,249,.53)!important;
}

/* Content items remain readable but genuinely transparent. */
.toc-drawer .toc-item,
.toc-drawer .page-thumb{
  border:1px solid rgba(215,247,252,.09)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.067),rgba(255,255,255,.032))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 5px 15px rgba(0,31,38,.035)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
.toc-drawer .toc-item strong,
.toc-drawer .page-thumb strong{
  color:#f0fbfd!important;
}
.toc-drawer .toc-item span,
.toc-drawer .page-thumb small{
  color:rgba(220,245,249,.55)!important;
}
.toc-drawer .toc-item:hover,
.toc-drawer .page-thumb:hover{
  background:rgba(205,245,251,.09)!important;
  border-color:rgba(218,250,255,.16)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.075),
    0 8px 20px rgba(0,28,35,.055)!important;
}
.toc-drawer .toc-item.current,
.toc-drawer .page-thumb.current{
  background:linear-gradient(180deg,rgba(174,235,246,.15),rgba(255,255,255,.055))!important;
  border-color:rgba(205,247,253,.21)!important;
  box-shadow:
    inset 3px 0 0 rgba(189,235,242,.68),
    inset 0 1px 0 rgba(255,255,255,.085)!important;
}

/* Footer fades into the glass instead of becoming opaque. */
.toc-drawer .drawer-foot{
  border-top:1px solid rgba(215,247,252,.09)!important;
  background:linear-gradient(180deg,transparent,rgba(5,70,85,.43) 48%,rgba(5,70,85,.60))!important;
  color:rgba(218,244,248,.52)!important;
}

/* Backdrop remains subtle enough that the book is still perceptible behind the drawer. */
.modal-backdrop:not([hidden]){
  background:rgba(0,27,34,.28)!important;
  backdrop-filter:blur(2px)!important;
  -webkit-backdrop-filter:blur(2px)!important;
}

/* Mobile: slightly more opaque for readability, still glass. */
@media (max-width:640px){
  .toc-drawer,
  .toc-drawer.library-drawer{
    background:
      radial-gradient(circle at 14% -12%, rgba(255,255,255,.10), transparent 34%),
      linear-gradient(180deg, rgba(5,70,85,.90), rgba(8,92,109,.84))!important;
    backdrop-filter:blur(18px) saturate(1.12)!important;
    -webkit-backdrop-filter:blur(18px) saturate(1.12)!important;
  }
}


/* ==========================================================================
   V32 — contents drawer header fully matches the top glass toolbar.
   Also remove the odd separator/strip beneath "תוכן הספר והפתגמים".
   ========================================================================== */

/* The top heading is itself a glass surface — no opaque/gradient band below it. */
.toc-drawer .drawer-head{
  position:sticky!important;
  top:0!important;
  z-index:20!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;

  margin:0 0 12px!important;
  padding:12px 12px!important;

  border:1px solid rgba(215,247,252,.14)!important;
  border-bottom:1px solid rgba(215,247,252,.14)!important;
  border-radius:16px!important;

  background:
    linear-gradient(180deg,rgba(216,248,253,.095),rgba(190,235,243,.045))!important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.085),
    0 8px 22px rgba(0,31,38,.08)!important;

  backdrop-filter:blur(18px) saturate(1.12)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.12)!important;
}

/* Kill every old decorative line/strip/pseudo-element around the drawer header. */
.toc-drawer .drawer-head::before,
.toc-drawer .drawer-head::after,
.toc-drawer .drawer-head > div::before,
.toc-drawer .drawer-head > div::after{
  content:none!important;
  display:none!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}

.toc-drawer .drawer-head > div{
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
}

/* Make the hierarchy feel like the top toolbar rather than an old page heading. */
.toc-drawer .drawer-head .eyebrow{
  margin:0 0 4px!important;
  color:rgba(225,248,251,.62)!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:650!important;
  letter-spacing:.05em!important;
}

.toc-drawer .drawer-head h2{
  margin:0!important;
  padding:0!important;
  color:#f2fcfe!important;
  font-family:"Assistant",Arial,sans-serif!important;
  font-size:24px!important;
  line-height:1.08!important;
  font-weight:750!important;
  letter-spacing:-.015em!important;
  text-shadow:none!important;
}

/* The close button visually belongs to the same glass header. */
.toc-drawer .drawer-head .drawer-close{
  align-self:center!important;
  margin:0!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  border-radius:11px!important;
  border:1px solid rgba(215,247,252,.14)!important;
  background:rgba(218,249,253,.065)!important;
  color:#eefcff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.075)!important;
}

/* Remove the strange bottom strip/footer treatment entirely. */
.toc-drawer .drawer-foot,
.toc-drawer.library-drawer > .drawer-foot{
  position:static!important;
  margin:8px 2px 0!important;
  padding:8px 3px 0!important;
  border:0!important;
  border-top:0!important;
  background:none!important;
  box-shadow:none!important;
  color:rgba(218,244,248,.46)!important;
}

/* Ensure no old light-theme rules can repaint the heading after the glass rules. */
html:not([data-book-theme="night"]) .toc-drawer .drawer-head,
html[data-book-theme="night"] .toc-drawer .drawer-head{
  border-color:rgba(215,247,252,.14)!important;
  background:linear-gradient(180deg,rgba(216,248,253,.095),rgba(190,235,243,.045))!important;
}

html:not([data-book-theme="night"]) .toc-drawer .drawer-head h2,
html[data-book-theme="night"] .toc-drawer .drawer-head h2{
  color:#f2fcfe!important;
  font-size:24px!important;
  font-weight:750!important;
}

@media (max-width:640px){
  .toc-drawer .drawer-head{
    padding:10px 10px!important;
    border-radius:14px!important;
  }
  .toc-drawer .drawer-head h2{
    font-size:21px!important;
  }
}


/* ==========================================================================
   V33 — definitive glass drawer override.
   Older high-specificity "paper index" theme rules were still winning in day
   mode. These selectors intentionally match/exceed that specificity.
   ========================================================================== */

html:not([data-book-theme="night"]) .toc-drawer.library-drawer,
html[data-book-theme="night"] .toc-drawer.library-drawer{
  --ui-accent:#bdebf2!important;
  color:#edfafd!important;
  background:
    radial-gradient(circle at 14% -8%, rgba(255,255,255,.10), transparent 31%),
    radial-gradient(circle at 88% 3%, rgba(146,232,247,.09), transparent 27%),
    linear-gradient(180deg, rgba(3,67,82,.82), rgba(5,82,99,.76))!important;
  border-left:1px solid rgba(218,248,252,.14)!important;
  box-shadow:
    -24px 0 64px rgba(0,26,33,.24),
    inset 1px 0 0 rgba(255,255,255,.07)!important;
  backdrop-filter:blur(30px) saturate(1.18)!important;
  -webkit-backdrop-filter:blur(30px) saturate(1.18)!important;
}

/* Remove the old vertical "book index" stripe and all decorative paper lines. */
html:not([data-book-theme="night"]) .toc-drawer.library-drawer::before,
html[data-book-theme="night"] .toc-drawer.library-drawer::before{
  content:none!important;
  display:none!important;
  width:0!important;
  background:none!important;
  box-shadow:none!important;
  opacity:0!important;
}

html:not([data-book-theme="night"]) .toc-drawer .drawer-head,
html[data-book-theme="night"] .toc-drawer .drawer-head{
  position:sticky!important;
  top:0!important;
  z-index:20!important;
  padding:11px 12px!important;
  margin:0 0 12px!important;
  border:1px solid rgba(219,249,253,.13)!important;
  border-radius:16px!important;
  background:
    linear-gradient(180deg, rgba(218,249,253,.085), rgba(186,233,242,.035))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 7px 20px rgba(0,28,35,.07)!important;
  backdrop-filter:blur(17px) saturate(1.1)!important;
  -webkit-backdrop-filter:blur(17px) saturate(1.1)!important;
}

html:not([data-book-theme="night"]) .toc-drawer .drawer-head > div,
html[data-book-theme="night"] .toc-drawer .drawer-head > div{
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
}

html:not([data-book-theme="night"]) .toc-drawer .drawer-head > div::before,
html:not([data-book-theme="night"]) .toc-drawer .drawer-head > div::after,
html[data-book-theme="night"] .toc-drawer .drawer-head > div::before,
html[data-book-theme="night"] .toc-drawer .drawer-head > div::after{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  background:none!important;
  opacity:0!important;
}

html:not([data-book-theme="night"]) .toc-drawer .drawer-head .eyebrow,
html[data-book-theme="night"] .toc-drawer .drawer-head .eyebrow{
  color:rgba(223,247,251,.58)!important;
  font-size:10px!important;
  font-weight:650!important;
  letter-spacing:.05em!important;
  margin:0 0 4px!important;
}

html:not([data-book-theme="night"]) .toc-drawer .drawer-head h2,
html[data-book-theme="night"] .toc-drawer .drawer-head h2{
  color:#f2fcfe!important;
  font-size:24px!important;
  font-weight:750!important;
  line-height:1.08!important;
  letter-spacing:-.015em!important;
  white-space:nowrap!important;
}

/* Search glass */
html:not([data-book-theme="night"]) .toc-drawer .library-search-wrap,
html[data-book-theme="night"] .toc-drawer .library-search-wrap{
  border:1px solid rgba(218,248,252,.12)!important;
  background:rgba(255,255,255,.055)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-search-wrap input,
html[data-book-theme="night"] .toc-drawer .library-search-wrap input{
  color:#effbfd!important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-search-wrap input::placeholder,
html[data-book-theme="night"] .toc-drawer .library-search-wrap input::placeholder{
  color:rgba(225,247,250,.48)!important;
}

/* Gate chips */
html:not([data-book-theme="night"]) .toc-drawer .library-gate-chip,
html[data-book-theme="night"] .toc-drawer .library-gate-chip{
  border:1px solid rgba(218,248,252,.10)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.066),rgba(255,255,255,.028))!important;
  color:#edfafd!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-gate-chip b,
html[data-book-theme="night"] .toc-drawer .library-gate-chip b{
  color:#f2fcfe!important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-gate-chip span,
html[data-book-theme="night"] .toc-drawer .library-gate-chip span{
  color:rgba(220,245,249,.55)!important;
}

/* Apple-like segmented tabs */
html:not([data-book-theme="night"]) .toc-drawer .library-tabs,
html[data-book-theme="night"] .toc-drawer .library-tabs{
  border:1px solid rgba(218,248,252,.09)!important;
  border-bottom:1px solid rgba(218,248,252,.09)!important;
  background:rgba(0,30,38,.14)!important;
  border-radius:12px!important;
  padding:3px!important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-tab,
html[data-book-theme="night"] .toc-drawer .library-tab{
  color:rgba(225,248,251,.58)!important;
  background:transparent!important;
  border:0!important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-tab::after,
html[data-book-theme="night"] .toc-drawer .library-tab::after{
  content:none!important;
  display:none!important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-tab.active,
html[data-book-theme="night"] .toc-drawer .library-tab.active{
  color:#f4fdff!important;
  background:rgba(218,249,253,.105)!important;
  border:1px solid rgba(222,250,254,.10)!important;
  box-shadow:
    0 3px 10px rgba(0,26,33,.08),
    inset 0 1px 0 rgba(255,255,255,.09)!important;
}

/* Section separators in the list: no paper line. */
html:not([data-book-theme="night"]) .toc-drawer .toc-gate,
html[data-book-theme="night"] .toc-drawer .toc-gate{
  color:rgba(218,244,248,.48)!important;
  font-size:9.5px!important;
  font-weight:700!important;
  letter-spacing:.06em!important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-gate::after,
html[data-book-theme="night"] .toc-drawer .toc-gate::after{
  background:linear-gradient(90deg,rgba(218,248,252,.13),transparent)!important;
  height:1px!important;
}

/* List cells: same glass family as the top buttons. */
html:not([data-book-theme="night"]) .toc-drawer .toc-item,
html:not([data-book-theme="night"]) .toc-drawer .page-thumb,
html[data-book-theme="night"] .toc-drawer .toc-item,
html[data-book-theme="night"] .toc-drawer .page-thumb{
  border:1px solid rgba(218,248,252,.085)!important;
  border-bottom:1px solid rgba(218,248,252,.085)!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.058),rgba(255,255,255,.025))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 5px 15px rgba(0,28,35,.025)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item strong,
html:not([data-book-theme="night"]) .toc-drawer .page-thumb strong,
html[data-book-theme="night"] .toc-drawer .toc-item strong,
html[data-book-theme="night"] .toc-drawer .page-thumb strong{
  color:#effbfd!important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item span,
html:not([data-book-theme="night"]) .toc-drawer .page-thumb small,
html[data-book-theme="night"] .toc-drawer .toc-item span,
html[data-book-theme="night"] .toc-drawer .page-thumb small{
  color:rgba(219,244,248,.52)!important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item.current,
html:not([data-book-theme="night"]) .toc-drawer .page-thumb.current,
html[data-book-theme="night"] .toc-drawer .toc-item.current,
html[data-book-theme="night"] .toc-drawer .page-thumb.current{
  border-color:rgba(202,245,252,.18)!important;
  background:linear-gradient(180deg,rgba(176,235,246,.13),rgba(255,255,255,.04))!important;
  box-shadow:
    inset 3px 0 0 rgba(189,235,242,.62),
    inset 0 1px 0 rgba(255,255,255,.07)!important;
}

/* Status/footer blend into the panel; no beige/white strip at the bottom. */
html:not([data-book-theme="night"]) .toc-drawer .library-status,
html[data-book-theme="night"] .toc-drawer .library-status{
  color:rgba(218,244,248,.48)!important;
}
html:not([data-book-theme="night"]) .toc-drawer .drawer-foot,
html[data-book-theme="night"] .toc-drawer .drawer-foot{
  position:static!important;
  border:0!important;
  border-top:0!important;
  background:none!important;
  box-shadow:none!important;
  color:rgba(218,244,248,.43)!important;
}

/* Scrollbar also belongs to the glass palette. */
html:not([data-book-theme="night"]) .toc-drawer .toc-list.library-content::-webkit-scrollbar-thumb,
html[data-book-theme="night"] .toc-drawer .toc-list.library-content::-webkit-scrollbar-thumb{
  background:rgba(218,248,252,.18)!important;
}

/* Keep the book perceptible behind the translucent drawer. */
.modal-backdrop:not([hidden]){
  background:rgba(0,24,31,.20)!important;
  backdrop-filter:blur(1.5px)!important;
  -webkit-backdrop-filter:blur(1.5px)!important;
}

@media (max-width:640px){
  html:not([data-book-theme="night"]) .toc-drawer.library-drawer,
  html[data-book-theme="night"] .toc-drawer.library-drawer{
    background:
      radial-gradient(circle at 15% -8%, rgba(255,255,255,.08), transparent 30%),
      linear-gradient(180deg, rgba(3,67,82,.89), rgba(5,82,99,.84))!important;
    backdrop-filter:blur(20px) saturate(1.12)!important;
    -webkit-backdrop-filter:blur(20px) saturate(1.12)!important;
  }
}


/* ==========================================================================
   V34 — refined "finished product" contents drawer
   Goal: glass language + stable Hebrew typography + no awkward wrapping.
   ========================================================================== */

html:not([data-book-theme="night"]) .toc-drawer.library-drawer,
html[data-book-theme="night"] .toc-drawer.library-drawer{
  width:min(520px,96vw)!important;
  padding:16px 15px 12px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  gap:0!important;
}

/* Header: compact, single-line, visually related to the top toolbar. */
html:not([data-book-theme="night"]) .toc-drawer .drawer-head,
html[data-book-theme="night"] .toc-drawer .drawer-head{
  flex:0 0 auto!important;
  min-height:68px!important;
  padding:10px 12px!important;
  margin:0 0 10px!important;
  border-radius:16px!important;
}
html:not([data-book-theme="night"]) .toc-drawer .drawer-head h2,
html[data-book-theme="night"] .toc-drawer .drawer-head h2{
  font-size:23px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}
html:not([data-book-theme="night"]) .toc-drawer .drawer-head .eyebrow,
html[data-book-theme="night"] .toc-drawer .drawer-head .eyebrow{
  white-space:nowrap!important;
}

/* Close control stays perfectly square and never shrinks. */
.toc-drawer .drawer-head .drawer-close{
  flex:0 0 36px!important;
  width:36px!important;
  min-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
}

/* Search is always one clean row. */
html:not([data-book-theme="night"]) .toc-drawer .library-search-wrap,
html[data-book-theme="night"] .toc-drawer .library-search-wrap{
  flex:0 0 auto!important;
  min-height:44px!important;
  margin:0 0 9px!important;
  border-radius:13px!important;
}
.toc-drawer .library-search-wrap input{
  min-width:0!important;
  width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:13.5px!important;
  line-height:1!important;
}

/* Gate shortcuts, when present, never crush text into narrow columns. */
.toc-drawer .library-gates:empty{
  display:none!important;
}
.toc-drawer .library-gates:not(:empty){
  flex:0 0 auto!important;
  display:flex!important;
  gap:7px!important;
  margin:0 0 9px!important;
  padding:0 0 3px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  border:0!important;
  background:none!important;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
}
.toc-drawer .library-gates:not(:empty)::-webkit-scrollbar{display:none!important;}
.toc-drawer .library-gate-chip{
  flex:0 0 112px!important;
  width:112px!important;
  min-width:112px!important;
  max-width:112px!important;
  min-height:48px!important;
  padding:7px 8px!important;
  scroll-snap-align:start;
}
.toc-drawer .library-gate-chip b,
.toc-drawer .library-gate-chip .gate-name,
.toc-drawer .library-gate-chip .gate-name i{
  display:block!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:keep-all!important;
  font-style:normal!important;
}

/* Tabs: balanced segmented control. Labels never wrap. */
html:not([data-book-theme="night"]) .toc-drawer .library-tabs,
html[data-book-theme="night"] .toc-drawer .library-tabs{
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:3px!important;
  min-height:42px!important;
  margin:0 0 8px!important;
  padding:3px!important;
  border-radius:13px!important;
}
.toc-drawer .library-tab{
  min-width:0!important;
  min-height:34px!important;
  padding:0 10px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:keep-all!important;
  font-size:12px!important;
  line-height:1!important;
}
.toc-drawer .library-tab span{
  display:inline!important;
  white-space:nowrap!important;
}

/* Status is metadata, not another card. */
.toc-drawer .library-status{
  flex:0 0 auto!important;
  min-height:18px!important;
  margin:0 0 5px!important;
  padding:0 4px!important;
  font-size:10.5px!important;
  line-height:18px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* The list is the only scrolling region. This makes the drawer feel like an app panel. */
html:not([data-book-theme="night"]) .toc-drawer .toc-list.library-content,
html[data-book-theme="night"] .toc-drawer .toc-list.library-content{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  padding:2px 3px 8px 1px!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
}

/* Section labels: subtle, compact and never broken. */
.toc-drawer .toc-gate{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  min-height:28px!important;
  margin:5px 2px 0!important;
  padding:0 4px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:keep-all!important;
  font-size:9.5px!important;
  line-height:1!important;
}
.toc-drawer .toc-gate::after{
  flex:1 1 auto!important;
  min-width:18px!important;
  margin-inline-start:9px!important;
}

/* Song rows: content gets room; page number is a fixed glass badge. */
html:not([data-book-theme="night"]) .toc-drawer .toc-item,
html[data-book-theme="night"] .toc-drawer .toc-item{
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  min-height:58px!important;
  padding:10px 11px 10px 13px!important;
  border-radius:13px!important;
  overflow:hidden!important;
  transform:none!important;
}
.toc-drawer .toc-item:hover{
  transform:none!important;
}
.toc-drawer .toc-item-copy{
  min-width:0!important;
  overflow:hidden!important;
}
.toc-drawer .toc-item-title{
  display:-webkit-box!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  line-clamp:2!important;
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  text-wrap:pretty!important;
  color:#effbfd!important;
  font-size:15.5px!important;
  line-height:1.28!important;
  font-weight:700!important;
}
.toc-drawer .toc-page-badge{
  align-self:center!important;
  justify-self:end!important;
  min-width:48px!important;
  max-width:58px!important;
  padding:6px 8px!important;
  border:1px solid rgba(218,248,252,.10)!important;
  border-radius:999px!important;
  background:rgba(215,247,252,.055)!important;
  color:rgba(232,250,252,.70)!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
.toc-drawer .toc-item.current .toc-page-badge{
  background:rgba(189,235,242,.12)!important;
  border-color:rgba(205,247,253,.17)!important;
  color:#f3fdff!important;
}

/* Search snippets are allowed to breathe but never break Hebrew words awkwardly. */
.toc-drawer .search-hit{
  display:-webkit-box!important;
  margin-top:4px!important;
  padding:0!important;
  overflow:hidden!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  line-clamp:2!important;
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  color:rgba(219,244,248,.52)!important;
  font-size:10.5px!important;
  line-height:1.38!important;
}

/* Pages view: two clean columns on desktop, one on narrow screens. */
.toc-drawer .page-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  padding:0!important;
}
html:not([data-book-theme="night"]) .toc-drawer .page-thumb,
html[data-book-theme="night"] .toc-drawer .page-thumb{
  min-width:0!important;
  min-height:142px!important;
  padding:9px!important;
  border-radius:13px!important;
  overflow:hidden!important;
}
.toc-drawer .page-thumb-copy{
  min-width:0!important;
  overflow:hidden!important;
}
.toc-drawer .page-thumb-copy strong{
  display:-webkit-box!important;
  max-width:100%!important;
  padding:0!important;
  overflow:hidden!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  line-clamp:2!important;
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  font-size:13px!important;
  line-height:1.28!important;
}
.toc-drawer .page-thumb-copy small{
  padding:0!important;
  margin-top:3px!important;
  white-space:nowrap!important;
}

/* Footer is tiny and doesn't compete with navigation. */
.toc-drawer .drawer-foot{
  flex:0 0 auto!important;
  min-height:25px!important;
  margin:5px 0 0!important;
  padding:7px 4px 0!important;
  font-size:9.5px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Hover feedback: quiet, premium, no jump. */
.toc-drawer .toc-item,
.toc-drawer .page-thumb,
.toc-drawer .library-gate-chip,
.toc-drawer .library-tab,
.toc-drawer .drawer-close{
  transition:
    background .16s ease,
    border-color .16s ease,
    box-shadow .16s ease,
    color .16s ease!important;
}
.toc-drawer .toc-item:hover,
.toc-drawer .page-thumb:hover{
  transform:none!important;
  background:linear-gradient(180deg,rgba(205,245,251,.085),rgba(255,255,255,.035))!important;
  border-color:rgba(218,250,255,.14)!important;
}

/* Desktop can afford the more generous panel. */
@media (min-width:1200px){
  html:not([data-book-theme="night"]) .toc-drawer.library-drawer,
  html[data-book-theme="night"] .toc-drawer.library-drawer{
    width:min(520px,96vw)!important;
  }
}

/* Narrow layouts remain elegant rather than crammed. */
@media (max-width:640px){
  html:not([data-book-theme="night"]) .toc-drawer.library-drawer,
  html[data-book-theme="night"] .toc-drawer.library-drawer{
    width:min(96vw,450px)!important;
    padding:12px 11px 10px!important;
  }
  html:not([data-book-theme="night"]) .toc-drawer .drawer-head,
  html[data-book-theme="night"] .toc-drawer .drawer-head{
    min-height:60px!important;
    padding:9px 10px!important;
  }
  html:not([data-book-theme="night"]) .toc-drawer .drawer-head h2,
  html[data-book-theme="night"] .toc-drawer .drawer-head h2{
    font-size:19px!important;
  }
  .toc-drawer .library-tab{
    padding:0 6px!important;
    font-size:11px!important;
  }
  .toc-drawer .toc-item{
    min-height:54px!important;
    gap:8px!important;
    padding:9px 9px 9px 11px!important;
  }
  .toc-drawer .toc-item-title{
    font-size:14.5px!important;
  }
  .toc-drawer .toc-page-badge{
    min-width:43px!important;
    padding:5px 6px!important;
    font-size:9.5px!important;
  }
  .toc-drawer .page-grid{
    grid-template-columns:1fr!important;
  }
  .toc-drawer .drawer-foot{
    display:none!important;
  }
}


/* ==========================================================================
   V35 — narrower, smarter contents drawer + final spacing polish
   ========================================================================== */

/* Desktop: compact enough not to swallow the book, still wide enough for Hebrew. */
html:not([data-book-theme="night"]) .toc-drawer.library-drawer,
html[data-book-theme="night"] .toc-drawer.library-drawer{
  width:min(430px,88vw)!important;
  padding:14px 13px 11px!important;
}

/* Slightly tighter vertical rhythm. */
html:not([data-book-theme="night"]) .toc-drawer .drawer-head,
html[data-book-theme="night"] .toc-drawer .drawer-head{
  min-height:62px!important;
  padding:9px 10px!important;
  margin-bottom:9px!important;
  border-radius:14px!important;
}
html:not([data-book-theme="night"]) .toc-drawer .drawer-head h2,
html[data-book-theme="night"] .toc-drawer .drawer-head h2{
  font-size:21px!important;
}
.toc-drawer .drawer-head .eyebrow{
  font-size:9.5px!important;
  margin-bottom:3px!important;
}

/* Search field: a little shorter, still comfortable. */
html:not([data-book-theme="night"]) .toc-drawer .library-search-wrap,
html[data-book-theme="night"] .toc-drawer .library-search-wrap{
  min-height:41px!important;
  margin-bottom:8px!important;
}
.toc-drawer .library-search-wrap input{
  font-size:13px!important;
}

/* Tabs: compact segmented control. */
html:not([data-book-theme="night"]) .toc-drawer .library-tabs,
html[data-book-theme="night"] .toc-drawer .library-tabs{
  min-height:39px!important;
  margin-bottom:7px!important;
}
.toc-drawer .library-tab{
  min-height:31px!important;
  font-size:11.5px!important;
}

/* Gate chips keep readable width but don't dominate the panel. */
.toc-drawer .library-gates:not(:empty){
  gap:6px!important;
  margin-bottom:8px!important;
}
.toc-drawer .library-gate-chip{
  flex-basis:104px!important;
  width:104px!important;
  min-width:104px!important;
  max-width:104px!important;
  min-height:45px!important;
  padding:6px 7px!important;
}
.toc-drawer .library-gate-chip b{
  font-size:11.5px!important;
}
.toc-drawer .library-gate-chip span{
  font-size:9px!important;
}

/* List cells: less vertical bulk, stronger alignment. */
html:not([data-book-theme="night"]) .toc-drawer .toc-list.library-content,
html[data-book-theme="night"] .toc-drawer .toc-list.library-content{
  gap:6px!important;
  padding-top:1px!important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item,
html[data-book-theme="night"] .toc-drawer .toc-item{
  min-height:54px!important;
  gap:10px!important;
  padding:9px 10px 9px 11px!important;
  border-radius:12px!important;
}
.toc-drawer .toc-item-title{
  font-size:14.5px!important;
  line-height:1.26!important;
}
.toc-drawer .toc-page-badge{
  min-width:44px!important;
  max-width:52px!important;
  padding:5px 7px!important;
  font-size:9.5px!important;
}

/* Cleaner section dividers. */
.toc-drawer .toc-gate{
  min-height:24px!important;
  margin-top:3px!important;
  font-size:9px!important;
}

/* Pages view: narrower cards suit the more compact drawer. */
.toc-drawer .page-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
}
html:not([data-book-theme="night"]) .toc-drawer .page-thumb,
html[data-book-theme="night"] .toc-drawer .page-thumb{
  min-height:132px!important;
  padding:8px!important;
}
.toc-drawer .page-thumb-copy strong{
  font-size:12.5px!important;
}

/* Footer is intentionally understated. */
.toc-drawer .drawer-foot{
  min-height:22px!important;
  margin-top:4px!important;
  padding-top:6px!important;
  font-size:9px!important;
}

/* Slim, quiet scrollbar. */
.toc-drawer .toc-list.library-content{
  scrollbar-width:thin!important;
  scrollbar-color:rgba(218,248,252,.16) transparent!important;
}
.toc-drawer .toc-list.library-content::-webkit-scrollbar{
  width:5px!important;
}
.toc-drawer .toc-list.library-content::-webkit-scrollbar-track{
  background:transparent!important;
}
.toc-drawer .toc-list.library-content::-webkit-scrollbar-thumb{
  border-radius:999px!important;
  background:rgba(218,248,252,.15)!important;
}

/* Medium desktops: stay compact. */
@media (max-width:1199px) and (min-width:641px){
  html:not([data-book-theme="night"]) .toc-drawer.library-drawer,
  html[data-book-theme="night"] .toc-drawer.library-drawer{
    width:min(410px,90vw)!important;
  }
  html:not([data-book-theme="night"]) .toc-drawer .drawer-head h2,
  html[data-book-theme="night"] .toc-drawer .drawer-head h2{
    font-size:20px!important;
  }
}

/* Mobile: nearly full-width, but still with a clear margin from the opposite edge. */
@media (max-width:640px){
  html:not([data-book-theme="night"]) .toc-drawer.library-drawer,
  html[data-book-theme="night"] .toc-drawer.library-drawer{
    width:min(92vw,400px)!important;
    padding:11px 10px 9px!important;
  }
  html:not([data-book-theme="night"]) .toc-drawer .drawer-head,
  html[data-book-theme="night"] .toc-drawer .drawer-head{
    min-height:56px!important;
    padding:8px 9px!important;
  }
  html:not([data-book-theme="night"]) .toc-drawer .drawer-head h2,
  html[data-book-theme="night"] .toc-drawer .drawer-head h2{
    font-size:18px!important;
  }
  .toc-drawer .toc-item{
    min-height:51px!important;
  }
  .toc-drawer .toc-item-title{
    font-size:14px!important;
  }
}


/* ==========================================================================
   V36 — compact drawer + correct side-by-side geometry + synced readability
   ========================================================================== */

/* 1. Slightly narrower again: enough for Hebrew, no wasted book space. */
html:not([data-book-theme="night"]) .toc-drawer.library-drawer,
html[data-book-theme="night"] .toc-drawer.library-drawer{
  width:min(400px,88vw)!important;
  padding:13px 12px 10px!important;
}

/* Keep long Hebrew titles elegant inside the narrower panel. */
.toc-drawer .toc-item-title{
  font-size:14.25px!important;
  line-height:1.27!important;
}
.toc-drawer .toc-item{
  gap:9px!important;
}
.toc-drawer .library-search-wrap input{
  font-size:12.75px!important;
}

/* 2. The old pinned-reader rule still reserved only 350px.
      Reserve the real drawer width so the book/author identity naturally
      moves left with the entire reader and never sits underneath the drawer. */
@media (min-width:1200px){
  body.toc-pinned-open .reader{
    left:0!important;
    right:auto!important;
    width:calc(100vw - 400px)!important;
  }
  body.toc-pinned-open .brand-mini{
    transform:none!important;
    margin-inline-end:0!important;
    transition:opacity .2s ease!important;
  }
}

/* On medium widths side-by-side space is limited. Keep a narrower drawer and
   suppress only the small brand identity while the drawer is open, rather
   than letting it collide with the toolbar. */
@media (min-width:901px) and (max-width:1199px){
  html:not([data-book-theme="night"]) .toc-drawer.library-drawer,
  html[data-book-theme="night"] .toc-drawer.library-drawer{
    width:min(370px,90vw)!important;
  }
  body.toc-pinned-open .reader{
    left:0!important;
    right:auto!important;
    width:calc(100vw - 370px)!important;
  }
  body.toc-pinned-open .brand-mini{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}

/* Overlay layouts cannot meaningfully fit the identity beside the drawer. */
@media (max-width:900px){
  html:not([data-book-theme="night"]) .toc-drawer.library-drawer,
  html[data-book-theme="night"] .toc-drawer.library-drawer{
    width:min(90vw,380px)!important;
  }
  body.toc-pinned-open .brand-mini{
    opacity:0!important;
    visibility:hidden!important;
  }
}

/* 4. White/cool-white information throughout the glass drawer.
      Remove the remaining brown/gold inheritance from old book-theme rules. */
html:not([data-book-theme="night"]) .toc-drawer .drawer-close,
html[data-book-theme="night"] .toc-drawer .drawer-close{
  color:#ffffff!important;
  border-color:rgba(235,253,255,.17)!important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-page-badge,
html[data-book-theme="night"] .toc-drawer .toc-page-badge{
  color:#f5fdff!important;
  background:rgba(236,253,255,.075)!important;
  border-color:rgba(235,253,255,.13)!important;
}
html:not([data-book-theme="night"]) .toc-drawer .page-thumb small,
html[data-book-theme="night"] .toc-drawer .page-thumb small,
html:not([data-book-theme="night"]) .toc-drawer .library-listen-title small,
html[data-book-theme="night"] .toc-drawer .library-listen-title small{
  color:rgba(245,253,255,.78)!important;
}
html:not([data-book-theme="night"]) .toc-drawer .library-tab span,
html[data-book-theme="night"] .toc-drawer .library-tab span{
  color:#f2fcfe!important;
}

/* Active song marker: crisp enough to track during live page turns, without
   introducing a loud accent block. */
html:not([data-book-theme="night"]) .toc-drawer .toc-item.current,
html:not([data-book-theme="night"]) .toc-drawer .page-thumb.current,
html[data-book-theme="night"] .toc-drawer .toc-item.current,
html[data-book-theme="night"] .toc-drawer .page-thumb.current{
  background:linear-gradient(180deg,rgba(209,248,253,.145),rgba(255,255,255,.045))!important;
  border-color:rgba(225,251,254,.20)!important;
  box-shadow:
    inset 3px 0 0 rgba(226,251,254,.82),
    inset 0 1px 0 rgba(255,255,255,.09)!important;
}

/* Slightly more breathing room around the selected row so its auto-scroll
   destination feels intentional rather than jammed against a divider. */
.toc-drawer .toc-item.current{
  scroll-margin-block:12px!important;
}


/* V37 — fullscreen toolbar control removed by request. */
#fullscreenBtn{
  display:none!important;
}


/* ==========================================================================
   V38 — active song uses the warm yellow language from the book cover.
   Also remove the old brown focus treatment inside the contents drawer.
   ========================================================================== */

/* Keyboard focus inside the glass drawer should be cool white, not old brown. */
.toc-drawer button:focus-visible,
.toc-drawer input:focus-visible{
  outline:2px solid rgba(242,253,255,.88)!important;
  outline-offset:2px!important;
}

/* Active/current song — unmistakable warm yellow from the cover, with
   dark-teal typography for strong contrast. */
html:not([data-book-theme="night"]) .toc-drawer .toc-item.current,
html:not([data-book-theme="night"]) .toc-drawer .page-thumb.current,
html[data-book-theme="night"] .toc-drawer .toc-item.current,
html[data-book-theme="night"] .toc-drawer .page-thumb.current{
  background:
    linear-gradient(180deg,rgba(255,250,220,.98),rgba(255,226,112,.94))!important;
  border-color:rgba(255,232,129,.92)!important;
  box-shadow:
    inset 3px 0 0 rgba(210,164,38,.82),
    inset 0 1px 0 rgba(255,255,255,.88),
    0 7px 19px rgba(128,91,16,.10)!important;
}

/* Remove every legacy brown pseudo-marker from the active item. */
html:not([data-book-theme="night"]) .toc-drawer .toc-item.current::before,
html:not([data-book-theme="night"]) .toc-drawer .toc-item.current::after,
html[data-book-theme="night"] .toc-drawer .toc-item.current::before,
html[data-book-theme="night"] .toc-drawer .toc-item.current::after{
  content:none!important;
  display:none!important;
}

/* Selected title + secondary text use dark teal over yellow. */
html:not([data-book-theme="night"]) .toc-drawer .toc-item.current .toc-item-title,
html:not([data-book-theme="night"]) .toc-drawer .page-thumb.current strong,
html[data-book-theme="night"] .toc-drawer .toc-item.current .toc-item-title,
html[data-book-theme="night"] .toc-drawer .page-thumb.current strong{
  color:#164a56!important;
  text-shadow:none!important;
}
html:not([data-book-theme="night"]) .toc-drawer .toc-item.current .search-hit,
html:not([data-book-theme="night"]) .toc-drawer .page-thumb.current small,
html[data-book-theme="night"] .toc-drawer .toc-item.current .search-hit,
html[data-book-theme="night"] .toc-drawer .page-thumb.current small{
  color:rgba(22,74,86,.70)!important;
}

/* Page badge remains readable on the yellow selection. */
html:not([data-book-theme="night"]) .toc-drawer .toc-item.current .toc-page-badge,
html[data-book-theme="night"] .toc-drawer .toc-item.current .toc-page-badge{
  color:#164a56!important;
  background:rgba(255,255,255,.46)!important;
  border-color:rgba(138,105,25,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65)!important;
}

/* "Pages" view's legacy כאן badge, if present, also follows the yellow selection. */
html:not([data-book-theme="night"]) .toc-drawer .page-thumb.current::after,
html[data-book-theme="night"] .toc-drawer .page-thumb.current::after{
  background:rgba(255,255,255,.54)!important;
  color:#164a56!important;
  border:1px solid rgba(138,105,25,.14)!important;
}


/* ==========================================================================
   V40 — targeted spread 2–3 gutter repair + YouTube trigger polish
   ========================================================================== */

/* The first transition after the single opening page can leave a fractional
   StPageFlip gutter where the teal site background peeks through.
   This overlay exists ONLY for spread 2–3 and visually joins the two printed
   white page edges without changing any later spread or engine dimensions. */
.reader.first-inner-spread .pageflip-wrap::before{
  width:6px!important;
  top:.7%!important;
  bottom:.8%!important;
  opacity:1!important;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.98) 0%,
      rgba(247,247,245,.98) 42%,
      rgba(232,232,228,.96) 50%,
      rgba(248,248,246,.98) 58%,
      rgba(255,255,255,.98) 100%)!important;
  mix-blend-mode:normal!important;
  filter:none!important;
  box-shadow:
    inset 1px 0 rgba(185,185,180,.08),
    inset -1px 0 rgba(185,185,180,.08)!important;
}

/* Make the added song play control read as a deliberate media action and
   remain compact over the scanned page. */
.book-sheet[data-page="65"] .media-trigger{
  color:#f7fdff!important;
  background:rgba(5,81,98,.82)!important;
  border-color:rgba(225,250,254,.24)!important;
  box-shadow:
    0 7px 18px rgba(0,39,48,.14),
    inset 0 1px 0 rgba(255,255,255,.10)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
.book-sheet[data-page="65"] .media-trigger:hover{
  background:rgba(8,103,122,.90)!important;
  border-color:rgba(235,253,255,.34)!important;
}
.book-sheet[data-page="65"] .media-trigger .media-play,
.book-sheet[data-page="65"] .media-trigger .media-label{
  color:#fff!important;
}


/* ==========================================================================
   V41 — first-spread seam repair, centered YouTube action, LED search focus
   ========================================================================== */

/* 1. Real seam guard for the unique first transition.
   Unlike V40's pseudo-element, this is a dedicated layer and is activated
   before the first flip begins, so the teal background cannot flash through
   during the animation itself. */
.first-spread-seam-guard{
  display:none;
  position:absolute;
  z-index:59;
  top:.65%;
  bottom:.75%;
  left:50%;
  width:12px;
  transform:translateX(-50%);
  pointer-events:none;
  border:0;
  background:
    linear-gradient(90deg,
      #fff 0%,
      #fbfbf9 31%,
      #eeeeea 49%,
      #f6f6f3 58%,
      #fff 100%);
  box-shadow:
    inset 1px 0 rgba(98,98,92,.035),
    inset -1px 0 rgba(98,98,92,.035);
}
.reader.first-inner-spread .first-spread-seam-guard{
  display:block;
}

/* V40 used the wrapper pseudo-element as a repair. Restore it to its normal
   restrained spine role; the dedicated guard above now handles the real gap. */
.reader.first-inner-spread .pageflip-wrap::before{
  width:15px!important;
  top:1.4%!important;
  bottom:1.5%!important;
  opacity:.56!important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(30,45,43,.04) 13%,
    rgba(58,58,49,.13) 34%,
    rgba(255,255,255,.20) 50%,
    rgba(61,59,49,.11) 66%,
    rgba(30,45,43,.03) 87%,
    transparent 100%)!important;
  filter:blur(.35px)!important;
  box-shadow:none!important;
}

/* 2. "ההר הוליד עכבר": the YouTube action belongs above the printed song
   title, centered horizontally on the lyrics page. */
.book-sheet[data-page="65"] .media-trigger{
  top:2.15%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  transform:translateX(-50%)!important;
  z-index:88!important;

  min-width:84px!important;
  max-width:116px!important;
  height:31px!important;
  padding:0 10px!important;
  gap:6px!important;
  justify-content:center!important;

  border-radius:999px!important;
  color:#f7fdff!important;
  background:rgba(5,81,98,.84)!important;
  border:1px solid rgba(225,250,254,.24)!important;
  box-shadow:
    0 6px 15px rgba(0,39,48,.12),
    inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.book-sheet[data-page="65"] .media-trigger .media-play{
  font-size:13px!important;
}
.book-sheet[data-page="65"] .media-trigger .media-label{
  font-size:8.5px!important;
  line-height:1!important;
  white-space:nowrap!important;
}

/* 3. Search focus: no white/cream rectangle, no old focus-ring card.
   The glass field remains visually unchanged; only the typed letters/caret
   receive a cool LED glow. */
html:not([data-book-theme="night"]) .toc-drawer .library-search-wrap:focus-within,
html[data-book-theme="night"] .toc-drawer .library-search-wrap:focus-within{
  border:1px solid rgba(218,248,252,.12)!important;
  border-bottom:1px solid rgba(218,248,252,.12)!important;
  background:rgba(255,255,255,.055)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055)!important;
  outline:none!important;
}

.toc-drawer .library-search-wrap input,
.toc-drawer .library-search-wrap input:focus,
.toc-drawer .library-search-wrap input:focus-visible{
  -webkit-appearance:none!important;
  appearance:none!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

html:not([data-book-theme="night"]) .toc-drawer .library-search-wrap input:focus,
html[data-book-theme="night"] .toc-drawer .library-search-wrap input:focus{
  color:#effeff!important;
  caret-color:#8feeff!important;
  text-shadow:
    0 0 5px rgba(142,239,255,.34),
    0 0 11px rgba(100,226,247,.18)!important;
}

.toc-drawer .library-search-wrap:focus-within input::placeholder{
  color:rgba(225,247,250,.28)!important;
  text-shadow:none!important;
}

@media (max-width:680px){
  .first-spread-seam-guard{
    display:none!important;
  }
  .book-sheet[data-page="65"] .media-trigger{
    top:2.4%!important;
    height:27px!important;
    min-width:72px!important;
    padding:0 8px!important;
  }
  .book-sheet[data-page="65"] .media-trigger .media-label{
    font-size:7.2px!important;
  }
}


/* ==========================================================================
   V42 — unify random / contact / about into the site's glass language
   ========================================================================== */

/* Shared glass backdrop */
.modal-backdrop,
.random-pick-overlay{
  background:rgba(5,42,52,.34)!important;
  backdrop-filter:blur(12px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(12px) saturate(1.08)!important;
}

/* Old decorative paper-style pseudo layers must not fight the glass concept. */
.about-author-modal::before,
.about-author-modal::after,
.contact-drawer::before,
.contact-drawer::after{
  content:none!important;
  display:none!important;
}

/* Shared popup shell: same family as the top bar and contents drawer */
html:not([data-book-theme="night"]) .contact-drawer,
html:not([data-book-theme="night"]) .about-author-modal,
html[data-book-theme="night"] .contact-drawer,
html[data-book-theme="night"] .about-author-modal{
  border:1px solid rgba(227,248,251,.15)!important;
  background:
    linear-gradient(180deg, rgba(10,98,117,.50), rgba(8,69,84,.56))!important;
  box-shadow:
    0 24px 72px rgba(0,27,34,.30),
    inset 0 1px 0 rgba(255,255,255,.09)!important;
  color:#eefbfd!important;
  backdrop-filter:blur(18px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.08)!important;
}

/* Contact drawer behaves like a premium glass side panel */
html:not([data-book-theme="night"]) .contact-drawer,
html[data-book-theme="night"] .contact-drawer{
  width:min(430px,94vw)!important;
  padding:18px 18px 16px!important;
  border-radius:26px 0 0 26px!important;
}

/* About modal becomes a centered glass card in the same visual family */
html:not([data-book-theme="night"]) .about-author-modal,
html[data-book-theme="night"] .about-author-modal{
  width:min(700px, calc(100vw - 34px))!important;
  max-height:min(86vh, 900px)!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:28px!important;
}

/* Shared glass header */
html:not([data-book-theme="night"]) .contact-drawer .drawer-head,
html:not([data-book-theme="night"]) .about-author-head,
html[data-book-theme="night"] .contact-drawer .drawer-head,
html[data-book-theme="night"] .about-author-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:14px!important;
  margin:0 0 12px!important;
  padding:14px 16px!important;
  border-radius:18px!important;
  border:1px solid rgba(226,248,251,.10)!important;
  background:rgba(255,255,255,.05)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}

html:not([data-book-theme="night"]) .contact-drawer .drawer-head .eyebrow,
html:not([data-book-theme="night"]) .about-author-head .eyebrow,
html[data-book-theme="night"] .contact-drawer .drawer-head .eyebrow,
html[data-book-theme="night"] .about-author-head .eyebrow{
  color:rgba(244,249,250,.68)!important;
  font-size:11px!important;
  letter-spacing:.02em!important;
}

html:not([data-book-theme="night"]) .contact-drawer .drawer-head h2,
html:not([data-book-theme="night"]) .about-author-head h2,
html[data-book-theme="night"] .contact-drawer .drawer-head h2,
html[data-book-theme="night"] .about-author-head h2{
  margin:4px 0 0!important;
  color:#f4fdff!important;
  font:800 28px/1.08 "Assistant",Arial,sans-serif!important;
}

/* Close buttons */
html:not([data-book-theme="night"]) .contact-drawer .drawer-close,
html:not([data-book-theme="night"]) .about-author-modal .drawer-close,
html[data-book-theme="night"] .contact-drawer .drawer-close,
html[data-book-theme="night"] .about-author-modal .drawer-close{
  width:38px!important;
  height:38px!important;
  border-radius:12px!important;
  border:1px solid rgba(227,248,251,.14)!important;
  background:rgba(255,255,255,.055)!important;
  color:#ffffff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07)!important;
}
html:not([data-book-theme="night"]) .contact-drawer .drawer-close:hover,
html:not([data-book-theme="night"]) .about-author-modal .drawer-close:hover,
html[data-book-theme="night"] .contact-drawer .drawer-close:hover,
html[data-book-theme="night"] .about-author-modal .drawer-close:hover{
  background:rgba(255,255,255,.085)!important;
  border-color:rgba(235,253,255,.24)!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
}

/* Contact popup content */
html:not([data-book-theme="night"]) .contact-direct,
html[data-book-theme="night"] .contact-direct{
  padding:2px 4px 2px!important;
  color:#eefbfd!important;
}
html:not([data-book-theme="night"]) .contact-person-mark,
html[data-book-theme="night"] .contact-person-mark{
  width:64px!important;
  height:64px!important;
  border-radius:20px!important;
  background:linear-gradient(180deg, rgba(255,236,152,.98), rgba(245,201,72,.94))!important;
  color:#174d57!important;
  border:1px solid rgba(255,233,165,.70)!important;
  box-shadow:
    0 12px 28px rgba(0,31,38,.14),
    inset 0 1px 0 rgba(255,255,255,.62)!important;
}
html:not([data-book-theme="night"]) .contact-direct-intro strong,
html:not([data-book-theme="night"]) .about-author-figure figcaption strong,
html[data-book-theme="night"] .contact-direct-intro strong,
html[data-book-theme="night"] .about-author-figure figcaption strong{
  color:#f8fdff!important;
}
html:not([data-book-theme="night"]) .contact-direct-intro span,
html:not([data-book-theme="night"]) .contact-direct > p,
html:not([data-book-theme="night"]) .contact-direct-card small,
html:not([data-book-theme="night"]) .about-author-figure figcaption span,
html:not([data-book-theme="night"]) .about-author-copy p,
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,
html[data-book-theme="night"] .about-author-figure figcaption span,
html[data-book-theme="night"] .about-author-copy p{
  color:rgba(232,248,250,.78)!important;
}

html:not([data-book-theme="night"]) .contact-direct-cards,
html[data-book-theme="night"] .contact-direct-cards{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  margin-top:16px!important;
}

html:not([data-book-theme="night"]) .contact-direct-card,
html[data-book-theme="night"] .contact-direct-card{
  border-radius:18px!important;
  border:1px solid rgba(227,248,251,.12)!important;
  background:rgba(255,255,255,.055)!important;
  box-shadow:
    0 10px 24px rgba(0,28,35,.11),
    inset 0 1px 0 rgba(255,255,255,.06)!important;
}
html:not([data-book-theme="night"]) .contact-direct-card:hover,
html[data-book-theme="night"] .contact-direct-card:hover{
  transform:translateY(-1px)!important;
  border-color:rgba(235,252,255,.21)!important;
  background:rgba(255,255,255,.075)!important;
}
html:not([data-book-theme="night"]) .contact-direct-icon,
html[data-book-theme="night"] .contact-direct-icon{
  width:42px!important;
  height:42px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.10)!important;
  color:#fff9de!important;
  border:1px solid rgba(244,228,156,.28)!important;
}
html:not([data-book-theme="night"]) .contact-direct-card b,
html[data-book-theme="night"] .contact-direct-card b{
  color:#ffffff!important;
}

html:not([data-book-theme="night"]) .contact-whatsapp,
html[data-book-theme="night"] .contact-whatsapp{
  margin-top:16px!important;
  min-height:54px!important;
  border-radius:18px!important;
  border:1px solid rgba(230,249,252,.16)!important;
  background:
    linear-gradient(180deg, rgba(22,152,108,.56), rgba(14,108,78,.64))!important;
  color:#fff!important;
  box-shadow:
    0 14px 28px rgba(0,29,35,.16),
    inset 0 1px 0 rgba(255,255,255,.08)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
}
html:not([data-book-theme="night"]) .contact-whatsapp:hover,
html[data-book-theme="night"] .contact-whatsapp:hover{
  filter:none!important;
  transform:translateY(-1px)!important;
  border-color:rgba(235,253,255,.22)!important;
}
html:not([data-book-theme="night"]) .contact-whatsapp span,
html[data-book-theme="night"] .contact-whatsapp span{
  width:32px!important;
  height:32px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
}

/* About popup content */
html:not([data-book-theme="night"]) .about-author-body,
html[data-book-theme="night"] .about-author-body{
  padding:0 18px 18px!important;
}
html:not([data-book-theme="night"]) .about-author-layout,
html[data-book-theme="night"] .about-author-layout{
  display:grid!important;
  grid-template-columns:190px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
}
html:not([data-book-theme="night"]) .about-author-figure,
html[data-book-theme="night"] .about-author-figure{
  margin:0!important;
  padding:10px!important;
  border-radius:22px!important;
  border:1px solid rgba(227,248,251,.12)!important;
  background:rgba(255,255,255,.055)!important;
  box-shadow:
    0 10px 22px rgba(0,28,35,.11),
    inset 0 1px 0 rgba(255,255,255,.06)!important;
}
html:not([data-book-theme="night"]) .about-author-figure img,
html[data-book-theme="night"] .about-author-figure img{
  border-radius:18px!important;
  border:2px solid rgba(255,236,157,.42)!important;
  box-shadow:0 12px 30px rgba(0,25,30,.14)!important;
}
html:not([data-book-theme="night"]) .about-author-figure figcaption,
html[data-book-theme="night"] .about-author-figure figcaption{
  margin-top:10px!important;
  padding:11px 12px!important;
  border-radius:14px!important;
  border:1px solid rgba(227,248,251,.10)!important;
  background:rgba(255,255,255,.045)!important;
}
html:not([data-book-theme="night"]) .about-author-copy,
html[data-book-theme="night"] .about-author-copy{
  min-width:0!important;
}
html:not([data-book-theme="night"]) .about-author-copy p,
html[data-book-theme="night"] .about-author-copy p{
  font-size:15px!important;
  line-height:1.74!important;
  margin:0 0 14px!important;
  text-wrap:pretty!important;
}

/* Random banner / overlay when clicking "אקראי" */
html:not([data-book-theme="night"]) .random-pick-card,
html[data-book-theme="night"] .random-pick-card{
  min-width:290px!important;
  padding:18px 20px!important;
  border-radius:22px!important;
  border:1px solid rgba(227,248,251,.14)!important;
  background:
    linear-gradient(180deg, rgba(11,94,112,.56), rgba(7,67,82,.60))!important;
  color:#f4fdff!important;
  box-shadow:
    0 24px 62px rgba(0,27,34,.26),
    inset 0 1px 0 rgba(255,255,255,.08)!important;
  backdrop-filter:blur(18px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.08)!important;
}
html:not([data-book-theme="night"]) .random-book-icon,
html[data-book-theme="night"] .random-book-icon{
  width:44px!important;
  height:44px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.075)!important;
  color:#fff5ca!important;
  border:1px solid rgba(250,233,159,.22)!important;
  font-size:18px!important;
}
html:not([data-book-theme="night"]) .random-pick-card strong,
html[data-book-theme="night"] .random-pick-card strong{
  font:700 15px/1.35 "Assistant",Arial,sans-serif!important;
  color:#ffffff!important;
}
html:not([data-book-theme="night"]) .random-pick-card i,
html[data-book-theme="night"] .random-pick-card i{
  width:108px!important;
  height:2px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg, transparent, rgba(255,229,122,.92), transparent)!important;
}

/* Mobile polish */
@media (max-width:760px){
  html:not([data-book-theme="night"]) .contact-drawer,
  html[data-book-theme="night"] .contact-drawer{
    width:min(92vw,400px)!important;
    padding:14px 14px 12px!important;
    border-radius:22px 0 0 22px!important;
  }

  html:not([data-book-theme="night"]) .about-author-modal,
  html[data-book-theme="night"] .about-author-modal{
    width:min(94vw, 680px)!important;
  }

  html:not([data-book-theme="night"]) .about-author-head h2,
  html:not([data-book-theme="night"]) .contact-drawer .drawer-head h2,
  html[data-book-theme="night"] .about-author-head h2,
  html[data-book-theme="night"] .contact-drawer .drawer-head h2{
    font-size:23px!important;
  }

  html:not([data-book-theme="night"]) .about-author-layout,
  html[data-book-theme="night"] .about-author-layout{
    grid-template-columns:1fr!important;
  }

  html:not([data-book-theme="night"]) .about-author-figure,
  html[data-book-theme="night"] .about-author-figure{
    max-width:280px!important;
    margin:0 auto!important;
  }
}


/* ==========================================================================
   V43 — first-spread atomic settle + popup ownership fix + white page badges
   ========================================================================== */

/* Retire the previous seam-cover experiments completely. */
.first-spread-seam-guard{
  display:none!important;
}
.reader.first-inner-spread .pageflip-wrap::before{
  width:15px!important;
  top:1.4%!important;
  bottom:1.5%!important;
  opacity:.56!important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(30,45,43,.04) 13%,
    rgba(58,58,49,.13) 34%,
    rgba(255,255,255,.20) 50%,
    rgba(61,59,49,.11) 66%,
    rgba(30,45,43,.03) 87%,
    transparent 100%)!important;
  filter:blur(.35px)!important;
  box-shadow:none!important;
}

/* Page 1 -> spread 2–3 now arrives as one joined spread.
   The tiny opacity settle avoids a hard visual snap but never changes the
   geometry or creates a gutter between the two pages. */
.reader.first-spread-settle .pageflip-mirror{
  opacity:.965!important;
  transition:opacity .18s ease!important;
}
.reader.first-spread-settle.first-spread-settle-in .pageflip-mirror{
  opacity:1!important;
}

/* All "עמ' X" labels in the contents UI are cool white, including normal,
   current, page-grid and listening variants. No brown/grey inheritance. */
html:not([data-book-theme="night"]) .toc-drawer .toc-page-badge,
html[data-book-theme="night"] .toc-drawer .toc-page-badge,
html:not([data-book-theme="night"]) .toc-drawer .page-thumb small,
html[data-book-theme="night"] .toc-drawer .page-thumb small,
html:not([data-book-theme="night"]) .toc-drawer .library-listen-title small,
html[data-book-theme="night"] .toc-drawer .library-listen-title small,
html:not([data-book-theme="night"]) .toc-drawer [class*="page"] small,
html[data-book-theme="night"] .toc-drawer [class*="page"] small{
  color:#ffffff!important;
  opacity:1!important;
  text-shadow:0 1px 7px rgba(0,38,46,.22)!important;
}

/* Keep the page badge clearly white even inside the yellow current selection. */
html:not([data-book-theme="night"]) .toc-drawer .toc-item.current .toc-page-badge,
html[data-book-theme="night"] .toc-drawer .toc-item.current .toc-page-badge{
  color:#ffffff!important;
  background:rgba(22,74,86,.50)!important;
  border-color:rgba(255,255,255,.24)!important;
  text-shadow:none!important;
}

/* The About modal is the sole modal owner after TOC closes. */
body:not(.toc-pinned-open) .about-author-modal.open{
  isolation:isolate!important;
}

@media (prefers-reduced-motion:reduce){
  .reader.first-spread-settle .pageflip-mirror{
    transition:none!important;
  }
}


/* ==========================================================================
   V44 — dedicated mobile one-page reader
   Phones should read one page at a time, larger and cleaner, while keeping
   the real flip animation and the existing desktop reader unchanged.
   ========================================================================== */

@media (max-width:680px){
  html.mobile-book-onepage,
  body.mobile-book-onepage{
    overflow-x:hidden!important;
  }

  .reader.mobile-book-onepage{
    grid-template-rows:46px minmax(0,1fr) 39px!important;
  }

  .reader.mobile-book-onepage .reader-scene{
    padding:4px 4px 5px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
  }

  /* Crucial: keep the stage narrower than the engine's 2-page threshold,
     so StPageFlip chooses portrait mode and each page fills the phone. */
  .reader.mobile-book-onepage .book-wrap.pageflip-wrap,
  .reader.mobile-book-onepage .pageflip-wrap{
    width:min(calc(100vw - 12px), 392px)!important;
    max-width:min(calc(100vw - 12px), 392px)!important;
    height:auto!important;
    max-height:calc(100dvh - 94px)!important;
    aspect-ratio:528.633 / 737.008!important;
    margin-inline:auto!important;
    overflow:visible!important;
  }

  .reader.mobile-book-onepage .pageflip-mirror,
  .reader.mobile-book-onepage #book.pageflip-book,
  .reader.mobile-book-onepage #book.stf__parent,
  .reader.mobile-book-onepage #book.stf__parent > .stf__wrapper{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
  }

  .reader.mobile-book-onepage .pageflip-wrap::after{
    bottom:-3px!important;
    height:8px!important;
    filter:blur(8px)!important;
    opacity:.42!important;
  }

  /* Portrait/single-page pages may use a little more inner space. */
  .reader.mobile-book-onepage .poem-page.kind-poem .poem-inner{
    top:14.3%!important;
    bottom:8.5%!important;
    left:6.1%!important;
    right:6.1%!important;
  }
  .reader.mobile-book-onepage .poem-page.kind-poem .poem-body,
  .reader.mobile-book-onepage .poem-page.kind-poem.is-compact .poem-body,
  .reader.mobile-book-onepage .poem-page.kind-poem.is-tight .poem-body,
  .reader.mobile-book-onepage .poem-page.kind-poem.is-two-col .poem-body{
    font-size:clamp(11.1px, 3.05vw, 12.6px)!important;
    line-height:1.35!important;
  }
  .reader.mobile-book-onepage .poem-page.kind-poem .poem-title{
    font-size:clamp(21px, 5.8vw, 26px)!important;
  }

  .reader.mobile-book-onepage .poem-page.kind-prose .poem-inner,
  .reader.mobile-book-onepage .poem-page.kind-prose[data-page="3"] .poem-inner,
  .reader.mobile-book-onepage .poem-page.kind-prose[data-page="5"] .poem-inner{
    top:7.1%!important;
    bottom:5.3%!important;
    left:5.8%!important;
    right:5.8%!important;
  }
  .reader.mobile-book-onepage .poem-page.kind-prose .poem-body,
  .reader.mobile-book-onepage .poem-page.kind-prose[data-page="3"] .poem-body,
  .reader.mobile-book-onepage .poem-page.kind-prose[data-page="5"] .poem-body{
    font-size:clamp(10.2px, 2.82vw, 11.2px)!important;
    line-height:1.42!important;
  }

  /* The side controls should sit close to the single page, not far away. */
  .reader.mobile-book-onepage .nav-hit,
  .reader.mobile-book-onepage .nav-next,
  .reader.mobile-book-onepage .nav-prev{
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    height:62px!important;
    min-height:62px!important;
    max-height:62px!important;
    border-radius:12px!important;
    top:50%!important;
  }
  .reader.mobile-book-onepage .nav-next{ left:4px!important; }
  .reader.mobile-book-onepage .nav-prev{ right:4px!important; }

  /* Drawer / popups mobile fit polish */
  .toc-drawer{
    width:min(88vw, 350px)!important;
  }
  .toc-drawer .toc-item,
  .toc-drawer .page-thumb,
  .toc-drawer .library-listen-item{
    min-height:58px!important;
  }

  .about-author-modal,
  .contact-drawer{
    max-width:min(94vw, 420px)!important;
  }

  /* Leave more room to the page by making the top toolbar slightly tighter. */
  .reader-bar{
    min-height:44px!important;
    height:44px!important;
    padding:4px 4px!important;
  }
  .reader-actions{
    gap:4px!important;
  }
  .reader-bar .icon-btn,
  .reader-bar .icon-btn.feature-btn{
    flex:0 0 38px!important;
    min-width:38px!important;
    width:38px!important;
    height:34px!important;
    min-height:34px!important;
    padding:3px!important;
  }
}


/* ==========================================================================
   V45 — mobile product polish
   One-page book in portrait + phone landscape, safe areas, compact chrome,
   cleaner drawers/popups, and no surprise keyboard on TOC open.
   ========================================================================== */

/* This class is set only by the JS mobile detector (phone width or coarse
   pointer phone landscape), so these rules do not alter desktop. */
html.mobile-book-onepage,
body.mobile-book-onepage{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}

body.mobile-book-onepage.reader-open{
  overflow:hidden!important;
  overscroll-behavior:none!important;
  touch-action:manipulation;
}

.reader.mobile-book-onepage{
  grid-template-rows:
    calc(43px + env(safe-area-inset-top))
    minmax(0,1fr)
    calc(36px + env(safe-area-inset-bottom))!important;
}

/* Top toolbar: fit the useful controls without feeling cramped. */
.reader.mobile-book-onepage .reader-bar{
  min-height:calc(43px + env(safe-area-inset-top))!important;
  height:calc(43px + env(safe-area-inset-top))!important;
  padding:
    calc(4px + env(safe-area-inset-top))
    max(4px,env(safe-area-inset-right))
    4px
    max(4px,env(safe-area-inset-left))!important;
  gap:0!important;
  overflow:hidden!important;
}
.reader.mobile-book-onepage .brand-mini{
  display:none!important;
}
.reader.mobile-book-onepage .reader-actions{
  width:100%!important;
  min-width:0!important;
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:4px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:0 1px!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch!important;
}
.reader.mobile-book-onepage .reader-actions::-webkit-scrollbar{
  display:none!important;
}
.reader.mobile-book-onepage .reader-bar .icon-btn,
.reader.mobile-book-onepage .reader-bar .icon-btn.feature-btn{
  flex:0 0 37px!important;
  width:37px!important;
  min-width:37px!important;
  max-width:37px!important;
  height:34px!important;
  min-height:34px!important;
  padding:2px!important;
  border-radius:10px!important;
}
.reader.mobile-book-onepage .reader-bar .icon-btn .label{
  display:none!important;
}
.reader.mobile-book-onepage .reader-bar .icon-btn > span:first-child:not(.label),
.reader.mobile-book-onepage .reader-bar .magnifier-toolbar-icon{
  width:27px!important;
  height:27px!important;
  min-width:27px!important;
  border-radius:9px!important;
}
.reader.mobile-book-onepage .magnifier-btn{
  display:none!important;
}

/* Book stage: calculate width from BOTH phone width and usable height.
   This is important when the phone rotates to landscape. */
.reader.mobile-book-onepage .reader-scene{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:0!important;
  padding:4px!important;
  overflow:hidden!important;
  touch-action:none!important;
}
.reader.mobile-book-onepage .book-wrap.pageflip-wrap,
.reader.mobile-book-onepage .pageflip-wrap{
  width:min(
    calc(100vw - 10px),
    calc((100dvh - 88px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 0.71727),
    410px
  )!important;
  max-width:min(
    calc(100vw - 10px),
    calc((100dvh - 88px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 0.71727),
    410px
  )!important;
  height:auto!important;
  max-height:calc(100dvh - 88px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
  aspect-ratio:528.633 / 737.008!important;
  margin:auto!important;
  overflow:visible!important;
  touch-action:none!important;
}
.reader.mobile-book-onepage .pageflip-mirror,
.reader.mobile-book-onepage #book.pageflip-book,
.reader.mobile-book-onepage #book.stf__parent,
.reader.mobile-book-onepage #book.stf__parent > .stf__wrapper{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  touch-action:none!important;
}

/* Single-page shadow should feel physical, not like a floating card. */
.reader.mobile-book-onepage .pageflip-mirror{
  filter:drop-shadow(0 14px 20px rgba(0,27,34,.22))!important;
}
.reader.mobile-book-onepage.page-folding .pageflip-mirror{
  filter:drop-shadow(0 18px 25px rgba(0,22,28,.30))!important;
}

/* Navigation: visually quiet, but keep a comfortable touch target. */
.reader.mobile-book-onepage .nav-hit,
.reader.mobile-book-onepage .nav-next,
.reader.mobile-book-onepage .nav-prev{
  position:absolute!important;
  z-index:92!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  height:70px!important;
  min-height:70px!important;
  max-height:70px!important;
  border-radius:12px!important;
  background:rgba(2,65,79,.44)!important;
  border:1px solid rgba(226,249,252,.14)!important;
  box-shadow:0 8px 22px rgba(0,28,35,.10)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}
.reader.mobile-book-onepage .nav-next{
  left:max(3px,env(safe-area-inset-left))!important;
  right:auto!important;
}
.reader.mobile-book-onepage .nav-prev{
  right:max(3px,env(safe-area-inset-right))!important;
  left:auto!important;
}
.reader.mobile-book-onepage .nav-hit .nav-chev{
  font-size:25px!important;
}
.reader.mobile-book-onepage .nav-hit small{
  display:none!important;
}

/* Page-level actions: smaller than desktop, but still finger-friendly. */
.reader.mobile-book-onepage .page-favorite,
.reader.mobile-book-onepage .page-share,
.reader.mobile-book-onepage .media-trigger{
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:38px!important;
  min-height:38px!important;
  padding:3px!important;
  border-radius:11px!important;
}
.reader.mobile-book-onepage .page-favorite .fav-text,
.reader.mobile-book-onepage .page-share .share-text,
.reader.mobile-book-onepage .media-trigger .media-label{
  font-size:7.5px!important;
  line-height:1!important;
}

/* Mobile footer: keep useful progress visible above the developer-credit pill. */
.reader.mobile-book-onepage .reader-footer{
  min-height:calc(36px + env(safe-area-inset-bottom))!important;
  height:calc(36px + env(safe-area-inset-bottom))!important;
  padding:
    1px
    max(8px,env(safe-area-inset-right))
    calc(13px + env(safe-area-inset-bottom))
    max(8px,env(safe-area-inset-left))!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:8px!important;
  font-size:8.7px!important;
}
.reader.mobile-book-onepage .reader-footer .hint{
  display:none!important;
}
.reader.mobile-book-onepage .progress-control{
  min-width:0!important;
}

/* Developer credit remains visible, but no longer dominates or obscures footer. */
body.mobile-book-onepage .global-site-credit{
  bottom:max(2px,env(safe-area-inset-bottom))!important;
  padding:2px 7px!important;
  max-width:calc(100vw - 16px)!important;
  font-size:8.6px!important;
  line-height:1.1!important;
  opacity:.86!important;
  background:rgba(2,58,70,.70)!important;
  border-color:rgba(229,249,252,.12)!important;
  color:#f0fbfd!important;
}

/* Contents drawer on phones: compact, readable, and keyboard stays closed
   until the search field itself is tapped. */
body.mobile-book-onepage .toc-drawer.library-drawer,
html.mobile-book-onepage .toc-drawer.library-drawer{
  width:min(86vw,348px)!important;
  max-width:min(86vw,348px)!important;
  padding:
    calc(10px + env(safe-area-inset-top))
    10px
    calc(9px + env(safe-area-inset-bottom))
    10px!important;
}
body.mobile-book-onepage .toc-drawer .drawer-head{
  min-height:56px!important;
  padding:8px 9px!important;
  margin-bottom:8px!important;
}
body.mobile-book-onepage .toc-drawer .drawer-head h2{
  font-size:18px!important;
}
body.mobile-book-onepage .toc-drawer .library-search-wrap{
  min-height:40px!important;
}
body.mobile-book-onepage .toc-drawer .library-tabs{
  min-height:38px!important;
}
body.mobile-book-onepage .toc-drawer .toc-item{
  min-height:54px!important;
  padding:9px!important;
}
body.mobile-book-onepage .toc-drawer .toc-item-title{
  font-size:14px!important;
}
body.mobile-book-onepage .toc-drawer .toc-page-badge{
  min-width:42px!important;
  padding:5px 6px!important;
}

/* Contact side drawer: safe-area aware and scrollable without clipping CTA. */
body.mobile-book-onepage .contact-drawer{
  width:min(90vw,390px)!important;
  max-width:min(90vw,390px)!important;
  padding:
    calc(12px + env(safe-area-inset-top))
    12px
    calc(12px + env(safe-area-inset-bottom))
    12px!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
}
body.mobile-book-onepage .contact-person-mark{
  width:54px!important;
  height:54px!important;
  border-radius:17px!important;
}
body.mobile-book-onepage .contact-direct-intro strong{
  font-size:23px!important;
}

/* About modal: use the viewport efficiently, with a sticky glass header and
   an independently scrolling body. */
body.mobile-book-onepage .about-author-modal{
  width:min(94vw,430px)!important;
  max-width:min(94vw,430px)!important;
  height:min(88dvh,760px)!important;
  max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
  display:flex!important;
  flex-direction:column!important;
}
body.mobile-book-onepage .about-author-head{
  flex:0 0 auto!important;
  position:sticky!important;
  top:0!important;
  z-index:3!important;
  margin:0!important;
  border-radius:0!important;
  padding:
    calc(12px + env(safe-area-inset-top))
    13px
    11px!important;
}
body.mobile-book-onepage .about-author-head h2{
  font-size:22px!important;
}
body.mobile-book-onepage .about-author-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  padding:13px 14px calc(16px + env(safe-area-inset-bottom))!important;
}
body.mobile-book-onepage .about-author-layout{
  grid-template-columns:1fr!important;
  gap:14px!important;
}
body.mobile-book-onepage .about-author-figure{
  width:min(64vw,230px)!important;
  max-width:230px!important;
  margin:0 auto!important;
}
body.mobile-book-onepage .about-author-copy p{
  font-size:14px!important;
  line-height:1.66!important;
}

/* Random overlay scales correctly on very narrow phones. */
body.mobile-book-onepage .random-pick-card{
  min-width:0!important;
  width:min(82vw,300px)!important;
  padding:16px 17px!important;
}

/* Landscape phone: sacrifice some chrome before shrinking the physical page. */
@media (orientation:landscape){
  body.mobile-book-onepage .reader.mobile-book-onepage{
    grid-template-rows:
      calc(39px + env(safe-area-inset-top))
      minmax(0,1fr)
      calc(26px + env(safe-area-inset-bottom))!important;
  }
  body.mobile-book-onepage .reader-bar{
    min-height:calc(39px + env(safe-area-inset-top))!important;
    height:calc(39px + env(safe-area-inset-top))!important;
    padding-top:calc(2px + env(safe-area-inset-top))!important;
    padding-bottom:2px!important;
  }
  body.mobile-book-onepage .reader-bar .icon-btn,
  body.mobile-book-onepage .reader-bar .icon-btn.feature-btn{
    height:31px!important;
    min-height:31px!important;
  }
  body.mobile-book-onepage .reader-footer{
    min-height:calc(26px + env(safe-area-inset-bottom))!important;
    height:calc(26px + env(safe-area-inset-bottom))!important;
    padding-bottom:calc(11px + env(safe-area-inset-bottom))!important;
  }
  body.mobile-book-onepage .reader-footer .progress-control{
    display:none!important;
  }
  body.mobile-book-onepage .page-turn-tip{
    display:none!important;
  }
}


/* ==========================================================================
   V46 — persistent outer-corner Save control + About over open TOC
   ========================================================================== */

/* About may sit above an already-open TOC. The TOC stays exactly where it was. */
body.about-over-toc .toc-drawer.open{
  z-index:90!important;
}
body.about-over-toc .about-author-modal.open{
  z-index:98!important;
}
body.about-over-toc .modal-backdrop:not([hidden]){
  z-index:80!important;
}

/* Old rules hid favorites on illustrations/continuations. The new rule is
   authoritative: if JS says the page is saveable, show it. */
.page-favorite[hidden]{
  display:none!important;
}
.poem-page .page-favorite:not([hidden]),
.poem-page.has-page-image .page-favorite:not([hidden]),
.poem-page.kind-poem.spread-continuation .page-favorite:not([hidden]),
#book.exact-spread-book .exact-sheet .poem-page.has-page-image .page-favorite:not([hidden]){
  display:flex!important;
}

/* Universal outer-corner control. Small enough not to cover the page, clear
   enough to discover, and uses the same glass language as the site chrome. */
.poem-page .page-favorite:not([hidden]){
  position:absolute!important;
  z-index:92!important;
  top:2.15%!important;
  width:54px!important;
  min-width:54px!important;
  max-width:54px!important;
  height:43px!important;
  min-height:43px!important;
  padding:4px 4px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:1px!important;
  border:1px solid rgba(10,99,117,.15)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.82)!important;
  color:#0b7186!important;
  box-shadow:
    0 7px 18px rgba(0,53,64,.10),
    inset 0 1px 0 rgba(255,255,255,.85)!important;
  backdrop-filter:blur(9px)!important;
  -webkit-backdrop-filter:blur(9px)!important;
  opacity:.96!important;
}

/* Physical Hebrew outer edge: right-hand sheet -> right edge,
   left-hand sheet -> left edge. */
.book-sheet.rtl-right .page-favorite:not([hidden]),
.page-right .page-favorite:not([hidden]){
  right:1.7%!important;
  left:auto!important;
}
.book-sheet.rtl-left .page-favorite:not([hidden]),
.page-left .page-favorite:not([hidden]){
  left:1.7%!important;
  right:auto!important;
}

.poem-page .page-favorite:not([hidden]):hover{
  transform:translateY(-1px)!important;
  background:rgba(255,255,255,.94)!important;
  border-color:rgba(8,116,137,.24)!important;
  box-shadow:
    0 10px 22px rgba(0,53,64,.13),
    inset 0 1px 0 rgba(255,255,255,.92)!important;
}

.poem-page .page-favorite .fav-icon{
  font-size:20px!important;
  line-height:.95!important;
  color:#087a90!important;
}
.poem-page .page-favorite .fav-text{
  font:700 8.5px/1 "Assistant",Arial,sans-serif!important;
  color:#0b6f82!important;
}

/* Saved = warm yellow from the cover, maintaining the site's visual language. */
.poem-page .page-favorite.saved:not([hidden]){
  background:linear-gradient(180deg,rgba(255,247,196,.96),rgba(255,219,91,.94))!important;
  border-color:rgba(225,183,48,.48)!important;
  color:#174b55!important;
}
.poem-page .page-favorite.saved .fav-icon::before{
  color:#174b55!important;
  font-size:19px!important;
}
.poem-page .page-favorite.saved .fav-text{
  color:#174b55!important;
}

/* On scanned illustration pages, preserve full artwork; the button floats
   above the printed outer corner without changing image dimensions. */
.poem-page.has-page-image .page-favorite:not([hidden]){
  background:rgba(255,255,255,.76)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}

/* Mobile single-page: still outer-corner, smaller and finger friendly. */
body.mobile-book-onepage .poem-page .page-favorite:not([hidden]),
html.mobile-book-onepage .poem-page .page-favorite:not([hidden]){
  top:1.7%!important;
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:38px!important;
  min-height:38px!important;
  border-radius:11px!important;
  padding:3px!important;
}
body.mobile-book-onepage .poem-page .page-favorite .fav-icon,
html.mobile-book-onepage .poem-page .page-favorite .fav-icon{
  font-size:18px!important;
}
body.mobile-book-onepage .poem-page .page-favorite .fav-text,
html.mobile-book-onepage .poem-page .page-favorite .fav-text{
  font-size:7.4px!important;
}
body.mobile-book-onepage .book-sheet.rtl-right .page-favorite:not([hidden]),
html.mobile-book-onepage .book-sheet.rtl-right .page-favorite:not([hidden]){
  right:1.3%!important;
}
body.mobile-book-onepage .book-sheet.rtl-left .page-favorite:not([hidden]),
html.mobile-book-onepage .book-sheet.rtl-left .page-favorite:not([hidden]){
  left:1.3%!important;
}


/* ==========================================================================
   V47 — homepage secondary actions: +15% and bold
   ========================================================================== */

.landing-links .landing-link-btn{
  font-size:115%!important;
  font-weight:700!important;
}
.landing-links .landing-link-btn > span:last-child{
  font-weight:700!important;
}
.landing-links .landing-link-btn > span:first-child{
  font-size:115%!important;
  font-weight:700!important;
}

/* Keep the three actions balanced after enlarging them. */
.landing-links{
  gap:14px!important;
}

@media (max-width:680px){
  .landing-links .landing-link-btn{
    font-size:115%!important;
    font-weight:700!important;
  }
  .landing-links{
    gap:12px!important;
  }
}


/* ==========================================================================
   V48 — MOBILE ONLY final pass
   No desktop rule below is changed.
   ========================================================================== */

/* 1. Home: all three secondary actions stay on ONE row. */
@media (max-width:680px), (max-width:950px) and (pointer:coarse){
  .landing-links{
    width:min(100%,390px)!important;
    margin:10px auto 0!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    flex-wrap:nowrap!important;
  }
  .landing-links .landing-link-btn{
    min-width:0!important;
    width:100%!important;
    padding:6px 2px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    font-size:11.2px!important;
    line-height:1.05!important;
    font-weight:700!important;
    white-space:nowrap!important;
  }
  .landing-links .landing-link-btn > span:last-child{
    min-width:0!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .landing-links .landing-link-btn > span:first-child{
    flex:0 0 auto!important;
    font-size:12px!important;
  }
}

/* 2. Reader toolbar: full phone width, six useful controls, icon + short name. */
body.mobile-book-onepage .reader{
  grid-template-rows:
    calc(57px + env(safe-area-inset-top))
    minmax(0,1fr)
    calc(36px + env(safe-area-inset-bottom))!important;
}
body.mobile-book-onepage .reader-bar{
  min-height:calc(57px + env(safe-area-inset-top))!important;
  height:calc(57px + env(safe-area-inset-top))!important;
  width:100vw!important;
  max-width:100vw!important;
  padding:
    calc(4px + env(safe-area-inset-top))
    max(3px,env(safe-area-inset-right))
    4px
    max(3px,env(safe-area-inset-left))!important;
  overflow:visible!important;
}
body.mobile-book-onepage .reader-actions{
  width:100%!important;
  height:49px!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:3px!important;
  overflow:visible!important;
  padding:0!important;
}
body.mobile-book-onepage .reader-bar .icon-btn,
body.mobile-book-onepage .reader-bar .icon-btn.feature-btn{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:49px!important;
  min-height:49px!important;
  padding:3px 1px 4px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  border-radius:11px!important;
}
body.mobile-book-onepage .reader-bar .icon-btn > span:first-child:not(.label),
body.mobile-book-onepage .reader-bar .magnifier-toolbar-icon{
  width:25px!important;
  height:25px!important;
  min-width:25px!important;
  flex:0 0 25px!important;
  border-radius:8px!important;
  font-size:14px!important;
}
body.mobile-book-onepage .reader-bar .icon-btn .label[data-mobile-label]{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:10px!important;
  margin:0!important;
  padding:0!important;
  font-size:0!important;
  line-height:1!important;
  font-weight:700!important;
  color:#f3fdff!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
body.mobile-book-onepage .reader-bar .icon-btn .label[data-mobile-label]::after{
  content:attr(data-mobile-label);
  display:block;
  font:700 8.3px/1 "Assistant",Arial,sans-serif;
  color:#f3fdff;
  white-space:nowrap;
}
body.mobile-book-onepage .brand-mini{
  display:none!important;
}

/* Keep intentionally hidden tools hidden even though the mobile toolbar is grid. */
body.mobile-book-onepage #soundBtn,
body.mobile-book-onepage #themeBtn,
body.mobile-book-onepage #cleanReadingBtn,
body.mobile-book-onepage #magnifierBtn,
body.mobile-book-onepage #fullscreenBtn{
  display:none!important;
}

/* 3. Scanned SONG pages: reset the inherited poem layout offsets.
   Illustration pages were already centered; song scans now use the exact same
   full-page centering and cannot be cropped at top/bottom/side. */
body.mobile-book-onepage .poem-page.kind-poem.has-page-image .poem-inner{
  position:absolute!important;
  inset:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
}
body.mobile-book-onepage .poem-page.kind-poem.has-page-image .poem-body{
  position:absolute!important;
  inset:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  transform:none!important;
}
body.mobile-book-onepage .poem-page.kind-poem.has-page-image .book-page-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0 auto!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:50% 50%!important;
  transform:none!important;
}

/* 4. Bottom Shoham Studio credit: +5% and ALL text white. */
body.mobile-book-onepage .global-site-credit{
  font-size:9.1px!important;
  line-height:1.12!important;
  color:#ffffff!important;
}
body.mobile-book-onepage .global-site-credit,
body.mobile-book-onepage .global-site-credit span,
body.mobile-book-onepage .global-site-credit strong,
body.mobile-book-onepage .global-site-credit a{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

/* 5. Absolute mobile one-page ceiling.
   Keep the PageFlip viewport below the spread threshold even on the largest
   phones and after rotation. The real page-turn animation remains enabled. */
html.mobile-force-onepage .reader.mobile-book-onepage .book-wrap.pageflip-wrap,
html.mobile-force-onepage .reader.mobile-book-onepage .pageflip-wrap,
body.mobile-force-onepage .reader.mobile-book-onepage .book-wrap.pageflip-wrap,
body.mobile-force-onepage .reader.mobile-book-onepage .pageflip-wrap{
  width:min(
    calc(100vw - 10px),
    calc((100dvh - 101px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 0.71727),
    386px
  )!important;
  max-width:min(
    calc(100vw - 10px),
    calc((100dvh - 101px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 0.71727),
    386px
  )!important;
  min-width:0!important;
  aspect-ratio:528.633 / 737.008!important;
  margin:auto!important;
}
html.mobile-force-onepage .reader.mobile-book-onepage .pageflip-mirror,
body.mobile-force-onepage .reader.mobile-book-onepage .pageflip-mirror,
html.mobile-force-onepage .reader.mobile-book-onepage #book,
body.mobile-force-onepage .reader.mobile-book-onepage #book{
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  max-height:100%!important;
}

/* Phone landscape: still exactly one page; labels stay visible. */
@media (orientation:landscape){
  body.mobile-book-onepage .reader{
    grid-template-rows:
      calc(51px + env(safe-area-inset-top))
      minmax(0,1fr)
      calc(27px + env(safe-area-inset-bottom))!important;
  }
  body.mobile-book-onepage .reader-bar{
    min-height:calc(51px + env(safe-area-inset-top))!important;
    height:calc(51px + env(safe-area-inset-top))!important;
    padding-top:calc(2px + env(safe-area-inset-top))!important;
    padding-bottom:2px!important;
  }
  body.mobile-book-onepage .reader-actions{
    height:45px!important;
  }
  body.mobile-book-onepage .reader-bar .icon-btn,
  body.mobile-book-onepage .reader-bar .icon-btn.feature-btn{
    height:45px!important;
    min-height:45px!important;
  }
  body.mobile-book-onepage .reader-bar .icon-btn > span:first-child:not(.label){
    width:23px!important;
    height:23px!important;
    min-width:23px!important;
    flex-basis:23px!important;
  }
  body.mobile-book-onepage .reader-bar .icon-btn .label[data-mobile-label]::after{
    font-size:7.7px!important;
  }
  html.mobile-force-onepage .reader.mobile-book-onepage .book-wrap.pageflip-wrap,
  html.mobile-force-onepage .reader.mobile-book-onepage .pageflip-wrap,
  body.mobile-force-onepage .reader.mobile-book-onepage .book-wrap.pageflip-wrap,
  body.mobile-force-onepage .reader.mobile-book-onepage .pageflip-wrap{
    width:min(
      calc(100vw - 18px),
      calc((100dvh - 86px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 0.71727),
      386px
    )!important;
    max-width:min(
      calc(100vw - 18px),
      calc((100dvh - 86px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 0.71727),
      386px
    )!important;
  }
}


/* ==========================================================================
   V49 — MOBILE ONLY: footer/progress spacing + clearer top toolbar
   Desktop remains untouched.
   ========================================================================== */

@media (max-width:680px), (max-width:950px) and (pointer:coarse){

  /* 1. Credit: another +5% from V48, still entirely white. */
  body.mobile-book-onepage .global-site-credit{
    font-size:9.6px!important;
    line-height:1.13!important;
    padding:3px 8px!important;
    color:#fff!important;
  }
  body.mobile-book-onepage .global-site-credit,
  body.mobile-book-onepage .global-site-credit span,
  body.mobile-book-onepage .global-site-credit strong,
  body.mobile-book-onepage .global-site-credit a{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }

  /* Put the progress control clearly BETWEEN the physical page and the credit.
     Lift only the progress area, not the book itself. */
  body.mobile-book-onepage .reader-footer{
    position:relative!important;
    min-height:calc(42px + env(safe-area-inset-bottom))!important;
    height:calc(42px + env(safe-area-inset-bottom))!important;
    padding:
      0
      max(9px,env(safe-area-inset-right))
      calc(16px + env(safe-area-inset-bottom))
      max(9px,env(safe-area-inset-left))!important;
    align-items:start!important;
  }
  body.mobile-book-onepage .reader-footer .progress-control{
    display:flex!important;
    position:relative!important;
    height:18px!important;
    align-items:center!important;
    transform:translateY(-7px)!important;
    z-index:3!important;
  }
  body.mobile-book-onepage .reader-footer .progress-control .progress-track{
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:8px!important;
    height:3px!important;
    border-radius:999px!important;
  }
  body.mobile-book-onepage .reader-footer .page-jump-range{
    position:relative!important;
    z-index:2!important;
  }
  body.mobile-book-onepage .reader-footer .progress-copy{
    transform:translateY(-6px)!important;
    line-height:1.1!important;
  }

  /* 2. Top toolbar: a little taller, larger icons, roomier spacing,
     and a clearly visible text label under every useful icon. */
  body.mobile-book-onepage .reader{
    grid-template-rows:
      calc(65px + env(safe-area-inset-top))
      minmax(0,1fr)
      calc(42px + env(safe-area-inset-bottom))!important;
  }
  body.mobile-book-onepage .reader-bar{
    min-height:calc(65px + env(safe-area-inset-top))!important;
    height:calc(65px + env(safe-area-inset-top))!important;
    padding:
      calc(5px + env(safe-area-inset-top))
      max(4px,env(safe-area-inset-right))
      5px
      max(4px,env(safe-area-inset-left))!important;
    overflow:visible!important;
  }
  body.mobile-book-onepage .reader-actions{
    width:100%!important;
    height:55px!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:5px!important;
    overflow:visible!important;
    align-items:stretch!important;
  }
  body.mobile-book-onepage .reader-bar .icon-btn,
  body.mobile-book-onepage .reader-bar .icon-btn.feature-btn{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:55px!important;
    min-height:55px!important;
    padding:4px 2px 5px!important;
    gap:3px!important;
    overflow:visible!important;
    border-radius:12px!important;
  }
  body.mobile-book-onepage .reader-bar .icon-btn > span:first-child:not(.label),
  body.mobile-book-onepage .reader-bar .magnifier-toolbar-icon{
    width:29px!important;
    height:29px!important;
    min-width:29px!important;
    flex:0 0 29px!important;
    border-radius:9px!important;
    font-size:16px!important;
  }
  body.mobile-book-onepage .reader-bar .icon-btn .label[data-mobile-label]{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    max-width:100%!important;
    height:12px!important;
    min-height:12px!important;
    flex:0 0 12px!important;
    margin:0!important;
    padding:0!important;
    font-size:0!important;
    line-height:12px!important;
    color:#fff!important;
    overflow:visible!important;
    white-space:nowrap!important;
  }
  body.mobile-book-onepage .reader-bar .icon-btn .label[data-mobile-label]::after{
    content:attr(data-mobile-label)!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    font:700 9.7px/12px "Assistant",Arial,sans-serif!important;
    letter-spacing:0!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    text-align:center!important;
    white-space:nowrap!important;
  }

  /* Recalculate book height after giving the toolbar/footer slightly more room. */
  html.mobile-force-onepage .reader.mobile-book-onepage .book-wrap.pageflip-wrap,
  html.mobile-force-onepage .reader.mobile-book-onepage .pageflip-wrap,
  body.mobile-force-onepage .reader.mobile-book-onepage .book-wrap.pageflip-wrap,
  body.mobile-force-onepage .reader.mobile-book-onepage .pageflip-wrap{
    width:min(
      calc(100vw - 10px),
      calc((100dvh - 117px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 0.71727),
      386px
    )!important;
    max-width:min(
      calc(100vw - 10px),
      calc((100dvh - 117px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 0.71727),
      386px
    )!important;
  }
}

/* Phone landscape: keep labels visible and progress line above the credit too. */
@media (orientation:landscape) and (max-width:950px) and (pointer:coarse){
  body.mobile-book-onepage .reader{
    grid-template-rows:
      calc(58px + env(safe-area-inset-top))
      minmax(0,1fr)
      calc(34px + env(safe-area-inset-bottom))!important;
  }
  body.mobile-book-onepage .reader-bar{
    min-height:calc(58px + env(safe-area-inset-top))!important;
    height:calc(58px + env(safe-area-inset-top))!important;
    padding-top:calc(3px + env(safe-area-inset-top))!important;
    padding-bottom:3px!important;
  }
  body.mobile-book-onepage .reader-actions{
    height:50px!important;
    gap:5px!important;
  }
  body.mobile-book-onepage .reader-bar .icon-btn,
  body.mobile-book-onepage .reader-bar .icon-btn.feature-btn{
    height:50px!important;
    min-height:50px!important;
    padding-top:2px!important;
    padding-bottom:3px!important;
  }
  body.mobile-book-onepage .reader-bar .icon-btn > span:first-child:not(.label){
    width:27px!important;
    height:27px!important;
    min-width:27px!important;
    flex-basis:27px!important;
    font-size:15px!important;
  }
  body.mobile-book-onepage .reader-bar .icon-btn .label[data-mobile-label]::after{
    font-size:9px!important;
    line-height:11px!important;
  }
  body.mobile-book-onepage .reader-footer{
    min-height:calc(34px + env(safe-area-inset-bottom))!important;
    height:calc(34px + env(safe-area-inset-bottom))!important;
    padding-bottom:calc(13px + env(safe-area-inset-bottom))!important;
  }
  body.mobile-book-onepage .reader-footer .progress-control{
    display:flex!important;
    transform:translateY(-6px)!important;
  }
  body.mobile-book-onepage .reader-footer .progress-copy{
    transform:translateY(-5px)!important;
  }
  html.mobile-force-onepage .reader.mobile-book-onepage .book-wrap.pageflip-wrap,
  html.mobile-force-onepage .reader.mobile-book-onepage .pageflip-wrap,
  body.mobile-force-onepage .reader.mobile-book-onepage .book-wrap.pageflip-wrap,
  body.mobile-force-onepage .reader.mobile-book-onepage .pageflip-wrap{
    width:min(
      calc(100vw - 18px),
      calc((100dvh - 96px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 0.71727),
      386px
    )!important;
    max-width:min(
      calc(100vw - 18px),
      calc((100dvh - 96px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 0.71727),
      386px
    )!important;
  }
}


/* ==========================================================================
   V51 — Contact popup refinement
   Remove the old badge/bright header card and keep the glass language cleaner.
   ========================================================================== */

/* Contact header only: no pale/white rectangle behind the title. */
html:not([data-book-theme="night"]) .contact-drawer .drawer-head,
html[data-book-theme="night"] .contact-drawer .drawer-head{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:14px!important;
  margin:0 0 18px!important;
  padding:4px 2px 14px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* A restrained separator/accent instead of a card. */
html:not([data-book-theme="night"]) .contact-drawer .drawer-head::after,
html[data-book-theme="night"] .contact-drawer .drawer-head::after{
  content:""!important;
  position:absolute!important;
  right:2px!important;
  left:2px!important;
  bottom:0!important;
  height:1px!important;
  border-radius:999px!important;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,225,116,.38) 26%,
    rgba(225,248,251,.16) 60%,
    transparent 100%
  )!important;
}

/* Cleaner hierarchy in the heading. */
html:not([data-book-theme="night"]) .contact-drawer .drawer-head .eyebrow,
html[data-book-theme="night"] .contact-drawer .drawer-head .eyebrow{
  color:rgba(232,248,250,.62)!important;
  font-size:10.5px!important;
  font-weight:600!important;
  letter-spacing:.02em!important;
  margin:0 0 4px!important;
}

html:not([data-book-theme="night"]) .contact-drawer .drawer-head h2,
html[data-book-theme="night"] .contact-drawer .drawer-head h2{
  margin:0!important;
  color:#ffffff!important;
  font:800 30px/1.08 "Assistant",Arial,sans-serif!important;
  letter-spacing:-.01em!important;
}

/* The author line now becomes the opening visual anchor instead of the yellow ש badge. */
html:not([data-book-theme="night"]) .contact-drawer .contact-direct,
html[data-book-theme="night"] .contact-drawer .contact-direct{
  padding:0 2px 4px!important;
}

html:not([data-book-theme="night"]) .contact-drawer .contact-direct-intro,
html[data-book-theme="night"] .contact-drawer .contact-direct-intro{
  position:relative!important;
  margin:0 0 16px!important;
  padding:0 14px 0 0!important;
  gap:3px!important;
}

html:not([data-book-theme="night"]) .contact-drawer .contact-direct-intro::before,
html[data-book-theme="night"] .contact-drawer .contact-direct-intro::before{
  content:""!important;
  position:absolute!important;
  right:0!important;
  top:3px!important;
  bottom:3px!important;
  width:3px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#fff0a0,#e2b43b)!important;
  box-shadow:0 0 14px rgba(255,222,103,.18)!important;
}

html:not([data-book-theme="night"]) .contact-drawer .contact-direct-intro strong,
html[data-book-theme="night"] .contact-drawer .contact-direct-intro strong{
  color:#ffffff!important;
  font-size:25px!important;
  line-height:1.15!important;
}

html:not([data-book-theme="night"]) .contact-drawer .contact-direct-intro span,
html[data-book-theme="night"] .contact-drawer .contact-direct-intro span{
  color:rgba(231,247,249,.70)!important;
  font-size:12px!important;
}

/* Cards begin immediately after the author line, with better rhythm. */
html:not([data-book-theme="night"]) .contact-drawer .contact-direct-cards,
html[data-book-theme="night"] .contact-drawer .contact-direct-cards{
  margin-top:0!important;
  gap:10px!important;
}

/* The removed mark must never reappear through old responsive CSS. */
.contact-drawer .contact-person-mark{
  display:none!important;
}

/* Mobile keeps the same clean header treatment. */
@media (max-width:680px), (max-width:950px) and (pointer:coarse){
  body.mobile-book-onepage .contact-drawer .drawer-head{
    margin-bottom:14px!important;
    padding:2px 1px 12px!important;
  }
  body.mobile-book-onepage .contact-drawer .drawer-head h2{
    font-size:25px!important;
  }
  body.mobile-book-onepage .contact-drawer .contact-direct-intro{
    padding-right:12px!important;
    margin-bottom:14px!important;
  }
  body.mobile-book-onepage .contact-drawer .contact-direct-intro strong{
    font-size:22px!important;
  }
}


/* ==========================================================================
   V53 — visible page-turn sound toggle
   Default ON; user preference persists in localStorage.
   ========================================================================== */

/* Restore the sound control that older versions intentionally hid. */
.reader-bar #soundBtn{
  display:flex!important;
}

/* Speaker icon is deliberately simple and instantly recognizable. */
.reader-bar #soundBtn .sound-toolbar-icon{
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
}

/* Sound ON: same glass language with a subtle warm active cue. */
.reader-bar #soundBtn[aria-pressed="true"]{
  border-color:rgba(255,233,151,.24)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.045))!important;
}
.reader-bar #soundBtn[aria-pressed="true"] .sound-toolbar-icon{
  filter:drop-shadow(0 0 7px rgba(255,225,123,.18))!important;
}

/* Sound OFF: keep it visible, only visually quieter. */
.reader-bar #soundBtn[aria-pressed="false"]{
  opacity:.76!important;
  border-color:rgba(228,247,250,.10)!important;
}
.reader-bar #soundBtn[aria-pressed="false"] .sound-toolbar-icon{
  filter:none!important;
}

/* MOBILE ONLY — seven useful controls now fit across the toolbar:
   content, home, share, sound, random, about, contact. */
@media (max-width:680px), (max-width:950px) and (pointer:coarse){
  body.mobile-book-onepage #soundBtn{
    display:flex!important;
  }

  body.mobile-book-onepage .reader-actions{
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:3px!important;
  }

  body.mobile-book-onepage .reader-bar .icon-btn,
  body.mobile-book-onepage .reader-bar .icon-btn.feature-btn{
    padding-inline:1px!important;
  }

  body.mobile-book-onepage #soundBtn .sound-toolbar-icon{
    width:29px!important;
    height:29px!important;
    min-width:29px!important;
    flex:0 0 29px!important;
    font-size:17px!important;
  }

  body.mobile-book-onepage #soundBtn .label[data-mobile-label]{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
  }
}

/* Phone landscape remains one row and keeps the sound label readable. */
@media (orientation:landscape) and (max-width:950px) and (pointer:coarse){
  body.mobile-book-onepage .reader-actions{
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:3px!important;
  }
  body.mobile-book-onepage #soundBtn .sound-toolbar-icon{
    width:27px!important;
    height:27px!important;
    min-width:27px!important;
    flex-basis:27px!important;
    font-size:16px!important;
  }
}


/* ==========================================================================
   V55 — sound button uses the exact same glass language as the other toolbar
   buttons. No yellow/active background.
   ========================================================================== */

.reader-bar #soundBtn,
.reader-bar #soundBtn[aria-pressed="true"],
.reader-bar #soundBtn[aria-pressed="false"]{
  background:inherit!important;
  border-color:inherit!important;
  box-shadow:inherit!important;
  opacity:1!important;
}

.reader-bar #soundBtn::before,
.reader-bar #soundBtn::after{
  background:inherit;
}

.reader-bar #soundBtn[aria-pressed="true"] .sound-toolbar-icon,
.reader-bar #soundBtn[aria-pressed="false"] .sound-toolbar-icon{
  filter:none!important;
}

/* Muted state is communicated only by the 🔇 icon itself, not by button color. */
.reader-bar #soundBtn.sound-muted{
  opacity:1!important;
}

/* Keep hover behavior identical to the other toolbar buttons. */
.reader-bar #soundBtn:hover{
  background:rgba(255,255,255,.07)!important;
  border-color:rgba(226,248,251,.16)!important;
}


/* ==========================================================================
   V56 — definitive sound-icon glass override
   The old #soundIcon ID rule had higher specificity and kept the cream/yellow
   disc. Override that exact selector so the speaker matches every other icon.
   ========================================================================== */

.reader-bar #soundBtn,
.reader-bar #soundBtn[aria-pressed="true"],
.reader-bar #soundBtn[aria-pressed="false"]{
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(215,247,252,.14)!important;
  box-shadow:none!important;
  opacity:1!important;
}

/* IMPORTANT: target the ID directly because an older rule also targets
   #soundIcon and therefore beat the generic V28 icon styling. */
.reader-bar #soundIcon,
.reader-bar #soundBtn #soundIcon,
.reader-bar #soundBtn[aria-pressed="true"] #soundIcon,
.reader-bar #soundBtn[aria-pressed="false"] #soundIcon{
  width:29px!important;
  height:29px!important;
  min-width:29px!important;
  flex:0 0 29px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:10px!important;
  background:linear-gradient(
    180deg,
    rgba(218,249,253,.12),
    rgba(180,232,241,.055)
  )!important;
  border:1px solid rgba(215,248,252,.17)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10)!important;
  color:#eafcff!important;
  text-shadow:none!important;
  filter:none!important;
  transform:none!important;
  font-size:17px!important;
}

/* No warm cue whatsoever in either state. The emoji itself is the state. */
.reader-bar #soundBtn[aria-pressed="true"] #soundIcon,
.reader-bar #soundBtn[aria-pressed="false"] #soundIcon{
  background:linear-gradient(
    180deg,
    rgba(218,249,253,.12),
    rgba(180,232,241,.055)
  )!important;
  border-color:rgba(215,248,252,.17)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10)!important;
}

/* Same hover behavior as neighboring toolbar buttons. */
.reader-bar #soundBtn:hover{
  background:rgba(205,245,251,.11)!important;
  border-color:rgba(218,250,255,.25)!important;
  box-shadow:0 7px 18px rgba(0,37,46,.10)!important;
}
.reader-bar #soundBtn:hover #soundIcon{
  background:rgba(210,249,254,.15)!important;
  border-color:rgba(220,251,255,.25)!important;
}

/* Mobile keeps the same neutral glass icon, just at the mobile toolbar size. */
@media (max-width:680px), (max-width:950px) and (pointer:coarse){
  body.mobile-book-onepage .reader-bar #soundIcon,
  body.mobile-book-onepage .reader-bar #soundBtn #soundIcon{
    width:29px!important;
    height:29px!important;
    min-width:29px!important;
    flex-basis:29px!important;
    border-radius:9px!important;
    background:linear-gradient(
      180deg,
      rgba(218,249,253,.12),
      rgba(180,232,241,.055)
    )!important;
    border-color:rgba(215,248,252,.17)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.10)!important;
  }
}

@media (orientation:landscape) and (max-width:950px) and (pointer:coarse){
  body.mobile-book-onepage .reader-bar #soundIcon{
    width:27px!important;
    height:27px!important;
    min-width:27px!important;
    flex-basis:27px!important;
  }
}


/* ==========================================================================
   V57 — MOBILE ONLY: clearer toolbar labels under every visible icon
   Desktop is intentionally untouched.
   ========================================================================== */

@media (max-width:680px), (max-width:950px) and (pointer:coarse){

  /* Give the mobile toolbar a little more vertical room so the labels can be
     genuinely readable instead of being squeezed under the icons. */
  body.mobile-book-onepage .reader{
    grid-template-rows:
      calc(72px + env(safe-area-inset-top))
      minmax(0,1fr)
      calc(42px + env(safe-area-inset-bottom))!important;
  }

  body.mobile-book-onepage .reader-bar{
    min-height:calc(72px + env(safe-area-inset-top))!important;
    height:calc(72px + env(safe-area-inset-top))!important;
    width:100vw!important;
    padding:
      calc(5px + env(safe-area-inset-top))
      max(4px,env(safe-area-inset-right))
      5px
      max(4px,env(safe-area-inset-left))!important;
    overflow:visible!important;
  }

  /* Seven visible mobile actions, spread over the entire width. */
  body.mobile-book-onepage .reader-actions{
    width:100%!important;
    height:62px!important;
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    align-items:stretch!important;
    gap:4px!important;
    padding:0!important;
    overflow:visible!important;
  }

  body.mobile-book-onepage .reader-bar .icon-btn,
  body.mobile-book-onepage .reader-bar .icon-btn.feature-btn{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:62px!important;
    min-height:62px!important;
    margin:0!important;
    padding:5px 1px 5px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    border-radius:12px!important;
    overflow:visible!important;
  }

  /* Slightly larger icons. */
  body.mobile-book-onepage .reader-bar .icon-btn > span:first-child:not(.label),
  body.mobile-book-onepage .reader-bar .magnifier-toolbar-icon,
  body.mobile-book-onepage .reader-bar #soundIcon{
    width:31px!important;
    height:31px!important;
    min-width:31px!important;
    flex:0 0 31px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:9px!important;
    font-size:17px!important;
    line-height:1!important;
  }

  /* Contents icon is drawn differently, so give it the same visual footprint. */
  body.mobile-book-onepage #tocBtn .icon-lines{
    width:31px!important;
    height:31px!important;
    min-width:31px!important;
    flex:0 0 31px!important;
  }

  /* Every visible button gets a clear name underneath. */
  body.mobile-book-onepage .reader-bar .icon-btn .label[data-mobile-label]{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    max-width:100%!important;
    height:13px!important;
    min-height:13px!important;
    flex:0 0 13px!important;
    margin:0!important;
    padding:0!important;
    font-size:0!important;
    line-height:13px!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:visible!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }

  body.mobile-book-onepage .reader-bar .icon-btn .label[data-mobile-label]::after{
    content:attr(data-mobile-label)!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    font:700 10.6px/13px "Assistant",Arial,sans-serif!important;
    letter-spacing:0!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    text-align:center!important;
    white-space:nowrap!important;
    text-shadow:0 1px 5px rgba(0,35,43,.18)!important;
  }

  /* Keep the tools that were intentionally removed from the mobile toolbar
     hidden, so the seven named actions never wrap or become tiny. */
  body.mobile-book-onepage #themeBtn,
  body.mobile-book-onepage #magnifierBtn,
  body.mobile-book-onepage #cleanReadingBtn,
  body.mobile-book-onepage #fullscreenBtn{
    display:none!important;
  }

  /* Recalculate the physical page height only on mobile after increasing the
     toolbar height. One-page mode remains intact. */
  html.mobile-force-onepage .reader.mobile-book-onepage .book-wrap.pageflip-wrap,
  html.mobile-force-onepage .reader.mobile-book-onepage .pageflip-wrap,
  body.mobile-force-onepage .reader.mobile-book-onepage .book-wrap.pageflip-wrap,
  body.mobile-force-onepage .reader.mobile-book-onepage .pageflip-wrap{
    width:min(
      calc(100vw - 10px),
      calc((100dvh - 124px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 0.71727),
      386px
    )!important;
    max-width:min(
      calc(100vw - 10px),
      calc((100dvh - 124px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 0.71727),
      386px
    )!important;
  }
}

/* Mobile landscape only: still one line, with labels remaining readable. */
@media (orientation:landscape) and (max-width:950px) and (pointer:coarse){
  body.mobile-book-onepage .reader{
    grid-template-rows:
      calc(64px + env(safe-area-inset-top))
      minmax(0,1fr)
      calc(34px + env(safe-area-inset-bottom))!important;
  }

  body.mobile-book-onepage .reader-bar{
    min-height:calc(64px + env(safe-area-inset-top))!important;
    height:calc(64px + env(safe-area-inset-top))!important;
    padding-top:calc(3px + env(safe-area-inset-top))!important;
    padding-bottom:3px!important;
  }

  body.mobile-book-onepage .reader-actions{
    height:56px!important;
    gap:4px!important;
  }

  body.mobile-book-onepage .reader-bar .icon-btn,
  body.mobile-book-onepage .reader-bar .icon-btn.feature-btn{
    height:56px!important;
    min-height:56px!important;
    padding:3px 1px 4px!important;
    gap:3px!important;
  }

  body.mobile-book-onepage .reader-bar .icon-btn > span:first-child:not(.label),
  body.mobile-book-onepage .reader-bar #soundIcon{
    width:29px!important;
    height:29px!important;
    min-width:29px!important;
    flex-basis:29px!important;
    font-size:16px!important;
  }

  body.mobile-book-onepage .reader-bar .icon-btn .label[data-mobile-label]::after{
    font-size:10px!important;
    line-height:12px!important;
  }

  html.mobile-force-onepage .reader.mobile-book-onepage .book-wrap.pageflip-wrap,
  html.mobile-force-onepage .reader.mobile-book-onepage .pageflip-wrap,
  body.mobile-force-onepage .reader.mobile-book-onepage .book-wrap.pageflip-wrap,
  body.mobile-force-onepage .reader.mobile-book-onepage .pageflip-wrap{
    width:min(
      calc(100vw - 18px),
      calc((100dvh - 105px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 0.71727),
      386px
    )!important;
    max-width:min(
      calc(100vw - 18px),
      calc((100dvh - 105px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 0.71727),
      386px
    )!important;
  }
}


/* ==========================================================================
   V59 — MOBILE ONLY: definitive toolbar selector fix
   IMPORTANT: use .reader.mobile-book-onepage selectors so these rules beat
   the older mobile rules with the same/higher specificity.
   Desktop remains untouched.
   ========================================================================== */

@media (max-width:680px), (max-width:950px) and (pointer:coarse){

  .reader.mobile-book-onepage{
    grid-template-rows:
      calc(72px + env(safe-area-inset-top))
      minmax(0,1fr)
      calc(42px + env(safe-area-inset-bottom))!important;
  }

  .reader.mobile-book-onepage .reader-bar{
    min-height:calc(72px + env(safe-area-inset-top))!important;
    height:calc(72px + env(safe-area-inset-top))!important;
    width:100vw!important;
    max-width:100vw!important;
    padding:
      calc(5px + env(safe-area-inset-top))
      max(4px,env(safe-area-inset-right))
      5px
      max(4px,env(safe-area-inset-left))!important;
    gap:0!important;
    overflow:visible!important;
  }

  .reader.mobile-book-onepage .reader-actions{
    width:100%!important;
    min-width:0!important;
    height:62px!important;
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    gap:4px!important;
    padding:0!important;
    overflow:visible!important;
  }

  .reader.mobile-book-onepage .reader-bar .icon-btn,
  .reader.mobile-book-onepage .reader-bar .icon-btn.feature-btn{
    flex:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:62px!important;
    min-height:62px!important;
    max-height:62px!important;
    margin:0!important;
    padding:5px 1px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    border-radius:12px!important;
    overflow:visible!important;
  }

  .reader.mobile-book-onepage .reader-bar .icon-btn > span:first-child:not(.label),
  .reader.mobile-book-onepage .reader-bar .magnifier-toolbar-icon,
  .reader.mobile-book-onepage .reader-bar #soundIcon{
    width:31px!important;
    height:31px!important;
    min-width:31px!important;
    max-width:31px!important;
    flex:0 0 31px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:9px!important;
    font-size:17px!important;
    line-height:1!important;
  }

  .reader.mobile-book-onepage #tocBtn .icon-lines{
    width:31px!important;
    height:31px!important;
    min-width:31px!important;
    max-width:31px!important;
    flex:0 0 31px!important;
  }

  /* The old mobile rule explicitly says display:none!important on .label.
     This selector matches the old structural specificity and adds the
     data attribute, so the label now wins decisively. */
  .reader.mobile-book-onepage .reader-bar .icon-btn .label[data-mobile-label]{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    position:static!important;
    width:100%!important;
    max-width:100%!important;
    height:14px!important;
    min-height:14px!important;
    max-height:14px!important;
    flex:0 0 14px!important;
    margin:0!important;
    padding:0!important;
    font-size:0!important;
    line-height:14px!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:visible!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    transform:none!important;
  }

  .reader.mobile-book-onepage .reader-bar .icon-btn .label[data-mobile-label]::after{
    content:attr(data-mobile-label)!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    position:static!important;
    font:700 10.6px/14px "Assistant",Arial,sans-serif!important;
    letter-spacing:0!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    text-align:center!important;
    white-space:nowrap!important;
    text-shadow:0 1px 5px rgba(0,35,43,.20)!important;
  }

  /* Only these seven controls participate in the mobile toolbar. */
  .reader.mobile-book-onepage #tocBtn,
  .reader.mobile-book-onepage #closeBookBtn,
  .reader.mobile-book-onepage #shareBtn,
  .reader.mobile-book-onepage #soundBtn,
  .reader.mobile-book-onepage #randomBtn,
  .reader.mobile-book-onepage #aboutAuthorBtn,
  .reader.mobile-book-onepage #contactBtn{
    display:flex!important;
  }

  .reader.mobile-book-onepage #themeBtn,
  .reader.mobile-book-onepage #magnifierBtn,
  .reader.mobile-book-onepage #cleanReadingBtn,
  .reader.mobile-book-onepage #fullscreenBtn{
    display:none!important;
  }

  /* Recalculate book height only for the taller mobile toolbar. */
  html.mobile-force-onepage .reader.mobile-book-onepage .book-wrap.pageflip-wrap,
  html.mobile-force-onepage .reader.mobile-book-onepage .pageflip-wrap,
  body.mobile-force-onepage .reader.mobile-book-onepage .book-wrap.pageflip-wrap,
  body.mobile-force-onepage .reader.mobile-book-onepage .pageflip-wrap{
    width:min(
      calc(100vw - 10px),
      calc((100dvh - 124px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 0.71727),
      386px
    )!important;
    max-width:min(
      calc(100vw - 10px),
      calc((100dvh - 124px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 0.71727),
      386px
    )!important;
  }
}

@media (orientation:landscape) and (max-width:950px) and (pointer:coarse){
  .reader.mobile-book-onepage{
    grid-template-rows:
      calc(64px + env(safe-area-inset-top))
      minmax(0,1fr)
      calc(34px + env(safe-area-inset-bottom))!important;
  }

  .reader.mobile-book-onepage .reader-bar{
    min-height:calc(64px + env(safe-area-inset-top))!important;
    height:calc(64px + env(safe-area-inset-top))!important;
    padding-top:calc(3px + env(safe-area-inset-top))!important;
    padding-bottom:3px!important;
  }

  .reader.mobile-book-onepage .reader-actions{
    height:56px!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:4px!important;
  }

  .reader.mobile-book-onepage .reader-bar .icon-btn,
  .reader.mobile-book-onepage .reader-bar .icon-btn.feature-btn{
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
    padding:3px 1px 4px!important;
    gap:3px!important;
  }

  .reader.mobile-book-onepage .reader-bar .icon-btn > span:first-child:not(.label),
  .reader.mobile-book-onepage .reader-bar #soundIcon{
    width:29px!important;
    height:29px!important;
    min-width:29px!important;
    max-width:29px!important;
    flex-basis:29px!important;
    font-size:16px!important;
  }

  .reader.mobile-book-onepage .reader-bar .icon-btn .label[data-mobile-label]::after{
    font-size:10px!important;
    line-height:12px!important;
  }
}


/* ==========================================================================
   V60 — MOBILE ONLY: compact, balanced, readable top toolbar
   Desktop remains untouched.
   ========================================================================== */

@media (max-width:680px), (max-width:950px) and (pointer:coarse){

  /* Reduce dead space under each control while preserving a comfortable bar. */
  .reader.mobile-book-onepage{
    grid-template-rows:
      calc(66px + env(safe-area-inset-top))
      minmax(0,1fr)
      calc(42px + env(safe-area-inset-bottom))!important;
  }

  .reader.mobile-book-onepage .reader-bar{
    min-height:calc(66px + env(safe-area-inset-top))!important;
    height:calc(66px + env(safe-area-inset-top))!important;
    padding:
      calc(4px + env(safe-area-inset-top))
      max(4px,env(safe-area-inset-right))
      3px
      max(4px,env(safe-area-inset-left))!important;
  }

  .reader.mobile-book-onepage .reader-actions{
    height:57px!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:4px!important;
    align-items:center!important;
  }

  /* Each tool is now vertically compact: icon + label are visually grouped. */
  .reader.mobile-book-onepage .reader-bar .icon-btn,
  .reader.mobile-book-onepage .reader-bar .icon-btn.feature-btn{
    height:57px!important;
    min-height:57px!important;
    max-height:57px!important;
    padding:3px 1px 2px!important;
    gap:1px!important;
    justify-content:center!important;
    border-radius:11px!important;
  }

  /* Slightly larger icons, but without making the row feel crowded. */
  .reader.mobile-book-onepage .reader-bar .icon-btn > span:first-child:not(.label),
  .reader.mobile-book-onepage .reader-bar .magnifier-toolbar-icon,
  .reader.mobile-book-onepage .reader-bar #soundIcon{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    max-width:32px!important;
    flex:0 0 32px!important;
    border-radius:9px!important;
    font-size:18px!important;
    margin:0!important;
  }

  .reader.mobile-book-onepage #tocBtn .icon-lines{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    max-width:32px!important;
    flex:0 0 32px!important;
    margin:0!important;
  }

  /* Labels sit directly under their icons — no extra block underneath. */
  .reader.mobile-book-onepage .reader-bar .icon-btn .label[data-mobile-label]{
    height:13px!important;
    min-height:13px!important;
    max-height:13px!important;
    flex:0 0 13px!important;
    margin:-1px 0 0!important;
    padding:0!important;
    line-height:13px!important;
    overflow:visible!important;
  }

  /* Main request: make the button names clearly readable. */
  .reader.mobile-book-onepage .reader-bar .icon-btn .label[data-mobile-label]::after{
    font:700 11.4px/13px "Assistant",Arial,sans-serif!important;
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
    text-shadow:0 1px 4px rgba(0,34,42,.18)!important;
  }

  /* Keep the seven useful controls exactly on one row. */
  .reader.mobile-book-onepage #tocBtn,
  .reader.mobile-book-onepage #closeBookBtn,
  .reader.mobile-book-onepage #shareBtn,
  .reader.mobile-book-onepage #soundBtn,
  .reader.mobile-book-onepage #randomBtn,
  .reader.mobile-book-onepage #aboutAuthorBtn,
  .reader.mobile-book-onepage #contactBtn{
    display:flex!important;
  }

  .reader.mobile-book-onepage #themeBtn,
  .reader.mobile-book-onepage #magnifierBtn,
  .reader.mobile-book-onepage #cleanReadingBtn,
  .reader.mobile-book-onepage #fullscreenBtn{
    display:none!important;
  }

  /* Recalculate book space after shaving toolbar height. */
  html.mobile-force-onepage .reader.mobile-book-onepage .book-wrap.pageflip-wrap,
  html.mobile-force-onepage .reader.mobile-book-onepage .pageflip-wrap,
  body.mobile-force-onepage .reader.mobile-book-onepage .book-wrap.pageflip-wrap,
  body.mobile-force-onepage .reader.mobile-book-onepage .pageflip-wrap{
    width:min(
      calc(100vw - 10px),
      calc((100dvh - 118px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 0.71727),
      386px
    )!important;
    max-width:min(
      calc(100vw - 10px),
      calc((100dvh - 118px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 0.71727),
      386px
    )!important;
  }
}

/* Mobile landscape: same compact visual grouping, still single row. */
@media (orientation:landscape) and (max-width:950px) and (pointer:coarse){

  .reader.mobile-book-onepage{
    grid-template-rows:
      calc(59px + env(safe-area-inset-top))
      minmax(0,1fr)
      calc(34px + env(safe-area-inset-bottom))!important;
  }

  .reader.mobile-book-onepage .reader-bar{
    min-height:calc(59px + env(safe-area-inset-top))!important;
    height:calc(59px + env(safe-area-inset-top))!important;
    padding-top:calc(2px + env(safe-area-inset-top))!important;
    padding-bottom:2px!important;
  }

  .reader.mobile-book-onepage .reader-actions{
    height:52px!important;
    gap:4px!important;
  }

  .reader.mobile-book-onepage .reader-bar .icon-btn,
  .reader.mobile-book-onepage .reader-bar .icon-btn.feature-btn{
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
    padding:2px 1px 1px!important;
    gap:1px!important;
  }

  .reader.mobile-book-onepage .reader-bar .icon-btn > span:first-child:not(.label),
  .reader.mobile-book-onepage .reader-bar #soundIcon{
    width:29px!important;
    height:29px!important;
    min-width:29px!important;
    max-width:29px!important;
    flex-basis:29px!important;
    font-size:17px!important;
  }

  .reader.mobile-book-onepage .reader-bar .icon-btn .label[data-mobile-label]{
    height:12px!important;
    min-height:12px!important;
    max-height:12px!important;
    flex-basis:12px!important;
    margin:-1px 0 0!important;
  }

  .reader.mobile-book-onepage .reader-bar .icon-btn .label[data-mobile-label]::after{
    font-size:10.7px!important;
    line-height:12px!important;
  }

  html.mobile-force-onepage .reader.mobile-book-onepage .book-wrap.pageflip-wrap,
  html.mobile-force-onepage .reader.mobile-book-onepage .pageflip-wrap,
  body.mobile-force-onepage .reader.mobile-book-onepage .book-wrap.pageflip-wrap,
  body.mobile-force-onepage .reader.mobile-book-onepage .pageflip-wrap{
    width:min(
      calc(100vw - 18px),
      calc((100dvh - 100px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 0.71727),
      386px
    )!important;
    max-width:min(
      calc(100vw - 18px),
      calc((100dvh - 100px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 0.71727),
      386px
    )!important;
  }
}


/* ==========================================================================
   V61 — MOBILE ONLY: lift toolbar labels + slightly enlarge text
   Desktop remains untouched.
   ========================================================================== */

@media (max-width:680px), (max-width:950px) and (pointer:coarse){

  /* Move the label upward so it sits directly under the icon instead of
     dropping toward the bottom of the button. */
  .reader.mobile-book-onepage .reader-bar .icon-btn .label[data-mobile-label]{
    margin:-4px 0 0!important;
    transform:translateY(-2px)!important;
    height:14px!important;
    min-height:14px!important;
    max-height:14px!important;
    flex:0 0 14px!important;
    line-height:14px!important;
  }

  .reader.mobile-book-onepage .reader-bar .icon-btn .label[data-mobile-label]::after{
    font:700 12px/14px "Assistant",Arial,sans-serif!important;
    transform:translateY(-1px)!important;
  }

  /* Keep icon/label as one tight visual group. */
  .reader.mobile-book-onepage .reader-bar .icon-btn,
  .reader.mobile-book-onepage .reader-bar .icon-btn.feature-btn{
    gap:0!important;
    padding-top:3px!important;
    padding-bottom:2px!important;
  }
}

/* Phone landscape: same correction, just fractionally smaller. */
@media (orientation:landscape) and (max-width:950px) and (pointer:coarse){

  .reader.mobile-book-onepage .reader-bar .icon-btn .label[data-mobile-label]{
    margin:-3px 0 0!important;
    transform:translateY(-2px)!important;
    height:13px!important;
    min-height:13px!important;
    max-height:13px!important;
    flex-basis:13px!important;
  }

  .reader.mobile-book-onepage .reader-bar .icon-btn .label[data-mobile-label]::after{
    font-size:11.2px!important;
    line-height:13px!important;
    transform:translateY(-1px)!important;
  }
}


/* ==========================================================================
   V66 — DESKTOP ONLY: invisible normal-spread partner for physical page 1.
   It has geometry for PageFlip only; it adds no visible paper/background.
   ========================================================================== */
@media (min-width:681px){
  .book-sheet.opening-engine-dummy,
  .book-sheet.opening-engine-dummy .page-mirror-content,
  .book-sheet.opening-engine-dummy .opening-engine-dummy-content{
    background:transparent!important;
    background-image:none!important;
    border:0!important;
    box-shadow:none!important;
    outline:0!important;
    opacity:0!important;
    color:transparent!important;
    pointer-events:none!important;
  }

  .book-sheet.opening-engine-dummy::before,
  .book-sheet.opening-engine-dummy::after{
    content:none!important;
    display:none!important;
  }
}


/* ==========================================================================
   V67 — משחק הפתגמים
   Premium, editorial, quiet-interactive language. Uses original book art.
   ========================================================================== */

.landing-game-cta{
  width:min(100%,430px);
  margin:13px auto 0;
  padding:11px 13px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 22px;
  gap:10px;
  align-items:center;
  border:1px solid rgba(222,249,251,.18);
  border-radius:15px;
  background:
    linear-gradient(135deg,rgba(10,77,87,.78),rgba(9,48,57,.74)),
    rgba(7,50,58,.68);
  color:#fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 14px 36px rgba(0,48,57,.14);
  cursor:pointer;
  text-align:right;
  font-family:inherit;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.landing-game-cta:hover{
  transform:translateY(-2px);
  border-color:rgba(243,225,88,.36);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 17px 42px rgba(0,48,57,.20);
}
.landing-game-cta:active{transform:translateY(0) scale(.99)}
.landing-game-cta-icon{
  width:34px;height:34px;border-radius:10px;
  display:grid;place-items:center;
  background:rgba(218,249,252,.10);
  border:1px solid rgba(219,250,253,.15);
  color:#eefcff;font-size:18px;line-height:1;
}
.landing-game-cta-copy{display:flex;flex-direction:column;gap:1px;min-width:0}
.landing-game-cta-copy strong{font-size:14px;line-height:1.2}
.landing-game-cta-copy small{font-size:10.5px;line-height:1.25;color:#c6e7eb;font-weight:600}
.landing-game-cta-arrow{font-size:18px;color:#f1e75b;font-weight:700}

.game-toolbar-btn .game-toolbar-icon{
  display:grid!important;place-items:center!important;
  color:#eafcff!important;font-size:17px!important;
}

.drawer-game-zone{padding:10px 12px 0}
.drawer-game-btn{
  width:100%;min-height:58px;border:1px solid rgba(210,245,249,.14);
  border-radius:14px;background:
    linear-gradient(135deg,rgba(23,120,132,.22),rgba(10,65,75,.38));
  color:#fff;font-family:inherit;display:grid;
  grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;
  gap:9px;text-align:right;padding:9px 10px;cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.drawer-game-btn:hover{transform:translateY(-1px);border-color:rgba(241,231,91,.28);background:rgba(25,120,132,.28)}
.drawer-game-btn>span:first-child{
  width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:rgba(215,249,252,.09);border:1px solid rgba(215,249,252,.12);
}
.drawer-game-btn>span:nth-child(2){display:flex;flex-direction:column;gap:2px}
.drawer-game-btn strong{font-size:13px}
.drawer-game-btn small{font-size:10px;color:#b8dce1;font-weight:600}
.drawer-game-btn b{color:#f1e75b;font-size:17px}

/* Full-screen game environment */
body.proverb-game-open{overflow:hidden!important}
.proverb-game-overlay{
  position:fixed;inset:0;z-index:5200;
  display:grid;place-items:center;
  padding:clamp(12px,2vw,24px);
  opacity:0;visibility:hidden;
  transition:opacity .22s ease,visibility .22s ease;
  font-family:"Assistant",Arial,sans-serif;
}
.proverb-game-overlay.open{opacity:1;visibility:visible}
.proverb-game-backdrop{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 82% 12%,rgba(83,204,219,.16),transparent 30%),
    radial-gradient(circle at 14% 82%,rgba(238,221,80,.08),transparent 34%),
    linear-gradient(145deg,rgba(4,31,37,.93),rgba(8,53,62,.94));
  backdrop-filter:blur(18px) saturate(115%);
  -webkit-backdrop-filter:blur(18px) saturate(115%);
}
.proverb-game-backdrop::after{
  content:"";position:absolute;inset:0;opacity:.28;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:linear-gradient(to bottom,transparent,black 18%,black 82%,transparent);
}
.proverb-game-shell{
  position:relative;z-index:1;
  width:min(1080px,100%);height:min(760px,calc(100dvh - 32px));
  display:grid;grid-template-rows:72px minmax(0,1fr);
  overflow:hidden;border-radius:26px;
  border:1px solid rgba(210,246,250,.16);
  background:
    linear-gradient(180deg,rgba(13,69,78,.92),rgba(6,41,49,.96));
  box-shadow:
    0 28px 80px rgba(0,18,24,.48),
    inset 0 1px 0 rgba(255,255,255,.07);
  transform:translateY(12px) scale(.988);
  transition:transform .25s cubic-bezier(.2,.8,.2,1);
}
.proverb-game-overlay.open .proverb-game-shell{transform:none}
.proverb-game-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:0 22px;
  border-bottom:1px solid rgba(214,247,250,.09);
  background:rgba(8,45,53,.34);
}
.proverb-game-brand{display:flex;align-items:center;gap:11px;color:#fff}
.proverb-game-brand>span:last-child{display:flex;flex-direction:column;gap:0}
.proverb-game-brand small{font-size:10px;color:#a7d0d6;font-weight:700;letter-spacing:.02em}
.proverb-game-brand strong{font-size:17px;line-height:1.12}
.proverb-game-mark{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
  background:rgba(210,248,252,.08);border:1px solid rgba(218,251,254,.12);
  color:#f2e85d;font-size:18px;
}
.proverb-game-close{
  width:38px;height:38px;border-radius:12px;border:1px solid rgba(214,247,250,.10);
  background:rgba(255,255,255,.045);color:#d9f3f6;font:400 25px/1 Arial;
  cursor:pointer;transition:background .15s ease,transform .15s ease;
}
.proverb-game-close:hover{background:rgba(255,255,255,.09)}
.proverb-game-close:active{transform:scale(.95)}
.proverb-game-screen{min-height:0;overflow:auto;overscroll-behavior:contain}

/* Intro */
.game-intro{
  min-height:100%;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:34px;align-items:center;padding:clamp(28px,5vw,64px);
}
.game-intro-copy{max-width:520px}
.game-kicker{display:flex;align-items:center;gap:8px;color:#b9dde1;font-size:11px;font-weight:700;letter-spacing:.025em}
.game-kicker span{width:22px;height:2px;border-radius:99px;background:#eee450;box-shadow:0 0 12px rgba(238,228,80,.28)}
.game-intro h2,.game-result-copy h2{
  margin:12px 0 14px;color:#fff;font-size:clamp(38px,5vw,68px);line-height:.98;letter-spacing:-.045em;font-weight:700;
}
.game-intro h2 em{display:block;color:#f1e75b;font-style:normal;font-weight:600}
.game-intro p,.game-result-copy p{margin:0;color:#c7e4e8;font-size:16px;line-height:1.55;max-width:570px}
.game-intro-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:27px 0 21px;
}
.game-intro-stats>div{
  min-width:0;padding:12px 11px;border-radius:14px;
  background:rgba(218,249,252,.045);border:1px solid rgba(218,249,252,.08);
  display:flex;flex-direction:column;gap:2px;
}
.game-intro-stats strong{font-size:22px;color:#fff;line-height:1}
.game-intro-stats span{font-size:10.5px;color:#9fc8ce;font-weight:700}
.game-primary-action{
  min-height:48px;padding:0 17px;border:0;border-radius:14px;
  display:inline-flex;align-items:center;justify-content:center;gap:22px;
  background:#f0e75c;color:#123940;font:800 14px/1 "Assistant",Arial,sans-serif;
  cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.42);
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
}
.game-primary-action:hover{transform:translateY(-2px);filter:brightness(1.025);box-shadow:0 14px 34px rgba(0,0,0,.22)}
.game-primary-action:active{transform:translateY(0) scale(.985)}
.game-primary-action b{font-size:18px}
.game-intro-note{display:block;margin-top:10px;color:#7faeb5;font-size:10.5px;font-weight:600}
.game-intro-visual{position:relative;height:min(530px,62vh)}
.game-intro-card{
  position:absolute;margin:0;overflow:hidden;border-radius:22px;
  border:1px solid rgba(255,255,255,.17);
  background:#f4efdf;box-shadow:0 26px 60px rgba(0,13,17,.34);
}
.game-intro-card img{width:100%;height:100%;object-fit:cover;display:block}
.game-intro-card-1{width:58%;height:72%;right:4%;top:10%;transform:rotate(5deg)}
.game-intro-card-2{width:50%;height:62%;left:2%;bottom:2%;transform:rotate(-7deg)}
.game-intro-card-3{width:42%;height:51%;left:19%;top:0;transform:rotate(1deg);z-index:2}
.game-intro-seal{
  position:absolute;right:30%;bottom:14%;z-index:4;width:110px;height:110px;border-radius:50%;
  display:grid;place-items:center;text-align:center;
  background:rgba(9,62,71,.92);border:1px solid rgba(240,231,91,.34);
  box-shadow:0 18px 42px rgba(0,20,25,.34),inset 0 0 0 7px rgba(255,255,255,.025);
  color:#fff;
}
.game-intro-seal span{position:absolute;top:15px;color:#f1e75b;font-size:15px}
.game-intro-seal strong{font-size:13px;line-height:1.05;margin-top:15px}

/* Question */
.game-round{min-height:100%;padding:22px 26px 28px}
.game-round-top{
  height:48px;display:grid;grid-template-columns:auto minmax(100px,1fr) auto;gap:16px;align-items:center;
  margin-bottom:18px;
}
.game-round-progress-copy{display:flex;align-items:baseline;gap:4px;color:#fff}
.game-round-progress-copy strong{font-size:21px}
.game-round-progress-copy span{font-size:11px;color:#8fb8be;font-weight:700}
.game-round-track{height:4px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.game-round-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f0e75b,#83d9e2);transition:width .35s ease}
.game-round-score{display:grid;grid-template-columns:auto auto;column-gap:6px;align-items:center;min-width:112px}
.game-round-score span{font-size:10px;color:#91bcc2;font-weight:700}
.game-round-score strong{font-size:17px;color:#fff}
.game-round-score em{grid-column:1/-1;font-size:9.5px;color:#83b1b7;font-style:normal;font-weight:700}
.game-round-score em.hot{color:#f0e75b}
.game-question-grid{
  display:grid;grid-template-columns:minmax(320px,.95fr) minmax(380px,1.05fr);
  gap:30px;align-items:center;min-height:calc(100% - 66px);
}
.game-question-visual{min-width:0}
.game-question-image-wrap{
  position:relative;width:min(100%,430px);aspect-ratio:975/1359;margin:auto;
  overflow:hidden;border-radius:21px;background:#f0ecdc;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 24px 56px rgba(0,18,24,.30);
}
.game-question-image{width:100%;height:100%;display:block;object-fit:cover}
.game-image-corner{
  position:absolute;right:10px;bottom:10px;padding:5px 8px;border-radius:9px;
  background:rgba(8,46,54,.79);border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(8px);color:#d9eff2;font-size:9px;font-weight:700;
}
.game-word-card{
  width:min(100%,440px);min-height:300px;margin:auto;padding:34px;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  border-radius:24px;border:1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(155deg,rgba(244,239,221,.98),rgba(232,239,220,.97));
  box-shadow:0 24px 58px rgba(0,18,24,.30),inset 0 1px 0 #fff;
  color:#123b43;
}
.game-word-card small{font-size:10px;font-weight:800;color:#59848a;margin-bottom:16px}
.game-word-card-text{font-size:clamp(25px,3vw,40px);line-height:1.18;font-weight:700;letter-spacing:-.025em}
.game-word-underline{display:block;width:42%;height:4px;border-radius:99px;background:#e7dd47;margin-top:20px}
.game-question-copy{min-width:0}
.game-question-kicker{font-size:10.5px;color:#8ec1c7;font-weight:800;margin-bottom:6px}
.game-question-copy h3{margin:0 0 15px;color:#fff;font-size:clamp(24px,3vw,35px);line-height:1.08;letter-spacing:-.025em}
.game-answer-list{display:grid;gap:8px}
.game-answer-btn{
  width:100%;min-height:58px;padding:8px 10px;
  display:grid;grid-template-columns:31px minmax(0,1fr) 24px;gap:10px;align-items:center;
  text-align:right;font-family:inherit;color:#eaf9fa;
  border:1px solid rgba(211,246,249,.11);border-radius:14px;
  background:rgba(212,247,250,.045);cursor:pointer;
  transition:transform .14s ease,background .14s ease,border-color .14s ease,box-shadow .14s ease;
}
.game-answer-btn:not(:disabled):hover{
  transform:translateX(-3px);background:rgba(211,247,250,.085);border-color:rgba(211,247,250,.20);
}
.game-answer-index{
  width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
  background:rgba(207,246,250,.07);border:1px solid rgba(207,246,250,.10);
  color:#acd3d8;font-size:11px;font-weight:800;
}
.game-answer-text{font-size:13px;line-height:1.3;font-weight:700}
.game-answer-state{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px}
.game-answer-btn.correct{
  border-color:rgba(240,231,91,.48);
  background:linear-gradient(90deg,rgba(240,231,91,.10),rgba(125,214,223,.06));
  box-shadow:0 0 0 1px rgba(240,231,91,.08) inset;
}
.game-answer-btn.correct .game-answer-state::after{content:"✓";color:#f0e75b;font-weight:900}
.game-answer-btn.wrong{
  border-color:rgba(239,141,126,.33);background:rgba(158,61,55,.13);
}
.game-answer-btn.wrong .game-answer-state::after{content:"×";color:#ffb1a4;font-size:17px}
.game-answer-btn:disabled{cursor:default}
.game-question-grid.answer-correct .game-question-image-wrap,
.game-question-grid.answer-correct .game-word-card{
  animation:gameCorrectLift .55s cubic-bezier(.2,.8,.2,1);
}
@keyframes gameCorrectLift{
  0%{transform:scale(1)}
  42%{transform:scale(1.018);box-shadow:0 26px 66px rgba(239,230,82,.12),0 24px 58px rgba(0,18,24,.28)}
  100%{transform:scale(1)}
}
.game-feedback{margin-top:11px;min-height:58px}
.game-feedback-card{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  border-radius:14px;padding:9px 10px 9px 12px;
  background:rgba(6,37,44,.48);border:1px solid rgba(217,248,251,.09);
  animation:gameFeedbackIn .24s ease both;
}
@keyframes gameFeedbackIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.game-feedback-copy{display:flex;flex-direction:column;min-width:0}
.game-feedback-copy small{font-size:9px;color:#89b6bc;font-weight:800}
.game-feedback-copy strong{font-size:12px;color:#fff;line-height:1.25}
.game-feedback-card.is-correct .game-feedback-copy small{color:#f0e75b}
.game-feedback-actions{display:flex;gap:6px;flex:0 0 auto}
.game-song-link,.game-next-btn,.game-secondary-action{
  min-height:36px;border-radius:10px;padding:0 11px;font-family:inherit;font-size:10.5px;font-weight:800;cursor:pointer;
}
.game-song-link,.game-secondary-action{
  border:1px solid rgba(214,247,250,.12);background:rgba(255,255,255,.045);color:#c8e7ea;
}
.game-next-btn{border:0;background:#f0e75b;color:#163b42}
.game-next-btn b{margin-right:5px;font-size:13px}

/* Results */
.game-result{
  min-height:100%;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(390px,1.28fr);
  gap:55px;align-items:center;padding:clamp(30px,6vw,78px);
}
.game-result-ring{
  --score:0; width:min(330px,70vw);aspect-ratio:1;border-radius:50%;margin:auto;
  display:grid;place-items:center;
  background:
    radial-gradient(circle at center,#0a3f49 0 57%,transparent 58%),
    conic-gradient(#f0e75b calc(var(--score) * 1%),rgba(207,245,249,.08) 0);
  box-shadow:0 28px 65px rgba(0,18,24,.34),inset 0 0 0 1px rgba(255,255,255,.04);
}
.game-result-ring>div{
  width:72%;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:linear-gradient(145deg,rgba(13,72,82,.98),rgba(6,44,52,.98));
  border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.game-result-ring strong{font-size:72px;line-height:.9;color:#fff;letter-spacing:-.06em}
.game-result-ring span{font-size:11px;color:#9fc8cd;font-weight:800;margin-top:7px}
.game-result-copy h2{font-size:clamp(38px,5vw,66px)}
.game-result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:25px 0}
.game-result-stats>div{
  padding:12px;border-radius:14px;background:rgba(216,248,251,.045);border:1px solid rgba(216,248,251,.08);
  display:flex;flex-direction:column;gap:3px;
}
.game-result-stats span{font-size:9.5px;color:#8bb6bc;font-weight:800}
.game-result-stats strong{font-size:20px;color:#fff}
.game-result-actions{display:flex;align-items:center;gap:8px}
.game-secondary-action{min-height:48px;padding:0 16px;font-size:12px}

/* Game-specific button press micro-feedback */
.proverb-game-overlay button:active{transform:scale(.985)}

/* Preserve the polished seven-button mobile toolbar: game is intentionally
   launched from the landing page and the contents drawer on phones. */
@media (max-width:680px), (max-width:950px) and (pointer:coarse){
  .reader.mobile-book-onepage #gameBtn{display:none!important}
  .landing-game-cta{width:100%;margin-top:10px}
  .landing-game-cta-copy small{font-size:9.8px}
  .proverb-game-overlay{padding:0}
  .proverb-game-shell{
    width:100%;height:100dvh;border-radius:0;border-left:0;border-right:0;
    grid-template-rows:calc(60px + env(safe-area-inset-top)) minmax(0,1fr);
  }
  .proverb-game-head{
    padding:
      env(safe-area-inset-top)
      max(13px,env(safe-area-inset-right))
      0
      max(13px,env(safe-area-inset-left));
  }
  .proverb-game-brand small{font-size:9px}
  .proverb-game-brand strong{font-size:15px}
  .proverb-game-mark{width:34px;height:34px;border-radius:10px}
  .proverb-game-close{width:34px;height:34px}
  .game-intro{
    display:flex;flex-direction:column-reverse;justify-content:flex-end;
    gap:19px;padding:22px 17px calc(26px + env(safe-area-inset-bottom));
  }
  .game-intro-visual{width:100%;height:220px;flex:0 0 220px}
  .game-intro-card{border-radius:16px}
  .game-intro-card-1{width:47%;height:88%;right:8%;top:3%}
  .game-intro-card-2{width:43%;height:75%;left:9%;bottom:0}
  .game-intro-card-3{width:36%;height:64%;left:32%;top:0}
  .game-intro-seal{width:82px;height:82px;right:39%;bottom:8%}
  .game-intro-seal span{top:9px;font-size:12px}
  .game-intro-seal strong{font-size:10px;margin-top:13px}
  .game-intro h2{font-size:36px;margin:9px 0 10px}
  .game-intro p{font-size:13px;line-height:1.45}
  .game-intro-stats{margin:17px 0 15px;gap:6px}
  .game-intro-stats>div{padding:9px}
  .game-intro-stats strong{font-size:19px}
  .game-intro-stats span{font-size:9px}
  .game-primary-action{width:100%;min-height:46px}
  .game-round{padding:10px 12px calc(18px + env(safe-area-inset-bottom))}
  .game-round-top{height:39px;margin-bottom:8px;gap:9px}
  .game-question-grid{display:flex;flex-direction:column;gap:12px;min-height:0;align-items:stretch}
  .game-question-visual{width:100%}
  .game-question-image-wrap{width:min(100%,255px);max-height:310px}
  .game-word-card{width:100%;min-height:150px;padding:21px;border-radius:18px}
  .game-word-card-text{font-size:24px}
  .game-question-kicker{font-size:9px}
  .game-question-copy h3{font-size:23px;margin-bottom:10px}
  .game-answer-list{gap:6px}
  .game-answer-btn{
    min-height:49px;grid-template-columns:28px minmax(0,1fr) 20px;gap:7px;
    border-radius:12px;padding:6px 8px;
  }
  .game-answer-index{width:27px;height:27px;border-radius:8px}
  .game-answer-text{font-size:12px}
  .game-feedback{min-height:55px;margin-top:8px}
  .game-feedback-card{align-items:stretch;flex-direction:column;gap:7px}
  .game-feedback-actions{display:grid;grid-template-columns:1fr 1.2fr}
  .game-song-link,.game-next-btn{width:100%;min-height:35px}
  .game-result{
    display:flex;flex-direction:column;gap:24px;justify-content:center;
    padding:24px 18px calc(30px + env(safe-area-inset-bottom));text-align:center;
  }
  .game-result-ring{width:190px}
  .game-result-ring strong{font-size:52px}
  .game-result-copy h2{font-size:38px;margin:9px 0 10px}
  .game-result-copy p{font-size:13px}
  .game-result-stats{margin:18px 0}
  .game-result-stats>div{padding:9px}
  .game-result-actions{display:grid;grid-template-columns:1.2fr 1fr}
  .game-secondary-action{width:100%}
}

@media (orientation:landscape) and (max-width:950px) and (pointer:coarse){
  .proverb-game-shell{grid-template-rows:54px minmax(0,1fr)}
  .game-intro{display:grid;grid-template-columns:1fr .9fr;gap:22px;padding:18px 26px}
  .game-intro-visual{height:calc(100dvh - 95px)}
  .game-intro h2{font-size:34px}
  .game-intro-stats{margin:12px 0}
  .game-round{padding:8px 18px 12px}
  .game-round-top{height:34px;margin-bottom:6px}
  .game-question-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:18px}
  .game-question-image-wrap{width:min(100%,245px);max-height:calc(100dvh - 125px)}
  .game-word-card{min-height:190px}
  .game-answer-btn{min-height:42px}
  .game-feedback-card{flex-direction:row;align-items:center}
  .game-result{display:grid;grid-template-columns:.7fr 1.3fr;gap:25px;padding:20px 38px}
  .game-result-ring{width:min(220px,40vh)}
}

/* Reduced motion keeps the game elegant but static. */
@media (prefers-reduced-motion:reduce){
  .proverb-game-overlay,.proverb-game-shell,.game-answer-btn,.landing-game-cta,.drawer-game-btn,.game-primary-action{transition:none!important}
  .game-question-grid.answer-correct .game-question-image-wrap,
  .game-question-grid.answer-correct .game-word-card,
  .game-feedback-card{animation:none!important}
}


/* ==========================================================================
   V68 — משחק הפתגמים שדרוג
   Home CTA in the same family as "פתחו את הספר", plus richer game visuals.
   ========================================================================== */

.landing-primary-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:4px;
}
.landing-primary-actions .primary-btn{
  flex:1 1 210px;
  justify-content:center;
  min-width:0;
}
.game-hero-btn{
  border-color:rgba(91,212,228,.34)!important;
  background:linear-gradient(180deg,#e7fbff,#bfeef7)!important;
  color:#12343b!important;
}
.game-hero-btn:hover{
  background:linear-gradient(180deg,#f6fdff,#d4f7ff)!important;
}
.game-hero-btn-icon{
  width:22px;height:22px;
  display:grid;place-items:center;
  border-radius:999px;
  background:rgba(18,107,118,.10);
  color:#11606a;
  font-size:13px;
}
.landing-game-mini-note{
  margin-top:8px;
  color:rgba(222,242,244,.84);
  font-size:11.5px;
  line-height:1.45;
  font-weight:700;
}
@media (max-width: 820px){
  .landing-primary-actions{gap:10px}
  .landing-primary-actions .primary-btn{flex:1 1 100%}
  .landing-game-mini-note{font-size:10.5px}
}
.landing-game-cta{display:none!important}

.game-intro-rich{grid-template-columns:minmax(0,1fr) minmax(390px,.95fr)}
.game-intro-feature-row{
  display:flex;flex-wrap:wrap;gap:8px;
  margin:16px 0 22px;
}
.game-intro-feature-row span{
  padding:8px 11px;border-radius:999px;
  background:rgba(217,248,251,.052);
  border:1px solid rgba(217,248,251,.09);
  color:#dceff2;font-size:10.5px;font-weight:800;
}
.game-intro-visual-rich{height:min(540px,63vh)}
.game-intro-visual-rich .game-intro-card-1{width:41%;height:60%;right:0%;top:8%;transform:rotate(5deg)}
.game-intro-visual-rich .game-intro-card-2{width:37%;height:54%;left:2%;bottom:5%;transform:rotate(-7deg)}
.game-intro-visual-rich .game-intro-card-3{width:33%;height:47%;left:24%;top:0;transform:rotate(2deg);z-index:3}
.game-intro-visual-rich .game-intro-card-4{width:32%;height:47%;right:18%;bottom:1%;transform:rotate(10deg);z-index:2}
.game-intro-visual-rich .game-intro-card-5{width:27%;height:40%;left:14%;top:17%;transform:rotate(-2deg);z-index:1}
.game-intro-card{transition:transform .24s ease, box-shadow .24s ease}
.game-intro-card:hover{transform:translateY(-4px) rotate(0deg)!important;box-shadow:0 30px 68px rgba(0,13,17,.40)}

.game-question-image-wrap.is-detail{
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 40%,rgba(255,255,255,.07),transparent 42%),
    #f0ecdc;
}
.game-question-image-detail{
  transform:scale(var(--focus-zoom,1.8));
  transform-origin:center center;
  object-position:var(--focus-x,50%) var(--focus-y,50%);
  transition:transform .5s ease, filter .35s ease;
  filter:saturate(1.02) contrast(1.02);
}
.game-detail-ring{
  position:absolute;
  inset:auto auto 14px 14px;
  width:58px;height:58px;border-radius:50%;
  border:1px solid rgba(255,255,255,.85);
  background:radial-gradient(circle,rgba(255,255,255,.18),transparent 58%);
  box-shadow:0 0 0 1px rgba(14,63,72,.16) inset, 0 0 0 10px rgba(255,255,255,.06);
  pointer-events:none;
}

.game-question-grid.image-choice-mode{
  grid-template-columns:minmax(300px,.85fr) minmax(440px,1.15fr);
}
.game-answer-list.is-image-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.game-answer-btn-image{
  min-height:unset;
  padding:8px;
  grid-template-columns:1fr auto;
  align-items:stretch;
  gap:8px;
  border-radius:18px;
}
.game-answer-image-wrap{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:1.03/1;
  overflow:hidden;
  border-radius:14px;
  background:#ece6d8;
}
.game-answer-image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .28s ease, filter .28s ease;
}
.game-answer-btn-image:hover .game-answer-image{
  transform:scale(1.035);
  filter:saturate(1.04);
}
.game-answer-index-float{
  position:absolute;
  top:8px;right:8px;
  background:rgba(7,46,54,.76)!important;
  border-color:rgba(224,248,250,.24)!important;
  color:#fff!important;
  backdrop-filter:blur(9px);
}
.game-answer-image-caption{
  display:block;
  align-self:center;
  text-align:right;
  color:#eef8fa;
  font-size:11px;
  line-height:1.35;
  font-weight:700;
  padding-inline:2px 4px;
}
.game-answer-btn-image.correct{
  background:linear-gradient(180deg,rgba(240,231,91,.11),rgba(111,202,212,.06));
}
.game-answer-btn-image.wrong{
  background:rgba(150,62,55,.15);
}
.game-answer-btn-image.correct .game-answer-image-wrap{
  box-shadow:0 0 0 1px rgba(240,231,91,.35) inset, 0 0 0 6px rgba(240,231,91,.05);
}
.game-answer-btn-image .game-answer-state{
  align-self:flex-start;
  margin-top:6px;
}

.game-question-grid.answer-correct .game-question-image-wrap,
.game-question-grid.answer-correct .game-word-card{
  box-shadow:0 0 0 1px rgba(240,231,91,.26) inset, 0 24px 62px rgba(240,231,91,.12), 0 24px 58px rgba(0,18,24,.30);
}
.game-question-grid.answer-correct .game-question-image-wrap::after,
.game-question-grid.answer-correct .game-word-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:radial-gradient(circle at 50% 35%,rgba(240,231,91,.20),transparent 42%);
  animation:gameHalo .55s ease both;
}
@keyframes gameHalo{
  from{opacity:0;transform:scale(.98)}
  40%{opacity:1}
  to{opacity:0;transform:scale(1.02)}
}

.game-feedback-card{
  background:linear-gradient(180deg,rgba(10,52,60,.76),rgba(5,33,40,.82));
}
.game-feedback-card.is-correct{
  border-color:rgba(240,231,91,.16);
  box-shadow:0 8px 28px rgba(240,231,91,.06);
}
.game-feedback-copy strong{font-size:13px}
.game-feedback-card.is-correct .game-feedback-copy strong{color:#fff8c8}

.game-result-preview{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:-2px 0 22px;
}
.game-result-preview span{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.game-result-preview img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:12px;
  border:1px solid rgba(223,248,251,.11);
  background:#f0ecdc;
}
.game-result-preview i{
  font-style:normal;
  color:#b3d5da;
  font-size:9.5px;
  line-height:1.25;
  font-weight:700;
}
.game-question-copy h3{max-width:640px}
.game-answer-text{font-size:13.5px}

@media (max-width:680px), (max-width:950px) and (pointer:coarse){
  .landing-primary-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .landing-primary-actions .primary-btn{width:100%}
  .game-intro-rich{
    display:flex;
    flex-direction:column-reverse;
    justify-content:flex-end;
  }
  .game-intro-feature-row{margin:14px 0 16px}
  .game-intro-feature-row span{font-size:9.5px;padding:7px 9px}
  .game-intro-visual-rich{height:230px}
  .game-intro-visual-rich .game-intro-card-1{width:42%;height:84%;right:4%;top:3%}
  .game-intro-visual-rich .game-intro-card-2{width:38%;height:70%;left:7%;bottom:1%}
  .game-intro-visual-rich .game-intro-card-3{width:31%;height:58%;left:30%;top:0}
  .game-intro-visual-rich .game-intro-card-4{width:28%;height:49%;right:29%;bottom:2%}
  .game-intro-visual-rich .game-intro-card-5{display:none}
  .game-question-grid.image-choice-mode{
    display:flex;
    flex-direction:column;
  }
  .game-answer-list.is-image-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .game-answer-btn-image{
    border-radius:14px;
    padding:6px;
    gap:6px;
  }
  .game-answer-image-wrap{border-radius:10px}
  .game-answer-image-caption{
    font-size:9.8px;
    line-height:1.28;
  }
  .game-result-preview{
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-top:3px;
  }
}


/* ==========================================================================
   V69 — משחק זיכרון
   6 visual pairs: original book illustration ↔ matching proverb.
   ========================================================================== */

.game-mode-actions{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:9px;
  margin-top:4px;
}
.game-mode-actions .game-primary-action,
.game-memory-action{
  width:100%;
  min-height:66px;
  padding:9px 13px;
  border-radius:15px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  text-align:right;
  font-family:inherit;
}
.game-mode-actions .game-primary-action>span{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
}
.game-mode-actions small,
.game-memory-action small{
  font-size:8.5px;
  line-height:1;
  letter-spacing:.03em;
  font-weight:800;
  opacity:.68;
}
.game-mode-actions strong,
.game-memory-action strong{
  font-size:13.5px;
  line-height:1.1;
  font-weight:850;
}
.game-mode-actions em,
.game-memory-action em{
  font-size:9.5px;
  line-height:1.2;
  font-style:normal;
  font-weight:700;
  opacity:.74;
}
.game-memory-action{
  grid-template-columns:32px minmax(0,1fr) auto;
  border:1px solid rgba(182,239,247,.17);
  background:
    linear-gradient(145deg,rgba(45,139,151,.30),rgba(8,65,75,.47));
  color:#ecfbfc;
  cursor:pointer;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 10px 26px rgba(0,18,24,.13);
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.game-memory-action:hover{
  transform:translateY(-2px);
  border-color:rgba(240,231,91,.28);
  background:
    linear-gradient(145deg,rgba(58,151,163,.38),rgba(9,73,83,.54));
  box-shadow:0 14px 32px rgba(0,18,24,.18);
}
.game-memory-action:active{transform:translateY(0) scale(.988)}
.game-memory-action>span:nth-child(2){
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
}
.game-memory-action-mark{
  width:32px;height:32px;
  display:grid;place-items:center;
  border-radius:9px;
  background:rgba(219,249,252,.075);
  border:1px solid rgba(219,249,252,.10);
  color:#f0e75b;
  font-size:16px;
}

/* Board */
.memory-game{
  min-height:100%;
  padding:22px 26px 20px;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:15px;
}
.memory-game-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:end;
}
.memory-title h2{
  margin:6px 0 5px;
  color:#fff;
  font-size:clamp(28px,3vw,40px);
  line-height:1;
  letter-spacing:-.035em;
}
.memory-title h2 em{
  color:#f0e75b;
  font-style:normal;
  font-weight:600;
}
.memory-title p{
  margin:0;
  color:#aacfd4;
  font-size:11.5px;
  line-height:1.4;
}
.memory-hud{
  display:grid;
  grid-template-columns:repeat(4,minmax(70px,1fr));
  gap:7px;
}
.memory-hud>div{
  min-width:72px;
  padding:9px 10px;
  border-radius:12px;
  background:rgba(215,248,251,.045);
  border:1px solid rgba(215,248,251,.075);
  display:flex;
  flex-direction:column;
  gap:1px;
}
.memory-hud small{
  color:#86b4ba;
  font-size:8.5px;
  font-weight:800;
}
.memory-hud strong{
  color:#fff;
  font-size:15px;
  line-height:1.05;
}

.memory-board{
  min-height:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:repeat(3,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
  direction:rtl;
  perspective:1300px;
}
.memory-card{
  min-width:0;
  min-height:0;
  padding:0;
  border:0;
  background:none;
  cursor:pointer;
  perspective:1100px;
  font-family:inherit;
  border-radius:18px;
}
.memory-card-inner{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  min-height:132px;
  border-radius:18px;
  transform-style:preserve-3d;
  -webkit-transform-style:preserve-3d;
  transition:transform .48s cubic-bezier(.2,.72,.2,1),filter .25s ease;
  box-shadow:0 12px 28px rgba(0,17,23,.18);
}
.memory-card:hover .memory-card-inner{
  filter:brightness(1.045);
}
.memory-card.flipped .memory-card-inner,
.memory-card.matched .memory-card-inner{
  transform:rotateY(180deg);
}
.memory-card-face{
  position:absolute;
  inset:0;
  border-radius:18px;
  overflow:hidden;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  border:1px solid rgba(218,248,251,.11);
}
.memory-card-back{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  background:
    radial-gradient(circle at 50% 15%,rgba(129,221,231,.13),transparent 44%),
    linear-gradient(155deg,rgba(18,85,95,.98),rgba(5,44,53,.99));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    inset 0 0 0 7px rgba(255,255,255,.012);
  color:#dff6f8;
}
.memory-card-back::after{
  content:"";
  position:absolute;
  inset:9px;
  border-radius:13px;
  border:1px solid rgba(213,248,251,.055);
  pointer-events:none;
}
.memory-card-back-mark{
  width:38px;height:38px;
  display:grid;place-items:center;
  border-radius:12px;
  color:#f0e75b;
  background:rgba(219,248,251,.05);
  border:1px solid rgba(219,248,251,.09);
  font-size:17px;
}
.memory-card-back small{
  color:#9cc6cc;
  font-size:8.5px;
  font-weight:800;
}
.memory-card-front{
  transform:rotateY(180deg);
  background:#f0ebdb;
  color:#123a42;
}
.memory-card-front.is-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.memory-card-front.is-image i{
  position:absolute;
  right:8px;
  bottom:8px;
  padding:4px 6px;
  border-radius:8px;
  background:rgba(7,47,55,.76);
  color:#e9f7f8;
  font-size:7.5px;
  line-height:1;
  font-style:normal;
  font-weight:800;
  backdrop-filter:blur(7px);
}
.memory-card-front.is-text{
  padding:14px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  text-align:right;
  background:
    radial-gradient(circle at 82% 20%,rgba(255,255,255,.75),transparent 30%),
    linear-gradient(150deg,#f5f0df,#e6ecd6);
}
.memory-card-front.is-text small{
  color:#66868a;
  font-size:8px;
  font-weight:850;
  margin-bottom:8px;
}
.memory-card-front.is-text strong{
  color:#153e45;
  font-size:clamp(14px,1.35vw,20px);
  line-height:1.18;
  letter-spacing:-.02em;
}
.memory-text-line{
  display:block;
  width:34%;
  height:3px;
  margin-top:12px;
  border-radius:99px;
  background:#e6da47;
}
.memory-card.matched .memory-card-inner{
  filter:drop-shadow(0 0 12px rgba(240,231,91,.14));
}
.memory-card.matched .memory-card-face{
  border-color:rgba(240,231,91,.34);
  box-shadow:inset 0 0 0 1px rgba(240,231,91,.08);
}
.memory-card.matched{
  cursor:default;
}
.memory-card.matched .memory-card-front::after{
  content:"✓";
  position:absolute;
  top:8px;
  left:8px;
  width:24px;height:24px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(9,67,76,.86);
  border:1px solid rgba(240,231,91,.36);
  color:#f0e75b;
  font-size:11px;
  font-weight:900;
  box-shadow:0 6px 16px rgba(0,0,0,.14);
}
.memory-card.memory-miss .memory-card-inner{
  animation:memoryMiss .25s ease;
}
@keyframes memoryMiss{
  30%{transform:translateX(3px)}
  65%{transform:translateX(-3px)}
}
.memory-footer{
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#8eb8be;
  font-size:9.5px;
  font-weight:700;
}
.memory-footer span{
  display:flex;
  align-items:center;
  gap:6px;
}
.memory-footer span b{color:#f0e75b}
.memory-hub-btn{
  min-height:34px;
  padding:0 11px;
  border-radius:10px;
  border:1px solid rgba(213,247,250,.10);
  background:rgba(255,255,255,.04);
  color:#c9e5e8;
  font-family:inherit;
  font-size:9.5px;
  font-weight:800;
  cursor:pointer;
}

/* Memory result */
.memory-result{
  min-height:100%;
  display:grid;
  grid-template-columns:minmax(310px,.9fr) minmax(430px,1.1fr);
  gap:52px;
  align-items:center;
  padding:clamp(32px,6vw,74px);
}
.memory-result-visual{
  display:grid;
  place-items:center;
}
.memory-result-orbit{
  position:relative;
  width:min(380px,42vw);
  aspect-ratio:1;
}
.memory-result-core{
  position:absolute;
  inset:27%;
  border-radius:50%;
  z-index:4;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 50% 20%,rgba(129,220,230,.15),transparent 38%),
    linear-gradient(155deg,#0e5965,#07343d);
  border:1px solid rgba(239,231,91,.25);
  box-shadow:
    0 24px 55px rgba(0,18,24,.30),
    inset 0 1px 0 rgba(255,255,255,.06);
}
.memory-result-core span{
  color:#f0e75b;
  font-size:15px;
  margin-bottom:4px;
}
.memory-result-core strong{
  color:#fff;
  font-size:48px;
  line-height:.9;
  letter-spacing:-.05em;
}
.memory-result-core small{
  color:#a4cbd0;
  font-size:8.5px;
  margin-top:6px;
  font-weight:800;
}
.memory-result-thumb{
  position:absolute;
  width:31%;
  aspect-ratio:1;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(222,248,251,.14);
  background:#eee8d9;
  box-shadow:0 18px 38px rgba(0,15,20,.24);
}
.memory-result-thumb img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.memory-result-thumb-1{right:34%;top:0}
.memory-result-thumb-2{right:4%;top:18%}
.memory-result-thumb-3{right:7%;bottom:13%}
.memory-result-thumb-4{left:34%;bottom:0}
.memory-result-thumb-5{left:4%;bottom:19%}
.memory-result-thumb-6{left:7%;top:15%}
.memory-result-copy .game-kicker{margin-bottom:10px}
.memory-result-copy h2{
  margin:0 0 13px;
  color:#fff;
  font-size:clamp(40px,5vw,66px);
  line-height:.96;
  letter-spacing:-.045em;
}
.memory-result-copy h2 em{
  display:block;
  color:#f0e75b;
  font-style:normal;
  font-weight:600;
}
.memory-result-copy p{
  margin:0;
  color:#c1dfe3;
  font-size:14px;
  line-height:1.5;
}
.memory-result-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:23px 0 20px;
}
.memory-result-stats>div{
  padding:11px;
  border-radius:13px;
  background:rgba(216,248,251,.045);
  border:1px solid rgba(216,248,251,.08);
  display:flex;
  flex-direction:column;
  gap:2px;
}
.memory-result-stats small{
  color:#87b4ba;
  font-size:8.5px;
  font-weight:800;
}
.memory-result-stats strong{
  color:#fff;
  font-size:19px;
}
.memory-result-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.memory-result-actions .game-primary-action{
  min-width:150px;
}

/* Mobile memory */
@media (max-width:680px), (max-width:950px) and (pointer:coarse){
  .game-mode-actions{
    grid-template-columns:1fr;
    gap:7px;
  }
  .game-mode-actions .game-primary-action,
  .game-memory-action{
    min-height:58px;
  }
  .memory-game{
    padding:10px 10px calc(14px + env(safe-area-inset-bottom));
    gap:9px;
  }
  .memory-game-top{
    grid-template-columns:1fr;
    gap:8px;
  }
  .memory-title h2{
    font-size:27px;
    margin-top:4px;
  }
  .memory-title p{
    font-size:10.5px;
  }
  .memory-hud{
    grid-template-columns:repeat(4,1fr);
    gap:5px;
  }
  .memory-hud>div{
    min-width:0;
    padding:6px;
    border-radius:9px;
  }
  .memory-hud small{font-size:7.3px}
  .memory-hud strong{font-size:12px}
  .memory-board{
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:repeat(4,minmax(0,1fr));
    gap:6px;
  }
  .memory-card{
    border-radius:12px;
  }
  .memory-card-inner{
    min-height:104px;
    border-radius:12px;
  }
  .memory-card-face{
    border-radius:12px;
  }
  .memory-card-back::after{
    inset:6px;
    border-radius:9px;
  }
  .memory-card-back-mark{
    width:28px;height:28px;
    border-radius:8px;
    font-size:13px;
  }
  .memory-card-back small{
    font-size:6.8px;
  }
  .memory-card-front.is-text{
    padding:8px;
  }
  .memory-card-front.is-text small{
    font-size:6.7px;
    margin-bottom:5px;
  }
  .memory-card-front.is-text strong{
    font-size:11px;
    line-height:1.16;
  }
  .memory-text-line{
    height:2px;
    margin-top:7px;
  }
  .memory-footer{
    font-size:8px;
  }
  .memory-footer>span{
    max-width:62%;
  }
  .memory-result{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:20px;
    padding:22px 16px calc(28px + env(safe-area-inset-bottom));
    text-align:center;
  }
  .memory-result-orbit{
    width:230px;
  }
  .memory-result-core strong{
    font-size:36px;
  }
  .memory-result-copy h2{
    font-size:38px;
  }
  .memory-result-copy p{
    font-size:12px;
  }
  .memory-result-stats{
    margin:16px 0;
  }
  .memory-result-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .memory-result-actions .game-primary-action{
    grid-column:1/-1;
    width:100%;
  }
}

@media (orientation:landscape) and (max-width:950px) and (pointer:coarse){
  .memory-game{
    padding:7px 16px 9px;
  }
  .memory-game-top{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
  }
  .memory-title h2{font-size:24px}
  .memory-title p{display:none}
  .memory-hud>div{padding:5px 7px}
  .memory-board{
    grid-template-columns:repeat(6,minmax(0,1fr));
    grid-template-rows:repeat(2,minmax(0,1fr));
    gap:6px;
  }
  .memory-card-inner{
    min-height:92px;
  }
  .memory-card-front.is-text strong{
    font-size:10px;
  }
  .memory-footer{
    min-height:26px;
  }
  .memory-result{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:20px;
    padding:16px 28px;
    text-align:right;
  }
  .memory-result-orbit{
    width:min(250px,42vh);
  }
  .memory-result-copy h2{
    font-size:34px;
  }
}

/* ==========================================================================
   V70 — משחקים: דיוק, צבעי תשובה, זיכרון יציב, ללא גלילה
   ========================================================================== */

/* The game canvas itself always fits inside the shell. */
.proverb-game-screen{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
.game-intro,
.game-round,
.game-result,
.memory-game,
.memory-result{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}

/* Correct = green. Incorrect = red. No yellow answer border. */
.game-answer-btn.correct{
  border-color:rgba(83,214,139,.72)!important;
  background:linear-gradient(90deg,rgba(61,176,112,.17),rgba(91,218,160,.07))!important;
  box-shadow:
    0 0 0 1px rgba(83,214,139,.13) inset,
    0 7px 20px rgba(37,145,91,.07)!important;
}
.game-answer-btn.correct .game-answer-state::after{
  content:"✓"!important;
  color:#69dda0!important;
  font-weight:900!important;
}
.game-answer-btn.correct .game-answer-index{
  border-color:rgba(83,214,139,.30)!important;
  color:#8aefb7!important;
  background:rgba(59,171,108,.12)!important;
}
.game-answer-btn.wrong{
  border-color:rgba(239,102,93,.72)!important;
  background:linear-gradient(90deg,rgba(177,61,57,.18),rgba(224,98,84,.07))!important;
  box-shadow:0 0 0 1px rgba(239,102,93,.11) inset!important;
}
.game-answer-btn.wrong .game-answer-state::after{
  content:"×"!important;
  color:#ff8f84!important;
  font-size:17px!important;
  font-weight:900!important;
}
.game-answer-btn.wrong .game-answer-index{
  border-color:rgba(239,102,93,.30)!important;
  color:#ffaaa1!important;
  background:rgba(172,60,55,.12)!important;
}
.game-answer-btn-image.correct .game-answer-image-wrap{
  box-shadow:
    0 0 0 2px rgba(83,214,139,.72) inset,
    0 0 0 6px rgba(83,214,139,.055)!important;
}
.game-answer-btn-image.wrong .game-answer-image-wrap{
  box-shadow:
    0 0 0 2px rgba(239,102,93,.70) inset,
    0 0 0 6px rgba(239,102,93,.045)!important;
}
.game-feedback-card.is-correct{
  border-color:rgba(83,214,139,.22)!important;
  box-shadow:0 8px 28px rgba(38,151,91,.06)!important;
}
.game-feedback-card.is-correct .game-feedback-copy small{
  color:#76e3a8!important;
}
.game-feedback-card.is-correct .game-feedback-copy strong{
  color:#e8fff1!important;
}
.game-question-grid.answer-correct .game-question-image-wrap,
.game-question-grid.answer-correct .game-word-card{
  box-shadow:
    0 0 0 1px rgba(83,214,139,.28) inset,
    0 24px 62px rgba(54,180,108,.10),
    0 24px 58px rgba(0,18,24,.28)!important;
}
.game-question-grid.answer-correct .game-question-image-wrap::after,
.game-question-grid.answer-correct .game-word-card::after{
  background:radial-gradient(circle at 50% 35%,rgba(83,214,139,.20),transparent 42%)!important;
}

/* Question screen: use available height instead of page-style natural height. */
.game-round{
  padding:13px 22px 14px!important;
  display:grid!important;
  grid-template-rows:42px minmax(0,1fr)!important;
  gap:8px!important;
}
.game-round-top{
  height:42px!important;
  min-height:0!important;
  margin:0!important;
}
.game-question-grid{
  min-height:0!important;
  height:100%!important;
  align-items:stretch!important;
  gap:24px!important;
}
.game-question-visual{
  min-height:0!important;
  height:100%!important;
  display:grid!important;
  place-items:center!important;
}
.game-question-image-wrap{
  height:min(100%,500px)!important;
  width:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  aspect-ratio:975/1359!important;
  margin:auto!important;
}
.game-question-copy{
  min-height:0!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.game-word-card{
  width:min(100%,430px)!important;
  min-height:0!important;
  height:min(72%,330px)!important;
  padding:28px!important;
}
.game-feedback{
  flex:0 0 58px!important;
  min-height:58px!important;
  max-height:58px!important;
}

/* Image-pick options no longer show the proverb name beneath the image. */
.game-answer-btn-image{
  grid-template-columns:minmax(0,1fr) 22px!important;
}
.game-answer-image-caption{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
}

/* Intro/results also size themselves to the fixed game canvas. */
.game-intro{
  min-height:0!important;
  padding:clamp(18px,3.8vw,46px)!important;
}
.game-intro-visual-rich{
  height:min(100%,490px)!important;
}
.game-result{
  min-height:0!important;
  padding:clamp(22px,4vw,54px)!important;
}
.game-result-ring{
  width:min(290px,32vw,44vh)!important;
}

/* Memory launch: no first-paint flip/flicker. */
.memory-loading{
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:#eaf8fa;
}
.memory-loading-mark{
  width:52px;height:52px;
  display:grid;place-items:center;
  border-radius:16px;
  color:#f0e75b;
  background:rgba(217,248,251,.055);
  border:1px solid rgba(217,248,251,.10);
  font-size:20px;
  box-shadow:0 18px 40px rgba(0,17,23,.18);
}
.memory-loading strong{font-size:17px}
.memory-loading small{color:#91bcc2;font-size:10px;font-weight:700}
.memory-loading i{
  width:108px;height:3px;
  margin-top:8px;
  border-radius:99px;
  overflow:hidden;
  background:rgba(216,248,251,.07);
  position:relative;
}
.memory-loading i::after{
  content:"";
  position:absolute;
  inset:0;
  width:42%;
  border-radius:inherit;
  background:linear-gradient(90deg,#69dda0,#8adce4);
  animation:memoryLoadSlide .85s ease-in-out infinite alternate;
}
@keyframes memoryLoadSlide{
  from{transform:translateX(-5%)}
  to{transform:translateX(145%)}
}

.memory-game{
  padding:14px 20px 12px!important;
  grid-template-rows:auto minmax(0,1fr) 32px!important;
  gap:10px!important;
}
.memory-card{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  outline:none!important;
  -webkit-tap-highlight-color:transparent!important;
  touch-action:manipulation!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
.memory-card-inner{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  transform:translateZ(0) rotateY(0deg)!important;
  -webkit-transform:translateZ(0) rotateY(0deg)!important;
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
  will-change:transform!important;
  isolation:isolate!important;
}
.memory-board:not(.memory-board-ready) .memory-card-inner{
  transition:none!important;
}
.memory-board.memory-board-ready .memory-card-inner{
  transition:
    transform .46s cubic-bezier(.22,.72,.18,1),
    filter .20s ease!important;
}
.memory-card.flipped .memory-card-inner,
.memory-card.matched .memory-card-inner{
  transform:translateZ(0) rotateY(180deg)!important;
  -webkit-transform:translateZ(0) rotateY(180deg)!important;
}
.memory-card-face{
  display:flex!important;
  width:100%!important;
  height:100%!important;
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
  pointer-events:none!important;
  -webkit-font-smoothing:antialiased!important;
}
.memory-card-back{
  transform:rotateY(0deg) translateZ(1px)!important;
  -webkit-transform:rotateY(0deg) translateZ(1px)!important;
}
.memory-card-front{
  transform:rotateY(180deg) translateZ(1px)!important;
  -webkit-transform:rotateY(180deg) translateZ(1px)!important;
}
.memory-card-front.is-image{
  display:block!important;
}
.memory-card-front.is-image img{
  pointer-events:none!important;
  -webkit-user-drag:none!important;
}
.memory-card:focus-visible{
  box-shadow:0 0 0 2px rgba(139,220,229,.42)!important;
}
.memory-card.matched:focus-visible{
  box-shadow:0 0 0 2px rgba(83,214,139,.48)!important;
}
.memory-card.matched .memory-card-face{
  border-color:rgba(83,214,139,.34)!important;
}
.memory-card.matched .memory-card-front::after{
  border-color:rgba(83,214,139,.45)!important;
  color:#74e0a5!important;
}

/* Desktop compact mode for shorter laptop screens. */
@media (min-width:951px) and (max-height:780px){
  .proverb-game-shell{
    height:calc(100dvh - 18px)!important;
    grid-template-rows:62px minmax(0,1fr)!important;
  }
  .proverb-game-overlay{padding:9px!important}
  .game-intro{padding:18px 34px!important;gap:25px!important}
  .game-intro h2{font-size:44px!important}
  .game-intro p{font-size:13.5px!important}
  .game-intro-stats{margin:17px 0 13px!important}
  .game-intro-feature-row{margin:10px 0 13px!important}
  .game-intro-visual-rich{height:min(100%,430px)!important}
  .game-mode-actions .game-primary-action,
  .game-memory-action{min-height:58px!important}
  .game-question-image-wrap{height:min(100%,430px)!important}
  .game-answer-btn{min-height:51px!important}
  .game-answer-list{gap:6px!important}
  .game-question-copy h3{font-size:27px!important;margin-bottom:10px!important}
  .memory-title h2{font-size:31px!important}
  .memory-title p{font-size:10px!important}
  .memory-hud>div{padding:7px 8px!important}
}

/* Phone/tablet: still no internal game scrolling. */
@media (max-width:950px){
  .proverb-game-screen{overflow:hidden!important}
  .game-intro{
    padding:12px 14px calc(12px + env(safe-area-inset-bottom))!important;
    gap:10px!important;
  }
  .game-intro-visual-rich{
    height:clamp(135px,22dvh,190px)!important;
    flex:0 0 auto!important;
  }
  .game-intro h2{
    font-size:31px!important;
    margin:6px 0 7px!important;
  }
  .game-intro p{
    font-size:11.5px!important;
    line-height:1.35!important;
  }
  .game-intro-stats{
    margin:9px 0 8px!important;
  }
  .game-intro-feature-row{
    margin:7px 0 8px!important;
    gap:5px!important;
  }
  .game-intro-feature-row span{
    padding:5px 7px!important;
    font-size:8.5px!important;
  }
  .game-mode-actions .game-primary-action,
  .game-memory-action{
    min-height:50px!important;
    padding:6px 10px!important;
  }
  .game-intro-note{margin-top:5px!important}

  .game-round{
    padding:6px 10px calc(8px + env(safe-area-inset-bottom))!important;
    grid-template-rows:34px minmax(0,1fr)!important;
    gap:5px!important;
  }
  .game-round-top{
    height:34px!important;
  }
  .game-question-grid{
    gap:7px!important;
  }
  .game-question-image-wrap{
    width:auto!important;
    height:clamp(130px,28dvh,215px)!important;
    max-height:100%!important;
  }
  .game-word-card{
    height:clamp(105px,19dvh,145px)!important;
    min-height:0!important;
    padding:15px!important;
  }
  .game-word-card-text{font-size:21px!important}
  .game-question-copy{
    justify-content:flex-start!important;
  }
  .game-question-copy h3{
    font-size:20px!important;
    margin:0 0 6px!important;
  }
  .game-question-kicker{font-size:8px!important;margin-bottom:3px!important}
  .game-answer-list{gap:4px!important}
  .game-answer-btn{
    min-height:41px!important;
    padding:4px 7px!important;
    border-radius:10px!important;
  }
  .game-answer-text{font-size:10.8px!important}
  .game-answer-index{width:24px!important;height:24px!important}
  .game-feedback{
    flex:0 0 46px!important;
    min-height:46px!important;
    max-height:46px!important;
    margin-top:5px!important;
  }
  .game-feedback-card{
    min-height:46px!important;
    padding:5px 7px!important;
  }
  .game-feedback-copy strong{font-size:10px!important}
  .game-song-link,.game-next-btn{min-height:31px!important}

  .game-answer-list.is-image-grid{
    gap:5px!important;
  }
  .game-answer-btn-image{
    min-height:0!important;
    padding:4px!important;
  }
  .game-answer-image-wrap{
    aspect-ratio:1.25/1!important;
  }

  .game-result{
    padding:12px 14px calc(14px + env(safe-area-inset-bottom))!important;
    gap:12px!important;
  }
  .game-result-ring{
    width:150px!important;
  }
  .game-result-ring strong{font-size:44px!important}
  .game-result-copy h2{font-size:31px!important}
  .game-result-copy p{font-size:11px!important}
  .game-result-stats{margin:10px 0!important}
  .game-result-preview{margin:0 0 10px!important}

  .memory-game{
    padding:7px 8px calc(7px + env(safe-area-inset-bottom))!important;
    gap:6px!important;
    grid-template-rows:auto minmax(0,1fr) 26px!important;
  }
  .memory-game-top{gap:5px!important}
  .memory-title h2{font-size:23px!important;margin:3px 0!important}
  .memory-title p{font-size:9px!important;line-height:1.25!important}
  .memory-hud{gap:4px!important}
  .memory-hud>div{padding:4px!important}
  .memory-board{gap:5px!important}
  .memory-card-inner{min-height:0!important}
  .memory-footer{min-height:26px!important}

  .memory-result{
    padding:12px 14px calc(14px + env(safe-area-inset-bottom))!important;
    gap:10px!important;
  }
  .memory-result-orbit{width:155px!important}
  .memory-result-copy h2{font-size:31px!important}
  .memory-result-copy p{font-size:10.5px!important}
  .memory-result-stats{margin:9px 0!important}
}

/* Very short phones / landscape: prioritize the game board itself. */
@media (max-height:600px) and (max-width:950px){
  .game-intro-visual-rich{height:105px!important}
  .game-intro p{display:none!important}
  .game-intro-feature-row{display:none!important}
  .game-question-image-wrap{height:145px!important}
  .game-word-card{height:95px!important}
  .game-answer-btn{min-height:36px!important}
  .game-feedback{flex-basis:40px!important;min-height:40px!important;max-height:40px!important}
  .memory-title p{display:none!important}
  .memory-result-orbit{width:125px!important}
}


/* ==========================================================================
   V71 — Game hub: two equal premium game cards
   ========================================================================== */

.game-hub{
  width:100%;
  height:100%;
  min-height:0;
  padding:clamp(18px,3vw,34px);
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:16px;
  overflow:hidden;
}
.game-hub-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
}
.game-hub-head h2{
  margin:6px 0 4px;
  color:#fff;
  font-size:clamp(34px,4.2vw,58px);
  line-height:.98;
  letter-spacing:-.045em;
}
.game-hub-head p{
  margin:0;
  color:#a9cfd4;
  font-size:12px;
  line-height:1.45;
}
.game-hub-mini-stats{
  display:flex;
  gap:7px;
  flex:0 0 auto;
}
.game-hub-mini-stats span{
  min-width:74px;
  padding:8px 10px;
  border-radius:12px;
  display:flex;
  flex-direction:column;
  gap:1px;
  background:rgba(216,248,251,.045);
  border:1px solid rgba(216,248,251,.075);
}
.game-hub-mini-stats strong{color:#fff;font-size:17px;line-height:1}
.game-hub-mini-stats small{color:#86b4ba;font-size:8.5px;font-weight:800}

.game-hub-grid{
  min-height:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.game-mode-card{
  position:relative;
  min-width:0;
  min-height:0;
  height:100%;
  padding:0;
  border-radius:23px;
  overflow:hidden;
  display:grid;
  grid-template-rows:minmax(0,1.08fr) auto;
  border:1px solid rgba(217,248,251,.12);
  background:rgba(8,51,59,.58);
  color:#fff;
  font-family:inherit;
  text-align:right;
  cursor:pointer;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    0 20px 45px rgba(0,17,23,.18);
  transition:
    transform .22s cubic-bezier(.2,.8,.2,1),
    border-color .22s ease,
    box-shadow .22s ease;
}
.game-mode-card:hover{
  transform:translateY(-4px);
  border-color:rgba(218,248,251,.23);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 28px 58px rgba(0,17,23,.26);
}
.game-mode-card:active{transform:translateY(-1px) scale(.994)}
.game-mode-card-challenge{
  background:
    radial-gradient(circle at 80% 5%,rgba(94,206,219,.16),transparent 34%),
    linear-gradient(155deg,rgba(12,76,86,.94),rgba(5,43,51,.96));
}
.game-mode-card-memory{
  background:
    radial-gradient(circle at 18% 5%,rgba(240,231,91,.095),transparent 34%),
    linear-gradient(155deg,rgba(18,72,80,.94),rgba(5,42,50,.97));
}
.game-mode-card-visual{
  position:relative;
  display:block;
  min-height:0;
  overflow:hidden;
  border-bottom:1px solid rgba(218,248,251,.075);
}
.game-mode-number{
  position:absolute;
  top:14px;
  right:14px;
  z-index:5;
  width:42px;height:42px;
  border-radius:13px;
  display:grid;place-items:center;
  background:rgba(5,43,51,.66);
  border:1px solid rgba(221,249,251,.15);
  backdrop-filter:blur(9px);
  color:#effbfc;
  font-size:11px;
  letter-spacing:.04em;
}
.game-mode-art{
  position:absolute;
  overflow:hidden;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.15);
  box-shadow:0 18px 38px rgba(0,13,18,.28);
}
.game-mode-art img,
.game-mode-memory-card img{
  width:100%;height:100%;display:block;object-fit:cover;
}
.game-mode-art-1{width:40%;height:72%;right:13%;top:15%;transform:rotate(5deg)}
.game-mode-art-2{width:35%;height:62%;left:11%;bottom:9%;transform:rotate(-7deg)}
.game-mode-art-3{width:31%;height:56%;left:34%;top:5%;transform:rotate(1deg);z-index:2}
.game-mode-card:hover .game-mode-art-1{transform:translateY(-3px) rotate(3deg)}
.game-mode-card:hover .game-mode-art-2{transform:translateY(-2px) rotate(-5deg)}
.game-mode-card:hover .game-mode-art-3{transform:translateY(-4px) rotate(0deg)}
.game-mode-art{transition:transform .24s ease}

.game-mode-memory-card{
  position:absolute;
  overflow:hidden;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.15);
  box-shadow:0 18px 38px rgba(0,13,18,.26);
}
.game-mode-memory-card-a{width:39%;height:70%;right:10%;top:15%;transform:rotate(5deg)}
.game-mode-memory-card-b{
  width:38%;height:62%;left:10%;bottom:10%;
  transform:rotate(-6deg);
  padding:18px;
  display:flex;flex-direction:column;justify-content:center;
  background:linear-gradient(150deg,#f4efdf,#e8ecd9);
  color:#153e45;
}
.game-mode-memory-card-b span{font-size:8px;color:#68888d;font-weight:850;margin-bottom:7px}
.game-mode-memory-card-b strong{font-size:clamp(13px,1.4vw,18px);line-height:1.15}
.game-mode-memory-card-c{width:28%;height:49%;left:36%;top:8%;transform:rotate(2deg);z-index:2}
.game-mode-card:hover .game-mode-memory-card-a{transform:translateY(-3px) rotate(3deg)}
.game-mode-card:hover .game-mode-memory-card-b{transform:translateY(-2px) rotate(-4deg)}
.game-mode-card:hover .game-mode-memory-card-c{transform:translateY(-4px) rotate(0deg)}
.game-mode-memory-card{transition:transform .24s ease}

.game-mode-card-copy{
  padding:16px 18px 17px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-height:176px;
}
.game-mode-card-copy>small{
  color:#8dbbc1;
  font-size:9px;
  font-weight:850;
  margin-bottom:4px;
}
.game-mode-card-copy>strong{
  color:#fff;
  font-size:clamp(23px,2.3vw,32px);
  line-height:1;
  letter-spacing:-.03em;
}
.game-mode-card-copy>em{
  margin-top:8px;
  min-height:42px;
  color:#b9d8dc;
  font-size:11px;
  line-height:1.4;
  font-style:normal;
  font-weight:650;
}
.game-mode-meta{
  margin-top:11px;
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.game-mode-meta i{
  padding:5px 8px;
  border-radius:999px;
  background:rgba(218,248,251,.055);
  border:1px solid rgba(218,248,251,.075);
  color:#cce7ea;
  font-size:8.5px;
  font-style:normal;
  font-weight:800;
}
.game-mode-enter{
  margin-top:auto;
  width:100%;
  padding-top:11px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid rgba(218,248,251,.065);
  color:#f1f8f9;
  font-size:10.5px;
  font-weight:850;
}
.game-mode-enter b{
  color:#f0e75b;
  font-size:17px;
}
.game-mode-card-challenge .game-mode-enter b{color:#8fe1e9}
.game-hub-foot{
  text-align:center;
  color:#7daab0;
  font-size:9.5px;
  font-weight:700;
}

/* ==========================================================================
   V71 — Memory flip engine
   The 3D flipper owns ONLY rotateY. Hover/miss/match never write transform
   or filter on that same element, avoiding Safari/iOS compositing conflicts.
   ========================================================================== */

.memory-card{
  transform:translateZ(0)!important;
  -webkit-transform:translateZ(0)!important;
  perspective:1200px!important;
  -webkit-perspective:1200px!important;
  transform-style:flat!important;
  -webkit-transform-style:flat!important;
}
.memory-card-inner{
  filter:none!important;
  isolation:auto!important;
  box-shadow:0 12px 28px rgba(0,17,23,.18)!important;
  transform-origin:50% 50%!important;
  -webkit-transform-origin:50% 50%!important;
}
.memory-card:hover .memory-card-inner,
.memory-card.matched .memory-card-inner{
  filter:none!important;
}
.memory-card:hover{
  box-shadow:0 7px 20px rgba(0,17,23,.08);
}
.memory-card.matched{
  box-shadow:
    0 0 0 1px rgba(83,214,139,.18),
    0 12px 28px rgba(36,158,91,.08);
}

/* Never animate the flipper with the "miss" shake. */
.memory-card.memory-miss .memory-card-inner{
  animation:none!important;
}
.memory-card.memory-miss{
  animation:memoryMissOuter .20s ease!important;
}
@keyframes memoryMissOuter{
  0%,100%{transform:translateZ(0) translateX(0)}
  30%{transform:translateZ(0) translateX(3px)}
  68%{transform:translateZ(0) translateX(-3px)}
}

/* Faces stay physically separate and hidden from the reverse side. */
.memory-card-face{
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
  transform-style:flat!important;
  -webkit-transform-style:flat!important;
}
.memory-card-back{
  transform:translateZ(.5px) rotateY(0deg)!important;
  -webkit-transform:translateZ(.5px) rotateY(0deg)!important;
}
.memory-card-front{
  transform:translateZ(.5px) rotateY(180deg)!important;
  -webkit-transform:translateZ(.5px) rotateY(180deg)!important;
}

/* Desktop chooser always fits without scrolling. */
@media (min-width:951px){
  .game-hub-grid{min-height:0}
  .game-mode-card-visual{min-height:220px}
}

/* Mobile/tablet chooser becomes two clear stacked cards. */
@media (max-width:950px){
  .game-hub{
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    gap:8px;
  }
  .game-hub-head{align-items:center}
  .game-hub-head h2{font-size:29px;margin:3px 0}
  .game-hub-head p{font-size:9.5px}
  .game-hub-mini-stats{display:none}
  .game-hub-grid{
    grid-template-columns:1fr;
    grid-template-rows:repeat(2,minmax(0,1fr));
    gap:7px;
  }
  .game-mode-card{
    grid-template-columns:38% minmax(0,1fr);
    grid-template-rows:1fr;
    border-radius:16px;
  }
  .game-mode-card-visual{
    border-bottom:0;
    border-left:1px solid rgba(218,248,251,.075);
  }
  .game-mode-number{
    width:30px;height:30px;
    border-radius:9px;
    top:8px;right:8px;
    font-size:8px;
  }
  .game-mode-art-1{width:48%;height:72%;right:10%;top:17%}
  .game-mode-art-2{width:42%;height:62%;left:7%;bottom:8%}
  .game-mode-art-3{width:36%;height:55%;left:31%;top:5%}
  .game-mode-memory-card-a{width:47%;height:72%;right:8%;top:16%}
  .game-mode-memory-card-b{width:45%;height:62%;left:6%;bottom:8%;padding:8px}
  .game-mode-memory-card-b strong{font-size:10px}
  .game-mode-memory-card-c{width:34%;height:52%;left:31%;top:5%}
  .game-mode-card-copy{
    min-height:0;
    padding:10px 11px;
  }
  .game-mode-card-copy>strong{font-size:20px}
  .game-mode-card-copy>em{
    min-height:0;
    margin-top:5px;
    font-size:9px;
    line-height:1.3;
  }
  .game-mode-meta{margin-top:6px}
  .game-mode-meta i{font-size:7.5px;padding:4px 6px}
  .game-mode-enter{padding-top:7px;font-size:9px}
  .game-hub-foot{font-size:8px}
}

/* Short landscape phones: keep both chooser cards side by side. */
@media (orientation:landscape) and (max-width:950px) and (max-height:600px){
  .game-hub{padding:6px 12px;gap:5px}
  .game-hub-head h2{font-size:22px}
  .game-hub-head p,.game-hub-foot{display:none}
  .game-hub-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:1fr;
    gap:7px;
  }
  .game-mode-card{
    grid-template-columns:40% minmax(0,1fr);
  }
  .game-mode-card-copy>strong{font-size:17px}
  .game-mode-card-copy>em{font-size:8px}
}


/* ==========================================================================
   V72 — Game artwork: preserve the full illustration wherever possible
   ========================================================================== */

/* Main illustration question: full page visible, no destructive crop. */
.game-question-image-wrap:not(.is-detail){
  background:
    radial-gradient(circle at 50% 40%,rgba(255,255,255,.52),transparent 50%),
    #eee9dc!important;
  padding:5px!important;
  box-sizing:border-box!important;
}
.game-question-image-wrap:not(.is-detail) .game-question-image{
  object-fit:contain!important;
  object-position:center center!important;
  background:#eee9dc!important;
}

/* Detail challenge is the one intentional crop/zoom mode. */
.game-question-image-wrap.is-detail .game-question-image-detail{
  object-fit:cover!important;
}

/* "Choose the illustration" answers show the complete page, not a crop. */
.game-answer-image-wrap{
  background:#eee9dc!important;
  padding:4px!important;
  box-sizing:border-box!important;
}
.game-answer-image{
  object-fit:contain!important;
  object-position:center center!important;
  background:#eee9dc!important;
}

/* Memory image cards: always expose the complete illustration. */
.memory-card-front.is-image{
  background:#eee9dc!important;
  padding:5px!important;
  box-sizing:border-box!important;
}
.memory-card-front.is-image img{
  object-fit:contain!important;
  object-position:center center!important;
  background:#eee9dc!important;
  border-radius:10px!important;
}

/* Result thumbnails also preserve the artwork. */
.game-result-preview img,
.memory-result-thumb img{
  object-fit:contain!important;
  object-position:center center!important;
  background:#eee9dc!important;
}

/* Game chooser artwork is decorative, but avoid aggressive cropping there too. */
.game-mode-art,
.game-mode-memory-card-a,
.game-mode-memory-card-c{
  background:#eee9dc!important;
}
.game-mode-art img,
.game-mode-memory-card-a img,
.game-mode-memory-card-c img{
  object-fit:contain!important;
  object-position:center center!important;
  background:#eee9dc!important;
}

/* Small visual polish for letterboxed full-page illustrations. */
.game-answer-image-wrap,
.memory-card-front.is-image,
.game-mode-art,
.game-mode-memory-card-a,
.game-mode-memory-card-c{
  box-shadow:
    inset 0 0 0 1px rgba(70,58,42,.045),
    0 10px 24px rgba(0,16,22,.12);
}

/* On memory cards, don't let the "איור מתוך הספר" badge cover image details. */
.memory-card-front.is-image i{
  right:7px!important;
  bottom:7px!important;
  padding:3px 5px!important;
  font-size:6.8px!important;
  background:rgba(7,47,55,.72)!important;
}

/* ==========================================================================
   V72 — Two-stage X behavior
   Same X, but its accessible meaning changes by game depth.
   ========================================================================== */
.proverb-game-close{
  position:relative;
}
.proverb-game-close::after{
  content:attr(title);
  position:absolute;
  top:50%;
  left:calc(100% + 8px);
  transform:translateY(-50%);
  width:max-content;
  max-width:170px;
  padding:5px 8px;
  border-radius:8px;
  background:rgba(4,34,41,.90);
  border:1px solid rgba(218,248,251,.10);
  color:#cfe8eb;
  font:700 9px/1.2 "Assistant",Arial,sans-serif;
  opacity:0;
  pointer-events:none;
  white-space:nowrap;
  transition:opacity .15s ease;
}
.proverb-game-close:hover::after{
  opacity:1;
}
@media (max-width:950px){
  .proverb-game-close::after{display:none!important}
}


/* ==========================================================================
   V75 — Classic memory: identical composite cards (illustration + proverb)
   ========================================================================== */

.memory-card-front.memory-card-composite{
  padding:0!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  background:#eee9dc!important;
  color:#153e45!important;
}

.memory-card-composite-image{
  min-height:0!important;
  display:grid!important;
  place-items:center!important;
  padding:5px 5px 0!important;
  overflow:hidden!important;
  background:#eee9dc!important;
}

.memory-card-composite-image img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  border-radius:10px!important;
  background:#eee9dc!important;
  -webkit-user-drag:none!important;
  pointer-events:none!important;
}

.memory-card-composite-copy{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:2px!important;
  min-height:54px!important;
  padding:8px 10px 9px!important;
  text-align:right!important;
  background:
    linear-gradient(180deg,rgba(249,247,236,.98),rgba(231,236,216,.99))!important;
  border-top:1px solid rgba(43,78,84,.09)!important;
}

.memory-card-composite-copy small{
  color:#718b8e!important;
  font-size:7px!important;
  line-height:1!important;
  font-weight:850!important;
}

.memory-card-composite-copy strong{
  color:#153e45!important;
  font-size:clamp(10.5px,1.0vw,14px)!important;
  line-height:1.13!important;
  font-weight:800!important;
  letter-spacing:-.018em!important;
}

.memory-card.matched .memory-card-composite-copy{
  background:
    linear-gradient(180deg,rgba(241,252,244,.99),rgba(220,240,221,.99))!important;
}

/* Remove legacy front-type assumptions from the old image↔text mode. */
.memory-card-front.is-image,
.memory-card-front.is-text{
  padding:0;
}
.memory-card-front.is-image i,
.memory-card-front.is-text small,
.memory-card-front.is-text strong,
.memory-text-line{
  /* old selectors no longer participate in V75 card rendering */
}

/* Desktop: give enough room for the whole illustration + readable proverb. */
@media (min-width:951px){
  .memory-card-composite-copy{
    min-height:58px!important;
    padding:8px 10px 10px!important;
  }
}

/* Mobile: keep text readable without making the board scroll. */
@media (max-width:950px){
  .memory-card-composite-copy{
    min-height:41px!important;
    padding:5px 6px 6px!important;
  }
  .memory-card-composite-copy small{
    font-size:5.8px!important;
  }
  .memory-card-composite-copy strong{
    font-size:8.2px!important;
    line-height:1.08!important;
  }
  .memory-card-composite-image{
    padding:3px 3px 0!important;
  }
  .memory-card-composite-image img{
    border-radius:7px!important;
  }
}

@media (orientation:landscape) and (max-width:950px) and (pointer:coarse){
  .memory-card-composite-copy{
    min-height:32px!important;
    padding:3px 5px 4px!important;
  }
  .memory-card-composite-copy small{
    display:none!important;
  }
  .memory-card-composite-copy strong{
    font-size:7.3px!important;
    line-height:1.04!important;
  }
}


/* ==========================================================================
   V77 — מהתקשורת
   Full-screen editorial press page inside the book experience.
   ========================================================================== */

body.press-page-open{overflow:hidden!important}

.press-toolbar-btn .press-toolbar-icon{
  display:grid!important;
  place-items:center!important;
  color:#dff8fa!important;
  font-size:16px!important;
}

.press-page{
  position:fixed;
  inset:0;
  z-index:4900;
  display:grid;
  grid-template-rows:68px minmax(0,1fr);
  opacity:0;
  visibility:hidden;
  background:#062f37;
  transition:opacity .22s ease,visibility .22s ease;
  font-family:"Assistant",Arial,sans-serif;
}
.press-page.open{opacity:1;visibility:visible}
.press-page[hidden]{display:none!important}

.press-page-bg{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 84% 2%,rgba(97,208,221,.16),transparent 31%),
    radial-gradient(circle at 9% 58%,rgba(240,231,91,.055),transparent 34%),
    linear-gradient(145deg,#07343c 0%,#062b33 48%,#041f26 100%);
}
.press-page-bg::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:.23;
  background-image:
    linear-gradient(rgba(255,255,255,.017) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.017) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,transparent,black 14%,black 88%,transparent);
}

.press-page-bar{
  position:relative;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:0 max(18px,2.2vw);
  border-bottom:1px solid rgba(216,248,251,.09);
  background:rgba(4,35,42,.73);
  backdrop-filter:blur(16px) saturate(120%);
  -webkit-backdrop-filter:blur(16px) saturate(120%);
  box-shadow:0 7px 28px rgba(0,16,22,.13);
}
.press-page-brand{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
}
.press-page-brand-mark{
  width:37px;height:37px;
  border-radius:11px;
  display:grid;
  place-items:center;
  color:#f0e75b;
  background:rgba(216,248,251,.055);
  border:1px solid rgba(216,248,251,.09);
  font-size:15px;
}
.press-page-brand>span:last-child{
  display:flex;
  flex-direction:column;
  gap:1px;
}
.press-page-brand small{
  color:#94bdc2;
  font-size:8.8px;
  font-weight:750;
}
.press-page-brand strong{
  color:#fff;
  font-size:16px;
  line-height:1.05;
}
.press-page-close{
  width:38px;height:38px;
  border-radius:11px;
  border:1px solid rgba(216,248,251,.10);
  background:rgba(255,255,255,.045);
  color:#dcf2f4;
  font:400 25px/1 Arial;
  cursor:pointer;
  transition:background .15s ease,transform .15s ease;
}
.press-page-close:hover{background:rgba(255,255,255,.09)}
.press-page-close:active{transform:scale(.95)}

.press-page-scroll{
  position:relative;
  z-index:2;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  scroll-behavior:smooth;
}

/* Hero */
.press-hero{
  width:min(1180px,calc(100% - 40px));
  min-height:540px;
  margin:0 auto;
  padding:clamp(46px,6vw,84px) 0 clamp(38px,5vw,64px);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(390px,.86fr);
  gap:clamp(34px,6vw,86px);
  align-items:center;
}
.press-eyebrow{
  display:flex;
  align-items:center;
  gap:8px;
  color:#a5ccd1;
  font-size:10px;
  font-weight:800;
  letter-spacing:.03em;
}
.press-eyebrow span{
  width:25px;height:2px;
  border-radius:99px;
  background:#f0e75b;
}
.press-hero h1{
  margin:12px 0 17px;
  color:#fff;
  font-size:clamp(55px,7vw,94px);
  line-height:.86;
  font-weight:700;
  letter-spacing:-.055em;
}
.press-hero h1 em{
  display:block;
  color:#f0e75b;
  font-style:normal;
  font-weight:590;
}
.press-hero-copy>p{
  max-width:570px;
  margin:0;
  color:#c3dfe3;
  font-size:16px;
  line-height:1.55;
}
.press-hero-stats{
  display:flex;
  gap:8px;
  margin-top:27px;
}
.press-hero-stats span{
  min-width:100px;
  padding:11px 13px;
  border-radius:13px;
  display:flex;
  flex-direction:column;
  gap:2px;
  background:rgba(216,248,251,.045);
  border:1px solid rgba(216,248,251,.075);
}
.press-hero-stats strong{
  color:#fff;
  font-size:20px;
  line-height:1;
}
.press-hero-stats small{
  color:#86b4ba;
  font-size:8.5px;
  font-weight:800;
}

.press-hero-stack{
  position:relative;
  height:440px;
}
.press-hero-paper{
  position:absolute;
  margin:0;
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.15);
  background:#eee9dc;
  box-shadow:0 25px 60px rgba(0,12,17,.31);
}
.press-hero-paper img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
}
.press-hero-paper-a{
  width:48%;height:73%;
  right:5%;top:8%;
  transform:rotate(5deg);
}
.press-hero-paper-b{
  width:50%;height:52%;
  left:4%;bottom:5%;
  transform:rotate(-6deg);
  background:#071d22;
}
.press-hero-paper-b span{
  position:absolute;
  inset:50% auto auto 50%;
  transform:translate(-50%,-50%);
  width:52px;height:52px;
  border-radius:50%;
  display:grid;
  place-items:center;
  padding-left:3px;
  color:#143a40;
  background:#f0e75b;
  box-shadow:0 10px 28px rgba(0,0,0,.23);
  font-size:17px;
}
.press-hero-paper-c{
  width:36%;height:56%;
  left:26%;top:0;
  transform:rotate(1deg);
  z-index:2;
}
.press-hero-seal{
  position:absolute;
  right:35%;
  bottom:11%;
  z-index:4;
  width:92px;height:92px;
  border-radius:50%;
  display:grid;
  place-items:center;
  text-align:center;
  color:#fff;
  background:rgba(8,65,75,.94);
  border:1px solid rgba(240,231,91,.32);
  box-shadow:0 17px 38px rgba(0,14,19,.26),inset 0 0 0 6px rgba(255,255,255,.022);
  font-size:12px;
  line-height:1.05;
  font-weight:850;
}

/* Shared sections */
.press-section{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
  padding:clamp(38px,5vw,70px) 0;
  border-top:1px solid rgba(215,248,251,.075);
}
.press-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:24px;
}
.press-section-head small{
  display:block;
  margin-bottom:4px;
  color:#86b5bb;
  font-size:9.5px;
  font-weight:850;
}
.press-section-head h2{
  margin:0;
  color:#fff;
  font-size:clamp(32px,4vw,52px);
  line-height:.98;
  letter-spacing:-.04em;
}
.press-section-head>span{
  color:#729fa6;
  font-size:9px;
  font-weight:750;
}

/* YouTube */
.press-video-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.press-video-card{
  min-width:0;
  overflow:hidden;
  border-radius:19px;
  background:
    linear-gradient(160deg,rgba(17,76,86,.78),rgba(5,42,50,.88));
  border:1px solid rgba(217,248,251,.105);
  box-shadow:0 18px 42px rgba(0,15,20,.14);
}
.press-video-card h3{
  min-height:88px;
  margin:0;
  padding:16px 17px 14px;
  color:#edf9fa;
  font-size:14px;
  line-height:1.38;
  font-weight:750;
}
.press-video-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#03171c;
}
.press-video-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.press-video-card>a{
  min-height:42px;
  padding:0 15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#acd5da;
  text-decoration:none;
  border-top:1px solid rgba(215,248,251,.065);
  font-size:9.5px;
  font-weight:800;
}
.press-video-card>a span{
  color:#f0e75b;
  font-size:14px;
}

/* Press scans */
.press-clippings-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.press-clipping-card{
  min-width:0;
  padding:16px;
  border-radius:19px;
  background:rgba(216,248,251,.035);
  border:1px solid rgba(216,248,251,.085);
}
.press-clipping-card h3{
  min-height:56px;
  margin:0 0 12px;
  color:#edf8f9;
  font-size:13px;
  line-height:1.38;
  font-weight:750;
}
.press-image-button{
  width:100%;
  padding:0;
  border:0;
  background:none;
  color:inherit;
  font-family:inherit;
  text-align:inherit;
  cursor:zoom-in;
}
.press-image-stage{
  width:100%;
  height:440px;
  padding:12px;
  box-sizing:border-box;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:14px;
  background:
    linear-gradient(145deg,#eee9db,#e5dfd1);
  box-shadow:
    inset 0 0 0 1px rgba(67,56,42,.06),
    0 15px 34px rgba(0,14,19,.17);
}
.press-image-stage img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 6px 12px rgba(38,31,22,.10));
}
.press-image-expand{
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  color:#8ebbc0;
  font-size:9px;
  font-weight:800;
}
.press-image-expand b{
  color:#f0e75b;
  font-size:13px;
}
.press-image-button:hover .press-image-stage{
  box-shadow:
    inset 0 0 0 1px rgba(67,56,42,.07),
    0 19px 40px rgba(0,14,19,.22);
}

/* Text-only source mentions */
.press-mentions-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.press-mention-card{
  min-height:180px;
  padding:17px;
  border-radius:17px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:12px;
  background:
    radial-gradient(circle at 90% 2%,rgba(103,209,221,.08),transparent 40%),
    rgba(216,248,251,.035);
  border:1px solid rgba(216,248,251,.08);
}
.press-mention-number{
  color:#f0e75b;
  font-size:10px;
  font-weight:850;
}
.press-mention-card small{
  display:block;
  margin-bottom:8px;
  color:#7faeb5;
  font-size:8.5px;
  font-weight:850;
}
.press-mention-card h3{
  margin:0;
  color:#e5f4f6;
  font-size:13px;
  line-height:1.48;
  font-weight:720;
}

.press-page-footer{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
  padding:24px 0 38px;
  border-top:1px solid rgba(216,248,251,.075);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.press-page-footer>div{
  display:flex;
  flex-direction:column;
  gap:1px;
}
.press-page-footer strong{color:#e8f7f8;font-size:11px}
.press-page-footer>div span{color:#769fa5;font-size:8.5px}
.press-page-footer>a{
  display:flex;
  gap:6px;
  align-items:center;
  color:#a3cbd0;
  text-decoration:none;
  font-size:9.5px;
  font-weight:800;
}
.press-page-footer>a span{color:#f0e75b}

/* Lightbox */
.press-lightbox{
  position:absolute;
  inset:0;
  z-index:9;
  display:grid;
  place-items:center;
  padding:30px;
  opacity:0;
  visibility:hidden;
  background:rgba(1,19,24,.92);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:opacity .16s ease,visibility .16s ease;
}
.press-lightbox.open{opacity:1;visibility:visible}
.press-lightbox[hidden]{display:none!important}
.press-lightbox figure{
  width:min(1080px,88vw);
  height:min(84dvh,920px);
  margin:0;
  padding:14px;
  border-radius:18px;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  gap:9px;
  background:#eee9dc;
  box-shadow:0 30px 80px rgba(0,0,0,.38);
}
.press-lightbox img{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:contain;
}
.press-lightbox figcaption{
  color:#304c50;
  font-size:11px;
  line-height:1.35;
  text-align:center;
  font-weight:750;
}
.press-lightbox-close{
  position:absolute;
  top:max(16px,env(safe-area-inset-top));
  right:max(16px,env(safe-area-inset-right));
  width:40px;height:40px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  color:#fff;
  font:400 26px/1 Arial;
  cursor:pointer;
}

/* Mobile toolbar: the new press button becomes the eighth explicit tool. */
@media (max-width:680px), (max-width:950px) and (pointer:coarse){
  .reader.mobile-book-onepage #pressBtn{
    display:flex!important;
  }
  .reader.mobile-book-onepage .reader-actions{
    grid-template-columns:repeat(8,minmax(0,1fr))!important;
    gap:2px!important;
  }
  .reader.mobile-book-onepage .reader-bar .icon-btn,
  .reader.mobile-book-onepage .reader-bar .icon-btn.feature-btn{
    padding-left:0!important;
    padding-right:0!important;
  }
  .reader.mobile-book-onepage .reader-bar .icon-btn .label[data-mobile-label]::after{
    font-size:10.2px!important;
  }

  .press-page{
    grid-template-rows:calc(58px + env(safe-area-inset-top)) minmax(0,1fr);
  }
  .press-page-bar{
    padding:
      env(safe-area-inset-top)
      max(12px,env(safe-area-inset-right))
      0
      max(12px,env(safe-area-inset-left));
  }
  .press-page-brand-mark{width:33px;height:33px;border-radius:9px}
  .press-page-brand small{font-size:7.5px}
  .press-page-brand strong{font-size:14px}
  .press-page-close{width:34px;height:34px}

  .press-hero,
  .press-section,
  .press-page-footer{
    width:calc(100% - 24px);
  }
  .press-hero{
    min-height:0;
    padding:22px 0 28px;
    display:flex;
    flex-direction:column-reverse;
    gap:22px;
    align-items:stretch;
  }
  .press-hero-stack{
    height:245px;
  }
  .press-hero h1{
    font-size:48px;
    margin:8px 0 10px;
  }
  .press-hero-copy>p{font-size:13px}
  .press-hero-stats{margin-top:16px;gap:5px}
  .press-hero-stats span{min-width:0;flex:1;padding:8px}
  .press-hero-stats strong{font-size:17px}
  .press-hero-stats small{font-size:7.4px}

  .press-section{padding:28px 0}
  .press-section-head{margin-bottom:14px}
  .press-section-head h2{font-size:31px}
  .press-section-head>span{display:none}

  .press-video-grid,
  .press-clippings-grid,
  .press-mentions-grid{
    grid-template-columns:1fr;
    gap:9px;
  }
  .press-video-card h3{
    min-height:0;
    padding:12px;
    font-size:11.5px;
  }
  .press-clipping-card{
    padding:11px;
    border-radius:15px;
  }
  .press-clipping-card h3{
    min-height:0;
    font-size:11.5px;
    margin-bottom:9px;
  }
  .press-image-stage{
    height:min(68dvh,520px);
    padding:7px;
  }
  .press-mention-card{
    min-height:130px;
  }
  .press-lightbox{
    padding:9px;
  }
  .press-lightbox figure{
    width:100%;
    height:calc(100dvh - 78px);
    padding:8px;
    border-radius:12px;
  }
}

@media (max-width:380px){
  .reader.mobile-book-onepage .reader-bar .icon-btn .label[data-mobile-label]::after{
    font-size:9.1px!important;
  }
}

/* Short phone landscape: keep media page usable. */
@media (orientation:landscape) and (max-width:950px) and (pointer:coarse){
  .press-hero{
    display:grid;
    grid-template-columns:1fr .8fr;
    gap:20px;
    padding:18px 0 24px;
  }
  .press-hero-stack{height:calc(100dvh - 125px)}
  .press-hero h1{font-size:39px}
  .press-hero-copy>p{font-size:11px}
  .press-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* ==========================================================================
   V78 — מהתקשורת: editorial redesign
   Scope is intentionally limited to the press page.
   ========================================================================== */

.press-page-bg{
  background:
    radial-gradient(circle at 78% 0%,rgba(100,215,226,.145),transparent 29%),
    radial-gradient(circle at 7% 42%,rgba(240,231,91,.055),transparent 30%),
    radial-gradient(circle at 88% 84%,rgba(70,156,166,.07),transparent 28%),
    linear-gradient(145deg,#073640 0%,#052b33 51%,#041e25 100%)!important;
}
.press-page-bg::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.06;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.16) 0 1px,transparent 1px 5px);
  mix-blend-mode:soft-light;
}
.press-page-scroll{
  scrollbar-width:thin;
  scrollbar-color:rgba(152,205,212,.25) transparent;
}
.press-page-scroll::-webkit-scrollbar{width:8px}
.press-page-scroll::-webkit-scrollbar-thumb{
  border-radius:99px;
  background:rgba(152,205,212,.22);
}

/* Hero */
.press-hero{
  width:min(1200px,calc(100% - 48px))!important;
  min-height:620px!important;
  grid-template-columns:minmax(0,1fr) minmax(360px,.76fr)!important;
  gap:clamp(48px,7vw,108px)!important;
  padding:clamp(52px,7vw,94px) 0 clamp(55px,6vw,78px)!important;
}
.press-hero-copy{
  position:relative;
  z-index:2;
}
.press-hero h1{
  max-width:700px;
  margin:15px 0 22px!important;
  font-size:clamp(64px,7.8vw,108px)!important;
  line-height:.84!important;
  letter-spacing:-.065em!important;
}
.press-hero-copy>p{
  max-width:600px!important;
  color:#c8e1e5!important;
  font-size:17px!important;
  line-height:1.56!important;
}
.press-hero-note{
  width:min(520px,100%);
  margin-top:28px;
  padding:16px 17px 16px 52px;
  position:relative;
  border-radius:15px;
  background:linear-gradient(135deg,rgba(219,248,251,.055),rgba(219,248,251,.025));
  border:1px solid rgba(219,248,251,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.press-hero-note>span{
  position:absolute;
  left:15px;
  top:8px;
  color:#f0e75b;
  font-family:Georgia,serif;
  font-size:42px;
  line-height:1;
  opacity:.85;
}
.press-hero-note p{
  margin:0;
  color:#9ec7cd;
  font-size:11px;
  line-height:1.48;
  font-weight:700;
}

/* The book cover replaces the old media collage. */
.press-cover-stage{
  position:relative;
  min-height:480px;
  display:grid;
  place-items:center;
  perspective:1600px;
}
.press-cover-halo{
  position:absolute;
  width:78%;
  aspect-ratio:1;
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(117,221,231,.18),rgba(117,221,231,.035) 44%,transparent 69%);
  filter:blur(5px);
}
.press-cover-halo::after{
  content:"";
  position:absolute;
  width:76%;
  height:17%;
  left:12%;
  bottom:4%;
  border-radius:50%;
  background:rgba(0,0,0,.56);
  filter:blur(27px);
}
.press-cover-book{
  position:relative;
  width:min(340px,29vw,46vh);
  aspect-ratio:3/4;
  margin:0;
  z-index:2;
  transform:rotateY(-8deg) rotateX(2deg) rotateZ(-1.2deg);
  transform-style:preserve-3d;
  filter:
    drop-shadow(0 34px 36px rgba(0,0,0,.36))
    drop-shadow(0 0 22px rgba(106,208,219,.10));
}
.press-cover-book::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:3px 9px 9px 3px;
  pointer-events:none;
  box-shadow:
    inset -12px 0 21px rgba(58,48,34,.08),
    inset 0 0 0 1px rgba(71,57,42,.15);
}
.press-cover-book img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:3px 9px 9px 3px;
}
.press-cover-edge{
  position:absolute;
  top:8px;
  bottom:8px;
  right:-8px;
  width:10px;
  transform:rotateY(72deg);
  transform-origin:left;
  background:linear-gradient(90deg,#d8cdbb,#fbf4e8,#c7bba9);
  border-radius:0 4px 4px 0;
}
.press-cover-caption{
  position:absolute;
  right:3%;
  bottom:11%;
  z-index:3;
  min-width:158px;
  padding:10px 12px;
  border-radius:12px;
  display:flex;
  flex-direction:column;
  gap:1px;
  background:rgba(4,40,48,.82);
  border:1px solid rgba(215,248,251,.12);
  backdrop-filter:blur(11px);
  -webkit-backdrop-filter:blur(11px);
  box-shadow:0 13px 28px rgba(0,17,23,.20);
}
.press-cover-caption small{
  color:#8ebac0;
  font-size:7.5px;
  font-weight:800;
}
.press-cover-caption strong{
  color:#fff;
  font-size:11.5px;
  line-height:1.1;
}

/* Section treatment */
.press-section{
  width:min(1200px,calc(100% - 48px))!important;
  padding:clamp(48px,6vw,82px) 0!important;
}
.press-section-head{
  justify-content:flex-start!important;
  align-items:center!important;
  gap:14px!important;
  margin-bottom:30px!important;
}
.press-section-index{
  flex:0 0 auto;
  width:43px;
  height:43px;
  border-radius:13px;
  display:grid;
  place-items:center;
  color:#f0e75b;
  background:rgba(216,248,251,.045);
  border:1px solid rgba(216,248,251,.085);
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
}
.press-section-head h2{
  font-size:clamp(37px,4.5vw,58px)!important;
}
.press-section-head small{
  color:#7fb0b7!important;
}

/* Video cards */
.press-video-grid{
  gap:18px!important;
}
.press-video-card{
  position:relative;
  border-radius:22px!important;
  overflow:hidden;
  background:
    radial-gradient(circle at 100% 0%,rgba(93,203,215,.09),transparent 38%),
    linear-gradient(150deg,rgba(14,73,83,.82),rgba(4,37,45,.94))!important;
  border:1px solid rgba(217,248,251,.105)!important;
  box-shadow:
    0 23px 52px rgba(0,14,20,.16),
    inset 0 1px 0 rgba(255,255,255,.035)!important;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.press-video-card:hover{
  transform:translateY(-3px);
  border-color:rgba(217,248,251,.18)!important;
  box-shadow:0 28px 60px rgba(0,14,20,.22)!important;
}
.press-card-index{
  position:absolute;
  top:14px;
  left:14px;
  z-index:3;
  width:34px;height:34px;
  border-radius:10px;
  display:grid;
  place-items:center;
  color:#f0e75b;
  background:rgba(3,35,42,.72);
  border:1px solid rgba(216,248,251,.12);
  backdrop-filter:blur(8px);
  font-size:8.5px;
  font-weight:900;
}
.press-video-card h3{
  min-height:94px!important;
  padding:18px 58px 15px 18px!important;
  font-size:14.3px!important;
  line-height:1.42!important;
}
.press-video-frame{
  margin:0 10px;
  width:calc(100% - 20px)!important;
  border-radius:14px;
  box-shadow:0 12px 30px rgba(0,0,0,.20);
}
.press-video-card>a{
  margin:7px 10px 10px;
  min-height:38px!important;
  padding:0 9px!important;
  border-top:0!important;
  border-radius:9px;
  background:rgba(216,248,251,.035);
}

/* Press clipping cards — stronger magazine feel. */
.press-clippings-grid{
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:18px!important;
}
.press-clipping-card{
  grid-column:span 6;
  position:relative;
  padding:17px!important;
  border-radius:22px!important;
  background:
    linear-gradient(145deg,rgba(216,248,251,.045),rgba(216,248,251,.021))!important;
  border:1px solid rgba(216,248,251,.085)!important;
  box-shadow:0 18px 42px rgba(0,15,20,.10);
}
.press-clipping-card:nth-child(1),
.press-clipping-card:nth-child(6){
  grid-column:span 12;
}
.press-clipping-card:nth-child(1) .press-image-stage,
.press-clipping-card:nth-child(6) .press-image-stage{
  height:520px!important;
}
.press-clipping-card h3{
  min-height:0!important;
  margin:0 0 14px!important;
  color:#edf9fa!important;
  font-size:13.5px!important;
  line-height:1.4!important;
}
.press-image-stage{
  height:410px!important;
  border-radius:16px!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.55),transparent 35%),
    linear-gradient(145deg,#eee9da,#ddd6c9)!important;
}
.press-image-stage img{
  transition:transform .22s ease;
}
.press-image-button:hover .press-image-stage img{
  transform:scale(1.012);
}
.press-image-expand{
  min-height:39px!important;
  justify-content:space-between!important;
  padding:0 2px!important;
  color:#9ac3c8!important;
}
.press-image-expand::before{
  content:"לחצו לצפייה מלאה";
  font-size:8.2px;
  color:#729fa6;
}

/* Footer */
.press-page-footer{
  width:min(1200px,calc(100% - 48px))!important;
  padding:30px 0 46px!important;
}

/* Mobile redesign: not a shrunk desktop. */
@media (max-width:680px), (max-width:950px) and (pointer:coarse){
  .press-page{
    grid-template-rows:calc(56px + env(safe-area-inset-top)) minmax(0,1fr)!important;
  }
  .press-page-bar{
    padding:
      env(safe-area-inset-top)
      max(11px,env(safe-area-inset-right))
      0
      max(11px,env(safe-area-inset-left))!important;
  }
  .press-page-brand small{display:none!important}
  .press-page-brand strong{font-size:14.5px!important}

  .press-hero,
  .press-section,
  .press-page-footer{
    width:calc(100% - 24px)!important;
  }

  .press-hero{
    min-height:0!important;
    padding:22px 0 30px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:22px!important;
  }
  .press-cover-stage{
    order:-1;
    min-height:270px!important;
  }
  .press-cover-book{
    width:min(195px,51vw)!important;
    transform:rotateY(-5deg) rotateX(1deg) rotateZ(-.7deg)!important;
    filter:
      drop-shadow(0 24px 26px rgba(0,0,0,.33))
      drop-shadow(0 0 15px rgba(106,208,219,.08))!important;
  }
  .press-cover-halo{
    width:250px!important;
  }
  .press-cover-caption{
    right:calc(50% - 136px)!important;
    bottom:13px!important;
    min-width:125px!important;
    padding:8px 9px!important;
  }
  .press-cover-caption strong{font-size:9.5px!important}

  .press-hero h1{
    font-size:49px!important;
    line-height:.88!important;
    margin:8px 0 13px!important;
  }
  .press-hero-copy>p{
    font-size:13px!important;
    line-height:1.48!important;
  }
  .press-hero-note{
    margin-top:15px!important;
    padding:12px 12px 12px 39px!important;
    border-radius:12px!important;
  }
  .press-hero-note>span{
    left:10px!important;
    top:7px!important;
    font-size:32px!important;
  }
  .press-hero-note p{
    font-size:9.5px!important;
  }

  .press-section{
    padding:30px 0!important;
  }
  .press-section-head{
    gap:10px!important;
    margin-bottom:15px!important;
  }
  .press-section-index{
    width:34px!important;
    height:34px!important;
    border-radius:10px!important;
    font-size:8px!important;
  }
  .press-section-head h2{
    font-size:30px!important;
  }
  .press-section-head small{
    font-size:8px!important;
  }

  .press-video-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .press-video-card{
    border-radius:16px!important;
  }
  .press-video-card h3{
    min-height:0!important;
    padding:12px 44px 10px 11px!important;
    font-size:11.5px!important;
    line-height:1.36!important;
  }
  .press-card-index{
    top:9px!important;
    left:9px!important;
    width:27px!important;
    height:27px!important;
    border-radius:8px!important;
    font-size:7px!important;
  }
  .press-video-frame{
    margin:0 7px!important;
    width:calc(100% - 14px)!important;
    border-radius:11px!important;
  }
  .press-video-card>a{
    margin:5px 7px 7px!important;
    min-height:34px!important;
    font-size:8.5px!important;
  }

  .press-clippings-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .press-clipping-card,
  .press-clipping-card:nth-child(1),
  .press-clipping-card:nth-child(6){
    grid-column:auto!important;
    padding:10px!important;
    border-radius:15px!important;
  }
  .press-clipping-card h3{
    margin-bottom:8px!important;
    font-size:11px!important;
    line-height:1.34!important;
  }
  .press-image-stage,
  .press-clipping-card:nth-child(1) .press-image-stage,
  .press-clipping-card:nth-child(6) .press-image-stage{
    height:min(61dvh,490px)!important;
    padding:7px!important;
    border-radius:11px!important;
  }
  .press-image-expand{
    min-height:31px!important;
    font-size:8px!important;
  }
  .press-image-expand::before{
    font-size:7.2px!important;
  }

  .press-page-footer{
    padding:20px 0 calc(28px + env(safe-area-inset-bottom))!important;
  }
  .press-page-footer>a{font-size:8.5px!important}
}

/* Narrow phones */
@media (max-width:390px){
  .press-cover-stage{min-height:245px!important}
  .press-cover-book{width:176px!important}
  .press-cover-caption{
    right:calc(50% - 124px)!important;
    bottom:9px!important;
  }
  .press-hero h1{font-size:44px!important}
  .press-image-stage,
  .press-clipping-card:nth-child(1) .press-image-stage,
  .press-clipping-card:nth-child(6) .press-image-stage{
    height:min(57dvh,430px)!important;
  }
}

/* Landscape mobile: compact two-column hero, media cards stay readable. */
@media (orientation:landscape) and (max-width:950px) and (pointer:coarse){
  .press-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 230px!important;
    align-items:center!important;
    gap:26px!important;
    padding:20px 0 26px!important;
  }
  .press-cover-stage{
    order:0!important;
    min-height:calc(100dvh - 120px)!important;
  }
  .press-cover-book{
    width:min(172px,35vh)!important;
  }
  .press-cover-caption{
    right:2%!important;
    bottom:7%!important;
  }
  .press-hero h1{font-size:39px!important}
  .press-hero-note{display:none!important}
  .press-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .press-image-stage,
  .press-clipping-card:nth-child(1) .press-image-stage,
  .press-clipping-card:nth-child(6) .press-image-stage{
    height:72dvh!important;
  }
}


/* V79 — exact press-video order, right-to-left on desktop */
.press-video-grid{
  direction:rtl;
}
.press-video-card{
  direction:rtl;
  text-align:right;
}


/* ==========================================================================
   V80 — מהתקשורת: מספרי סרטונים בצד ימין
   ========================================================================== */

.press-video-card .press-card-index{
  right:14px!important;
  left:auto!important;
}

.press-video-card h3{
  padding-right:66px!important;
  padding-left:18px!important;
}

/* Mobile */
@media (max-width:680px), (max-width:950px) and (pointer:coarse){
  .press-video-card .press-card-index{
    right:9px!important;
    left:auto!important;
  }

  .press-video-card h3{
    padding-right:50px!important;
    padding-left:11px!important;
  }
}


/* ==========================================================================
   V81 — מהתקשורת: כריכה גדולה יותר, ללא מדבקת שם
   ========================================================================== */

.press-cover-book{
  width:min(372px,31.5vw,50vh)!important;
}

.press-cover-stage{
  min-height:510px!important;
}

@media (max-width:680px), (max-width:950px) and (pointer:coarse){
  .press-cover-stage{
    min-height:295px!important;
  }

  .press-cover-book{
    width:min(214px,56vw)!important;
  }
}

@media (max-width:390px){
  .press-cover-stage{
    min-height:265px!important;
  }

  .press-cover-book{
    width:192px!important;
  }
}

@media (orientation:landscape) and (max-width:950px) and (pointer:coarse){
  .press-cover-book{
    width:min(186px,38vh)!important;
  }
}


/* ==========================================================================
   V82 — מהתקשורת: כתבת Xnet / Ynet
   ========================================================================== */

.press-clipping-xnet{
  grid-column:span 12!important;
}

.press-clipping-xnet .press-image-stage{
  height:560px!important;
}

@media (max-width:680px), (max-width:950px) and (pointer:coarse){
  .press-clipping-xnet{
    grid-column:auto!important;
  }

  .press-clipping-xnet .press-image-stage{
    height:min(61dvh,490px)!important;
  }
}


/* ==========================================================================
   V84 — About: longer supplied biography, fully scrollable inside the modal
   ========================================================================== */

html:not([data-book-theme="night"]) .about-author-modal,
html[data-book-theme="night"] .about-author-modal{
  display:flex!important;
  flex-direction:column!important;
}

html:not([data-book-theme="night"]) .about-author-head,
html[data-book-theme="night"] .about-author-head{
  flex:0 0 auto!important;
}

html:not([data-book-theme="night"]) .about-author-body,
html[data-book-theme="night"] .about-author-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-width:thin;
  scrollbar-color:rgba(220,247,250,.24) transparent;
}

html:not([data-book-theme="night"]) .about-author-body::-webkit-scrollbar,
html[data-book-theme="night"] .about-author-body::-webkit-scrollbar{
  width:6px;
}

html:not([data-book-theme="night"]) .about-author-body::-webkit-scrollbar-thumb,
html[data-book-theme="night"] .about-author-body::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(220,247,250,.22);
}

@media (max-width:760px){
  html:not([data-book-theme="night"]) .about-author-modal,
  html[data-book-theme="night"] .about-author-modal{
    max-height:calc(100dvh - 24px)!important;
  }

  html:not([data-book-theme="night"]) .about-author-body,
  html[data-book-theme="night"] .about-author-body{
    padding-bottom:calc(20px + env(safe-area-inset-bottom))!important;
  }
}
