@font-face{font-family:Balsamiq Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./balsamiq-sans-latin-700-normal-CGk_g3Ft.woff2)format("woff2"),url(./balsamiq-sans-latin-700-normal-dqyXBPjl.woff)format("woff")}@font-face{font-family:Balsamiq Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./balsamiq-sans-cyrillic-700-normal-ClYyBLXL.woff2)format("woff2"),url(./balsamiq-sans-cyrillic-700-normal-Cd2i_6Wv.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(./nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-cyrillic-800-normal-D3igD7Kl.woff2)format("woff2"),url(./nunito-cyrillic-800-normal-DymMgApb.woff)format("woff")}:root{--ink:#3a2f4f;--ink-soft:#6c5f86;--chip:#fff;--chip-edge:#d8cde6;--good:#6cc56b;--bad:#ff7a6b;--track:#ece6f3;--accent:#ff8fb1;--accent-edge:#e0638c;--focus:#6b8cff;--shadow:#3a2f4f2e;--scrim:#3a2f4f73;--ear:#ffc1d3;--cheek:#ff8fab;--mouth:#7a2638;--tongue:#ff7f9b;--dirt:#8a6648;--bubble:#fff9;--bubble-edge:#a8dcff;--night:#1c16469e;--wall:#ffe9b8;--wall-2:#fff2d4;--floor:#f6d3b5;--floor-2:#fff4ea;--nav-h:96px;--tools-h:110px;--tool:clamp(60px, 10vw, 92px);--font-display:"Balsamiq Sans", "Chalkboard SE", "Comic Sans MS", system-ui, sans-serif;--font-ui:"Nunito", "Arial Rounded MT Bold", "Trebuchet MS", system-ui, sans-serif;--font-emoji:"Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}[hidden]{display:none!important}html{touch-action:manipulation;-webkit-text-size-adjust:100%}body{background:var(--wall);color:var(--ink);font-family:var(--font-ui);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;font-weight:800;overflow:hidden}button{font:inherit;color:inherit}button:focus-visible{outline:4px solid var(--focus);outline-offset:3px}svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.stage{height:100%;padding:max(env(safe-area-inset-top), 12px) max(env(safe-area-inset-right), 14px) max(env(safe-area-inset-bottom), 12px) max(env(safe-area-inset-left), 14px);--pet-w:300px;--pet-h:340px;flex-direction:column;display:flex;position:relative;overflow:hidden}.stage[data-room=bath]{--wall:#cdeeff;--wall-2:#b9e3f8;--floor:#9fd3ee;--floor-2:#b6def3}.stage[data-room=bedroom]{--wall:#ddd0f7;--wall-2:#e7ddfb;--floor:#d6a676;--floor-2:#cb9866}.stage[data-room=play]{--wall:#cdf0da;--wall-2:#dcf6e5;--floor:#f1cf91;--floor-2:#e8c27f}.stage[data-room=wardrobe]{--wall:#ffdbe8;--wall-2:#ffe8f0;--floor:#ead0dc;--floor-2:#f3dee7}.decor{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.wall{background:repeating-linear-gradient(90deg, var(--wall) 0 44px, var(--wall-2) 44px 88px);transition:background .4s;position:absolute;top:0;bottom:0;left:0;right:0}.stage[data-room=bath] .wall{background:linear-gradient(var(--wall-2) 3px, transparent 3px) 0 0 / 64px 64px, linear-gradient(90deg, var(--wall-2) 3px, transparent 3px) 0 0 / 64px 64px, var(--wall)}.stage[data-room=bedroom] .wall,.stage[data-room=play] .wall{background:radial-gradient(circle, var(--wall-2) 3px, transparent 4px) 0 0 / 46px 46px, var(--wall)}.floor{height:calc(var(--nav-h) + var(--tools-h) + max(env(safe-area-inset-bottom), 12px) + 44px);background:conic-gradient(var(--floor) 25%, var(--floor-2) 0 50%, var(--floor) 0 75%, var(--floor-2) 0) 0 0 / 72px 72px;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -10px #ffffff73}.stage[data-room=bedroom] .floor,.stage[data-room=play] .floor{background:repeating-linear-gradient(90deg, var(--floor) 0 70px, var(--floor-2) 70px 73px)}.stage[data-room=bath] .floor{background:linear-gradient(var(--floor-2) 3px, transparent 3px) 0 0 / 48px 48px, linear-gradient(90deg, var(--floor-2) 3px, transparent 3px) 0 0 / 48px 48px, var(--floor)}.window{top:calc(max(env(safe-area-inset-top), 12px) + 100px);aspect-ratio:1;width:clamp(110px,18vmin,190px);box-shadow:0 6px 0 var(--chip-edge);background:#fff;border-radius:22px;padding:10px;display:none;position:absolute;left:6%}.stage[data-room=kitchen] .window,.stage[data-room=bedroom] .window{display:block}.sky{background:linear-gradient(#8fd0ff,#d9f1ff);border-radius:14px;height:100%;transition:background .6s;position:relative;overflow:hidden}.sky:after{content:"";background:linear-gradient(90deg,#0000 calc(50% - 4px),#fff calc(50% - 4px) calc(50% + 4px),#0000 0),linear-gradient(#0000 calc(50% - 4px),#fff calc(50% - 4px) calc(50% + 4px),#0000 0);position:absolute;top:0;bottom:0;left:0;right:0}.sun,.moon{aspect-ratio:1;border-radius:50%;width:34%;transition:opacity .6s,transform .6s;position:absolute;top:18%;right:16%}.sun{background:#ffd84d;box-shadow:0 0 0 6px #ffd84d59}.moon{opacity:0;background:#fff6c7;transform:translateY(40%);box-shadow:inset -10px -4px #e9dc9a}.stars{opacity:0;background:radial-gradient(circle,#fff 1.5px,#0000 2.5px) 10% 20%/40px 36px,radial-gradient(circle,#fff 1px,#0000 2px) 30% 60%/30px 44px;transition:opacity .6s;position:absolute;top:0;bottom:0;left:0;right:0}.stage.night .sky{background:linear-gradient(#1f2a5c,#3b3f86)}.stage.night .sun{opacity:0;transform:translateY(40%)}.stage.night .moon,.stage.night .stars{opacity:1;transform:none}.shade{background:var(--night);opacity:0;transition:opacity .6s;position:absolute;top:0;bottom:0;left:0;right:0}.stage.night .shade{opacity:1}.bunting{top:calc(max(env(safe-area-inset-top), 12px) + 84px);width:92%;height:56px;display:none;position:absolute;left:4%}.bunting path{stroke:#b08a5a;stroke-width:2px;vector-effect:non-scaling-stroke}.bunting .flag{stroke:none}.bunting .f1{fill:#ff8fb1}.bunting .f2{fill:#ffd84d}.bunting .f3{fill:#7fc8ff}.stage[data-room=play] .bunting{display:block}@property --p{syntax:"<number>";inherits:false;initial-value:50}.top{z-index:3;flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.needs{gap:clamp(8px,1.6vw,16px);display:flex}.need{--p:50;--ring:var(--good);aspect-ratio:1;background:conic-gradient(var(--ring) calc(var(--p) * 1%), var(--track) 0);width:clamp(54px,8vw,70px);box-shadow:0 4px 0 var(--chip-edge);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;transition:--p .4s;display:grid}.need span{aspect-ratio:1;background:var(--chip);width:76%;font-family:var(--font-emoji);border-radius:50%;place-items:center;font-size:clamp(22px,3.4vw,30px);line-height:1;display:grid}.need.low{--ring:var(--bad);animation:1.1s ease-in-out infinite need-pulse}@keyframes need-pulse{50%{transform:scale(1.1)}}.settings{gap:10px;display:flex}.chip{background:var(--chip);height:54px;box-shadow:0 4px 0 var(--chip-edge);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 18px 0 14px;font-size:18px;display:inline-flex}.chip.round{justify-content:center;width:54px;padding:0}.chip svg{width:26px;height:26px}.chip:active,.need:active,.rooms button:active{translate:0 3px}#sound-btn .sound-off,#sound-btn[aria-pressed=false] .sound-on{display:none}#sound-btn[aria-pressed=false] .sound-off{display:block}.pet-area{z-index:2;flex:1;justify-content:center;align-items:flex-end;min-height:0;display:flex;position:relative}.pet-slot{z-index:1;position:relative}.mirror,.rug,.tub{display:none;position:absolute;left:50%;translate:-50%}.mirror{bottom:calc(var(--pet-h) * .12);width:calc(var(--pet-w) * 1.2);height:calc(var(--pet-h) * 1.02);background:linear-gradient(135deg,#e9f6ff 0 40%,#fff 48%,#dff1ff 56%);border:12px solid #f5c76b;border-radius:50%;box-shadow:0 0 0 4px #d9a440}.rug{bottom:calc(var(--pet-h) * -.02);width:calc(var(--pet-w) * 1.4);height:calc(var(--pet-h) * .2);background:radial-gradient(closest-side,#ff9fbf 0 45%,#ffd27a 46% 70%,#8fd3ff 71%);border-radius:50%}.tub{z-index:2;bottom:calc(var(--pet-h) * -.04);width:calc(var(--pet-w) * 1.2);height:calc(var(--pet-h) * .24);pointer-events:none;background:#fff;border-radius:18px 18px 50% 50%/18px 18px 40% 40%;box-shadow:inset 0 -10px #e3f1fa,0 8px #a9cfe4}.duck{font-family:var(--font-emoji);font-size:calc(var(--pet-w) * .17);line-height:1;position:absolute;top:-.7em;right:8%}.stage[data-room=wardrobe] .mirror,.stage[data-room=bedroom] .rug,.stage[data-room=play] .rug,.stage[data-room=bath] .tub{display:block}.pet{width:var(--pet-w);height:var(--pet-h);touch-action:none;cursor:pointer;transition:filter .6s;position:relative}.stage.night .pet{filter:brightness(.82)saturate(.9)}.pet-svg{width:100%;height:100%;display:block;overflow:visible}.pet .shadow{fill:#3a2f4f29;stroke:none}.pet .body,.pet .ear-outer,.pet .arm ellipse{fill:var(--pet);stroke:var(--pet-dark);stroke-width:4px;transition:fill .4s,stroke .4s}.pet .feet ellipse{fill:var(--pet-dark);stroke:none;transition:fill .4s}.pet .ear-inner{fill:var(--ear);stroke:none}.pet .belly{fill:var(--pet-light);stroke:none;transition:fill .4s}.pet .dirt ellipse{fill:var(--dirt);stroke:none;opacity:0;transition:opacity .4s}.pet .dirt ellipse.on{opacity:.5}.pet .cheek{fill:var(--cheek);stroke:none;opacity:.45;transition:opacity .3s}.pet[data-eyes=happy] .cheek,.pet[data-mouth=grin] .cheek{opacity:.9}.pet .brows path{stroke:var(--ink);stroke-width:5px;opacity:0;transition:opacity .3s}.pet[data-mood=sad]:not(.asleep) .brows path{opacity:1}.pet .white{fill:#fff;stroke:var(--ink);stroke-width:3px}.pet .pupil circle{fill:var(--ink);stroke:none}.pet .pupil .shine{fill:#fff}.pet .pupil{transition:transform .18s ease-out}.pet .eye-open{transform-box:fill-box;transform-origin:50%;transition:transform 70ms}.pet.blink .eye-open{transform:scaleY(.1)}.pet .eye-happy,.pet .eye-sleep{stroke:var(--ink);stroke-width:5px;display:none}.pet[data-eyes=happy] .eye-open,.pet[data-eyes=sleep] .eye-open{display:none}.pet[data-eyes=happy] .eye-happy,.pet[data-eyes=sleep] .eye-sleep{display:inline}.pet .mouth>*{display:none}.pet .mouth path{stroke:var(--ink);stroke-width:5px}.pet .mouth .inside{fill:var(--mouth);stroke:var(--ink);stroke-width:3px}.pet .mouth .tongue{fill:var(--tongue);stroke:none}.pet[data-mouth=smile] .m-smile,.pet[data-mouth=grin] .m-grin,.pet[data-mouth=open] .m-open,.pet[data-mouth=chew] .m-chew,.pet[data-mouth=o] .m-o,.pet[data-mouth=sad] .m-sad,.pet[data-mouth=wavy] .m-wavy{display:inline}.pet .breathe,.pet .jump{transform-box:fill-box;transform-origin:50% 100%}.pet .breathe{animation:3.2s ease-in-out infinite breathe}.pet.asleep .breathe{animation-duration:5s}@keyframes breathe{50%{transform:scale(1.025,.975)}}.pet .jump.hop{animation:.6s cubic-bezier(.3,1.5,.5,1) hop}@keyframes hop{30%{transform:translateY(-14%)scale(.96,1.06)}60%{transform:translateY(0)scale(1.08,.92)}80%{transform:scale(.98,1.02)}}.pet .jump.wiggle{animation:.5s ease-in-out wiggle}@keyframes wiggle{25%{transform:rotate(-5deg)}50%{transform:rotate(4deg)}75%{transform:rotate(-3deg)}}.pet .jump.shake{animation:.5s shake}@keyframes shake{20%,60%{transform:translate(-4%)}40%,80%{transform:translate(4%)}}.pet .arm{transform-box:fill-box}.pet .arm.right{transform-origin:0 60%}.pet.wave .arm.right{animation:1s ease-in-out wave}@keyframes wave{25%,75%{transform:rotate(-40deg)}50%{transform:rotate(-15deg)}}.pet .bubble-in{transform-box:fill-box;transform-origin:50%;animation:.25s ease-out bubble-in}.pet .bubble-in circle{fill:var(--bubble);stroke:var(--bubble-edge);stroke-width:2px}.pet .bubble-in .glint{fill:#fff;stroke:none}.pet .bubble.popping .bubble-in{animation:.22s forwards bubble-pop}@keyframes bubble-in{0%{transform:scale(0)}}@keyframes bubble-pop{to{opacity:0;transform:scale(1.7)}}.thought{aspect-ratio:1;background:var(--chip);width:30%;box-shadow:0 6px 14px var(--shadow);font-family:var(--font-emoji);font-size:calc(var(--pet-w) * .15);pointer-events:none;border-radius:50%;place-items:center;line-height:1;animation:2.4s ease-in-out infinite float;display:grid;position:absolute;top:-2%;right:-6%}.thought:before,.thought:after{content:"";background:var(--chip);border-radius:50%;position:absolute}.thought:before{aspect-ratio:1;width:22%;bottom:-10%;left:4%}.thought:after{aspect-ratio:1;width:12%;bottom:-26%;left:-10%}@keyframes float{50%{translate:0 -8px}}.pet .wear{cursor:pointer}.pet .wear-in{transform-box:fill-box;transform-origin:50% 100%;animation:.5s cubic-bezier(.34,1.56,.64,1) put-on}@keyframes put-on{0%{opacity:0;transform:translateY(-60%)scale(.5)}}.side{z-index:3;left:max(env(safe-area-inset-left), 14px);flex-direction:column;gap:12px;display:flex;position:absolute;top:50%;translate:0 -50%}.tools{z-index:4;min-height:var(--tools-h);flex-wrap:wrap;flex:none;justify-content:center;align-items:center;gap:clamp(6px,1.2vw,14px);padding-block-start:8px;padding-block-end:8px;display:flex;position:relative}.tool{width:var(--tool);height:var(--tool);touch-action:none;cursor:grab;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.tool:before{content:"";background:var(--shadow);border-radius:50%;height:13%;transition:opacity .2s;position:absolute;bottom:4%;left:20%;right:20%}.tool span,.tool .icon{font-family:var(--font-emoji);font-size:calc(var(--tool) * .8);pointer-events:none;filter:drop-shadow(0 3px 2px var(--shadow));line-height:1;animation:2.8s ease-in-out infinite idle;position:relative}.tool:nth-child(2n)>*{animation-delay:-.9s}.tool:nth-child(3n)>*{animation-delay:-1.8s}.tool .icon{width:86%;height:86%;overflow:visible}@keyframes idle{50%{transform:translateY(-6%)rotate(-4deg)}}.tool.held{z-index:10;cursor:grabbing}.tool.held:before{opacity:0}.tool.held>*{filter:drop-shadow(0 16px 10px var(--shadow));animation:none}.tool.lamp{width:calc(var(--tool) * 1.3);height:calc(var(--tool) * 1.3);cursor:pointer;background:radial-gradient(closest-side,#ffe26eb3,#ffe26e00 100%);transition:background .4s}.tool.lamp:before{display:none}.stage.night .tool.lamp{background:radial-gradient(closest-side,#aaafff73,#aaafff00 100%)}.swatch{border:5px solid var(--chip);background:var(--swatch);width:52px;height:52px;box-shadow:0 4px 0 var(--swatch-edge);cursor:pointer;border-radius:50%;padding:0}.swatch.big{width:clamp(60px,11vw,84px);height:clamp(60px,11vw,84px)}.ball{z-index:3;touch-action:none;cursor:grab;width:clamp(60px,9vmin,84px);height:clamp(60px,9vmin,84px);filter:drop-shadow(0 6px 4px var(--shadow));place-items:center;display:grid;position:absolute;top:0;left:0}.ball span{font-family:var(--font-emoji);pointer-events:none;font-size:clamp(54px,8.2vmin,76px);line-height:1}.ball.held{cursor:grabbing}.rooms{z-index:3;height:var(--nav-h);box-shadow:0 6px 18px var(--shadow);background:#ffffffbf;border-radius:999px;flex:none;align-self:center;align-items:center;gap:clamp(6px,1.5vw,14px);padding:8px clamp(10px,2vw,18px);display:flex;position:relative}.rooms button{aspect-ratio:1;background:var(--chip);width:clamp(54px,8.5vw,74px);box-shadow:0 4px 0 var(--chip-edge);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;transition:background .2s,scale .2s;display:grid}.rooms button span{font-family:var(--font-emoji);font-size:clamp(26px,4vw,36px);line-height:1}.rooms button[aria-current=true]{background:var(--accent);box-shadow:0 4px 0 var(--accent-edge);scale:1.12}.fx{z-index:6;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.particle{font-family:var(--font-emoji);pointer-events:none;will-change:transform, opacity;line-height:1;position:absolute}.welcome{z-index:20;background:var(--scrim);place-items:center;padding:24px;animation:.3s ease-out fade-in;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.welcome-card{width:min(560px,100%);box-shadow:0 10px 0 var(--chip-edge), 0 24px 50px var(--shadow);text-align:center;background:#fff8fb;border-radius:40px;flex-direction:column;gap:16px;padding:30px 26px 34px;animation:.5s cubic-bezier(.34,1.56,.64,1) card-in;display:flex}.welcome-title{font-family:var(--font-display);color:var(--accent-edge);text-wrap:balance;margin:0;font-size:clamp(38px,7vw,58px);font-weight:700;line-height:1.05}.welcome-text{color:var(--ink-soft);text-wrap:balance;margin:0;font-size:clamp(18px,2.6vw,24px)}.welcome-colors{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}@keyframes fade-in{0%{opacity:0}}@keyframes card-in{0%{opacity:0;transform:scale(.6)translateY(40px)}}@media (max-width:600px){:root{--nav-h:80px}.top{gap:8px}.needs{gap:6px}.need{width:48px}.need span{font-size:21px}#lang-btn svg{display:none}.chip{height:46px;padding:0 12px 0 10px;font-size:15px}.chip.round{width:46px}.chip svg{width:22px;height:22px}.swatch{width:42px;height:42px}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
