:root{--night:#07172e;--deep:#0d2850;--sky:#174f86;--sun:#efbd55;--amber:#a96712;--paper:#fffdf6;--cream:#f7edda;--ink:#20253b;--soft:#5b5d70}
body{background:radial-gradient(circle at 8% 8%,rgba(68,131,193,.28),transparent 26%),radial-gradient(circle at 90% 3%,rgba(239,189,85,.19),transparent 22%),var(--night);color:#fdf7e8}
header{background:rgba(7,23,46,.94);border-bottom:1px solid rgba(239,189,85,.3);position:relative;z-index:2}
main{max-width:1320px;padding-top:clamp(1.5rem,4vw,3.5rem)}
.book-heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin:0 auto 1.25rem}
.book-heading .eyebrow{color:#f4cf7b;margin-bottom:.35rem}.story-intro{color:#dbe8f5;margin:.2rem 0;font-size:1.05rem}.book-heading-actions{display:flex;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}
.book-heading-actions button.secondary{background:rgba(255,255,255,.08);border-color:#f0cc78;color:#fff}
.storybook{position:relative}.story-page{min-height:660px;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);overflow:hidden;background:var(--paper);border:1px solid rgba(255,226,153,.65);border-radius:30px;color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.38),inset 0 0 0 8px rgba(255,255,255,.45)}
.story-page figure{min-height:100%;margin:0;position:relative;overflow:hidden}.story-page figure::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 72%,rgba(255,253,246,.9))}
.story-page img{width:100%;height:100%;min-height:660px;object-fit:cover}.page-copy{align-self:center;padding:clamp(2rem,4vw,4rem);font:1.24rem/1.58 Georgia,"Times New Roman",serif}.page-copy h1{font-size:clamp(3.1rem,6vw,6.4rem);color:var(--night);margin:.35rem 0 .7rem;letter-spacing:-.045em}.page-copy h2{font:700 clamp(2rem,3.4vw,3.5rem)/1.06 Georgia,serif;color:var(--deep);margin:.5rem 0 1rem}.page-copy p{margin:.72rem 0}.page-kicker{color:var(--amber);font:800 .78rem/1.2 system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase}.cover-subtitle{font-size:1.5rem;color:var(--deep)}
.cover-page{grid-template-columns:minmax(0,1.24fr) minmax(360px,.76fr)}.cover-page .page-copy{background:linear-gradient(135deg,#fffdf5,#f7e7c5)}
.wonder-words{display:flex;gap:.6rem;flex-wrap:wrap}.wonder-words strong{background:#f3d27e;border-radius:999px;color:#47320a;padding:.25rem .7rem;font:800 .95rem/1.2 system-ui,sans-serif;letter-spacing:.04em}
.story-list,.virtue-list{list-style:none;padding:0;margin:1rem 0;display:flex;flex-wrap:wrap;gap:.55rem}.story-list li,.virtue-list li{border:1px solid #d8c48f;border-radius:999px;background:#fff7df;color:#60440d;padding:.28rem .7rem;font:750 .96rem/1.35 system-ui,sans-serif}.virtue-list li{background:#e8f2f7;border-color:#c3d9e6;color:#174c68}
.page-copy blockquote{border-left:5px solid var(--sun);color:var(--deep);font-size:1.45rem;margin:1rem 0;padding:.35rem 0 .35rem 1rem}
.blessing-page .page-copy{background:linear-gradient(155deg,#fffdf6,#eaf3f7)}
.book-controls{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:1rem;margin:1.1rem 0}.book-controls button{border-color:#f0cc78}.book-controls button.secondary{background:rgba(255,255,255,.08);color:#fff}.page-progress{text-align:center}.page-progress p{margin:.15rem 0;color:#fff;font-size:.95rem;font-weight:800}.progress-track{height:7px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden}.progress-track span{display:block;height:100%;width:6.666%;border-radius:inherit;background:linear-gradient(90deg,#f0bd50,#fff0ad);transition:width .35s ease}
.page-dots{display:flex;gap:.45rem;justify-content:center;overflow-x:auto;padding:.25rem 0 .8rem}.page-dots button{display:grid;place-items:center;min-height:38px;min-width:38px;padding:.35rem;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:transparent;color:#eef6ff;font-size:.78rem}.page-dots button[aria-pressed=true]{background:var(--sun);border-color:var(--sun);color:#17223a}.storybook>.small{text-align:center;color:#c9d8e7;min-height:1.5em}
.grown-up-note{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;margin:2rem 0 0;padding:clamp(1.4rem,3vw,2.2rem);border:1px solid rgba(239,189,85,.34);border-radius:22px;background:rgba(255,255,255,.07);color:#eaf2fa}.grown-up-note .eyebrow{color:#f4cf7b}.grown-up-note h2{color:#fff;font:700 clamp(1.8rem,3vw,2.7rem)/1.1 Georgia,serif;margin:.55rem 0}.grown-up-note a{color:#ffdf91}
footer{background:#040e20;border-top:1px solid rgba(239,189,85,.24)}
@media(max-width:900px){.story-page,.cover-page{grid-template-columns:1fr;min-height:0}.story-page figure{min-height:0}.story-page figure::after{background:linear-gradient(0deg,rgba(255,253,246,.98),transparent 35%)}.story-page img{min-height:0;aspect-ratio:3/2}.page-copy{padding:1.7rem 1.35rem 2rem}.grown-up-note{grid-template-columns:1fr}}
@media(max-width:600px){.book-heading{align-items:stretch;flex-direction:column}.book-heading-actions{justify-content:stretch}.book-heading-actions button{flex:1}.story-page{border-radius:20px}.page-copy{font-size:1.12rem}.page-copy h1{font-size:clamp(2.65rem,15vw,4.5rem)}.book-controls{grid-template-columns:1fr 1fr}.page-progress{grid-column:1/-1;grid-row:1}.book-controls button{width:100%;padding:.6rem .7rem}.page-dots{justify-content:flex-start}.story-list li,.virtue-list li{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.progress-track span{transition:none}}
@media print{body{background:#fff}.book-heading,.book-controls,.page-dots,.storybook>.small,.grown-up-note{display:none!important}.story-page[hidden]{display:grid!important}.story-page{break-after:page;min-height:9in;box-shadow:none;border:1px solid #bbb}.story-page img{min-height:0;height:4.6in}.story-page figure::after{display:none}.page-copy{font-size:14pt}main{padding:0}}
