/* Original AI-generated sky; native desktop pixels, responsive mobile assets. */
.hero-art{background-image:url('assets/milky-way-sharp.webp');background-image:image-set(url('assets/milky-way-sharp.avif') type('image/avif'),url('assets/milky-way-sharp.webp') type('image/webp'));background-position:center;inset:-3%;opacity:.95}
.book-starfall{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:14;mix-blend-mode:screen}
@media(max-width:720px){.hero-art{background-image:url('assets/milky-way-sharp-mobile.webp');background-image:image-set(url('assets/milky-way-sharp-mobile.avif') type('image/avif'),url('assets/milky-way-sharp-mobile.webp') type('image/webp'));background-position:55% center;inset:-3%}}
@media(prefers-reduced-motion:reduce){.book-starfall{display:none}}
.motion-paused .book-starfall{display:none}

@keyframes galaxy-drift{from{transform:translate3d(-1%,1%,0) rotate(-.3deg) scale(1)}to{transform:translate3d(1%,-1%,0) rotate(.3deg) scale(1.01)}}
/* Keep the animated sky behind the opaque fade, including Safari compositing. */
.hero:after{z-index:0;pointer-events:none}
.hero-inner{position:relative;z-index:1}
.hero-bottom{z-index:2}
.hero:before{content:'';position:absolute;left:0;right:0;bottom:0;height:48px;background:linear-gradient(transparent,#080c10 60%);z-index:2;pointer-events:none}
.hero-bottom{z-index:3}

/* The selected book's contact shadow receives the star's reflected light. */
.hero-book:before,.cover-button:before,.begin-cover:before{background:radial-gradient(ellipse,rgba(255,231,169,calc(var(--star-floor,0)*.55)),rgba(230,189,108,calc(var(--star-floor,0)*.18)) 36%,transparent 70%),radial-gradient(ellipse,rgba(0,0,0,calc(.82 - var(--star-floor,0)*.72)),transparent 68%)}
