:root{--mascot-spring:cubic-bezier(.34, 1.56, .64, 1)}.mascot-zone{z-index:40;transition:transform .6s var(--mascot-spring);align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:16px;right:34px;transform:translateY(calc(100% + 16px))}.mascot-zone[data-arrived=true]{transform:translateY(0)}.mascot-zone[data-leaving=true]{transition:transform .3s cubic-bezier(.5,0,.75,0)}.mascot-bubble{background:var(--primary);color:var(--primary-foreground);opacity:0;max-width:250px;transition:opacity var(--duration-exit) var(--ease-out);border-radius:12px;margin-bottom:24px;padding:8px 13px;font-size:12.5px;line-height:1.5;position:relative;transform:translateY(4px)}.mascot-bubble[data-show=true]{opacity:1;transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);transform:translateY(0)}.mascot-bubble:after{content:"";border:6px solid #0000;border-left:9px solid var(--primary);position:absolute;bottom:10px;right:-8px}.mascot-bubble .mascot-ch{opacity:0;animation:mascot-ch-in .6s var(--ease-out) forwards}@keyframes mascot-ch-in{to{opacity:1}}.mascot-body{cursor:pointer;-webkit-tap-highlight-color:transparent;transform-origin:50% 100%;transition:transform .35s var(--mascot-spring)}@media (hover:hover) and (pointer:fine){.mascot-body:not([data-static]):hover{transform:translateY(-4px)}.mascot-body:not([data-static]):hover .mascot-eye{opacity:0}.mascot-body:not([data-static]):hover .mascot-eye-happy{opacity:1}}.mascot-body:not([data-static]):active{transform:translateY(-1px)scale(.96)}.mascot-body[data-static]{cursor:default}.mascot-body[data-bounce=true]{animation:mascot-bounce .45s var(--mascot-spring)}@keyframes mascot-bounce{30%{transform:translateY(-7px)scale(1.03,.97)}}.mascot-body svg{display:block;overflow:visible}.mascot-tuft{transform-origin:38px 8px;animation:5s ease-in-out infinite mascot-sway}@keyframes mascot-sway{0%,to{transform:rotate(0)}50%{transform:rotate(-5deg)}}.mascot-eye{transform-origin:50%;animation:6.4s infinite mascot-blink}@keyframes mascot-blink{0%,1.4%,3%,51%,52.4%,54%,to{transform:scaleY(1)}2.2%,53.2%{transform:scaleY(.1)}}.mascot-eye-happy{opacity:0}.mascot-menu{transform-origin:100% 100%;opacity:0;pointer-events:none;transition:transform var(--duration-exit) var(--ease-out), opacity var(--duration-exit) var(--ease-out);transform:scale(.96)translateY(6px)}.mascot-menu[data-open=true]{opacity:1;pointer-events:auto;transition:transform .28s cubic-bezier(.34,1.4,.64,1),opacity .2s;transform:none}.mascot-menu-item{opacity:0;transform:translateY(6px)}.mascot-menu[data-open=true] .mascot-menu-item{animation:mascot-item-in .3s var(--ease-out) forwards;animation-delay:calc(var(--item-index) * 30ms)}@keyframes mascot-item-in{to{opacity:1;transform:none}}.mascot-pill{opacity:0;pointer-events:none;transition:opacity var(--duration-exit) var(--ease-out), transform var(--duration-exit) var(--ease-out);transform:scale(.9)}.mascot-pill[data-show=true]{opacity:1;pointer-events:auto;transition:opacity .2s ease, transform .3s var(--mascot-spring);transform:scale(1)}.mascot-pill[data-show=true]:active{transform:scale(.94)}.mascot-zone[data-entrance=walk]{transition:transform 1.4s linear;transform:translate(calc(100% + 40px))}.mascot-zone[data-entrance=walk][data-arrived=true]{transform:translate(0)}.mascot-zone[data-walking=true] .mascot-body{animation:.32s ease-in-out infinite mascot-waddle}@keyframes mascot-waddle{0%{transform:rotate(4deg)}25%{transform:rotate(0)translateY(-2px)}50%{transform:rotate(-4deg)}75%{transform:rotate(0)translateY(-2px)}to{transform:rotate(4deg)}}.mascot-zone[data-entrance=fall]{transition:transform .55s cubic-bezier(.5,0,.9,.4);transform:translateY(-100vh)}.mascot-zone[data-entrance=fall][data-arrived=true]{transform:translateY(0)}.mascot-zone[data-landing=true] .mascot-body{animation:2.6s cubic-bezier(.45,0,.55,1) both mascot-crash-recover}@keyframes mascot-crash-recover{0%{transform:scale(1.25,.7)}7%{transform:scale(1)rotate(24deg)}14%{transform:rotate(86deg)translateY(4px)}44%{transform:rotate(86deg)translateY(4px)}52%{transform:rotate(64deg)}64%{transform:rotate(-7deg)}70%{transform:rotate(4deg)}76%{transform:rotate(-5deg)}82%{transform:rotate(5deg)}88%{transform:rotate(-3deg)}to{transform:rotate(0)}}.mascot-dust{opacity:0;pointer-events:none;background:#cbc9c4;border-radius:50%;width:8px;height:8px;position:absolute;bottom:10px}.mascot-dust:first-of-type{right:64px}.mascot-dust:nth-of-type(2){right:-8px}.mascot-dust:nth-of-type(3){bottom:2px;right:28px}.mascot-zone[data-landing=true] .mascot-dust{animation:.6s ease-out forwards mascot-puff}.mascot-zone[data-landing=true] .mascot-dust:first-of-type{animation-delay:1.95s}.mascot-zone[data-landing=true] .mascot-dust:nth-of-type(2){animation-delay:2.1s}.mascot-zone[data-landing=true] .mascot-dust:nth-of-type(3){animation-delay:2.25s}@keyframes mascot-puff{0%{opacity:.8;transform:translate(0)scale(.4)}to{opacity:0;transform:translate(-10px,-14px)scale(1.5)}}@media (prefers-reduced-motion:reduce){.mascot-zone,.mascot-bubble,.mascot-menu,.mascot-pill,.mascot-body{transition:none!important}.mascot-zone[data-walking=true] .mascot-body,.mascot-zone[data-landing=true] .mascot-body,.mascot-zone[data-landing=true] .mascot-dust,.mascot-tuft,.mascot-eye,.mascot-bubble .mascot-ch,.mascot-menu .mascot-menu-item,.mascot-body[data-bounce=true]{animation:none!important}.mascot-bubble .mascot-ch,.mascot-menu[data-open=true] .mascot-menu-item{opacity:1;transform:none}}
