:root{--amber: #F5A623;--amber-glow: #FFD27A;--cream: #F7F1E3;--cream-deep: #EBDFC6;--charcoal: #2B2D33;--night: #0B1D33;--quiet: #16324F;--teal: #2EC4B6;--violet: #7B5EA7;--silver: #DDE3EA;--ink-light: #F7F1E3;--display: "Fraunces", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--body: "Nunito", "Segoe UI", system-ui, -apple-system, sans-serif;--radius: 18px;--shadow: 0 18px 50px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--night);color:var(--ink-light);font-family:var(--body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}button{font:inherit}a{color:inherit}code{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.9em}@keyframes twinkle{0%,to{opacity:.35}50%{opacity:1}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.92}}@keyframes fly{0%{transform:translate(-200px)}to{transform:translate(1800px)}}@keyframes flyback{0%{transform:translate(1800px)}to{transform:translate(-200px)}}@keyframes land{0%{transform:translateY(-300px);opacity:0}20%{opacity:.8}to{transform:translateY(0);opacity:0}}@keyframes lift{0%{transform:translateY(0);opacity:0}20%{opacity:.8}to{transform:translateY(-300px);opacity:0}}@keyframes flicker{0%,to{opacity:.95}50%{opacity:.35}}@keyframes screenEnter{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes kenburns{0%{transform:scale(1.02) translate(0)}to{transform:scale(1.1) translate(-1.5%,-1%)}}@keyframes pageTurn{0%{opacity:0;transform:perspective(1400px) rotateY(-12deg) translate(30px)}to{opacity:1;transform:none}}.stars.twinkle circle{animation:twinkle 5s ease-in-out infinite}.amber.pulse{transform-box:fill-box;transform-origin:center;animation:pulse 3.6s ease-in-out infinite}.fly{animation:fly linear infinite}.fly.back{animation-name:flyback}.land{animation:land ease-out infinite}.lift{animation:lift ease-in infinite}.flicker{animation:flicker .9s steps(2) infinite}.screen-enter{animation:screenEnter .7s ease-out both}.book.screen-enter{animation:pageTurn .8s cubic-bezier(.2,.7,.2,1) both;transform-origin:left center}.kenburns .page-art{animation:kenburns 28s ease-in-out both alternate infinite;will-change:transform}html.quiet .stars circle,html.quiet .amber,html.quiet .fly,html.quiet .land,html.quiet .lift,html.quiet .flicker,html.quiet .screen-enter,html.quiet .kenburns .page-art{animation:none!important}@media (prefers-reduced-motion: reduce){.stars circle,.amber,.fly,.land,.lift,.flicker,.screen-enter,.kenburns .page-art{animation:none!important}}.scene{position:absolute;inset:0;width:100%;height:100%;display:block}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:700;color:var(--amber);margin:0 0 .6rem}.eyebrow.light{color:var(--amber-glow)}.lede{font-size:1.15rem;max-width:60ch;margin:0;opacity:.9}.fine{font-size:.85rem;opacity:.7;margin-top:1rem}.row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1.25rem}.btn{border:0;border-radius:999px;padding:.85rem 1.5rem;min-height:48px;cursor:pointer;font-weight:700;letter-spacing:.01em;transition:transform .15s ease,box-shadow .15s ease}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--amber);color:var(--charcoal);box-shadow:0 8px 24px #f5a62359}.btn.primary.large{font-size:1.15rem;padding:1rem 2rem}.btn.ghost{background:#ffffff14;color:var(--charcoal);border:1px solid rgba(0,0,0,.15)}.btn.ghost.light{color:var(--ink-light);border-color:#ffffff40}.light{color:var(--ink-light)}.library{min-height:100%;padding:clamp(1.5rem,4vw,4rem);background:radial-gradient(1200px 600px at 20% -10%,#1E3A5F 0%,var(--night) 60%)}.library-head h1{font-family:var(--display);font-weight:400;font-size:clamp(2rem,5vw,3.6rem);margin:0 0 .75rem;letter-spacing:-.01em}.shelf{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:2.5rem;margin-top:3rem;align-items:start}.book-card.featured{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:2rem;align-items:center}.book-cover-btn{border:0;padding:0;background:none;cursor:pointer;width:100%}.book-cover{position:relative;aspect-ratio:3 / 4;border-radius:14px;overflow:hidden;box-shadow:var(--shadow);transition:transform .25s ease}.book-cover-btn:hover .book-cover{transform:translateY(-4px) rotate(-.5deg)}.book-cover .scene{position:absolute}.book-cover-text{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:1.2rem;background:linear-gradient(to bottom,#0b1d331a,#0b1d33bf)}.book-series{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--amber-glow);font-weight:700}.book-title{font-family:var(--display);font-size:1.6rem;line-height:1.1;text-shadow:0 2px 12px rgba(0,0,0,.5)}.book-status{font-size:.7rem;letter-spacing:.15em;opacity:.8}.book-meta h2{font-family:var(--display);font-weight:400;font-size:clamp(1.6rem,3vw,2.4rem);margin:0 0 .4rem}.book-sub{font-size:1.1rem;opacity:.9;margin:0 0 .5rem}.book-facts{font-size:.9rem;opacity:.7;margin:0}.other-works ul{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.other-works a{display:flex;flex-direction:column;gap:.15rem;text-decoration:none;padding:.9rem 1rem;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.other-works a:hover{background:#ffffff17}.ow-title{font-family:var(--display);font-size:1.05rem}.ow-kind{font-size:.8rem;opacity:.7}.cover{position:relative;min-height:100%;display:grid;place-items:end start;overflow:hidden}.cover-scene{position:absolute;inset:0}.cover-art,.book-cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cover-panel{position:relative;z-index:1;padding:clamp(1.5rem,5vw,5rem);max-width:720px;background:linear-gradient(to top,#0b1d33d9,#0b1d3300);width:100%}.cover-title{font-family:var(--display);font-weight:400;font-size:clamp(2.4rem,7vw,5rem);line-height:1.02;margin:0 0 .75rem;letter-spacing:-.01em}.cover-sub{font-size:clamp(1.05rem,2vw,1.35rem);opacity:.92;margin:0;max-width:40ch}.cover-author{margin:.5rem 0 0;opacity:.8}.cover-options{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:1.5rem}.toggle{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;min-height:44px}.toggle input{width:1.2rem;height:1.2rem;accent-color:var(--amber)}.reader{position:relative;height:100%;min-height:100vh;overflow:hidden;display:grid;place-items:center;padding:1.25rem 1.25rem 6rem}.backdrop{position:absolute;inset:0;opacity:.55;filter:blur(2px) saturate(.9)}.reader:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#0b1d3359,#0b1d33b3)}.book{position:relative;z-index:1;display:grid;width:min(96vw,calc((100vh - 8.5rem)*2));aspect-ratio:2 / 1;border-radius:10px;box-shadow:0 30px 80px #0000008c,0 0 0 1px #ffffff0f;overflow:hidden;background:var(--cream)}.book.spread{grid-template-columns:1fr 1fr}.book.single{width:min(92vw,calc(100vh - 8.5rem));aspect-ratio:1 / 1;grid-template-columns:1fr}.book.spread:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:28px;transform:translate(-50%);background:linear-gradient(to right,#0000,#0000002e,#0000);pointer-events:none}.page{position:relative;overflow:hidden}.art-page{background:var(--quiet)}.page-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.page-scene{position:absolute;inset:0}.text-page{display:grid;place-items:center;padding:clamp(1.2rem,4vw,3.2rem);background:var(--cream);color:var(--charcoal)}.on-dark .text-page{background:linear-gradient(160deg,#f7f1e3,#ebdfc6)}.mood-quiet .text-page,.mood-memory .text-page,.mood-still .text-page,.mood-end .text-page,.mood-switch .text-page{background:linear-gradient(160deg,#16324f,#0b1d33);color:var(--ink-light)}.mood-cityLoud .text-page{background:linear-gradient(160deg,#f3eeff,#e8fbf8)}.mood-childNight .text-page,.mood-wall .text-page{background:linear-gradient(160deg,#22314f,#16233a);color:var(--ink-light)}.text-inner{max-width:34ch;font-size:clamp(1.05rem,1.75vw,1.5rem);line-height:1.55}.text-inner.long{font-size:clamp(.95rem,1.45vw,1.25rem);line-height:1.45}.text-inner.long p{margin-bottom:.6em}.text-inner.xlong{font-size:clamp(.88rem,1.25vw,1.1rem);line-height:1.4;max-width:38ch}.text-inner.xlong p{margin-bottom:.5em}.text-page{overflow:auto}.text-inner p{margin:0 0 .85em}.text-inner p:last-child{margin-bottom:0}.folio{position:absolute;bottom:.6rem;font-size:.75rem;opacity:.55;font-family:var(--display)}.text-page .folio{left:50%;transform:translate(-50%)}.art-page .folio{left:50%;transform:translate(-50%);color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.6)}.title-page{background:linear-gradient(160deg,#0b1d33,#16324f)!important;color:var(--ink-light)!important;text-align:left}.story-title{font-family:var(--display);font-weight:400;font-size:clamp(1.8rem,3.6vw,3.4rem);line-height:1.05;margin:0 0 .6rem}.story-sub{font-size:clamp(.95rem,1.4vw,1.2rem);opacity:.9;margin:0;max-width:34ch}.click{font-family:var(--display);font-size:2.1em;margin-top:.4em!important;letter-spacing:.02em}.the-end{font-family:var(--display);font-size:1em;opacity:.75;margin-top:1.4em!important;letter-spacing:.15em;text-transform:uppercase}.end-actions{justify-content:flex-start}.single-text{position:absolute;inset:0;display:grid;place-items:end center;pointer-events:none}.single-text .text-page{pointer-events:auto;background:linear-gradient(to top,#0b1d33e0,#0b1d338c 70%,#0b1d3300)!important;color:var(--ink-light)!important;width:100%;height:auto;padding-top:4rem;text-align:center}.single-text .text-inner{font-size:clamp(1rem,1.6vw,1.35rem)}.mood-cream .single-text .text-page{background:linear-gradient(to top,#f7f1e3f2,#f7f1e3b3 70%,#f7f1e300)!important;color:var(--charcoal)!important}.progress{position:absolute;left:0;right:0;bottom:4.25rem;height:4px;background:#ffffff1f;z-index:2}.progress-bar{height:100%;background:var(--amber);transition:width .6s ease}.controls{position:absolute;left:0;right:0;bottom:0;height:4.25rem;z-index:2;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;padding:0 .75rem;background:#0b1d33d1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.08)}.ctl{border:0;background:transparent;color:var(--ink-light);min-height:44px;min-width:44px;padding:0 .8rem;border-radius:10px;cursor:pointer;font-weight:600}.ctl:hover:not(:disabled){background:#ffffff14}.ctl:disabled{opacity:.35;cursor:default}.ctl.arrow{font-size:1.4rem}.ctl-center{display:flex;align-items:center;justify-content:center;gap:.5rem}.ctl-page{font-size:.95rem;white-space:nowrap}.dim{opacity:.55}.ctl-right{display:flex;gap:.25rem}.toggle-btn{border:1px solid rgba(255,255,255,.18)}.toggle-btn.on{background:var(--amber);color:var(--charcoal);border-color:var(--amber)}.ctl.narrator,.narrator-select{background:#ffffff14;color:var(--ink-light);border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:0 .6rem;min-height:44px}.narrator-select option,.ctl.narrator option{color:var(--charcoal)}.find{min-height:100%;padding:clamp(1.25rem,4vw,3rem);background:radial-gradient(900px 500px at 80% -10%,#22406A 0%,var(--night) 60%)}.find h1{font-family:var(--display);font-weight:400;font-size:clamp(2rem,5vw,3.2rem);margin:0 0 .5rem}.find-score{font-size:1.2rem;margin:1rem 0 0}.find-grid{list-style:none;padding:0;margin:2rem 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.find-card{position:relative;width:100%;aspect-ratio:16 / 9;border:2px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden;background:var(--quiet);cursor:pointer;padding:0}.find-card.done{border-color:var(--amber)}.find-card .scene{position:absolute}.find-card-title{position:absolute;left:.75rem;bottom:.6rem;right:.75rem;text-align:left;color:var(--ink-light);font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.7);font-size:.95rem}.find-check{position:absolute;top:.5rem;right:.6rem;background:var(--amber);color:var(--charcoal);border-radius:999px;width:1.6rem;height:1.6rem;display:grid;place-items:center;font-weight:800}.find-scene{margin-top:1.5rem}.find-frame{position:relative;aspect-ratio:16 / 9;border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.find-frame .scene{position:absolute}.milo-target:hover{filter:drop-shadow(0 0 6px var(--amber-glow))}.found-badge{position:absolute;top:1rem;left:50%;transform:translate(-50%);background:var(--amber);color:var(--charcoal);padding:.6rem 1.2rem;border-radius:999px;font-weight:800;animation:fadeIn .4s ease both}.find-title{font-family:var(--display);font-size:1.1rem;opacity:.85}.guide{min-height:100%;padding:clamp(1.25rem,4vw,3rem);background:var(--night)}.guide-head h1{font-family:var(--display);font-weight:400;font-size:clamp(1.8rem,4vw,2.8rem);margin:1rem 0 .4rem}.tabs{display:flex;gap:.5rem;margin-top:1.5rem;flex-wrap:wrap}.tab{border:1px solid rgba(255,255,255,.2);background:transparent;color:var(--ink-light);border-radius:999px;padding:.6rem 1.1rem;min-height:44px;cursor:pointer}.tab.on{background:var(--amber);color:var(--charcoal);border-color:var(--amber);font-weight:700}.guide-body{max-width:72ch;margin-top:1.5rem;font-size:1.05rem}.guide-section h2,.guide-body h2{font-family:var(--display);font-weight:400;font-size:1.5rem;margin:1.8rem 0 .6rem;color:var(--amber-glow)}.guide-body li{margin:.5rem 0}.intro{font-size:1.1rem;opacity:.9}.draft-flag{font-size:.85rem;padding:.6rem .9rem;border-left:3px solid var(--amber);background:#f5a6231a}.note-p{font-family:var(--display);font-size:1.25rem;line-height:1.6}.about{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1.25rem}.about dt{opacity:.6}.about dd{margin:0}@media (max-width: 900px){.shelf,.book-card.featured{grid-template-columns:1fr}.book-cover{max-width:320px}}@media (max-width: 720px){.reader{padding:.5rem .5rem 6.5rem;align-items:start;overflow-y:auto}.book,.book.spread,.book.single{width:100%;aspect-ratio:auto;grid-template-columns:1fr}.book.spread .art-page{aspect-ratio:1 / 1;order:0}.book.spread .text-page{order:1;min-height:40vh}.book.single{aspect-ratio:1 / 1}.text-inner{font-size:1.05rem}.controls{grid-template-columns:auto 1fr;height:5.5rem;grid-template-rows:1fr 1fr;padding:.25rem .5rem}.ctl-right{grid-column:1 / -1;justify-content:center}.progress{bottom:5.5rem}.ctl-page{font-size:.85rem}.about{grid-template-columns:1fr}}
