.fact-pullout{color:#29251f;width:clamp(min(18rem, calc(100vw - 2rem)), calc(46dvh * var(--fact-image-aspect,1.778)), min(44rem, calc(100vw - 2rem)));background:0 0;border:0;max-width:none;max-height:calc(100dvh - 2rem);margin:auto;padding:0;position:fixed;inset:0;overflow:visible}.fact-pullout::backdrop{background:#0c1117a6}.fact-pullout__card{overscroll-behavior:contain;background:#fffaf0;border-radius:1.25rem;flex-direction:column;max-height:calc(100dvh - 2rem);animation:.22s ease-out fact-pullout-enter;display:flex;position:relative;overflow:auto;box-shadow:0 1.5rem 5rem #0006}.fact-pullout__media{flex:none;position:relative}.fact-pullout__image{width:100%;height:auto;display:block}.fact-pullout__sound{color:#29251f;cursor:pointer;background:#fffaf0;border:0;border-radius:50%;place-items:center;width:3.5rem;height:3.5rem;padding:0;display:grid;position:absolute;bottom:1rem;right:1rem;box-shadow:0 2px 16px #0005}.fact-pullout__sound--inline{margin-bottom:1rem;position:static}.fact-pullout__sound:disabled{opacity:.6;cursor:progress}.fact-pullout__audio-error{color:#29251f;cursor:pointer;font:inherit;background:#eee2ca;border:0;border-radius:.5rem;margin-bottom:1rem;padding:.5rem;display:block}.fact-pullout__close{z-index:1;color:#29251f;cursor:pointer;background:#fffaf0;border:0;border-radius:50%;width:2.75rem;height:2.75rem;font-size:1.75rem;position:absolute;top:.5rem;right:.5rem;box-shadow:0 2px 12px #0003}.fact-pullout__text{overscroll-behavior:contain;overflow-wrap:anywhere;flex:auto;min-height:min(7rem,35dvh);padding:1.5rem;font-size:clamp(1rem,2vw,1.125rem);line-height:1.65;overflow-y:auto}.fact-pullout__text h2{margin:0 2rem 1rem 0;font-size:1.65em;line-height:1.2}.fact-pullout__text h3{font-size:1.15em;line-height:1.35}.fact-pullout__text p{white-space:pre-line;margin:0 0 1em}.fact-pullout__text audio{display:none}.fact-pullout .fact-pullout__text,.fact-pullout .fact-pullout__text :is(h2,h3,p,strong,em,li,ul,ol){color:#29251f}.fact-pullout .fact-pullout__text h2{font-style:normal}.fact-pullout__text ul,.fact-pullout__text ol{padding-inline-start:1.5rem}.fact-pullout :focus-visible{outline-offset:-3px;outline:3px solid #735824}@keyframes fact-pullout-enter{0%{opacity:0;transform:translateY(1.5rem)scale(.97)}to{opacity:1;transform:none}}@media (width<=600px){.fact-pullout{max-height:calc(100dvh - 2rem);margin:auto auto 1rem}.fact-pullout__card{max-height:calc(100dvh - 2rem);padding-bottom:env(safe-area-inset-bottom);border-radius:1.25rem}.fact-pullout__text{padding:1.25rem}}@media (prefers-reduced-motion:reduce){.fact-pullout__card{animation:none}}.player-video-layer{z-index:1;object-fit:fill;pointer-events:none;position:absolute}.player-stage .player-image.player-image-toggle{opacity:0;pointer-events:none;transition:opacity .6s}.player-stage .player-image.player-image-toggle.is-visible{opacity:1}@media (prefers-reduced-motion:reduce){.player-stage .player-image.player-image-toggle{transition:none}}.fx-layer{pointer-events:none;z-index:2;--fx-ink:#fff7e8;--fx-accent:#ffd166;--fx-pink:#ff8fb1;--fx-sky:#9fdcff;--fx-glyph:clamp(30px, 7vmin, 84px);--fx-ease-out:cubic-bezier(.22, 1, .36, 1);position:absolute;inset:0;overflow:visible}.fx-burst{pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.fx-particle{width:var(--fx-glyph);aspect-ratio:1;color:var(--fx-ink);opacity:0;will-change:transform, opacity;backface-visibility:hidden;animation:fx-spray 1.5s var(--fx-ease-out) var(--delay) forwards;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.3)}.fx-particle svg{width:100%;height:100%;display:block}.fx-hearts .fx-particle{color:var(--fx-pink);animation-name:fx-heart}.fx-sparkle .fx-particle{color:var(--fx-accent);animation-name:fx-twinkle;animation-duration:1.3s}@keyframes fx-spray{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)rotate(0)}12%{opacity:1;transform:translate(calc(-50% + var(--dx) * .18), calc(-50% + var(--dy) * .18)) scale(var(--scale)) rotate(calc(var(--rot) * .2))}75%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy) - 40%)) scale(var(--scale)) rotate(var(--rot))}}@keyframes fx-heart{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}14%{opacity:1;transform:translate(calc(-50% + var(--dx) * .2), calc(-50% + var(--dy) * .2)) scale(calc(var(--scale) * 1.15))}30%{transform:translate(calc(-50% + var(--dx) * .38), calc(-50% + var(--dy) * .38)) scale(var(--scale))}75%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy) - 40%)) scale(calc(var(--scale) * .9))}}@keyframes fx-twinkle{0%{opacity:0;transform:translate(-50%,-50%)scale(.1)rotate(0)}20%{opacity:1;transform:translate(calc(-50% + var(--dx) * .45), calc(-50% + var(--dy) * .45)) scale(var(--scale)) rotate(45deg)}50%{opacity:.7;transform:translate(calc(-50% + var(--dx) * .75), calc(-50% + var(--dy) * .75)) scale(calc(var(--scale) * .55)) rotate(90deg)}70%{opacity:1;transform:translate(calc(-50% + var(--dx) * .9), calc(-50% + var(--dy) * .9)) scale(var(--scale)) rotate(135deg)}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(.1) rotate(180deg)}}.fx-flash{width:var(--fx-glyph);aspect-ratio:1;background:radial-gradient(circle, #fff 0%, var(--fx-accent) 45%, transparent 70%);opacity:0;will-change:transform, opacity;border-radius:50%;animation:.5s ease-out forwards fx-flash;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.2)}@keyframes fx-flash{0%{opacity:1;transform:translate(-50%,-50%)scale(.2)}to{opacity:0;transform:translate(-50%,-50%)scale(2.6)}}.fx-fireworks .fx-particle{width:calc(var(--fx-glyph) * .95);color:var(--fx-accent);animation-name:fx-pop;animation-duration:1.5s}.fx-fireworks .fx-particle:nth-child(3n){color:var(--fx-pink)}.fx-fireworks .fx-particle:nth-child(3n+1){color:var(--fx-sky)}@keyframes fx-pop{0%{opacity:0;transform:translate(-50%, -50%) rotate(var(--ang)) scale(.2, .6)}8%{opacity:1;transform:translate(calc(-50% + var(--dx) * .2), calc(-50% + var(--dy) * .2)) rotate(var(--ang)) scale(1.2, .9)}40%{opacity:1;transform:translate(calc(-50% + var(--dx) * .9), calc(-50% + var(--dy) * .9)) rotate(var(--ang)) scale(var(--scale), .7)}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy) + 160%)) rotate(var(--ang)) scale(.25, .5)}}.fx-confetti .fx-particle{width:calc(var(--fx-glyph) * .9);color:hsl(var(--hue) 85% 62%);animation-name:fx-confetti;animation-duration:2.3s;animation-timing-function:cubic-bezier(.25,.7,.45,1)}@keyframes fx-confetti{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)rotate(0)}10%{opacity:1}35%{opacity:1;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy) * .7)) scale(var(--scale)) rotate(var(--rot))}to{opacity:0;transform:translate(calc(-50% + var(--dx) * 1.25), calc(-50% + 420%)) scale(var(--scale)) rotate(calc(var(--rot) * 6))}}.fx-swirl-svg{transform-origin:50%;will-change:transform, opacity;width:100%;height:100%;animation:fx-gust 1.5s var(--fx-ease-out) forwards;position:absolute;inset:0;overflow:visible;transform:rotate(0)scale(.5)}.fx-swirl-arc{fill:none;stroke:var(--fx-ink);stroke-width:2px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;opacity:.95;animation:fx-wind 1.3s var(--fx-ease-out) var(--delay) forwards}@keyframes fx-gust{0%{opacity:1;transform:rotate(0)scale(.5)}70%{opacity:1}to{opacity:0;transform:rotate(160deg)scale(1.5)}}@keyframes fx-wind{0%{stroke-dashoffset:1px}45%{stroke-dashoffset:0}to{stroke-dashoffset:-1px}}.fx-raindrops{pointer-events:none;position:absolute;inset:0}.fx-drop{aspect-ratio:1;pointer-events:none;width:clamp(48px,16vmin,200px);position:absolute;transform:translate(-50%,-50%)}.fx-drop:before,.fx-drop:after{content:"";border:3px solid var(--fx-ink);opacity:0;will-change:transform, opacity;animation:fx-drop 1.3s cubic-bezier(.3, .6, .5, 1) var(--delay) forwards;border-radius:50%;position:absolute;inset:0;transform:scale(.04)}.fx-drop:after{animation-delay:calc(var(--delay) + .26s);border-width:2px}@keyframes fx-drop{0%{opacity:.95;transform:scale(.04)}40%{opacity:.85}to{opacity:0;transform:scale(1.6)}}.fx-zzz .fx-particle{aspect-ratio:auto;width:auto;color:var(--fx-ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,system-ui,sans-serif;font-weight:600;font-size:calc(clamp(22px, 5vmin, 56px) * (1 + var(--i) * .45));animation-name:fx-zzz;animation-duration:2s;animation-timing-function:var(--fx-ease-out);line-height:1}@keyframes fx-zzz{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}12%{opacity:.95;transform:translate(-10%,-110%)scale(1)}80%{opacity:.95}to{opacity:0;transform:translate(calc(-50% + 170% + var(--i) * 70%), calc(-50% - 320% - var(--i) * 70%)) scale(1.1) rotate(10deg)}}.fx-bubbles .fx-particle{width:calc(var(--fx-glyph) * .85);color:#ffffffd9;animation-name:fx-bubble-rise;animation-duration:2.1s;animation-timing-function:ease-out}@keyframes fx-bubble-rise{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}12%{opacity:1;transform:translate(-50%, -50%) scale(var(--scale))}45%{transform:translate(calc(-50% + var(--dx) * .35), calc(-50% + var(--dy) * .5)) scale(var(--scale))}86%{opacity:1;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(var(--scale))}92%{opacity:1;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(calc(var(--scale) * 1.3))}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(0)}}.fx-bubble{transform-origin:50% 100%;will-change:transform, opacity;animation:1.6s cubic-bezier(.2,1.3,.4,1) forwards fx-bubble-pop;transform:translate(-50%,-100%)}.fx-bubble-text{isolation:isolate;background:var(--fx-ink);color:#2a1e14;font-family:var(--font-display,Georgia, serif);white-space:nowrap;border-radius:1.2em;padding:.35em .85em;font-size:clamp(1.3rem,5.5vmin,3rem);font-weight:700;line-height:1.1;position:relative;box-shadow:0 3px 10px #0000004d}.fx-bubble-text:after{content:"";z-index:-1;background:inherit;border-radius:.12em;width:.8em;height:.8em;position:absolute;bottom:-.38em;left:50%;transform:translate(-50%)rotate(45deg)}@keyframes fx-bubble-pop{0%{opacity:0;transform:translate(-50%,-100%)scale(.4)}18%{opacity:1;transform:translate(-50%,-100%)scale(1.06)}30%{transform:translate(-50%,-100%)scale(1)}82%{opacity:1;transform:translate(-50%,-100%)scale(1)}to{opacity:0;transform:translate(-50%,-110%)scale(.9)}}.fx-bubble.is-reduced{animation-name:fx-bubble-fade}@keyframes fx-bubble-fade{0%{opacity:0}15%{opacity:1}85%{opacity:1}to{opacity:0}}.fx-ring{border:4px solid var(--fx-ink);opacity:0;will-change:transform, opacity;animation:fx-ring 1s var(--fx-ease-out) var(--delay) forwards;border-radius:50%;position:absolute;inset:0}@keyframes fx-ring{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(3)}}.fx-glow{border-radius:inherit;opacity:0;animation:1s ease-out forwards fx-glow;position:absolute;inset:0;box-shadow:inset 0 0 14vmin 3vmin #ffd166cc}@keyframes fx-glow{0%{opacity:0}25%{opacity:1}to{opacity:0}}.char-strip{padding:.6rem max(1rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));z-index:60;pointer-events:none;background:linear-gradient(#0000 0%,#0a090759 30%,#0a0907b8 100%);position:fixed;bottom:0;left:0;right:0}.char-strip-row{scrollbar-width:none;justify-content:center;align-items:flex-end;gap:.65rem;display:flex;overflow-x:auto}.char-strip-row::-webkit-scrollbar{display:none}.char-chip{font:inherit;color:inherit;-webkit-appearance:none;appearance:none;cursor:pointer;pointer-events:auto;opacity:.6;background:0 0;border:none;flex-direction:column;flex-shrink:0;align-items:center;gap:.25rem;padding:0;transition:transform .2s,opacity .2s,box-shadow .2s;display:flex;transform:scale(.9)}.char-chip:hover,.char-chip:focus-visible{opacity:.95;outline:none;transform:scale(1.05)}.char-chip:focus-visible .char-chip-avatar{box-shadow:0 0 0 2.5px var(--accent), 0 0 10px 3px #b65a3e8c}.char-chip-active{opacity:1;transform:scale(1.15)}.char-chip-avatar{background:var(--paper-deep);border-radius:50%;width:3rem;height:3rem;transition:box-shadow .2s;overflow:hidden;box-shadow:0 0 0 2px #0a090799}.char-chip-active .char-chip-avatar{box-shadow:0 0 0 2.5px var(--accent), 0 0 10px 3px #b65a3e8c}.char-chip-img{object-fit:cover;width:100%;height:100%;display:block}.char-chip-placeholder{background:linear-gradient(135deg, var(--family-pen-and-ink), var(--family-engraving));color:#ffffffe6;justify-content:center;align-items:center;width:100%;height:100%;font-family:Charter,serif;font-size:1.35rem;font-style:italic;display:flex}.char-chip-name{color:#f7f2e8e0;text-shadow:0 1px 3px #0000008c;white-space:nowrap;text-overflow:ellipsis;text-align:center;max-width:4rem;font-family:Charter,serif;font-size:.65rem;overflow:hidden}.char-chip-overflow .char-chip-name{opacity:.7;font-size:.75rem}@media (width>=480px){.char-chip-avatar{width:3.5rem;height:3.5rem}.char-chip-name{max-width:4.5rem;font-size:.7rem}}.player.is-read-mode{--read-panel-min-h:min(40dvh, 26rem);--read-panel-h:max(var(--read-panel-min-h), calc(100dvh - 100dvw / var(--frame-aspect,.8)))}@media (orientation:landscape){.player.is-read-mode{--read-panel-min-h:min(34dvh, 15rem)}}.player.is-read-mode .player-stage,.player.is-read-mode .player-stage.is-landscape,.player.is-read-mode .player-stage.is-portrait{top:var(--stage-top-inset,0px);width:min(100dvw, calc((100dvh - var(--read-panel-h) - var(--stage-top-inset,0px)) * var(--frame-aspect,.8)));height:min(calc(100dvh - var(--read-panel-h) - var(--stage-top-inset,0px)), calc(100dvw / var(--frame-aspect,.8)));left:50%;transform:translate(-50%)}.player.is-read-mode .player-image{object-fit:contain}.player.is-read-mode .player-chrome,.player.is-read-mode .player-chrome.is-landscape,.player.is-read-mode .player-chrome.is-portrait{width:100%;height:calc(100dvh - var(--read-panel-h));top:0;left:0;transform:none}.player.is-read-mode .player-progress{display:none}.read-panel{height:var(--read-panel-h);background:var(--paper,#f8f1e3);color:var(--ink,#322619);border-top:1px solid var(--rule,#ddc9a8);z-index:5;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}.read-panel--thin{height:var(--read-panel-h)}.read-panel-bar{flex:none;justify-content:space-between;align-items:center;padding:.5rem 1.1rem .25rem;display:flex}.read-panel-progress{letter-spacing:.06em;color:var(--ink-faint,#8e7e68);font-variant-numeric:tabular-nums;font-size:.85rem}.read-panel-controls{align-items:center;gap:.5rem;display:flex}.read-size{border:1px solid var(--rule,#ddc9a8);background:var(--paper-soft,#f0e6d2);color:var(--ink,#322619);cursor:pointer;border-radius:50%;width:2.6rem;height:2.6rem;font-size:1.3rem;line-height:1}.read-size:disabled{opacity:.35;cursor:default}.read-music{border:1px solid var(--rule,#ddc9a8);background:var(--paper-soft,#f0e6d2);color:var(--ink,#322619);cursor:pointer;border-radius:50%;width:2.6rem;height:2.6rem;font-size:1.2rem;line-height:1}.read-music.is-playing{background:var(--accent,#c97d7d);border-color:var(--accent,#c97d7d);color:#fff}.read-panel-text{font-family:Lora,Georgia,serif;font-size:calc(clamp(1.15rem, 2.2vmin + .5rem, 1.6rem) * var(--read-text-scale,1));padding:.25rem 1.4rem 1.4rem;line-height:1.6;overflow-y:auto}.read-panel-text p{max-width:38rem;margin:0 auto .8em}.player.is-dyslexic-font .read-panel-text{letter-spacing:.01em;font-family:OpenDyslexic,Verdana,sans-serif;line-height:1.75}.player.is-dyslexic-font .player-narration-overlay{font-family:OpenDyslexic,Verdana,sans-serif}.read-line--song{color:var(--ink-soft,#5c4d3a);border-left:3px solid var(--accent-soft,#e5b0b0);max-width:38rem;margin:0 auto .8em;padding-left:1rem;font-style:italic;position:relative}.read-line--song p{margin-bottom:.2em}.read-song-play{background:var(--accent-soft,#e5b0b0);color:var(--ink,#322619);cursor:pointer;border:none;border-radius:50%;width:2rem;height:2rem;margin-top:.15rem;font-size:1rem;line-height:1}.colouring{z-index:50;background:var(--paper,#f8f1e3);width:100dvw;height:100dvh;color:var(--ink,#322619);touch-action:none;-webkit-user-select:none;user-select:none;grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}.colouring-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .9rem;display:flex}.colouring-top button{font:inherit;color:#5b5348;cursor:pointer;background:#fbf6ea;border:1px solid #3c322340;border-radius:999px;min-height:44px;padding:.55rem 1rem;font-weight:600}.colouring-top button:disabled{opacity:.45;cursor:default}.colouring-pager{align-items:center;gap:.4rem;display:flex}.colouring-pager button{place-items:center;min-width:44px;padding:.2rem;display:grid}.colouring-pageline{color:var(--ink-soft,#5c4d3a);font-size:.95rem}.colouring-tools{gap:.5rem;display:flex}.colouring-reset{position:relative;overflow:hidden}.colouring-reset.holding{background:conic-gradient(var(--accent,#c97d7d) var(--hold,0%), #fbf6ea 0);color:var(--ink,#322619)}.colouring-hint{color:var(--ink-faint,#8e7e68);margin:0;padding:0 .9rem .4rem;font-size:.9rem}.colouring-stage{justify-content:center;align-items:center;min-height:0;padding:.5rem;display:flex;position:relative;overflow:hidden;container-type:size}.colouring-sheet{width:100%;max-width:100%;width:min(100cqw, calc(100cqh * var(--page-w,3) / var(--page-h,4)));aspect-ratio:var(--page-w,3) / var(--page-h,4);cursor:crosshair;transform-origin:0 0;background:#fff;border-radius:8px;position:relative;overflow:hidden;box-shadow:0 10px 22px -6px #3c2d1959}.colouring-sheet>canvas,.colouring-sheet>.colouring-source{width:100%;height:100%;display:block;position:absolute;inset:0}.colouring-sheet>.colouring-source{mix-blend-mode:multiply;pointer-events:none}.colouring-zoomout{font:inherit;color:#5b5348;cursor:pointer;background:#fbf6eaeb;border:1px solid #3c322340;border-radius:999px;min-height:44px;padding:.55rem 1rem;font-weight:600;position:absolute;bottom:.9rem;right:.9rem;box-shadow:0 4px 12px -4px #3c2d1959}.colouring-print{display:none}.colouring-trouble{text-align:center}.colouring-trouble button{font:inherit;cursor:pointer;background:#fbf6ea;border:1px solid #3c322340;border-radius:999px;padding:.6rem 1.2rem;font-weight:600}.colouring-bottom{padding:.7rem .9rem calc(.7rem + env(safe-area-inset-bottom));flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem 1.2rem;display:flex}.colouring-toolswitch{background:#3c322314;border-radius:999px;gap:.3rem;padding:.25rem;display:flex}.colouring-toolswitch button{color:#5b5348;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.colouring-toolswitch button[aria-checked=true]{color:var(--ink,#322619);background:#fbf6ea;box-shadow:0 2px 6px -2px #3c2d1966}.colouring-palette{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.colouring-swatch{cursor:pointer;border:3px solid #3c322333;border-radius:50%;width:44px;height:44px;transition:transform .12s}.colouring-swatch.selected{border-color:var(--ink,#322619);transform:scale(1.25)}.colouring-swatch:disabled{opacity:.3;cursor:default}.colouring-picker-backdrop{background:#32261940;place-items:end center}.colouring-picker{width:min(100%,34rem);padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));background:var(--paper,#f8f1e3);border-radius:16px 16px 0 0;gap:.7rem;display:grid;box-shadow:0 -10px 30px -12px #3c2d1980}.colouring-spectrum{touch-action:none;cursor:crosshair;border-radius:12px;width:100%;height:160px;display:block;box-shadow:inset 0 0 0 1px #3c322333}.colouring-picker-preview{border:3px solid #3c322340;border-radius:50%;justify-self:center;width:56px;height:56px;box-shadow:0 4px 10px -4px #3c2d1966}.colouring-picker-note{text-align:center;color:var(--ink-faint,#8e7e68);margin:0;font-size:.85rem}.colouring-swatch-custom{background:linear-gradient(var(--custom,#fff), var(--custom,#fff)) padding-box, conic-gradient(#e5443b, #f6d34a, #5cb85c, #3aa8a3, #3b7dd8, #8a5ac2, #ef7fb0, #e5443b) border-box;border:4px solid #0000}.colouring-dialog-backdrop{z-index:1;background:#32261973;place-items:center;padding:1rem;display:grid;position:absolute;inset:0}.colouring-dialog{background:var(--paper,#f8f1e3);border-radius:16px;gap:.6rem;width:min(100%,22rem);padding:1.2rem;display:grid;box-shadow:0 18px 40px -12px #3c2d1980}.colouring-dialog h2{text-align:center;margin:0 0 .4rem;font-size:1.15rem}.colouring-dialog button{font:inherit;color:var(--ink,#322619);cursor:pointer;background:#fbf6ea;border:1px solid #3c322340;border-radius:999px;min-height:48px;padding:.7rem 1rem;font-weight:600}.colouring-dialog .colouring-dialog-cancel{color:#5b5348;background:0 0;border-color:#0000}@media print{html,body{height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important}body :not(:has(.colouring)):not(.colouring):not(.colouring *){display:none!important}body :has(.colouring){height:100%;border:0!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important}.colouring{background:#fff;width:100vw;height:100vh;display:block;position:static;overflow:hidden}.colouring>:not(.colouring-print){display:none!important}.colouring-print{object-fit:contain;object-position:center;page-break-inside:avoid;break-inside:avoid;width:100%;height:100%;display:block!important}@page{margin:0}}.family-page{max-width:var(--measure-wide)}.family-lede{color:var(--ink-soft);margin:.25rem 0 0}.family-section{margin-top:2.5rem}.family-section h2{font-family:var(--font-display);margin:0 0 .75rem;font-size:1.15rem}.family-form{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;display:flex}.family-field{flex-direction:column;flex:12rem;gap:.3rem;display:flex}.family-field>span{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);font-size:.8rem}.family-field input,.family-field select{color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:10px;width:100%;padding:.45rem .7rem;font-family:inherit;font-size:.95rem}.family-field input:focus,.family-field select:focus{outline:2px solid var(--accent-soft);outline-offset:1px}.family-submit{color:var(--paper);background:var(--ink);border:1px solid var(--ink);cursor:pointer;border-radius:10px;flex:none;padding:.5rem 1.1rem;font-family:inherit;font-size:.95rem}.family-submit:hover{background:var(--ink-soft);border-color:var(--ink-soft)}.family-error{color:var(--accent);margin:.6rem 0 0}.family-created{background:var(--paper-soft);border:1px solid var(--rule);border-radius:10px;margin-top:1rem;padding:.9rem 1rem}.family-created p{color:var(--ink-soft);margin:0 0 .5rem;font-size:.9rem}.family-created-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.family-created-url{color:var(--ink-soft);background:var(--paper);border:1px solid var(--rule);border-radius:8px;flex:18rem;padding:.4rem .6rem;font-family:inherit;font-size:.85rem}.family-rows{border-top:1px solid var(--rule-soft);margin:0;padding:0;list-style:none}.family-row{border-bottom:1px solid var(--rule-soft);justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;display:flex}.family-row-main{flex-direction:column;gap:.15rem;min-width:0;display:flex}.family-row-title{font-family:var(--font-display);overflow-wrap:anywhere}.family-row-meta{color:var(--ink-faint);font-size:.85rem}.family-action{color:var(--ink-soft);border:0;border-bottom:1px solid var(--rule);cursor:pointer;background:0 0;flex:none;padding:0 0 1px;font-family:inherit;font-size:.85rem;text-decoration:none}.family-action:hover{color:var(--ink);border-bottom-color:var(--accent)}.family-action--danger{color:var(--accent)}.family-confirm{flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:.7rem;display:flex}.family-confirm-q{color:var(--ink-soft);font-size:.85rem}.family-empty{color:var(--ink-faint);margin:0;font-size:.9rem}@media (width<=34rem){.family-row{flex-direction:column;align-items:flex-start;gap:.4rem}.family-confirm{justify-content:flex-start}}.series-chip{font-family:var(--font-body);letter-spacing:.02em;color:var(--ink);background:color-mix(in srgb, var(--card-color,var(--rule)) 38%, var(--paper));clip-path:polygon(2% 12%,8% 0%,22% 6%,38% 0%,55% 8%,72% 1%,88% 7%,98% 0%,100% 22%,96% 42%,100% 62%,97% 82%,100% 100%,84% 96%,66% 100%,48% 94%,30% 100%,14% 95%,0% 100%,3% 78%,0% 56%,4% 36%,0% 18%);box-sizing:border-box;max-width:100%;margin:0 .35rem .1rem 0;padding:.25rem .85rem .3rem;font-size:.78rem;font-weight:500;display:inline-block;transform:rotate(-.8deg)}.catalogue{--font-ui:"Mulish", system-ui, sans-serif;--font-round:"Baloo 2", var(--font-ui);--font-serif:"Cormorant Garamond", Georgia, serif;padding:.5rem 0 3rem}.catalogue--backdrop{pointer-events:none}.catalogue-hero{align-items:flex-end;gap:1.1rem;margin:1rem 0 1.75rem;display:flex}.lore-owl{flex:none;animation:3.4s ease-in-out infinite owl-bob;display:inline-block}@keyframes owl-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.speech-bubble{font-family:var(--font-ui);color:#4a4130;background:#fff;border:1px solid #3c32231f;border-radius:16px 16px 16px 4px;width:fit-content;margin-bottom:.5rem;padding:.6rem 1rem;font-size:.95rem;font-weight:600;box-shadow:0 6px 16px #3c2d1914}.catalogue-hero h1{font-family:var(--font-serif);color:var(--ink);margin:0 0 .25rem;font-size:clamp(2rem,6vw,2.9rem);font-style:italic;font-weight:600}.hero-sub{font-family:var(--font-ui);color:var(--ink-faint);margin:0;font-size:1rem}.fav-filter{font-family:var(--font-ui);color:#4a4130;cursor:pointer;background:#fff;border:1px solid #3c322329;border-radius:999px;align-self:flex-end;align-items:center;gap:.45rem;margin-bottom:.35rem;margin-left:auto;padding:.5rem 1rem;font-size:.9rem;font-weight:600;display:flex;box-shadow:0 4px 12px #3c2d1914}.fav-filter svg{fill:none;stroke:#8f877a}.fav-filter[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.fav-filter[aria-pressed=true] svg{fill:#fff;stroke:#fff}.catalogue--pop .catalogue-hero{background:linear-gradient(120deg,#f5dfa6,#f3cf9a 45%,#e9b6c0);border-radius:24px;align-items:center;padding:1.5rem 1.8rem}.catalogue--pop .catalogue-hero h1{color:#2c2620;font-size:clamp(2.1rem,6vw,3rem)}.catalogue--pop .hero-sub{font-family:var(--font-round);color:#7a5a2c;font-weight:600}.fav-filter--pop{font-family:var(--font-round);border-radius:999px;align-self:center;padding:.7rem 1.3rem;font-size:1.05rem}.shelf-grid{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1.6rem 1.4rem;display:grid}.catalogue--pop .shelf-grid{gap:1.4rem 1.25rem}.shelf-card{color:var(--ink);background:#fbf6ea;border:1px solid #3c32231a;border-radius:18px;padding:.85rem;text-decoration:none;transition:transform .3s cubic-bezier(.2,.8,.3,1),box-shadow .3s;display:block;box-shadow:0 3px 12px #3c2d1912}.shelf-card:hover,.shelf-card:focus-visible{transform:translateY(-9px)rotate(-.5deg);box-shadow:0 22px 40px #3c2d192e}.shelf-card:active{transform:translateY(-2px)scale(.99)}.shelf-cover{aspect-ratio:4/5;background:var(--paper-deep);border-radius:12px;position:relative;overflow:hidden;box-shadow:inset 0 1px 3px #00000026}.shelf-cover img{object-fit:cover;width:100%;height:100%;display:block}.shelf-card--pop{background:color-mix(in srgb, var(--card-color,var(--rule)) 26%, var(--paper));border:none;border-radius:26px;padding:1rem;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s;box-shadow:0 4px #3c2d191a}.shelf-card--pop:hover,.shelf-card--pop:focus-visible{transform:translateY(-11px)scale(1.02)rotate(-1deg);box-shadow:0 24px 34px #3c2d1933}.shelf-card--pop:active{transform:scale(.97)}.shelf-card--pop .shelf-cover{border-radius:18px}.new-badge{color:#fff;font-family:var(--font-round);letter-spacing:.06em;text-transform:uppercase;background:#c8452f;border-radius:999px;padding:.35rem .65rem;font-size:.66rem;font-weight:800;animation:3s ease-in-out infinite badge-float;position:absolute;top:.6rem;left:.6rem;box-shadow:0 4px 10px #00000038}@keyframes badge-float{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-4px)rotate(3deg)}}.fav-btn{cursor:pointer;background:#fbf6eae6;border:none;border-radius:50%;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;padding:0;display:flex;position:absolute;top:.5rem;right:.5rem;box-shadow:0 2px 8px #0000002e}.fav-btn svg{fill:none;stroke:#8f877a}.fav-btn[aria-pressed=true] svg{fill:var(--accent);stroke:var(--accent)}.bedtime-mark{color:var(--ink);backdrop-filter:blur(4px);background:#f8f1e3eb;border-radius:999px;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:flex;position:absolute;bottom:.5rem;right:.5rem}.continue-row{margin:0 0 1.6rem}.continue-title{font-family:var(--font-round,"Baloo 2", sans-serif);color:var(--ink-soft);margin:0 0 .7rem;font-size:1.15rem;font-weight:700}.continue-strip{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:.9rem;padding-bottom:.4rem;display:flex;overflow-x:auto}.continue-card{scroll-snap-align:start;flex:none;width:7.5rem;position:relative}.continue-link{color:var(--ink);text-decoration:none;display:block}.continue-remove{color:#fff;cursor:pointer;opacity:0;background:#c8322b;border:0;border-radius:50%;place-items:center;width:1.5rem;height:1.5rem;padding:0;transition:opacity .15s;display:grid;position:absolute;top:.35rem;right:.35rem;box-shadow:0 1px 4px #3c2d1959}.continue-card:hover .continue-remove,.continue-remove:focus-visible{opacity:1}@media (hover:none){.continue-remove{opacity:.85}}.continue-card img{aspect-ratio:4/5;object-fit:cover;background:var(--paper-deep);border-radius:12px;width:100%;display:block;box-shadow:0 3px 12px #3c2d191f}.continue-name{font-family:var(--font-ui);color:var(--ink-soft);margin-top:.4rem;font-size:.85rem;font-weight:600;line-height:1.25;display:block}.catalogue--pop .continue-card{width:8.5rem}.catalogue--pop .continue-remove{width:1.75rem;height:1.75rem}.catalogue--pop .continue-card img{border-radius:18px}.catalogue--pop .continue-title{font-size:1.3rem}.shelf-view{display:none}@media (width<=640px){.shelf-view{justify-content:flex-end;gap:.45rem;margin:0 0 .9rem;display:flex}.shelf-view-btn{color:#8f877a;cursor:pointer;background:#fff;border:1px solid #3c322329;border-radius:10px;justify-content:center;align-items:center;width:2.5rem;height:2.25rem;padding:0;display:flex;box-shadow:0 2px 8px #3c2d190f}.shelf-view-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}}.shelf-meta{padding:.8rem .35rem .25rem}.shelf-title{font-family:var(--font-serif);color:#2c2620;margin:.35rem 0 .5rem;font-size:1.35rem;font-style:italic;font-weight:500;line-height:1.1}.shelf-card--pop .shelf-title{font-family:var(--font-round);font-size:1.2rem;font-style:normal;font-weight:700}.shelf-tags{font-family:var(--font-ui);color:#9a9184;align-items:center;gap:.5rem;margin:0;font-size:.8rem;font-weight:600;display:flex}.shelf-tags .lang{letter-spacing:.08em;color:#b3a992;text-transform:uppercase;margin-left:auto;font-size:.72rem}.shelf-tags .dot{opacity:.6}.offline-note{font-family:var(--font-ui);color:#8a7f6b;background:#fbf6ea;border:1px solid #3c322324;border-radius:12px;width:fit-content;margin:0 0 1.1rem;padding:.6rem 1rem;font-size:.9rem}.catalogue .home-loading{min-height:40vh}.catalogue .home-empty{color:var(--ink-soft)}.preview-overlay{z-index:60;backdrop-filter:blur(3px);font-family:var(--font-ui,"Mulish", system-ui, sans-serif);background:#1e160a8c;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.preview-card{background:#f4ecdd;border-radius:26px;width:min(940px,100%);max-height:90dvh;animation:.3s cubic-bezier(.34,1.56,.64,1) both card-pop;overflow:auto;box-shadow:0 40px 90px #140c0480}@keyframes card-pop{0%{opacity:0;transform:scale(.7)}60%{transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.preview-top{justify-content:space-between;align-items:center;padding:1.1rem 1.6rem .25rem;display:flex}.preview-back,.preview-close{cursor:pointer;color:#8a7f6b;background:0 0;border:none;padding:.25rem;font-family:inherit;font-size:.95rem}.preview-close{color:#a99c82;font-size:1.5rem;line-height:1}.preview-body{flex-wrap:wrap;gap:2rem;padding:.5rem 2.2rem 2.2rem;display:flex}.preview-cover{flex:0 0 280px;max-width:280px}.preview-cover .frame{aspect-ratio:4/5;border-radius:16px;position:relative;overflow:hidden;box-shadow:0 12px 28px #3c2d193d}.preview-cover img{object-fit:cover;width:100%;height:100%;display:block}.preview-info{flex:320px;min-width:280px}.preview-title{font-family:var(--font-serif,"Cormorant Garamond", Georgia, serif);color:#2c2620;margin:.35rem 0 .75rem;font-size:clamp(2rem,5vw,2.75rem);font-style:italic;font-weight:600;line-height:1.02}.preview-tags{color:#9a9184;align-items:center;gap:.6rem;margin:0 0 1rem;font-size:.88rem;font-weight:600;display:flex}.preview-blurb{font-family:var(--font-serif,"Cormorant Garamond", Georgia, serif);color:#4a4234;margin:0 0 1.4rem;font-size:1.3rem;line-height:1.45}.preview-controls{flex-wrap:wrap;gap:1rem;margin-bottom:1.3rem;display:flex}.narration-picker{flex-direction:column;gap:.55rem;display:flex}.narration-picker .narration-readings{margin-top:.25rem}.preview-controls:has(.narration-picker){margin-bottom:1.75rem}.narration-label{letter-spacing:.12em;text-transform:uppercase;color:#a99c82;font-size:.68rem;font-weight:700}.narration-flags{flex-wrap:wrap;gap:.55rem;display:flex}.narration-flag{cursor:pointer;opacity:.72;outline-offset:2px;-webkit-tap-highlight-color:transparent;background:#fbf6ea;border:1px solid #3c322340;border-radius:2px;outline:2px solid #0000;width:3.1rem;height:2.1rem;padding:0;transition:opacity .15s,transform .15s,outline-color .15s;overflow:hidden}.narration-flag:hover{opacity:.95}.narration-flag[aria-checked=true]{opacity:1;border-color:var(--accent);outline-color:var(--accent);transform:scale(1.06)}.narration-flag:disabled{cursor:default;opacity:1;outline-color:#0000;transform:none}.narration-flag:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.narration-flag .flag{width:100%;height:100%;display:block}.flag--text{color:#4a4234;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.narration-readings{flex-wrap:wrap;gap:.45rem;display:flex}.narration-reading{color:#4a4234;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fbf6ea;border:1px solid #3c322340;border-radius:999px;padding:.38rem .85rem;font-family:inherit;font-size:.86rem}.narration-reading[aria-checked=true]{background:var(--accent);border-color:var(--accent);color:#fff}.narration-reading:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.narration-flag{transition:none}.narration-flag[aria-checked=true]{transform:none}}.preview-actions{flex-wrap:wrap;align-items:center;gap:.9rem;display:flex}.preview-play{background:var(--accent);color:#fff;font-family:var(--font-round,"Baloo 2", sans-serif);border-radius:999px;padding:.85rem 2.1rem;font-size:1.1rem;font-weight:700;text-decoration:none;display:inline-block;box-shadow:0 10px 22px -6px #3c2d1980}.preview-play--restart{color:#5b5348;box-shadow:none;background:#fbf6ea;border:1px solid #3c322340;padding:.75rem 1.35rem;font-size:.95rem;font-weight:600}.preview-fav{cursor:pointer;color:#5b5348;background:#fbf6ea;border:1px solid #3c322340;border-radius:999px;align-items:center;gap:.55rem;padding:.75rem 1.35rem;font-family:inherit;font-size:.95rem;font-weight:600;display:flex}.preview-fav svg{fill:none;stroke:#8f877a}.preview-fav[aria-pressed=true] svg{fill:var(--accent);stroke:var(--accent)}.preview-download[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.preview-download[aria-pressed=true] svg{fill:none}.preview-download:disabled{opacity:.65;cursor:default}.preview-top-right{align-items:center;gap:.6rem;display:flex}.preview-colour{color:#5b5348;background:#fbf6ea;border:1px solid #3c322340;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .9rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.preview-colour svg{fill:none;stroke:#8f877a;width:16px;height:16px}.preview-warnings{color:#8a7f6b;border-top:1px solid #3c322324;margin-top:1.5rem;padding-top:1rem;font-size:.85rem}.preview-warnings ul{margin:.35rem 0 0;padding-left:1.1rem}.preview-credit{color:#b3a992;margin:.9rem 0 0;font-size:.72rem}@media (width<=640px){.shelf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem .9rem}.shelf-grid--single{grid-template-columns:1fr;max-width:26rem;margin:0 auto}.shelf-tags{flex-wrap:wrap}.shelf-tags span{white-space:nowrap}.preview-overlay{padding:.5rem}.preview-body{padding:.5rem 1.25rem 1.5rem}.preview-cover{flex-basis:100%;max-width:240px;margin:0 auto}}@media (prefers-reduced-motion:reduce){.lore-owl,.new-badge,.preview-card{animation:none}.shelf-card,.shelf-card--pop{transition:none}.shelf-card:hover,.shelf-card--pop:hover,.shelf-card:active,.shelf-card--pop:active{transform:none}}@font-face{font-family:OpenDyslexic;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/opendyslexic/OpenDyslexic-Regular.woff2)format("woff2")}@font-face{font-family:OpenDyslexic;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/opendyslexic/OpenDyslexic-Bold.woff2)format("woff2")}.billing{margin-top:2.5rem}.billing h2{font-family:var(--font-display);margin:0 0 .5rem;font-size:1.15rem}.billing-state{color:var(--ink-soft);max-width:var(--measure);margin:0 0 .9rem}.billing-actions{flex-wrap:wrap;gap:.6rem;margin-bottom:1.5rem;display:flex}.billing-buy{color:var(--paper);background:var(--ink);border:1px solid var(--ink);cursor:pointer;border-radius:10px;padding:.5rem 1.1rem;font-family:inherit;font-size:.95rem}.billing-buy:hover{background:var(--ink-soft);border-color:var(--ink-soft)}.billing-manage,.billing-retry{color:var(--ink-soft);border:0;border-bottom:1px solid var(--rule);cursor:pointer;background:0 0;padding:0 0 1px;font-family:inherit;font-size:.85rem}.billing-manage:hover,.billing-retry:hover{color:var(--ink);border-bottom-color:var(--accent)}.billing-error{color:var(--accent);max-width:var(--measure);margin:0 0 1.25rem;font-size:.9rem}@media (width<=34rem){.billing-actions{flex-direction:column;align-items:stretch}}
