.spirit-hit{position:absolute;pointer-events:none;touch-action:none;user-select:none;border-radius:42%;inset:14% 16% 4%}.spirit-hit[data-live]{pointer-events:auto;cursor:pointer}.spirit-hit[data-kind=moth]{inset:8% 14%}.spirit-hit[data-kind=kodama]{inset:18% 20% 4%}.spirit-slip[data-dropped]{animation:1.5s cubic-bezier(.5,0,.9,.6) forwards spirit-slip-fall}@keyframes spirit-slip-fall{0%{opacity:.96;translate:-50% -2px}to{opacity:0;translate:-20% 60px;rotate:18deg}}.spirit-fx{position:absolute;pointer-events:none;overflow:visible;inset:0}.spirit-heart{position:absolute;width:calc(10px*var(--scale,1));margin-left:calc(-5px*var(--scale,1));opacity:0;filter:drop-shadow(0 0 3px oklab(64.1973% .105347 .0182586/.55));animation:spirit-heart-rise 1.5s ease-out var(--delay,0s)both;top:14%;left:50%}@keyframes spirit-heart-rise{0%{opacity:0;transform:translateY(6px)scale(.5)}18%{opacity:.95}to{opacity:0;transform:translate(var(--dx,0),calc(var(--rise,34px)*-1))scale(1)}}.spirit-kaa{position:absolute;letter-spacing:.04em;color:var(--brand-deep,#2a1a24);background:var(--brand-paper,#faefe7);animation:1.7s ease-out both spirit-kaa-pop;border-radius:999px 999px 999px 4px;padding:2px 8px 3px;font-size:11px;font-weight:700;top:4%;left:94%;box-shadow:0 4px 12px -6px #0e070b8c}@keyframes spirit-kaa-pop{0%{opacity:0;transform:translateY(5px)scale(.6)}14%,72%{opacity:.97;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-4px)scale(.95)}}.spirit-pop-ring{position:absolute;animation:.7s ease-out both spirit-pop-ring;border:1.5px solid #8ecfa0cc;border:1.5px solid color(display-p3 .612432 .804936 .642066/.8);border:1.5px solid lab(77.8043% -28.7891 16.587/.8);border-radius:50%;width:30px;height:30px;margin:-15px 0 0 -15px;top:40%;left:50%}.spirit-pop-dot{position:absolute;animation:.75s ease-out both spirit-pop-dot;background:#8ecfa0;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;top:40%;left:50%}@keyframes spirit-pop-ring{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(1.5)}}@keyframes spirit-pop-dot{0%{opacity:1;transform:rotate(var(--angle))translateY(-6px)}to{opacity:0;transform:rotate(var(--angle))translateY(-26px)}}.spirit-spiral{position:absolute;overflow:visible;filter:drop-shadow(0 0 4px oklab(91.7139% .025494 -.00883353/.6));width:46px;margin-left:-23px;top:-34%;left:50%}.spirit-spiral path{stroke-dasharray:100;stroke-dashoffset:100;animation:1.9s ease-in-out both spirit-spiral-draw}@keyframes spirit-spiral-draw{0%{stroke-dashoffset:100;opacity:0}12%{opacity:1}55%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.spirit-glow{position:absolute;aspect-ratio:1;animation:3.2s ease-in-out both spirit-glow-swell;background:radial-gradient(circle,#fff3d6cc 0%,#f7ddb266 40%,#0000 72%);background:radial-gradient(circle,color(display-p3 .991861 .954552 .851182/.8) 0%,color(display-p3 .951572 .870307 .717694/.4) 40%,#0000 72%);background:radial-gradient(circle,lab(96.236% .744313 15.5662/.8) 0%,lab(89.4997% 4.62365 24.6433/.4) 40%,#0000 72%);border-radius:50%;width:78%;top:40%;left:-14%}@keyframes spirit-glow-swell{0%{opacity:0;transform:scale(.5)}25%,70%{opacity:.95;transform:scale(1.1)}to{opacity:0;transform:scale(1.3)}}@media (prefers-reduced-motion:reduce){.spirit-heart,.spirit-kaa,.spirit-pop-ring,.spirit-pop-dot,.spirit-spiral path,.spirit-glow{animation-duration:.01ms}}.spirit-spot{display:inline-block;position:relative;vertical-align:bottom;line-height:0}.spirit-carried{position:fixed;z-index:60;pointer-events:none;inset:0}.spirit-carried-body{position:absolute;top:0;left:0}.spirit-cat .sp-body-loop{animation:sp-breathe calc(3.8s*var(--spirit-slow))ease-in-out infinite}.spirit-cat .sp-head-loop{animation:sp-nod calc(6.2s*var(--spirit-slow))ease-in-out infinite}.spirit-cat .sp-tail-loop{animation:sp-sway calc(3.6s*var(--spirit-slow))ease-in-out infinite}.spirit-cat .sp-wrap{opacity:0}.spirit-cat .sp-purr{opacity:0;transition:opacity .3s}.spirit-cat[data-mood=curious] .sp-head,.spirit-cat[data-mood=surprised] .sp-head{transform:rotate(-6deg)}.spirit-cat[data-mood=curious] .sp-ear-l,.spirit-cat[data-mood=curious] .sp-ear-r{transform:scale(1.07)rotate(3deg)}.spirit-cat[data-mood=surprised] .sp-ear-l,.spirit-cat[data-mood=surprised] .sp-ear-r{transform:scale(1.12)rotate(6deg)}.spirit-cat[data-mood=happy] .sp-tail-loop,.spirit-cat[data-mood=delighted] .sp-tail-loop{animation-duration:calc(1.9s*var(--spirit-slow))}.spirit-cat[data-mood=happy] .sp-head{transform:rotate(4deg)}.spirit-cat[data-mood=shy] .sp-head{transform:rotate(6deg)translateY(1.5px)}.spirit-cat[data-mood=shy] .sp-ear-l,.spirit-cat[data-mood=shy] .sp-ear-r{transform:rotate(-15deg)}.spirit-cat[data-mood=focus] .sp-head{transform:rotate(3deg)translateY(1px)}.spirit-cat[data-mood=sleepy] .sp-head{transform:translateY(2.6px)rotate(3deg)}.spirit-cat[data-mood=sleepy] .sp-ear-l,.spirit-cat[data-mood=sleepy] .sp-ear-r,.spirit-cat[data-mood=asleep] .sp-ear-l,.spirit-cat[data-mood=asleep] .sp-ear-r{transform:rotate(-10deg)}.spirit-cat[data-mood=sleepy] .sp-tail-loop{animation-duration:calc(6s*var(--spirit-slow))}.spirit-cat[data-pose=loaf] .sp-body{transform:scale(1.1,.8)}.spirit-cat[data-pose=loaf] .sp-body-loop{animation:sp-breathe-deep calc(3.4s*var(--spirit-slow))ease-in-out infinite}.spirit-cat[data-pose=loaf] .sp-head{transform:translateY(9.5px)rotate(-3deg)}.spirit-cat[data-pose=loaf] .sp-head-loop{animation:sp-breathe-head calc(3.4s*var(--spirit-slow))ease-in-out infinite}.spirit-cat[data-pose=loaf] .sp-leg-l,.spirit-cat[data-pose=loaf] .sp-leg-r{opacity:0;transform:translateY(-5px)scaleY(.6)}.spirit-cat[data-pose=loaf] .sp-tail{opacity:0;transform:rotate(30deg)}.spirit-cat[data-pose=loaf] .sp-wrap{opacity:1}.spirit-cat[data-pose=stretch] .sp-body{transform:scale(.96,1.06)}.spirit-cat[data-pose=stretch] .sp-head{transform:translateY(-3px)rotate(-6deg)}.spirit-cat[data-pose=stretch] .sp-leg-l{transform:translate(-2.5px)rotate(9deg)}.spirit-cat[data-pose=stretch] .sp-leg-r{transform:translate(2.5px)rotate(-9deg)}.spirit-cat[data-pose=stretch] .sp-ear-l,.spirit-cat[data-pose=stretch] .sp-ear-r{transform:rotate(-12deg)}.spirit-cat[data-pose=bat] .sp-head{transform:rotate(6deg)}.spirit-cat[data-pose=bat] .sp-leg-r-loop{animation:sp-cat-bat calc(1.5s*var(--spirit-slow))ease-in-out infinite}.spirit-cat[data-cue=bat] .sp-leg-r-act{animation:.8s ease-in-out both sp-cat-bat}.spirit-cat[data-pose=walk] .sp-rock-loop{animation:sp-waddle calc(.62s*var(--spirit-slow))ease-in-out infinite}.spirit-cat[data-pose=walk] .sp-leg-l-loop{animation:sp-step calc(.62s*var(--spirit-slow))ease-in-out infinite}.spirit-cat[data-pose=walk] .sp-leg-r-loop{animation:sp-step calc(.62s*var(--spirit-slow))ease-in-out calc(-.31s*var(--spirit-slow))infinite}.spirit-cat[data-pose=walk] .sp-tail{transform:rotate(-10deg)}.spirit-cat[data-pose=walk] .sp-tail-loop{animation-duration:calc(1.3s*var(--spirit-slow))}.spirit-cat[data-pose=flick] .sp-tail-loop{animation:sp-flick calc(1s*var(--spirit-slow))ease-in-out infinite}.spirit-cat[data-pose=purr] .sp-head-loop{animation:sp-cat-purr-lean calc(1.1s*var(--spirit-slow))ease-in-out infinite}.spirit-cat[data-pose=purr] .sp-body-loop{animation:.14s ease-in-out infinite alternate sp-cat-purr-shiver}.spirit-cat[data-pose=purr] .sp-purr{transform-origin:50px 50px;animation:.42s ease-in-out infinite alternate sp-cat-purr-lines}.spirit-cat[data-pose=roll] .sp-spin-act{animation:2.2s ease-in-out both sp-cat-roll}.spirit-cat[data-pose=hop] .sp-rock-act{animation:.62s ease-out 2 both sp-hop-big}.spirit-cat[data-pose=hop] .sp-shadow{animation:.62s ease-out 2 sp-shadow-hop}.spirit-cat[data-held] .sp-body{transform:translateY(3px)scale(.9,1.1)}.spirit-cat[data-held] .sp-head{transform:translateY(-1px)}.spirit-cat[data-held] .sp-leg-l{transform:translateY(4px)rotate(5deg)}.spirit-cat[data-held] .sp-leg-r{transform:translateY(4px)rotate(-5deg)}.spirit-cat[data-held] .sp-leg-l-loop{animation:sp-dangle calc(.9s*var(--spirit-slow))ease-in-out infinite}.spirit-cat[data-held] .sp-leg-r-loop{animation:sp-dangle calc(.9s*var(--spirit-slow))ease-in-out calc(-.45s*var(--spirit-slow))infinite}.spirit-cat[data-held] .sp-tail-loop{animation:sp-wag calc(1.1s*var(--spirit-slow))ease-in-out infinite}.spirit-cat[data-held] .sp-ear-l,.spirit-cat[data-held] .sp-ear-r{transform:rotate(-7deg)}.spirit-cat[data-act=ear] .sp-ear-r-act,.spirit-cat[data-act=dream] .sp-ear-l-act{animation:sp-act-ear var(--act-ms)ease-in-out both}.spirit-cat[data-act=dream] .sp-wrap-act{animation:sp-cat-dream-tail var(--act-ms)ease-in-out both}.spirit-cat[data-act=swish] .sp-tail-act{animation:sp-act-swish var(--act-ms)ease-in-out both}.spirit-cat[data-act=look] .sp-face-act{animation:sp-act-look-face var(--act-ms)ease-in-out both}.spirit-cat[data-act=look] .sp-head-act{animation:sp-act-look-head var(--act-ms)ease-in-out both}.spirit-cat[data-act=tilt] .sp-head-act{animation:sp-act-tilt var(--act-ms)var(--sp-spring)both}.spirit-cat[data-act=tilt] .sp-ear-l-act{animation:sp-act-perk var(--act-ms)ease-in-out both}.spirit-cat[data-act=groom] .sp-leg-l-act{animation:sp-cat-groom var(--act-ms)ease-in-out both}.spirit-cat[data-act=groom] .sp-head-act{animation:sp-cat-groom-head var(--act-ms)ease-in-out both}.spirit-cat[data-act=yawn] .sp-head-act,.spirit-cat[data-act=wake] .sp-head-act{animation:sp-act-yawn-head var(--act-ms)ease-in-out both}.spirit-cat[data-act=yawn] .sp-ear-l-act,.spirit-cat[data-act=yawn] .sp-ear-r-act,.spirit-cat[data-act=wake] .sp-ear-l-act,.spirit-cat[data-act=wake] .sp-ear-r-act{animation:sp-act-flatten var(--act-ms)ease-in-out both}.spirit-cat[data-act=wake] .sp-body-act{animation:sp-cat-wake-body var(--act-ms)ease-in-out both}.spirit-cat[data-act=wake] .sp-leg-l-act{animation:sp-cat-wake-leg-l var(--act-ms)ease-in-out both}.spirit-cat[data-act=wake] .sp-leg-r-act{animation:sp-cat-wake-leg-r var(--act-ms)ease-in-out both}.spirit-cat[data-act=slowblink] .sp-head-act{animation:sp-act-nod var(--act-ms)ease-in-out both}.spirit-cat[data-act=knead] .sp-leg-l-act{animation:sp-cat-knead var(--act-ms)ease-in-out both}.spirit-cat[data-act=knead] .sp-leg-r-act{animation:sp-cat-knead var(--act-ms)ease-in-out calc(var(--act-ms)*-.125)both}.spirit-cat[data-cue=greet] .sp-tail-loop,.spirit-cat[data-cue=celebrate] .sp-tail-loop{animation:sp-wag calc(.9s*var(--spirit-slow))ease-in-out infinite}@keyframes sp-cat-bat{0%,to{transform:rotate(0)}25%{transform:rotate(-125deg)}45%{transform:rotate(-72deg)}62%{transform:rotate(-112deg)}82%{transform:rotate(-36deg)}}@keyframes sp-cat-purr-lean{0%,to{transform:rotate(-5deg)translate(-1px,1px)}50%{transform:rotate(-3deg)translate(-1px,2.4px)}}@keyframes sp-cat-purr-shiver{0%{transform:scale(1)}to{transform:scale(1.012,1.02)}}@keyframes sp-cat-purr-lines{0%{opacity:.25;transform:scale(.94)}to{opacity:.85;transform:scale(1.03)}}@keyframes sp-cat-roll{0%{transform:rotate(0)translateY(0)}14%{transform:rotate(9deg)translateY(2px)}42%,66%{transform:rotate(-180deg)translateY(-4px)}to{transform:rotate(-360deg)translateY(0)}}@keyframes sp-cat-groom{0%,to{transform:rotate(0)}22%,46%,70%{transform:rotate(-150deg)}34%,58%{transform:rotate(-139deg)}84%{transform:rotate(-20deg)}}@keyframes sp-cat-groom-head{0%,to{transform:rotate(0)translateY(0)}20%,74%{transform:rotate(5deg)translateY(1.4px)}}@keyframes sp-cat-knead{0%,25%,50%,75%,to{transform:translateY(0)}12%,62%{transform:translateY(-3.6px)}}@keyframes sp-cat-wake-body{0%,to{transform:scale(1)}30%,66%{transform:scale(.95,1.09)}}@keyframes sp-cat-wake-leg-l{0%,to{transform:rotate(0)}30%,66%{transform:rotate(18deg)translateY(2px)}}@keyframes sp-cat-wake-leg-r{0%,to{transform:rotate(0)}30%,66%{transform:rotate(-18deg)translateY(2px)}}@keyframes sp-cat-dream-tail{0%,to{transform:rotate(0)}30%{transform:rotate(-5deg)}55%{transform:rotate(3deg)}}.spirit-kitsune .sp-body-loop{animation:sp-breathe calc(3.6s*var(--spirit-slow))ease-in-out infinite}.spirit-kitsune .sp-head-loop{animation:sp-nod calc(5.2s*var(--spirit-slow))ease-in-out infinite}.spirit-kitsune .sp-tail-loop{animation:sp-sway calc(4.2s*var(--spirit-slow))ease-in-out infinite}.spirit-kitsune .sp-arm{transform:rotate(78deg)}.spirit-kitsune .sp-lantern{transform:rotate(-78deg)}.spirit-kitsune .sp-lantern-loop{animation:sp-swing calc(4s*var(--spirit-slow))ease-in-out infinite}.spirit-kitsune .sp-tip-glow{opacity:0;transition:opacity 1.2s}.spirit-kitsune .sp-tip-glow[data-lit]{opacity:.5;animation:sp-pulse calc(3.2s*var(--spirit-slow))ease-in-out infinite}.spirit-kitsune[data-mood=curious] .sp-head,.spirit-kitsune[data-mood=surprised] .sp-head{transform:rotate(-6deg)}.spirit-kitsune[data-mood=curious] .sp-ear-l,.spirit-kitsune[data-mood=curious] .sp-ear-r{transform:scale(1.06)rotate(3deg)}.spirit-kitsune[data-mood=surprised] .sp-ear-l,.spirit-kitsune[data-mood=surprised] .sp-ear-r{transform:scale(1.1)rotate(6deg)}.spirit-kitsune[data-mood=happy] .sp-tail-loop,.spirit-kitsune[data-mood=delighted] .sp-tail-loop{animation:sp-wag calc(1.4s*var(--spirit-slow))ease-in-out infinite}.spirit-kitsune[data-mood=happy] .sp-head{transform:rotate(4deg)}.spirit-kitsune[data-mood=shy] .sp-head{transform:rotate(6deg)translateY(1.5px)}.spirit-kitsune[data-mood=shy] .sp-ear-l,.spirit-kitsune[data-mood=shy] .sp-ear-r,.spirit-kitsune[data-mood=sleepy] .sp-ear-l,.spirit-kitsune[data-mood=sleepy] .sp-ear-r,.spirit-kitsune[data-mood=asleep] .sp-ear-l,.spirit-kitsune[data-mood=asleep] .sp-ear-r{transform:rotate(-12deg)}.spirit-kitsune[data-mood=sleepy] .sp-head,.spirit-kitsune[data-mood=asleep] .sp-head{transform:translateY(3px)rotate(4deg)}.spirit-kitsune[data-mood=asleep] .sp-body-loop{animation:sp-breathe-deep calc(3.6s*var(--spirit-slow))ease-in-out infinite}.spirit-kitsune[data-mood=focus] .sp-head{transform:rotate(3deg)translateY(1px)}.spirit-kitsune[data-pose=tend] .sp-head{transform:rotate(-7deg)}.spirit-kitsune[data-pose=tend] .sp-arm{transform:rotate(68deg)}.spirit-kitsune[data-pose=tend] .sp-lantern{transform:rotate(-68deg)}.spirit-kitsune[data-pose=light] .sp-head{transform:rotate(-10deg)translateY(-1px)}.spirit-kitsune[data-pose=light] .sp-arm{transform:rotate(128deg)}.spirit-kitsune[data-pose=light] .sp-lantern{transform:rotate(-128deg)}.spirit-kitsune[data-pose=offer] .sp-head{transform:rotate(-6deg)}.spirit-kitsune[data-pose=offer] .sp-arm{transform:rotate(108deg)}.spirit-kitsune[data-pose=offer] .sp-lantern{transform:rotate(-108deg)scale(1.12)}.spirit-kitsune[data-pose=wave] .sp-leg-r{transform:rotate(-128deg)}.spirit-kitsune[data-pose=wave] .sp-leg-r-loop{animation:sp-kit-wave calc(.75s*var(--spirit-slow))ease-in-out infinite alternate}.spirit-kitsune[data-pose=wave] .sp-tail-loop,.spirit-kitsune[data-cue=greet] .sp-tail-loop,.spirit-kitsune[data-cue=celebrate] .sp-tail-loop{animation:sp-wag calc(.9s*var(--spirit-slow))ease-in-out infinite}.spirit-kitsune[data-held] .sp-body{transform:translateY(3px)scale(.92,1.08)}.spirit-kitsune[data-held] .sp-leg-r{transform:translateY(4px)rotate(-5deg)}.spirit-kitsune[data-held] .sp-leg-r-loop{animation:sp-dangle calc(.9s*var(--spirit-slow))ease-in-out infinite}.spirit-kitsune[data-held] .sp-lantern-loop{animation:sp-swing calc(1.3s*var(--spirit-slow))ease-in-out infinite}.spirit-kitsune[data-held] .sp-tail-loop{animation:sp-wag calc(1.1s*var(--spirit-slow))ease-in-out infinite}.spirit-kitsune[data-act=ear] .sp-ear-r-act,.spirit-kitsune[data-act=dream] .sp-ear-l-act{animation:sp-act-ear var(--act-ms)ease-in-out both}.spirit-kitsune[data-act=swish] .sp-tail-act{animation:sp-act-swish var(--act-ms)ease-in-out both}.spirit-kitsune[data-act=look] .sp-face-act{animation:sp-act-look-face var(--act-ms)ease-in-out both}.spirit-kitsune[data-act=look] .sp-head-act{animation:sp-act-look-head var(--act-ms)ease-in-out both}.spirit-kitsune[data-act=tilt] .sp-head-act{animation:sp-act-tilt var(--act-ms)var(--sp-spring)both}.spirit-kitsune[data-act=tilt] .sp-ear-l-act{animation:sp-act-perk var(--act-ms)ease-in-out both}.spirit-kitsune[data-act=lantern] .sp-arm-act{animation:sp-kit-lift var(--act-ms)ease-in-out both}.spirit-kitsune[data-act=lantern] .sp-lantern-act{animation:sp-kit-lift-level var(--act-ms)ease-in-out both}.spirit-kitsune[data-act=lantern] .sp-head-act{animation:sp-kit-peek var(--act-ms)ease-in-out both}.spirit-kitsune[data-act=yawn] .sp-head-act,.spirit-kitsune[data-act=wake] .sp-head-act{animation:sp-act-yawn-head var(--act-ms)ease-in-out both}.spirit-kitsune[data-act=yawn] .sp-ear-l-act,.spirit-kitsune[data-act=yawn] .sp-ear-r-act,.spirit-kitsune[data-act=wake] .sp-ear-l-act,.spirit-kitsune[data-act=wake] .sp-ear-r-act{animation:sp-act-flatten var(--act-ms)ease-in-out both}.spirit-kitsune[data-act=wake] .sp-body-act{animation:sp-kit-stretch var(--act-ms)ease-in-out both}@keyframes sp-kit-wave{0%{transform:rotate(-10deg)}to{transform:rotate(16deg)}}@keyframes sp-kit-lift{0%,to{transform:rotate(0)}25%,76%{transform:rotate(44deg)}}@keyframes sp-kit-lift-level{0%,to{transform:rotate(0)}25%,76%{transform:rotate(-44deg)}}@keyframes sp-kit-peek{0%,to{transform:rotate(0)}28%,74%{transform:rotate(-8deg)translateY(-1px)}}@keyframes sp-kit-stretch{0%,to{transform:scale(1)}30%,66%{transform:scale(.95,1.08)}}.spirit-moth .sp-rock-loop{animation:sp-bob calc(2.6s*var(--spirit-slow))ease-in-out infinite}.spirit-moth .sp-wing-l-loop,.spirit-moth .sp-wing-r-loop{animation:sp-moth-flap calc(.7s*var(--spirit-slow))ease-in-out infinite alternate}.spirit-moth .sp-ant-l-loop,.spirit-moth .sp-ant-r-loop{animation:sp-sway-soft calc(3.4s*var(--spirit-slow))ease-in-out infinite}.spirit-moth .sp-ant-r-loop{animation-delay:calc(-1.3s*var(--spirit-slow))}.spirit-moth .sp-thread{opacity:0;stroke-dasharray:70;stroke-dashoffset:70;transition:opacity .5s}.spirit-moth[data-mood=curious] .sp-ant-l,.spirit-moth[data-mood=curious] .sp-ant-r,.spirit-moth[data-mood=surprised] .sp-ant-l,.spirit-moth[data-mood=surprised] .sp-ant-r{transform:rotate(7deg)}.spirit-moth[data-mood=curious] .sp-head{transform:rotate(-6deg)}.spirit-moth[data-mood=shy] .sp-ant-l,.spirit-moth[data-mood=shy] .sp-ant-r,.spirit-moth[data-mood=sleepy] .sp-ant-l,.spirit-moth[data-mood=sleepy] .sp-ant-r,.spirit-moth[data-mood=asleep] .sp-ant-l,.spirit-moth[data-mood=asleep] .sp-ant-r{transform:rotate(-14deg)}.spirit-moth[data-mood=shy] .sp-head{transform:rotate(5deg)translateY(1px)}.spirit-moth[data-mood=happy] .sp-head,.spirit-moth[data-mood=delighted] .sp-head{transform:rotate(4deg)}.spirit-moth[data-pose=rest] .sp-wing-l,.spirit-moth[data-pose=rest] .sp-wing-r,.spirit-moth[data-pose=land] .sp-wing-l,.spirit-moth[data-pose=land] .sp-wing-r{transform:rotate(-16deg)scale(.62,.86)}.spirit-moth[data-pose=rest] .sp-wing-l-loop,.spirit-moth[data-pose=rest] .sp-wing-r-loop,.spirit-moth[data-pose=land] .sp-wing-l-loop,.spirit-moth[data-pose=land] .sp-wing-r-loop{animation:none}.spirit-moth[data-pose=rest] .sp-rock-loop,.spirit-moth[data-pose=land] .sp-rock-loop{animation:sp-breathe calc(4.4s*var(--spirit-slow))ease-in-out infinite}.spirit-moth[data-pose=flutter] .sp-wing-l-loop,.spirit-moth[data-pose=flutter] .sp-wing-r-loop{animation:sp-moth-flap calc(.2s*var(--spirit-slow))ease-in-out infinite alternate}.spirit-moth[data-pose=spin] .sp-wing-l-loop,.spirit-moth[data-pose=spin] .sp-wing-r-loop{animation:sp-moth-flap calc(1.2s*var(--spirit-slow))ease-in-out infinite alternate}.spirit-moth[data-pose=spin] .sp-rock-loop{animation:sp-moth-spin calc(2.4s*var(--spirit-slow))ease-in-out infinite}.spirit-moth[data-pose=spin] .sp-arm-l,.spirit-moth[data-pose=spin] .sp-arm-r{transform:rotate(-24deg)translateY(2px)}.spirit-moth[data-pose=spin] .sp-thread{opacity:.9;animation:sp-moth-draw calc(2.4s*var(--spirit-slow))ease-in-out infinite alternate}.spirit-moth[data-held] .sp-arm-l-loop,.spirit-moth[data-held] .sp-arm-r-loop{animation:sp-dangle calc(.8s*var(--spirit-slow))ease-in-out infinite}.spirit-moth[data-act=ear] .sp-ant-r-act,.spirit-moth[data-act=dream] .sp-ant-l-act{animation:sp-act-ear var(--act-ms)ease-in-out both}.spirit-moth[data-act=shiver] .sp-wing-l-act,.spirit-moth[data-act=shiver] .sp-wing-r-act{animation:sp-moth-shiver var(--act-ms)ease-in-out both}.spirit-moth[data-act=look] .sp-face-act{animation:sp-act-look-face var(--act-ms)ease-in-out both}.spirit-moth[data-act=look] .sp-head-act{animation:sp-act-look-head var(--act-ms)ease-in-out both}.spirit-moth[data-act=tilt] .sp-head-act{animation:sp-act-tilt var(--act-ms)var(--sp-spring)both}.spirit-moth[data-act=preen] .sp-arm-l-act{animation:sp-moth-preen-arm var(--act-ms)ease-in-out both}.spirit-moth[data-act=preen] .sp-ant-l-act{animation:sp-moth-preen-ant var(--act-ms)ease-in-out both}.spirit-moth[data-act=preen] .sp-head-act{animation:sp-act-nod var(--act-ms)ease-in-out both}@keyframes sp-moth-flap{0%{transform:scaleX(1)rotate(0)}to{transform:scaleX(.4)rotate(9deg)}}@keyframes sp-moth-spin{0%,to{transform:rotate(-7deg)translateY(0)}50%{transform:rotate(7deg)translateY(-2px)}}@keyframes sp-moth-draw{0%{stroke-dashoffset:70}to{stroke-dashoffset:0}}@keyframes sp-moth-shiver{0%,to{transform:scaleX(1)}15%,45%,75%{transform:scaleX(.82)}30%,60%{transform:scaleX(1)}}@keyframes sp-moth-preen-arm{0%,to{transform:rotate(0)translate(0)}25%,45%,65%{transform:rotate(-50deg)translateY(-16px)}35%,55%{transform:rotate(-40deg)translate(1px,-14px)}}@keyframes sp-moth-preen-ant{0%,to{transform:rotate(0)}25%,65%{transform:rotate(-22deg)}45%{transform:rotate(-12deg)}}.spirit-crow .sp-body-loop{animation:sp-breathe calc(3.4s*var(--spirit-slow))ease-in-out infinite}.spirit-crow .sp-head-loop{animation:sp-nod calc(4.6s*var(--spirit-slow))ease-in-out infinite}.spirit-crow .sp-tail-loop{animation:sp-sway-soft calc(3.8s*var(--spirit-slow))ease-in-out infinite}.spirit-crow .sp-jaw{transform-origin:76px 46px;transition:transform .25s var(--sp-spring)}.spirit-crow .sp-jaw[data-open]{transform:rotate(16deg)}.spirit-crow .sp-carry{opacity:0}.spirit-crow[data-mood=curious] .sp-head,.spirit-crow[data-mood=surprised] .sp-head{transform:rotate(-12deg)}.spirit-crow[data-mood=surprised] .sp-body{transform:scale(1.06,1.04)}.spirit-crow[data-mood=happy] .sp-tail,.spirit-crow[data-mood=delighted] .sp-tail{transform:rotate(10deg)}.spirit-crow[data-mood=shy] .sp-head{transform:rotate(10deg)translate(-1px,2px)}.spirit-crow[data-mood=sleepy] .sp-head,.spirit-crow[data-mood=asleep] .sp-head{transform:rotate(14deg)translate(-3px,4px)}.spirit-crow[data-mood=asleep] .sp-body-loop{animation:sp-breathe-deep calc(3.6s*var(--spirit-slow))ease-in-out infinite}.spirit-crow[data-pose=hop] .sp-rock-loop{animation:sp-hop calc(1.1s*var(--spirit-slow))ease-in-out infinite}.spirit-crow[data-pose=fly] .sp-rock-loop{animation:sp-bob calc(1.2s*var(--spirit-slow))ease-in-out infinite}.spirit-crow[data-pose=fly] .sp-body,.spirit-crow[data-pose=fly] .sp-head{transform:rotate(-10deg)}.spirit-crow[data-pose=fly] .sp-legs{opacity:0;transform:translateY(-6px)}.spirit-crow[data-pose=fly] .sp-wing-loop{animation:sp-crow-beat calc(.3s*var(--spirit-slow))ease-in-out infinite alternate}.spirit-crow[data-pose=carry] .sp-carry,.spirit-crow[data-pose=drop] .sp-carry{opacity:1}.spirit-crow[data-pose=carry] .sp-carry-loop{animation:sp-swing calc(2.2s*var(--spirit-slow))ease-in-out infinite}.spirit-crow[data-pose=drop] .sp-rock-act{animation:.9s ease-in-out 2 both sp-act-hop}.spirit-crow[data-pose=drop] .sp-carry-act{animation:1.15s cubic-bezier(.5,0,.9,.6) .25s both sp-crow-let-go}.spirit-crow[data-held] .sp-legs{opacity:1;transform:translateY(2px)}.spirit-crow[data-held] .sp-legs-loop{animation:sp-dangle calc(.8s*var(--spirit-slow))ease-in-out infinite}.spirit-crow[data-act=look] .sp-face-act{animation:sp-act-look-face var(--act-ms)ease-in-out both}.spirit-crow[data-act=look] .sp-head-act{animation:sp-act-look-head var(--act-ms)ease-in-out both}.spirit-crow[data-act=tilt] .sp-head-act{animation:sp-crow-tilt var(--act-ms)var(--sp-spring)both}.spirit-crow[data-act=preen] .sp-head-act{animation:sp-crow-preen var(--act-ms)ease-in-out both}.spirit-crow[data-act=preen] .sp-wing-act{animation:sp-crow-lift var(--act-ms)ease-in-out both}.spirit-crow[data-act=shiver] .sp-body-act,.spirit-crow[data-act=shiver] .sp-wing-act{animation:sp-crow-ruffle var(--act-ms)ease-in-out both}.spirit-crow[data-act=hop] .sp-rock-act{animation:sp-act-hop var(--act-ms)ease-in-out both}.spirit-crow[data-act=caw] .sp-head-act{animation:sp-crow-caw var(--act-ms)ease-in-out both}.spirit-crow[data-act=dream] .sp-tail-act{animation:sp-act-ear var(--act-ms)ease-in-out both}@keyframes sp-crow-beat{0%{transform:rotate(-52deg)scaleY(1.15)}to{transform:rotate(16deg)}}@keyframes sp-crow-let-go{0%{opacity:1;transform:translate(0)rotate(0)}70%{opacity:1}to{opacity:0;transform:translate(6px,48px)rotate(28deg)}}@keyframes sp-crow-tilt{0%,to{transform:rotate(0)}20%{transform:rotate(-18deg)}30%,48%{transform:rotate(-15deg)}58%,80%{transform:rotate(10deg)}}@keyframes sp-crow-preen{0%,to{transform:rotate(0)translate(0)}25%,70%{transform:rotate(-28deg)translate(-9px,9px)}40%,55%{transform:rotate(-24deg)translate(-8px,7px)}}@keyframes sp-crow-lift{0%,to{transform:rotate(0)}25%,70%{transform:rotate(-12deg)}}@keyframes sp-crow-ruffle{0%,to{transform:scale(1)}15%,45%{transform:scale(1.06,1.04)rotate(-1.5deg)}30%,60%{transform:scale(1.04,1.06)rotate(1.5deg)}80%{transform:scale(1)}}@keyframes sp-crow-caw{0%,to{transform:rotate(0)}20%,70%{transform:rotate(-9deg)translateY(-1px)}}.spirit-wisp .sp-rock-loop{animation:sp-wisp-drift calc(5.4s*var(--spirit-slow))ease-in-out infinite}.spirit-wisp .sp-halo{opacity:calc(var(--wisp-glow,1)*.9);transform-origin:40px 62px;animation:sp-wisp-halo calc(2.8s*var(--spirit-slow))ease-in-out infinite}.spirit-wisp .sp-belly-loop{animation:sp-breathe calc(2.8s*var(--spirit-slow))ease-in-out infinite}.spirit-wisp .sp-wing-l-loop,.spirit-wisp .sp-wing-r-loop{animation:sp-wisp-buzz calc(.16s*var(--spirit-slow))ease-in-out infinite alternate}.spirit-wisp .sp-ant-l-loop,.spirit-wisp .sp-ant-r-loop{animation:sp-sway-soft calc(2.6s*var(--spirit-slow))ease-in-out infinite}.spirit-wisp[data-pose=dart] .sp-rock-loop{animation:sp-wisp-dart calc(1.6s*var(--spirit-slow))ease-in-out infinite}.spirit-wisp[data-mood=curious] .sp-head,.spirit-wisp[data-mood=surprised] .sp-head{transform:rotate(-10deg)}.spirit-wisp[data-mood=shy] .sp-head{transform:rotate(10deg)translateY(1px)}.spirit-wisp[data-mood=sleepy] .sp-halo,.spirit-wisp[data-mood=asleep] .sp-halo{animation-duration:calc(5s*var(--spirit-slow))}.spirit-wisp[data-held] .sp-wing-l-loop,.spirit-wisp[data-held] .sp-wing-r-loop{animation-duration:90ms}.spirit-wisp[data-act=glow] .sp-belly-act{animation:sp-wisp-flare var(--act-ms)ease-in-out both}.spirit-wisp[data-act=loop] .sp-rock-act{animation:sp-wisp-loop var(--act-ms)ease-in-out both}@keyframes sp-wisp-drift{0%,to{transform:translate(0)rotate(0)}30%{transform:translate(2px,-4px)rotate(-3deg)}65%{transform:translate(-2px,-1.5px)rotate(3deg)}}@keyframes sp-wisp-dart{0%,to{transform:translate(0)rotate(0)}30%{transform:translate(7px,-6px)rotate(-8deg)}60%{transform:translate(-6px,2px)rotate(6deg)}}@keyframes sp-wisp-halo{0%,to{transform:scale(.92)}50%{transform:scale(1.08)}}@keyframes sp-wisp-buzz{0%{transform:rotate(-6deg)scaleY(1)}to{transform:rotate(10deg)scaleY(.7)}}@keyframes sp-wisp-flare{0%,to{transform:scale(1);filter:brightness(1)}35%,60%{transform:scale(1.12);filter:brightness(1.15)}}@keyframes sp-wisp-loop{0%{transform:rotate(0)translateY(0)}20%{transform:rotate(-30deg)translateY(-6px)}70%{transform:rotate(-330deg)translateY(-6px)}to{transform:rotate(-360deg)translateY(0)}}.spirit-kodama .sp-head-loop{animation:sp-sway-soft calc(4.8s*var(--spirit-slow))ease-in-out infinite}.spirit-kodama .sp-sprout-loop{animation:sp-sway calc(3.2s*var(--spirit-slow))ease-in-out infinite}.spirit-kodama .sp-arm-l-loop,.spirit-kodama .sp-arm-r-loop{animation:sp-kodama-arm calc(3.6s*var(--spirit-slow))ease-in-out infinite}.spirit-kodama .sp-arm-r-loop{animation-delay:calc(-1.8s*var(--spirit-slow))}.spirit-kodama[data-mood=curious] .sp-head,.spirit-kodama[data-mood=surprised] .sp-head{transform:rotate(-8deg)}.spirit-kodama[data-mood=curious] .sp-sprout,.spirit-kodama[data-mood=surprised] .sp-sprout{transform:scale(1.12)rotate(6deg)}.spirit-kodama[data-mood=happy] .sp-arm-l,.spirit-kodama[data-mood=happy] .sp-arm-r,.spirit-kodama[data-mood=delighted] .sp-arm-l,.spirit-kodama[data-mood=delighted] .sp-arm-r{transform:rotate(38deg)}.spirit-kodama[data-mood=happy] .sp-sprout-loop,.spirit-kodama[data-mood=delighted] .sp-sprout-loop{animation:sp-wag calc(1.2s*var(--spirit-slow))ease-in-out infinite}.spirit-kodama[data-mood=shy] .sp-arm-l,.spirit-kodama[data-mood=shy] .sp-arm-r{transform:rotate(-30deg)translate(4px,-1px)}.spirit-kodama[data-mood=shy] .sp-head{transform:rotate(5deg)}.spirit-kodama[data-mood=sleepy] .sp-sprout,.spirit-kodama[data-mood=asleep] .sp-sprout{transform:rotate(-26deg)}.spirit-kodama[data-pose=tilt] .sp-head{transform:rotate(14deg)}.spirit-kodama[data-pose=rattle] .sp-head-loop{animation:sp-rattle calc(1.8s*var(--spirit-slow))ease-in-out infinite}.spirit-kodama[data-held] .sp-feet-loop,.spirit-kodama[data-held] .sp-arm-l-loop,.spirit-kodama[data-held] .sp-arm-r-loop{animation:sp-dangle calc(.8s*var(--spirit-slow))ease-in-out infinite}.spirit-kodama[data-act=look] .sp-face-act{animation:sp-act-look-face var(--act-ms)ease-in-out both}.spirit-kodama[data-act=look] .sp-head-act{animation:sp-act-look-head var(--act-ms)ease-in-out both}.spirit-kodama[data-act=tilt] .sp-head-act{animation:sp-act-tilt var(--act-ms)var(--sp-spring)both}.spirit-kodama[data-act=sprout] .sp-sprout-act{animation:sp-kodama-sprout var(--act-ms)ease-in-out both}.spirit-kodama[data-act=wobble] .sp-rock-act{animation:sp-kodama-wobble var(--act-ms)ease-in-out both}@keyframes sp-kodama-arm{0%,to{transform:rotate(0)}50%{transform:rotate(9deg)}}@keyframes sp-rattle{0%,40%,to{transform:rotate(0)}8%{transform:rotate(-10deg)}16%{transform:rotate(10deg)}24%{transform:rotate(-7deg)}32%{transform:rotate(6deg)}}@keyframes sp-kodama-sprout{0%,to{transform:rotate(0)scale(1)}20%{transform:rotate(-16deg)scale(1.08)}45%{transform:rotate(13deg)scale(1.04)}70%{transform:rotate(-6deg)}}@keyframes sp-kodama-wobble{0%,to{transform:rotate(0)}20%{transform:rotate(-7deg)}45%{transform:rotate(6deg)}70%{transform:rotate(-3deg)}}.lantern-halo,.lantern-light,.lantern-flame,.lantern-core{opacity:0;transition:opacity .7s}.lantern-flame,.lantern-core{transform-box:fill-box;transform-origin:50% 70%}.lantern[data-state=lit] .lantern-halo{opacity:.9;animation:lantern-breathe calc(3.4s*var(--spirit-slow,1))ease-in-out infinite}.lantern[data-state=lit] .lantern-light{opacity:.92}.lantern[data-state=lit] .lantern-flame{opacity:1;animation:lantern-dance calc(2.6s*var(--spirit-slow,1))ease-in-out infinite}.lantern[data-state=lit] .lantern-core{opacity:.6}.lantern[data-state=flicker] .lantern-halo,.lantern[data-state=flicker] .lantern-light,.lantern[data-state=flicker] .lantern-flame,.lantern[data-state=flicker] .lantern-core{animation:.42s step-end infinite lantern-flicker}@keyframes lantern-breathe{50%{opacity:.65}}@keyframes lantern-dance{0%,to{transform:rotate(0)scale(1)}30%{transform:rotate(-4deg)scale(.97,1.04)}65%{transform:rotate(3deg)scale(1.03,.97)}}@keyframes lantern-flicker{0%{opacity:.1}20%{opacity:.7}35%{opacity:.2}60%{opacity:.85}80%{opacity:.3}}.spirit-layer{position:fixed;z-index:40;overflow:hidden;pointer-events:none;inset:0}.spirit-slot{position:absolute;pointer-events:none;top:0;left:0}.spirit,.spirit-lantern{display:block;overflow:visible;pointer-events:none;--spirit-slow:1;--act-ms:1s;--sp-spring:cubic-bezier(.34,1.45,.64,1);filter:drop-shadow(0 0 2px oklab(90.8408% .0106993 .0620335/.34))drop-shadow(0 3px 3px oklab(22.8959% .0283645 -.0121959/.42))}.spirit[data-clip=true]{overflow:hidden}.spirit[data-tempo=slow]{--spirit-slow:2.4}.spirit[data-tempo=paused] *{animation-play-state:paused!important}.spirit[data-tempo=still] *,.spirit[data-tempo=still]{animation:none!important;transition:none!important}.spirit [data-part]{transition:transform .75s var(--sp-spring),opacity .45s ease}.sp-mouth-in{animation:.2s ease-out both sp-mouth-in}.sp-blush{transition:opacity .6s}.sp-shadow{opacity:.2;transform-origin:50px 96.6px;transition:opacity .4s ease,transform .5s var(--sp-spring)}.spirit[data-held] .sp-shadow{opacity:0;transform:scale(.4)}.sp-zz{opacity:0;transition:opacity .9s}.sp-z{opacity:0;transform-box:fill-box;transform-origin:center}.spirit[data-mood=asleep] .sp-zz{opacity:1}.spirit[data-mood=asleep] .sp-z{animation:sp-z calc(3.6s*var(--spirit-slow))ease-in-out infinite}.spirit[data-mood=asleep] .sp-z-1{animation-delay:calc(-1.2s*var(--spirit-slow))}.spirit[data-mood=asleep] .sp-z-2{animation-delay:calc(-2.4s*var(--spirit-slow))}@keyframes sp-mouth-in{0%{opacity:0;transform:scale(.7)}}@keyframes sp-z{0%{opacity:0;transform:translateY(4px)scale(.5)}25%{opacity:.9}80%{opacity:.5}to{opacity:0;transform:translate(7px,-12px)scale(1.1)}}@keyframes sp-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.012,1.03)}}@keyframes sp-breathe-deep{0%,to{transform:scale(1)}50%{transform:scale(1.025,1.07)}}@keyframes sp-breathe-head{0%,to{transform:translateY(0)}50%{transform:translateY(-.9px)}}@keyframes sp-nod{0%,to{transform:rotate(-1.4deg)}50%{transform:rotate(1.4deg)}}@keyframes sp-sway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}@keyframes sp-sway-soft{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2.5deg)}}@keyframes sp-wag{0%,to{transform:rotate(-11deg)}50%{transform:rotate(13deg)}}@keyframes sp-flick{0%,to{transform:rotate(-4deg)}25%{transform:rotate(20deg)}45%{transform:rotate(-16deg)}65%{transform:rotate(9deg)}}@keyframes sp-waddle{0%,to{transform:rotate(-3.5deg)translateY(0)}50%{transform:rotate(3.5deg)translateY(-1.8px)}}@keyframes sp-step{0%,to{transform:translateY(0)}50%{transform:translateY(-4.5px)}}@keyframes sp-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3.5px)}}@keyframes sp-swing{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes sp-dangle{0%,to{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}@keyframes sp-pulse{0%,to{opacity:.25}50%{opacity:.55}}@keyframes sp-pulse-scale{0%,to{transform:scale(.94);opacity:.8}50%{transform:scale(1.08);opacity:1}}@keyframes sp-twinkle{0%,to{opacity:.1}50%{opacity:.9}}@keyframes sp-hop{0%,55%,to{transform:translateY(0)scale(1)}10%{transform:translateY(0)scale(1.06,.92)}30%{transform:translateY(-11px)scale(.96,1.05)}48%{transform:translateY(0)scale(1.05,.94)}}@keyframes sp-hop-big{0%,to{transform:translateY(0)scale(1.05,.93)}45%{transform:translateY(-17px)scale(.96,1.06)}}@keyframes sp-shadow-hop{0%,to{transform:scale(1);opacity:.2}45%{transform:scale(.6);opacity:.08}}@keyframes sp-act-ear{0%,60%,to{transform:rotate(0)}14%{transform:rotate(-17deg)}28%{transform:rotate(5deg)}42%{transform:rotate(-7deg)}}@keyframes sp-act-swish{0%,to{transform:rotate(0)}20%{transform:rotate(17deg)}45%{transform:rotate(-12deg)}70%{transform:rotate(6deg)}}@keyframes sp-act-look-face{0%,to{transform:translate(0)}16%,44%{transform:translate(-2.8px)}58%,86%{transform:translate(2.8px)}}@keyframes sp-act-look-head{0%,to{transform:rotate(0)}16%,44%{transform:rotate(-3.5deg)}58%,86%{transform:rotate(3.5deg)}}@keyframes sp-act-tilt{0%,to{transform:rotate(0)}22%{transform:rotate(-11deg)}30%,74%{transform:rotate(-9deg)}}@keyframes sp-act-nod{0%,to{transform:translateY(0)rotate(0)}35%,65%{transform:translateY(1.4px)rotate(1.5deg)}}@keyframes sp-act-yawn-head{0%,to{transform:translateY(0)rotate(0)}25%,68%{transform:translateY(-2.2px)rotate(-6deg)}}@keyframes sp-act-flatten{0%,to{transform:rotate(0)}22%,70%{transform:rotate(-13deg)}}@keyframes sp-act-shiver{0%,to{transform:translate(0)rotate(0)}10%,50%{transform:translate(-.9px)rotate(-2deg)}30%,70%{transform:translate(.9px)rotate(2deg)}}@keyframes sp-act-hop{0%,to{transform:translateY(0)scale(1)}18%{transform:translateY(0)scale(1.07,.9)}45%{transform:translateY(-9px)scale(.95,1.06)}72%{transform:translateY(0)scale(1.06,.93)}86%{transform:translateY(0)scale(.99,1.02)}}@keyframes sp-act-perk{0%,to{transform:scale(1)}20%,75%{transform:scale(1.08)rotate(4deg)}}.spirit-cushion{position:fixed;z-index:39;pointer-events:none;filter:drop-shadow(0 3px 3px oklab(22.8959% .0283645 -.0121959/.4))}.spirit-cushion svg{display:block;overflow:visible}.keepsake-icon{display:block;filter:drop-shadow(0 1px 1.5px oklab(22.8959% .0283645 -.0121959/.45));flex:none}.spirit-slip{position:absolute;white-space:nowrap;color:var(--brand-deep,#2a1a24);background:var(--brand-paper,#faefe7);opacity:0;pointer-events:none;border-radius:7px;max-width:14rem;padding:3px 9px 4px;transition:opacity .6s,translate .6s;font-size:11px;font-weight:700;line-height:1.25;bottom:100%;left:50%;translate:-50% 4px;rotate:-2deg;box-shadow:0 4px 14px -6px #0e070b8c,inset 0 -1px #00000014}.spirit-slip[data-shown]{opacity:.96;translate:-50% -2px}.island-root{position:absolute;z-index:3;pointer-events:none;inset:0 0 auto}.island-layer{position:absolute;overflow:clip;pointer-events:none;width:100%;top:0;left:0}.roamer{position:absolute;pointer-events:none;transition:opacity .5s}.roamer .spirit-spot{transition-property:none}.roamer[data-moving] .spirit-spot{transition-property:transform;transition-duration:var(--roam-ms);transition-timing-function:cubic-bezier(.45,.05,.3,1)}.island-layer[data-calm] .roamer{opacity:.12}.island-layer[data-calm] .spirit-hit{pointer-events:none}.island-line{position:absolute;background:var(--card-bg);color:#35222e;border:1px solid var(--card-border);font-family:var(--display);white-space:nowrap;animation:.3s ease-out both island-line-in;pointer-events:none;border-radius:999px;margin-bottom:.3rem;padding:.3rem .8rem;font-size:.9rem;font-weight:500;line-height:1.3;bottom:100%;right:0;box-shadow:0 6px 16px #35222e33}@keyframes island-line-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.roamer,.roamer[data-moving] .spirit-spot{transition:none}.island-line{animation:none}}
