:root {
  color-scheme: dark;
  --ink: #08090c;
  --ink-soft: #10131a;
  --panel: #141821;
  --line: rgba(255, 255, 255, 0.12);
  --muted: #9ca4b5;
  --paper: #e9edf4;
  --amber: #f0a83a;
  --amber-bright: #ffc663;
  --cobalt: #4278ff;
  --reader-bg: #0b0d12;
  --page-bg: #12151c;
  --page-text: #dce1eb;
  --page-muted: #8891a2;
  --page-line: rgba(255, 255, 255, 0.09);
  --reader-font: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --reader-size: 19px;
  --reader-width: 720px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  margin: 0;
  background: var(--ink);
  color: var(--paper);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

button,
input {
  font: inherit;
}

button {
  color: inherit;
}

button:focus-visible,
a:focus-visible,
input:focus-visible {
  outline: 2px solid var(--amber-bright);
  outline-offset: 4px;
}

.grain {
  position: fixed;
  inset: 0;
  z-index: 100;
  pointer-events: none;
  opacity: 0.035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E");
}

.library-view {
  min-height: 100vh;
  overflow: hidden;
  background:
    radial-gradient(circle at 19% 34%, rgba(44, 87, 188, 0.2), transparent 32rem),
    radial-gradient(circle at 82% 20%, rgba(240, 168, 58, 0.09), transparent 29rem),
    var(--ink);
}

.topbar {
  position: relative;
  z-index: 5;
  width: min(1180px, calc(100% - 48px));
  min-height: 92px;
  margin: 0 auto;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: inherit;
  text-decoration: none;
}

.brand-mark {
  width: 40px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(240, 168, 58, 0.7);
  color: var(--amber-bright);
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: 26px;
  transform: skew(-5deg);
  box-shadow: inset 0 0 20px rgba(240, 168, 58, 0.08);
}

.brand-copy {
  display: grid;
  gap: 1px;
}

.brand-copy strong {
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.22em;
}

.brand-copy small,
.library-count {
  color: var(--muted);
  font-size: 11px;
  letter-spacing: 0.18em;
}

.spotlight {
  position: relative;
  width: min(1180px, calc(100% - 48px));
  min-height: calc(100vh - 92px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(320px, 0.85fr) minmax(420px, 1.15fr);
  align-items: center;
  gap: clamp(56px, 8vw, 120px);
  padding: 72px 0 90px;
}

.spotlight::before {
  content: "01";
  position: absolute;
  right: -0.05em;
  bottom: -0.12em;
  color: rgba(255, 255, 255, 0.025);
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(19rem, 37vw, 37rem);
  line-height: 0.8;
  letter-spacing: -0.08em;
  pointer-events: none;
}

.spotlight-art {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: visible;
}

.orbit {
  position: absolute;
  left: 19%;
  top: 50%;
  border: 1px solid rgba(75, 116, 218, 0.2);
  border-radius: 50%;
  transform: translate(-50%, -50%) rotate(-12deg);
}

.orbit-one {
  width: 470px;
  height: 470px;
}

.orbit-two {
  width: 570px;
  height: 280px;
  border-color: rgba(240, 168, 58, 0.12);
  transform: translate(-50%, -50%) rotate(38deg);
}

.light-sweep {
  position: absolute;
  left: -8%;
  top: 51%;
  width: 54%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(240, 168, 58, 0.5), transparent);
  transform: rotate(-24deg);
}

.cover-stage {
  position: relative;
  z-index: 2;
  justify-self: center;
  width: min(100%, 385px);
  perspective: 1400px;
}

.cover-glow {
  position: absolute;
  inset: 10% -18% -8%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(53, 95, 206, 0.45), rgba(20, 37, 79, 0.1) 48%, transparent 72%);
  filter: blur(26px);
}

.book-cover {
  position: relative;
  z-index: 1;
  aspect-ratio: 2 / 3;
  margin: 0;
  transform: rotateY(7deg) rotateZ(-1.5deg);
  transform-origin: left center;
  box-shadow:
    -10px 12px 0 #050609,
    -28px 38px 70px rgba(0, 0, 0, 0.72),
    0 0 0 1px rgba(255, 255, 255, 0.12);
  transition: transform 500ms cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 500ms ease;
}

.book-cover:hover {
  transform: rotateY(1deg) rotateZ(0deg) translateY(-8px);
  box-shadow:
    -4px 10px 0 #050609,
    -20px 48px 80px rgba(0, 0, 0, 0.76),
    0 0 0 1px rgba(255, 255, 255, 0.15);
}

.book-cover img,
.shelf-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cover-edge {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 13px;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.55), rgba(255, 255, 255, 0.09), transparent);
  mix-blend-mode: overlay;
}

.availability-pill {
  position: absolute;
  z-index: 3;
  right: -20px;
  bottom: 36px;
  padding: 10px 14px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(7, 8, 11, 0.83);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(14px);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.2em;
}

.availability-pill::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--amber);
  box-shadow: 0 0 13px var(--amber);
}

.book-intro {
  position: relative;
  z-index: 2;
  max-width: 630px;
}

.eyebrow {
  margin: 0 0 16px;
  color: var(--amber-bright);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.24em;
}

.book-intro h1 {
  max-width: 620px;
  margin: 0;
  color: #f2f4f8;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(4.8rem, 9.2vw, 8.5rem);
  font-weight: 900;
  line-height: 0.79;
  letter-spacing: -0.035em;
  text-transform: uppercase;
  text-wrap: balance;
  text-shadow: 0 2px 0 rgba(255, 255, 255, 0.08);
}

