/* Progressive enhancement: all content remains readable without JavaScript. */
.reading-progress{position:fixed;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--forest),var(--rose));z-index:101;transform:scaleX(0);transform-origin:left;pointer-events:none}
.nav-wrap{transition:background .35s,box-shadow .35s}
.nav-wrap.nav-scrolled{background:rgba(250,246,238,.95);box-shadow:0 8px 30px #173c2b0d}
section[id]{scroll-margin-top:98px}
.chapter-nav{position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:45;display:flex;flex-direction:column;gap:5px;padding:8px 4px;border:1px solid #214b351c;border-radius:30px;background:#faf6eef0;backdrop-filter:blur(12px)}
.chapter-nav a{display:grid;place-items:center;width:22px;height:24px;position:relative;border-radius:20px}
.chapter-nav a:after{content:'';width:5px;height:5px;border-radius:50%;background:var(--moss);transition:transform .3s,background .3s}
.chapter-nav a[aria-current]:after{transform:scale(1.7);background:var(--burgundy)}
.chapter-nav span{position:absolute;right:36px;background:var(--forest);color:var(--cream);padding:8px 14px;border-radius:8px;font-size:.72rem;width:max-content;max-width:230px;opacity:0;transform:translateX(5px);pointer-events:none;transition:opacity .2s,transform .2s}
.chapter-nav a:hover span,.chapter-nav a:focus-visible span{opacity:1;transform:none}
.back-to-top{position:fixed;bottom:22px;right:22px;z-index:45;border:1px solid var(--line);border-radius:50%;width:44px;height:44px;background:var(--paper);color:var(--forest);cursor:pointer;box-shadow:0 8px 25px #173c2b15;font-size:1.2rem}
.back-to-top[hidden]{display:none}
.motion-toggle{position:fixed;bottom:18px;left:18px;z-index:45;border:1px solid var(--line);border-radius:30px;padding:8px 12px;background:#faf6eef2;color:var(--forest);font:600 .65rem/1.5 "Manrope",sans-serif;cursor:pointer;backdrop-filter:blur(12px)}
.motion-toggle[hidden]{display:none}.motion-paused .ticker-track{animation-play-state:paused}.motion-paused .interactive-surface:before{display:none}
.interactive-surface{position:relative;isolation:isolate}
.interactive-surface:before{content:'';position:absolute;inset:0;background:radial-gradient(340px circle at var(--pointer-x,50%) var(--pointer-y,50%),#c79a9d24,transparent 72%);pointer-events:none;border-radius:inherit;opacity:0;transition:opacity .5s;z-index:2}
.interactive-surface.pointer-active:before{opacity:1}
.dark .book-release-grid .button{background:var(--cream);color:var(--forest);border-color:var(--cream)}
.dark .book-release-grid .button:hover{background:var(--sage)}
:focus-visible{outline:2px solid var(--burgundy);outline-offset:5px}
@media(prefers-reduced-motion:no-preference){
 .motion-enabled .motion-reveal{opacity:0;transform:translateY(30px);transition:opacity .85s cubic-bezier(.2,.65,.2,1),transform .95s cubic-bezier(.2,.65,.2,1);transition-delay:var(--reveal-delay,0ms)}
 .motion-enabled .motion-reveal.motion-visible,.motion-enabled .motion-reveal:focus-within{opacity:1;transform:none}
 .motion-enabled .scroll-art{translate:0 var(--art-y,0px);rotate:var(--art-angle,0deg)}
 .motion-enabled .hero h1,.motion-enabled .page-hero h1{translate:0 var(--hero-y,0px);opacity:var(--hero-opacity,1)}
 .ticker:hover .ticker-track,.ticker:focus-within .ticker-track{animation-play-state:paused}
 .book-art{transition:box-shadow .6s}
 .book-art:hover{box-shadow:18px 28px 45px #0b1a2330}
 .button:hover{translate:0 -2px}.button:active{translate:0 0}
}
@media(max-width:1300px){.chapter-nav{right:3px;background:#faf6eecc;padding:5px 0}.chapter-nav a{width:16px}}
@media(max-width:900px){.chapter-nav{display:none}.back-to-top{right:14px;bottom:14px}.scroll-art{rotate:0deg!important}}
@media(prefers-reduced-motion:reduce){.scroll-art,.hero h1,.page-hero h1{translate:none!important;rotate:none!important;opacity:1!important}.motion-reveal{opacity:1!important;transform:none!important}.interactive-surface:before{display:none}}
@media print{.chapter-nav,.reading-progress,.back-to-top,.motion-toggle{display:none!important}.motion-reveal{opacity:1!important;transform:none!important}.scroll-art{translate:none!important;rotate:none!important}}
