@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-grotesque-500.ttf)format("truetype")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-grotesque-600.ttf)format("truetype")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-grotesque-700.ttf)format("truetype")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-grotesque-800.ttf)format("truetype")}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/caveat-500.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-sans-400.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dm-sans-500.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/dm-sans-600.ttf)format("truetype")}:root{--bg:#f4f3d9;--paper:#fffef8;--ink:#293f32;--muted:#69715e;--green:#315743;--green-hover:#234332;--line:#d7d9bd;--yellow:#e9c76c;--sage:#dce2c4;--danger:#963e34;--scroll-thumb:#a3ae8c;--scroll-hover:#758461;--scroll-active:#315743;--font-display:"Bricolage Grotesque", "Arial Rounded MT Bold", sans-serif;--font-body:"DM Sans", system-ui, sans-serif;--font-hand:"Caveat", cursive;--radius-control:8px;--space-section:72px;--page-max:1180px;color:var(--ink);background:var(--bg);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;scrollbar-color:var(--scroll-thumb) var(--bg);scrollbar-width:thin;scroll-behavior:smooth;scrollbar-gutter:stable;font-size:14px}*{box-sizing:border-box;scrollbar-color:var(--scroll-thumb) var(--bg);scrollbar-width:thin}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:2px solid var(--bg);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}::-webkit-scrollbar-thumb:active{background:var(--scroll-active)}body{margin:0}button,input{font:inherit;color:inherit}button,a,summary,input[type=range],input[type=checkbox]{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{border:0}button:disabled{cursor:not-allowed;opacity:.5}button,a{touch-action:manipulation}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--green);outline-offset:5px}input{min-width:0}button:active:not(:disabled){translate:0 1px}p{line-height:1.6}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display)}svg{flex-shrink:0}.shell{width:min(var(--page-max), calc(100% - 96px));margin-inline:auto}.spoti-app{isolation:isolate;position:relative;overflow:clip}.spoti-app:before{content:"";z-index:-1;opacity:.13;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23666644' filter='url(%23n)' opacity='.3' d='M0 0h180v180H0z'/%3E%3C/svg%3E");position:absolute;inset:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--paper);z-index:100;padding:15px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:16px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:108px;display:flex}.wordmark{font-family:var(--font-display);letter-spacing:-2px;align-items:center;gap:9px;font-size:42px;font-weight:800;line-height:1;text-decoration:none;display:inline-flex}.brand-stamp{object-fit:contain;flex-shrink:0;width:48px;height:48px;display:block}.wordmark span{color:var(--green);margin-left:-8px}.landing{grid-template-columns:1.1fr 1fr;align-items:start;gap:75px;min-height:720px;padding-block:77px 56px;display:grid}.hero-copy{min-width:0;padding-top:5px}.eyebrow{letter-spacing:1.65px;align-items:center;gap:9px;font-size:10px;font-weight:600;display:flex}.hero-copy h1{letter-spacing:-2.8px;text-wrap:balance;margin-top:14px;font-size:clamp(42px,4.4vw,60px);font-weight:600;line-height:1.02}.hero-answer{color:var(--green);margin-top:22px;font-size:34px;rotate:-1.5deg}.highlight-word{white-space:nowrap;display:inline-block;position:relative}.highlight-word svg{width:102%;height:16px;stroke:var(--green);stroke-width:2.8px;fill:none;stroke-linecap:round;position:absolute;bottom:-12px;left:2px}.hero-description{color:var(--muted);margin-top:32px;font-size:15px;line-height:1.75}.hero-description strong{color:var(--ink);font-weight:600}.cue-below{display:none}.handwritten{font:26px/1.2 var(--font-hand);font-weight:500}.playground{--dog-w:332px;--ground:43px;height:295px;margin-top:12px;position:relative}.pet-dog{width:var(--dog-w);z-index:2;cursor:grab;background:0 0;border-radius:45%;padding:0;position:absolute;bottom:19px;left:30px}.pet-dog:active:not(:disabled){cursor:grabbing;translate:none}.pet-dog:disabled{opacity:1;cursor:default}.spoti-dog{width:100%;color:var(--ink);display:block;overflow:visible}.dog-introduction{white-space:nowrap;font:26px var(--font-hand);z-index:3;transition:translate .3s;position:absolute;top:13px;left:294px;rotate:7deg}.phase-toss .dog-introduction,.phase-catch .dog-introduction{translate:34px -18px}.intro-line{transform-origin:0 100%;animation:.38s cubic-bezier(.3,1.6,.5,1) line-pop;display:inline-block}.tight-break{display:none}.dog-introduction svg{fill:none;width:44px;height:44px;stroke:var(--ink);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;margin-left:13px;display:block}.playground-ground{border-bottom:1px solid var(--line);height:23px;left:0;right:0;bottom:calc(var(--ground) - 1px);border-radius:50%;position:absolute}.playground-caption{color:var(--muted);align-items:center;gap:30px;font-size:10px;display:flex;position:absolute;bottom:0;left:36px;right:8px}.text-button{background:0 0;justify-content:center;align-items:center;gap:7px;padding:6px 0;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.text-button:hover:not(:disabled){color:var(--green);text-underline-offset:4px;text-decoration:underline}.toss-button{color:var(--ink);font-size:10px}.ball-spot{left:377px;bottom:var(--ground);width:calc(var(--dog-w) / 15);aspect-ratio:1;z-index:3;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border-radius:50%;padding:0;position:absolute}.ball-spot:active:not(:disabled){cursor:grabbing;translate:none}.phase-idle .ball-spot:hover .tennis-ball{animation:.5s ease-in-out bone-wiggle}.tennis-ball{background:var(--yellow);border:1.5px solid #ae8e39;border-radius:50%;position:absolute;inset:0;overflow:hidden}.tennis-ball:before,.tennis-ball:after{content:"";border:1.5px solid var(--paper);border-radius:50%;width:86%;height:110%;position:absolute;rotate:-35deg}.tennis-ball:before{top:-22%;left:-52%}.tennis-ball:after{top:22%;right:-54%}.ball-shadow{background:#293f321c;border-radius:50%;width:90%;height:5px;position:absolute;bottom:-3px;left:5%}.is-carrying .tennis-ball,.is-carrying .ball-shadow{opacity:0}.bone{left:0;bottom:var(--ground);width:calc(var(--dog-w) * 54 / 360);aspect-ratio:54/30;z-index:4;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border-radius:40%;padding:0;position:absolute}.bone svg{width:100%;height:100%;display:block;overflow:visible}.bone:active:not(:disabled){cursor:grabbing;translate:none}.is-fetching .bone,.is-playing .bone,.is-fetching .ball-spot,.is-playing .ball-spot{cursor:default}.out-bone .bone,.out-ball .ball-spot{opacity:0}.dog-away .pet-dog,.dog-away .dog-introduction{visibility:hidden}.free-layer{pointer-events:none;z-index:30;width:100%;height:0;position:absolute;top:0;left:0;overflow:clip}.free-item{visibility:hidden;z-index:2;position:absolute;top:0;left:0}.is-thrown .free-item{visibility:visible}.free-art{width:var(--item-w);position:absolute;top:0;left:0}.free-item.is-bone .free-art{aspect-ratio:54/30}.free-item.is-ball .free-art{aspect-ratio:1}.free-art svg{width:100%;height:100%;display:block;overflow:visible}.free-shadow{width:var(--item-w);height:calc(var(--item-w) * .3);margin-top:calc(var(--item-w) * .12);background:#293f3222;border-radius:50%;position:absolute;top:0;left:0}.free-dog{visibility:hidden;z-index:1;color:var(--ink);position:absolute;top:0;left:0}.is-away .free-dog{visibility:visible}.free-dog .spoti-dog{scale:var(--face,1) 1;transition:scale .2s cubic-bezier(.3,1.4,.5,1)}.free-speech{white-space:nowrap;font:22px var(--font-hand);transform-origin:0 100%;animation:.38s cubic-bezier(.3,1.6,.5,1) line-pop;position:absolute;bottom:96%;left:50%;rotate:5deg}.phase-idle .bone:hover svg{animation:.5s ease-in-out bone-wiggle}.phase-idle .bone.is-new svg{animation:3.4s ease-in-out 1.5s infinite bone-nudge}.phase-aim .bone svg{scale:1.08}.pet-dog .spoti-dog{scale:var(--face,1) 1;transition:scale .2s cubic-bezier(.3,1.4,.5,1)}.paper-wrap{width:100%;min-width:0;max-width:478px;margin-inline:auto;padding-top:6px;position:relative}.paper-form{background:var(--paper);transform-origin:50%;z-index:1;border:1px solid #eeeddc;border-radius:2px 2px 3px;padding:33px 35px 20px;position:relative;transform:rotate(2deg);box-shadow:2px 5px 6px #303b3012,7px 17px 34px #303b300b}.paper-form:before{content:"";opacity:.25;pointer-events:none;background:repeating-linear-gradient(3deg,#0000 0 3px,#9e9e8312 3px 4px);position:absolute;inset:0}.paper-form:after{content:"";background:linear-gradient(135deg,#e6e5d7 0%,#f5f4e8 49%,var(--bg) 52%);width:25px;height:24px;position:absolute;bottom:-1px;right:-1px;box-shadow:-1px -1px 1px #303b300a}.paper-tape{z-index:3;clip-path:polygon(0 4%,96% 0,100% 18%,97% 33%,100% 52%,97% 71%,100% 100%,1% 94%,3% 72%,0 53%,3% 34%);background:#d9debbad;width:105px;height:30px;position:absolute;top:-8px;left:calc(50% - 49px);transform:rotate(-5deg)}.paper-heading{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.paper-heading .handwritten{font-size:29px}.paper-heading h2{letter-spacing:-.5px;margin-top:3px;font-size:19px;font-weight:500}.paw-stamp{color:#708569;opacity:.85;border:1.5px dashed #819572;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:62px;height:65px;display:flex;rotate:14deg}.paw-stamp span{letter-spacing:1.6px;text-align:center;font-size:6px;font-weight:600;line-height:1.2}.form-field>label{align-items:center;gap:9px;margin-bottom:10px;font-size:12px;font-weight:600;display:flex}.step{border:1px solid var(--line);border-radius:50%;place-items:center;width:19px;height:19px;font-size:10px;font-weight:500;display:grid}.link-field{border:1px solid var(--line);border-radius:var(--radius-control);background:#fafaf1;align-items:center;gap:9px;min-height:45px;padding:0 12px;display:flex}.link-field:focus-within{border-color:var(--green);outline:2px solid #31574320}.link-field>svg{color:var(--muted)}.link-field input{background:0 0;border:0;outline:0;flex:1;width:100%;padding:12px 0;font-size:11px}.link-field input::placeholder{color:var(--muted);opacity:1}.clear-input{background:0 0;place-items:center;width:24px;height:30px;padding:3px;display:grid}.clear-input:hover{color:var(--danger)}.field-hint{color:var(--muted);margin-top:7px;font-size:9px;line-height:1.6}.field-error{color:var(--danger);font-size:10px;line-height:1.5}.field-error:not(:empty){margin-block:7px}.form-field{margin-bottom:23px}.photo-field{margin-bottom:19px}.upload-zone{border-radius:var(--radius-control);text-align:left;background:#f8f9ef;border:1px dashed #b7bfa4;justify-content:center;align-items:center;gap:17px;width:100%;min-height:114px;padding:23px 15px;transition:background .2s,border-color .2s;display:flex}.upload-zone:hover:not(:disabled),.upload-zone.dragging{border-color:var(--green);background:#ecf0de}.upload-zone>span:last-child{flex-direction:column;gap:4px;display:flex}.upload-zone strong{font-size:12px;font-weight:500}.upload-zone>span>span{color:var(--muted);font-size:10px}.upload-zone u{text-underline-offset:3px}.mini-photo{background:var(--paper);border:1px solid var(--line);color:#7e8e6c;border-radius:2px;place-items:center;padding:8px 6px 12px;display:grid;position:relative;rotate:-9deg;box-shadow:2px 3px #d7d9bd60}.mini-photo>span{background:var(--green);border-radius:50%;place-items:center;width:18px;height:18px;line-height:1;display:grid;position:absolute;bottom:-4px;right:-7px;color:var(--paper)!important;font-size:14px!important}.reference-list{flex-wrap:wrap;align-items:flex-start;gap:8px;margin-top:12px;display:flex}.reference-list figure{width:56px;margin:0;position:relative}.reference-list img{object-fit:cover;border:1px solid var(--line);border-radius:3px;width:56px;height:58px}.reference-list figcaption{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:8px;overflow:hidden}.reference-list figure.has-error{width:100%}.reference-list figure.has-error figcaption{white-space:normal;color:var(--danger)}.reference-list button{background:var(--ink);width:20px;height:20px;color:var(--paper);border-radius:50%;padding:3px;position:absolute;top:-5px;right:-5px}.reference-list button:hover{background:var(--danger)}.consent{color:var(--muted);cursor:pointer;align-items:flex-start;gap:8px;font-size:9px;line-height:1.7;display:flex}.consent input{width:13px;height:13px;accent-color:var(--green);cursor:pointer;flex-shrink:0;margin:2px 0 0}.consent a{text-underline-offset:2px}.consent a:hover{color:var(--ink)}.primary-button{border-radius:var(--radius-control);background:var(--green);color:var(--paper);justify-content:center;align-items:center;gap:22px;min-height:49px;padding:15px 24px;font-size:13px;font-weight:500;transition:background .18s,box-shadow .18s;display:inline-flex}.primary-button:hover:not(:disabled){background:var(--green-hover);box-shadow:0 4px #293f3317}.fetch-button{justify-content:space-between;width:100%;margin-top:19px}.fetch-button svg{transition:rotate .25s;rotate:15deg}.fetch-button:hover svg{rotate:-8deg}.advanced{color:var(--muted);margin-top:16px;font-size:9px}.advanced>summary{text-align:center;width:fit-content;margin-inline:auto}summary:hover{color:var(--green)}.advanced-content{gap:10px;padding-block:16px 3px;display:grid}.advanced-content .field-hint{margin:0}.advanced-content label{font-size:11px}.paper-crease{opacity:0;pointer-events:none;background:conic-gradient(from 25deg at 52% 45%,#c8c7b6,#0000 30deg,#eeeede 60deg,#a8a89b 80deg,#0000 110deg,#e4e4d4 150deg,#aeae9d 180deg,#0000 220deg,#a8a89b 250deg,#0000 310deg,#c8c7b6);position:absolute;inset:0}.privacy-note{color:var(--muted);justify-content:center;align-items:center;gap:7px;margin-top:24px;font-size:9px;display:flex}.demo-button{gap:6px;width:fit-content;margin:9px auto 0;font-size:10px;display:flex}.invalid{border-color:var(--danger)}.error-notice{color:var(--danger);background:var(--paper);border-radius:var(--radius-control);overflow-wrap:anywhere;border:1px solid #b98a7b;margin-top:15px;padding:14px 18px;font-size:12px;line-height:1.6}.secondary-button{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--paper);justify-content:center;align-items:center;gap:10px;padding:11px 17px;font-size:11px;display:inline-flex}.secondary-button:hover:not(:disabled){border-color:var(--green);background:var(--sage)}.about{border-top:1px solid var(--line);padding-block:var(--space-section)}.about h2{letter-spacing:-1.4px;text-wrap:balance;font-size:clamp(28px,3vw,38px);font-weight:600;line-height:1.1}.about h3{letter-spacing:-.3px;font-size:17px;font-weight:600}.about p{color:var(--muted);font-size:14px;line-height:1.75}.about-intro{max-width:720px}.about-intro p{margin-top:16px;font-size:15px}.about-subtitle{margin-top:var(--space-section)}.about-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0 0;padding:0;list-style:none;display:grid}.about-steps li{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-control);padding:24px}.about-steps .step{margin-bottom:16px}.about-steps p{margin-top:8px}.about-faq{border-top:1px solid var(--line);max-width:820px;margin-top:20px}.about-faq details{border-bottom:1px solid var(--line)}.about-faq summary{justify-content:space-between;align-items:center;gap:20px;padding-block:18px;list-style:none;display:flex}.about-faq summary::-webkit-details-marker{display:none}.about-faq summary:after{content:"+";font-family:var(--font-display);color:var(--green);font-size:22px;line-height:1;transition:rotate .2s}.about-faq details[open] summary:after{rotate:45deg}.about-faq summary h3{font-size:16px}.about-faq details p{max-width:680px;padding-bottom:20px}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:25px;padding-block:22px 27px;font-size:9px;display:flex}.site-footer>div{align-items:center;gap:22px;display:flex}.site-footer a{text-decoration:none}.site-footer a:hover{text-underline-offset:3px;text-decoration:underline}.dog-bounce{transform-origin:180px 240px;animation:3.2s ease-in-out infinite dog-breathe}.dog-tail{transform-origin:101px 148px;animation:.42s ease-in-out infinite alternate wag}.dog-head{transform-origin:227px 141px;animation:9s ease-in-out infinite curious}.pet-dog:hover .dog-head{rotate:var(--look,0deg)}.dog-ear{transform-origin:210px 60px;animation:4.6s ease-in-out infinite ear-idle}.dog-ear-far{transform-origin:236px 57px;animation:4.6s ease-in-out -.3s infinite ear-far-idle}.dog-run .dog-ear-far{animation:.32s ease-in-out -.15s infinite ear-far-flap}.phase-ready .dog-ear,.phase-toss .dog-ear,.phase-aim .dog-ear{animation:.34s ease-in-out infinite alternate ear-perk}.phase-ready .dog-ear-far,.phase-toss .dog-ear-far,.phase-aim .dog-ear-far{animation:.34s ease-in-out -.1s infinite alternate ear-far-perk}.dog-pet .dog-ear{animation:.3s ease-out forwards ear-relax}.dog-pet .dog-ear-far{animation:.3s ease-out 40ms forwards ear-far-relax}.phase-pickup .dog-ear,.phase-present .dog-ear{animation:.34s ease-out forwards ear-fall}.phase-pickup .dog-ear-far,.phase-present .dog-ear-far{animation:.34s ease-out 50ms forwards ear-far-fall}.dog-eyes{transform-origin:264px 84px;animation:5.4s infinite blink}.dog-tongue{transform-origin:290px 124px;animation:.7s ease-in-out infinite alternate pant}.love-hearts{opacity:0}.dog-pet .love-hearts{animation:1.7s ease-out forwards love}.dog-pet .dog-tail,.dog-play .dog-tail{animation-duration:.15s}.dog-pet .dog-bounce{animation:.35s ease-in-out infinite alternate happy}.dog-pet .dog-eyes{animation:none;transform:scaleY(.2)}.dog-run .dog-bounce{animation:.32s ease-in-out infinite running-bounce}.dog-run .dog-head{animation:.32s ease-in-out infinite running-head}.dog-run .dog-ear{animation:.32s ease-in-out -.08s infinite ear-flap}.dog-run .dog-tail{animation-duration:.16s}.dog-run .dog-tongue{animation:.16s ease-in-out infinite alternate tongue-flap}.dog-run .dog-eyes{animation:none;transform:scaleY(.85)}.dog-trail circle{opacity:0;transform-box:fill-box;transform-origin:50%}.dog-run .dog-trail circle{animation:.32s ease-out infinite trail}.dog-run .dog-trail circle:nth-child(2){animation-delay:.16s}.dog-run .dog-trail circle:nth-child(3){animation-delay:80ms}.leg-back,.leg-back-far{transform-origin:130px 178px}.leg-front,.leg-front-far{transform-origin:222px 175px}.leg-back .paw{transform-origin:124px 230px}.leg-back-far .paw{transform-origin:135px 230px}.leg-front .paw{transform-origin:223px 230px}.leg-front-far .paw{transform-origin:226px 230px}.dog-run .leg-back{animation:.32s ease-in-out infinite alternate gallop}.dog-run .leg-front{animation:.32s ease-in-out infinite alternate-reverse gallop}.dog-run .leg-back-far{animation:.32s ease-in-out -.07s infinite alternate gallop}.dog-run .leg-front-far{animation:.32s ease-in-out -.07s infinite alternate-reverse gallop}.dog-run .leg-back .paw{animation:.32s ease-in-out infinite alternate gallop-paw}.dog-run .leg-front .paw{animation:.32s ease-in-out infinite alternate-reverse gallop-paw}.dog-run .leg-back-far .paw{animation:.32s ease-in-out -.07s infinite alternate gallop-paw}.dog-run .leg-front-far .paw{animation:.32s ease-in-out -.07s infinite alternate-reverse gallop-paw}.dog-proud .dog-head{animation:4s ease-in-out infinite proud}.dog-shadow,.dog-dust{transform-box:fill-box;transform-origin:50%}.dog-dust,.mouth-ball,.mouth-bone,.dog-brows-sad,.dog-tear,.dog-frown,.dog-tail-sad,.dog-sneeze,.dog-woof{opacity:0}.has-ball .mouth-ball,.has-bone .mouth-bone{opacity:1}.has-ball .dog-tongue,.has-bone .dog-tongue{opacity:0}.is-fetching .pet-dog .dog-head{rotate:0deg}.is-fetching .dog-tail{animation-duration:.13s}.phase-aim .dog-bounce{animation:.34s ease-in-out infinite aim-hop}.phase-aim .dog-head{animation:none;transform:rotate(-7deg)}.phase-aim .dog-eyes,.phase-chase .dog-play .dog-eyes{animation:none;transform:scale(1.12)}.phase-pickup .dog-bounce,.phase-present .dog-bounce,.phase-lift .dog-bounce{transform-origin:130px 240px}.phase-pickup .dog-bounce,.phase-present .dog-bounce{animation:.34s cubic-bezier(.3,.7,.4,1) forwards bow-body}.phase-pickup .dog-head,.phase-present .dog-head{animation:.34s cubic-bezier(.3,.7,.4,1) forwards bow-head}.phase-pickup .leg-front,.phase-pickup .leg-front-far,.phase-present .leg-front,.phase-present .leg-front-far{animation:.34s cubic-bezier(.3,.7,.4,1) forwards bow-legs}.phase-pickup .leg-front .paw,.phase-pickup .leg-front-far .paw,.phase-present .leg-front .paw,.phase-present .leg-front-far .paw{animation:.34s cubic-bezier(.3,.7,.4,1) forwards bow-paw}.phase-lift .dog-bounce{animation:.32s ease-in-out reverse both bow-body}.phase-lift .dog-head{animation:.32s ease-in-out reverse both bow-head}.phase-lift .leg-front,.phase-lift .leg-front-far{animation:.32s ease-in-out reverse both bow-legs}.phase-lift .leg-front .paw,.phase-lift .leg-front-far .paw{animation:.32s ease-in-out reverse both bow-paw}.phase-return .dog-run .dog-bounce{animation:.4s ease-in-out infinite proud-trot}.phase-return .dog-run .dog-head{animation:.2s ease-in-out infinite alternate prance-head}.phase-return .dog-run .leg,.phase-return .dog-run .paw{animation-duration:.4s}.is-skidding .dog-dust{animation:.32s ease-out infinite dust-puff}.is-skidding .dog-bounce{transform-origin:130px 240px;animation:none;transform:rotate(-5deg)}.is-skidding .leg-front,.is-skidding .leg-front-far{animation:none;transform:rotate(-22deg)}.is-skidding .leg-back,.is-skidding .leg-back-far{animation:none;transform:rotate(12deg)}.is-skidding .leg-front .paw,.is-skidding .leg-front-far .paw{animation:none;transform:rotate(22deg)}.is-skidding .leg-back .paw,.is-skidding .leg-back-far .paw{animation:none;transform:rotate(-12deg)}.is-playing .dog-bounce{transform-origin:288px 122px;animation:none}.is-playing .pet-dog .dog-head{rotate:0deg}.is-playing .dog-tail{animation-duration:.13s}.phase-ready .dog-head,.phase-toss .dog-head,.phase-catch .dog-head{animation:none;transform:rotate(-10deg)}.phase-ready .dog-eyes,.phase-toss .dog-eyes{animation:none;transform:scale(1.12)}.phase-toss .leg-front,.phase-toss .leg-front-far{animation:1.15s ease-out forwards reach-front}.phase-toss .leg-back,.phase-toss .leg-back-far{animation:1.15s ease-out forwards kick-back}.phase-catch .leg-front,.phase-catch .leg-front-far{animation:.4s ease-in reverse both reach-front}.phase-catch .leg-back,.phase-catch .leg-back-far{animation:.4s ease-in reverse both kick-back}.phase-catch .dog-dust{animation:.55s ease-out .28s both dust-puff}.phase-prance .dog-head{animation:.24s ease-in-out infinite alternate prance-head}.phase-prance .dog-eyes{animation:none;transform:scaleY(.2)}.phase-prance .love-hearts{animation:1.45s ease-out forwards love}.phase-prance .leg-front,.phase-prance .leg-back-far{animation:.24s ease-in-out infinite alternate prance-leg}.phase-prance .leg-back,.phase-prance .leg-front-far{animation:.24s ease-in-out infinite alternate-reverse prance-leg}.phase-prance .leg-front .paw,.phase-prance .leg-back-far .paw{animation:.24s ease-in-out infinite alternate prance-paw}.phase-prance .leg-back .paw,.phase-prance .leg-front-far .paw{animation:.24s ease-in-out infinite alternate-reverse prance-paw}.phase-drop .dog-head{animation:.3s ease-in forwards drop-head}.phase-release .dog-head{animation:.45s ease-out .3s both head-up}.phase-release .dog-bounce{transform-origin:180px 240px;animation:.2s ease-in-out 6 alternate happy}.dog-sad .dog-brows,.dog-sad .dog-jaw,.dog-sad .dog-tongue,.dog-sad .dog-mouth{opacity:0}.dog-sad .dog-brows-sad,.dog-sad .dog-frown{opacity:1}.dog-sad .dog-head{animation:5s ease-in-out infinite sad-head;transform:rotate(13deg)translate(-2px,6px)}.dog-sad .dog-ear{animation:none;transform:rotate(13deg)scaleY(1.05)}.dog-sad .dog-ear-far{animation:none;transform:translateY(7px)rotate(-16deg)}.dog-sad .dog-tail{opacity:0}.dog-sad .dog-tail-sad{opacity:1;transform-origin:104px 148px;animation:2.8s ease-in-out infinite alternate sad-tail}.dog-sad .dog-eyes{animation:6s infinite sad-blink;transform:scaleY(.72)}.dog-sad .dog-tear{transform-box:fill-box;transform-origin:top;animation:4.6s ease-in 2.6s infinite tear}.dog-sad .dog-bounce{animation:4.4s ease-in-out infinite sad-breathe}.finished-dog.is-sad{animation:2.6s cubic-bezier(.3,.55,.45,1) both sad-return}.is-sad .dog-bounce{animation:.23s ease-in-out 10 trot-bounce,4.4s ease-in-out 2.3s infinite sad-breathe}.is-sad .leg-back,.is-sad .leg-front-far{animation:.46s ease-in-out 5 trot}.is-sad .leg-front,.is-sad .leg-back-far,.is-sad .leg-back .paw,.is-sad .leg-front-far .paw{animation:.46s ease-in-out 5 trot-alt}.is-sad .leg-front .paw,.is-sad .leg-back-far .paw{animation:.46s ease-in-out 5 trot}.phase-idle .pet-dog[data-zone=paw] .leg-front .paw{animation:.45s ease-in-out infinite alternate paw-tap}.phase-idle .pet-dog[data-zone=nose] .dog-nose{animation:.22s ease-in-out infinite alternate sniff}.phase-idle .pet-dog[data-zone=ear] .dog-ear{animation:.34s ease-in-out infinite alternate ear-perk}.phase-idle .pet-dog[data-zone=mouth] .dog-tongue{animation-duration:.22s}.phase-idle .pet-dog[data-zone=body] .dog-eyes{animation:none;transform:scaleY(.55)}.dog-nose{transform-origin:310px 100px}.dog-sneeze,.dog-woof{transform-box:fill-box;transform-origin:0}.dog-jaw{transform-origin:297px 117px}:is(.phase-sit,.phase-seated,.phase-shake,.phase-stand) .spoti-dog .dog-bounce{transform-origin:120px 235px;animation:none;transform:translateY(22px)rotate(-18deg)}:is(.phase-sit,.phase-seated,.phase-shake,.phase-stand) .spoti-dog :is(.leg-back,.leg-back-far){transform:rotate(-34deg)}:is(.phase-sit,.phase-seated,.phase-shake,.phase-stand) .spoti-dog :is(.leg-back,.leg-back-far) .paw{transform:rotate(52deg)}:is(.phase-sit,.phase-seated,.phase-shake,.phase-stand) .spoti-dog :is(.leg-front,.leg-front-far){transform:translateY(8px)rotate(18deg)}:is(.phase-sit,.phase-seated,.phase-shake,.phase-stand) .spoti-dog .dog-head{animation:none;transform:rotate(8deg)}.phase-sit .spoti-dog :is(.dog-bounce,.leg,.paw,.dog-head){animation:.38s cubic-bezier(.3,.7,.4,1) from-rest}.phase-stand .spoti-dog :is(.dog-bounce,.leg,.paw,.dog-head){animation:.32s ease-in-out reverse forwards from-rest}.phase-seated .spoti-dog .dog-head{animation:4.5s ease-in-out .5s infinite seated-head}.phase-shake .spoti-dog .leg-front{animation:1.5s ease-in-out both high-five}.phase-shake .spoti-dog .leg-front .paw{animation:1.5s ease-in-out both high-five-paw}.phase-shake .love-hearts{animation:1.5s ease-out .3s both love}.phase-boop .spoti-dog .dog-bounce{animation:1.5s ease-in-out both boop-body}.phase-boop .dog-head{animation:1.5s ease-in-out both boop-head}.phase-boop .dog-eyes{animation:1.5s ease-in-out both boop-eyes}.phase-boop .dog-ear{animation:1.5s ease-in-out both boop-ear}.phase-boop .dog-nose{animation:1.5s ease-in-out both boop-nose}.phase-boop .dog-sneeze{animation:1.5s ease-out both sneeze}.phase-bark .spoti-dog .dog-bounce{animation:1.3s ease-out both bark-body}.phase-bark .dog-head{animation:1.3s ease-out both bark-head}.phase-bark .dog-jaw{animation:1.3s ease-out both bark-jaw}.phase-bark .dog-woof{animation:1.3s ease-out both woof}.phase-bark .dog-ear{animation:.2s ease-in-out 6 alternate ear-perk}.phase-ear .dog-ear{animation:1.9s ease-in-out both ear-flip}.phase-ear .dog-head{animation:1.9s ease-in-out both ear-head}.phase-ear .dog-eyes{animation:1.9s ease-in-out both ear-eyes}.phase-scratch .spoti-dog .dog-bounce{animation:1.9s ease-in-out both scratch-body}.phase-scratch .dog-head{animation:1.9s ease-in-out both scratch-head}.phase-scratch .leg-back{animation:1.9s linear both scratch-leg}.phase-scratch .leg-back .paw{animation:1.9s ease-in-out both scratch-paw}.phase-scratch .dog-tongue{animation-duration:.18s}.phase-cry .spoti-dog .dog-bounce{animation:2.8s ease-in-out both cry-body}.phase-cry .dog-tear{animation:2.2s ease-in .35s both tear}.phase-jump .pet-dog .spoti-dog{transform-origin:50% 90%;animation:1.65s ease-in-out both trick-hop}.phase-jump .leg-front,.phase-jump .leg-back-far{animation:.2s ease-in-out infinite alternate prance-leg}.phase-jump .leg-back,.phase-jump .leg-front-far{animation:.2s ease-in-out infinite alternate-reverse prance-leg}@keyframes cry-body{0%,14%,34%,to{transform:none}5%{transform:translate(6px,-4px)scale(.98,1.03)}40%,52%,64%{transform:translateY(2px)scale(1.01,.98)}46%,58%,70%{transform:translateY(-1px)}}@keyframes paw-tap{to{transform:rotate(-12deg)}}@keyframes sniff{to{transform:scale(1.1,.9)}}@keyframes from-rest{0%{transform:none}}@keyframes seated-head{0%,35%,to{transform:rotate(8deg)}45%,65%{transform:rotate(-6deg)translateY(-2px)}}@keyframes high-five{0%,to{transform:translateY(8px)rotate(18deg)}18%{transform:rotate(-60deg)}30%{transform:rotate(-46deg)}42%{transform:rotate(-60deg)}54%{transform:rotate(-46deg)}66%,80%{transform:rotate(-56deg)}}@keyframes high-five-paw{0%,to{transform:none}18%,80%{transform:rotate(30deg)}}@keyframes boop-body{0%,to{transform:none}8%{transform:translate(-5px)}26%{transform:translate(-2px)}44%{transform:translateY(-3px)scale(.99,1.02)}54%{transform:translate(3px,3px)scale(1.03,.96)}70%{transform:none}}@keyframes boop-head{0%,80%,to{transform:none}8%{transform:rotate(7deg)translate(-7px,1px)}28%{transform:rotate(4deg)translate(-4px)}44%{transform:rotate(-10deg)translateY(-3px)}54%{transform:rotate(13deg)translate(5px,5px)}66%{transform:rotate(-2deg)}}@keyframes boop-eyes{0%,76%,to{transform:none}6%,24%{transform:scaleY(.12)}32%{transform:scale(1.12)}44%{transform:scaleY(.55)}50%,64%{transform:scaleY(.1)}}@keyframes boop-ear{0%,48%,82%,to{transform:none}56%{transform:rotate(-26deg)scaleY(.92)}66%{transform:rotate(10deg)}74%{transform:rotate(-4deg)}}@keyframes boop-nose{0%,70%,to{transform:none}6%{transform:scale(.82,.9)}20%,40%{transform:scale(1.08,.94)}46%{transform:scale(1.14,1.06)}54%{transform:scale(.86)}}@keyframes sneeze{0%,52%{opacity:0;transform:scale(.3)}58%{opacity:1}to{opacity:0;transform:translate(16px,-4px)scale(1.5)}}@keyframes bark-body{0%,30%,40%,70%,to{transform:none}10%,50%{transform:translate(-3px,-6px)rotate(-2deg)}}@keyframes bark-head{0%,to{transform:none}10%,50%{transform:rotate(-11deg)}22%,38%,62%,80%{transform:rotate(-4deg)}}@keyframes bark-jaw{0%,4%,24%,44%,64%,to{transform:none}10%,16%,50%,56%{transform:rotate(32deg)translate(-2px,4px)}}@keyframes woof{0%,6%,40%,46%,86%,to{opacity:0;transform:scale(.6)}12%,52%{opacity:1;transform:none}26%,66%{opacity:0;transform:translate(8px)scale(1.2)}}@keyframes ear-flip{0%,90%,to{transform:none}14%{transform:rotate(168deg)scale(.92)}20%,52%{transform:rotate(152deg)scale(.92)}60%{transform:rotate(170deg)scale(.92)}70%{transform:rotate(-18deg)}78%{transform:rotate(10deg)}84%{transform:rotate(-4deg)}}@keyframes ear-head{0%,86%,to{transform:none}18%,48%{transform:rotate(-11deg)translateY(-2px)}56%{transform:rotate(9deg)}62%{transform:rotate(-9deg)}68%{transform:rotate(8deg)}74%{transform:rotate(-5deg)}80%{transform:rotate(2deg)}}@keyframes ear-eyes{0%,54%,to{transform:none}16%,48%{transform:scale(1.14)}58%,76%{transform:scaleY(.15)}}@keyframes scratch-body{0%,to{transform:none}12%,86%{transform:translateY(-3px)rotate(2deg)}}@keyframes scratch-head{0%,to{transform:none}12%,86%{transform:rotate(-8deg)}}@keyframes scratch-leg{0%,92%,to{transform:none}10%,22%,34%,46%,58%,70%{transform:rotate(-30deg)}16%,28%,40%,52%,64%,76%{transform:rotate(-48deg)}84%{transform:rotate(-24deg)}}@keyframes scratch-paw{0%,92%,to{transform:none}10%,82%{transform:rotate(34deg)}}@keyframes dog-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.012,1.022)}}@keyframes wag{0%{transform:rotate(-12deg)}to{transform:rotate(18deg)}}@keyframes curious{0%,25%,58%,to{transform:rotate(0)}32%,42%{transform:rotate(-9deg)translateY(-2px)}68%,80%{transform:rotate(6deg)translate(2px,4px)}}@keyframes ear-idle{0%,to{transform:rotate(-2deg)}35%{transform:rotate(4deg)}62%{transform:rotate(1deg)}66%{transform:rotate(-6deg)scaleY(.96)}70%{transform:rotate(3deg)}74%{transform:rotate(0)}}@keyframes ear-far-idle{0%,to{transform:rotate(2deg)}35%{transform:rotate(-4deg)translateY(1px)}63%{transform:none}67%{transform:translateY(-3px)rotate(-9deg)}71%{transform:rotate(4deg)}75%{transform:none}}@keyframes ear-flap{0%,to{transform:rotate(22deg)scaleY(.93)}50%{transform:rotate(3deg)scaleY(1.04)}}@keyframes ear-far-flap{0%,to{transform:translateY(-2px)rotate(-15deg)}50%{transform:translateY(1px)rotate(3deg)}}@keyframes ear-perk{0%{transform:rotate(-4deg)scaleY(.95)}to{transform:rotate(-9deg)scaleY(.9)}}@keyframes ear-far-perk{0%{transform:translateY(-3px)rotate(-5deg)}to{transform:translateY(-6px)rotate(-10deg)}}@keyframes ear-relax{to{transform:rotate(12deg)scaleY(1.02)}}@keyframes ear-far-relax{to{transform:translateY(4px)rotate(-13deg)}}@keyframes ear-fall{to{transform:rotate(-30deg)}}@keyframes ear-far-fall{to{transform:rotate(18deg)}}@keyframes blink{0%,42%,45%,72%,75%,to{transform:scaleY(1)}43.5%,73.5%{transform:scaleY(.08)}}@keyframes pant{0%{transform:translateY(0)}to{transform:translateY(2px)}}@keyframes love{0%{opacity:0;transform:translateY(16px)scale(.9)}20%,70%{opacity:1}to{opacity:0;transform:translateY(-22px)scale(1.08)}}@keyframes happy{0%{transform:translateY(0)rotate(-1deg)}to{transform:translateY(-7px)rotate(1deg)}}@keyframes running-bounce{0%,to{transform:translateY(0)rotate(2deg)scale(1.04,.96)}50%{transform:translateY(-15px)rotate(-3deg)scale(.97,1.04)}}@keyframes running-head{0%,to{transform:rotate(-4deg)}50%{transform:rotate(5deg)translateY(2px)}}@keyframes tongue-flap{0%{transform:rotate(-10deg)}to{transform:rotate(16deg)translateY(2px)}}@keyframes trail{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:translate(-28px,-7px)scale(1.5)}}@keyframes aim-hop{0%,to{transform:none}50%{transform:translateY(-10px)scale(.98,1.03)}}@keyframes bow-body{0%{transform:none}to{transform:rotate(25deg)}}@keyframes bow-head{0%{transform:none}to{transform:rotate(15deg)}}@keyframes bow-legs{0%{transform:none}to{transform:rotate(-95deg)}}@keyframes bow-paw{0%{transform:none}to{transform:rotate(92deg)}}@keyframes proud-trot{0%,to{transform:translateY(0)scale(1.03,.97)}50%{transform:translateY(-9px)rotate(-2deg)}}@keyframes bone-wiggle{0%,to{rotate:0deg}30%{rotate:-14deg}65%{rotate:10deg}}@keyframes bone-nudge{0%,78%,to{translate:0;rotate:0deg}84%{translate:0 -5px;rotate:-14deg}90%{translate:0;rotate:10deg}95%{rotate:-5deg}}@keyframes gallop{0%{transform:rotate(-22deg)}to{transform:rotate(21deg)}}@keyframes gallop-paw{0%{transform:rotate(17deg)}to{transform:rotate(-16deg)}}@keyframes proud{0%,to{transform:rotate(0)}40%,60%{transform:rotate(-7deg)}}@keyframes line-pop{0%{opacity:0;transform:scale(.7)rotate(-5deg)}}@keyframes reach-front{0%,50%{transform:rotate(0)}to{transform:rotate(-38deg)}}@keyframes kick-back{0%,50%{transform:rotate(0)}to{transform:rotate(34deg)}}@keyframes dust-puff{0%{opacity:0;transform:translateY(4px)scale(.3)}30%{opacity:.9}to{opacity:0;transform:translateY(-6px)scale(1.5)}}@keyframes prance-head{0%{transform:rotate(-13deg)}to{transform:rotate(-3deg)translateY(2px)}}@keyframes prance-leg{0%{transform:rotate(-16deg)}to{transform:rotate(14deg)}}@keyframes prance-paw{0%{transform:rotate(13deg)}to{transform:rotate(-11deg)}}@keyframes drop-head{0%{transform:rotate(-4deg)}to{transform:rotate(11deg)}}@keyframes head-up{0%{transform:rotate(11deg)}to{transform:rotate(0)}}@keyframes sad-head{0%,to{transform:rotate(13deg)translate(-2px,6px)}50%{transform:rotate(16deg)translate(-2px,8px)}}@keyframes sad-tail{0%{transform:rotate(-4deg)}to{transform:rotate(5deg)}}@keyframes sad-blink{0%,60%,64%,to{transform:scaleY(.72)}62%{transform:scaleY(.08)}}@keyframes sad-breathe{0%,to{transform:none}45%{transform:translateY(2px)scale(1.01,.985)}}@keyframes tear{0%,12%{opacity:0;transform:scale(.5)}24%{opacity:1;transform:none}70%{opacity:1;transform:translateY(13px)}86%,to{opacity:0;transform:translateY(20px)scale(.8)}}@keyframes sad-return{0%{transform:translate(calc(-50vw - 260px))}to{transform:none}}@keyframes trot-bounce{0%,to{transform:none}50%{transform:translateY(-4px)}}@keyframes trot{0%,to{transform:rotate(0)}25%{transform:rotate(-17deg)}75%{transform:rotate(15deg)}}@keyframes trot-alt{0%,to{transform:rotate(0)}25%{transform:rotate(15deg)}75%{transform:rotate(-17deg)}}.launch-overlay{z-index:20;pointer-events:none;position:fixed;inset:0}.launching .paper-form{pointer-events:none;animation:.85s cubic-bezier(.6,0,.9,.4) forwards paper-crumple}.launching .paper-tape{animation:.28s ease-in forwards tape-peel}.launching .paper-crease{animation:.7s ease-out forwards creases}.launching .privacy-note,.launching .demo-button,.launching .dog-introduction,.launching .playground-caption{opacity:0;transition:opacity .2s}.launching .pet-dog{animation:.75s forwards ready-to-chase}.crumpled-note{clip-path:polygon(16% 1%,62% 0,84% 15%,100% 46%,91% 81%,57% 100%,17% 92%,0 62%,5% 25%);opacity:0;background:conic-gradient(from 40deg,#fffef8,#dadacc 60deg,#fffef8 90deg,#bfc1af 125deg,#fffef8 155deg,#d9dbca 205deg,#fffef8 265deg,#c7caba 295deg,#fffef8);width:45px;height:45px;margin:-22px;animation:1.8s cubic-bezier(.42,0,.9,.45) forwards throw-note;position:absolute}.chasing-dog{opacity:0;width:285px;animation:1.8s cubic-bezier(.55,0,.85,.5) forwards chase-note;position:absolute;top:min(58vh,520px);left:max(40px,50vw - 500px)}@keyframes tape-peel{to{opacity:0;transform:rotate(-30deg)translateY(-30px)}}@keyframes creases{25%{opacity:.1}to{opacity:.9}}@keyframes paper-crumple{0%{clip-path:polygon(0 0,50% 0,100% 0,100% 50%,100% 100%,50% 100%,0 100%,0 50%);transform:rotate(2deg)}25%{clip-path:polygon(7% 0,45% 3%,93% 1%,100% 53%,94% 100%,44% 95%,0 91%,4% 47%);transform:rotate(-5deg)scale(.92,.96)skew(3deg)}57%{clip-path:polygon(18% 1%,53% 14%,94% 2%,85% 56%,100% 83%,52% 100%,6% 85%,0 38%);transform:rotate(13deg)scale(.5,.56)skew(-8deg)}90%{opacity:1}to{clip-path:polygon(16% 1%,62% 0,84% 15%,100% 46%,91% 81%,57% 100%,17% 92%,0 62%);opacity:0;transform:rotate(-18deg)scale(.075,.07)}}@keyframes throw-note{0%,44%{opacity:0;transform:translate(0)rotate(0)}45%,50%{opacity:1;transform:translate(0)rotate(0)}65%{opacity:1;transform:translate(16vw,-140px)rotate(180deg)}to{opacity:1;transform:translate(70vw,150px)rotate(650deg)}}@keyframes ready-to-chase{0%,60%{opacity:1}80%{opacity:1;transform:translate(-10px,6px)scale(1.04,.93)}to{opacity:0}}@keyframes chase-note{0%,39%{opacity:0;transform:translate(0)}40%,48%{opacity:1;transform:translate(0)}to{opacity:1;transform:translate(135vw)}}.search-view{padding-top:28px;padding-bottom:60px}.search-topline{justify-content:space-between;align-items:center;gap:16px;display:flex}.session-tag{color:var(--muted);letter-spacing:1.5px;font-size:9px}.search-heading{text-align:center;margin-top:45px}.search-heading .eyebrow{justify-content:center}.search-heading h1{letter-spacing:-2.8px;outline:none;margin-block:20px 17px;font-size:clamp(34px,4.4vw,59px);font-weight:500;line-height:1.09}.search-heading>p{color:var(--muted);max-width:600px;min-height:39px;margin-inline:auto;font-size:12px}.search-error{max-width:620px;margin-inline:auto}.search-error button{margin:12px 10px 0 0}.fetch-track{height:220px;margin:0 calc((min(var(--page-max), 100vw - 96px) - 100vw) / 2) 26px;position:relative}.track-line{background:var(--line);height:1px;position:absolute;bottom:30px;left:12%;right:12%}.track-caption{text-align:center;width:100%;font-family:var(--font-hand);color:var(--muted);font-size:22px;position:absolute;bottom:0}.fetch-runner{z-index:5;width:238px;position:absolute;bottom:23px;left:calc(50% - 119px);transform:translate(110vw)}.fetch-runner .spoti-dog{width:100%}.carried-photo{background:var(--paper);transform-origin:0 0;z-index:6;width:72px;height:82px;padding:5px 5px 14px;position:absolute;top:70px;left:195px;rotate:0deg;box-shadow:1px 3px 5px #293f3324}.carried-photo img{object-fit:cover;width:100%;height:100%}.is-placing .dog-head{animation:none;transform:rotate(13deg)}.finished-dog,.show-dog{width:235px;position:absolute;bottom:23px;left:calc(50% - 117px)}.show-actor{transform-origin:50% 70%}.trick-enter .show-actor{animation:1.1s cubic-bezier(.2,.7,.3,1) both show-enter}.trick-tilt .dog-head{animation:1.7s ease-in-out both trick-tilt}.trick-bow .dog-bounce{transform-origin:130px 240px;animation:1.6s ease-in-out both trick-bow-body}.trick-bow .dog-head{animation:1.6s ease-in-out both trick-bow-head}.trick-bow .leg-front,.trick-bow .leg-front-far{animation:1.6s ease-in-out both trick-bow-legs}.trick-bow .leg-front .paw,.trick-bow .leg-front-far .paw{animation:1.6s ease-in-out both trick-bow-paw}.trick-flip .show-actor{animation:1.5s cubic-bezier(.4,0,.3,1) both trick-flip}.trick-hop .show-actor{animation:1.6s ease-in-out both trick-hop}.trick-exit .show-actor{animation:.9s cubic-bezier(.5,0,.8,.5) both show-exit}@keyframes show-enter{0%{transform:translate(calc(-50vw - 260px))}85%{transform:translate(14px)}to{transform:none}}@keyframes show-exit{0%{transform:none}15%{transform:translate(-12px)scale(1.04,.95)}to{transform:translate(calc(50vw + 260px))}}@keyframes trick-tilt{0%,to{transform:none}18%,42%{transform:rotate(-14deg)translateY(-3px)}56%,82%{transform:rotate(12deg)}}@keyframes trick-bow-body{0%,to{transform:none}18%,80%{transform:rotate(24deg)}}@keyframes trick-bow-head{0%,to{transform:none}18%,80%{transform:rotate(-18deg)}}@keyframes trick-bow-legs{0%,to{transform:none}18%,80%{transform:rotate(-92deg)}}@keyframes trick-bow-paw{0%,to{transform:none}18%,80%{transform:rotate(89deg)}}@keyframes trick-flip{0%{transform:none}18%{transform:translateY(6px)scale(1.05,.92)}62%{transform:translateY(-48px)rotate(-360deg)}80%{transform:translateY(5px)rotate(-360deg)scale(1.05,.93)}to{transform:rotate(-360deg)}}@keyframes trick-hop{0%,to{transform:none}16%{transform:translateY(5px)scale(1.05,.93)}34%{transform:translateY(-44px)scale(.96,1.05)}52%{transform:translateY(0)scale(1.05,.93)}70%{transform:translateY(-26px)}86%{transform:translateY(0)scale(1.03,.96)}}.search-pawprints{color:var(--green);gap:35px;display:flex;position:absolute;bottom:60px;right:15%;transform:rotate(-8deg)}.search-pawprints svg{opacity:.18;animation:3.2s infinite paw-trail;rotate:85deg}.search-pawprints svg:nth-child(2){animation-delay:.4s;translate:0 20px}.search-pawprints svg:nth-child(3){animation-delay:.8s}.search-pawprints svg:nth-child(4){animation-delay:1.2s;translate:0 20px}@keyframes paw-trail{0%,70%,to{opacity:.1}30%{opacity:.5}}.photos-section{min-height:180px}.photos-heading{justify-content:space-between;align-items:center;gap:20px;padding-bottom:25px;display:flex}.photos-heading h2{letter-spacing:-.4px;font-size:19px;font-weight:500}.photos-heading h2>span{font-family:var(--font-body);border:1px solid var(--line);vertical-align:middle;border-radius:50%;place-items:center;min-width:22px;height:22px;margin-left:8px;padding-inline:6px;font-size:10px;display:inline-grid}.photos-heading p{color:var(--muted);font-size:11px}.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:27px;display:grid}.photo-print{background:var(--paper);rotate:var(--tilt);padding:9px 9px 13px;text-decoration:none;transition:rotate .25s,box-shadow .25s;animation:.45s ease-out print-settle;display:block;box-shadow:1px 3px 6px #293f3315}.photo-print:hover{rotate:0deg;box-shadow:3px 8px 16px #293f3325}.print-image{aspect-ratio:1/1.07;background:var(--sage);position:relative;overflow:hidden}.print-image>img{object-fit:contain;width:100%;height:100%;display:block}.print-caption{gap:6px;padding:12px 4px 0;display:grid}.print-caption>span:first-child{font-family:var(--font-hand);white-space:nowrap;text-overflow:ellipsis;font-size:20px;overflow:hidden}.match-score{color:var(--muted);font-size:9px}.open-photo{color:#fff;opacity:0;background:#293f3377;justify-content:center;align-items:center;gap:7px;font-size:12px;transition:opacity .2s;display:flex;position:absolute;inset:0}.photo-print:hover .open-photo,.photo-print:focus-visible .open-photo{opacity:1}.face-box{border:1.5px solid var(--yellow);opacity:0;border-radius:4px;position:absolute}.photo-print:hover .face-box,.photo-print:focus-visible .face-box{opacity:1}.photo-placeholder{border:1px dashed var(--line);aspect-ratio:1/1.34;color:#80906b;font-family:var(--font-hand);background:#dce2c430;border-radius:2px;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:21px;display:flex}.empty-collection{text-align:center;border:1px dashed var(--line);min-height:120px;color:var(--muted);border-radius:4px;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.empty-collection p{font-size:12px}.load-more{margin:28px auto 0;display:flex}.load-more span{color:var(--muted);font-size:10px}.finished-actions{justify-content:center;align-items:center;gap:27px;margin-top:45px;display:flex}.finished-actions .handwritten{color:var(--muted);font-size:23px}.search-details{color:var(--muted);margin-top:35px;font-size:11px}.search-details>summary{text-align:center;width:fit-content;margin:auto}.search-details-content{border:1px solid var(--line);background:var(--paper);border-radius:var(--radius-control);max-width:540px;margin:20px auto 0;padding:24px}.match-control{font-size:12px;display:block}.match-control input{width:100%;accent-color:var(--green);margin-block:15px;display:block}.search-details-content>p,.skipped{margin-top:18px}@keyframes print-settle{0%{scale:1.04;rotate:calc(var(--tilt) + 2deg)}to{scale:1;rotate:var(--tilt)}}.page.legal{width:min(760px,100% - 48px);margin:60px auto;font-size:14px;line-height:1.8}.legal h1{letter-spacing:-2px;margin:24px 0 10px;font-size:46px}.legal h2{margin:30px 0 12px;font-size:23px}.legal p,.legal ul{color:var(--muted);margin-bottom:15px}.legal a:hover{color:var(--green)}@media (width>=1500px){.landing{padding-top:95px;padding-bottom:75px}}@media (width<=1100px){.shell{width:calc(100% - 64px)}.landing{gap:38px;padding-top:62px}.hero-copy h1{letter-spacing:-2.4px;font-size:48px}.paper-form{padding:29px 25px 20px}.playground{transform-origin:0 100%;margin-left:-16px;transform:scale(.92)}}@media (width>=821px) and (width<=960px){.tight-break{display:inline}.dog-introduction:has(.tight-break){top:-22px}}@media (width<=820px){.shell{width:calc(100% - 44px)}.site-header{height:85px}.wordmark{font-size:36px}.landing{grid-template-columns:minmax(0,1fr);gap:14px;padding-top:44px;padding-bottom:45px}.hero-copy{text-align:center}.hero-copy h1{letter-spacing:-2.2px;margin-top:0;font-size:clamp(38px,7vw,54px)}.hero-description{margin-top:27px;font-size:14px}.cue-side{display:none}.cue-below{display:inline}.playground{--dog-w:289px;--ground:45px;text-align:left;width:420px;max-width:100%;height:255px;margin:0 auto;transform:none}.pet-dog{bottom:21px;left:18px}.dog-introduction{font-size:24px;top:13px;left:266px}.ball-spot{left:auto;right:38px}.playground-caption{justify-content:space-between;gap:12px;left:30px;right:20px}.paper-wrap{max-width:440px;margin-top:25px}.paper-form{padding:31px 29px 22px;transform:rotate(1.4deg)}.form-field>label{font-size:13px}.link-field input{font-size:12px}.field-hint,.consent{font-size:10px}.upload-zone strong{font-size:13px}.upload-zone>span>span{font-size:11px}.privacy-note{font-size:10px}.demo-button{font-size:11px}.site-footer{flex-direction:column;gap:11px;font-size:9px}.about{padding-block:48px}.about-subtitle{margin-top:48px}.about-steps{grid-template-columns:minmax(0,1fr);gap:12px}.about-steps li{padding:20px}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.photos-heading{flex-direction:column;align-items:start;gap:7px}.session-tag{display:none}.search-heading h1{letter-spacing:-1.6px}.search-heading>p{max-width:420px}.chasing-dog{width:230px;top:55vh;left:0}}@media (width<=480px){.shell{width:calc(100% - 36px)}.hero-copy h1{letter-spacing:-1.4px;font-size:clamp(30px,8.6vw,40px)}.playground{--dog-w:267px;height:235px}.pet-dog{left:0}.dog-introduction{font-size:21px;top:13px;left:234px}.ball-spot{right:17px}.playground-caption{font-size:9px;left:14px;right:2px}.paper-wrap{width:calc(100% - 8px);margin-top:31px}.paper-form{padding:28px 22px 20px}.paper-heading{margin-bottom:24px}.paper-heading h2{font-size:18px}.paw-stamp{width:52px;height:57px}.privacy-note{gap:5px;font-size:8.5px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 14px}.print-caption{padding:9px 1px 0}.print-caption>span:first-child{font-size:18px}.search-heading{margin-top:35px}.search-heading h1{font-size:35px}.search-heading>p{font-size:11px}.fetch-track{height:195px;margin-inline:-18px}.fetch-runner{width:208px;left:calc(50% - 104px)}.carried-photo{width:58px;height:67px;top:62px;left:170px}.finished-dog,.show-dog{width:210px;left:calc(50% - 105px)}.track-caption{font-size:20px}.finished-actions{flex-direction:column;gap:15px}.finished-actions .handwritten{font-size:23px}}[data-motion=reduced] *,[data-motion=reduced] :before,[data-motion=reduced] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}[data-motion=reduced] .dog-pet .love-hearts,[data-motion=reduced] .phase-prance .love-hearts,[data-motion=reduced] .dog-sad .dog-tear{opacity:1}[data-motion=reduced] .launching .paper-form{opacity:.5}[data-motion=reduced] .pet-dog:hover .dog-head{rotate:0deg}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (forced-colors:active){*{scrollbar-color:auto}button,.paper-form,.link-field,.upload-zone,.photo-print{border:1px solid buttontext}.spoti-app:before{display:none}}@media (width>=821px) and (height<=850px){.site-header{height:85px}.landing{min-height:650px;padding-top:44px;padding-bottom:40px}.hero-copy h1{letter-spacing:-2.6px;margin-top:10px;font-size:clamp(42px,4.2vw,54px)}.hero-description{margin-top:27px;font-size:14px}.playground{--dog-w:295px;--ground:40px;height:239px;margin-top:5px}.pet-dog{bottom:18px}.dog-introduction{font-size:24px;top:4px;left:274px}.ball-spot{left:350px}.paper-form{padding-top:29px}.paper-heading{margin-bottom:23px}.form-field{margin-bottom:20px}.upload-zone{min-height:106px}}@media (width<=360px){.dog-introduction{font-size:19px;left:208px}.playground{--dog-w:247px}.playground-caption{font-size:8px}.toss-button{font-size:9px}.paper-heading h2{font-size:16px}.paper-form{padding-inline:19px}}
