.storybook>.garden-scene{height:100%;width:100%}.storybook .garden-character-layer .sceneMessage{z-index:8}.storybook .garden-character-layer .mascot{z-index:6}.storybook .garden-character-layer .sceneFeatures{z-index:10}.garden-scene{--cloud:#fff;--sun:#fff4bd;--lamp:.25;--fly:#fff8dc;--flyo:.5;--bf:1;position:relative;height:100%;width:100%;overflow:hidden;isolation:isolate}.garden-scene.s-sunset{--cloud:#ffdde2;--sun:#ffbf86;--lamp:.9;--fly:#fff0c0;--flyo:.7}.garden-scene.s-night{--cloud:#6f78b0;--lamp:1;--fly:#ffee90;--flyo:1;--bf:0}.garden-scene.s-rain{--cloud:#a3adba;--lamp:.8;--flyo:0;--bf:0}.garden-scene .garden-sky,.garden-scene .garden-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.garden-scene .garden-sky{transition:opacity 1.6s}.garden-scene .sk-day{background:linear-gradient(#b4cdee,#d2d6ee 42%,#efdfee 74%,#fbeed8)}.garden-scene .sk-sunset{background:linear-gradient(#7c84c6,#d79fc2 45%,#f7b98f 80%,#ffd9a0);opacity:0}.garden-scene .sk-night{background:linear-gradient(#171d4b,#363a78 55%,#66579a 86%,#9a7aa8);opacity:0}.garden-scene .sk-rain{background:linear-gradient(#7f90a6,#a3afbf 52%,#c4cad2);opacity:0}.garden-scene.s-sunset .sk-sunset,.garden-scene.s-night .sk-night,.garden-scene.s-rain .sk-rain{opacity:1}.garden-scene #garden-land{transition:filter 1.6s;filter:brightness(1) saturate(1) sepia(0) hue-rotate(0deg)}.garden-scene.s-sunset #garden-land{filter:brightness(.98) saturate(1.1) sepia(.18) hue-rotate(-12deg)}.garden-scene.s-night #garden-land{filter:brightness(.5) saturate(.75) sepia(0) hue-rotate(32deg)}.garden-scene.s-rain #garden-land{filter:brightness(.86) saturate(.6) sepia(0) hue-rotate(0deg)}.garden-scene .cl{fill:var(--cloud);transition:fill 1.6s}.garden-scene .drift{animation:garden-drift var(--d) linear infinite;animation-delay:var(--o)}.garden-scene .sun{transform:translate(265px,190px);transition:transform 2s,opacity 1.6s}.garden-scene .sun .core,.garden-scene .sun .gl,.garden-scene .sun .ray{fill:var(--sun);transition:fill 1.6s}.garden-scene.s-sunset .sun{transform:translate(265px,470px)}.garden-scene.s-night .sun,.garden-scene.s-rain .sun{opacity:0}.garden-scene .rays{animation:garden-spin 90s linear infinite}.garden-scene .moon{transform:translate(265px,250px);opacity:0;transition:transform 2s,opacity 1.6s}.garden-scene.s-night .moon{transform:translate(265px,190px);opacity:1}.garden-scene .stars,.garden-scene .sparks{transition:opacity 1.6s}.garden-scene .stars{opacity:0}.garden-scene.s-night .stars{opacity:1}.garden-scene.s-night .sparks,.garden-scene.s-rain .sparks{opacity:0}.garden-scene .tw{animation:garden-tw 3s ease-in-out infinite}.garden-scene .sp{transform-box:fill-box;transform-origin:center;animation:garden-spk 4s ease-in-out infinite}.garden-scene .sw{transform-box:fill-box;transform-origin:50% 100%;animation:garden-sway var(--t,5s) ease-in-out infinite;animation-delay:var(--dl,0s)}.garden-scene .lampfx{opacity:var(--lamp);transition:opacity 1.6s}.garden-scene .lampfx circle{animation:garden-pulse 4s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}.garden-scene .flies{fill:var(--fly);opacity:var(--flyo);transition:opacity 1.6s,fill 1.6s}.garden-scene .flies circle{animation:garden-float var(--t) ease-in-out infinite alternate,garden-tw 3s ease-in-out infinite}.garden-scene .bfs{opacity:var(--bf);transition:opacity 1.2s}.garden-scene .bf{animation:garden-bf 28s ease-in-out infinite}.garden-scene .wg{transform-box:fill-box;transform-origin:center;animation:garden-flap .3s ease-in-out infinite alternate}.garden-scene .rain{opacity:0;transition:opacity 1.2s}.garden-scene.s-rain .rain{opacity:1}.garden-scene .rain line{stroke:#e3ecf8;stroke-width:1.4;opacity:.6;animation:garden-fall var(--t) linear infinite}.garden-scene .rp{fill:none;stroke:#fff;transform-box:fill-box;transform-origin:center;animation:garden-rip 5s ease-out infinite}@keyframes garden-drift{0%{transform:translate(-230px)}to{transform:translate(520px)}}@keyframes garden-spin{to{transform:rotate(360deg)}}@keyframes garden-tw{0%,to{opacity:.25}50%{opacity:1}}@keyframes garden-spk{0%,to{transform:scale(.3);opacity:.2}50%{transform:scale(1);opacity:1}}@keyframes garden-sway{0%,to{transform:rotate(-3.5deg)}50%{transform:rotate(3.5deg)}}@keyframes garden-pulse{0%{transform:scale(.88)}to{transform:scale(1.08)}}@keyframes garden-float{to{transform:translate(var(--dx),var(--dy))}}@keyframes garden-bf{0%,to{transform:translate(40px,620px)}25%{transform:translate(170px,560px)}50%{transform:translate(300px,630px)}75%{transform:translate(200px,700px)}}@keyframes garden-flap{to{transform:scaleX(.2)}}@keyframes garden-fall{to{transform:translate(-90px,920px)}}@keyframes garden-rip{0%{transform:scale(.25);opacity:.9}to{transform:scale(1.1);opacity:0}}.garden-scene.s-snow{--cloud:#edf1f9;--lamp:.65;--flyo:0;--bf:0}.garden-scene.s-fog{--cloud:#f2eaf1;--lamp:.65;--flyo:0;--bf:0}.garden-scene.s-thunderstorm{--cloud:#8087a6;--lamp:1;--flyo:0;--bf:0}.garden-scene .sk-snow{background:linear-gradient(#b6c8df,#d6d9ec 52%,#f6ebee);opacity:0}.garden-scene .sk-fog{background:linear-gradient(#c9cada,#e0dce8 55%,#f5e9e4);opacity:0}.garden-scene .sk-thunderstorm{background:linear-gradient(#505b7b,#818ba5 52%,#b8bbcb);opacity:0}.garden-scene.s-snow .sk-snow,.garden-scene.s-fog .sk-fog,.garden-scene.s-thunderstorm .sk-thunderstorm{opacity:1}.garden-scene.s-snow #garden-land{filter:brightness(1.04) saturate(.58)}.garden-scene.s-fog #garden-land{filter:brightness(1.02) saturate(.64)}.garden-scene.s-thunderstorm #garden-land{filter:brightness(.68) saturate(.63)}.garden-scene.s-snow .sun,.garden-scene.s-fog .sun,.garden-scene.s-thunderstorm .sun,.garden-scene.s-snow .sparks,.garden-scene.s-fog .sparks,.garden-scene.s-thunderstorm .sparks{opacity:0}.garden-scene .garden-character-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.garden-scene .garden-character-layer>*{pointer-events:auto}.garden-scene .garden-weather-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:4}.garden-scene .garden-snowflakes{position:absolute;top:-100%;right:0;bottom:0;left:0;opacity:0;background-image:radial-gradient(circle,#fff 1.5px,transparent 2px),radial-gradient(circle,#fff9 2px,transparent 2.6px),radial-gradient(circle,#f5f6ff 1px,transparent 1.6px);background-size:53px 87px,89px 107px,113px 71px;background-position:2px 5px,27px 51px,18px 11px;animation:garden-snowfall 14s linear infinite}.garden-scene.s-snow .garden-snowflakes{opacity:.92}@keyframes garden-snowfall{to{transform:translate3d(-24px,50%,0)}}.garden-scene .garden-fog-band{position:absolute;left:-20%;width:140%;height:25%;border-radius:50%;opacity:0;background:linear-gradient(transparent,#fff8 48%,transparent);filter:blur(18px)}.garden-scene .garden-fog-1{top:45%;animation:garden-fog-drift 19s ease-in-out infinite alternate}.garden-scene .garden-fog-2{top:68%;animation:garden-fog-drift 25s ease-in-out infinite alternate-reverse}.garden-scene.s-fog .garden-fog-band{opacity:.65}@keyframes garden-fog-drift{to{transform:translate3d(10%,0,0)}}.garden-scene.s-thunderstorm .rain{opacity:1}.garden-scene.s-thunderstorm .rain line{opacity:.85}.garden-scene .garden-lightning{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;background:#fff7e2;animation:garden-lightning-flash 11s linear infinite}.garden-scene.s-thunderstorm .garden-lightning{animation-play-state:running}.garden-scene:not(.s-thunderstorm) .garden-lightning{animation-play-state:paused}@keyframes garden-lightning-flash{0%,88%,90%,92%,to{opacity:0}89%,91%{opacity:.38}}.garden-scene{isolation:isolate;contain:layout paint}.garden-scene.garden-low-effects #garden-back #garden-clouds{filter:none}.garden-scene.garden-low-effects #garden-fx .lampfx circle{filter:none}@media(prefers-reduced-motion:reduce){.garden-scene *,.garden-scene *:before,.garden-scene *:after{animation:none!important;transition:none!important}.garden-scene .garden-lightning{display:none}}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#725a72;background:#f9edf5}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:0}.center{min-height:100dvh;display:grid;place-content:center;text-align:center;padding:30px}.login{min-height:100dvh;display:grid;place-items:center;padding:24px;background:linear-gradient(160deg,#f9e6f2,#d8d7ff,#dcf5e7)}.loginCard{background:#ffffffbd;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #fff;border-radius:32px;padding:30px;width:min(100%,420px);text-align:center;box-shadow:0 20px 65px #8e7aa22b}.loginCard h1,.worldHeader h1{font-family:Georgia,serif;font-weight:400}.loginCard h1{font-size:30px}.moon{font-size:55px;color:#b487c5}.loginCard form{display:grid;gap:14px;margin:24px 0}.loginCard label{text-align:left;font-size:13px;font-weight:600}.loginCard input{display:block;width:100%;margin-top:6px;padding:13px;border:1px solid #e3d7e9;border-radius:14px;background:#fff}.loginCard button,.panel button:not(.back){padding:13px 20px;border-radius:16px;background:#8c6cad;color:#fff}.loginCard small{opacity:.65}.error{color:#b34468}.app{min-height:100dvh;max-width:520px;margin:auto;background:linear-gradient(#f9edf7,#fff8ed);padding:calc(20px + env(safe-area-inset-top)) 15px calc(12px + env(safe-area-inset-bottom))}.worldScreen{width:100%}.worldHeader{display:flex;justify-content:space-between;align-items:center;padding:2px 10px 8px}.worldHeader h1{font-size:clamp(26px,7vw,34px);margin:0;color:#755976}.worldHeader h1 span{color:#e0a2b7}.worldHeader p{font-size:12px;margin:7px 0 0;color:#9f879e}.weatherOrb{width:48px;height:48px;border-radius:50%;background:#ffffff9e;border:1px solid white;box-shadow:0 7px 19px #a695a62b;color:#947a9c;display:grid;place-items:center}.worldSwitcher{margin:10px auto 12px;display:flex;padding:4px;width:fit-content;background:#ffffffa8;border:1px solid white;border-radius:40px;box-shadow:0 4px 14px #ac9aae1c;gap:3px}.worldSwitcher button{padding:8px 15px;border-radius:25px;font-size:12px;color:#917f92;background:transparent}.worldSwitcher .selected{background:#ead6ed;color:#795b80;font-weight:650}.storybook{position:relative;height:min(65dvh,650px);min-height:440px;border-radius:34px;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,#abcdf1,#d5d6f5 27%,#f5e3ec 56%,#fff0db 73%);box-shadow:0 15px 35px #a896b13c;border:2px solid #ffffff9e}.storybook.night{background:linear-gradient(#333f73,#7671a8 49%,#b6a3c2 78%)}.glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 66% 30%,#fff8dcad,transparent 47%)}.sunmoon{position:absolute;top:16%;left:58%;width:112px;aspect-ratio:1;border-radius:50%;background:#fff7c3;box-shadow:0 0 45px 25px #ffedc77a}.night .sunmoon{background:#fff3e5;width:83px;box-shadow:0 0 45px 17px #f8e3e86b}.cloud{position:absolute;width:136px;height:37px;border-radius:80px;background:#fffaf4ef;filter:drop-shadow(0 5px 5px #b5b2ce1e);animation:drift 8s ease-in-out infinite}.cloud:before,.cloud:after{content:"";position:absolute;background:inherit;border-radius:100%}.cloud:before{width:69px;height:61px;bottom:13px;left:29px}.cloud:after{width:57px;height:49px;bottom:10px;left:74px}.cloudA{left:-4%;top:21%}.cloudB{right:-9%;top:35%;transform:scale(.75);animation-delay:-3s}.cloudC{left:13%;top:48%;transform:scale(.54);opacity:.7;animation-delay:-5s}.sparkles{position:absolute;left:23%;top:15%;color:#fff9db;font-size:22px;letter-spacing:18px;animation:twinkle 3s ease-in-out infinite}.sparkles span{position:relative;top:82px;left:140px}.farHill{position:absolute;bottom:19%;left:-17%;width:136%;height:35%;border-radius:55% 54% 0 0;background:#c4dfc2;transform:rotate(-9deg);box-shadow:0 -10px #ffffff17}.nearHill{position:absolute;bottom:6%;left:-25%;width:155%;height:30%;border-radius:50% 60% 0 0;background:#9cc9a2;transform:rotate(7deg)}.ground{position:absolute;bottom:-3%;left:-8%;width:118%;height:17%;background:#79b991;border-radius:45% 45% 0 0;z-index:4}.gardenPath{position:absolute;bottom:-8%;left:30%;width:34%;height:41%;border-radius:70% 70% 0 0;background:#e4d6b7;transform:rotate(10deg);opacity:.75;z-index:2;clip-path:polygon(50% 0,68% 0,100% 100%,0 100%)}.pond{position:absolute;bottom:12%;left:2%;height:60px;width:40%;border-radius:55%;background:linear-gradient(#c7e7ed,#96cbd2);border:6px solid #bad9b4;z-index:3;transform:rotate(-6deg)}.pondRipple{position:absolute;bottom:17%;left:16%;width:17%;height:10px;border:2px solid #e2f8ec9b;border-radius:50%;z-index:4}.shrub{position:absolute;bottom:19%;background:#79b38f;border-radius:100% 100% 20% 30%;width:90px;height:60px;z-index:3}.shrubOne{left:-5%}.shrubTwo{right:-5%;height:76px;width:110px;background:#7fb59c}.flowers{position:absolute;font-size:23px;z-index:5;letter-spacing:9px;color:#fff4ce;text-shadow:2px 2px #d997b1}.flowersOne{bottom:14%;left:4%}.flowersTwo{right:4%;bottom:13%}.tinyFairy{position:absolute;top:50%;left:12%;font-size:37px;color:#fffdf4;text-shadow:0 0 15px white;animation:drift 5s ease-in-out infinite}.lamp{position:absolute;bottom:21%;z-index:4;height:72px;width:5px;background:#8c8973}.lamp:before{content:"";position:absolute;bottom:61px;left:-10px;width:25px;height:25px;background:#fff4bb;border-radius:45%;box-shadow:0 0 24px 8px #ffe6a67d}.lampOne{left:9%}.lampTwo{right:13%;transform:scale(.8)}.sceneMessage{position:absolute;z-index:8;bottom:38%;left:13%;right:11%;margin:auto;width:fit-content;max-width:75%;background:#fffef4eb;border:2px solid white;padding:12px 17px;border-radius:22px;font-size:12px;text-align:center;color:#7e6980;box-shadow:0 6px 18px #83798b3d}.sceneMessage:after{content:"";position:absolute;bottom:-10px;left:62%;width:17px;height:17px;transform:rotate(45deg);background:#fffef4;border-right:2px solid white;border-bottom:2px solid white}.mascot{position:absolute;z-index:6;bottom:16%;left:51%;transform:translate(-50%);height:142px;width:146px;background:transparent;display:grid;place-items:center;animation:bob 4s ease-in-out infinite}.mascot img{max-height:100%;max-width:100%;object-fit:contain;filter:drop-shadow(0 12px 9px #5d846144)}.fallbackFace{display:none}.mascotFallback{background:#f6b4ce;border:5px solid #e79ab8;border-radius:50%;width:130px;height:128px;box-shadow:inset -13px -12px #e69dbb,0 14px 13px #749a805c}.mascotFallback .fallbackFace{display:block;color:#6d5365;font-size:21px}.sceneFeatures{position:absolute;z-index:10;bottom:3%;left:1%;right:1%;display:flex;justify-content:space-around;gap:2px}.sceneFeatures button{background:transparent;display:grid;justify-items:center;color:#fffef5;text-shadow:0 1px 4px #467b71;width:20%;gap:4px}.sceneFeatures button span{display:grid;place-items:center;width:43px;height:43px;border-radius:18px;background:#fff8f0d9;color:#9778a4;box-shadow:0 3px 10px #466c6745;border:1px solid white}.sceneFeatures small{font-size:10px;font-weight:650}.pagePill{margin:13px auto 0;width:fit-content;display:flex;align-items:center;gap:21px;padding:7px 14px;background:#ffffffc7;border:1px solid white;border-radius:50px;box-shadow:0 6px 24px #b2a3b738}.pagePill button{background:transparent;color:#88718c;padding:8px;display:grid;place-items:center}.pageDots{display:flex;align-items:center;gap:7px}.pageDots button{width:7px;height:7px;padding:0;border-radius:50%;background:#d6c5d7}.pageDots button.active{background:#a47ab1;width:17px;border-radius:7px}.worldFoot{display:flex;justify-content:center;align-items:center;gap:5px;color:#a794a7;font-size:11px;margin:12px 0 0}.panel{margin:30px 10px;background:#ffffffbd;border-radius:25px;padding:25px;min-height:370px}.panel button{display:flex;align-items:center;gap:8px}.panel .back{background:transparent;color:#86699c;padding:0}.rain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;background:repeating-linear-gradient(105deg,transparent 0 14px,#f6f9ff76 15px 16px,transparent 18px 30px);opacity:.42;animation:rainfall 1s linear infinite}@keyframes drift{50%{translate:16px -4px}}@keyframes bob{50%{transform:translate(-50%) translateY(-6px)}}@keyframes twinkle{50%{opacity:.25}}@keyframes rainfall{to{background-position:-30px 85px}}@media(max-height:730px){.storybook{height:59dvh;min-height:375px}.mascot{height:114px;width:122px}.sceneMessage{bottom:38%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important}}
