/* Receipt-triggered care props share the scene, not the inventory/wallet. */
.gizmo-care-story{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.gizmo-care-story>span{position:absolute;display:block}
.gizmo-care-snack{left:49%;top:61%;width:7%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 25%,#784023 0 6%,transparent 8%),radial-gradient(circle at 70% 60%,#784023 0 7%,transparent 9%),#dc9c50;border:2px solid #ad7438;animation:gizmo-snack-nibbled 3.4s steps(4,end) forwards}
.gizmo-care-crumb{left:52%;top:62%;width:1.35%;aspect-ratio:1;border-radius:25%;background:#e1a04c;border:1px solid #7b4925;box-shadow:0 1px 1px #fff6;opacity:0;animation:gizmo-crumb-scatter 1.4s ease-out calc(.2s + var(--i)*.08s) 2 both}
@keyframes gizmo-snack-nibbled{0%{transform:translateY(5%) scale(1)}30%{transform:translateY(-20%) scale(.85)}60%{transform:translateY(-10%) scale(.55)}100%{transform:translateY(-10%) scale(0)}}
@keyframes gizmo-crumb-scatter{0%{opacity:0;transform:translate(0,0)}10%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(230deg)}}
.gizmo-care-tub-back{left:31%;top:65%;width:41%;height:8%;border:5px solid #f9fff9;border-radius:50%;background:radial-gradient(ellipse,#83dadd,#c7f4ef);box-shadow:0 -3px 1px #72a6ae}
.gizmo-care-tub-front{left:31%;top:68%;width:41%;height:9%;border-radius:10% 10% 42% 42%;background:linear-gradient(100deg,#d6eee8,#fffdf0 50%,#b2d4cd);border:2px solid #719d99;box-shadow:0 6px 5px #402b252b}
.gizmo-care-tub-front:after{content:'';position:absolute;left:12%;right:12%;bottom:-7%;height:12%;border-radius:30%;border-left:10px solid #719d99;border-right:10px solid #719d99}
.gizmo-care-soap{left:67%;top:65%;width:9%;height:3%;border-radius:25%;background:#efacc7;border:2px solid #c876a2;color:#763b67;font:700 clamp(6px,1.3cqw,9px) sans-serif;display:grid!important;place-items:center;transform:rotate(12deg)}
.gizmo-care-bath-bubble{left:calc(34% + mod(var(--i),7)*5%);top:67%;width:calc(2% + mod(var(--i),3)*1%);aspect-ratio:1;border:1px solid #fff;border-radius:50%;background:radial-gradient(circle at 30% 20%,#fff 0 12%,#d5fbff88 25%,#9ddeeb88);animation:gizmo-care-bubbles 1.6s ease-out calc(var(--i)*.17s) infinite}
.gizmo-care-splash{left:calc(32% + var(--i)*5%);top:68%;width:1.5%;height:2.5%;border-radius:50%;background:#b3f5fc;animation:gizmo-care-splash .8s ease-out calc(.65s + var(--i)*.13s) 4}
.gizmo-room-stage[data-care-story=bath] .gizmo-character{animation:gizmo-jump-in-tub 4.4s ease-in-out!important}
@keyframes gizmo-jump-in-tub{0%{transform:translate(-20%,0)}12%{transform:translate(-7%,-24%) rotate(8deg)}24%{transform:translate(0,10%) scale(1.04,.94)}35%,55%,75%{transform:translate(0,3%) rotate(-4deg)}45%,65%,85%{transform:translate(0,9%) rotate(4deg)}100%{transform:translate(0,0)}}
@keyframes gizmo-care-bubbles{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:1}100%{transform:translateY(-70px) scale(1.2);opacity:0}}
@keyframes gizmo-care-splash{0%,100%{transform:translateY(0);opacity:0}30%{transform:translateY(-30px) rotate(20deg);opacity:1}}
.gizmo-care-ball{left:31%;top:68%;width:10%;aspect-ratio:1;border-radius:50%;background:conic-gradient(#e98065 0 90deg,#ffdc7c 90deg 180deg,#83bdc1 180deg 270deg,#ffdc7c 270deg);border:2px solid #8a6749;box-shadow:0 5px 3px #382b2433;animation:gizmo-care-ball-play 1.45s ease-in-out 3}
.gizmo-room-stage[data-care-story=play] .gizmo-character{animation:gizmo-care-chase 1.45s ease-in-out 3!important}
@keyframes gizmo-care-ball-play{0%,100%{left:31%;transform:rotate(0)}50%{left:65%;transform:translateY(-30%) rotate(300deg)}}
@keyframes gizmo-care-chase{0%,100%{transform:translate(-8%,0) rotate(-4deg)}50%{transform:translate(15%,-5%) rotate(6deg)}}
@media(prefers-reduced-motion:reduce){.gizmo-care-story *,.gizmo-room-stage[data-care-story] .gizmo-character{animation:none!important;transform:none!important}.gizmo-care-crumb{opacity:1;transform:translate(var(--dx),var(--dy))!important}.gizmo-care-bath-bubble{opacity:1}.gizmo-care-splash{opacity:0}}
.gizmo-rest-notice{position:absolute;left:23%;right:23%;top:42%;z-index:3;text-align:center;color:#443c69;background:#fff8edee;border-radius:18px;padding:8px;font-size:clamp(12px,3.3cqw,18px);pointer-events:none}
.gizmo-sleep-zs{position:absolute;left:60%;top:115%;font-size:clamp(22px,6cqw,36px);font-style:italic;color:#ece6ff;text-shadow:0 2px 3px #43345f;white-space:pre;animation:gizmo-sleep-drift 3.6s ease-in-out infinite}
.gizmo-room-stage[data-sleeping=true] .gizmo-character-motion{animation:gizmo-breathe 5s ease-in-out infinite!important}
.gizmo-room-stage[data-sleeping=true] .gizmo-sprite-awake{opacity:0!important;animation:none!important}
.gizmo-room-stage[data-sleeping=true] .gizmo-mood-cue{display:none}
@keyframes gizmo-sleep-drift{0%,100%{transform:translate(0,0);opacity:.6}50%{transform:translate(8px,-12px);opacity:1}}
@media(prefers-reduced-motion:reduce){.gizmo-sleep-zs,.gizmo-room-stage[data-sleeping=true] .gizmo-character-motion{animation:none!important;transform:none!important}}
/* The persistent countdown replaces transient prompts while asleep. */
.gizmo-room-stage[data-sleeping=true] .gizmo-speech,.gizmo-room-stage[data-sleeping=true] .gizmo-welcome{visibility:hidden}
.gizmo-rest-notice{left:50%;right:auto;width:min(44%,calc(100vw - 110px));box-sizing:border-box;transform:translateX(-42%);font-size:clamp(12px,3cqw,16px)}
