@font-face{font-family:"AKASHA Serif";src:url("assets/fonts/akasha-serif.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
:root{--serif:"AKASHA Serif",Batang,"AppleMyungjo",Georgia,serif}
/* A single visual language for the shelves, the sky and the pages. */
.symbol-definitions{position:absolute;overflow:hidden;pointer-events:none}
.book-sigil,.index-sigil,.empty-page{fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
.book-sigil{display:block;width:48px;height:48px}
.index-sigil{display:block;width:27px;height:27px}
.hero h1,.memory h2,.shelf-intro h2,.reader-heading h2{text-wrap:balance}
.hero h1{letter-spacing:-.045em}
.sky-cosmos::after{background:linear-gradient(180deg,rgba(5,13,28,.28),rgba(5,13,28,.2) 35%,rgba(5,13,28,.1) 68%,#09111b99),radial-gradient(ellipse at 50% 38%,rgba(4,12,25,.3),transparent 67%)}
.sky-destination p{font-size:clamp(1.6rem,2.35vw,2.2rem);line-height:2.2;letter-spacing:.005em}
.sky-layer{transform-origin:50% 42%}
.sky-stars{position:absolute;inset:0;background:url("assets/first-stars.svg") center/cover no-repeat;opacity:0;pointer-events:none;filter:drop-shadow(0 0 5px #e6d2a9)}
.sky-wash .sky-cosmos{-webkit-mask-image:url("assets/wash-mask.svg");mask-image:url("assets/wash-mask.svg");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:50% 42%;mask-position:50% 42%;-webkit-mask-size:var(--wash-size,12%) var(--wash-size,12%);mask-size:var(--wash-size,12%) var(--wash-size,12%)}
.memory-image{filter:saturate(.84) sepia(.035)}
.memory-shade{background:linear-gradient(180deg,#09111b,transparent 19%,transparent 69%,#09111b),linear-gradient(90deg,rgba(5,12,20,.77),rgba(5,12,20,.33) 45%,transparent 77%)}
.memory-copy{width:61%}
.memory h2{font-size:clamp(1.75rem,2.7vw,3.1rem);letter-spacing:-.035em}
.quiet-shelf{position:relative}
.shelf-entry{grid-template-columns:46px 1fr;column-gap:1.45rem;padding:2.8rem .4rem 2.8rem;background:radial-gradient(ellipse at 94% 50%,rgba(179,139,67,.045),transparent 75%)}
.entry-number{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding-top:.2rem;color:#bba16c}
.entry-number .book-sigil{width:39px;height:39px}
.entry-number>span{font-size:.73rem;opacity:.8;letter-spacing:.14em}
.entry-kicker{color:#b1afa5}
.entry-quote{line-height:1.85;color:#e1d8c5}
.entry-action{color:#d2b77c}
.shelf-entry:hover,.shelf-entry:focus-visible{background:radial-gradient(ellipse at 94% 50%,rgba(179,139,67,.09),transparent 75%)}
.book-index button{grid-template-columns:30px 65px 1fr;gap:1rem;padding-block:1.4rem}
.book-index button>span{padding:0;color:#d5b97e}
html:lang(en) .book-index button>span{grid-row:1 / 3;align-self:center;padding:0}
.reader-dialog{width:min(850px,calc(100% - 3rem));background:url("assets/paper-grain.svg"),linear-gradient(90deg,rgba(111,82,31,.12),transparent 34px,transparent calc(100% - 22px),rgba(111,82,31,.035)),radial-gradient(ellipse at 50% 0%,#f6f0e1,#eae1cb 92%);border-color:#c6b891;box-shadow:0 28px 100px #0009,inset 0 0 0 6px #faf4e02e}
.reader-inner{padding:2rem 4.5rem 1.7rem}
.reader-dialog .dialog-top{padding-bottom:1rem;border-bottom:1px solid #8b714624}
.book-chapter{letter-spacing:.12em}
.reader-heading{margin:2.6rem auto 3rem;max-width:600px}
.reader-star{display:flex;justify-content:center;margin-bottom:2rem;color:#8b7146}
.reader-star .book-sigil{width:52px;height:52px}
.reader-heading h2{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.8;letter-spacing:-.035em;color:#3d392f}
.reader-heading>p{max-width:34ch;margin:1.65rem auto 0;font-size:1rem;line-height:2;color:#706149}
/* An ink mark, not an advertised disclosure; the seal is gated in app.js. */
.reader-star{position:relative;width:52px;min-height:44px;margin-inline:auto}
.margin-seal{position:absolute;inset:0;min-width:44px;min-height:44px;border-radius:50%;color:inherit}
.margin-seal::after{content:"";position:absolute;left:calc(50% - 1px);bottom:-6px;width:2px;height:2px;border-radius:50%;background:currentColor;opacity:.55}
.margin-seal:hover,.margin-seal[aria-expanded="true"]{background:#8b714609}
.margin-seal:focus-visible{outline:2px solid #8b7146;outline-offset:5px}
.secret-star{min-width:44px;min-height:44px}
.secret-clue{display:block;margin-top:.4rem;font-size:.88em}
.book-margins:not([hidden]){border-top:1px solid #90744738}
.book-margins{padding:2.15rem .3rem 1.25rem;max-width:51ch}
.book-margins p{font-family:var(--serif);font-size:1.02rem;line-height:2.15;word-break:normal;overflow-wrap:anywhere;color:#484135}
.book-margins p+p{margin-top:1.55rem}
.reader-navigation{margin-top:2.2rem;padding-top:.85rem;color:#695a43}
.reader-navigation button{min-height:44px}
.empty-page{width:53px;height:66px;display:block;margin:auto;color:#c9b280}
.epilogue-ornament{margin-bottom:2.2rem}
.epilogue p.archive-introduction,html:lang(en) .epilogue p.archive-introduction{font-family:var(--sans);font-size:.94rem;line-height:2.05;letter-spacing:0;color:#b4b3ac;margin:2rem auto 0;max-width:36rem;text-wrap:balance}
.epilogue-actions{display:flex;flex-direction:column;align-items:center;gap:1.25rem;margin-top:2.2rem}
.archive-link{display:inline-flex;align-items:center;justify-content:center;gap:2.4rem;min-height:52px;padding:.65rem 1.5rem;border:1px solid #b3985d66;color:#eadabd;font-size:.9rem;background:linear-gradient(120deg,#bc945512,transparent);transition:background .25s,border-color .25s}
.archive-link:hover{border-color:#cfb57a;background:#bc94551c}
.archive-link span{font-size:1rem;color:#d1b77c}
.epilogue-actions .text-link{margin-top:0;font-size:.82rem;color:#bdb09a}
@media(max-width:1000px) and (min-width:701px){.memory-copy{width:66%}}
@media(max-width:700px){
 .sky-destination p{font-size:clamp(1.4rem,6.3vw,1.6rem);line-height:2.3}
 .memory-copy{width:100%}
 .memory-image{object-position:69% center}
 .memory-shade{background:linear-gradient(180deg,#09111b,rgba(5,12,20,.86) 15%,rgba(5,12,20,.7) 46%,rgba(5,12,20,.12) 68%,#09111b)}
 .memory h2{font-size:clamp(1.55rem,6.1vw,2.1rem);letter-spacing:-.04em}
 .shelf-entry{grid-template-columns:33px 1fr;column-gap:1rem;padding:2.2rem .15rem}
 .entry-number .book-sigil{width:30px;height:30px}
 .entry-quote{font-size:clamp(1.22rem,5.2vw,1.5rem)}
 .entry-kicker{line-height:1.85}
 .book-index button{grid-template-columns:26px 48px 1fr;gap:.7rem}
 .reader-dialog{width:calc(100% - 1.5rem)}
 .reader-inner{padding:1.1rem 1.55rem 1.25rem}
 .reader-heading{margin:2rem auto 2.1rem}
 .reader-star{margin-bottom:1.5rem}
 .reader-star .book-sigil{width:43px;height:43px}
 .reader-heading h2{font-size:clamp(1.4rem,5.5vw,1.8rem);line-height:1.85}
 .reader-heading>p{font-size:.94rem;margin-top:1.2rem}
 .book-margins{padding:1.7rem .15rem 1rem}
 .book-margins p{font-size:1rem;line-height:2.1}
 .epilogue p.archive-introduction,html:lang(en) .epilogue p.archive-introduction{font-size:.88rem;max-width:30ch;padding:0 .4rem}
 .epilogue-actions{margin-top:1.8rem}
 .archive-link{min-width:210px}
}
@media(prefers-reduced-motion:reduce){.sky-stars{display:none}}

/* Let each scene settle before the next sentence arrives. */
.sky-destination{min-height:145svh}
.sky-enabled .sky-destination{scroll-margin-top:calc(-1 * var(--sky-anchor-offset,0px) - 4rem)}
.title-playing .sky-library .sky-image,.sky-transitioning .sky-library .sky-image{transform:none;transition:none}
.memory-copy{padding-top:clamp(11rem,24svh,19rem)}
@media(max-width:700px){
 .sky-enabled .sky-destination{scroll-margin-top:calc(-1 * var(--sky-anchor-offset,0px) - 1.5rem)}
 .memory-copy{padding-top:clamp(8rem,18svh,11rem)}
}
