.spr{overflow:clip;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(180deg,transparent,#000 5%,#000 93%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(180deg,transparent,#000 5%,#000 93%,transparent);-webkit-mask-composite:source-in,xor;mask-composite:intersect}.spr-eye,.spr-nose,.spr-spark,.spr-tongue,.spr-twinkle{transform-box:fill-box;transform-origin:50% 50%}.spr-tongue{transform-origin:50% 0}.spr-face,.spr-happy,.spr-tail{transform-box:view-box}.spr-face{transform-origin:var(--neck)}.spr-tail{transform-origin:var(--base)}.spr-happy{transform-origin:var(--feet)}.spr-mist,.spr-odor,.spr-sniffer{opacity:0}@media (prefers-reduced-motion:no-preference){.spr-waft{animation:spr-waft 1.6s ease-in-out calc(var(--i) * -.3s) infinite alternate}@keyframes spr-waft{0%{translate:0 0}to{translate:4px -9px}}.spr-twinkle{animation:spr-twinkle 2.2s ease-in-out calc(var(--i) * -.4s) infinite}@keyframes spr-twinkle{0%,to{scale:1;rotate:0deg}50%{scale:.7;rotate:45deg}}.spr-face{animation:spr-bob 2.8s ease-in-out infinite alternate}@keyframes spr-bob{0%{rotate:-4deg}to{rotate:5deg}}.spr-nose{animation:spr-sniff .9s ease-in-out infinite}@keyframes spr-sniff{0%,40%,to{scale:1}10%,30%{scale:1.14 .9}20%{scale:1}}.spr-eye{animation:spr-blink 4.8s ease-in-out -2.4s infinite}@keyframes spr-blink{0%,93%,to{scale:1 1}96%{scale:1 .1}}.spr-tail{animation:spr-wag .8s ease-in-out infinite alternate}@keyframes spr-wag{0%{rotate:-8deg}to{rotate:8deg}}.spr-tongue{animation:spr-pant .5s ease-in-out infinite alternate}@keyframes spr-pant{0%{scale:1 1}to{scale:1 1.12}}html.js [data-reveal] .spr-sniffer{opacity:1}html.js [data-reveal].is-revealed .spr-sniffer{opacity:0;transition:opacity .08s linear var(--at)}html.js [data-reveal] .spr-happy{opacity:0;scale:.9}html.js [data-reveal].is-revealed .spr-happy{opacity:1;scale:1;transition:opacity .08s linear var(--at),scale .55s cubic-bezier(.34,1.7,.6,1) var(--at)}html.js [data-reveal] .spr-sweep{translate:var(--from) 0}html.js [data-reveal].is-revealed .spr-sweep{translate:0 0;transition:translate var(--dur) linear var(--at)}html.js [data-reveal].is-revealed .spr-mist{animation:spr-mist var(--dur) linear var(--at) both}@keyframes spr-mist{0%,94%{opacity:1}to{opacity:0}}.spr-drop{animation:spr-drop .6s linear calc(var(--i) * -.1s) infinite}@keyframes spr-drop{0%{translate:0 -8px}to{translate:0 10px}}html.js [data-reveal] .spr-odor{opacity:1}html.js [data-reveal].is-revealed .spr-odor{opacity:0;transition:opacity .45s ease-out var(--at)}html.js [data-reveal] .spr-spark{scale:0}html.js [data-reveal].is-revealed .spr-spark{scale:1;transition:scale .45s cubic-bezier(.34,1.7,.6,1) calc(var(--at) + .15s)}}