@property --smile{syntax:"<number>";inherits:true;initial-value:.35}@keyframes character-smile-drift{0%,62%,to{--smile:0.34}72%{--smile:0.62}84%{--smile:0.44}}.character{animation:character-smile-drift 19s ease-in-out infinite}@keyframes character-breathe{0%{transform:scale(1) translateY(0)}34%{transform:scale(1.022,1.016) translateY(-1.4px)}to{transform:scale(1) translateY(0)}}.character__torso-shape{animation:character-breathe var(--breath-dur) cubic-bezier(.45,0,.35,1) infinite}@keyframes character-shadow-breathe{0%,to{transform:scale(1);opacity:1}34%{transform:scale(.97,.94);opacity:.88}}.character__shadow{animation:character-shadow-breathe var(--breath-dur) cubic-bezier(.45,0,.35,1) infinite}@keyframes character-sway{0%{transform:translateX(0) rotate(0deg)}27%{transform:translateX(1.6px) rotate(.5deg)}53%{transform:translateX(-.6px) rotate(-.25deg)}78%{transform:translateX(-1.9px) rotate(-.6deg)}to{transform:translateX(0) rotate(0deg)}}.character__body{animation:character-sway var(--sway-dur) cubic-bezier(.37,0,.63,1) infinite}@keyframes character-weight-shift{0%{transform:translateX(0) translateY(0) rotate(0deg)}38%{transform:translateX(-2.4px) translateY(.8px) rotate(-1.4deg)}62%{transform:translateX(-1.6px) translateY(.5px) rotate(-.9deg)}to{transform:translateX(0) translateY(0) rotate(0deg)}}.character__hips{animation:character-weight-shift var(--weight-dur) cubic-bezier(.5,0,.5,1) infinite}@keyframes character-leg-plant{0%,to{transform:rotate(0deg)}38%,62%{transform:rotate(1.1deg)}}@keyframes character-leg-free{0%,to{transform:rotate(0deg)}38%,62%{transform:rotate(-1.8deg)}}.character__leg--left .character__thigh{animation:character-leg-plant var(--weight-dur) cubic-bezier(.5,0,.5,1) infinite}.character__leg--right .character__thigh{animation:character-leg-free var(--weight-dur) cubic-bezier(.5,0,.5,1) infinite}@keyframes character-foot-settle{0%,72%,to{transform:rotate(0deg)}80%{transform:rotate(-7deg)}88%{transform:rotate(-2deg)}}.character__leg--right .character__foot{animation:character-foot-settle calc(var(--weight-dur) * 1.31) ease-in-out infinite}@keyframes character-head-bob{0%{transform:translateY(0) rotate(0deg)}31%{transform:translateY(-1.2px) rotate(.7deg)}64%{transform:translateY(.6px) rotate(-.5deg)}to{transform:translateY(0) rotate(0deg)}}.character__head-bob{animation:character-head-bob calc(var(--sway-dur) * .83) cubic-bezier(.37,0,.63,1) infinite}@keyframes character-hair-sway{0%{transform:rotate(0deg) translateX(0)}29%{transform:rotate(1.5deg) translateX(.7px)}61%{transform:rotate(-.9deg) translateX(-.5px)}to{transform:rotate(0deg) translateX(0)}}.character__hair-back{animation:character-hair-sway calc(var(--hair-dur) * 1.17) ease-in-out infinite;animation-delay:-1.9s}.character__hair-cap{animation:character-hair-sway var(--hair-dur) ease-in-out infinite}.character__hair-fringe{animation:character-hair-sway calc(var(--hair-dur) * .79) ease-in-out infinite;animation-delay:-.7s}.character__hair-lock--left{animation:character-hair-sway calc(var(--hair-dur) * 1.09) ease-in-out infinite;animation-delay:-2.6s}.character__hair-lock--right{animation:character-hair-sway calc(var(--hair-dur) * .91) ease-in-out infinite;animation-delay:-1.3s}@keyframes character-cowlick{0%{transform:rotate(0deg) scaleY(1)}33%{transform:rotate(5deg) scaleY(1.04)}68%{transform:rotate(-3deg) scaleY(.98)}to{transform:rotate(0deg) scaleY(1)}}.character__hair-cowlick{animation:character-cowlick calc(var(--hair-dur) * .63) ease-in-out infinite}@keyframes character-fold-shift{0%{transform:rotate(0deg) scaleY(1);opacity:.55}40%{transform:rotate(-2.5deg) scaleY(1.06);opacity:.75}to{transform:rotate(0deg) scaleY(1);opacity:.55}}.character__shirt-fold{animation:character-fold-shift calc(var(--breath-dur) * 1.23) ease-in-out infinite}.character__shirt-fold--b{animation-delay:-1.1s}@keyframes character-shoulder-roll{0%{transform:translateY(0) rotate(0deg)}36%{transform:translateY(-1.3px) rotate(-1.6deg)}70%{transform:translateY(.4px) rotate(.7deg)}to{transform:translateY(0) rotate(0deg)}}.character__shoulder{animation:character-shoulder-roll calc(var(--arm-dur) * .87) ease-in-out infinite}.character__arm--right .character__shoulder{animation-delay:-2.4s}@keyframes character-arm-swing{0%{transform:rotate(2deg)}34%{transform:rotate(4.2deg)}71%{transform:rotate(.6deg)}to{transform:rotate(2deg)}}@keyframes character-forearm-swing{0%{transform:rotate(3deg)}38%{transform:rotate(5.4deg)}74%{transform:rotate(1.8deg)}to{transform:rotate(3deg)}}@keyframes character-hand-idle{0%{transform:rotate(0deg)}42%{transform:rotate(3.4deg)}to{transform:rotate(0deg)}}.character__upper-arm{animation:character-arm-swing var(--arm-dur) cubic-bezier(.37,0,.63,1) infinite}.character__forearm{animation:character-forearm-swing calc(var(--arm-dur) * 1.13) cubic-bezier(.37,0,.63,1) infinite;animation-delay:-.45s}.character__hand{animation:character-hand-idle calc(var(--arm-dur) * .71) ease-in-out infinite;animation-delay:-.9s}.character__arm--right .character__upper-arm{animation-delay:-3.1s}.character__arm--right .character__forearm{animation-delay:-2.2s}.character__arm--right .character__hand{animation-delay:-1.7s}@keyframes character-finger-fidget{0%,to{transform:rotate(0deg)}30%{transform:rotate(-7deg)}56%{transform:rotate(-2deg)}}.character__finger{animation:character-finger-fidget var(--finger-dur) ease-in-out infinite}.character__arm--right .character__finger{animation-duration:calc(var(--finger-dur) * 1.19)}@keyframes character-thumb-fidget{0%,to{transform:rotate(0deg)}44%{transform:rotate(-9deg)}}.character__thumb{animation:character-thumb-fidget calc(var(--finger-dur) * 1.37) ease-in-out infinite}@keyframes character-mouth-settle{0%,62%,to{transform:scaleY(1) scaleX(1)}70%{transform:scaleY(.86) scaleX(1.03)}82%{transform:scaleY(1.06) scaleX(.99)}}.character__mouth-cavity{transform-origin:top center;animation:character-mouth-settle calc(var(--breath-dur) * 2.11) ease-in-out infinite}@keyframes character-float{0%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-7px) rotate(3deg)}to{transform:translateY(0) rotate(0deg)}}.character__accessory-inner{animation:character-float calc(var(--sway-dur) * .94) ease-in-out infinite}.character__accessory--dot .character__accessory-inner{animation-duration:calc(var(--sway-dur) * .67);animation-delay:-1.4s}.character__accessory--pill .character__accessory-inner{animation-duration:calc(var(--sway-dur) * 1.21);animation-delay:-2.8s}.character__accessory{transform:translate3d(0,calc(var(--scroll-t) * -14px),0) rotate(calc(var(--scroll-t) * -5deg));transition:transform .26s cubic-bezier(.22,1,.36,1)}.character__accessory--dot{transform:translate3d(calc(var(--scroll-t) * 5px),calc(var(--scroll-t) * 22px),0)}.character__accessory--pill{transform:translate3d(calc(var(--scroll-t) * -6px),calc(var(--scroll-t) * -18px),0) rotate(calc(var(--scroll-t) * 8deg))}@keyframes character-point-raise{0%{transform:rotate(2deg)}60%{transform:rotate(88deg)}to{transform:rotate(82deg)}}@keyframes character-point-extend{0%{transform:rotate(3deg)}60%{transform:rotate(18deg)}to{transform:rotate(14deg)}}.character[data-state=pointing] .character__arm--right .character__upper-arm{animation:character-point-raise .42s cubic-bezier(.34,1.32,.64,1) forwards}.character[data-state=pointing] .character__arm--right .character__forearm{animation:character-point-extend .46s cubic-bezier(.34,1.32,.64,1) 40ms forwards}@keyframes character-wave-raise{0%{transform:rotate(2deg)}to{transform:rotate(148deg)}}@keyframes character-wave-swing{0%{transform:rotate(3deg)}25%{transform:rotate(-24deg)}50%{transform:rotate(16deg)}75%{transform:rotate(-20deg)}to{transform:rotate(0deg)}}.character[data-state=waving] .character__arm--right .character__upper-arm{animation:character-wave-raise .3s cubic-bezier(.34,1.36,.64,1) forwards}.character[data-state=waving] .character__arm--right .character__forearm{animation:character-wave-swing .62s ease-in-out .26s 3 both}@keyframes character-jump{0%{transform:translateY(0) scaleY(1)}18%{transform:translateY(2px) scaleY(.94)}46%{transform:translateY(-26px) scaleY(1.05)}74%{transform:translateY(0) scaleY(.96)}88%{transform:translateY(-4px) scaleY(1.01)}to{transform:translateY(0) scaleY(1)}}@keyframes character-jump-shadow{0%,to{transform:scale(1);opacity:1}46%{transform:scale(.72);opacity:.5}}@keyframes character-clap-upper{0%{transform:rotate(2deg)}30%{transform:rotate(-80deg)}to{transform:rotate(-74deg)}}@keyframes character-clap-fore{0%{transform:rotate(3deg)}30%{transform:rotate(-56deg)}45%,75%{transform:rotate(-30deg)}60%,90%{transform:rotate(-58deg)}to{transform:rotate(-42deg)}}.character[data-state=celebrating] .character__body{animation:character-jump .9s cubic-bezier(.3,.9,.4,1) both}.character[data-state=celebrating] .character__shadow{animation:character-jump-shadow .9s cubic-bezier(.3,.9,.4,1) both}.character[data-state=celebrating] .character__upper-arm{animation:character-clap-upper .82s cubic-bezier(.34,1.3,.64,1) both}.character[data-state=celebrating] .character__forearm{animation:character-clap-fore .9s ease-in-out both}.character[data-state=celebrating]{animation:none;--smile:1;--brow-raise:0.8}@keyframes character-think-upper{0%{transform:rotate(2deg)}to{transform:rotate(-34deg)}}@keyframes character-think-fore{0%{transform:rotate(3deg)}to{transform:rotate(-122deg)}}@keyframes character-foot-tap{0%,55%,to{transform:rotate(0deg)}18%{transform:rotate(-13deg)}34%{transform:rotate(0deg)}}.character[data-state=thinking] .character__arm--left .character__upper-arm{animation:character-think-upper .46s cubic-bezier(.22,1,.36,1) forwards}.character[data-state=thinking] .character__arm--left .character__forearm{animation:character-think-fore .52s cubic-bezier(.22,1,.36,1) 60ms forwards}.character[data-state=thinking] .character__leg--right .character__foot{animation:character-foot-tap .9s ease-in-out infinite}.character[data-state=thinking]{animation:none;--head-roll:-5deg;--smile:0.18;--brow-skew:0.7;--look-y:-0.5;--look-x:-0.6}@keyframes character-write-scribble{0%,to{transform:rotate(-58deg) translateX(0)}25%{transform:rotate(-54deg) translateX(2.5px)}50%{transform:rotate(-61deg) translateX(-1px)}75%{transform:rotate(-55deg) translateX(1.8px)}}@keyframes character-write-upper{0%{transform:rotate(2deg)}to{transform:rotate(-42deg)}}.character[data-state=writing] .character__arm--right .character__upper-arm{animation:character-write-upper .38s cubic-bezier(.22,1,.36,1) forwards}.character[data-state=writing] .character__arm--right .character__forearm{animation:character-write-scribble .62s ease-in-out infinite}.character[data-state=writing]{animation:none;--head-pitch:9deg;--look-y:0.8;--smile:0.25}@keyframes character-scratch-upper{0%{transform:rotate(2deg)}to{transform:rotate(140deg)}}@keyframes character-scratch-fore{0%{transform:rotate(3deg)}to{transform:rotate(60deg)}}@keyframes character-scratch-wrist{0%,to{transform:rotate(0deg) translateY(0)}30%{transform:rotate(-11deg) translateY(-1.5px)}65%{transform:rotate(6deg) translateY(1px)}}.character[data-state=confused] .character__arm--right{z-index:6}.character[data-state=confused] .character__arm--right .character__upper-arm{animation:character-scratch-upper .42s cubic-bezier(.22,1,.36,1) forwards}.character[data-state=confused] .character__arm--right .character__forearm{animation:character-scratch-fore .46s cubic-bezier(.22,1,.36,1) 60ms forwards}.character[data-state=confused] .character__arm--right .character__hand{animation:character-scratch-wrist .52s ease-in-out .42s infinite}@keyframes character-confused-tilt{0%,to{transform:rotate(0deg)}50%{transform:rotate(2.5deg)}}.character[data-state=confused] .character__head-bob{animation:character-confused-tilt 2.4s ease-in-out infinite}.character[data-state=confused]{animation:none;--head-roll:8deg;--brow-skew:-1;--smile:0.05;--look-x:0.5;--look-y:-0.3}@keyframes character-nod{0%{transform:translateY(0) rotate(0deg)}40%{transform:translateY(3px) rotate(-1.5deg)}70%{transform:translateY(-1px) rotate(.5deg)}to{transform:translateY(0) rotate(0deg)}}.character[data-state=nodding] .character__head-bob{animation:character-nod .64s cubic-bezier(.34,1.3,.64,1)}.character[data-state=nodding]{animation:none;--smile:0.7}@keyframes character-worry-glance{0%,to{transform:translateY(0) rotate(0deg)}30%{transform:translateY(-.5px) rotate(-1.4deg)}65%{transform:translateY(.5px) rotate(1.2deg)}}.character[data-state=worried] .character__head-bob{animation:character-worry-glance 1.9s ease-in-out infinite}.character[data-state=worried]{animation:none;--smile:0.02;--brow-raise:0.85;--brow-skew:0;--head-roll:-3deg}.character[data-state=worried] .character__brow--left{transform:translateY(-5px) rotate(9deg)}.character[data-state=worried] .character__brow--right{transform:translateY(-5px) rotate(-9deg)}.character[data-state=pointing],.character[data-state=waving]{animation:none;--smile:0.85;--brow-raise:0.45}@media (prefers-reduced-motion:reduce){.character,.character *,.character :after,.character :before{animation:none!important;transition:none!important}.character{--smile:0.6;--brow-raise:0.1;--look-x:0.1;--look-y:-0.05}}.mascot{pointer-events:none;contain:paint}.mascot__figure{display:block}.mascot-scene{position:relative}.mascot-scene>:not(.mascot){position:relative;z-index:1}.mascot--bust,.mascot--corner,.mascot--edge,.mascot--hero{overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent);mask-image:linear-gradient(180deg,#000 72%,transparent)}.mascot--edge{-webkit-mask-image:linear-gradient(180deg,#000 90%,transparent);mask-image:linear-gradient(180deg,#000 90%,transparent)}.mascot--hero{--char-size:clamp(190px,23vw,280px);height:calc(var(--char-size) * 1.12);width:100%;position:relative;z-index:0}.mascot--aside,.mascot--hero{display:grid;justify-items:center}.mascot--aside{--char-size:clamp(170px,18vw,250px)}.mascot--bust{--char-size:clamp(160px,18vw,220px);height:calc(var(--char-size) * .82);width:100%;display:grid;justify-items:center;position:relative;z-index:0}.mascot--edge{--char-size:clamp(170px,19vw,250px);position:absolute;bottom:0;height:calc(var(--char-size) * 1.22);z-index:0}.mascot--edge.mascot--right{right:clamp(-40px,-2vw,0px)}.mascot--edge.mascot--left{left:clamp(-40px,-2vw,0px)}.mascot--corner{--char-size:clamp(112px,11vw,158px);position:fixed;bottom:84px;height:calc(var(--char-size) * .86);z-index:5}.mascot--corner.mascot--left{left:18px}.mascot--corner.mascot--right{right:18px}.mascot--crossing{--char-size:clamp(130px,15vw,190px);container-type:inline-size;contain:none;position:absolute;left:0;right:0;top:4%;height:calc(var(--char-size) * 1.75);z-index:0;overflow:visible}@keyframes character-cross{0%{transform:translateX(-30cqw) scaleX(1)}44%{transform:translateX(96cqw) scaleX(1)}50%,54%{transform:translateX(96cqw) scaleX(-1)}96%{transform:translateX(-30cqw) scaleX(-1)}to{transform:translateX(-30cqw) scaleX(1)}}.mascot--crossing .mascot__figure{animation:character-cross 26s linear infinite;animation-delay:-6s;will-change:transform}@media (prefers-reduced-motion:reduce){.mascot--crossing .mascot__figure{transform:translateX(30cqw)}}@media (max-width:1200px){.mascot--corner{display:none}}@media (max-width:1080px){.mascot--edge{display:none}}@media (max-width:900px){.mascot--hero{--char-size:clamp(150px,34vw,200px)}.mascot--bust{--char-size:clamp(150px,30vw,190px)}.mascot--desk{--char-size:clamp(180px,34vw,240px)}}@media (max-width:960px){.mascot--aside,.mascot--crossing{display:none}}@media (max-width:560px){.mascot--hero{display:none}}