.chapter-kicker {
  margin: 28px 0 0;
  color: #cbd1dd;
  font-size: 15px;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.book-summary {
  max-width: 590px;
  margin: 18px 0 30px;
  color: #aeb5c3;
  font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.58;
}

.book-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.primary-action,
.secondary-action,
.chapter-ending button {
  min-height: 52px;
  border: 0;
  padding: 0 22px;
  cursor: pointer;
  font-weight: 800;
  transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.primary-action {
  min-width: 208px;
  background: var(--amber);
  color: #171009;
  box-shadow: 0 16px 36px rgba(240, 168, 58, 0.2);
}

.primary-action:hover,
.chapter-ending button:hover {
  background: var(--amber-bright);
  transform: translateY(-2px);
}

.secondary-action {
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.04);
  color: #e5e9f1;
}

.secondary-action:hover {
  border-color: rgba(255, 255, 255, 0.32);
  background: rgba(255, 255, 255, 0.08);
  transform: translateY(-2px);
}

.play-icon,
.sound-icon {
  margin-right: 9px;
}

.reading-note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  color: #7f8796;
  font-size: 13px;
  line-height: 1.45;
}

.pulse-dot {
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  border: 1px solid var(--cobalt);
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(66, 120, 255, 0.1);
}

.shelf {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 90px 0 120px;
  border-top: 1px solid var(--line);
}

.section-heading {
  display: flex;
  align-items: flex-end;
  gap: 26px;
  margin-bottom: 32px;
}

.section-heading .eyebrow {
  margin-bottom: 8px;
}

.section-heading h2 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.3rem);
  letter-spacing: -0.05em;
}

.section-rule {
  flex: 1;
  height: 1px;
  margin-bottom: 11px;
  background: var(--line);
}

.shelf-card {
  width: min(560px, 100%);
  display: grid;
  grid-template-columns: 104px 1fr auto;
  align-items: center;
  gap: 24px;
  border: 1px solid var(--line);
  background: #10131a;
  padding: 12px 20px 12px 12px;
  text-align: left;
  cursor: pointer;
  transition: transform 220ms ease, border-color 220ms ease, background 220ms ease;
}

.shelf-card:hover {
  transform: translateY(-5px);
  border-color: rgba(240, 168, 58, 0.42);
  background: #141821;
}

.shelf-cover {
  aspect-ratio: 2 / 3;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.38);
}

.shelf-copy {
  min-width: 0;
  display: grid;
}

.shelf-copy strong {
  font-size: 19px;
  letter-spacing: -0.02em;
}

.shelf-copy small {
  margin-top: 5px;
  color: var(--muted);
  font-size: 13px;
}

.shelf-progress {
  width: 100%;
  height: 3px;
  margin-top: 18px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.09);
}

.shelf-progress i {
  display: block;
  width: 0;
  height: 100%;
  background: var(--amber);
}

.shelf-arrow {
  color: var(--amber-bright);
  font-size: 22px;
}

.site-footer {
  width: min(1180px, calc(100% - 48px));
  min-height: 112px;
  margin: 0 auto;
  border-top: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  color: #757d8c;
  font-size: 12px;
  letter-spacing: 0.08em;
}

/* Reader */
.reader-view {
  display: none;
  min-height: 100vh;
  background: var(--reader-bg);
}

body.reader-active {
  background: var(--reader-bg);
}

body.reader-active .library-view {
  display: none;
}

body.reader-active .reader-view {
  display: block;
}

.reader-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 40;
  height: 74px;
  display: grid;
  grid-template-columns: 84px 1fr auto;
  align-items: center;
  border-bottom: 1px solid var(--page-line);
  background: color-mix(in srgb, var(--reader-bg) 88%, transparent);
  backdrop-filter: blur(20px);
}

.back-button {
  width: 84px !important;
  height: 74px !important;
  border-right: 1px solid var(--page-line) !important;
  font-size: 24px !important;
}

.icon-button {
  width: 42px;
  height: 42px;
  border: 0;
  background: transparent;
  color: var(--page-text);
  display: grid;
  place-items: center;
  cursor: pointer;
  font-size: 18px;
}

.icon-button:hover {
  background: rgba(255, 255, 255, 0.06);
}

.reader-title {
  display: grid;
  gap: 3px;
  padding-left: 24px;
}

.reader-title strong {
  color: var(--page-text);
  font-size: 13px;
  letter-spacing: 0.15em;
}

