@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap');
.in-telegram body{min-height:var(--tg-viewport-stable-height,100dvh)}
.in-telegram main{padding-top:calc(24px + var(--telegram-safe-top,0px));padding-bottom:calc(30px + max(env(safe-area-inset-bottom),var(--telegram-safe-bottom,0px)));padding-left:calc(22px + var(--telegram-safe-left,0px));padding-right:calc(22px + var(--telegram-safe-right,0px))}
.character-image{display:block;object-fit:contain;max-width:100%;height:auto}
.scene .scene-character{position:relative;width:48%;height:285px;z-index:2;flex-shrink:0;object-position:center bottom}
.scene .scene-character.younger{height:260px;width:44%}
.scene .bunny{position:relative;font-size:65px;margin:0 -5%;padding-bottom:7px;z-index:3}
.scene:has(.scene-character){height:300px;isolation:isolate}
.scene .tree{z-index:-1}
.avatar:has(.character-image){position:relative;width:64px;height:74px;padding:0;overflow:hidden;flex-shrink:0}
.avatar .character-image{position:absolute;left:50%;top:-2px;transform:translateX(-50%);width:132px;max-width:none;height:198px}
.helper-character{display:flex;justify-content:center;margin:12px 0}
.helper-character .character-image{width:130px;height:180px}
.wardrobe-entry{line-height:1.5}
.outfit-picker+.outfit-picker{margin-top:30px;padding-top:26px;border-top:1px solid #dcd8c5}
.wardrobe-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.wardrobe-heading h2{margin:0;font-size:26px}
.outfit-current{font-size:13px;text-align:right;color:#755540;font-weight:800}
.outfit-preview{display:flex;justify-content:center;margin:16px 0 18px;border-radius:22px;background:radial-gradient(ellipse at 50% 70%,#e3d0ef88,transparent 70%),linear-gradient(135deg,#efe9d9,#fdf8ee);overflow:hidden}
.outfit-preview .outfit-model{width:220px;height:300px;padding:10px 0}
.outfit-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:26px}
.outfit-option{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0;border:2px solid #dcd6c7;border-radius:15px;background:#f3eddf;color:#354c44;padding:8px 5px 10px;transition:border-color .15s,background .15s}
.outfit-option:hover{background:#ece0ef}
.outfit-option.selected{border-color:#9064a9;background:#eee1f2}
.outfit-option:focus-visible{outline:3px solid #79518e;outline-offset:3px}
.outfit-option .outfit-thumbnail{width:72px;height:108px;margin-bottom:7px}
.outfit-option>span:not(.outfit-check){font-size:12px;font-weight:800;line-height:1.3;text-align:center}
.outfit-check{position:absolute;top:5px;right:5px;font-size:13px;font-weight:900;color:#fff;background:#85529a;border-radius:50%;width:20px;height:20px;display:grid;place-items:center}
.outfit-check:empty{display:none}
@media(min-width:420px){.outfit-options{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:600px){.outfit-options{grid-template-columns:repeat(5,minmax(0,1fr))}.outfit-option .outfit-thumbnail{height:132px;width:88px}.outfit-preview .outfit-model{height:340px;width:240px}}
:root{font-family:Nunito,ui-rounded,-apple-system,BlinkMacSystemFont,sans-serif;color:#fff5df;background:#172a37;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 10%,#35535b 0,transparent 45%),linear-gradient(#172a37,#213e40);min-height:100dvh}button,input{font:inherit}button{cursor:pointer;border:0;touch-action:manipulation}button:focus-visible,input:focus-visible{outline:3px solid #fff;outline-offset:4px}button:disabled{opacity:.45;cursor:default}.stars{position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle,#e7d8aa 1px,transparent 1.7px);background-size:83px 97px;opacity:.35}main{position:relative;max-width:760px;margin:auto;padding:24px 22px calc(30px + env(safe-area-inset-bottom))}.brand{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#c5d5cc}.sound{font-size:19px;background:#ffffff12;border:1px solid #ffffff25;color:#fff;border-radius:50%;width:44px;height:44px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:#f0ca87;text-transform:uppercase}h1{font-size:clamp(34px,7vw,54px);line-height:1.08;letter-spacing:-1.5px;margin:12px 0 16px;font-weight:900}h2{font-size:28px;line-height:1.16;margin:10px 0 14px}p{line-height:1.6;color:#cddbd4;font-size:16px}.hero{text-align:center;padding:30px 0 10px}.scene{position:relative;height:230px;margin:8px auto 20px;max-width:460px;display:flex;align-items:flex-end;justify-content:center;border-radius:50% 50% 40% 40%;background:radial-gradient(ellipse at 50% 80%,#72948a55,transparent 65%)}.moon{position:absolute;right:48px;top:0;width:67px;height:67px;background:#fff0b8;border-radius:50%;box-shadow:0 0 60px #ffe3a449}.tree{position:absolute;bottom:5px;font-size:112px;filter:saturate(.45);opacity:.65}.tree.left{left:0}.tree.right{right:0}.bunny{font-size:105px;z-index:1;filter:drop-shadow(0 15px 12px #0004)}.fairy{font-size:67px;z-index:2;padding-bottom:0}.float-lamp{position:absolute;top:55px;left:68px;font-size:42px;animation:float 4s ease-in-out infinite}.float-lamp.two{left:auto;right:85px;top:97px;animation-delay:1s}@keyframes float{50%{transform:translateY(-9px)}}.card{background:#fcf4e4;color:#263e3e;border-radius:28px;padding:25px;margin:20px 0;box-shadow:0 16px 40px #0002}.card p{color:#60736c}.primary,.secondary{border-radius:17px;min-height:54px;padding:14px 20px;font-weight:900;font-size:16px}.primary{background:#edc786;color:#273d3c;box-shadow:0 4px 0 #bd9359}.secondary{background:#ffffff10;border:1px solid #ffffff30;color:#f8edda}.card .secondary{background:#e6e9df;border-color:#ccd6ca;color:#36534b}.wide{width:100%;margin-top:10px}.small{font-size:13px}.muted{color:#a9bfb6}.modes{display:grid;gap:12px;margin:22px 0}.mode{text-align:left;border-radius:20px;padding:19px;background:#ffffff0b;color:#fff2d8;border:1px solid #ffffff25}.mode strong{display:block;font-size:18px}.mode span{display:block;color:#bed0c6;margin:6px 0 0;font-size:14px}.tag{display:inline-block;border-radius:30px;padding:7px 12px;background:#e7c47d19;font-size:12px;color:#f0d09a}.progress{display:flex;gap:7px;margin:23px 0;justify-content:center}.lamp{font-size:25px;opacity:.2;filter:grayscale(1)}.lamp.on{opacity:1;filter:none;drop-shadow:0 0 8px #ffe3a4}.role{display:flex;gap:12px;align-items:center}.avatar{font-size:32px;background:#e0e8d7;border-radius:18px;padding:8px}.role strong{font-size:18px}.role span{display:block;font-size:13px;color:#6d7f73}.items{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:23px 0}.item{font-size:43px;background:#f1e7d4;border:2px solid #dfd9c4;border-radius:20px;min-width:76px;min-height:85px;color:#314c43}.item.selected{border-color:#a36f3e;background:#ffe2a9}.count{font-size:18px;display:block;font-weight:900}.recipe-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;margin:8px 0;background:#eee6d4;border-radius:15px;font-size:29px}.recipe-row strong{font-size:26px}.dots{font-size:13px;letter-spacing:3px;color:#ae713f}.pattern{display:flex;justify-content:center;gap:6px;margin:20px 0;flex-wrap:wrap}.bead{width:43px;height:47px;background:#e9e4d5;display:grid;place-items:center;border-radius:12px;font-size:27px}.notice{background:#e6cf9a19;border:1px solid #e7c47d44;padding:15px;border-radius:17px;line-height:1.5;color:#f3dfb8;margin:14px 0}.actions{display:flex;gap:10px}.actions>*{flex:1}.code{font-size:42px;letter-spacing:7px;color:#36534b;font-weight:900;text-align:center}input{width:100%;font-size:25px;text-align:center;letter-spacing:5px;border:2px solid #d0d7c8;padding:13px;border-radius:14px;color:#36534b;background:#fffcf4}.footer{text-align:center;font-size:12px;color:#9bb5a9;margin-top:25px}.credit{text-align:center;margin:12px 0 0}.end{text-align:center}.party-animals{font-size:58px;letter-spacing:8px;margin:20px 0}.pill{border-radius:30px;background:#e7ecdF;padding:10px 13px;color:#36534b;font-size:14px}.pill.selected{background:#edc786}.hidden{display:none}.status{font-size:12px;color:#edcd93;letter-spacing:0;text-transform:none}.back{background:none;color:#bccfc4;font-size:13px;padding:15px 0}.confetti{font-size:45px;animation:float 3s infinite}@media(min-width:700px){main{padding-top:35px}.hero{padding-top:40px}.modes{grid-template-columns:1fr 1fr}.scene{height:250px}.card{padding:32px}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}
/* Guests visiting Valya and Anya */
.scene.with-guests .scene-character{width:36%;height:265px}
.scene.with-guests .scene-character.younger{width:33%;height:245px}
.scene.with-guests .scene-character.guest{width:28%;height:215px;margin:0 -4%}
.who-picker h3{margin:18px 0 0;font-size:16px}
.who-picker .items{margin:10px 0 6px;justify-content:flex-start}
.guest-book{margin:18px 0 4px;padding:12px 14px;border-radius:16px;background:#eef1e8;color:#36534b}
.guest-book summary{cursor:pointer;font-weight:900}
.guest-add{display:flex;gap:8px;align-items:stretch}
.guest-add input{font-size:18px;letter-spacing:0;text-align:left;padding:10px 12px}
.guest-add .secondary{min-height:0;padding:10px 14px}
.guest-list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:6px}
.guest-list li{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.link{background:none;border:0;color:#7a5a8c;text-decoration:underline;font:inherit;font-size:14px;padding:6px}
