.paper-scene{position:absolute;inset:0;transform:translateZ(3px);transform-style:preserve-3d;pointer-events:none;z-index:8}
.paper-character,.paper-art{position:absolute;padding:0;border:0;background:none;object-fit:contain;object-position:center bottom;transform-origin:50% 100%}
.paper-character{pointer-events:auto;cursor:pointer;transform:translateZ(0) rotateX(0);transition:transform .42s cubic-bezier(.22,1,.36,1),left .95s cubic-bezier(.4,0,.2,1),top .95s cubic-bezier(.4,0,.2,1);touch-action:none}
.paper-character img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;pointer-events:none;filter:drop-shadow(1px 2px 0 #a47454aa)}
.paper-scene.raised .paper-character img{transform-origin:50% 95%;animation:paper-breathe 4.5s ease-in-out infinite}
.paper-scene.raised .paper-character.monster img{animation-delay:-1.6s;animation-duration:3.8s}
.paper-scene.raised .paper-character.rabbit img{animation:none}
@keyframes paper-breathe{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.009,1.018) rotate(.5deg)}}
.paper-character.boy,.paper-art.boy{left:11%;top:30%;width:37%;height:64%;--depth:48px;--lean:-6deg}
.paper-character.monster,.paper-art.monster{left:53%;top:44%;width:27%;height:48%;--depth:65px;--lean:-9deg}
.paper-character.rabbit,.paper-art.rabbit{left:40%;top:64%;width:12%;height:29%;--depth:80px;--lean:-5deg}
.paper-scene.raised .paper-character{transform:translateZ(var(--depth)) rotateX(calc(var(--lean) + var(--look-y,0deg))) rotateY(var(--look-x,0deg));transition:transform 1.2s cubic-bezier(.22,1,.36,1),left .95s cubic-bezier(.4,0,.2,1),top .95s cubic-bezier(.4,0,.2,1)}
.paper-scene.given .rabbit{translate:19cqw -.52555cqw 0;rotate:-9deg;scale:.9;cursor:default}
.flat-scene.given .rabbit{left:59%;top:63%;rotate:-9deg;scale:.9}
.paper-scene.handoff .paper-character img,.paper-scene.offering .paper-character img{animation-play-state:paused}
.paper-scene.can-receive .monster img{filter:drop-shadow(0 0 10px #ffedc255)}
.paper-scene.handoff .rabbit{cursor:default}
.paper-character.rabbit{cursor:grab}.paper-character.rabbit.held{cursor:grabbing;transition:none}
.paper-character:focus-visible{outline:2px dashed #fff1cf;outline-offset:5px;border-radius:30%}
.paper-shadow{position:absolute;top:88%;width:20%;height:7%;border-radius:50%;background:radial-gradient(ellipse,#39244140,transparent 70%);pointer-events:none;opacity:0;transition:opacity .6s;transform:translateZ(.5px)}
.paper-shadow.boy{left:20%}.paper-shadow.monster{left:56%}.paper-shadow.rabbit{left:41%;width:10%;top:90%}
.paper-scene.raised .paper-shadow{opacity:1}.paper-scene.given .paper-shadow.rabbit{left:60%;transition:left .95s,opacity .6s}
.flat-scene{position:absolute;top:0;width:200%;height:100%;pointer-events:none}.flat-scene.left{left:0}.flat-scene.right{left:-100%}
@media(max-width:700px){.paper-character.boy{--depth:16px}.paper-character.monster{--depth:24px}.paper-character.rabbit{--depth:30px}}
@media(prefers-reduced-motion:reduce){.paper-scene.raised .paper-character{transform:translateZ(5px)}.paper-character,.paper-shadow{transition:none!important}.paper-scene.raised .paper-character img{animation:none!important}}
