@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(./fredoka-latin-500-normal-B0JifZgm.woff2)format("woff2"),url(./fredoka-latin-500-normal-BL692wg7.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(./fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(./fredoka-latin-600-normal-CcrEjrB4.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(./fredoka-latin-700-normal-BOIZVyIN.woff2)format("woff2"),url(./fredoka-latin-700-normal-C8FeHd3X.woff)format("woff")}:root{--ink:#5a382c;--ink-soft:#7c5848;--paper:#fff6e8;--sun:#ffd56a;--coral:#f27d72;--leaf:#5eae52;--sky:#8ecdf4;--deep:#e8893a;--card:#fffdf8;--shadow:#5a382c;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);color:var(--ink);background:var(--paper);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;text-rendering:optimizelegibility;font-family:Fredoka,Avenir Next Rounded,Trebuchet MS,Segoe UI,sans-serif;font-weight:500;line-height:1.25}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}button,input{font:inherit;color:inherit}button{touch-action:manipulation}h1,h2,h3,p{margin:0}:focus-visible{outline-offset:3px;outline:4px solid #1f8aab}.shell{height:100dvh;overflow:hidden}.toy,.dock button,.portal,.icon-btn,.filters button,.choice-row button,.levels button,.toggle,.sticker,.play-big,.hold{appearance:none;border:3px solid var(--ink);background:var(--card);color:var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:22px;font-weight:600}.toy:active,.dock button:active,.portal:active,.icon-btn:active,.filters button:active,.play-big:active,.sticker:active,.toggle:active{box-shadow:0 2px 0 var(--ink);transform:translateY(3px)}.home{height:100%;padding:calc(12px + var(--safe-top)) 14px calc(14px + var(--safe-bottom));background:radial-gradient(circle at 80% 0,#ffe08a 0 70px,#0000 72px),linear-gradient(#b9e4fb 0%,#fff6e8 42%,#d7f0b8 100%);grid-template-rows:auto auto 1fr auto;gap:10px;display:grid;position:relative}.home h1{text-align:center;color:#e36b3a;text-wrap:balance;padding:0 64px;font-size:clamp(32px,8vw,64px);font-weight:700;line-height:.95}.hello{justify-content:center;align-items:center;gap:8px;display:flex}.pip-btn{width:104px;min-width:72px;height:104px;min-height:72px;box-shadow:none;background:0 0;border:0;padding:0}.pip{width:100%;height:100%;display:block}.bubble{border:3px solid var(--ink);background:#fff;border-radius:22px 22px 22px 8px;padding:10px 14px;font-size:clamp(22px,4vw,32px);font-weight:700;box-shadow:0 4px #5a382c26}.portals{grid-template-columns:1fr 1fr;gap:12px;min-height:0;display:grid}.portal{flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:128px;padding:8px;display:flex;overflow:hidden}.portal-farm{background:#e7f6c9}.portal-zoo{background:#ffe8c2}.portal-jungle{background:#cfeedd}.portal-ocean{background:#d5f4ff}.portal-scene{width:72px;height:58px}.portal-scene svg{width:100%;height:100%}.portal-name{font-size:clamp(18px,3vw,26px);font-weight:700}.dots{flex-wrap:wrap;justify-content:center;gap:3px;max-width:140px;display:flex}.dots i{background:#5a382c33;border-radius:99px;width:8px;height:8px;display:block}.dots i.on{background:var(--deep)}.book-btn{justify-content:center;align-items:center;gap:10px;min-height:72px;font-size:22px;display:flex}.book-btn svg{width:42px;height:42px}.hold{top:calc(8px + var(--safe-top));z-index:5;border-radius:50%;place-items:center;width:72px;height:72px;padding:0;display:grid;position:absolute;right:8px}.hold span{margin-top:28px;font-size:10px;font-weight:700}.hold .ring{width:calc(100% - 8px);height:calc(100% - 8px);position:absolute;inset:4px}.play{background:var(--paper);grid-template-rows:auto 1fr auto;height:100%;display:grid}.topbar{padding:calc(8px + var(--safe-top)) 10px 8px;z-index:4;grid-template-columns:72px 1fr 72px;align-items:center;gap:8px;display:grid}.topbar h2{text-align:center;font-size:clamp(22px,4vw,34px);font-weight:700}.icon-btn{place-items:center;width:68px;min-width:64px;height:68px;min-height:64px;padding:6px;display:grid;position:relative}.icon-btn svg{width:42px;height:42px}.icon-btn em{background:var(--sun);border-radius:99px;min-width:20px;padding:0 4px;font-size:14px;font-style:normal;position:absolute;bottom:2px;right:4px}.stage{min-height:0;position:relative;overflow:hidden}.dock{padding:8px 8px calc(8px + var(--safe-bottom));background:#fff6e8f0;grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.dock button{flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:72px;padding:4px;font-size:13px;display:flex}.dock button svg{width:36px;height:36px}.dock button[aria-pressed=true]{background:var(--sun)}.backdrop,.sky,.ground{position:absolute;inset:0}.ground{top:46%}.backdrop-farm .sky{background:linear-gradient(#8ecdf4,#e7f7ff)}.backdrop-farm .ground{background:radial-gradient(120% 80% at 50% 0,#c6ee96,#67b85a);border-radius:50% 50% 0 0}.backdrop-zoo .sky{background:linear-gradient(#b7e6ff,#fff4d2)}.backdrop-zoo .ground{background:linear-gradient(#f3d7a4,#e2b56a);border-radius:40% 40% 0 0}.backdrop-jungle .sky{background:linear-gradient(#8fcb9a,#e5f8cf)}.backdrop-jungle .ground{background:linear-gradient(#3f8f55,#245c38)}.backdrop-ocean .sky{background:linear-gradient(#7ed0ea,#d8f6ff 55%,#9fd7ef)}.backdrop-ocean .ground{background:linear-gradient(#f6d7a8,#e7b97a);border-radius:46% 46% 0 0;top:72%}.decor{pointer-events:none;z-index:0;position:absolute}.decor.barn{width:38%;bottom:16%;right:2%}.decor.arch{width:42%;top:8%;left:29%}.decor.leaf{width:34%}.decor.leaf.left{top:0;left:-4%}.decor.leaf.right{top:8%;right:-6%;transform:scaleX(-1)}.decor.seaweed{width:70px;bottom:8%}.decor.seaweed.left{left:4%}.decor.seaweed.right{right:6%}.decor svg,.hotspot svg,.hide-spot svg{width:100%;height:auto;display:block}.fence{pointer-events:none;background:linear-gradient(#e2b15a,#e2b15a) 0 0/100% 7px no-repeat,repeating-linear-gradient(90deg,#c4874f 0 7px,#0000 7px 36px);height:28px;position:absolute;bottom:30%;left:4%;right:6%}.rays{pointer-events:none;background:repeating-linear-gradient(100deg,#ffffff2e 0 18px,#0000 18px 46px);position:absolute;inset:0 10% 40%}.hotspot{z-index:1;min-width:64px;min-height:64px;box-shadow:none;background:0 0;border:0;padding:0;position:absolute;transform:translate(-50%,-50%)}.meet-layer,.sing-layer,.count-layer,.hide-layer{z-index:2;position:absolute;inset:0}.meet-layer{pointer-events:none;flex-wrap:wrap;place-content:center;gap:2px 6px;padding:16% 8px 12%;display:flex}.actor{width:clamp(76px,21vw,132px);min-width:68px;min-height:68px;box-shadow:none;pointer-events:auto;background:0 0;border:0;padding:0}.actor .bobber{transform-origin:50% 100%;display:block}.critter{width:100%;height:auto;display:block;overflow:visible}.fact-banner{z-index:4;border:3px solid var(--ink);background:#fffdf8f0;border-radius:20px;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;padding:8px 12px;display:grid;position:absolute;bottom:86px;left:10px;right:10px}.fact-banner strong{font-size:22px}.fact-banner span{color:#e36b3a;font-weight:700}.fact-banner p{font-size:15px}.pip-float{z-index:5;width:78px;position:absolute;bottom:4px;left:4px}.pip-float .pip-btn{width:78px;height:78px}.toast{z-index:6;border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:4px 14px 4px 4px;font-weight:700;display:flex;position:absolute;bottom:10px;left:88px}.toast .mini{align-items:center;gap:6px;display:flex}.toast .critter{width:54px}.sing-layer{pointer-events:none;grid-template-rows:auto auto auto 1fr;padding:8px 10px 4px;display:grid}.sing-layer>*{pointer-events:auto}.song-title{text-align:center;color:var(--ink-soft);font-weight:700}.lyric-line{text-align:center;min-height:3.2em;font-size:clamp(28px,6vw,52px);font-weight:700;line-height:1.15}.lyric-line span{border-radius:12px;margin:0 .12em;padding:0 .12em;display:inline-block}.lyric-line .sung{color:#c4483a}.lyric-line .now{background:var(--sun)}.play-big{justify-self:center;place-items:center;width:88px;height:72px;padding:6px;display:grid}.play-big svg{width:46px;height:46px}.pause-icon{background:linear-gradient(90deg, var(--ink) 0 8px, transparent 8px 20px, var(--ink) 20px);width:28px;height:28px}.dancers{scroll-snap-type:x mandatory;align-items:flex-end;gap:6px;padding:4px 4px 8px;display:flex;overflow-x:auto}.dancers .actor{scroll-snap-align:center;flex:none;width:84px}.dancers .actor.star{width:112px}.actor.star .bobber{filter:drop-shadow(0 0 #ffd56a)}.actor.star{background:radial-gradient(circle,#ffd56ae6,#0000 70%);border-radius:40%}.actor.queued{border-radius:30%;outline:4px solid #f27d72}.count-layer{grid-template-rows:auto 1fr;gap:8px;padding:8px;display:grid}.prompt-card{border:3px solid var(--ink);z-index:3;background:#fffdf8eb;border-radius:22px;grid-template-columns:84px auto 1fr auto;align-items:center;gap:8px;padding:6px;display:grid;position:relative}.prompt-art{width:84px}.prompt-num{font-size:48px;font-weight:700;line-height:.9}.prompt-of{color:var(--ink-soft);font-size:14px}.stars{flex-wrap:wrap;gap:3px;display:flex}.stars i{clip-path:polygon(50% 0,61% 35%,100% 38%,70% 59%,79% 100%,50% 75%,21% 100%,30% 59%,0 38%,39% 35%);background:#5a382c26;width:12px;height:12px}.stars i.on{background:#f2c14b}.listen,.more{min-width:84px;min-height:64px;padding:8px 12px;font-size:18px}.count-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));align-content:start;gap:8px;padding-bottom:8px;display:grid;overflow:auto}.count-animal{aspect-ratio:1;background:#fffdf8c7;border:3px solid #5a382c47;border-radius:20px;min-height:68px;padding:2px}.count-animal.found{background:#ffe8a3}.hide-layer{pointer-events:none}.hide-spot,.listen.floating,.reveal,.hide-hint{pointer-events:auto}.hide-spot{background:0 0;border:0;width:clamp(104px,28vw,160px);min-width:96px;min-height:96px;padding:0;position:absolute;transform:translate(-50%,-50%)}.listen.floating{z-index:4;position:absolute;top:8px;right:8px}.hide-hint{text-align:center;background:#fffdf8e0;border-radius:16px;padding:8px;font-size:22px;font-weight:700;position:absolute;bottom:8px;left:12px;right:12px}.reveal{border:3px solid var(--ink);z-index:5;background:#fffdf8f0;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:12% 8% 8%}.reveal-art{width:min(220px,54vw)}.reveal p{font-size:36px;font-weight:700}.book-screen,.parent,.sheet{background:var(--paper);flex-direction:column;height:100%;display:flex;overflow:auto}.book-screen>*,.parent>*{flex-shrink:0}.filters,.choice-row{flex-wrap:wrap;gap:8px;padding:0 12px 8px;display:flex}.filters button,.choice-row button{flex:none;min-width:76px;min-height:52px;padding:8px 12px;font-size:16px}.filters .filter-farm{background:#e7f6c9}.filters .filter-zoo{background:#ffe8c2}.filters .filter-jungle{background:#d8f3e4}.filters .filter-ocean{background:#d5f4ff}.filters button.on,.choice-row button.on,.levels button.on,.toggle.on{background:var(--sun)}.filter-farm.on{background:#c6ee96}.filter-zoo.on{background:#ffe0b0}.filter-jungle.on{background:#b7e6c8}.filter-ocean.on{background:#c5ecff}.book-progress{padding:0 16px 8px}.ribbon{color:#c4483a;margin-top:8px;font-weight:700}.sticker-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;padding:4px 12px 20px;display:grid}.sticker{aspect-ratio:.9;box-shadow:0 4px 0 var(--ink);flex-direction:column;justify-content:flex-end;align-items:center;padding:6px 6px 4px;display:flex}.sticker span{min-height:1.1em;font-size:14px;font-weight:700}.sticker.locked{background:#f3ece3}.sticker.locked .critter{filter:grayscale()brightness(.85);opacity:.45}.sticker.world-farm.met{background:#f3fbe4}.sticker.world-zoo.met{background:#fff1dc}.sticker.world-jungle.met{background:#e7f8ee}.sticker.world-ocean.met{background:#e7f7ff}.empty-book{text-align:center;justify-items:center;gap:10px;padding:12px;display:grid}.empty-book p{font-size:22px;font-weight:700}.book-note,.fine,.lead{color:var(--ink-soft);font-size:15px}.book-note{padding:0 16px 24px}.count-pill{background:var(--sun);border:3px solid var(--ink);text-align:center;border-radius:999px;justify-self:center;min-width:48px;padding:6px;font-weight:700}.parent-body{gap:18px;padding:8px 16px 32px;display:grid}.parent section{gap:8px;display:grid}.parent h3{font-size:22px}.toggles,.levels{gap:8px;display:grid}.toggle,.levels button{text-align:left;justify-content:space-between;align-items:center;gap:8px;min-height:64px;padding:10px 14px;display:flex}.levels button{flex-direction:column;align-items:flex-start}.levels button span,.confirm p{font-weight:500}.confirm{gap:8px;display:grid}.danger{background:#ffd2cc}.tiny{min-height:56px;padding:8px 12px}.lead{font-size:17px}.celebrate{z-index:8;background:#5a382c47;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.celebrate-card{border:3px solid var(--ink);width:min(420px,100%);box-shadow:0 8px 0 var(--ink);text-align:center;background:#fffdf8;border-radius:28px;justify-items:center;gap:8px;padding:12px 16px 18px;display:grid}.celebrate-card .pip{width:140px;height:140px}.celebrate-card strong{font-size:32px}.celebrate-card .toy{pointer-events:none;padding:8px 18px}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti i{border-radius:4px;width:12px;height:18px;animation:1.2s ease-in forwards fall;position:absolute;top:-12px}.crash{text-align:center;place-items:center;gap:12px;min-height:100%;padding:24px;display:grid}.sheet{padding-top:12px}.sheet h1{text-align:center;padding:12px}.bobber{animation:3.4s ease-in-out infinite bob}.meet-layer .actor:nth-child(2n) .bobber{animation-delay:-1.2s}.bobber.hop{animation:.5s hop}.count-animal.wiggle{animation:.45s wiggle}.hide-spot.wiggle,.hide-spot.rustle{animation:.55s wiggle-spot}.hide-spot.rustle{animation-iteration-count:2}.is-playing .bobber,.dancing .bobber{animation:dance var(--beat,.58s) ease-in-out infinite}.dancers .actor:nth-child(odd) .bobber{animation-delay:calc(var(--beat,.58s) * -.5)}.pulse{animation:1.4s ease-in-out infinite pulse}.hotspot.pop span{animation:.4s pop}.mood-wave .arm.right{transform-origin:138px 128px;animation:.9s ease-in-out infinite wave}.decor.leaf{animation:5s ease-in-out infinite sway}@keyframes bob{50%{transform:translateY(-5px)}}@keyframes hop{0%{transform:translateY(0)scale(1)}40%{transform:translateY(-16px)scale(1.06)}to{transform:translateY(0)scale(1)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}@keyframes wiggle-spot{0%,to{transform:translate(-50%,-50%)rotate(0)}25%{transform:translate(-50%,-50%)rotate(-8deg)}75%{transform:translate(-50%,-50%)rotate(8deg)}}@keyframes dance{0%,to{transform:translateY(0)rotate(0)}35%{transform:translateY(-12px)rotate(-4deg)}70%{transform:translateY(0)rotate(3deg)}}@keyframes pulse{50%{transform:scale(1.06)}}@keyframes pop{40%{transform:scale(1.12)}}@keyframes wave{50%{transform:rotate(-28deg)}}@keyframes sway{50%{transform:rotate(3deg)}}@keyframes fall{to{opacity:.3;transform:translateY(100dvh)rotate(180deg)}}@media (orientation:landscape) and (height<=520px){.home{grid-template-rows:auto 1fr auto;grid-template-columns:220px 1fr}.home h1{grid-column:1/-1;padding-top:8px}.hello{flex-direction:column}.portals{grid-template-columns:repeat(4,1fr)}.play{grid-template-rows:auto 1fr;grid-template-columns:1fr 96px}.dock{grid-area:1/2/-1;grid-template-rows:repeat(5,1fr);grid-template-columns:1fr;width:96px}.dock button span{font-size:11px}.stage{grid-area:2/1}.topbar{grid-column:1}.fact-banner{grid-template-columns:auto auto}.fact-banner p{display:none}}@media (width>=900px){.home{padding-left:8vw;padding-right:8vw}.portals{gap:18px}.actor{width:clamp(96px,12vw,150px)}}.reduce-motion .bobber,.reduce-motion .pulse,.reduce-motion .mood-wave .arm.right,.reduce-motion .decor.leaf,.reduce-motion .confetti i,.reduce-motion .hotspot.pop span{animation:none!important}.reduce-motion .lyric-line .now{outline:3px solid var(--ink)}@media (prefers-reduced-motion:reduce){.bobber,.pulse,.mood-wave .arm.right,.decor.leaf,.confetti i{animation:none!important}}
