/* The first paint needs no font, image, or JavaScript download. */
#reader-opening{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:hidden;isolation:isolate;background:#16243d;pointer-events:none}
#reader-opening::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 50% 115%,#fff8df 0%,#f1e7dc 30%,#d6e1e9 65%,#b3cadb 100%);opacity:0;animation:opening-day 2.2s cubic-bezier(.2,.65,.3,1) forwards}
#reader-opening::after{content:"";position:absolute;left:50%;top:100%;width:140vmax;height:80vmax;z-index:-1;background:radial-gradient(ellipse,#fff8d9a6,transparent 65%);opacity:0;transform:translate(-50%,0);animation:opening-light 2.2s cubic-bezier(.2,.65,.3,1) forwards}
.opening-copy{text-align:center;color:#e0e8f5;animation:opening-ink 2.2s ease forwards}
.opening-copy p{margin:0;font-family:'Libre Caslon Text',Georgia,serif;font-size:clamp(30px,5vw,48px);font-weight:400;letter-spacing:-.045em;line-height:1.3}
.opening-horizon{display:block;width:48px;height:1px;margin:28px auto 0;background:linear-gradient(90deg,transparent,currentColor,transparent);opacity:.35}
.opening-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@keyframes opening-day{to{opacity:1}}
@keyframes opening-light{to{opacity:1;transform:translate(-50%,-68%)}}
@keyframes opening-ink{0%,20%{color:#e0e8f5}75%,100%{color:#47576a}}
@media(prefers-reduced-motion:reduce){#reader-opening{background:#fafaf9}#reader-opening::before,#reader-opening::after{display:none}.opening-copy{animation:none;color:#47576a}}
@media print{#reader-opening{display:none}}
