/* Motion stays restrained, with touch and reduced-motion alternatives. */
:root { --author-motion: 240ms cubic-bezier(.22,1,.36,1); }
.published-cover { padding: 0 !important; background: transparent; border-left: 0; height: auto !important; aspect-ratio: 2 / 3; display: block; overflow: visible; }
.published-cover::after { display: none; }
.published-cover img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 2px 6px 6px 2px; }
.book .published-cover { width: 172px; max-width: 100%; }
.detail .published-cover { width: min(270px, 78%); }
.book-showcase { min-width: 0; width: 100%; text-align: center; }
.book-stage { position: relative; height: 350px; width: 100%; display: grid; place-items: center; perspective: 1000px; isolation: isolate; }
.stage-book { position: absolute; width: 200px; height: 310px; opacity: 0; visibility: hidden; transform: translateX(80px) rotateY(-25deg) rotateZ(6deg) scale(.84); transition: transform 900ms cubic-bezier(.22,1,.36,1), opacity 700ms, visibility 700ms; }
.stage-book[data-active="true"] { opacity: 1; visibility: visible; transform: translateX(0) rotateY(-7deg) rotateZ(-3deg) scale(1); z-index: 2; }
.stage-book img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(13px 18px 11px #1e3c3540); }
.stage-book:focus-visible { outline-offset: 10px; }
.stage-title { font: 17px/1.35 Georgia,serif; margin: 12px 0 16px; min-height: 24px; color: #244d43; }
.stage-orbit { position: absolute; border: 1px solid #6b8a7138; border-radius: 50%; width: 300px; height: 300px; z-index: -1; pointer-events: none; }
.orbit-one { transform: rotateX(50deg) rotateZ(-30deg); }
.orbit-two { width: 330px; height: 330px; transform: rotateY(60deg) rotateZ(25deg); }
.book-showcase.is-animated:not(.is-paused) .stage-orbit { animation: book-orbit 12s ease-in-out infinite alternate; }
.book-showcase.is-animated:not(.is-paused) .stage-book[data-active="true"] img { animation: book-drift 4.8s ease-in-out infinite; }
.book-showcase.is-paused .stage-orbit, .book-showcase.is-paused .stage-book img { animation-play-state: paused; }
.stage-controls { display: flex; justify-content: center; flex-wrap: wrap; align-items: center; gap: 12px; }
.stage-controls[hidden], .stage-reduced[hidden] { display: none; }
.stage-controls button { border: 1px solid #b8cbb9; background: #f7faf4; color: #244d43; border-radius: 30px; padding: 8px 12px; font: 12px/1.2 Arial,sans-serif; min-height: 38px; cursor: pointer; }
.stage-pickers { display: flex; gap: 5px; }
.stage-pickers button { padding: 8px; min-width: 34px; }
.stage-pickers button[aria-pressed="true"] { background: #244d43; color: white; border-color: #244d43; }
.stage-controls button:disabled { cursor: default; opacity: .65; }
.stage-reduced { font-size: 12px; color: #5a6c60; margin-top: 10px; }
@keyframes book-drift { 0%,100% { translate: 0 0; } 50% { translate: 0 -10px; } }
@keyframes book-orbit { from { rotate: -12deg; } to { rotate: 14deg; } }
@media(max-width:1050px) { .book-stage { height: 320px; } .stage-book { width: 175px; height: 280px; } .stage-orbit { width: 260px; height: 260px; } .orbit-two { width: 280px; height: 280px; } }
@media(max-width:767px) { .book-showcase { margin-top: 20px; } .book-stage { height: 340px; } .stage-book { width: 190px; height: 305px; } .stage-controls { gap: 8px; } }
@media(prefers-reduced-motion:reduce) { .stage-book[data-active="true"] { transform: none; } }
html { scroll-padding-top: 24px; }
.button.btn { transition: transform var(--author-motion), background-color var(--author-motion), border-color var(--author-motion), box-shadow var(--author-motion); }
.book.card { transition: transform var(--author-motion), box-shadow var(--author-motion); }
.cover { transition: translate var(--author-motion), box-shadow var(--author-motion); }
.cover strong { overflow-wrap: normal; word-break: normal; hyphens: none; }
.book .cover strong { font-size: clamp(20px, 2.1vw, 27px); letter-spacing: -1.3px; }
.shelf .cover strong { font-size: clamp(22px, 2.2vw, 28px); letter-spacing: -1.3px; }
.audio-motion { display: flex; align-items: center; gap: 12px; min-height: 38px; margin: 10px 0 14px; color: #476454; font-size: 12px; }
.audio-wave { display: inline-flex; align-items: center; gap: 3px; height: 26px; width: 51px; }
.audio-wave i { display: block; width: 3px; height: 5px; border-radius: 4px; background: #476454; transform-origin: center; }
.audio-wave i:nth-child(3n+1) { height: 12px; }
.audio-wave i:nth-child(3n+2) { height: 20px; }
.is-playing .audio-wave i { animation: chapter-wave 850ms ease-in-out infinite alternate; }
.is-playing .audio-wave i:nth-child(2n) { animation-delay: -350ms; }
.is-playing .audio-wave i:nth-child(3n) { animation-delay: -650ms; }
@keyframes chapter-wave { from { transform: scaleY(.35); } to { transform: scaleY(1); } }
@media (hover:hover) and (pointer:fine) {
  a.book.card:hover .cover, .detail .display:hover .cover { translate: 0 -5px; box-shadow: 12px 22px 28px #25423030; }
  a.book.card:hover .arrow { text-decoration: underline; text-underline-offset: 4px; }
}
@media (hover:none) {
  a.book.card:hover { transform: none; }
  a.book.card:active, .button.btn:active { transform: scale(.985); }
}
@media (max-width:767px) {
  .book .cover strong { font-size: 24px; }
  .shelf .cover strong { font-size: 23px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  a.book.card:hover, .button.btn:hover, a.book.card:active, .button.btn:active { transform: none; }
  .cover { translate: none !important; }
}