.reader-title span {
  color: var(--page-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.reader-header-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  padding-right: 18px;
}

.chapter-select-wrap {
  position: relative;
}

.chapter-select {
  min-height: 42px;
  border: 1px solid var(--page-line);
  border-radius: 0;
  background: color-mix(in srgb, var(--reader-bg) 92%, #26324f);
  color: var(--page-text);
  padding: 0 30px 0 12px;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 750;
}

.chapter-select:focus-visible {
  outline: 2px solid var(--amber);
  outline-offset: 2px;
}

.settings-button {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--page-line);
  background: transparent;
  color: var(--page-text);
  padding: 0 14px;
  cursor: pointer;
}

.settings-button:hover {
  background: rgba(255, 255, 255, 0.06);
}

.settings-button > span:first-child {
  font-family: Georgia, serif;
  font-size: 17px;
}

.settings-label {
  font-size: 13px;
}

.top-progress {
  position: absolute;
  inset: auto 0 -1px;
  height: 2px;
  background: transparent;
}

.top-progress i {
  display: block;
  width: 0;
  height: 100%;
  background: var(--amber);
  box-shadow: 0 0 12px rgba(240, 168, 58, 0.55);
}

.chapter-rail {
  position: fixed;
  top: 74px;
  bottom: 82px;
  left: 0;
  z-index: 15;
  width: 238px;
  border-right: 1px solid var(--page-line);
  background: var(--reader-bg);
  padding: 36px 18px;
  overflow-y: auto;
}

.chapter-rail-list {
  display: grid;
  gap: 4px;
}

.chapter-rail > p,
.settings-head p {
  margin: 0 0 18px 10px;
  color: var(--page-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.2em;
}

.chapter-link,
.coming-soon {
  width: 100%;
  min-height: 68px;
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: 8px;
  border: 0;
  background: transparent;
  color: var(--page-text);
  padding: 10px;
  text-align: left;
}

.chapter-link {
  position: relative;
  cursor: pointer;
  background: transparent;
  transition: background 180ms ease, color 180ms ease;
}

.chapter-link:hover,
.chapter-link.active {
  background: rgba(255, 255, 255, 0.055);
}

.chapter-link::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  background: var(--amber);
  opacity: 0;
}

.chapter-link.active::before {
  opacity: 1;
}

.chapter-link > span:first-child,
.coming-soon > span:first-child {
  color: var(--amber);
  font-family: Georgia, serif;
  font-size: 20px;
}

.chapter-link > span:last-child,
.coming-soon > span:last-child {
  display: grid;
  gap: 4px;
}

.chapter-link strong,
.coming-soon strong {
  font-size: 13px;
}

.chapter-link small,
.coming-soon small {
  color: var(--page-muted);
  font-size: 11px;
}

.coming-soon {
  margin-top: 4px;
  opacity: 0.42;
}

.reader-settings {
  position: fixed;
  top: 74px;
  right: 0;
  bottom: 0;
  z-index: 60;
  width: min(390px, 92vw);
  overflow-y: auto;
  border-left: 1px solid var(--page-line);
  background: color-mix(in srgb, var(--reader-bg) 96%, #202b48);
  padding: 28px;
  transform: translateX(102%);
  transition: transform 260ms cubic-bezier(0.2, 0.75, 0.25, 1);
  box-shadow: -30px 0 70px rgba(0, 0, 0, 0.36);
}

.reader-settings.open {
  transform: translateX(0);
}

.settings-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 26px;
}

.settings-head p {
  margin-left: 0;
  margin-bottom: 5px;
}

.settings-head strong {
  font-size: 20px;
}

.reader-settings fieldset {
  margin: 0;
  border: 0;
  border-top: 1px solid var(--page-line);
  padding: 24px 0;
}

.reader-settings legend {
  margin-bottom: 14px;
  color: var(--page-muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.theme-options,
.type-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.theme-swatch,
.type-option {
  min-height: 68px;
  display: grid;
  place-items: center;
  gap: 6px;
  border: 1px solid var(--page-line);
  background: transparent;
  color: var(--page-muted);
  padding: 9px;
  cursor: pointer;
  font-size: 12px;
}

.theme-swatch:hover,
.theme-swatch.active,
.type-option:hover,
.type-option.active {
  border-color: var(--amber);
  color: var(--page-text);
}

.theme-swatch i {
  width: 29px;
  height: 19px;
  display: block;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: #12151c;
}

.theme-swatch[data-theme="paper"] i {
  background: #f2ecdf;
}

.theme-swatch[data-theme="ember"] i {
  background: #201513;
}

.type-options {
  grid-template-columns: repeat(2, 1fr);
}

.type-option {
  min-height: 72px;
  grid-template-columns: 36px 1fr;
  text-align: left;
}

.type-option span {
  color: var(--page-text);
  font-size: 22px;
}

.serif-sample {
  font-family: Georgia, serif;
}

.sans-sample {
  font-family: ui-sans-serif, sans-serif;
}

.size-control {
  min-height: 48px;
  display: grid;
  grid-template-columns: 64px 1fr 64px;
  align-items: center;
  border: 1px solid var(--page-line);
}

.size-control button {
  height: 46px;
  border: 0;
  background: transparent;
  color: var(--page-text);
  cursor: pointer;
}

.size-control button:hover {
  background: rgba(255, 255, 255, 0.06);
}

.size-control span {
  color: var(--page-muted);
  text-align: center;
  font-size: 12px;
}

.reader-settings input[type="range"],
.volume-control input {
  width: 100%;
  accent-color: var(--amber);
}

.reading-shell {
  min-height: 100vh;
  margin-left: 238px;
  padding: 130px 40px 170px;
  background:
    radial-gradient(circle at 50% 18%, rgba(65, 91, 145, 0.07), transparent 38rem),
    var(--reader-bg);
}

.chapter-page {
  width: min(var(--reader-width), 100%);
  margin: 0 auto;
  border: 1px solid var(--page-line);
  background: var(--page-bg);
  color: var(--page-text);
  padding: clamp(42px, 8vw, 86px) clamp(28px, 7vw, 76px) 100px;
  box-shadow: 0 42px 100px rgba(0, 0, 0, 0.34);
  transition: width 200ms ease, color 240ms ease, background 240ms ease;
}

.chapter-loading,
.chapter-error {
  min-height: 58vh;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 14px;
  color: var(--page-muted);
  text-align: center;
}

.chapter-loading span {
  color: var(--amber);
  font-size: 28px;
  animation: loading-pulse 1.4s ease-in-out infinite;
}

.chapter-loading p,
.chapter-error p {
  margin: 0;
  font-family: var(--reader-font);
  font-size: 17px;
}

.chapter-error h2 {
  margin: 0;
  color: var(--page-text);
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(2rem, 6vw, 3.6rem);
}

.chapter-error button {
  min-height: 48px;
  border: 0;
  background: var(--amber);
  color: #171009;
  padding: 0 22px;
  cursor: pointer;
  font-weight: 800;
}

@keyframes loading-pulse {
  50% {
    opacity: 0.35;
    transform: scale(0.82);
  }
}

.chapter-opening {
  margin: 0 0 72px;
  text-align: center;
}

.chapter-number {
  margin: 0 0 16px !important;
  color: var(--amber) !important;
  font-family: ui-sans-serif, sans-serif !important;
  font-size: 11px !important;
  font-weight: 850;
  letter-spacing: 0.27em;
}

.chapter-opening h1 {
  margin: 0;
  color: var(--page-text);
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(3.6rem, 8vw, 6.8rem);
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: -0.035em;
}

.chapter-glyph {
  display: block;
  margin-top: 28px;
  color: var(--amber);
  font-size: 17px;
}

.story-scene {
  scroll-margin-top: 110px;
  transition: filter 300ms ease, opacity 300ms ease;
}

.story-scene p {
  margin: 0 0 1.18em;
  color: var(--page-text);
  font-family: var(--reader-font);
  font-size: var(--reader-size);
  font-weight: 400;
  line-height: 1.86;
  letter-spacing: 0.005em;
  text-rendering: optimizeLegibility;
}

.story-scene .dropcap::first-letter {
  float: left;
  margin: 0.05em 0.11em 0 0;
  color: var(--amber);
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: 4.55em;
  line-height: 0.78;
}

.story-scene .impact-line {
  margin: 1.3em 0;
  color: color-mix(in srgb, var(--page-text) 92%, var(--amber));
  font-size: calc(var(--reader-size) * 1.08);
  font-weight: 750;
  letter-spacing: 0.035em;
}

.story-scene .impact-sound,
.story-scene .power-line {
  margin: 1.75em 0;
  color: var(--page-text);
  font-family: ui-sans-serif, sans-serif;
  font-size: calc(var(--reader-size) * 0.9);
  font-weight: 850;
  letter-spacing: 0.09em;
  text-align: center;
  text-transform: uppercase;
}

.frozen-scene {
  position: relative;
  margin: 56px calc(clamp(28px, 7vw, 76px) * -1);
  border-top: 1px solid rgba(161, 45, 63, 0.3);
  border-bottom: 1px solid rgba(161, 45, 63, 0.25);
  background: linear-gradient(180deg, rgba(56, 9, 19, 0.12), transparent 25%, transparent 80%, rgba(56, 9, 19, 0.1));
  padding: 54px clamp(28px, 7vw, 76px);
}

.frozen-scene .power-line {
  color: #dd6f7f;
  font-size: calc(var(--reader-size) * 1.14);
  letter-spacing: 0.17em;
}

.danger-scene {
  margin-top: 55px;
}

.scene-divider {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 62px auto;
  color: var(--amber);
}

.scene-divider span {
  flex: 1;
  height: 1px;
  background: var(--page-line);
}

.scene-divider i {
  font-style: normal;
  font-size: 13px;
}

.chapter-ending {
  margin-top: 100px;
  border-top: 1px solid var(--page-line);
  padding-top: 68px;
  text-align: center;
}

.chapter-ending > span {
  color: var(--amber);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.24em;
}

.chapter-ending h2 {
  margin: 16px 0 8px;
  color: var(--page-text);
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(2.2rem, 6vw, 4rem);
  letter-spacing: -0.025em;
}

.chapter-ending p {
  margin: 0 0 28px;
  color: var(--page-muted);
  font-family: var(--reader-font);
  font-size: 17px;
}

.chapter-ending button {
  background: var(--amber);
  color: #171009;
}

.chapter-ending-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.chapter-ending .secondary-chapter-button {
  border: 1px solid var(--page-line);
  background: transparent;
  color: var(--page-text);
}

.chapter-ending .secondary-chapter-button:hover {
  border-color: color-mix(in srgb, var(--amber) 58%, var(--page-line));
  background: color-mix(in srgb, var(--amber) 10%, transparent);
}

.ambience-dock {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 238px;
  z-index: 45;
  min-height: 82px;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(210px, 0.8fr) 150px;
  align-items: center;
  border-top: 1px solid var(--page-line);
  background: color-mix(in srgb, var(--reader-bg) 92%, transparent);
  backdrop-filter: blur(20px);
}

.ambience-main {
  align-self: stretch;
  display: flex;
  align-items: center;
  gap: 14px;
  border: 0;
  border-right: 1px solid var(--page-line);
  background: transparent;
  color: var(--page-text);
  padding: 0 24px;
  text-align: left;
  cursor: pointer;
}

.ambience-main:hover {
  background: rgba(255, 255, 255, 0.04);
}

.ambience-main > span:last-child,
.scene-now > span:last-child {
  display: grid;
  gap: 3px;
}

.ambience-main small,
.scene-now small {
  color: var(--page-muted);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.17em;
}

.ambience-main strong,
.scene-now strong {
  color: var(--page-text);
  font-size: 13px;
}

.sound-bars {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  border: 1px solid var(--page-line);
  border-radius: 50%;
}

.sound-bars i {
  width: 2px;
  height: 5px;
  border-radius: 3px;
  background: var(--page-muted);
}

.sound-on .sound-bars {
  border-color: rgba(240, 168, 58, 0.55);
}

.sound-on .sound-bars i {
  background: var(--amber);
  animation: equalize 850ms ease-in-out infinite alternate;
}

.sound-on .sound-bars i:nth-child(2) {
  animation-delay: -400ms;
}

.sound-on .sound-bars i:nth-child(3) {
  animation-delay: -180ms;
}

.sound-on .sound-bars i:nth-child(4) {
  animation-delay: -580ms;
}

@keyframes equalize {
  from { height: 5px; }
  to { height: 16px; }
}

.scene-now {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 13px;
  border-right: 1px solid var(--page-line);
  padding: 0 22px;
}

.scene-icon {
  color: var(--amber);
  font-size: 19px;
}

.volume-control {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 20px;
}

.volume-control span {
  color: var(--page-muted);
}

.sound-toast {
  position: fixed;
  z-index: 90;
  right: 22px;
  bottom: 104px;
  width: min(340px, calc(100% - 44px));
  display: flex;
  align-items: center;
  gap: 13px;
  border: 1px solid rgba(240, 168, 58, 0.35);
  background: #161920;
  color: #e9edf4;
  padding: 14px 16px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.46);
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: opacity 200ms ease, transform 200ms ease;
}

.sound-toast.show {
  opacity: 1;
  transform: translateY(0);
}

.sound-toast > span {
  color: var(--amber);
  font-size: 20px;
}

.sound-toast p {
  display: grid;
  gap: 2px;
  margin: 0;
}

.sound-toast strong {
  font-size: 13px;
}

.sound-toast small {
  color: #939baa;
  font-size: 11px;
}

body[data-reader-theme="paper"] {
  --reader-bg: #d8d0c2;
  --page-bg: #f4efe5;
  --page-text: #29251f;
  --page-muted: #716a5f;
  --page-line: rgba(40, 34, 26, 0.16);
  color-scheme: light;
}

body[data-reader-theme="ember"] {
  --reader-bg: #110c0b;
  --page-bg: #1c1412;
  --page-text: #e9d9c9;
  --page-muted: #9d8373;
  --page-line: rgba(231, 182, 137, 0.12);
  --amber: #e67f45;
  --amber-bright: #f09c68;
}

body[data-reader-font="modern"] {
  --reader-font: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.focus-reading .chapter-rail,
body.focus-reading .reader-header,
body.focus-reading .ambience-dock {
  opacity: 0;
  pointer-events: none;
  transition: opacity 260ms ease;
}

body.focus-reading .reading-shell {
  margin-left: 0;
  padding-top: 80px;
}

body.focus-reading .chapter-page {
  box-shadow: none;
}

@media (max-width: 980px) {
  .spotlight {
    grid-template-columns: minmax(250px, 0.78fr) minmax(380px, 1.22fr);
    gap: 52px;
  }

  .orbit {
    left: 22%;
  }

  .book-intro h1 {
    font-size: clamp(4.3rem, 10vw, 7rem);
  }

  .chapter-rail {
    display: none;
  }

  .reading-shell {
    margin-left: 0;
  }

  .ambience-dock {
    left: 0;
  }
}

@media (max-width: 760px) {
  .topbar,
  .spotlight,
  .shelf,
  .site-footer {
    width: min(100% - 32px, 620px);
  }

  .topbar {
    min-height: 78px;
  }

  .library-count {
    display: none;
  }

  .spotlight {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 52px;
    padding: 48px 0 72px;
  }

  .spotlight::before {
    right: -0.06em;
    bottom: 0;
    font-size: 22rem;
  }

  .cover-stage {
    width: min(76vw, 345px);
  }

  .orbit {
    left: 50%;
    top: 27%;
  }

  .book-intro {
    text-align: center;
  }

  .book-intro h1 {
    font-size: clamp(4.1rem, 20vw, 6.7rem);
  }

  .book-summary {
    margin-right: auto;
    margin-left: auto;
  }

  .book-actions {
    justify-content: center;
  }

  .reading-note {
    justify-content: center;
  }

  .shelf {
    padding: 70px 0 86px;
  }

  .site-footer {
    min-height: 132px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    line-height: 1.6;
  }

  .reader-header {
    height: 64px;
    grid-template-columns: 60px 1fr auto;
  }

  .back-button {
    width: 60px !important;
    height: 64px !important;
  }

  .reader-title {
    padding-left: 14px;
  }

  .reader-title strong {
    font-size: 11px;
  }

  .reader-title span,
  .settings-label,
  #focusMode {
    display: none;
  }

  .reader-header-actions {
    padding-right: 8px;
  }

  .chapter-select {
    width: 92px;
    min-height: 40px;
    padding-right: 22px;
    padding-left: 9px;
    font-size: 12px;
  }

  .settings-button {
    min-width: 46px;
    justify-content: center;
    padding: 0 10px;
  }

  .reading-shell {
    padding: 92px 0 144px;
  }

  .chapter-page {
    width: 100%;
    border-right: 0;
    border-left: 0;
    padding-right: 26px;
    padding-left: 26px;
    box-shadow: none;
  }

  .frozen-scene {
    margin-right: -26px;
    margin-left: -26px;
    padding-right: 26px;
    padding-left: 26px;
  }

  .chapter-opening {
    margin-bottom: 60px;
  }

  .ambience-dock {
    min-height: 68px;
    grid-template-columns: 1fr auto;
  }

  .ambience-main {
    padding: 0 16px;
  }

  .scene-now {
    max-width: 180px;
    border-right: 0;
    padding: 0 16px;
  }

  .scene-icon,
  .volume-control {
    display: none;
  }

  .sound-toast {
    bottom: 86px;
  }
}

@media (max-width: 480px) {
  .brand-mark {
    width: 35px;
    height: 43px;
  }

  .book-actions {
    display: grid;
  }

  .primary-action,
  .secondary-action {
    width: 100%;
  }

  .shelf-card {
    grid-template-columns: 78px 1fr auto;
    gap: 15px;
    padding-right: 14px;
  }

  .shelf-copy strong {
    font-size: 16px;
  }

  .section-heading {
    gap: 16px;
  }

  .reader-title span {
    display: none;
  }

  .scene-now {
    max-width: 135px;
  }

  .scene-now small {
    display: none;
  }

  .scene-now strong {
    max-width: 98px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .theme-options {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
/* Reading library and passage tools */
[hidden]{display:none!important}a{color:inherit}button,select,input,textarea{font:inherit}select:focus-visible,textarea:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.genre-tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 10px}.genre-tags span{font-size:13px;border:1px solid var(--line);border-radius:30px;padding:7px 12px;color:#c8d1e3}.content-note,.device-note{font-size:13px;line-height:1.6;color:var(--muted)}.book-summary{max-width:570px}.spotlight{padding-bottom:40px}.resume-card,.chapter-browser{width:min(1180px,calc(100% - 48px));margin:0 auto 56px}.resume-card{border:1px solid rgba(240,168,58,.3);padding:26px 30px;border-radius:12px;background:linear-gradient(120deg,#1d2333,#11151e);display:flex;align-items:center;justify-content:space-between;gap:30px}.resume-card h2{font:28px Georgia;margin:8px 0}.resume-card p:not(.eyebrow){color:var(--muted);font-size:14px}.resume-card progress{width:min(340px,70vw);height:5px}.browse-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.browse-heading h2{font:36px Georgia;margin:8px 0}.browser-controls{display:grid;grid-template-columns:1fr 220px;gap:16px}label{font-size:14px}.browser-controls label,.reader-dialog label{display:grid;gap:9px;color:#b7bfd1}.browser-controls input,.browser-controls select,.reader-dialog input,.rail-search input{width:100%;min-height:46px;border:1px solid var(--line);border-radius:8px;background:#121721;color:var(--paper);padding:12px 15px}.chapter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.browse-chapter{text-align:left;display:flex;gap:18px;padding:22px 18px;background:#10151f;border:1px solid var(--line);border-radius:9px;cursor:pointer;min-width:0;transition:border-color .2s,background .2s}.browse-chapter:hover{background:#1a2131;border-color:#897044}.chapter-index{font:25px Georgia;color:var(--amber);min-width:32px}.browse-chapter>span:last-child{flex:1;min-width:0}.browse-chapter strong{display:block;font:18px/1.4 Georgia}.browse-chapter small{display:block;margin:9px 0;color:var(--muted);font-size:12px}.browse-chapter progress{width:100%;height:3px}progress{accent-color:var(--amber);border:0;background:#262c3b;border-radius:5px}progress::-webkit-progress-bar{background:#262c3b;border-radius:5px}progress::-webkit-progress-value{background:var(--amber);border-radius:5px}#chapterResults{font-size:13px;color:var(--muted);margin:22px 0}.empty-state{padding:30px;color:var(--muted);grid-column:1/-1}.rail-search{display:block;margin:14px 0}.rail-search input{font-size:13px;padding:10px}.paragraph-row{position:relative;border-radius:4px;scroll-margin-top:120px}.paragraph-row p{padding-right:12px}.paragraph-bookmark{position:absolute;right:-32px;top:2px;background:none;border:0;color:var(--page-muted);font-size:20px;width:32px;height:36px;cursor:pointer;opacity:0}.paragraph-row:hover .paragraph-bookmark,.paragraph-bookmark:focus-visible,.paragraph-bookmark[aria-pressed=true]{opacity:1}.paragraph-bookmark[aria-pressed=true]{color:#c98829}.passage-highlight{background:rgba(240,168,58,.16)}.reader-dialog{color:#e8edf6;background:#121722;border:1px solid #394152;border-radius:14px;padding:25px;width:min(620px,calc(100% - 28px));max-height:80dvh}.reader-dialog::backdrop{background:rgba(0,0,0,.75);backdrop-filter:blur(6px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.dialog-heading h2{font:28px Georgia;margin:0}.dialog-heading button{border:0;background:#252c39;border-radius:50%;width:40px;height:40px;font-size:25px}.dialog-chapter{display:block;text-align:left;width:100%;background:none;border:0;border-bottom:1px solid var(--line);padding:18px 2px;cursor:pointer}#dialogChapters{margin-top:16px}.bookmark-item{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:18px 0}.bookmark-item button:first-child{text-align:left;flex:1;background:none;border:0;cursor:pointer}.bookmark-item strong,.bookmark-item span{display:block}.bookmark-item strong{font-size:14px;color:var(--amber);margin-bottom:10px}.bookmark-item span{font:17px/1.5 Georgia;color:#d5dbea}.bookmark-item button:last-child{font-size:13px;padding:10px;border:1px solid #394152;background:#1b2230;border-radius:5px;cursor:pointer}.bookmark-item button:disabled{opacity:.5;cursor:default}.reader-notice{position:fixed;bottom:145px;left:50%;transform:translateX(-50%);z-index:200;max-width:90vw;background:#f0a83a;color:#171109;padding:14px 20px;border-radius:8px;opacity:0;pointer-events:none;font-size:14px}.reader-notice.show{opacity:1}.mobile-nav{display:none}.exit-focus{display:none;position:fixed;right:16px;top:16px;z-index:120;border:1px solid var(--page-line);background:var(--page-bg);color:var(--page-text);padding:12px;border-radius:8px}body.focus-reading .exit-focus{display:block}body.focus-reading .mobile-nav{display:none}.studio-link{font-size:13px;color:var(--muted)}.chapter-rail-list{max-height:calc(100dvh - 270px);overflow:auto}.chapter-select{max-width:190px}.reader-header-actions{gap:9px}.load-error{padding:20px;border:1px solid #f0a83a;border-radius:8px}.reading-shell{padding-bottom:190px}.shelf{display:none}
@media(max-width:1050px){.chapter-grid{grid-template-columns:repeat(2,1fr)}.reader-title{max-width:240px}.chapter-select-wrap{display:none}}
@media(max-width:680px){.chapter-grid{grid-template-columns:1fr}.resume-card,.chapter-browser{width:calc(100% - 32px);margin-bottom:35px}.resume-card{padding:22px;display:block}.resume-card .primary-action{margin-top:18px;width:100%}.resume-card h2{font-size:25px}.browse-heading{align-items:flex-start}.browse-heading h2{font-size:29px}.browse-heading .secondary-action{font-size:12px;padding:12px}.browser-controls{grid-template-columns:1fr}.chapter-browser .device-note{font-size:12px}.reader-title{max-width:calc(100vw - 210px)}.reader-title strong{font-size:11px}.reader-title span{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.reader-header{padding-left:12px;padding-right:12px;gap:8px}.reader-header-actions{gap:3px}.reader-header-actions .icon-button{width:36px;height:42px}.settings-button{min-width:38px;padding:8px}.reader-header #focusMode{display:none}.mobile-nav{position:fixed;bottom:0;left:0;right:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px;background:var(--reader-bg);border-top:1px solid var(--page-line);z-index:80;align-items:center;justify-content:space-between}.reader-active .mobile-nav{display:flex}.mobile-nav button{padding:10px 9px;min-height:44px;background:var(--page-bg);color:var(--page-text);border:1px solid var(--page-line);border-radius:6px;font-size:12px}.mobile-nav button:disabled{opacity:.35}.ambience-dock{bottom:calc(66px + env(safe-area-inset-bottom));border-radius:10px;left:12px;right:12px;width:auto;padding:9px 12px}.ambience-main strong{font-size:11px}.ambience-main small{font-size:9px}.scene-now{display:none}.reading-shell{padding-bottom:210px}.chapter-page{padding-left:24px;padding-right:34px}.paragraph-bookmark{right:-27px;opacity:.5;width:28px;font-size:18px}.chapter-page p{overflow-wrap:anywhere}.reader-notice{bottom:170px}.reader-settings{max-height:calc(100dvh - 180px);overflow:auto}.site-footer{flex-wrap:wrap;gap:16px}body.focus-reading .reading-shell{padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.resume-card{margin-top:28px}.resume-card+.spotlight{padding-top:20px}
@media(max-width:680px){.spotlight{width:calc(100% - 32px);display:block;padding:28px 0 32px}.cover-stage{float:left;width:105px;margin:6px 22px 16px 4px}.availability-pill{display:none}.book-intro{text-align:left;max-width:none}.book-intro h1{font-size:43px;line-height:.96;letter-spacing:-1px}.book-intro>.eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:10px}.chapter-kicker{font-size:11px;margin-top:14px}.book-summary{clear:both;font-size:17px;line-height:1.7;padding-top:12px}.book-actions{justify-content:stretch;flex-wrap:wrap}.book-actions button{flex:1;min-width:145px;font-size:13px;padding:15px 12px}.reading-note{justify-content:flex-start;font-size:11px}.spotlight-art{opacity:.45}.spotlight::before{display:none}.genre-tags{justify-content:flex-start}.resume-card{margin-top:22px}.reader-header{grid-template-columns:36px 1fr auto}.reader-header .back-button{width:36px!important}.reader-title{padding-left:3px}}

/* Reader community */
.paragraph-report{display:block;margin:-8px 0 22px auto;border:0;background:transparent;color:var(--muted,#9c9589);font:12px sans-serif;text-decoration:underline;cursor:pointer;min-height:32px}.guide-button{margin:0 0 32px}.chapter-community{margin-top:48px;padding-top:32px;border-top:1px solid #88745366;font:16px/1.6 sans-serif}.chapter-community button,.guide-button,.community-dialog button{padding:10px 14px;border:1px solid #99836466;border-radius:8px;background:transparent;color:inherit;cursor:pointer}.reaction-buttons{display:flex;gap:8px;flex-wrap:wrap}.reaction-buttons [aria-pressed=true]{background:#b6975733;border-color:#b69757}.chapter-community label,.community-dialog label{display:block;margin:14px 0}.chapter-community input:not([type=checkbox]),.chapter-community textarea,.community-dialog textarea,.community-dialog select{display:block;width:100%;padding:12px;background:transparent;color:inherit;border:1px solid #99836488;border-radius:6px;font:inherit;box-sizing:border-box}.chapter-community textarea,.community-dialog textarea{min-height:110px}.reader-comment{padding:16px 0;border-bottom:1px solid #99836455}.reader-comment h4{margin-bottom:0}.reader-comment summary{cursor:pointer;padding:12px 0}.community-dialog{width:min(640px,calc(100% - 32px));max-height:85dvh;overflow:auto;box-sizing:border-box;padding:24px;background:var(--page-bg,#191b20);color:var(--page-text,#eee5d5);border:1px solid #998364;border-radius:16px;font:16px/1.6 sans-serif}.community-dialog::backdrop{background:#000a}.community-dialog blockquote{margin:14px 0;padding-left:16px;border-left:2px solid #998364;white-space:pre-wrap}.community-dialog>button{float:right}.chapter-community a,.community-dialog a{color:inherit;text-decoration:underline}.chapter-community button:disabled{opacity:.6;cursor:default}
/* Divine edition: a dimensional, turnable book and gilded title. */
.cover-stage{width:min(100%,350px);perspective:1500px;padding-bottom:64px;isolation:isolate}
.cover-glow{inset:-8% -35% 0;background:radial-gradient(ellipse,#c9983a26,transparent 62%);filter:blur(24px)}
.divine-book-control{position:relative;display:block;width:100%;aspect-ratio:2/3;padding:0;border:0;background:transparent;cursor:pointer;perspective:1500px;overflow:visible;-webkit-tap-highlight-color:transparent}
.divine-book-control:focus-visible{outline:2px solid #f1d596;outline-offset:22px;border-radius:4px}
.divine-book{--book-angle:-24deg;position:absolute;inset:0;display:block;transform-style:preserve-3d;transform:rotateX(5deg) rotateY(var(--book-angle));transition:transform 1.2s cubic-bezier(.22,.65,.18,1)}
.book-face{position:absolute;inset:0;display:block;backface-visibility:hidden;border-radius:2px 5px 5px 2px;overflow:hidden;box-shadow:0 0 0 1px #c0a26877}
.book-front{transform:translateZ(22px);background:#131821}
.book-front img{width:100%;height:100%;object-fit:cover;display:block}
.book-foil{position:absolute;inset:0;background:linear-gradient(90deg,#0008,transparent 3%,#fff3 4%,#0005 6%,transparent 10%,transparent 85%,#fff2);box-shadow:inset 0 0 0 1px #f7dfad55}
.book-back{transform:rotateY(180deg) translateZ(22px);background:radial-gradient(ellipse at 50% 20%,#424a50,#151c28 45%,#090e16);color:#ecd9ad}
.back-frame{position:absolute;inset:5%;border:1px solid #bda16b88;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:7%;outline:1px solid #bda16b33;outline-offset:-6px}
.back-star{font-size:32px;color:#fff0ba;margin-bottom:7%}.back-star.small{font-size:24px;margin:8% 0 5%}
.back-frame strong{font:600 clamp(26px,3vw,38px)/1.12 Georgia,serif;letter-spacing:.06em;background:linear-gradient(#fffdf3,#e3bb70);background-clip:text;color:transparent}
.back-rule{width:30%;height:1px;background:#bda16b;margin:8% 0}.back-tagline{font:italic clamp(15px,1.7vw,21px)/1.5 Georgia,serif;color:#fff4dd}.back-blurb{font:clamp(11px,1vw,13px)/1.9 Georgia,serif;color:#bfc0bc;margin-top:8%}.back-genre{font:8px/1.5 sans-serif;letter-spacing:.2em}
.book-spine{position:absolute;left:-22px;top:0;width:44px;height:100%;transform:rotateY(-90deg);background:linear-gradient(90deg,#101521,#3b4352 30%,#151c29 85%);border-top:1px solid #d3b26c88;border-bottom:1px solid #d3b26c88;display:flex;align-items:center;justify-content:space-between;flex-direction:column;padding:28px 0;color:#e9d5a5;backface-visibility:hidden}
.book-spine span{writing-mode:vertical-rl;font:600 19px Georgia,serif;letter-spacing:.16em}.book-spine b{font-size:22px}
.book-pages{position:absolute;right:-20px;top:2%;height:96%;width:40px;transform:rotateY(90deg);background:repeating-linear-gradient(90deg,#d6ccb5 0 1px,#f1e8d3 1px 3px);backface-visibility:hidden;box-shadow:inset 0 0 8px #816f4e}
.book-top,.book-bottom{position:absolute;left:1%;width:98%;height:40px;background:repeating-linear-gradient(0deg,#c9bda3 0 1px,#ede4d0 1px 3px);backface-visibility:hidden}.book-top{top:-20px;transform:rotateX(90deg)}.book-bottom{bottom:-20px;transform:rotateX(-90deg)}
.book-turn-controls{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:110%;display:flex;align-items:center;justify-content:center;gap:14px;white-space:nowrap}.book-turn-controls button{width:40px;height:40px;border:1px solid #c6a56555;border-radius:50%;background:#141821;color:#e4c68b;font-size:23px;cursor:pointer}.book-turn-controls button:hover{border-color:#edd19c;background:#2b2830}.book-turn-controls span{font-size:11px;color:#c1ae8c;letter-spacing:.04em}.cover-stage .availability-pill{bottom:85px;right:-26px;pointer-events:none}
.divine-title-wrap{position:relative;isolation:isolate;padding:20px 0 38px;margin:-12px -8px 0}
.book-intro #bookTitle{position:relative;z-index:2;font-family:Georgia,'Times New Roman',serif;font-size:clamp(64px,7.7vw,108px);font-weight:700;line-height:1.03;letter-spacing:-.045em;text-shadow:none;overflow:visible;max-width:none}
.divine-title-line{position:relative;display:block;width:max-content;max-width:100%;background:linear-gradient(176deg,#fff 3%,#fff5d9 21%,#d9ae57 43%,#fffced 49%,#fff 54%,#e6c37b 67%,#a97930 91%);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 0 15px #e8bf6926)}
.divine-title-line::before{content:attr(data-title);position:absolute;inset:0;z-index:-1;color:#96713e;text-shadow:0 1px #f7d895,1px 2px #715026,2px 3px #62451e,3px 4px #49341c,4px 5px #342719,5px 7px 10px #000;transform:translate(1px,1px)}
.title-second{font-size:.77em;letter-spacing:.005em;margin-top:.06em}
.title-halo{position:absolute;inset:-20% -15%;z-index:-2;background:radial-gradient(ellipse,#ffdfa316,transparent 63%);pointer-events:none}
.title-wind{position:absolute;inset:-10% -10%;width:120%;height:120%;overflow:visible;pointer-events:none;filter:drop-shadow(0 0 5px #eaca7550)}.wind-behind{z-index:0;opacity:.65}.wind-front{z-index:3;animation:divine-breath 7s ease-in-out infinite;transform-origin:center}.divine-title-wrap+.chapter-kicker{margin-top:12px}
@keyframes divine-breath{0%,100%{transform:translateY(0);opacity:.8}50%{transform:translateY(-5px);opacity:1}}
@media(max-width:900px) and (min-width:681px){.spotlight{gap:45px;grid-template-columns:minmax(240px,.85fr) minmax(340px,1.15fr)}.cover-stage{max-width:290px}.book-intro #bookTitle{font-size:70px}}
@media(max-width:680px){.spotlight{display:flex;flex-direction:column;gap:35px;padding-top:32px;overflow:clip}.cover-stage{float:none;width:230px;max-width:65vw;margin:15px auto 0;padding-bottom:57px;flex-shrink:0}.book-intro{text-align:center;width:100%}.book-intro>.eyebrow{font-size:9px;letter-spacing:.18em}.divine-title-wrap{width:max-content;max-width:100%;margin:0 auto;padding:10px 0 28px}.book-intro #bookTitle{font-size:clamp(54px,13vw,82px);line-height:1.03;letter-spacing:-.045em}.book-intro .chapter-kicker{font-size:11px}.book-intro .book-summary{text-align:left;padding-top:0}.book-intro .genre-tags,.book-intro .reading-note{justify-content:center}.back-frame strong{font-size:28px}.back-tagline{font-size:16px}.back-blurb{font-size:11px}.back-star{font-size:24px;margin-bottom:5%}.book-spine span{font-size:15px}.book-turn-controls{width:125%;gap:8px}.title-wind{inset:-5% -8%;width:116%;height:115%}}
@media(prefers-reduced-motion:reduce){.divine-book{transition:none}.wind-front{animation:none}}
.divine-title-line::after{content:attr(data-title);position:absolute;inset:0;z-index:1;background:linear-gradient(176deg,#fff 3%,#fff9e8 26%,#e4bc69 43%,#fffdf5 49%,#fff 56%,#f4da9c 70%,#b68c45 94%);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:none;pointer-events:none}
.analytics-notice{font-size:12px;line-height:1.7;max-width:600px;color:var(--muted);text-align:left}.analytics-notice summary{cursor:pointer}.analytics-notice p{margin:10px 0}.site-footer{flex-wrap:wrap;gap:16px}.analytics-notice label{display:block}.analytics-notice input{margin-right:8px}
