:root{--ink:#233044;--paper:#fbf5e9;--gold:#f4cd74;--muted:#8a8e94;--night:#101d30;--line:#e6ddcc;font-family:Avenir,'Trebuchet MS',sans-serif;color:var(--ink);background:var(--night);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button{color:inherit}button:disabled{opacity:.3;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #7acfc5;outline-offset:5px}button{border:0}a{color:inherit}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.cover{position:relative;min-height:780px;height:100dvh;overflow:hidden;background:#08162a;color:var(--paper)}.cover-art{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 50%;animation:cover-drift 24s ease-in-out infinite alternate}.cover-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,16,35,.52) 0%,rgba(5,18,36,.22) 37%,transparent 63%),linear-gradient(0deg,rgba(4,13,28,.7),transparent 20%,transparent 80%,rgba(4,13,28,.45))}.cover-nav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:32px 4.5%}.wordmark{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:2px}.wordmark svg{width:24px;height:24px;fill:var(--gold);stroke:none}.subtle{background:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:12px;font-weight:500;padding:10px 4px;text-decoration:none}.subtle.light{color:var(--paper)}.cover-copy{position:absolute;left:7.2%;top:29%;width:48%;max-width:650px;z-index:1}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:700;line-height:1.6;margin:0 0 21px}.cover-copy .eyebrow{color:var(--gold)}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(62px,7.1vw,112px);line-height:.99;letter-spacing:-4px;margin:0;position:relative;text-shadow:0 2px 20px #08172a70}h1 em{font-weight:400;color:var(--gold)}.title-star{font:normal 27px Georgia;position:relative;top:-36px;margin-left:13px;color:var(--gold)}.cover-byline{font-family:Georgia,serif;font-style:italic;font-size:18px;letter-spacing:.2px;margin:24px 0}.cover-description{font-size:13px;line-height:1.9;color:#e7e8e5;margin:0 0 28px}.cover-actions{display:flex;align-items:center;gap:22px}.primary{background:var(--gold);color:#263047;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:17px 21px;font-size:12px;font-weight:700;transition:background .2s,transform .2s;min-height:48px}.primary:hover{background:#ffe0a0;transform:translateY(-2px)}.primary svg{width:18px}.cover-book{display:flex;align-items:center;gap:8px;background:transparent;color:var(--paper);padding:14px 0;font-size:12px;border-bottom:1px solid #ffffff50}.cover-book svg{width:18px}.cover-footer{position:absolute;bottom:22px;left:4.5%;right:4.5%;display:flex;justify-content:space-between;align-items:center;z-index:2}.cover-footer>span{font-size:9px;letter-spacing:1.8px}.cover-footer button{font-family:Georgia,serif;font-style:italic;font-size:13px;gap:15px}.resume{font-size:12px;background:none;color:#f6ddaa;padding:7px 0}.starfield{position:absolute;inset:0;pointer-events:none}.starfield i{position:absolute;width:3px;height:3px;background:#fff3b5;border-radius:50%;animation:twinkle 4s ease-in-out infinite;box-shadow:0 0 10px #fff5b4}
.reader{min-height:100dvh;background:radial-gradient(ellipse at 70% 40%,#26364a 0,#111e31 70%);color:#e7e9e6;padding:0 4.5% 10px}.reader-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;height:84px;max-width:1500px;margin:auto}.reader-brand{display:flex;align-items:center;gap:10px;color:var(--paper);background:none;font-family:Georgia,serif;font-size:15px;text-align:left}.reader-brand svg{fill:var(--gold);stroke:none;width:18px}.mode-switch{display:flex;border:1px solid #e4e5df28;border-radius:28px;padding:4px;gap:4px}.mode-switch button{background:none;color:#d8dce1;padding:8px 15px;border-radius:20px;font-size:11px}.mode-switch button[aria-pressed=true]{background:#f4efe4;color:var(--ink)}.reader-tools{display:flex;gap:20px;align-items:center}.icon-button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:none;color:inherit;border-radius:50%}.icon-button:hover{background:#8b8b8b16}.reader-tools .subtle{font-size:11px}.reader-tools .subtle[aria-pressed=true]{color:var(--gold)}#story-main{max-width:1500px;margin:auto}.spread{position:relative;display:grid;grid-template-columns:39% 61%;min-height:530px;height:calc(100dvh - 235px);max-height:780px;background:var(--paper);color:var(--ink);box-shadow:0 18px 80px #0006;border-radius:3px;overflow:hidden}.story-page{position:relative;padding:clamp(28px,4.4vw,78px) clamp(26px,3.3vw,60px) 54px;display:flex;flex-direction:column;background-image:radial-gradient(#baa77c13 .7px,transparent .7px);background-size:4px 4px;z-index:1}.scene-eyebrow{font-size:8px;letter-spacing:2px;color:#8b7450;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:clamp(20px,3vw,48px);line-height:1.6}.page-star{font-size:20px;color:#b19758;line-height:1}.story-page h2{font-size:clamp(27px,3vw,47px);line-height:1.12;letter-spacing:-1.4px;margin:0 0 24px;max-width:400px}.story-page h2:focus{outline:none}.story-text{font-family:Georgia,serif;font-size:clamp(16px,1.42vw,23px);line-height:1.65;max-width:400px}.story-text p{margin:0 0 .85em;transition:background .25s}.story-text p.speaking{background:#f2d99570;border-radius:3px;box-shadow:0 0 0 5px #f2d99570}.large-text .story-text{font-size:clamp(19px,1.7vw,26px);line-height:1.7}.simple-text .story-text{font-size:clamp(22px,2.2vw,34px);line-height:1.65}.simple-text .story-text p{margin-bottom:.4em}.art-page{position:relative;overflow:hidden;background:#1c2c40}.art-page:before{content:'';position:absolute;left:0;top:0;bottom:0;width:18px;background:linear-gradient(90deg,#00000012,transparent);z-index:2}.art-page img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.living .art-page img{animation:art-breathe 24s ease-in-out infinite alternate}.living .space #scene-atmosphere{position:absolute;inset:0;background-image:radial-gradient(circle at 12% 13%,#fff1b9cc 0 1px,transparent 3px),radial-gradient(circle at 70% 23%,#ffedb1aa 0 1px,transparent 3px),radial-gradient(circle at 86% 61%,#e7ffefaa 0 1px,transparent 3px);animation:twinkle 4s ease-in-out infinite;pointer-events:none}.page-foot{position:absolute;bottom:24px;left:clamp(26px,3.3vw,60px);right:clamp(26px,3.3vw,60px);display:flex;align-items:center;gap:18px;color:#9a8c76;font-family:Georgia,serif;font-size:12px}.page-rule{width:30px;height:1px;background:#d9ccaf}.scene-play{margin-top:auto;padding-top:12px;min-height:48px}.scene-play button{background:none;border:1px solid #c9ba97;border-radius:25px;min-height:39px;padding:8px 15px;color:#645437;font-size:10px;font-weight:700;letter-spacing:.4px}.scene-play button:hover{background:#f4e6c9}.scene-play small{display:block;font-size:9px;color:#978b75;margin-top:8px;line-height:1.5}.book .scene-play{display:none}.scene-feedback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:100px;color:#fff1c2;pointer-events:none;text-shadow:0 4px 30px #0008}.scene-feedback:empty{display:none}.launching .art-page{animation:launch-shake .2s 4}.hopping .art-page img{animation:moon-hop 1.2s ease-in-out}.rocks-controls{display:flex;align-items:center;gap:7px}.rocks-controls button{padding:3px 10px;font-size:20px;min-height:38px;border-radius:12px}.rocks-controls button.collected{background:#d9e9dc;border-color:#8caa97;font-size:16px}.reader-footer{max-width:980px;margin:19px auto 0}.progress-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.3px;color:#bac3cf}.progress-top .subtle{font-size:10px;padding:2px 0}.page-controls{display:flex;align-items:center;gap:24px;margin-top:12px}.page-arrow{width:43px;height:43px;border:1px solid #ffffff35;border-radius:50%;background:transparent;color:#f8f1df;display:grid;place-items:center;flex-shrink:0}.page-arrow:hover{background:#ffffff12}.next-arrow{background:var(--gold);border-color:var(--gold);color:var(--ink)}.next-arrow:hover{background:#ffdfa0}.flipped{transform:rotate(180deg)}.page-dots{display:flex;gap:8px;align-items:center;justify-content:center;flex:1}.page-dot{height:24px;flex:1;max-width:44px;min-width:8px;position:relative;background:transparent;border-radius:3px;padding:0}.page-dot:before{content:'';height:3px;background:#f8f0dd30;position:absolute;left:0;right:0;top:11px;border-radius:3px}.page-dot.visited:before{background:#e8d29a88}.page-dot[aria-current=page]:before{background:var(--gold);height:4px;top:10px}.keyboard-hint{text-align:center;color:#8290a2;font-size:9px;margin:5px 0 0;letter-spacing:.4px}.keyboard-hint span{padding:0 8px}
.dialog{border:0;border-radius:8px;background:var(--paper);color:var(--ink);padding:46px;max-width:560px;width:calc(100% - 36px);box-shadow:0 30px 100px #0005;max-height:90dvh;overflow:auto}.dialog::backdrop{background:#061024bc;backdrop-filter:blur(8px)}.dialog-close{position:absolute;right:12px;top:12px}.dialog .eyebrow{color:#947b4b;font-size:9px;margin-bottom:15px}.dialog h2{font-size:40px;line-height:1.12;letter-spacing:-1.5px;margin:0 0 23px}.dialog p{font-size:13px;line-height:1.8}.dialog-note{font-size:11px!important;color:#8c806e;margin:23px 0 0}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:21px 0;border-bottom:1px solid var(--line)}.setting-row strong{font-size:12px}.setting-row p{margin:5px 0 0;font-size:11px;color:#8c806e}.setting-row select{background:#eee7d8;border:1px solid #ded4bf;border-radius:4px;padding:9px;max-width:145px;font-size:11px;color:var(--ink)}.toggle,.outline-small{background:none;border:1px solid #bcae91;border-radius:4px;font-size:11px;padding:9px;white-space:nowrap}.toggle[aria-pressed=true]{background:var(--gold)}.download-item{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:22px 0;text-decoration:none;border:0;border-bottom:1px solid var(--line);background:none;text-align:left}.download-item:hover strong{color:#9c7132}.download-item strong{display:block;font-size:14px;font-weight:500}.download-item small{display:block;font-size:10px;margin-top:7px;color:#8c806e}.download-item>span:last-child{font-size:23px;color:#927747}.library-note{display:flex;align-items:flex-start;gap:14px;margin-top:20px}.library-note>span{padding-top:12px;color:#b19356}.library-note p{font-size:10px;color:#8b806d}.library-dialog>.subtle{font-size:10px;margin-top:9px}.wide{max-width:950px}.chapter-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:25px}.chapter-item{display:flex;text-align:left;gap:15px;align-items:center;background:#eee6d8;border-radius:5px;overflow:hidden;padding:0 12px 0 0;min-height:64px}.chapter-item[aria-current=page]{outline:2px solid #bc9a56}.chapter-item img{width:82px;height:70px;object-fit:cover}.chapter-item span{font-size:11px;line-height:1.4}.chapter-item small{display:block;font-size:8px;letter-spacing:1px;color:#8d7c5e;margin-bottom:3px}.origin-dialog{max-width:950px}.origin-grid{display:grid;grid-template-columns:.9fr 1fr;align-items:center;gap:40px}.origin-grid>img{width:100%;max-height:610px;object-fit:contain;border-radius:3px}.origin-credit{font-size:10px!important;color:#93836a;border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.origin-dialog details{font-size:10px;color:#74684f}.origin-dialog summary{cursor:pointer}.origin-dialog details p{font-size:11px}.ending-dialog{text-align:center;padding:42px;max-width:620px}.ending-moon{font-size:65px;color:#bda062;line-height:1;margin-bottom:25px}.ending-dialog h2{font-size:52px}.ending-dialog>p{font-family:Georgia,serif;font-size:16px}.ending-dialog .eyebrow,.ending-dialog .coming-soon{font-family:Avenir,'Trebuchet MS',sans-serif;font-size:9px}.coming-soon{color:#91816a;margin:24px 0}.ending-dialog .primary{display:flex;margin:28px auto 12px;max-width:260px}.toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%) translateY(120px);background:var(--paper);color:var(--ink);font-size:12px;padding:13px 23px;border-radius:30px;box-shadow:0 8px 40px #0004;z-index:20;transition:transform .3s;max-width:90%;text-align:center}.toast.show{transform:translateX(-50%) translateY(0)}#print-edition{display:none}
@keyframes cover-drift{from{transform:scale(1)}to{transform:scale(1.035)}}@keyframes art-breathe{from{transform:scale(1.015) translateX(0)}to{transform:scale(1.07) translateX(-.7%)}}@keyframes twinkle{0%,100%{opacity:.25}50%{opacity:1}}@keyframes launch-shake{0%,100%{transform:translateX(0)}25%{transform:translate(-2px,1px)}75%{transform:translate(2px,-1px)}}@keyframes moon-hop{0%,100%{transform:translateY(0) scale(1.02)}50%{transform:translateY(-28px) scale(1.06)}}@keyframes page-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.spread.page-enter .story-page>*{animation:page-in .55s ease both}.spread.page-enter .story-page h2{animation-delay:.06s}.spread.page-enter .story-text{animation-delay:.12s}
@media(min-width:1650px){.cover-copy{top:32%}.cover-art{object-position:center 60%}}@media(max-height:820px) and (min-width:901px){.cover{min-height:650px}.cover-copy{top:28%}h1{font-size:6.6vw}.cover-byline{margin:17px 0}.cover-description{margin-bottom:18px}.spread{min-height:480px}.story-page{padding-top:30px}.scene-eyebrow{margin-bottom:22px}.story-page h2{font-size:33px;margin-bottom:17px}.story-text{font-size:17px}.reader-nav{height:70px}.reader-footer{margin-top:13px}.spread{height:calc(100dvh - 207px)}.story-text p{margin-bottom:.7em}}
@media(max-width:1100px){.reader{padding-left:3%;padding-right:3%}.reader-brand span{max-width:140px}.reader-nav{gap:8px}.reader-tools{gap:8px}.story-page{padding-left:30px;padding-right:28px}.page-foot{left:30px;right:28px}.spread{grid-template-columns:42% 58%}.cover-copy{left:6%;width:53%}.cover-actions{gap:14px}.cover-book{font-size:10px}}
@media(max-width:760px){.cover{min-height:760px;max-height:1000px}.cover-art{object-position:62% center}.cover-shade{background:linear-gradient(0deg,#07172af5 0%,#07172ad9 20%,#07172a70 48%,#07172a00 76%,#07172a77 100%)}.cover-nav{padding:23px 6%}.wordmark{font-size:8px;letter-spacing:1.5px;gap:7px}.wordmark svg{width:19px}.cover-nav .subtle{font-size:10px;gap:6px}.cover-nav .subtle svg{width:17px}.cover-copy{top:auto;bottom:100px;left:7%;width:86%;max-width:500px}.cover-copy .eyebrow{font-size:8px;letter-spacing:1.7px;margin-bottom:13px}h1{font-size:clamp(54px,11.8vw,85px);letter-spacing:-2.5px}.title-star{font-size:19px;top:-26px;margin-left:10px}.cover-byline{font-size:15px;margin:17px 0}.cover-description{font-size:11px;line-height:1.8;margin-bottom:21px}.cover-actions{flex-wrap:wrap;gap:18px}.primary{font-size:11px;padding:14px 16px;gap:16px}.cover-book{font-size:10px;padding:12px 0}.cover-footer{left:7%;right:7%;bottom:23px;gap:15px;align-items:flex-end}.cover-footer>span{max-width:170px;font-size:7px;line-height:1.8;letter-spacing:1.5px}.cover-footer button{font-size:10px;text-align:right;max-width:150px}.reader{padding:0 0 16px}.reader-nav{height:112px;padding:15px 5% 12px;flex-wrap:wrap;position:relative;gap:10px}.reader-brand{font-size:13px;width:calc(100% - 140px);padding:0}.reader-brand span{max-width:none}.reader-tools{position:absolute;right:4%;top:14px}.reader-tools .subtle{font-size:10px}.reader-tools .subtle svg{width:17px}.mode-switch{margin:auto;padding:3px}.mode-switch button{font-size:10px;padding:6px 16px}#story-main{padding:0 4%}.spread{grid-template-columns:1fr;height:auto;min-height:0;max-height:none;display:flex;flex-direction:column}.art-page{order:-1;height:clamp(225px,48vw,360px)}.art-page img{object-position:center 45%}.story-page{padding:25px 27px 42px;min-height:350px}.scene-eyebrow{font-size:7px;margin-bottom:16px}.story-page h2{font-size:31px;max-width:none;margin-bottom:20px;letter-spacing:-.7px}.story-text{font-size:17px;max-width:none;line-height:1.6}.story-text p{margin-bottom:.7em}.page-foot{left:27px;bottom:17px;font-size:10px}.scene-play{padding-top:10px;margin-top:0;min-height:0}.scene-play:empty{display:none}.scene-play small{font-size:9px}.reader-footer{padding:0 6%;margin-top:18px}.progress-top{font-size:9px}.progress-top .subtle{font-size:9px}.page-controls{gap:15px;margin-top:8px}.page-arrow{width:39px;height:39px}.page-dots{gap:5px}.keyboard-hint{font-size:8px;margin-top:9px}.keyboard-hint{font-size:0}.keyboard-hint:before{content:'A small step at a time';font-size:9px}.keyboard-hint span{display:none}.simple-text .story-text{font-size:25px}.large-text .story-text{font-size:21px}.dialog{padding:37px 25px}.dialog h2{font-size:34px}.origin-grid{grid-template-columns:1fr;gap:30px}.origin-grid>img{max-height:350px;object-fit:contain}.origin-dialog h2 br{display:none}.chapter-list{grid-template-columns:1fr}.chapter-item{min-height:58px}.chapter-item img{height:64px}.chapter-item span{font-size:12px}.ending-dialog h2{font-size:43px}.setting-row{gap:10px}.setting-row select{font-size:10px;max-width:126px}.cover #resume-wrap{margin-bottom:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cover-art{transform:none}}.quiet-cover .cover-art,.quiet-cover .starfield i{animation:none}
@media print{@page{size:8in 8in;margin:.45in}body{background:white!important}body>*{display:none!important}#print-edition{display:block!important;color:#233044;background:white;font-family:Georgia,serif}.print-page{break-after:page;page-break-after:always;height:7.1in;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.print-page h1{font-size:47px;letter-spacing:-1px;text-shadow:none;line-height:1.1}.print-page h2{font-size:31px;line-height:1.2}.print-page img{width:100%;max-height:4.7in;object-fit:contain}.print-page p{font-size:19px;line-height:1.6;max-width:5.8in;margin:10px 0}.print-page .print-number{font-size:10px;margin-top:25px;color:#88795c}.print-page:last-child{break-after:auto}}
/* Preserve the larger-text choice in both reading levels. */
.simple-text.large-text .story-text{font-size:clamp(26px,2.5vw,38px)}
@media(max-width:760px){.simple-text.large-text .story-text{font-size:29px}}
