@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-ext-400-normal-CuPM9foi.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-400-normal-xaE7D4Sw.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-400-normal-xAOo5cBP.woff2)format("woff2"),url(/assets/nunito-cyrillic-400-normal-D1j0u8EH.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-vietnamese-400-normal-BHkVbP3T.woff2)format("woff2"),url(/assets/nunito-vietnamese-400-normal-DtOtW02z.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2)format("woff2"),url(/assets/nunito-latin-ext-400-normal-CjMJVfGn.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-ext-600-normal-CWPPjBOD.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-600-normal-vnfu4DTE.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-600-normal-DJGQ2h05.woff2)format("woff2"),url(/assets/nunito-cyrillic-600-normal-BUjmtIuu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-vietnamese-600-normal-BY8O6Cug.woff2)format("woff2"),url(/assets/nunito-vietnamese-600-normal-DO1RqFw5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-ext-600-normal-Dd9Zuxh1.woff2)format("woff2"),url(/assets/nunito-latin-ext-600-normal-BKUpuB78.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-700-normal-DfoqN4Gs.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-700-normal-DP36NgGt.woff2)format("woff2"),url(/assets/nunito-cyrillic-700-normal-DfHRUDv-.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-vietnamese-700-normal-Ch8EUCfz.woff2)format("woff2"),url(/assets/nunito-vietnamese-700-normal-C9SQsXvj.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2)format("woff2"),url(/assets/nunito-latin-ext-700-normal-D4woHhbd.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-ext-800-normal-B-cvGohL.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-800-normal-pjRatrRO.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-800-normal-D3igD7Kl.woff2)format("woff2"),url(/assets/nunito-cyrillic-800-normal-DymMgApb.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-vietnamese-800-normal-D_CZYdm9.woff2)format("woff2"),url(/assets/nunito-vietnamese-800-normal-Dz0hZPb5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-ext-800-normal-CtU8tJOV.woff2)format("woff2"),url(/assets/nunito-latin-ext-800-normal-CDcxIxx8.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#34324e;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--green:#326949;--ink:#34324e;--muted:#584d69;--paper:#fffdf8;--title:clamp(30px, 3.3vw, 49px);--text:clamp(16px, 1.5vw, 20px);--portrait:clamp(96px, 11vw, 112px);--space:clamp(16px, 2vw, 28px);background:#d8cfee;font-family:Nunito,sans-serif;font-weight:600}*{box-sizing:border-box}body{margin:0}button,input{font:inherit;min-height:64px;color:inherit}button{cursor:pointer;transition:transform .15s,background .15s}button:disabled{cursor:default}button,input{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline-offset:5px;outline:3px solid #65469e}.animal-option:has(input:focus-visible){outline-offset:5px;outline:3px solid #65469e}button:not(:disabled):active{transform:translateY(2px)}h1,p{margin:0}h1:focus{outline:none}h1{font-size:var(--title);overflow-wrap:anywhere;font-weight:800;line-height:1.15}.app-shell{min-height:100dvh;padding:var(--space);background:radial-gradient(at 50% 30%,#e9e4f7,#d8cfee 65%,#d0c6e8)}.experience{min-height:calc(100dvh - 2 * var(--space));gap:var(--space);flex-direction:column;display:flex}.intro{text-align:center}.play-space{flex:1;min-height:0;display:flex}.garden-wrap{flex:1;min-width:0;display:flex}.scene{touch-action:pan-y;width:100%;min-height:clamp(280px,48dvh,750px);position:relative}.scene[data-crowded=true]{min-height:clamp(380px,70dvh,880px)}.scene-fallback{text-align:center;color:var(--muted);align-content:center;justify-items:center;gap:16px;padding:24px;display:grid}.scene:has(.scene-fallback){min-height:0}.play-space:has(.scene-fallback){flex:0}.fallback-portraits{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.fallback-portraits svg{width:var(--portrait);height:var(--portrait)}.hello .fallback-portraits svg,.create .fallback-portraits svg{width:180px;height:180px}.family-section{justify-items:center;gap:var(--space);display:grid}.empty-invitation{font-size:var(--text);text-align:center;background:0 0;border:0;font-weight:800}.profile-list{flex-wrap:wrap;justify-content:center;gap:20px;max-width:800px;display:flex}.profile-card{background:0 0;border:0;border-radius:24px;flex-direction:column;align-items:center;gap:12px;width:140px;padding:6px;display:flex}.profile-card strong{overflow-wrap:anywhere;max-width:100%;font-size:clamp(18px,1.6vw,20px);font-weight:800;line-height:1.25}.portrait{width:var(--portrait);height:var(--portrait);background:#fbe2ce;border:5px solid #fff7ec;border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid;position:relative}.portrait.rabbit{background:#e8dff6}.portrait.bear{background:#d5ebd9}.portrait.lion{background:#f4dfb3}.portrait.panda{background:#e2e9e6}.portrait.tiger{background:#f9ecc5}.portrait svg{width:100%;height:100%;padding:4px}.selected .portrait{border-color:var(--green);transform:translateY(-4px)}.profile-check,.option-check{background:var(--green);color:#fff;border:2px solid var(--paper);border-radius:50%;place-items:center;width:28px;height:28px;font-size:18px;line-height:1;display:grid;position:absolute;top:-3px;right:-3px}.option-check:empty{display:none}.add-member .portrait{background:0 0;border:3px dashed #736386;font-size:52px;font-weight:600}.add-member strong{font-size:16px}.confirm-row,.hello-panel{text-align:center}.primary,.secondary,.back-button,.text-button{font-weight:800;font-size:var(--text);border:0;border-radius:40px;justify-content:center;align-items:center;gap:12px;padding:12px 24px;display:inline-flex}.primary{background:var(--green);color:#fffdf4;min-height:72px;box-shadow:0 4px #254f38}.primary:disabled{background:#596b62;box-shadow:0 4px #49564f}.primary .portrait{border:0;width:48px;height:48px}.secondary,.back-button,.text-button{color:var(--muted);background:#f1ecf6}.announcement{color:var(--green);text-align:center;font-size:14px}.announcement:empty{display:none}.create .play-space{gap:var(--space);grid-template-columns:minmax(0,1fr) minmax(480px,1fr);align-items:center;display:grid}.create .garden-wrap{align-self:stretch}.creation-panel{padding:var(--space);background:var(--paper);border-radius:28px;justify-self:center;width:100%;max-width:650px}.back-button{margin-bottom:20px;font-size:16px}.creation-panel>label,legend{font-weight:800;font-size:var(--text);display:block}.field-hint{color:var(--muted);margin:6px 0 12px;font-size:14px;line-height:1.5}.creation-panel input:not([type=radio]){background:#fff;border:2px solid #a79aad;border-radius:14px;width:100%;padding:12px 16px;font-size:20px}.creation-panel input[aria-invalid=true]{border-color:#943e34}.creation-panel input::placeholder{color:#70627a}fieldset{border:0;min-width:0;margin:24px 0;padding:0}legend{margin-bottom:16px;padding:0}.animal-options{grid-template-columns:repeat(3,minmax(96px,1fr));gap:16px;display:grid}.animal-option{text-align:center;cursor:pointer;background:#f5f1e9;border:4px solid #0000;border-radius:24px;padding:4px 0 8px;font-size:14px;font-weight:800;position:relative}.animal-option.chosen{border-color:var(--green);background:#edf3e7}.animal-option input{opacity:0;width:1px;height:1px;min-height:0;position:absolute}.animal-option svg{width:100%;height:86px;display:block}.creation-panel .primary{width:100%}.field-error{color:#943e34;margin-top:8px;font-size:14px;line-height:1.5}.save-error,.error-banner{color:#943e34;background:#fff0e9;border-radius:16px;margin-bottom:16px;padding:16px}.error-banner{justify-content:center;align-items:center;gap:16px;display:flex}.loading{text-align:center;color:var(--muted);padding:80px 20px}.lock{text-align:center;justify-content:center;align-items:center}.lock .portrait{margin-bottom:16px}.lock-hint{font-size:var(--text);color:var(--muted);margin-top:12px}.lock-panel{width:100%;max-width:420px;padding:var(--space);background:var(--paper);align-items:center;gap:var(--space);border-radius:28px;flex-direction:column;display:flex}.code-dots{gap:18px;display:flex}.code-dots span{border:3px solid #a79aad;border-radius:50%;width:26px;height:26px;transition:background .15s,transform .15s}.code-dots .filled{background:var(--green);border-color:var(--green);transform:scale(1.15)}.code-dots.refused{animation:.45s refused}.code-dots.refused span{border-color:#943e34}@keyframes refused{25%{transform:translate(-10px)}50%{transform:translate(10px)}75%{transform:translate(-6px)}}.keypad{grid-template-columns:repeat(3,1fr);gap:14px;width:100%;display:grid}.key{background:#f1ecf6;border:0;border-radius:24px;min-height:78px;font-size:30px;font-weight:800;box-shadow:0 4px #c9bedd}.key:not(:disabled):active{box-shadow:0 1px #c9bedd}.key.erase{color:var(--muted);font-size:24px}.key:disabled{opacity:.55}.lock-message{color:#943e34;min-height:44px;font-size:16px;line-height:1.4}@media (hover:hover) and (pointer:fine){.profile-card:hover,.animal-option:hover{background:#eee8f5;transform:translateY(-3px)}.primary:not(:disabled):hover{background:#285b3d}.secondary:hover,.back-button:hover,.text-button:hover{background:#e6deef}}@media (width>=701px){:root{--portrait:112px}.profile-card{width:144px}.profile-list:has(.profile-card:nth-child(6)){max-width:656px}}@media (width<=1100px) and (orientation:portrait),(width<=900px){.create .play-space{grid-template-columns:minmax(0,1fr)}.create .scene{min-height:clamp(280px,36dvh,500px)}}@media (width<=700px){.animal-options{grid-template-columns:repeat(2,minmax(96px,1fr))}.profile-list{gap:16px;max-width:460px}.profile-card{width:128px}.error-banner{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
