/* Persistent spring studio: independent pose sprites, interaction anchors and a camera layer. */
.stage-shell{max-width:1440px;margin:110px auto 0;padding:0 26px}.character-stage{--stage-tint:#c9ffbd;position:relative;height:360px;isolation:isolate;border:3px solid var(--ink);border-radius:24px;overflow:hidden;background:#bdffd5;box-shadow:0 5px 0 #24152f1c;contain:layout style}.stage-world{position:absolute;inset:0;transform-origin:73% 35%;will-change:transform}.stage-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;pointer-events:none}.stage-color-wash{position:absolute;inset:0;background:var(--stage-tint);mix-blend-mode:soft-light;opacity:.26;transition:background .25s}.stage-copy{position:absolute;left:36px;top:27px;width:52%;z-index:12;pointer-events:none}.stage-signature{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:#fffdf1ed;border:2px solid #8052a5;box-shadow:0 3px 0 #b388d0;border-radius:16px;transform:rotate(-3deg);font:17px/1.3 var(--playful);color:#402551;margin-bottom:17px}.stage-signature>span{font-family:system-ui;color:#55ad4a;font-size:25px;line-height:.7}.stage-copy h1{font:67px/1.16 var(--playful);letter-spacing:-1.5px;margin:0 0 15px;color:var(--ink);-webkit-text-stroke:7px #fffcf0;paint-order:stroke fill;filter:drop-shadow(0 3px 0 #fffcf0);text-wrap:nowrap}.stage-copy h1>span{color:#9227f4}.stage-copy>p{font-size:15px;font-weight:750;color:#271b3a;margin:0 0 18px;text-shadow:0 1px 0 #fff9}.stage-actions{display:flex;gap:9px;pointer-events:auto}.stage-actions button{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1.5px solid #705387;background:#fff9e7e8;box-shadow:0 2px 0 #705387;border-radius:11px;color:#513469;font-size:11px;font-weight:750;transition:transform .12s,background .12s}.stage-actions button>span{font:21px/1 system-ui;color:#983add}.stage-actions button:hover{background:#ffe76e;transform:translateY(-2px)}.stage-actions button:active{transform:translateY(2px);box-shadow:none}
.actor-button{position:absolute;margin:0;padding:0;border:0;background:none;outline-offset:-15px;cursor:url('assets/cursor-grab.svg') 20 20,pointer;touch-action:manipulation;overflow:visible;transform-origin:50% 94%;-webkit-tap-highlight-color:transparent;isolation:isolate}.actor-button:hover{filter:drop-shadow(0 0 4px #fffbd8)}.actor-button:focus-visible{outline:3px dashed #fff;border-radius:50%}.actor-sprite{position:absolute;inset:0;display:block;background-repeat:no-repeat;background-size:200% 200%;pointer-events:none}.actor-sprite[data-frame="0"]{background-position:0 0}.actor-sprite[data-frame="1"]{background-position:100% 0}.actor-sprite[data-frame="2"]{background-position:0 100%}.actor-sprite[data-frame="3"]{background-position:100% 100%}.owner-button{width:300px;height:300px;right:11.5%;bottom:13px;z-index:5}.owner-sprite{background-image:url('assets/stage-owner.webp')}.owner-sprite[data-frame="2"]{transform:translateY(5%)}.owner-sprite[data-atlas="pet"]{background-image:url('assets/stage-pet.webp');transform:none}.slime-button{width:210px;height:210px;right:34%;bottom:19px;z-index:8;transform-origin:50% 81%}.slime-sprite{background-image:url('assets/stage-slime.webp')}.slime-sprite[data-frame="2"]{transform:translateY(5%)}.slime-sprite[data-frame="3"]{transform:translateY(5%)}.slime-shadow{position:absolute;width:103px;height:15px;right:calc(34% + 53px);bottom:52px;border-radius:50%;background:#243f4150;filter:blur(2px);z-index:3}.stage-laptop{position:absolute;right:3%;bottom:22px;width:145px;height:103px;z-index:10;border:0;padding:0;background:none;transform:rotate(-3deg);cursor:pointer}.laptop-screen{position:absolute;inset:0 8px 9px 0;background:#271f41;border:4px solid #29213b;border-radius:7px;overflow:hidden;box-shadow:inset 0 0 0 2px #cabbde}.laptop-screen img{width:100%;height:100%;object-fit:cover;opacity:.92;transition:opacity .18s}.laptop-base{position:absolute;bottom:0;left:-8px;right:0;height:12px;background:#d9cdea;border:3px solid #29213b;border-radius:3px 3px 8px 8px;transform:skewX(-19deg)}.screen-sticker{position:absolute;right:5px;top:4px;font-size:18px;color:#ffe67d;text-shadow:1px 1px 0 #29213b}.stage-laptop:hover{filter:drop-shadow(0 0 4px #fff6c9)}.stage-mug{position:absolute;bottom:22px;right:27%;width:40px;height:46px;background:#fffae9;border:3px solid #3a2d32;border-radius:4px 4px 11px 11px;z-index:10;transform:rotate(4deg);box-shadow:0 3px 0 #5b36312b}.stage-mug:after{content:"";position:absolute;right:-15px;top:8px;width:12px;height:19px;border:4px solid #3a2d32;border-left:0;border-radius:0 10px 10px 0}.stage-mug span{font:17px/1 var(--playful);display:block;margin-top:14px;text-align:center;color:#332834}.stage-leaf{position:absolute;color:#218e41;font:38px/1 system-ui;pointer-events:none;text-shadow:1px 1px 0 #164f33;opacity:.85}.leaf-one{left:52%;top:22px;transform:rotate(25deg)}.leaf-two{left:43%;bottom:56px;transform:rotate(195deg);font-size:30px}.stage-contact{position:absolute;left:0;top:0;color:#fff9a0;font:800 35px/1 system-ui;z-index:11;opacity:0;pointer-events:none;filter:drop-shadow(0 1px 0 #7b417b);transform:translate(-50%,-50%)}.actor-bubble{position:absolute;right:22%;top:12px;max-width:260px;padding:6px 12px;border:2px solid #392549;background:#fffceb;border-radius:13px 13px 3px 13px;z-index:14;color:#583077;font:16px/1.4 var(--playful);box-shadow:0 3px 0 #b8a2bc;opacity:0;pointer-events:none;text-wrap:balance}.actor-bubble:empty{display:none}.stage-swipe{position:absolute;inset:-5px -70%;z-index:20;background:#a84ff6;clip-path:polygon(27% 0,57% 0,74% 100%,44% 100%);pointer-events:none;transform:translateX(-80%);opacity:0}.stage-flash{position:absolute;inset:0;z-index:19;background:#fff1b4;opacity:0;pointer-events:none;mix-blend-mode:screen}
.character-stage[data-scene="reviews"]{--stage-tint:#ffe89a}.character-stage[data-scene="requests"]{--stage-tint:#e5c6ff}.character-stage[data-scene="workspace"]{--stage-tint:#c3e8ff}.character-stage[data-scene="publish"]{--stage-tint:#dcffa9}.character-stage[data-scene="game"]{--stage-tint:#ead0ff}.character-stage[data-mode="compact"]{height:205px;border-radius:19px}.character-stage[data-mode="compact"] .stage-copy{top:21px;left:29px;width:52%}.character-stage[data-mode="compact"] .stage-signature{font-size:13px;padding:3px 10px;margin-bottom:13px}.character-stage[data-mode="compact"] .stage-copy h1{font-size:38px;line-height:1.2;-webkit-text-stroke:4px #fffcee;letter-spacing:-.5px;margin-bottom:10px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.character-stage[data-mode="compact"] .stage-copy p{font-size:12px;max-width:370px;margin:0}.character-stage[data-mode="compact"] .stage-actions{display:none}.character-stage[data-mode="compact"] .owner-button{width:175px;height:175px;right:15%;bottom:2px}.character-stage[data-mode="compact"] .slime-button{width:140px;height:140px;right:32%;bottom:-9px}.character-stage[data-mode="compact"] .slime-shadow{right:calc(32% + 35px);width:70px;bottom:19px}.character-stage[data-mode="compact"] .stage-laptop{width:103px;height:77px;right:5%;bottom:10px}.character-stage[data-mode="compact"] .stage-mug{width:30px;height:34px;right:27%;bottom:7px}.character-stage[data-mode="compact"] .stage-mug span{font-size:12px;margin-top:9px}.character-stage[data-mode="compact"] .stage-mug:after{height:13px;width:8px;right:-12px;top:7px;border-width:3px}.character-stage[data-mode="compact"] .actor-bubble{font-size:12px;top:8px;right:22%;padding:4px 9px}.character-stage[data-mode="compact"] .leaf-two{display:none}.character-stage[data-mode="compact"] .stage-backdrop{object-position:55% 65%}
#main{padding-top:24px;min-height:360px}.showcase{margin-top:0}.site-header{z-index:30}.stage-shell~#main .page-head{margin-top:0}.stage-shell~#main .page-head h1{font-size:33px}.stage-shell~#main .page-head p{font-size:13px}
@media(min-width:1500px){.stage-shell{max-width:1490px;padding:0 34px}.character-stage{height:380px}.stage-copy{left:44px;top:31px}.stage-copy h1{font-size:76px}.owner-button{width:325px;height:325px}.slime-button{width:225px;height:225px}.stage-laptop{width:158px;height:112px}}
@media(max-width:1100px){.stage-copy{left:28px;top:32px;width:53%}.stage-copy h1{font-size:57px}.stage-copy>p{font-size:13px}.owner-button{width:280px;height:280px;right:9%;bottom:16px}.slime-button{width:190px;height:190px;right:32%;bottom:26px}.slime-shadow{right:calc(32% + 48px);bottom:56px}.stage-laptop{width:125px;height:90px;right:2%;bottom:20px}.stage-mug{right:24%}.stage-actions{gap:6px}.stage-actions button{font-size:10px;padding:5px 9px}.actor-bubble{font-size:13px;max-width:200px}.character-stage[data-mode="compact"] .stage-copy h1{font-size:33px}.character-stage[data-mode="compact"] .owner-button{right:13%}.character-stage[data-mode="compact"] .slime-button{right:30%}}
@media(max-width:800px){.stage-shell{margin-top:143px;padding:0 22px}.character-stage{height:350px}.stage-copy{left:23px;top:27px;width:58%}.stage-copy h1{font-size:47px;line-height:1.2;margin-bottom:12px;-webkit-text-stroke:5px #fffcee}.stage-signature{font-size:14px;margin-bottom:16px}.stage-copy>p{font-size:11px;max-width:265px;line-height:1.9;margin-bottom:17px}.owner-button{width:250px;height:250px;right:1%;bottom:4px}.slime-button{width:175px;height:175px;right:30%;bottom:12px}.slime-shadow{right:calc(30% + 44px);bottom:42px}.stage-laptop{width:110px;height:82px;right:0;bottom:6px}.stage-mug{right:29%;bottom:7px;width:33px;height:37px}.stage-mug span{font-size:13px;margin-top:10px}.stage-mug:after{height:15px;width:10px;right:-12px;border-width:3px}.actor-bubble{right:9%;top:17px;font-size:12px;max-width:210px}.character-stage[data-mode="compact"]{height:190px}.character-stage[data-mode="compact"] .stage-copy{left:22px;top:20px;width:53%}.character-stage[data-mode="compact"] .stage-copy h1{font-size:29px}.character-stage[data-mode="compact"] .stage-copy p{font-size:10px;max-width:270px}.character-stage[data-mode="compact"] .owner-button{width:165px;height:165px;right:7%}.character-stage[data-mode="compact"] .slime-button{width:125px;height:125px;right:29%;bottom:-8px}.character-stage[data-mode="compact"] .stage-laptop{right:0;width:85px;height:65px}.character-stage[data-mode="compact"] .stage-mug{display:none}.character-stage[data-mode="compact"] .actor-bubble{max-width:175px;right:8%;font-size:11px}#main{padding-top:23px}.stage-shell~#main .page-head h1{font-size:30px}}
@media(max-width:600px){.stage-shell{margin-top:135px;padding:0 17px}.character-stage{height:435px;border-width:2.5px;border-radius:21px}.stage-copy{top:22px;left:20px;width:calc(100% - 40px)}.stage-copy h1{font-size:43px;line-height:1.15;-webkit-text-stroke:5px #fffcee;margin-bottom:12px}.stage-signature{font-size:13px;margin-bottom:13px;padding:3px 10px}.stage-copy>p{font-size:10px;margin-bottom:13px;max-width:none}.stage-actions{gap:8px}.stage-actions button{font-size:10px;padding:4px 9px}.stage-actions button>span{font-size:17px}.stage-backdrop{object-position:77% bottom}.stage-copy:before{content:"";position:absolute;inset:-30px -25px -20px;z-index:-1;background:linear-gradient(#bdffd9f2,#c4ffe5cc 68%,#c4ffe500);pointer-events:none}.owner-button{width:225px;height:225px;right:-1%;bottom:-3px}.slime-button{width:155px;height:155px;right:43%;bottom:-5px}.slime-shadow{right:calc(43% + 37px);bottom:23px;width:80px;height:11px}.stage-laptop{width:102px;height:73px;right:1%;bottom:0}.stage-mug{right:40%;bottom:1px;width:27px;height:31px}.stage-mug span{font-size:11px;margin-top:9px}.stage-mug:after{height:12px;width:7px;right:-10px;border-width:3px}.actor-bubble{top:auto;bottom:211px;right:14px;font-size:11px;max-width:160px;padding:4px 9px}.leaf-one{top:12px;right:12px;left:auto;font-size:29px}.leaf-two{display:none}.character-stage[data-mode="compact"]{height:250px}.character-stage[data-mode="compact"] .stage-copy{left:17px;top:14px;width:calc(100% - 34px)}.character-stage[data-mode="compact"] .stage-signature{font-size:10px;margin-bottom:9px}.character-stage[data-mode="compact"] .stage-copy h1{font-size:27px;margin-bottom:6px;max-width:100%;line-height:1.3}.character-stage[data-mode="compact"] .stage-copy p{font-size:9px;max-width:190px;line-height:1.6}.character-stage[data-mode="compact"] .stage-copy:before{inset:-20px -20px -5px;background:linear-gradient(#c8ffe5f2,#c8ffe5bb 65%,transparent)}.character-stage[data-mode="compact"] .owner-button{width:160px;height:160px;right:3%;bottom:-4px}.character-stage[data-mode="compact"] .slime-button{width:115px;height:115px;right:44%;bottom:-9px}.character-stage[data-mode="compact"] .slime-shadow{right:calc(44% + 29px);bottom:13px;width:56px}.character-stage[data-mode="compact"] .stage-laptop{width:72px;height:53px;right:0;bottom:1px}.character-stage[data-mode="compact"] .actor-bubble{top:auto;bottom:141px;right:10px;font-size:10px;max-width:145px;padding:3px 6px}.character-stage[data-mode="compact"] .leaf-one{display:none}#main{padding-top:24px}.stage-shell~#main .page-head h1{font-size:29px}.stage-shell~#main .page-head p{font-size:12px}}
@media(max-width:360px){.stage-shell{padding:0 13px}.character-stage{height:420px}.stage-copy{left:16px;width:calc(100% - 32px)}.stage-copy h1{font-size:38px}.stage-copy>p{font-size:9px}.stage-actions button{font-size:9px;padding:4px 7px}.owner-button{width:205px;height:205px;right:-3%}.slime-button{width:140px;height:140px;right:41%}.stage-mug{right:40%}.actor-bubble{bottom:193px;right:9px;font-size:10px}.character-stage[data-mode="compact"] .stage-copy h1{font-size:24px}.character-stage[data-mode="compact"] .owner-button{width:146px;height:146px;right:2%}.character-stage[data-mode="compact"] .slime-button{width:105px;height:105px;right:43%}}
@media(prefers-reduced-motion:reduce){.stage-world,.actor-button,.actor-sprite,.stage-swipe,.stage-flash{animation:none!important;transition:none!important}.stage-world{transform:none!important}.stage-leaf{display:none}}
.owner-sprite[data-atlas="pet"][data-frame="3"]{clip-path:inset(0 0 0 7%)}.character-stage[data-action="pet"] .owner-button{z-index:9}.character-stage[data-action="pet"] .stage-mug{opacity:0;pointer-events:none}.actor-bubble{right:38%;top:35px}.character-stage[data-mode="compact"] .actor-bubble{right:37%;top:18px}
@media(max-width:600px){.actor-bubble{left:14px;right:auto;top:auto;bottom:177px;max-width:145px}.character-stage[data-mode="compact"] .actor-bubble{display:none}}
/* The waist remains registered to the table. Only this arm pivots at the shoulder. */
.character-stage{overflow:clip}
.owner-button{transform:none!important}
.owner-pet-arm{display:none;background-image:url('assets/stage-pet.webp');transform-origin:38% 72%;clip-path:polygon(38% 66%,46% 68%,45% 77%,34% 84%,29% 96%,0 99%,0 83%,24% 80%,28% 73%);z-index:1}
.character-stage[data-action="pet"] .owner-sprite[data-atlas="pet"]:is([data-frame="0"],[data-frame="1"]){clip-path:polygon(0 0,100% 0,100% 100%,43% 100%,43% 79%,36% 75%,35% 70%,0 69%)}
.character-stage[data-action="pet"] .owner-pet-arm:is([data-frame="0"],[data-frame="1"]){display:block}
