@import url('/assets/tokens.css');
@font-face{font-family:Pet;src:url('/assets/fonts/Pretendard-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Pet;src:url('/assets/fonts/Pretendard-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Pet;src:url('/assets/fonts/Pretendard-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--cream:var(--mlp-background);--peach:var(--mlp-hero);--apricot:var(--mlp-primary);--ink:var(--mlp-ink);--muted:var(--mlp-muted);--rose:var(--mlp-brand-accent);font-family:Pet,sans-serif;color:var(--ink);background:var(--cream);color-scheme:light;scroll-snap-type:y mandatory;scroll-behavior:smooth;--ease:cubic-bezier(.2,.75,.2,1)}
*{box-sizing:border-box}body{margin:0}img{display:block;max-width:100%}h1,h2,p{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--rose);outline-offset:5px}h1,h2{font-weight:600;letter-spacing:-.065em;line-height:1.19}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.13em}.body-copy{font-size:18px;line-height:1.8;letter-spacing:-.025em;color:var(--muted)}.pill{display:inline-flex;align-items:center;justify-content:center;gap:34px;padding:18px 27px;min-height:56px;border:0;border-radius:100px;background:var(--ink);color:var(--cream);font-size:14px;font-weight:600}.pill .arrow{font-size:18px}.site-header{position:fixed;inset:0 0 auto;z-index:30;height:96px;padding:0 5.5vw;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.site-header>a,.site-header nav{pointer-events:auto}.brand{width:132px}.site-header nav{display:flex;align-items:center;gap:30px;font-size:13px}.site-header .pill{font-size:12px;min-height:44px;padding:12px 22px;gap:25px}.page{position:relative;height:100vh;height:100svh;min-height:680px;scroll-snap-align:start;scroll-snap-stop:always;isolation:isolate;overflow:hidden}.page-inner{width:100%;height:100%;max-width:1800px;margin:auto;padding:125px 9vw 100px;display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center}.page-index{position:absolute;bottom:35px;left:5.5vw;font-size:11px;display:flex;gap:15px;align-items:center;letter-spacing:.08em}.page-index:before{content:'';height:1px;width:38px;background:var(--rose)}.page-rail{position:fixed;z-index:40;right:24px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:6px}.page-rail a{min-height:35px;min-width:35px;display:grid;place-items:center;border-radius:100px}.page-rail a:before{content:'';width:6px;height:6px;background:var(--mlp-outline);border-radius:100px;opacity:.45;transition:height .4s,opacity .4s}.page-rail a[aria-current=true]:before{height:25px;opacity:1;background:var(--ink)}.review-tools{position:fixed;bottom:19px;right:24px;z-index:50;display:flex;align-items:center;gap:5px;border:1px solid #9c817333;padding:5px;border-radius:100px;background:#fff9f1ed;backdrop-filter:blur(20px);box-shadow:0 6px 22px #513b3207}.review-tools>span{font-size:9px;letter-spacing:.08em;padding:0 10px;color:var(--muted)}.review-tools button{border:0;border-radius:100px;min-height:36px;padding:9px 13px;font-size:11px;background:transparent}.review-tools .select-direction{background:var(--ink);color:var(--cream)}.review-tools button:hover{background:var(--peach)}.review-tools .select-direction:hover{background:var(--mlp-brand-ink)}.status-message{position:fixed;z-index:60;bottom:80px;right:26px;max-width:calc(100% - 48px);background:var(--ink);color:var(--cream);border-radius:16px;padding:16px 21px;font-size:13px;box-shadow:0 5px 30px #513b3222}.status-message:empty{display:none}.next-page{position:absolute;left:50%;bottom:32px;transform:translateX(-50%);display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:.08em}.next-page span{width:27px;height:40px;border:1px solid #9c817355;border-radius:30px;display:grid;place-items:center}.next-page i{display:block;width:4px;height:8px;background:var(--rose);border-radius:4px;animation:scroll-hint 2s infinite}.page h2{font-size:clamp(44px,4.7vw,72px);margin:28px 0}.chapter-tag{margin-top:28px;display:inline-flex;gap:12px;align-items:center;font-size:11px}.chapter-tag:before{content:'♡';color:var(--rose);font-size:22px}.appear{transition:opacity .9s var(--ease),transform 1.2s var(--ease)}
/* Opening: editorial portraits, animated objects in the foreground. */
.opening{background:var(--cream)}.opening:before{content:'';position:absolute;z-index:-1;inset:-20% -15% -20% 36%;border-radius:50%;background:radial-gradient(ellipse,#fadedc 0%,#fadedc55 40%,transparent 68%);transform:rotate(-12deg);animation:warmth 9s ease-in-out infinite alternate}.opening .page-inner{padding-left:7.5vw;padding-right:6vw;grid-template-columns:1fr 1.1fr;gap:2vw}.hero-copy{position:relative;z-index:7;padding-bottom:20px}.hero-copy .eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:30px}.hero-copy .eyebrow:before{content:'';height:7px;width:7px;border-radius:50%;background:var(--rose)}.hero-copy h1{font-size:clamp(50px,5.4vw,82px);line-height:1.22}.hero-copy h1 em{font-style:normal;color:var(--rose)}.hero-copy .body-copy{margin:28px 0 32px;font-size:17px}.hero-copy .quiet-note{font-size:11px;color:var(--muted);margin-top:17px}.hero-stage{position:relative;height:min(65svh,650px);min-height:460px;transform:translate(calc(var(--pointer-x,0)*9px),calc(var(--pointer-y,0)*7px));transition:transform .8s var(--ease)}.portrait{position:absolute;overflow:hidden;transform-origin:50% 80%;box-shadow:0 12px 38px #513b3206}.portrait.ria{--tilt:9deg;width:61%;height:80%;right:4%;top:1%;background:var(--peach);border-radius:240px 240px 14px 14px;transform:rotate(var(--tilt))}.portrait.rookie{--tilt:-10deg;width:56%;height:73%;left:0;bottom:-2%;border:8px solid var(--cream);background:#e9e4d8;border-radius:210px 210px 13px 13px;transform:rotate(var(--tilt));z-index:3;box-shadow:10px 16px 38px #513b3212}.portrait img{position:absolute;height:93%;width:95%;object-fit:contain;object-position:bottom;bottom:-1%;left:2%;transform:rotate(calc(var(--tilt)*-1));transform-origin:50% 80%}.portrait.rookie img{height:100%;bottom:-6%}.hero-orbit{position:absolute;border:1px solid #cb9a8860;border-radius:50%;width:120%;height:76%;left:-9%;top:15%;transform:rotate(-25deg);z-index:-1}.orbit-caption{position:absolute;top:0;left:2%;font-size:10px;letter-spacing:.15em;line-height:1.8;transform:rotate(-10deg);color:var(--muted)}.hero-prop{position:absolute;z-index:5;pointer-events:none}.hero-prop img{width:100%;height:100%;object-fit:contain}.hero-prop.ball{width:155px;right:-5%;bottom:2%;--enter-x:100px;--enter-y:-170px;--enter-rotate:100deg}.hero-prop.treat{width:160px;left:-13%;top:9%;--enter-x:170px;--enter-y:90px;--enter-rotate:-65deg}.hero-prop.rope{width:185px;left:21%;bottom:-13%;--enter-x:-100px;--enter-y:90px;--enter-rotate:35deg}.hero-prop.ball img{animation:ball-orbit 7s ease-in-out infinite}.hero-prop.treat img{animation:treat-orbit 8s ease-in-out infinite}.hero-prop.rope img{animation:rope-orbit 9s ease-in-out infinite}.spark{position:absolute;z-index:6;color:var(--rose);font-size:35px;right:-4%;top:9%;animation:sparkle 5s ease-in-out infinite}.spark.small{left:0;top:47%;right:auto;font-size:24px;animation-delay:-2s}.opening.ready .hero-copy [data-intro]{animation:copy-in .95s var(--ease) both;animation-delay:var(--delay,0s)}.opening.ready .portrait{animation:portrait-in 1.65s var(--ease) both}.opening.ready .portrait.rookie{animation-delay:.22s}.opening.ready .portrait img{animation:pet-in 1.6s var(--ease) both;animation-delay:.14s}.opening.ready .portrait.rookie img{animation-delay:.38s}.opening.ready .hero-prop{animation:prop-in 1.6s var(--ease) both;animation-delay:var(--delay,.55s)}.opening.ready .hero-orbit{animation:orbit-in 2s var(--ease) both}.opening.ready .orbit-caption,.opening.ready .spark{animation:copy-in 1.5s var(--ease) .65s both}.opening .hero-signature{position:absolute;right:6.5%;bottom:33px;font-size:10px;letter-spacing:.15em;color:var(--rose)}
/* Page 2 — a gentle touch, large portrait. */
.touch-page{background:var(--peach)}.touch-art{height:min(70svh,700px);min-height:450px;position:relative}.touch-art:before{content:'';position:absolute;inset:5% 3% 0;background:#fff9f177;border-radius:48% 48% 12% 12%}.touch-art .pet{position:absolute;width:auto;height:97%;bottom:-2%;left:50%;transform:translateX(-50%);max-width:110%;object-fit:contain;filter:drop-shadow(0 12px 12px #513b320c)}.touch-ripple{position:absolute;left:57%;top:31%;width:65px;height:65px;border:1px solid #cb9a88;border-radius:50%;box-shadow:0 0 0 15px #cb9a8822;animation:ripple 3.5s ease-out infinite}.touch-heart{position:absolute;left:38%;top:4%;font-size:39px;color:var(--rose);animation:heart-rise 4s ease-in-out infinite}.touch-page .page-inner{grid-template-columns:1.1fr 1fr;gap:8vw}.touch-page .body-copy{font-size:18px}
/* Page 3 — the small joy of sharing a treat. */
.treat-page{background:#f3eade}.treat-page .page-inner{grid-template-columns:1fr 1.15fr;gap:1vw;padding-inline:9vw 7vw}.treat-art{position:relative;height:min(70svh,700px);min-height:460px}.treat-disc{position:absolute;inset:8% -4% 4% 7%;border-radius:50%;background:var(--cream)}.treat-art .pet{position:absolute;height:73%;width:75%;object-fit:contain;bottom:1%;right:-8%;z-index:2}.treat-art .biscuit{position:absolute;width:65%;left:-7%;top:3%;z-index:3;transform:rotate(-22deg);animation:treat-offer 6s ease-in-out infinite}.treat-art .tiny-heart{position:absolute;right:8%;top:18%;font-size:40px;color:var(--rose)}.treat-art .scene-label{position:absolute;left:12%;bottom:8%;font-size:10px;letter-spacing:.13em;transform:rotate(-90deg);transform-origin:0 0;color:var(--rose)}
/* Page 4 — a playful, spacious finale to the interactions. */
.play-page{background:var(--peach)}.play-page .play-copy{text-align:center;position:absolute;inset:18% 20% auto;z-index:5}.play-page h2{font-size:clamp(48px,5.8vw,86px);margin:23px 0}.play-page .play-copy .body-copy{font-size:17px}.play-orbit{position:absolute;left:21%;right:21%;top:16%;bottom:13%;border:1px solid #cb9a8870;border-radius:50%;transform:rotate(-13deg)}.play-orbit:after{content:'';position:absolute;inset:-10% 12%;border:1px solid #cb9a8833;border-radius:50%;transform:rotate(24deg)}.play-page .play-pet{position:absolute;bottom:6%;height:61%;max-width:34%;object-fit:contain;z-index:3}.play-page .ria{left:3%;transform:rotate(6deg)}.play-page .rookie{right:4%;height:55%;transform:rotate(-7deg)}.play-ball{position:absolute;width:180px;left:calc(50% - 90px);bottom:10%;z-index:4;animation:play-ball 5s ease-in-out infinite}.play-rope{position:absolute;width:170px;right:20%;top:12%;transform:rotate(23deg);animation:rope-orbit 8s ease-in-out infinite}.play-page .spark{right:auto;left:16%;top:15%}
/* Page 5 — one calm download page. */
.download-page{background:var(--cream);display:flex;align-items:center;justify-content:center;text-align:center;padding:100px 24px 120px}.download-content{position:relative;z-index:3}.download-content .symbol{width:130px;margin:0 auto 26px}.download-content h2{font-size:clamp(45px,4.8vw,70px);margin:26px 0}.download-content .body-copy{font-size:17px}.download-page:before{content:'';position:absolute;inset:4% 15% 0;border-radius:50%;background:radial-gradient(ellipse,#fadedc77,transparent 68%);z-index:-1}.stores{display:flex;justify-content:center;gap:12px;margin:34px auto 15px}.store{display:grid;grid-template-columns:26px 1fr;gap:2px 12px;text-align:left;padding:16px 23px;min-width:194px;border:0;border-radius:16px;background:var(--ink);color:var(--cream);cursor:default}.store svg{width:25px;height:27px;grid-row:span 2;align-self:center}.store small{font-size:10px;opacity:.8}.store strong{font-weight:600;font-size:19px}.store-note{font-size:11px;color:var(--muted)}.download-signature{position:absolute;left:0;right:0;bottom:10%;font-size:17vw;letter-spacing:-.06em;font-weight:600;color:#cb9a881b;line-height:1;z-index:-1}.legal-preview{position:absolute;left:5.5vw;bottom:82px;text-align:left;font-size:10px;line-height:2;color:var(--muted)}.legal-preview p+div{display:flex;gap:15px}
@keyframes portrait-in{0%{opacity:0;transform:translate(75px,90px) rotate(calc(var(--tilt) + 15deg)) scale(.79)}70%{opacity:1;transform:translate(-4px,-6px) rotate(calc(var(--tilt) - 1deg)) scale(1.01)}100%{opacity:1;transform:translate(0,0) rotate(var(--tilt)) scale(1)}}
@keyframes pet-in{from{opacity:0;translate:0 90px;scale:.9}to{opacity:1;translate:0 0;scale:1}}
@keyframes prop-in{0%{opacity:0;translate:var(--enter-x) var(--enter-y);rotate:var(--enter-rotate);scale:.45}65%{opacity:1;scale:1.08}100%{opacity:1;translate:0 0;rotate:0deg;scale:1}}
@keyframes copy-in{from{opacity:0;translate:0 28px;filter:blur(6px)}to{opacity:1;translate:0 0;filter:blur(0)}}
@keyframes orbit-in{from{opacity:0;scale:.6;rotate:-25deg}to{opacity:1;scale:1;rotate:0deg}}
@keyframes ball-orbit{0%,100%{transform:translate(0,0) rotate(0)}30%{transform:translate(-22px,-28px) rotate(20deg)}65%{transform:translate(12px,-14px) rotate(-8deg)}}
@keyframes treat-orbit{0%,100%{transform:translate(0,0) rotate(-22deg)}50%{transform:translate(15px,-27px) rotate(-8deg)}}
@keyframes rope-orbit{0%,100%{translate:0 0;rotate:-4deg}50%{translate:9px -16px;rotate:7deg}}
@keyframes warmth{to{transform:translate(-3%,3%) rotate(8deg) scale(1.1);opacity:.7}}
@keyframes sparkle{50%{transform:scale(.75) rotate(65deg);opacity:.5}}
@keyframes scroll-hint{0%,100%{transform:translateY(-4px);opacity:.4}60%{transform:translateY(4px);opacity:1}}
@keyframes ripple{0%{scale:.75;opacity:0}30%{opacity:.9}100%{scale:1.7;opacity:0}}
@keyframes heart-rise{0%,100%{translate:0 10px;opacity:.6}50%{translate:0 -13px;opacity:1}}
@keyframes treat-offer{0%,100%{transform:translate(0,0) rotate(-22deg)}50%{transform:translate(22px,18px) rotate(-12deg)}}
@keyframes play-ball{0%,100%{transform:translate(-50px,0) rotate(-20deg)}50%{transform:translate(50px,-30px) rotate(35deg)}}
.page:not(.active) .loop,.page:not(.active) .loop img{animation-play-state:paused}.page:not(.active):before{animation-play-state:paused}
html[data-paused=true]{scroll-behavior:auto}html[data-paused=true] *,html[data-paused=true] *:before,html[data-paused=true] *:after{animation:none!important;transition:none!important}.js[data-paused=true] .page .appear{opacity:1;transform:none}
@media(min-width:1700px){.page-inner{gap:8vw}.opening .page-inner{grid-template-columns:1fr 1.1fr}.hero-prop.ball{width:185px}.hero-prop.treat{width:195px}.hero-prop.rope{width:215px}}
@media(max-width:1100px) and (min-width:761px){.hero-copy h1{font-size:52px}.hero-copy .body-copy{font-size:15px}.hero-stage{min-height:400px;height:57svh}.hero-prop.ball{width:110px}.hero-prop.treat{width:125px}.hero-prop.rope{width:145px}.page-rail{right:10px}.touch-art{height:60svh;min-height:400px}.page h2{font-size:49px}.body-copy{font-size:16px}.page-inner{padding-inline:7vw}.play-page .play-pet{max-width:35%;height:55%}}
@media(max-width:760px){.site-header{height:80px;padding:0 24px}.brand{width:105px}.site-header nav>a:not(.pill){display:none}.site-header .pill{min-height:40px;font-size:11px;padding:11px 17px;gap:20px}.page{min-height:700px}.page-inner{display:flex;flex-direction:column;padding:116px 28px 100px;gap:22px;justify-content:center}.eyebrow{font-size:10px}.body-copy{font-size:15px;line-height:1.75}.page h2{font-size:39px;margin:20px 0}.page-index{left:24px;bottom:78px;font-size:9px;gap:10px}.page-index:before{width:22px}.page-rail{right:5px;gap:0}.page-rail a{min-height:28px;min-width:24px}.page-rail a:before{width:4px;height:4px}.page-rail a[aria-current=true]:before{height:18px}.next-page{bottom:76px;left:auto;right:27px;transform:none;font-size:9px;gap:8px}.next-page span{height:30px;width:22px}.review-tools{bottom:12px;left:50%;right:auto;transform:translateX(-50%);max-width:calc(100% - 28px);white-space:nowrap;padding:4px}.review-tools>span{font-size:8px;padding:0 5px}.review-tools button{font-size:10px;padding:8px 10px;min-height:34px}.status-message{bottom:73px;right:24px;line-height:1.6}.opening .page-inner{display:flex;padding:118px 28px 118px;gap:22px;justify-content:space-between}.hero-copy{padding:0;align-self:flex-start;flex:none}.hero-copy .eyebrow{margin-bottom:20px;font-size:9px}.hero-copy h1{font-size:clamp(39px,10.6vw,55px);line-height:1.21}.hero-copy .body-copy{font-size:14px;margin:18px 0 20px;line-height:1.75}.hero-copy .pill{padding:14px 22px;min-height:47px;font-size:12px;gap:25px}.hero-copy .quiet-note{display:none}.hero-stage{height:34svh;min-height:245px;max-height:350px;flex:1;width:88%;max-width:410px;align-self:center;transform:translate(12px,0);margin-top:0}.portrait.ria{height:92%;width:61%;top:-2%;right:-1%}.portrait.rookie{height:91%;width:58%;left:-3%;bottom:-2%;border-width:5px}.hero-prop.ball{width:89px;right:-13%;bottom:-4%}.hero-prop.treat{width:96px;left:-15%;top:-17%}.hero-prop.rope{width:103px;bottom:-18%;left:31%}.hero-orbit{top:8%;height:86%;width:128%;left:-13%}.orbit-caption{font-size:7px;left:-6%;top:4%;line-height:1.8}.spark{font-size:23px;right:-7%;top:-7%}.spark.small{left:-14%;top:54%;font-size:17px}.opening .hero-signature{display:none}.opening:before{inset:30% -30% -20% -10%}.touch-page .page-inner{flex-direction:column-reverse;padding-top:103px;gap:15px}.chapter-copy{width:100%;flex:none;align-self:center}.touch-page .body-copy,.treat-page .body-copy{font-size:15px}.chapter-tag{display:none}.touch-art{height:43svh;min-height:280px;max-height:390px;width:90%;flex:1}.touch-art .pet{height:105%;max-width:110%;bottom:-2%}.touch-ripple{width:40px;height:40px;top:27%;left:56%}.touch-heart{font-size:28px;top:0}.treat-page .page-inner{display:flex;padding:108px 28px 113px;gap:16px}.treat-art{height:43svh;min-height:280px;max-height:405px;width:100%;flex:1}.treat-art .pet{height:81%;right:0}.treat-art .biscuit{width:56%;left:1%;top:-1%}.treat-art .tiny-heart{font-size:27px;top:12%;right:8%}.treat-art .scene-label{font-size:8px}.treat-disc{inset:0 0 4% 8%}.play-page .play-copy{inset:17% 30px auto}.play-page h2{font-size:47px;margin:20px 0}.play-page .play-copy .body-copy{font-size:15px}.play-orbit{left:10%;right:10%;top:27%;bottom:14%;transform:rotate(-16deg)}.play-page .play-pet{height:37%;max-width:52%;bottom:13%}.play-page .ria{left:-8%}.play-page .rookie{right:-5%;height:33%}.play-ball{width:110px;left:calc(50% - 55px);bottom:14%;animation:ball-orbit 6s ease-in-out infinite}.play-rope{width:110px;right:8%;top:10%}.play-page .spark{font-size:26px;left:7%;top:12%}.download-page{padding:106px 24px 150px}.download-content .symbol{width:102px;margin-bottom:25px}.download-content h2{font-size:41px;margin:22px 0}.download-content .body-copy{font-size:15px}.stores{gap:9px;margin-top:28px}.store{padding:15px 16px;min-width:0;grid-template-columns:22px 1fr;gap:1px 8px}.store svg{width:22px}.store strong{font-size:15px}.store small{font-size:9px}.store-note{font-size:10px}.download-page .page-index{display:none}.legal-preview{left:24px;bottom:79px;font-size:9px}.download-signature{bottom:21%;font-size:20vw}}
@media(max-height:760px) and (min-width:761px){.page{min-height:620px}.page-inner{padding-top:102px;padding-bottom:83px}.hero-stage{height:65svh;min-height:380px}.hero-copy h1{font-size:57px}.hero-copy .eyebrow{margin-bottom:22px}.hero-copy .body-copy{margin:20px 0 24px}.hero-prop.ball{width:125px}.hero-prop.treat{width:135px}.hero-prop.rope{width:145px}.touch-art{height:65svh;min-height:375px}.treat-art{height:66svh;min-height:390px}.download-content .symbol{width:84px;margin-bottom:15px}.download-content h2{font-size:49px;margin:18px 0}.stores{margin-top:24px}.page h2{font-size:52px}}
@media(max-width:760px) and (max-height:750px){.opening .page-inner{padding-top:101px;gap:12px}.hero-copy h1{font-size:38px}.hero-copy .eyebrow{margin-bottom:12px}.hero-copy .body-copy{margin:12px 0 14px;font-size:13px}.hero-stage{min-height:220px;height:31svh}.hero-prop.rope{bottom:-14%}.page h2{font-size:35px}.touch-art,.treat-art{min-height:260px}.play-page h2{font-size:43px}}
@media(max-width:760px) and (max-height:750px){.page{min-height:600px}.opening .page-inner{padding-top:96px;padding-bottom:98px;gap:12px}.hero-copy h1{font-size:35px}.hero-copy .body-copy{font-size:12px;margin:10px 0 12px}.hero-copy .eyebrow{margin-bottom:12px}.hero-copy .pill{min-height:42px;padding:11px 17px;font-size:11px}.hero-stage{min-height:175px;height:29svh;max-height:215px;width:82%}.hero-prop.treat{width:77px;top:-18%;left:-14%}.hero-prop.ball{width:72px;right:-15%}.hero-prop.rope{width:84px;bottom:-19%}.review-tools button{padding-inline:8px;font-size:9px}.page-index,.next-page{bottom:67px}.touch-page .page-inner,.treat-page .page-inner{padding-top:97px;padding-bottom:95px;gap:12px}.page h2{font-size:33px;margin:13px 0}.touch-page .body-copy,.treat-page .body-copy{font-size:13px}.touch-art,.treat-art{min-height:205px;height:37svh}.play-page h2{font-size:39px}.play-page .play-copy .body-copy{font-size:13px}.download-content .symbol{width:74px;margin-bottom:17px}.download-content h2{font-size:34px}.download-content .body-copy{font-size:13px}.download-page{padding-top:87px;padding-bottom:122px}.store{padding:12px 13px;gap:1px 6px}.store strong{font-size:13px}.store small{font-size:8px}.stores{gap:8px;margin-top:20px}.legal-preview{bottom:71px;font-size:8px}.hero-copy .eyebrow:before{height:5px;width:5px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .page .appear{opacity:1;transform:none}}


.page{overflow:clip}
.sprite-canvas{visibility:hidden;pointer-events:none}.sprite-canvas[data-ready=true]{visibility:visible}.sprite-canvas[data-ready=true]+.sprite-poster{visibility:hidden}.portrait .sprite-canvas{position:absolute;height:93%;width:95%;bottom:-1%;left:2%;object-fit:contain;object-position:bottom;transform:rotate(calc(var(--tilt)*-1));transform-origin:50% 80%}.portrait.rookie .sprite-canvas{height:100%;bottom:-6%}.opening.ready .portrait .sprite-canvas{animation:pet-in 1.6s var(--ease) both;animation-delay:.14s}.opening.ready .portrait.rookie .sprite-canvas{animation-delay:.38s}.portrait[role=button]{cursor:pointer}.portrait[role=button]:focus-visible{outline:3px solid var(--rose);outline-offset:5px}.greet-characters{display:flex;gap:10px;align-items:center;border:0;background:none;padding:12px 0;margin-top:6px;color:var(--muted);font-size:12px;min-height:44px}.greet-characters span{font-size:20px;color:var(--rose)}.greet-characters:hover{color:var(--ink)}.hero-copy .quiet-note{display:none}
@media(max-width:760px){.greet-characters{font-size:10px;margin-top:3px;min-height:29px;padding:5px 0;gap:8px}.greet-characters span{font-size:16px}.opening .page-inner{gap:12px}.hero-prop.treat{top:-3%;left:-17%}}
@media(max-width:760px) and (max-height:750px){.greet-characters{font-size:9px;min-height:26px;margin-top:2px;padding:3px 0}.hero-stage{min-height:163px;max-height:197px}.hero-copy .body-copy{margin:8px 0 10px}}


/* Plain, contextual instructions replace decorative introductory labels. */
.action-hint{display:flex;align-items:center;justify-content:center;gap:9px;color:var(--ink);font-size:14px;font-weight:400;letter-spacing:-.025em;line-height:1.6;z-index:9;pointer-events:none;text-align:center;white-space:nowrap}
.hint-arrow{font-size:23px;line-height:1;font-weight:400;color:var(--muted)}
.hero-hint{position:absolute;left:4%;right:0;top:-37px}
.hero-copy{padding-bottom:0}
.page h2{margin-top:0}
.touch-art[role=button]{cursor:pointer;border-radius:40% 40% 12% 12%;touch-action:manipulation}
.touch-art[role=button]:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
.touch-hint{position:absolute;left:0;right:0;bottom:-32px}
.touch-hint .hint-arrow{transform:rotate(140deg)}
.touch-ripple{opacity:0;animation:none}
.touch-art.responding .touch-ripple{animation:guided-ripple 1.8s ease-out both}
.touch-heart{pointer-events:none}
.prop-button{padding:0;border:0;background:none;touch-action:manipulation;line-height:0;border-radius:50%}
.prop-button img{width:100%;height:auto;pointer-events:none;transition:filter .2s}
.prop-button:hover img{filter:drop-shadow(0 6px 10px #513b3220)}
.prop-button:focus-visible{outline:2px solid var(--ink);outline-offset:8px}
.treat-art .biscuit{animation:none}
.treat-art .biscuit.offering{animation:guided-offer 1.6s ease-in-out both}
.treat-hint{position:absolute;left:-8%;top:-26px}
.play-ball{animation:none}
.play-ball.rolling{animation:guided-roll 1.7s ease-in-out both}
.play-hint{position:absolute;bottom:calc(10% + 202px);left:0;right:0}
.play-hint .hint-arrow{transform:rotate(-45deg)}
.next-page{font-size:12px;letter-spacing:-.02em}
@keyframes guided-ripple{0%{opacity:.9;transform:scale(.6)}100%{opacity:0;transform:scale(1.6)}}
@keyframes guided-offer{0%,100%{transform:rotate(-22deg)}40%{transform:translate(45%,45%) rotate(-5deg) scale(.7);opacity:.5}70%{transform:translate(45%,45%) rotate(-5deg) scale(.6);opacity:0}85%{opacity:0}}
@keyframes guided-roll{0%,100%{transform:translateX(0) rotate(0)}28%{transform:translateX(-75px) rotate(-85deg)}70%{transform:translateX(75px) rotate(85deg)}}
@media(max-width:1100px) and (min-width:761px){.action-hint{font-size:12px}.play-hint{bottom:calc(10% + 190px)}.treat-hint{left:-3%}}
@media(max-width:760px){.action-hint{font-size:13px;gap:7px}.hint-arrow{font-size:21px}.hero-hint{left:-6%;right:-6%;top:-40px}.hero-stage{margin-top:38px}.hero-prop.rope{bottom:-12%}.touch-hint{bottom:-26px}.treat-hint{top:-28px;left:4%}.treat-art{margin-top:20px}.touch-page .page-inner{padding-bottom:128px}.treat-page .page-inner{padding-bottom:118px}.play-hint{bottom:calc(14% + 134px)}.next-page{font-size:10px;gap:7px}.play-ball{animation:none}.play-page .play-copy{top:16%}}
@media(max-width:760px) and (max-height:750px){.action-hint{font-size:11px}.hero-stage{margin-top:27px}.hero-hint{top:-30px}.touch-page .page-inner{padding-bottom:115px}.touch-hint{bottom:-24px}.treat-page .page-inner{padding-bottom:100px}.treat-art{margin-top:20px;min-height:175px}.play-hint{bottom:calc(14% + 124px)}}

/* Public site controls, independent of the review environment. */
[hidden]{display:none!important}.skip{position:fixed;z-index:100;top:12px;left:20px;padding:12px 18px;background:var(--ink);color:var(--cream);border-radius:12px;transform:translateY(-180%)}.skip:focus{transform:none}.motion-toggle{position:fixed;bottom:18px;right:24px;z-index:50;display:flex;gap:7px;align-items:center;padding:10px 15px;min-height:44px;border:1px solid #9c817340;border-radius:24px;background:var(--cream);font-size:12px;color:var(--ink)}.motion-toggle:disabled{cursor:default}.store-slot{display:contents}.store-pending{opacity:.7;cursor:default}.legal-preview{max-width:calc(100% - 48px);line-height:1.65}.legal-preview>div{display:flex;flex-wrap:wrap;gap:10px 18px}.legal-preview a:hover{text-decoration:underline}.operator{margin-top:5px}.legal-preview .operator a{white-space:nowrap}
.hero-copy h1{--delay:.22s}.hero-copy .body-copy{--delay:.36s}.hero-copy [data-intro]:last-child{--delay:.5s}.hero-prop.ball{--delay:.62s}.hero-prop.treat{--delay:.46s}.hero-prop.rope{--delay:.78s}
.page:not(.active) .loop,.page:not(.active) .hero-prop img,.page:not(.active) .next-page i,.page:not(.active):before{animation-play-state:paused!important}
@media(max-width:760px){.motion-toggle{bottom:12px;right:18px;font-size:11px;min-height:40px;padding:8px 12px}.legal-preview{bottom:68px;font-size:10px}.legal-preview>div{gap:7px 14px}.page-rail a{min-width:32px;min-height:36px}.page-rail{right:8px}.download-page{padding-bottom:190px}}
@media(prefers-reduced-motion:reduce){:root{scroll-snap-type:none}}

/* Playground pursuit — approved revision 05. */
.play-page .play-copy{top:16%;pointer-events:none}.play-page h2{font-size:clamp(44px,5.2vw,76px)}
.play-page .play-copy .body-copy{font-size:16px}.play-orbit{top:18%;bottom:10%;left:15%;right:15%;opacity:.5}.play-rope{width:140px;top:11%;right:13%}
.play-arena{position:absolute;left:3%;right:3%;bottom:12%;height:49%;min-height:250px;isolation:isolate}
.play-ground{position:absolute;left:7%;right:7%;height:12%;bottom:3%;border-radius:50%;background:radial-gradient(ellipse,#cb9a881d,transparent 70%);pointer-events:none}
.runner,.runner-poster{position:absolute;left:0;bottom:10%;width:clamp(250px,34vw,390px);height:auto;max-width:none;transform:translateX(-50%);pointer-events:none;z-index:2;opacity:0;transition:opacity .3s}
.runner[data-ready=true]{opacity:1}.rookie-runner{bottom:-2%;width:clamp(230px,32vw,360px);z-index:3}
.chase-ball{position:absolute;left:50%;bottom:5%;z-index:4;width:92px;height:92px;padding:0;border:0;border-radius:50%;background:none;transform:translateX(-50%);touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}
.chase-ball:active{cursor:grabbing}.chase-ball img{width:100%;height:100%;pointer-events:none}.chase-ball:focus-visible{outline:2px solid var(--ink);outline-offset:6px}
.chase-hint{position:absolute;left:0;right:0;top:47%;font-size:14px;z-index:8;white-space:normal;padding:0 24px;pointer-events:none}
@media(max-width:760px){.play-page .play-copy{top:14%;left:28px;right:28px}.play-page h2{font-size:42px}.play-page .play-copy .body-copy{font-size:14px}.play-arena{left:0;right:0;bottom:14%;height:39%;min-height:210px}.runner,.runner-poster{width:230px;bottom:13%}.rookie-runner{width:214px;bottom:0}.chase-ball{width:68px;height:68px;bottom:5%}.chase-hint{top:46%;font-size:12px}.play-rope{width:84px;top:10%;right:9%}.play-page .spark{font-size:20px;top:12%}}
@media(max-width:760px) and (max-height:750px){.play-page h2{font-size:35px}.play-page .play-copy .body-copy{font-size:12px}.runner,.runner-poster{width:178px}.rookie-runner{width:165px}.play-arena{height:34%;min-height:180px}.chase-hint{top:49%;font-size:11px}}

/* Static posters remain visible when scripts or frame loading are unavailable. */
.runner-poster{opacity:1;left:28%}.runner-poster.rookie-runner{left:72%}
.runner[data-ready=true]+.runner-poster{visibility:hidden}

.play-copy .chase-hint{position:static;margin-top:18px;padding:0;min-height:2em}
@media(min-width:761px) and (max-height:800px){
  .play-page .play-copy{top:14%}
  .play-page h2{font-size:52px;margin:16px 0}
  .play-copy .chase-hint{margin-top:12px}
  .runner,.runner-poster{width:310px}
  .rookie-runner{width:286px}
}
