@font-face{font-family:Nunito;font-style:normal;font-weight:500 900;font-display:swap;src:url(/fonts/nunito-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:500 900;font-display:swap;src:url(/fonts/nunito-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122}:root{--ink:#fff;--glass:#ffffff29;--glass-strong:#ffffff3d;--glass-border:#ffffff57;--blue:#2f7bff;--tab-h:76px;font-family:Nunito,-apple-system,system-ui,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{color:var(--ink);overscroll-behavior:none;-webkit-user-select:none;user-select:none;background-color:#0000;background-image:radial-gradient(120% 40% at 85% 6%,#3ce6be59,#0000 60%),radial-gradient(90% 35% at 15% 12%,#825aff66,#0000 60%),radial-gradient(110% 30% at 50% 100%,#ffffff80,#0000 70%),linear-gradient(#121647 0%,#25297f 38%,#54399c 72%,#3a2a70 100%);background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box}body:before{content:"";pointer-events:none;opacity:.8;background-image:radial-gradient(1.5px 1.5px at 12% 8%,#fff,#0000),radial-gradient(1px 1px at 38% 14%,#fff,#0000),radial-gradient(1.5px 1.5px at 62% 6%,#fff,#0000),radial-gradient(1px 1px at 82% 18%,#fff,#0000),radial-gradient(1px 1px at 25% 28%,#fff,#0000),radial-gradient(1.5px 1.5px at 92% 34%,#fff,#0000);position:fixed;inset:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.app{flex-direction:column;height:100dvh;display:flex;position:relative;overflow:hidden}.screen{min-height:0;padding:calc(env(safe-area-inset-top) + 10px) 16px calc(var(--tab-h) + env(safe-area-inset-bottom) + 14px);flex-direction:column;flex:1;gap:6px;display:flex}.topbar{justify-content:flex-end;align-items:center;display:flex}.hello-pill{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:999px;align-items:center;gap:10px;padding:6px 18px 6px 6px;display:flex}.avatar{background:linear-gradient(135deg,#ffb86b,#ff6f91);border-radius:50%;place-items:center;width:44px;height:44px;font-size:22px;font-weight:800;display:grid;box-shadow:0 0 0 2px #ffffff80}.hello-text{font-size:15px;font-weight:600;line-height:1.15}.top-actions{gap:10px;display:flex}.round-btn{border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#1418508c;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:relative}.round-btn svg{width:22px;height:22px}.round-btn .dot{background:#ff5b7f;border-radius:50%;width:8px;height:8px;position:absolute;top:9px;right:11px}.hero{padding:2px 4px 0}.hero h2,.hero p{max-width:62%}.hero h1{letter-spacing:-.5px;text-shadow:0 3px 14px #00002866;margin:0;font-size:36px;font-weight:900;line-height:1}.hero-heart{color:#8fb2ff;font-size:26px}.hero h2{margin:2px 0 6px;font-size:24px;font-weight:700}.hero p{opacity:.92;text-shadow:0 1px 8px #00002880;margin:0;font-size:13.5px;line-height:1.35}.stage{flex:1;align-items:flex-end;min-height:0;display:flex;position:relative}.olaf-wrap{flex-direction:column;align-items:center;width:70%;max-height:100%;display:flex;position:absolute;bottom:-6px;left:-8px}.olaf{filter:drop-shadow(0 8px 14px #08082859);cursor:pointer;touch-action:manipulation;width:100%;max-height:38dvh;overflow:visible}.bubble{color:#23245e;background:#ffffffeb;border-radius:18px;max-width:74%;margin-bottom:6px;padding:9px 13px;font-size:13.5px;font-weight:600;line-height:1.25;animation:.28s ease-out pop;position:relative;box-shadow:0 6px 18px #08082859}.bubble:after{content:"";background:inherit;border-radius:3px;width:12px;height:12px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.chips{flex-direction:column;gap:10px;width:47%;margin:0;padding:0;list-style:none;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.chip{text-align:left;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(135deg,#becdff8c,#968ceb73);border-radius:26px;align-items:center;gap:8px;width:100%;padding:9px 8px 9px 9px;transition:transform .12s;display:flex}.chip:active{transform:scale(.97)}.chip-icon{background:#fff;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid}.chip-icon svg{width:21px;height:21px}.chip.blue .chip-icon{color:#3b6bff}.chip.yellow .chip-icon{color:#f5a300}.chip.pink .chip-icon{color:#ff4f7b}.chip.gold .chip-icon{color:#f2b500}.chip-label{flex:1;font-size:12.5px;font-weight:600;line-height:1.15}.chev{opacity:.8;flex:none;width:16px;height:16px}.actions{grid-template-columns:1fr auto 1fr;align-items:end;gap:10px;padding-top:6px;display:grid}.card{text-align:left;color:#24265f;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff9e;border-radius:24px;flex-direction:column;gap:2px;min-height:96px;padding:10px 12px;display:flex;position:relative}.card-icon{color:#fff;border-radius:13px;place-items:center;width:40px;height:40px;margin-bottom:2px;display:grid}.card-icon svg{width:22px;height:22px}.card-icon.violet{background:linear-gradient(135deg,#8d7cff,#6f5ce6)}.card-icon.coral{background:linear-gradient(135deg,#ff7a8c,#ff4f7b)}.card-title{padding-right:14px;font-size:15px;font-weight:800}.card-sub{opacity:.7;padding-right:14px;font-size:11.5px;line-height:1.15}.card-chev{opacity:.55;width:16px;height:16px;position:absolute;top:50%;right:8px}.mic-wrap{flex-direction:column;align-items:center;gap:4px;margin-bottom:2px;display:flex}.mic{color:#fff;touch-action:none;background:radial-gradient(circle at 35% 30%,#5aa2ff,#1f63f2 70%);border-radius:50%;place-items:center;width:88px;height:88px;transition:transform .12s;display:grid;box-shadow:0 0 0 5px #ffffff59,0 0 28px 6px #4696ffbf}.mic svg{width:40px;height:40px}.mic.on{animation:1s ease-in-out infinite pulse;transform:scale(1.1)}.mic-label{text-align:center;text-shadow:0 1px 8px #00002899;font-size:13px;font-weight:800;line-height:1.15}.tabbar{left:10px;right:10px;bottom:calc(env(safe-area-inset-bottom) + 6px);height:var(--tab-h);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#d6d0f580;border-radius:30px;grid-template-columns:repeat(4,1fr);align-items:center;display:grid;position:fixed}.tab{color:#2a2c66;flex-direction:column;align-items:center;gap:3px;padding:6px 0;font-size:12px;font-weight:600;text-decoration:none;display:flex;position:relative}.tab-icon{width:30px;height:30px}.tab.active{color:var(--blue)}.tab.active:after{content:"";background:var(--blue);border-radius:3px;width:38px;height:3px;position:absolute;bottom:0}.placeholder{text-align:center;padding-top:calc(env(safe-area-inset-top) + 28px);align-items:center;gap:12px}.placeholder h1{margin:0;font-size:32px;font-weight:900}.placeholder-olaf{justify-content:center;width:52%;max-height:34dvh;display:flex}.placeholder p{max-width:300px;margin:0;line-height:1.4}.placeholder .soon{opacity:.7;font-size:14px}.olaf .body{transform-origin:150px 320px;animation:4s ease-in-out infinite bob}.olaf .head{transform-origin:150px 170px;animation:6s ease-in-out infinite sway}.olaf .eyes{transform-box:fill-box;transform-origin:50%;animation:5s infinite blink}.olaf .pupils{transition:transform .3s}.olaf .mouth{transform-box:fill-box;transform-origin:50% 0}.olaf .arm{transform-box:view-box;transition:transform .3s}.olaf .arm.left{transform-origin:94px 188px}.olaf .arm.right{transform-origin:206px 188px}.olaf.listening .head{transition:transform .3s;animation:none;transform:rotate(-8deg)}.olaf.listening .brows{transform:translateY(-4px)}.olaf.thinking .pupils{transform:translate(-4px,-8px)}.olaf.thinking .head{transition:transform .3s;animation:none;transform:rotate(5deg)}.olaf.speaking .mouth{animation:.32s ease-in-out infinite talk}.olaf.laugh .body{animation:.22s linear infinite shake}.olaf.laugh .mouth{animation:.2s ease-in-out infinite talk}.olaf.laugh .eyes{animation:none;transform:scaleY(.55)}.olaf.hug .arm.left{transform:rotate(-70deg)translateY(6px)}.olaf.hug .arm.right{transform:rotate(70deg)translateY(6px)}.olaf.hug .eyes{animation:none;transform:scaleY(.4)}@keyframes bob{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-4px)scale(1.012,.99)}}@keyframes sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2.5deg)}}@keyframes blink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.08)}}@keyframes talk{0%,to{transform:scaleY(.55)}50%{transform:scaleY(1.05)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px,-3px)}75%{transform:translate(3px,-1px)}}@keyframes pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{box-shadow:0 0 0 5px #ffffff59,0 0 28px 6px #4696ffbf}50%{box-shadow:0 0 0 10px #ffffff38,0 0 44px 14px #4696ffe6}}@media (prefers-reduced-motion:reduce){.olaf *,.bubble,.mic{animation:none!important}}@media (height<=700px){.hero p{display:none}.olaf{max-height:30dvh}}
