.animal-portrait{--animal-color:#f4a261;--animal-accent:#e76f51;--animal-ink:#203040;--animal-cream:#fff9e8;--animal-sky:#ddf4ff;--animal-sunshine:#ffd55a;--animal-soft:color-mix(in srgb, var(--animal-color) 42%, white);--animal-accent-soft:color-mix(in srgb, var(--animal-accent) 45%, white);aspect-ratio:6/5;pointer-events:none;-webkit-user-select:none;user-select:none;inline-size:min(100%,22rem);line-height:0;display:inline-grid}.animal-portrait__image-layer,.animal-portrait__svg{grid-area:1/1;block-size:100%;inline-size:100%;display:block}.animal-portrait__svg{opacity:1;transition:opacity .18s ease-out;overflow:visible}.animal-portrait__image-layer{z-index:1;border-radius:46% 46% 18% 18%/40% 40% 15% 15%;place-items:center;display:grid;overflow:hidden;-webkit-mask-image:radial-gradient(125% 125% at 50% 42%,#000 70%,#0000 98%);mask-image:radial-gradient(125% 125% at 50% 42%,#000 70%,#0000 98%)}.animal-portrait__image-character{object-fit:contain;object-position:center;opacity:0;filter:drop-shadow(0 5px 3px #20304024);transform-origin:bottom;block-size:100%;inline-size:100%;transition:opacity .18s ease-out;display:block}.animal-portrait--image-loaded .animal-portrait__svg{opacity:0}.animal-portrait--image-loaded .animal-portrait__image-character{opacity:1}.animal-portrait--image-failed .animal-portrait__image-layer{display:none}.animal-portrait__character,.animal-portrait__image-character,.animal-portrait__wave-part,.animal-portrait__halo,.animal-portrait__splash-drops{transform-box:fill-box;transform-origin:50%}.animal-portrait__character{filter:drop-shadow(0 3px 1px #2030401a);transform-origin:bottom}.animal-portrait__halo>circle:first-child{fill:color-mix(in srgb, var(--animal-color) 13%, var(--animal-cream));stroke:color-mix(in srgb, var(--animal-accent) 25%, transparent);stroke-width:2px}.animal-portrait__halo>:not(:first-child){fill:var(--animal-accent-soft);opacity:.8;stroke:none}.animal-portrait__shadow{fill:#20304021}.animal-portrait__body,.animal-portrait__head,.animal-portrait__hump,.animal-portrait__marine-body,.animal-portrait__jelly-body,.animal-portrait__shell,.animal-portrait__insect-body>ellipse,.animal-portrait__primate-arms circle{fill:var(--animal-color);stroke:var(--animal-ink);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.animal-portrait__hump{stroke-width:2.5px}.animal-portrait__neck{fill:none;stroke:var(--animal-color);stroke-linecap:round;stroke-width:24px}.animal-portrait__mane circle{fill:var(--animal-accent);stroke:var(--animal-ink);stroke-width:2.5px}.animal-portrait__mane circle:not(:first-child){stroke-width:2px}.animal-portrait__crest-mane{fill:var(--animal-accent);stroke:var(--animal-ink);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px}.animal-portrait__ears>:not(.animal-portrait__ear-inner){fill:var(--animal-color);stroke:var(--animal-ink);stroke-linejoin:round;stroke-width:3px}.animal-portrait__ear-inner{fill:var(--animal-accent-soft);stroke:none}.animal-portrait__antlers path{fill:none;stroke:var(--animal-accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:6px}.animal-portrait__horns path,.animal-portrait__single-horn,.animal-portrait__narwhal-horn{fill:var(--animal-sunshine);stroke:var(--animal-ink);stroke-linejoin:round;stroke-width:2.5px}.animal-portrait__single-horn,.animal-portrait__narwhal-horn{fill:color-mix(in srgb, var(--animal-sunshine) 70%, #f2c7ff)}.animal-portrait__muzzle,.animal-portrait__primate-face-patch,.animal-portrait__primate-belly{fill:var(--animal-soft);stroke:color-mix(in srgb, var(--animal-ink) 35%, transparent);stroke-width:1.5px}.animal-portrait__eyes ellipse,.animal-portrait__eyes circle:not(.animal-portrait__pupil,.animal-portrait__eye-shine),.animal-portrait__eye{fill:var(--animal-cream);stroke:var(--animal-ink);stroke-width:1.8px}.animal-portrait__pupil{fill:var(--animal-ink);stroke:none}.animal-portrait__eye-shine{fill:#fff;stroke:none}.animal-portrait__nose{fill:var(--animal-ink);stroke:none}.animal-portrait__smile,.animal-portrait__snout-line{fill:none;stroke:var(--animal-ink);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.3px}.animal-portrait__mask ellipse{fill:var(--animal-accent);opacity:.74;stroke:none}.animal-portrait__glasses ellipse,.animal-portrait__glasses path{fill:none;stroke:var(--animal-accent);stroke-width:3.5px}.animal-portrait__trunk{fill:none;stroke:var(--animal-color);stroke-linecap:round;stroke-width:12px}.animal-portrait__whiskers path{fill:none;stroke:var(--animal-ink);stroke-linecap:round;stroke-width:2px}.animal-portrait__tusks path{fill:var(--animal-cream);stroke:var(--animal-ink);stroke-linejoin:round;stroke-width:2px}.animal-portrait__tail>path:not(.animal-portrait__squirrel-tail,.animal-portrait__squirrel-tail-outline){fill:none;stroke:var(--animal-color);stroke-linecap:round;stroke-linejoin:round;stroke-width:13px}.animal-portrait__squirrel-tail-outline{fill:none;stroke:var(--animal-ink);stroke-linecap:round;stroke-width:27px}.animal-portrait__squirrel-tail{fill:none;stroke:var(--animal-accent);stroke-linecap:round;stroke-width:20px}.animal-portrait__tail>.animal-portrait__bushy-tail{stroke:var(--animal-accent);stroke-width:20px}.animal-portrait__quills path,.animal-portrait__reptile-quills{fill:var(--animal-accent-soft);stroke:var(--animal-ink);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.animal-portrait__legs>path:not(.animal-portrait__feet,.animal-portrait__hooves),.animal-portrait__bird-legs>path:not(.animal-portrait__webbed-feet),.animal-portrait__reptile-legs path{fill:none;stroke:var(--animal-color);stroke-linecap:round;stroke-linejoin:round;stroke-width:10px}.animal-portrait__feet,.animal-portrait__hooves{fill:none;stroke:var(--animal-ink);stroke-linecap:round;stroke-width:4px}.animal-portrait__stripes path,.animal-portrait__insect-stripes path,.animal-portrait__snake-stripes path{fill:none;stroke:var(--animal-accent);stroke-linecap:round;stroke-width:7px}.animal-portrait__spots circle{fill:var(--animal-accent);stroke:color-mix(in srgb, var(--animal-ink) 45%, transparent);stroke-width:1px}.animal-portrait__pouch{fill:var(--animal-soft);stroke:var(--animal-accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px}.animal-portrait__wool{fill:var(--animal-soft);stroke:var(--animal-ink);stroke-linejoin:round;stroke-width:2.5px}.animal-portrait__bamboo>path:first-child{fill:none;stroke:#4f985e;stroke-linecap:round;stroke-width:7px}.animal-portrait__bamboo>path:not(:first-child){fill:#70b86f;stroke:var(--animal-ink);stroke-linejoin:round;stroke-width:1.5px}.animal-portrait__bird-tail path,.animal-portrait__bird-tail ellipse{fill:var(--animal-accent);stroke:var(--animal-ink);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px}.animal-portrait__bird-tail ellipse:nth-child(2n){fill:var(--animal-color)}.animal-portrait__bird-legs path{stroke:var(--animal-ink);stroke-width:4px}.animal-portrait__bird-legs--orange path:not(.animal-portrait__webbed-feet){stroke:#ee8b38}.animal-portrait__webbed-feet{fill:var(--animal-sunshine);stroke:var(--animal-ink);stroke-linejoin:round;stroke-width:2.5px}.animal-portrait__bird-wings path:not(.animal-portrait__wing-line){fill:var(--animal-accent-soft);stroke:var(--animal-ink);stroke-linejoin:round;stroke-width:2.5px}.animal-portrait__wing-line{fill:none;stroke:var(--animal-accent);stroke-linecap:round;stroke-width:3px}.animal-portrait__beak{fill:var(--animal-sunshine);stroke:var(--animal-ink);stroke-linejoin:round;stroke-width:2.2px}.animal-portrait__head--white,.animal-portrait__bird-belly{fill:var(--animal-cream);stroke:var(--animal-ink);stroke-width:2.5px}.animal-portrait__bird-belly{stroke:color-mix(in srgb, var(--animal-ink) 35%, transparent);stroke-width:1.5px}.animal-portrait__comb,.animal-portrait__wattle{fill:#ef6470;stroke:var(--animal-ink);stroke-linejoin:round;stroke-width:2px}.animal-portrait__head-plume path,.animal-portrait__ear-tufts path{fill:var(--animal-accent);stroke:var(--animal-ink);stroke-linejoin:round;stroke-width:2.5px}.animal-portrait__fish-tail path,.animal-portrait__marine-tail path{fill:var(--animal-accent);stroke:var(--animal-ink);stroke-linejoin:round;stroke-width:3px}.animal-portrait__tail-line{stroke-linecap:round;fill:none!important;stroke:var(--animal-ink)!important;stroke-width:2px!important}.animal-portrait__fins path{fill:var(--animal-accent-soft);stroke:var(--animal-ink);stroke-linejoin:round;stroke-width:2.5px}.animal-portrait__bubbles circle{fill:color-mix(in srgb, var(--animal-sky) 55%, transparent);stroke:color-mix(in srgb, var(--animal-accent) 62%, var(--animal-ink));stroke-width:2px}.animal-portrait__tentacles path{fill:none;stroke:var(--animal-accent);stroke-linecap:round;stroke-width:10px}.animal-portrait__suckers circle{fill:var(--animal-cream);stroke:var(--animal-ink);stroke-width:1px}.animal-portrait__jelly-body{fill:color-mix(in srgb, var(--animal-color) 74%, white)}.animal-portrait__snout{fill:var(--animal-color);stroke:var(--animal-ink);stroke-linejoin:round;stroke-width:3px}.animal-portrait__marine-tusks{transform:translate(0 4px)}.animal-portrait__otter-tail{fill:none;stroke:var(--animal-accent);stroke-linecap:round;stroke-width:16px}.animal-portrait__otter-paws path{fill:none;stroke:var(--animal-color);stroke-linecap:round;stroke-width:12px}.animal-portrait__blowhole path{fill:none;stroke:#65c9e8;stroke-linecap:round;stroke-width:4px}.animal-portrait__blowhole circle{fill:var(--animal-ink);stroke:none}.animal-portrait__insect-legs path{fill:none;stroke:var(--animal-ink);stroke-linecap:round;stroke-width:4px}.animal-portrait__insect-wings path,.animal-portrait__insect-wings ellipse{fill:color-mix(in srgb, var(--animal-accent-soft) 74%, transparent);stroke:var(--animal-ink);stroke-linejoin:round;stroke-width:2.5px}.animal-portrait__insect-wings--butterfly path:first-child{fill:color-mix(in srgb, var(--animal-color) 68%, white)}.animal-portrait__insect-wings--butterfly path:nth-child(2){fill:color-mix(in srgb, var(--animal-accent) 66%, white)}.animal-portrait__insect-body>.animal-portrait__insect-belly{fill:var(--animal-accent-soft);stroke-width:2px}.animal-portrait__antennae path{fill:none;stroke:var(--animal-ink);stroke-linecap:round;stroke-width:3px}.animal-portrait__antennae circle{fill:var(--animal-accent);stroke:var(--animal-ink);stroke-width:2px}.animal-portrait__stinger{fill:var(--animal-sunshine);stroke:var(--animal-ink);stroke-linejoin:round;stroke-width:2.5px}.animal-portrait__turtle-feet path{fill:var(--animal-color);stroke:var(--animal-ink);stroke-linejoin:round;stroke-width:3px}path.animal-portrait__tail{fill:var(--animal-accent);stroke:var(--animal-ink);stroke-linejoin:round;stroke-width:2.5px}.animal-portrait__shell{fill:var(--animal-accent-soft)}.animal-portrait__shell-panel{fill:none;stroke:var(--animal-accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.animal-portrait__snake-body{fill:none;stroke:var(--animal-color);stroke-linecap:round;stroke-linejoin:round;stroke-width:25px}.animal-portrait__tongue{fill:none;stroke:#ef6079;stroke-linecap:round;stroke-width:3px}.animal-portrait__frog-legs>path:first-child,.animal-portrait__frog-legs>path:nth-child(2){fill:var(--animal-color);stroke:var(--animal-ink);stroke-linejoin:round;stroke-width:3px}.animal-portrait__frog-eyes>circle:not(.animal-portrait__pupil,.animal-portrait__eye-shine){fill:var(--animal-cream);stroke:var(--animal-ink);stroke-width:2.5px}.animal-portrait__frog-smile{fill:none;stroke:var(--animal-ink);stroke-linecap:round;stroke-width:3px}.animal-portrait__teeth path{fill:var(--animal-cream);stroke:var(--animal-ink);stroke-linejoin:round;stroke-width:1.5px}.animal-portrait__reptile-tail{fill:none;stroke:var(--animal-color);stroke-linecap:round;stroke-width:14px}.animal-portrait__primate-tail{fill:none;stroke:var(--animal-color);stroke-linecap:round;stroke-width:12px}.animal-portrait__primate-belly{stroke-width:2px}.animal-portrait__primate-arms path{fill:none;stroke:var(--animal-color);stroke-linecap:round;stroke-width:17px}.animal-portrait__fantasy-tail path:first-child{fill:var(--animal-accent-soft);stroke:var(--animal-ink);stroke-linejoin:round;stroke-width:3px}.animal-portrait__fantasy-tail-shine{stroke-linecap:round;fill:none!important;stroke:var(--animal-cream)!important;stroke-width:4px!important}.animal-portrait__sparkles path{fill:var(--animal-sunshine);stroke:var(--animal-ink);stroke-linejoin:round;stroke-width:1.8px}.animal-portrait__splash-drops{fill:#65c9e8;opacity:0;transform:scale(.7)}.animal-portrait--idle:not(.animal-portrait--active,.animal-portrait--reduced-motion) :is(.animal-portrait__character,.animal-portrait__image-character){animation:4.6s ease-in-out infinite animal-portrait-breathe}.animal-portrait--idle:not(.animal-portrait--active,.animal-portrait--reduced-motion) .animal-portrait__eyes{transform-box:fill-box;transform-origin:50%;animation:6.2s ease-in-out infinite animal-portrait-blink}.animal-portrait--idle:not(.animal-portrait--active,.animal-portrait--reduced-motion) .animal-portrait__wave-part{animation:9s ease-in-out infinite animal-portrait-idle-twitch}@keyframes animal-portrait-breathe{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.015)}}@keyframes animal-portrait-blink{0%,91%,97%,to{transform:scaleY(1)}94%{transform:scaleY(.12)}}@keyframes animal-portrait-idle-twitch{0%,89%,to{transform:rotate(0)}92%{transform:rotate(-3deg)}96%{transform:rotate(2.5deg)}}.animal-portrait--active.animal-portrait--bounce:not(.animal-portrait--reduced-motion) :is(.animal-portrait__character,.animal-portrait__image-character){animation:.62s cubic-bezier(.22,.9,.31,1.25) both animal-portrait-bounce}.animal-portrait--active.animal-portrait--wave:not(.animal-portrait--reduced-motion) :is(.animal-portrait__character,.animal-portrait__image-character){animation:.62s ease-out both animal-portrait-bob}.animal-portrait--active.animal-portrait--wave:not(.animal-portrait--reduced-motion) .animal-portrait__wave-part{animation:.58s ease-in-out both animal-portrait-wave}.animal-portrait--active.animal-portrait--splash:not(.animal-portrait--reduced-motion) :is(.animal-portrait__character,.animal-portrait__image-character){animation:.64s cubic-bezier(.2,.8,.25,1) both animal-portrait-splash}.animal-portrait--active.animal-portrait--splash:not(.animal-portrait--reduced-motion) .animal-portrait__splash-drops{animation:.64s ease-out both animal-portrait-drops}.animal-portrait--active.animal-portrait--wiggle:not(.animal-portrait--reduced-motion) :is(.animal-portrait__character,.animal-portrait__image-character){animation:.62s ease-in-out both animal-portrait-wiggle}.animal-portrait--active.animal-portrait--image-loaded.animal-portrait--reduced-motion .animal-portrait__image-character{filter:drop-shadow(0 5px 3px #20304024) drop-shadow(0 0 10px var(--animal-accent))}.animal-portrait--active.animal-portrait--reduced-motion .animal-portrait__halo>circle:first-child{fill:color-mix(in srgb, var(--animal-color) 23%, var(--animal-cream));stroke:color-mix(in srgb, var(--animal-accent) 62%, transparent);stroke-width:4px}@keyframes animal-portrait-bounce{0%,to{transform:translateY(0)scale(1)}38%{transform:translateY(-16px)scale(1.04,.96)}64%{transform:translateY(1px)scale(.97,1.04)}}@keyframes animal-portrait-bob{0%,to{transform:translateY(0)}45%{transform:translateY(-6px)}}@keyframes animal-portrait-wave{0%,to{transform:rotate(0)}28%{transform:rotate(-11deg)}62%{transform:rotate(9deg)}}@keyframes animal-portrait-splash{0%,to{transform:translateY(0)scale(1)}42%{transform:translateY(-12px)scale(1.03)}70%{transform:translateY(2px)scale(.99)}}@keyframes animal-portrait-drops{0%{opacity:0;transform:translateY(8px)scale(.55)}32%{opacity:.9}75%{opacity:.7;transform:translateY(-8px)scale(1)}to{opacity:0;transform:translateY(-12px)scale(1.05)}}@keyframes animal-portrait-wiggle{0%,to{transform:rotate(0)scale(1)}20%{transform:rotate(-4deg)scale(1.02)}40%{transform:rotate(4deg)scale(1.02)}60%{transform:rotate(-3deg)scale(1.01)}80%{transform:rotate(2deg)scale(1.01)}}.animal-portrait__fx{z-index:2;pointer-events:none;grid-area:1/1;display:block;position:relative}.animal-portrait__fx i{opacity:0;font-size:clamp(.95rem,2.4vw,1.55rem);font-style:normal;line-height:1;position:absolute}.animal-portrait__fx i:first-child{--fx-x:-10px;top:32%;left:8%}.animal-portrait__fx i:nth-child(2){--fx-x:-4px;--fx-y:-30px;top:14%;left:24%}.animal-portrait__fx i:nth-child(3){--fx-y:-32px;top:8%;left:49%}.animal-portrait__fx i:nth-child(4){--fx-x:5px;--fx-y:-28px;top:15%;right:22%}.animal-portrait__fx i:nth-child(5){--fx-x:11px;top:33%;right:7%}.animal-portrait--active:not(.animal-portrait--reduced-motion) .animal-portrait__fx i{animation:.66s ease-out both animal-portrait-fx}.animal-portrait--active:not(.animal-portrait--reduced-motion) .animal-portrait__fx i:nth-child(2){animation-delay:70ms}.animal-portrait--active:not(.animal-portrait--reduced-motion) .animal-portrait__fx i:nth-child(3){animation-delay:.12s}.animal-portrait--active:not(.animal-portrait--reduced-motion) .animal-portrait__fx i:nth-child(4){animation-delay:40ms}.animal-portrait--active:not(.animal-portrait--reduced-motion) .animal-portrait__fx i:nth-child(5){animation-delay:95ms}.animal-portrait--bounce .animal-portrait__fx i:before,.animal-portrait--wave .animal-portrait__fx i:before{content:"♪";color:var(--animal-accent);text-shadow:0 1px #ffffffb3}.animal-portrait--bounce .animal-portrait__fx i:nth-child(2n):before,.animal-portrait--wave .animal-portrait__fx i:nth-child(2n):before{content:"♫"}.animal-portrait--wiggle .animal-portrait__fx i:before{content:"✦";color:var(--animal-sunshine);text-shadow:0 1px #20304040}.animal-portrait--splash .animal-portrait__fx i:before{content:"";background:#65c9e8;border-radius:50%/62% 62% 38% 38%;width:.55em;height:.75em;display:block;box-shadow:inset -2px -2px #ffffff73}@keyframes animal-portrait-fx{0%{opacity:0;translate:0 8px;scale:.45}30%{opacity:.95}to{opacity:0;translate:var(--fx-x,0) var(--fx-y,-26px);scale:1}}@media (prefers-reduced-motion:reduce){.animal-portrait__svg,.animal-portrait__image-character{transition:none}.animal-portrait__fx i,.animal-portrait--active .animal-portrait__character,.animal-portrait--active .animal-portrait__image-character,.animal-portrait--active .animal-portrait__wave-part,.animal-portrait--active .animal-portrait__splash-drops{animation:none!important}.animal-portrait--active .animal-portrait__halo>circle:first-child{fill:color-mix(in srgb, var(--animal-color) 23%, var(--animal-cream));stroke:color-mix(in srgb, var(--animal-accent) 62%, transparent);stroke-width:4px}}@media (forced-colors:active){.animal-portrait{--animal-color:Canvas;--animal-accent:Highlight;--animal-ink:CanvasText;--animal-cream:Canvas}.animal-portrait__character{filter:none}.animal-portrait--image-loaded .animal-portrait__image-layer{display:none}.animal-portrait--image-loaded .animal-portrait__svg{opacity:1}}.counting-scene{--count-columns:1;isolation:isolate;width:min(100%,760px);min-height:clamp(320px,58vh,570px);color:var(--ink,#203040);box-shadow:var(--shadow,0 12px 0 #20304017, 0 18px 40px #2030401f);cursor:pointer;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 14% 16%,#ffffffb8 0 7%,#0000 7.3%),radial-gradient(circle at 87% 23%,#ffffff94 0 9%,#0000 9.3%),linear-gradient(#e5f8ff 0 68%,#cceccf 68% 100%);border:4px solid #ffffffd1;border-radius:clamp(30px,7vw,58px);grid-template-rows:1fr auto auto;align-items:center;padding:clamp(70px,10vw,92px) clamp(14px,3vw,28px) clamp(18px,3vw,28px);display:grid;position:relative;overflow:hidden}.counting-scene:before{content:"";z-index:-1;background:#a9daa0;border-radius:50% 50% 0 0;height:18%;position:absolute;bottom:20%;left:-7%;right:-7%;box-shadow:0 -18px #bfe5b8}.counting-scene:after{content:"↻";color:#287153;background:#ffffffc7;border-radius:50%;place-items:center;width:42px;height:42px;font-size:1.65rem;line-height:1;display:grid;position:absolute;top:clamp(18px,3vw,26px);right:clamp(20px,4vw,34px);box-shadow:0 4px #2030401a}.counting-scene:hover{border-color:#fff}.counting-scene:active{transform:translateY(3px);box-shadow:0 8px #20304017,0 13px 26px #2030401f}.counting-scene__number{z-index:2;min-height:60px;color:var(--plum,#5c3c78);background:var(--sun,#ffd55a);border:3px solid #5c3c781f;border-radius:24px;grid-template-columns:auto auto;align-items:center;gap:10px;padding:5px 18px 5px 13px;display:grid;position:absolute;top:clamp(14px,3vw,24px);left:clamp(16px,4vw,32px);box-shadow:0 6px #d9ac35,0 10px 20px #20304021}.counting-scene__number strong{letter-spacing:-.06em;font-size:clamp(2.8rem,9vw,5.2rem);line-height:.76}.counting-scene__number small{letter-spacing:.035em;font-family:system-ui,sans-serif;font-size:clamp(.8rem,2vw,1.05rem);font-weight:850}.counting-scene__grid{z-index:1;grid-template-columns:repeat(var(--count-columns), minmax(0, 1fr));align-content:center;place-items:end center;gap:clamp(2px,1.1vw,11px);width:100%;min-height:0;display:grid;position:relative}.counting-scene__animal{width:100%;min-width:0;animation:.32s cubic-bezier(.2,.8,.25,1.2) both count-animal-arrive;animation-delay:var(--count-delay,0s);place-items:end center;display:grid}.counting-scene__animal .animal-portrait{width:100%;max-width:150px}.counting-scene__phrase{z-index:2;color:var(--leaf-dark,#287153);background:#ffffffe8;border:3px solid #3b9b7024;border-radius:999px;justify-self:center;margin-top:clamp(4px,1.2vw,12px);padding:8px 20px;font-size:clamp(1.3rem,4vw,2rem);line-height:1.05;position:relative;box-shadow:0 4px #2030401a}.counting-scene__replay-hint{z-index:2;color:#4c6673;margin-top:10px;font-family:system-ui,sans-serif;font-size:clamp(.78rem,1.8vw,.95rem);font-weight:750;position:relative}@keyframes count-animal-arrive{0%{opacity:0;transform:translateY(18px)scale(.82)}72%{opacity:1;transform:translateY(-3px)scale(1.025)}to{opacity:1;transform:translateY(0)scale(1)}}.counting-scene--reduced-motion .counting-scene__animal{animation:none}@media (width<=620px){.counting-scene{min-height:clamp(310px,57vh,510px);padding-left:9px;padding-right:9px}.counting-scene__number{border-radius:19px;min-height:52px;padding-left:10px;padding-right:13px}.counting-scene__number small{max-width:78px}.counting-scene:after{width:38px;height:38px;font-size:1.4rem}}@media (height<=540px) and (orientation:landscape){.counting-scene{border-radius:28px;height:100%;min-height:0;padding:58px 10px 10px}.counting-scene__number{min-height:42px;top:9px}.counting-scene__number strong{font-size:2.6rem}.counting-scene__phrase{padding:5px 14px;font-size:1.15rem}.counting-scene__replay-hint{display:none}}@media (prefers-reduced-motion:reduce){.counting-scene__animal{animation:none}}.number-counting-playground{width:min(100%,760px);min-height:0;position:relative}.number-counting-playground>.counting-scene{width:100%}.number-balloons{z-index:5;pointer-events:none;border-radius:clamp(27px,7vw,54px);position:absolute;inset:4px;overflow:hidden}.number-balloons__field{pointer-events:none;position:absolute;inset:clamp(70px,16%,92px) 8px clamp(58px,14%,78px)}.number-balloon{top:var(--number-balloon-top);left:var(--number-balloon-left);cursor:pointer;pointer-events:auto;background:0 0;border:0;place-items:start center;width:clamp(50px,7vw,68px);height:clamp(72px,10vw,96px);padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.number-balloon[aria-disabled=true]{cursor:default}.number-balloon__body{aspect-ratio:.79;background:radial-gradient(circle at 31% 24%, #ffffffe0 0 8%, transparent 9%), linear-gradient(145deg, color-mix(in srgb, var(--number-balloon-color) 72%, white), var(--number-balloon-color) 58%, color-mix(in srgb, var(--number-balloon-color) 82%, #203040));transform-origin:50% 92%;width:clamp(38px,5vw,54px);animation:number-balloon-float var(--number-balloon-duration) ease-in-out var(--number-balloon-delay) infinite alternate;border:2px solid #20304017;border-radius:51% 51% 47% 47%;display:block;position:relative;box-shadow:inset -6px -8px 10px #20304024,0 6px 9px #20304024}.number-balloon__shine{background:#ffffff73;border-radius:99px;width:16%;height:25%;position:absolute;top:15%;left:20%;transform:rotate(24deg)}.number-balloon__knot{border-top:8px solid var(--number-balloon-color);border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;position:absolute;top:calc(100% - 1px);left:50%;transform:translate(-50%)}.number-balloon__string{border-left:2px solid #45586394;border-radius:50%;width:11px;height:clamp(18px,3vw,28px);position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-2px)rotate(7deg)}.number-balloon__burst{opacity:0;background:repeating-conic-gradient(from 8deg, var(--number-balloon-color) 0 8deg, transparent 8deg 42deg);pointer-events:none;width:18px;height:18px;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)scale(.2);-webkit-mask-image:radial-gradient(circle,#0000 0 28%,#000 30% 70%,#0000 72%);mask-image:radial-gradient(circle,#0000 0 28%,#000 30% 70%,#0000 72%)}.number-balloon__popped-mark{opacity:0;width:30px;height:30px;color:var(--leaf-dark,#287153);pointer-events:none;background:#fffffff0;border:2px solid #3b9b702e;border-radius:50%;place-items:center;font-family:system-ui,sans-serif;font-size:1rem;font-weight:950;display:grid;position:absolute;top:26%;left:50%;transform:translate(-50%,-50%)scale(.2);box-shadow:0 4px #2030401a}.number-balloon:not(.is-popped):hover .number-balloon__body,.number-balloon:not(.is-popped):focus-visible .number-balloon__body{filter:brightness(1.08)saturate(1.08)}.number-balloon.is-popped{pointer-events:none}.number-balloon.is-popped .number-balloon__body{animation:.3s cubic-bezier(.2,.75,.25,1.2) both number-balloon-pop}.number-balloon.is-popped .number-balloon__burst{animation:.36s ease-out both number-balloon-burst}.number-balloon.is-popped .number-balloon__popped-mark{animation:.26s ease-out .28s both number-balloon-mark}.number-balloons__current-word{z-index:6;min-width:62px;min-height:42px;color:var(--leaf-dark,#287153);background:#ffffffeb;border:3px solid #3b9b7021;border-radius:18px;place-items:center;padding:5px 10px;font-family:system-ui,sans-serif;font-size:clamp(.82rem,2vw,1.05rem);font-weight:900;display:grid;position:absolute;top:clamp(14px,3vw,22px);right:clamp(65px,10vw,86px);box-shadow:0 4px #2030401a}.number-balloons__status{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes number-balloon-float{0%{transform:translate3d(var(--number-balloon-drift-start), 6px, 0) rotate(-4deg)}to{transform:translate3d(var(--number-balloon-drift), -10px, 0) rotate(4deg)}}@keyframes number-balloon-pop{0%{opacity:1;transform:scale(1)}42%{opacity:1;transform:scale(1.22)}to{opacity:0;transform:scale(.06)}}@keyframes number-balloon-burst{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)rotate(0)}35%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(3.6)rotate(28deg)}}@keyframes number-balloon-mark{to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.number-balloons--reduced-motion .number-balloon__body{animation:none;transform:none}.number-balloons--reduced-motion .number-balloon.is-popped .number-balloon__body{opacity:0;transform:scale(.06)}.number-balloons--reduced-motion .number-balloon__burst{display:none}.number-balloons--reduced-motion .number-balloon.is-popped .number-balloon__popped-mark{opacity:1;animation:none;transform:translate(-50%,-50%)scale(1)}@media (width<=620px){.number-balloons__field{inset:68px 4px 56px}.number-balloon{width:50px;height:72px}.number-balloon__body{width:38px}}@media (height<=540px) and (orientation:landscape){.number-balloons__field{top:54px;bottom:47px}.number-balloon{width:46px;height:64px}.number-balloon__body{width:34px}.number-balloon__string{height:16px}.number-balloons__current-word{min-width:56px;min-height:36px;top:7px}}@media (prefers-reduced-motion:reduce){.number-balloon__body{animation:none;transform:none}.number-balloon.is-popped .number-balloon__body{opacity:0;transform:scale(.06)}.number-balloon__burst{display:none}.number-balloon.is-popped .number-balloon__popped-mark{opacity:1;animation:none;transform:translate(-50%,-50%)scale(1)}}.parade-balloons{z-index:4;pointer-events:none;min-height:150px;position:absolute;inset:clamp(238px,27vh,300px) max(12px,3vw) clamp(155px,28vh,275px);overflow:hidden}.parade-balloon{top:var(--balloon-top);left:var(--balloon-left);cursor:pointer;pointer-events:auto;background:0 0;border:0;place-items:start center;width:clamp(52px,8vw,78px);height:clamp(84px,12vw,118px);padding:0;display:grid;position:absolute;transform:translate(-50%)}.parade-balloon__body{aspect-ratio:.79;background:radial-gradient(circle at 31% 24%, #ffffffe0 0 8%, transparent 9%), linear-gradient(145deg, color-mix(in srgb, var(--balloon-color) 72%, white), var(--balloon-color) 58%, color-mix(in srgb, var(--balloon-color) 82%, #203040));transform-origin:50% 92%;width:clamp(42px,6vw,62px);animation:parade-balloon-float var(--balloon-duration) ease-in-out var(--balloon-delay) 4 alternate both;border:2px solid #20304014;border-radius:51% 51% 47% 47%;display:block;position:relative;box-shadow:inset -7px -9px 12px #20304021,0 7px 10px #2030401f}.parade-balloon__shine{background:#ffffff73;border-radius:99px;width:16%;height:25%;position:absolute;top:15%;left:20%;transform:rotate(24deg)}.parade-balloon__knot{border-bottom:0;border-left:6px solid #0000;border-right:6px solid #0000;border-top:10px solid var(--balloon-color);width:0;height:0;position:absolute;top:calc(100% - 1px);left:50%;transform:translate(-50%)}.parade-balloon__string{border-left:2px solid #45586394;border-radius:50%;width:13px;height:clamp(24px,4vw,38px);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-2px)rotate(7deg)}.parade-balloon__burst{opacity:0;background:repeating-conic-gradient(from 8deg, var(--balloon-color) 0 8deg, transparent 8deg 42deg);pointer-events:none;width:20px;height:20px;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)scale(.2);-webkit-mask-image:radial-gradient(circle,#0000 0 28%,#000 30% 70%,#0000 72%);mask-image:radial-gradient(circle,#0000 0 28%,#000 30% 70%,#0000 72%)}.parade-balloon:not(.is-popped):hover .parade-balloon__body,.parade-balloon:not(.is-popped):focus-visible .parade-balloon__body{filter:brightness(1.08)saturate(1.08)}.parade-balloon.is-popped .parade-balloon__body{animation:.3s cubic-bezier(.2,.75,.25,1.2) both parade-balloon-pop}.parade-balloon.is-popped{pointer-events:none}.parade-balloon.is-popped .parade-balloon__burst{animation:.36s ease-out both parade-balloon-burst}.parade-balloons__status{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes parade-balloon-float{0%{transform:translate3d(var(--balloon-drift-start), 9px, 0) rotate(-4deg) scale(var(--balloon-scale))}to{transform:translate3d(var(--balloon-drift-end), -17px, 0) rotate(4deg) scale(var(--balloon-scale))}}@keyframes parade-balloon-pop{0%{opacity:1;transform:scale(var(--balloon-scale))}42%{opacity:1;transform:scale(1.22)}to{opacity:0;transform:scale(.06)}}@keyframes parade-balloon-burst{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)rotate(0)}35%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(4)rotate(28deg)}}@media (width<=620px){.parade-balloons{inset:238px 5px 155px}.parade-balloon{width:52px;height:84px}.parade-balloon__body{width:43px}}@media (height<=540px) and (orientation:landscape){.parade-balloons{inset:106px 2% 52px}.parade-balloon{width:50px;height:76px}.parade-balloon__body{width:40px}.parade-balloon__string{height:22px}}.reduce-motion .parade-balloon__body{transform:scale(var(--balloon-scale));animation:none}.reduce-motion .parade-balloon.is-popped .parade-balloon__body{opacity:0;transform:scale(.06)}.reduce-motion .parade-balloon__burst{display:none}@media (prefers-reduced-motion:reduce){.parade-balloon__body{transform:scale(var(--balloon-scale));animation:none}.parade-balloon.is-popped .parade-balloon__body{opacity:0;transform:scale(.06)}.parade-balloon__burst{display:none}}:root{color:#203040;font-synthesis:none;text-rendering:optimizelegibility;--sky:#ddf4ff;--leaf:#3b9b70;--leaf-dark:#287153;--sun:#ffd55a;--coral:#ff806e;--plum:#5c3c78;--ink:#203040;--cream:#fff9e8;--white:#fff;--shadow:0 12px 0 #20304017, 0 18px 40px #2030401f;background:#ddf4ff;font-family:Arial Rounded MT Bold,Trebuchet MS,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--sky);min-width:320px;min-height:100%}body{min-width:320px;min-height:100%;margin:0;overflow-x:hidden}button,input{font:inherit}button{color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline-offset:4px;outline:4px solid #1c75d8}button:disabled{cursor:default}.app-shell{isolation:isolate;background:radial-gradient(circle at 8% 10%,#ffffffb8 0 3.5rem,#0000 3.6rem),radial-gradient(circle at 90% 16%,#ffffff7a 0 5rem,#0000 5.1rem),linear-gradient(#dff5ff 0%,#eaf9f2 72%,#cceccf 100%);min-height:100svh;position:relative}.app-shell:before,.app-shell:after{content:"";pointer-events:none;position:fixed;inset:0}.app-shell[data-screen=gate]:before,.app-shell[data-screen=number-gate]:before{display:none}.app-shell:before{z-index:0;background-image:var(--zoo-background-image);background-position:50% 38%;background-size:cover}.app-shell:after{z-index:1;background:linear-gradient(#dff5ffd6,#eaf9f2e0 72%,#cceccfeb),radial-gradient(circle at 50% 42%,#ffffff52,#ffffff14 72%)}.app-shell>*{z-index:2;position:relative}.screen{width:min(100%,980px);min-height:100svh;padding:max(16px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));isolation:isolate;margin:0 auto;position:relative}.screen h1{letter-spacing:-.045em;text-align:center;margin:0;font-size:clamp(2rem,5.5vw,4.4rem);line-height:.98}.screen h1[tabindex="-1"]:focus{outline:none}.screen h1 strong,.screen h1 span{color:var(--plum)}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.utility-bar{--utility-button-size:54px;--utility-leading-size:81px;z-index:20;grid-template-columns:var(--utility-leading-size) minmax(0, 1fr) auto;width:100%;min-height:var(--utility-leading-size);align-items:center;gap:10px;display:grid;position:relative}.utility-center{justify-content:center;align-items:center;min-width:0;display:flex}.utility-button{width:var(--utility-button-size);height:var(--utility-button-size);color:var(--ink);cursor:pointer;background:#ffffffd1;border:2px solid #20304014;border-radius:18px;place-items:center;padding:0;transition:transform .15s,box-shadow .15s;display:grid;box-shadow:0 5px #2030401a}.utility-bar>.utility-button:first-child{width:var(--utility-leading-size);height:var(--utility-leading-size);border-radius:27px}.utility-bar>.utility-button:first-child svg{width:42px;height:42px}.utility-bar>.utility-button:last-child{justify-self:end}.site-home-link{color:var(--leaf-dark);text-decoration:none}.utility-actions,.welcome-utility-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.utility-button:hover{transform:translateY(-2px);box-shadow:0 7px #2030401a}.utility-button:active{transform:translateY(3px);box-shadow:0 2px #2030401a}.main-button{color:#fff;background:var(--leaf);min-width:min(100%,310px);min-height:68px;box-shadow:0 8px 0 var(--leaf-dark), 0 14px 28px #28715338;cursor:pointer;border:0;border-radius:24px;justify-content:center;align-items:center;gap:16px;padding:14px 24px 14px 30px;font-size:clamp(1.05rem,2.4vw,1.35rem);transition:transform .15s,box-shadow .15s;display:inline-flex}.main-button span{text-align:center;flex:1}.main-button:hover{box-shadow:0 10px 0 var(--leaf-dark), 0 16px 30px #28715342;transform:translateY(-2px)}.main-button:active{box-shadow:0 3px 0 var(--leaf-dark), 0 8px 18px #28715333;transform:translateY(5px)}.secondary-button{cursor:pointer;background:#ffffffd1;border:2px solid #2030401a;border-radius:20px;justify-content:center;align-items:center;gap:10px;min-height:58px;padding:10px 20px;display:inline-flex;box-shadow:0 5px #2030401a}.welcome-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;overflow:hidden}.sky-decoration{z-index:-2;position:absolute;inset:0;overflow:hidden}.sky-decoration:after{content:"";background:#8dce86;border-radius:50% 50% 0 0;height:36%;position:absolute;bottom:-15%;left:-10%;right:-10%;box-shadow:0 -28px #abd99c}.sky-decoration i{background:#ffffffb8;border-radius:99px;width:110px;height:34px;position:absolute}.sky-decoration i:before,.sky-decoration i:after{content:"";background:inherit;border-radius:50%;position:absolute}.sky-decoration i:before{width:52px;height:52px;bottom:0;left:15px}.sky-decoration i:after{width:62px;height:62px;bottom:0;right:10px}.sky-decoration i:first-child{animation:30s ease-in-out infinite alternate cloud-drift;top:10%;left:5%;transform:scale(.75)}.sky-decoration i:nth-child(2){animation:38s ease-in-out infinite alternate-reverse cloud-drift;top:14%;right:2%;transform:scale(1.1)}.sky-decoration i:nth-child(3){opacity:.35;animation:26s ease-in-out infinite alternate cloud-drift;top:35%;left:50%;transform:scale(.55)}@keyframes cloud-drift{0%{translate:0}to{translate:20px}}.brand-pill{min-height:44px;color:var(--leaf-dark);letter-spacing:.03em;background:#ffffffb8;border:2px solid #3b9b702e;border-radius:99px;align-items:center;gap:8px;margin-bottom:20px;padding:7px 16px;font-size:.96rem;display:inline-flex}.brand-pill svg{width:23px;height:23px}.welcome-screen h1{z-index:3;text-shadow:0 4px #ffffffb3;max-width:780px;margin-bottom:14px;font-size:clamp(2.6rem,7.5vw,5.8rem);position:relative}.welcome-copy{z-index:3;color:#486271;max-width:520px;margin:0 0 22px;font-family:system-ui,sans-serif;font-weight:650;line-height:1.5;position:relative}.welcome-animals{z-index:-1;pointer-events:none;height:38%;position:absolute;inset:auto 0 5%}.welcome-animal{opacity:.96;width:min(38vw,340px);position:absolute}.welcome-lion{animation:11s ease-in-out infinite welcome-sway;bottom:0;left:-3%;transform:rotate(5deg)}.welcome-elephant{animation:13s ease-in-out 5s infinite welcome-sway;bottom:-1%;right:-4%;transform:rotate(-5deg)}@keyframes welcome-sway{0%,86%,to{translate:0}90%{translate:0 -8px}95%{translate:0 2px}}.welcome-animal .animal-portrait__image-layer{border-radius:50%;box-shadow:0 0 0 6px #ffffffa6,0 12px 26px #20304029;-webkit-mask-image:none;mask-image:none}.welcome-actions{z-index:4;flex-direction:column;align-items:stretch;gap:16px;width:min(100%,330px);display:flex;position:relative}.mode-choice-grid{z-index:4;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,2vw,18px);width:min(100%,690px);margin-bottom:14px;display:grid;position:relative}.mode-card{min-width:0;min-height:116px;color:var(--ink);text-align:left;cursor:pointer;border:4px solid #ffffffc7;border-radius:30px;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(10px,2vw,16px);padding:15px clamp(14px,2.5vw,22px);transition:transform .15s,box-shadow .15s;display:grid;box-shadow:0 9px #2030401f,0 16px 32px #20304021}.mode-card:hover{transform:translateY(-3px);box-shadow:0 12px #2030401f,0 20px 34px #20304026}.mode-card:active{transform:translateY(5px);box-shadow:0 4px #2030401f,0 9px 18px #2030401f}.mode-card-letters{background:linear-gradient(145deg,#fff8d7,#ffe5c6)}.mode-card-numbers{background:linear-gradient(145deg,#e5f8ff,#dff4e4)}.mode-card-glyph{min-width:76px;min-height:68px;color:var(--plum);letter-spacing:-.08em;background:#ffffffc7;border:3px solid #5c3c781f;border-radius:22px;place-items:center;padding:5px 8px;font-size:clamp(1.45rem,4vw,2.15rem);display:grid;box-shadow:0 5px #2030401a}.mode-card>span:not(.mode-card-glyph){gap:4px;min-width:0;display:grid}.mode-card strong{font-size:clamp(1.05rem,2.3vw,1.35rem)}.mode-card small{color:#536b77;font-family:system-ui,sans-serif;font-weight:750}.mode-card>svg{width:24px;color:var(--leaf-dark)}.welcome-explore-actions{width:min(100%,360px)}.locale-selector{z-index:5;background:#ffffffd1;border:2px solid #2030401a;border-radius:16px;align-items:center;gap:7px;min-height:48px;margin-top:12px;padding:5px 10px;display:inline-flex;position:relative;box-shadow:0 4px #2030401a}.locale-selector svg{width:24px;height:24px;color:var(--leaf-dark);flex:none}.locale-selector select{min-height:36px;color:var(--ink);font:inherit;background:0 0;border:0;border-radius:10px;padding:3px 28px 3px 5px;font-size:.95rem;font-weight:750}.locale-selector select:focus-visible{outline-offset:2px;outline:3px solid #1c75d8}.utility-locale-selector{border-radius:17px;min-height:50px;margin:0;padding:3px 7px}.utility-locale-selector select{max-width:104px;height:48px;min-height:48px;font-size:.82rem}.play-button{border-radius:28px;min-height:78px;font-size:1.32rem}.welcome-utilities{top:max(16px, env(safe-area-inset-top));right:max(18px, env(safe-area-inset-right));left:max(18px, env(safe-area-inset-left));justify-content:space-between;align-items:center;display:flex;position:absolute}.welcome-utilities>.site-home-link{border-radius:27px;width:81px;height:81px}.welcome-utilities>.site-home-link svg{width:42px;height:42px}.game-screen{flex-direction:column;align-items:center;gap:clamp(10px,2vh,20px);height:100svh;min-height:100svh;display:flex;overflow:hidden}.visit-count,.book-title-mini{color:#486271;white-space:nowrap;align-items:center;gap:8px;font-family:system-ui,sans-serif;font-weight:800;display:inline-flex}.book-title-mini svg{width:22px}.visit-count svg{width:20px;color:var(--leaf-dark)}.gate-screen h1{margin-top:2px;font-size:clamp(1.75rem,5vw,3.4rem)}.prompt-chip{min-height:48px;color:var(--plum);cursor:pointer;background:#ffffffc7;border:3px solid #0000;border-radius:99px;align-items:center;gap:8px;padding:8px 18px;display:inline-flex;box-shadow:0 4px #5c3c781a}.prompt-chip svg{width:24px}.prompt-chip.is-hint{animation:.9s ease-in-out 2 hint-glow}.zoo-gate{width:min(66vw,310px);height:clamp(105px,18vh,165px);box-shadow:inset 0 0 0 5px #e2a35c, var(--shadow);background:linear-gradient(#cceecf,#8bc783);border:clamp(10px,1.6vw,15px) solid #b87945;border-bottom-width:13px;border-radius:100px 100px 20px 20px;position:relative;overflow:visible}.zoo-gate:before,.zoo-gate:after{content:"";z-index:-1;background:#8b5d39;border-radius:20px 20px 8px 8px;width:42px;height:95%;position:absolute;bottom:-22px}.zoo-gate:before{left:-32px}.zoo-gate:after{right:-32px}.gate-sign{z-index:8;width:66px;height:58px;color:var(--plum);background:var(--sun);border:5px solid #8b5d39;border-radius:22px;place-items:center;font-size:2.3rem;display:grid;position:absolute;top:-32px;left:50%;transform:translate(-50%);box-shadow:0 5px #2030401f}.gate-sign svg{width:32px;height:32px}.gate-door{background:repeating-linear-gradient(90deg,#ad7043 0 17px,#c8874d 17px 34px);border:3px solid #704527;width:50%;transition:transform .62s cubic-bezier(.2,.8,.2,1);position:absolute;top:0;bottom:0}.gate-door:after{content:"";background:#e5a934;border:4px solid #fff0a7;border-radius:50%;width:14px;height:14px;position:absolute;top:54%}.gate-peek{z-index:1;opacity:0;width:60%;position:absolute;bottom:6%;left:50%;translate:-50%}.zoo-gate.is-opening .gate-peek{animation:.62s ease-out .14s both gate-peek-in}@keyframes gate-peek-in{0%{opacity:0;scale:.55}to{opacity:1;scale:1}}.gate-door-left{transform-origin:0;border-radius:73px 4px 4px 3px;left:0}.gate-door-left:after{right:10px}.gate-door-right{transform-origin:100%;border-radius:4px 73px 3px 4px;right:0}.gate-door-right:after{left:10px}.zoo-gate.is-opening .gate-door-left{transform:perspective(600px)rotateY(-82deg)}.zoo-gate.is-opening .gate-door-right{transform:perspective(600px)rotateY(82deg)}.gate-grass{z-index:10;background:linear-gradient(135deg,#0000 22px,#5da861 23px) 0 0/44px 32px repeat-x;height:32px;position:absolute;bottom:-8px;left:-30px;right:-30px}.gate-poof{z-index:6;pointer-events:none;position:absolute;inset:0}.gate-poof i{opacity:0;background:#fff3b8;border-radius:50%;width:11px;height:11px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 3px #ffd55a8c}.gate-poof i:first-child{--dx:-78px;--dy:-34px}.gate-poof i:nth-child(2){--dx:-52px;--dy:26px;width:8px;height:8px}.gate-poof i:nth-child(3){--dx:-20px;--dy:-58px}.gate-poof i:nth-child(4){--dx:24px;--dy:-52px;width:8px;height:8px}.gate-poof i:nth-child(5){--dx:56px;--dy:22px}.gate-poof i:nth-child(6){--dx:80px;--dy:-28px;width:9px;height:9px}.zoo-gate.is-opening .gate-poof i{animation:.64s ease-out both gate-poof}.zoo-gate.is-opening .gate-poof i:nth-child(2n){animation-delay:70ms}.zoo-gate.is-opening .gate-poof i:nth-child(3n){animation-delay:.13s}@keyframes gate-poof{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}30%{opacity:.9}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1)}}.gate-feedback{color:#536b77;text-align:center;min-height:1.4em;margin:-2px 0;font-family:system-ui,sans-serif;font-size:clamp(.8rem,1.7vw,.96rem);font-weight:750}.gate-feedback.is-supportive{color:var(--plum)}.gate-symbol{z-index:1;color:var(--plum);text-align:center;text-shadow:0 5px #ffffffb8;font-size:clamp(4rem,12vw,7rem);line-height:1;position:absolute;inset:8% 0 auto}.symbol-stage{background:radial-gradient(circle,#fffdf1 0 45%,#f3e7ff 70%,#d6f1e2 100%);border:6px solid #5c3c781f;place-items:center;display:grid}.symbol-stage>span,.symbol-parade-card,.book-symbol-stage{color:var(--plum);text-shadow:0 .06em #d4a838;font-size:clamp(7rem,27vw,14rem);line-height:1}.symbol-parade-card{background:var(--sun);border:5px solid #5c3c781f;border-radius:34px;align-self:center;padding:.12em .24em;font-size:clamp(6rem,22vw,11rem);box-shadow:0 9px #d4a838}.book-symbol-stage{width:min(100%,600px);min-height:260px;box-shadow:var(--shadow);background:radial-gradient(circle,#fffdf1 0 45%,#f3e7ff 70%,#d6f1e2 100%);border:6px solid #5c3c781f;border-radius:36px;grid-area:2/2/4;align-self:stretch;place-items:center;display:grid}.alphabet-keyboard{background:linear-gradient(#c9e5ed,#afd2dd);border:3px solid #2030401a;border-radius:24px;flex-direction:column;gap:clamp(5px,1vw,9px);width:min(100%,610px);padding:clamp(8px,1.6vw,14px);display:flex;box-shadow:0 8px #8eb8c5,0 14px 28px #20304024}.keyboard-row{justify-content:center;gap:clamp(5px,1vw,9px);display:flex}.keyboard-key{min-width:0;min-height:clamp(47px,7vh,62px);color:var(--plum);background:var(--cream);cursor:pointer;border:3px solid #5c3c7821;border-radius:clamp(11px,2vw,17px);flex:0 78px;place-items:center;padding:2px;font-size:clamp(1.45rem,5vw,2.2rem);line-height:1;transition:transform .14s,border-color .14s,background .14s;display:grid;position:relative;box-shadow:0 5px #d5c6a7,0 7px 12px #2030401a}.keyboard-key:nth-child(3n+2){color:#1d779c;background:#edfaff;box-shadow:0 5px #9fc8d6,0 7px 12px #2030401a}.keyboard-key:nth-child(3n){color:#8b4d3d;background:#fff2ec;box-shadow:0 5px #dcb7aa,0 7px 12px #2030401a}.keyboard-key:hover{transform:translateY(-2px)}.keyboard-key:active{transform:translateY(4px)scale(.94);box-shadow:0 1px #aabac0}.keyboard-key.is-wrong{animation:.42s choice-wobble}.keyboard-key.is-correct{border-color:var(--leaf);background:#efffe9;transform:scale(1.08);box-shadow:0 5px #99c998}.keyboard-key.is-correct:after{content:"";border:4px solid var(--leaf);border-radius:inherit;opacity:0;pointer-events:none;animation:.52s ease-out both key-ripple;position:absolute;inset:-5px}.number-keyboard{background:linear-gradient(#d6eee2,#b9ddc7);width:min(100%,660px);box-shadow:0 8px #8ebfa3,0 14px 28px #20304024}.number-keyboard .keyboard-key{flex-basis:102px;min-height:clamp(58px,9vh,78px);font-size:clamp(1.85rem,6vw,3rem)}.ten-keyboard-note{color:#536b77;text-align:center;min-height:1.2em;margin:-4px 0 0;font-family:system-ui,sans-serif;font-size:.78rem;font-weight:700}@keyframes key-ripple{0%{opacity:.6;transform:scale(.75)}to{opacity:0;transform:scale(1.45)}}@keyframes choice-wobble{0%,to{transform:translate(0)}25%{transform:translate(-8px)rotate(-3deg)}55%{transform:translate(7px)rotate(3deg)}78%{transform:translate(-3px)}}@keyframes hint-glow{0%,to{border-color:var(--sun);filter:brightness()}50%{border-color:var(--leaf);filter:brightness(1.06)}}.letter-badge-small{width:50px;height:50px;color:var(--plum);background:var(--sun);border:3px solid #e4b744;border-radius:17px;place-items:center;font-size:1.75rem;display:grid;box-shadow:0 4px #d4a838}.parade-replay-letter{width:auto;min-width:74px;font:inherit;cursor:pointer;grid-template-columns:auto auto;gap:4px;padding:0 10px;font-size:1.45rem}.parade-replay-letter svg{width:19px;height:19px}.number-badge-small{min-width:54px;height:50px;color:var(--leaf-dark);background:#ddf5df;border:3px solid #87b997;border-radius:17px;place-items:center;padding:0 10px;font-size:1.7rem;display:grid;box-shadow:0 4px #91bd99}.number-reveal-screen{height:auto;min-height:100svh;padding-bottom:max(18px, env(safe-area-inset-bottom));background:linear-gradient(#e9fbffc2,#eaf8eed1);gap:clamp(7px,1.4vh,14px);overflow-y:auto}.number-reveal-screen h1{font-size:clamp(1.9rem,5vw,3.5rem)}.number-reveal-screen h1 strong{background:var(--sun);border-radius:.3em;place-items:center;min-width:1.3em;padding:.08em .22em;display:inline-grid;box-shadow:0 .12em #d4a838}.number-next{flex:none}.animal-counter{justify-content:center;align-items:center;gap:8px;min-height:14px;display:flex}.animal-counter span{background:#20304021;border-radius:99px;width:28px;height:8px}.animal-counter span.is-filled{background:var(--leaf)}.reveal-screen h1{font-size:clamp(1.85rem,5vw,3.6rem)}.tap-instruction{color:#536b77;text-align:center;margin:-4px 0 0;font-family:system-ui,sans-serif;font-size:clamp(.88rem,2vw,1.05rem);font-weight:700}.animal-stage{background:radial-gradient(circle at 50% 22%, #ffffffe0 0 31%, transparent 31.5%), linear-gradient(color-mix(in srgb, var(--habitat,#e9fbff) 16%, #e9fbff) 0 70%, #a7d98b 70% 100%);width:min(88vw,480px);min-height:clamp(220px,42vh,390px);box-shadow:var(--shadow);cursor:pointer;border:4px solid #3b9b7026;border-radius:48% 48% 34px 34px;place-items:center;padding:10px 18px;display:grid;position:relative;overflow:hidden}.animal-stage:after{content:"";opacity:.32;background:repeating-linear-gradient(120deg,#0000 0 16px,#479755 17px 20px);height:21%;position:absolute;inset:auto 0 0}.animal-stage .animal-portrait{z-index:2;width:min(92%,380px);position:relative}.animal-letter{z-index:3;color:#5c3c7826;font-size:clamp(4rem,14vw,8rem);line-height:1;position:absolute;top:18px;left:22px}.sound-bubble,.inline-sound{color:#fff;background:var(--plum);place-items:center;display:grid;box-shadow:0 5px #3f2953}.sound-bubble{z-index:5;border-radius:50%;width:58px;height:58px;position:absolute;bottom:25px;right:20px}.animal-name-card{text-align:center;justify-content:center;align-items:center;gap:12px;min-height:50px;margin-top:-4px;display:flex}.animal-name-card span{color:var(--plum);font-size:clamp(1.4rem,4vw,2rem)}.sound-caption{color:#536b77;background:#5c3c7814;border-radius:99px;align-items:center;gap:6px;padding:4px 12px;font-family:system-ui,sans-serif;font-size:.82rem;font-style:italic;font-weight:650;display:inline-flex}.sound-caption svg{opacity:.75;flex:none;width:15px;height:15px}.parade-screen{background:linear-gradient(180deg, color-mix(in srgb, var(--habitat,transparent) 13%, transparent) 0 38%, transparent 56%), linear-gradient(180deg, transparent 0 67%, #88c47a59 67% 100%);justify-content:flex-start}.parade-screen .sky-decoration{z-index:0}.parade-screen .sky-decoration:after{display:none}.parade-sun{z-index:0;aspect-ratio:1;background:radial-gradient(circle at 38% 34%, #ffeeb0, var(--sun) 58%, #f3c04a);border-radius:50%;width:clamp(72px,12vw,108px);position:absolute;top:clamp(70px,11vh,110px);right:5%;box-shadow:0 0 0 10px #ffd55a38,0 0 46px #ffd55a80}.parade-sun:before{content:"";background:repeating-conic-gradient(#ffd55a6b 0deg 11deg,#0000 11deg 30deg);border-radius:50%;animation:70s linear infinite sun-spin;position:absolute;inset:-30%;-webkit-mask-image:radial-gradient(circle,#0000 50%,#000 53%);mask-image:radial-gradient(circle,#0000 50%,#000 53%)}@keyframes sun-spin{to{transform:rotate(360deg)}}.parade-screen h1{z-index:2;color:var(--plum);margin-top:clamp(8px,4vh,36px);position:relative}.parade-screen>p,.book-detail-screen>p{color:#536b77;text-align:center;margin:0;font-family:system-ui,sans-serif;font-weight:700}.parade-screen>p{z-index:2;position:relative}.parade-road{justify-content:center;align-items:flex-end;gap:clamp(0px,2vw,18px);width:min(100%,820px);min-height:clamp(260px,47vh,430px);padding:34px 4px 28px;display:flex;position:relative}.parade-road:before{content:"";background:#d6b57b;border-top:5px dashed #ffffff80;height:24%;position:absolute;bottom:7%;left:-12%;right:-12%;transform:skewY(-2deg);box-shadow:0 12px #b4d67d}.parade-animal{z-index:2;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1 1 0;align-items:center;min-width:0;max-width:250px;padding:0;animation:.9s cubic-bezier(.22,.9,.31,1.1) both parade-enter;display:flex;position:relative}.parade-animal .animal-portrait{width:100%;animation:1.7s ease-in-out 1s infinite parade-march}.parade-animal-2 .animal-portrait{animation-delay:1.2s}.parade-animal-3 .animal-portrait{animation-delay:1.4s}@keyframes parade-enter{0%{opacity:0;translate:-56vw}to{opacity:1;translate:0}}.reduce-motion .parade-animal,.reduce-motion .parade-animal .animal-portrait{animation:none}@keyframes parade-march{0%,to{translate:0}50%{translate:0 -6px}}.parade-label{background:#ffffffdb;border-radius:99px;margin-top:-5px;padding:7px 12px;font-size:clamp(.78rem,2vw,1.05rem);box-shadow:0 4px #2030401a}.parade-animal-1{animation-delay:0s}.parade-animal-2{animation-delay:.18s;transform:translateY(-12px)}.parade-animal-3{animation-delay:.36s}.parade-next{z-index:5;position:relative}.celebration-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;overflow:hidden}.celebration-screen h1{z-index:3;max-width:760px;color:var(--plum);text-shadow:0 4px #ffffffb3;margin-bottom:10px;font-size:clamp(2.4rem,7vw,5.2rem);position:relative}.celebration-copy{z-index:3;color:#486271;max-width:520px;margin:0 0 18px;font-family:system-ui,sans-serif;font-weight:650;line-height:1.5;position:relative}.celebration-parade{z-index:2;pointer-events:none;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:2px;width:min(100%,880px);margin:0 0 22px;display:flex;position:relative}.celebration-slot{animation:.62s cubic-bezier(.22,.9,.31,1.25) both celebrate-pop;display:inline-flex}.number-celebration-parade{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;max-width:760px;display:grid}.number-celebration-slot{place-items:center;min-width:0;display:grid;position:relative}.number-celebration-slot b{z-index:3;min-width:28px;height:28px;color:var(--plum);background:var(--sun);border-radius:10px;place-items:center;padding:0 5px;font-size:.9rem;display:grid;position:absolute;top:1px;left:4px;box-shadow:0 3px #d4a838}.number-celebration-slot .celebration-animal{width:min(100%,108px)}.celebration-animal{width:clamp(64px,10vw,104px)}@keyframes celebrate-pop{0%{opacity:0;scale:.3}to{opacity:1;scale:1}}.reduce-motion .celebration-slot{animation:none}.confetti{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti i{opacity:0;width:12px;height:18px;animation:confetti-fall var(--fall,7.5s) ease-in-out var(--delay,0s) infinite;border-radius:5px;position:absolute;top:-30px}.confetti i:nth-child(6n+1){background:var(--coral);--fall:7.2s;left:5%}.confetti i:nth-child(6n+2){background:var(--sun);--fall:8.6s;--delay:1.3s;left:22%}.confetti i:nth-child(6n+3){--fall:6.8s;--delay:2.2s;background:#7fc8ea;left:38%}.confetti i:nth-child(6n+4){background:var(--leaf);--fall:8.9s;--delay:.7s;left:56%}.confetti i:nth-child(6n+5){--fall:7.7s;--delay:2.9s;background:#b48fd9;left:73%}.confetti i:nth-child(6n){background:var(--coral);--fall:6.5s;--delay:1.8s;left:89%}.confetti i:nth-child(n+7){--delay:3.6s;height:14px;margin-left:6%}.confetti i:nth-child(n+13){--delay:5.2s;width:10px;margin-left:-4%}@keyframes confetti-fall{0%{opacity:0;translate:0 -4vh;rotate:0deg}10%{opacity:.85}82%{opacity:.8}to{opacity:0;translate:3vw 106vh;rotate:210deg}}.book-screen,.book-detail-screen{background:linear-gradient(#e5f7ffc7,#f8f3dfd6);padding-bottom:48px}.book-screen h1,.book-detail-screen h1{color:var(--plum);margin-top:18px;font-size:clamp(2.1rem,6vw,4rem)}.book-copy{color:#536b77;text-align:center;margin:10px auto 24px;font-family:system-ui,sans-serif;font-weight:650}.book-section{width:min(100%,850px);margin:0 auto}.book-section+.book-section{margin-top:34px}.book-section h2{color:var(--leaf-dark);margin:0 0 14px;font-size:clamp(1.45rem,3.5vw,2.15rem)}.letter-grid{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:14px;width:min(100%,850px);margin:0 auto;display:grid}.book-letter{min-height:120px;color:var(--plum);cursor:pointer;background:#fff;border:3px solid #20304012;border-radius:25px;grid-template-rows:1fr auto;grid-template-columns:1fr auto;align-items:center;padding:12px;transition:transform .14s;display:grid;position:relative;box-shadow:0 6px #ddcfb0,0 10px 22px #20304014}.book-letter:hover{transform:translateY(-3px)rotate(-.5deg)}.book-number{color:var(--leaf-dark);background:linear-gradient(145deg,#ecfaff,#e5f7e8);border-color:#3b9b7024;box-shadow:0 6px #b8d7bd,0 10px 22px #20304014}.book-letter.book-number>svg{color:var(--leaf)}.book-letter>svg{width:26px;color:var(--coral)}.book-letter-glyph{grid-row:1/3;font-size:clamp(2.8rem,7vw,4.5rem);line-height:.9}.book-letter small{color:#607782;white-space:nowrap;font-family:system-ui,sans-serif;font-size:.7rem;font-weight:750}.book-detail-screen{flex-direction:column;align-items:center;gap:16px;display:flex}.book-cycle-letter,.book-replay-number{width:auto;min-width:78px;font:inherit;cursor:pointer;grid-template-columns:auto auto;gap:4px;padding:0 10px}.book-cycle-letter{font-size:1.45rem}.book-cycle-letter svg,.book-replay-number svg{width:18px;height:18px}.number-book-detail-screen{background:linear-gradient(180deg, color-mix(in srgb, var(--habitat,transparent) 10%, transparent), transparent 58%), linear-gradient(180deg, #e5f7ffc7, #f8f3dfd6);gap:10px;padding-bottom:20px}.number-book-detail-screen h1{margin-top:4px}.number-book-detail-screen>p{margin:0}.number-book-detail-screen .counting-scene{min-height:clamp(310px,55vh,500px)}.book-animal-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,22px);width:min(100%,860px);margin-top:14px;display:grid}.book-animal-list.count-1{grid-template-columns:minmax(220px,420px);justify-content:center}.book-animal-list.count-2{grid-template-columns:repeat(2,minmax(200px,360px));justify-content:center}.book-return-button{flex:none;width:min(100%,360px);margin:14px auto 2px;font-weight:800}.book-return-button svg{width:27px;height:27px}.book-animal-card{cursor:pointer;background:linear-gradient(#edfbff 0 70%,#fff 70%);border:3px solid #3b9b7021;border-radius:34px;flex-direction:column;align-items:center;min-width:0;min-height:310px;padding:18px 12px 16px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex;position:relative;overflow:hidden;box-shadow:0 8px #d8cbaa,0 14px 28px #2030401a}.book-animal-card.is-current{background:linear-gradient(#fff6dc 0 70%,#fff 70%);border-color:#ff7066c7;transform:translateY(-4px);box-shadow:0 8px #e9b891,0 14px 30px #20304021}.book-animal-card.is-current .inline-sound{background:var(--coral)}.book-animal-card .animal-portrait{width:100%;max-height:220px}.book-animal-card strong{color:var(--plum);font-size:clamp(1.2rem,3vw,1.65rem)}.book-animal-card .sound-caption{margin-top:5px;font-size:.78rem}.inline-sound{border-radius:50%;width:44px;height:44px;position:absolute;top:14px;right:14px}.inline-sound svg{width:22px}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}@media (width<=620px){.screen{padding-left:14px;padding-right:14px}.utility-bar{--utility-button-size:48px;--utility-leading-size:60px}.utility-actions{gap:7px}.utility-locale-selector{min-height:44px;padding-inline:5px}.utility-locale-selector svg{display:none}.utility-locale-selector select{max-width:62px;font-size:.72rem}.welcome-utilities>.site-home-link{border-radius:20px;width:60px;height:60px}.welcome-utilities>.site-home-link svg{width:34px;height:34px}.utility-center{font-size:.9rem;overflow:hidden}.welcome-screen{padding-top:max(82px, calc(env(safe-area-inset-top) + 72px));justify-content:flex-start}.brand-pill{margin-bottom:13px}.welcome-screen h1{font-size:clamp(2.35rem,13vw,3.7rem)}.welcome-copy{max-width:280px;margin-bottom:18px}.welcome-animals{opacity:.85;height:31%}.welcome-animal{width:min(47vw,220px)}.welcome-actions{width:min(86%,320px)}.mode-choice-grid{gap:8px;width:100%}.mode-card{text-align:center;border-radius:23px;grid-template-columns:1fr;justify-items:center;gap:5px;min-height:112px;padding:10px 8px}.mode-card-glyph{border-radius:16px;min-width:66px;min-height:48px}.mode-card>span:not(.mode-card-glyph){gap:1px}.mode-card>svg{display:none}.welcome-explore-actions{width:min(90%,340px)}.gate-screen{gap:9px}.zoo-gate{width:min(62vw,255px);height:clamp(100px,17vh,145px)}.alphabet-keyboard{border-radius:19px}.keyboard-key{min-height:clamp(46px,6.5vh,56px)}.number-keyboard .keyboard-key{min-height:clamp(54px,8vh,68px)}.animal-stage{border-radius:38% 38% 28px 28px;min-height:clamp(215px,39vh,315px)}.animal-name-card{flex-direction:column;gap:2px}.parade-road{align-items:center;min-height:330px;padding-bottom:60px}.parade-label{text-overflow:ellipsis;max-width:100%;overflow:hidden}.number-celebration-parade{grid-template-columns:repeat(5,minmax(0,1fr));gap:1px}.number-celebration-slot b{min-width:24px;height:24px;font-size:.78rem}.letter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.book-letter{border-radius:20px;min-height:104px;padding:10px}.book-letter small{display:none}.book-animal-list{grid-template-columns:1fr;width:min(100%,390px)}.book-animal-list.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.letter-book-detail-screen .book-animal-list.count-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;margin-top:6px}.letter-book-detail-screen .book-animal-card{border-radius:22px;min-height:clamp(170px,33vh,230px);padding:10px 5px 9px}.letter-book-detail-screen .book-animal-card .animal-portrait{max-height:140px}.letter-book-detail-screen .book-animal-card strong{font-size:clamp(.9rem,4.5vw,1.2rem)}.letter-book-detail-screen .book-animal-card .sound-caption{font-size:.66rem;line-height:1.1}.letter-book-detail-screen .inline-sound{width:32px;height:32px;top:7px;right:7px}.letter-book-detail-screen .inline-sound svg{width:17px}.book-section+.book-section{margin-top:28px}.number-book-detail-screen{gap:8px;padding-bottom:14px}.number-book-detail-screen h1{margin-top:0;font-size:1.95rem}.number-book-detail-screen>p{max-width:290px;font-size:.82rem}.number-book-detail-screen .counting-scene{min-height:clamp(300px,54vh,380px)}}@media (height<=650px) and (orientation:portrait){.brand-pill{margin-bottom:7px}.welcome-screen h1{margin-bottom:7px;font-size:clamp(2.1rem,10vw,3rem)}.welcome-copy{margin-bottom:10px}.welcome-actions{gap:10px}.mode-choice-grid{margin-bottom:8px}.mode-card{min-height:94px}.mode-card-glyph{min-height:40px;font-size:1.35rem}.mode-card small{font-size:.72rem}.play-button{min-height:66px}.secondary-button{min-height:50px}.game-screen{gap:7px}.utility-bar{--utility-button-size:46px;--utility-leading-size:69px;min-height:var(--utility-leading-size)}.utility-button{width:var(--utility-button-size);height:var(--utility-button-size);border-radius:15px}.welcome-utilities>.site-home-link{border-radius:23px;width:69px;height:69px}.welcome-utilities>.site-home-link svg{width:36px;height:36px}.gate-screen h1{font-size:1.65rem}.prompt-chip{min-height:42px}.zoo-gate{border-width:9px;width:185px;height:82px}.gate-sign{border-width:4px;width:48px;height:43px;top:-24px}.gate-sign svg{width:24px;height:24px}.gate-feedback{font-size:.78rem}.alphabet-keyboard{gap:4px;padding:7px}.keyboard-row{gap:5px}.keyboard-key{border-width:2px;min-height:40px;font-size:1.25rem;box-shadow:0 3px #d5c6a7}.number-keyboard .keyboard-key{min-height:48px;font-size:1.7rem}.ten-keyboard-note{display:none}.animal-stage{width:min(76vw,390px);min-height:225px}.tap-instruction{display:none}.animal-name-card{min-height:36px}.main-button{min-height:58px}.number-reveal-screen .counting-scene{min-height:255px}.parade-road{min-height:252px}}@media (height<=540px) and (orientation:landscape){.welcome-utilities>.site-home-link{border-radius:18px;width:54px;height:54px}.welcome-utilities>.site-home-link svg{width:30px;height:30px}.welcome-screen{justify-content:flex-start;padding-top:14px}.welcome-screen .brand-pill{margin-bottom:5px}.welcome-screen h1{max-width:720px;margin-bottom:5px;font-size:clamp(2.25rem,7vw,3.55rem);line-height:.9}.welcome-screen .welcome-copy{margin-bottom:10px}.welcome-screen .mode-choice-grid{width:min(100%,650px);margin-bottom:8px}.welcome-screen .mode-card{min-height:78px;padding:8px 13px}.welcome-screen .mode-card-glyph{min-width:58px;min-height:50px}.welcome-screen .welcome-actions{flex-direction:row;gap:14px;width:min(100%,620px)}.welcome-screen .welcome-actions>*{flex:1 1 0;min-width:0;min-height:60px}.welcome-screen .welcome-animals{opacity:.82;height:46%}.welcome-screen .welcome-animal{width:min(31vw,230px)}.game-screen{grid-template-rows:auto auto 1fr auto;grid-template-columns:minmax(240px,1fr) minmax(300px,1fr);align-items:center;column-gap:24px;padding-top:10px;display:grid}.game-screen .utility-bar{grid-column:1/3}.gate-screen h1{grid-area:2/1;font-size:1.75rem}.gate-screen .prompt-chip{grid-area:3/1;justify-self:center}.gate-screen .zoo-gate{grid-area:4/1;align-self:end;width:250px;height:135px}.gate-screen .gate-feedback,.gate-screen .prompt-chip.is-pending-audio{display:none}.gate-screen .gate-feedback.is-visual-clue{grid-area:3/1;align-self:center;display:block}.gate-screen .alphabet-keyboard{grid-area:2/2/5;align-self:center;gap:5px;padding:8px}.gate-screen .keyboard-row{gap:6px}.gate-screen .keyboard-key{min-height:42px;font-size:1.35rem}.number-gate-screen .number-keyboard .keyboard-key{min-height:62px;font-size:2rem}.number-gate-screen .ten-keyboard-note{display:none}.reveal-screen{grid-template-rows:56px minmax(0,1fr) 64px}.reveal-screen .animal-counter{grid-area:2/1;align-self:start;margin-top:6px}.reveal-screen h1{grid-area:2/1;align-self:center;font-size:2rem}.reveal-screen .tap-instruction{grid-area:2/1;align-self:end;margin-bottom:8px;display:block}.reveal-screen .animal-stage{grid-area:2/2;align-self:stretch;width:100%;height:100%;min-height:0;max-height:none}.reveal-screen .animal-name-card{grid-area:3/1;min-height:54px}.reveal-screen .main-button{grid-area:3/2;justify-self:center;min-height:54px}.number-reveal-screen{grid-template-rows:56px minmax(0,1fr) 64px;overflow:hidden}.number-reveal-screen h1{grid-area:2/1;align-self:center;font-size:2rem}.number-reveal-screen .tap-instruction{grid-area:2/1;align-self:end;margin-bottom:8px;display:block}.number-reveal-screen .number-counting-playground{grid-area:2/2/4;align-self:stretch;width:100%;height:100%;min-height:0}.number-reveal-screen .counting-scene{width:100%;height:100%;min-height:0}.number-reveal-screen .main-button{grid-area:3/1;justify-self:center;min-height:54px}.parade-screen{gap:2px;padding-top:8px;padding-bottom:8px;display:flex}.parade-screen .utility-bar{min-height:var(--utility-leading-size)}.parade-screen h1{margin:0;font-size:1.85rem}.parade-screen>p{display:none}.parade-road{flex:0 0 178px;max-width:650px;min-height:178px;padding:0 0 14px}.parade-animal .animal-portrait{max-height:132px}.parade-next{max-width:290px;min-height:50px}.letter-book-detail-screen{height:100svh;min-height:100svh;padding:max(8px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));grid-template-rows:81px auto minmax(0,1fr) 54px;grid-template-columns:minmax(190px,.7fr) minmax(300px,1.3fr);gap:6px 18px;display:grid;overflow:hidden}.letter-book-detail-screen .utility-bar{grid-column:1/3}.letter-book-detail-screen h1{grid-area:2/1;align-self:end}.letter-book-detail-screen>p{grid-area:3/1;align-self:start}.letter-book-detail-screen .book-animal-list{grid-area:2/2/4;align-self:center;gap:8px;width:100%;margin:0}.letter-book-detail-screen .book-return-button{grid-area:4/2;place-self:end center;min-height:48px;margin:0}.letter-book-detail-screen .book-animal-card{border-radius:24px;min-height:max(140px,min(230px,100svh - 170px));padding:10px 7px}.letter-book-detail-screen .book-animal-card .animal-portrait{max-height:max(78px,min(150px,100svh - 220px))}.letter-book-detail-screen .book-animal-card strong{line-height:1}.letter-book-detail-screen .book-animal-card .sound-caption{margin-top:2px;font-size:.62rem;line-height:1}.number-book-detail-screen{height:100svh;min-height:100svh;padding:max(8px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));grid-template-rows:81px auto minmax(0,1fr) 54px;grid-template-columns:minmax(190px,.8fr) minmax(300px,1.2fr);column-gap:18px;display:grid;overflow:hidden}.number-book-detail-screen .utility-bar{grid-column:1/3}.number-book-detail-screen h1{grid-area:2/1;align-self:end}.number-book-detail-screen>p{grid-area:3/1;align-self:start}.number-book-detail-screen .number-counting-playground{grid-area:2/2/4;align-self:stretch;width:100%;height:100%;min-height:0}.number-book-detail-screen .book-return-button{grid-area:4/2;place-self:end center;min-height:48px;margin:0}.number-book-detail-screen .counting-scene{width:100%;height:100%;min-height:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.parade-animal,.parade-animal .animal-portrait,.celebration-slot{animation:none!important}}@media (forced-colors:active){.app-shell:before,.app-shell:after{display:none}}
