/* 1.68 care presentation. Load after the other Gizmo styles. No changes to
   care gauge meaning, authoritative rest timing, inventory or toy behavior. */
.gizmo-room .gizmo-character .gizmo-mood-cue{display:none!important}
.gizmo-room .gizmo-thought-bubble{display:none;position:absolute;left:55%;top:-14%;width:43%;aspect-ratio:120/112;pointer-events:none;filter:drop-shadow(0 3px 2px #664d3930);z-index:4;transform-origin:15% 90%}
.gizmo-room .gizmo-thought-bubble svg{display:block;width:100%;height:100%;overflow:visible}
.gizmo-room .gizmo-character:is([data-motion=idle],[data-motion=mood]):not([data-thought-action=none]):not([data-sleeping=true]) .gizmo-thought-bubble{display:block;animation:gizmo-thought-drift 4.8s ease-in-out infinite}
.gizmo-room .gizmo-room-stage:is([data-activity],[data-care-story],[data-sleeping=true]) .gizmo-thought-bubble{display:none!important}
.gizmo-room .gizmo-character[data-mood-tier="3"] .gizmo-thought-bubble{filter:drop-shadow(0 3px 2px #664d3940)}
@keyframes gizmo-thought-drift{0%,100%{translate:0 0;rotate:-2deg}50%{translate:0 -3%;rotate:1deg}}

/* Dirt reflects cleanliness even when another need wins the thought bubble.
   Soft little scuffs accumulate on the body, never on room or interface art. */
.gizmo-room .gizmo-dirt-overlay{display:none;position:absolute;inset:0;pointer-events:none;opacity:var(--gizmo-dirt-opacity,.5);mix-blend-mode:multiply;clip-path:ellipse(37% 34% at 50% 64%);filter:blur(.25px)}
.gizmo-room .gizmo-dirt-overlay svg{display:block;width:100%;height:100%;overflow:visible}
.gizmo-room .gizmo-character:is([data-dirt-tier="1"],[data-dirt-tier="2"],[data-dirt-tier="3"]) .gizmo-dirt-overlay{display:block}
.gizmo-room .gizmo-grime-tier-2,.gizmo-room .gizmo-grime-tier-3{display:none}
.gizmo-room .gizmo-character:is([data-dirt-tier="2"],[data-dirt-tier="3"]) .gizmo-grime-tier-2,.gizmo-room .gizmo-character[data-dirt-tier="3"] .gizmo-grime-tier-3{display:block}

/* All sleep poses use approved closed-eye frames. Princess Pout is the one
   supplied costume whose rest frame has open eyes, so only that face is closed
   with a local illustration layer. No awake image can flash during loading. */
.gizmo-room .gizmo-character[data-sleeping=true] .gizmo-sprite-awake{display:none!important;visibility:hidden!important;opacity:0!important;animation:none!important}
.gizmo-room .gizmo-character[data-sleeping=true]:not([data-drawn=true]) .gizmo-sprite-sleepy{display:block!important;visibility:visible!important;opacity:1!important;animation:none!important}
/* The approved Princess body and the closed-eye correction share one layer.
   Until that image fires load, a complete closed-eye base body remains visible. */
.gizmo-room .gizmo-sleep-body{display:none;position:absolute;inset:0;pointer-events:none;z-index:2}
.gizmo-room .gizmo-sleep-body>svg{display:block;width:100%;height:100%;overflow:visible}
.gizmo-room .gizmo-character[data-sleeping=true][data-sleep-body=ready] .gizmo-sleep-body{display:block}
.gizmo-room .gizmo-character[data-sleeping=true]:is([data-sleep-body=ready],[data-sleep-body=pending],[data-sleep-body=failed]) .gizmo-drawn-pose{display:none!important}
.gizmo-room .gizmo-character[data-sleeping=true]:is([data-sleep-body=pending],[data-sleep-body=failed]) .gizmo-sprite-sleepy{display:block!important;visibility:visible!important;opacity:1!important}
.gizmo-room .gizmo-room-stage[data-sleeping=true] .gizmo-character .gizmo-character-motion{animation:gizmo-cozy-sleep-breath 5.2s ease-in-out infinite!important;transform-origin:50% 92%}
@keyframes gizmo-cozy-sleep-breath{0%,100%{scale:1 1}50%{scale:1.012 1.02}}

/* A stitched pillow, illustrated moon and softly filling ribbon replace the
   plain pill. The text is driven only by the existing authoritative status. */
.gizmo-room .gizmo-rest-notice.gizmo-rest-dream-card{position:absolute;left:50%;right:auto;top:39.5%;width:min(47%,calc(var(--gizmo-visible-width,100vw) - 110px));aspect-ratio:260/114;height:auto;padding:0;border:0;border-radius:0;background:none;box-shadow:none;box-sizing:border-box;transform:translateX(-42%);color:#5e496e;filter:drop-shadow(0 4px 4px #422d342b);pointer-events:none;z-index:3;text-align:center}
.gizmo-room .gizmo-dream-pillow{position:absolute;inset:0;display:block}
.gizmo-room .gizmo-dream-pillow svg{display:block;width:100%;height:100%;overflow:visible}
.gizmo-room .gizmo-dream-copy{position:absolute;left:30%;right:10%;top:17%;display:grid;justify-items:center;gap:1px;line-height:1.14}
.gizmo-room .gizmo-dream-title{font-size:clamp(10px,2.5cqw,14px);font-weight:700;letter-spacing:.025em}
.gizmo-room .gizmo-dream-minutes{font-family:ui-rounded,Georgia,serif;font-size:clamp(21px,5.4cqw,31px);font-weight:800;color:#71578b;line-height:1.05;font-variant-numeric:tabular-nums}
.gizmo-room .gizmo-dream-caption{font-size:clamp(8px,2cqw,12px);color:#7b6884;line-height:1.15}
.gizmo-room .gizmo-dream-progress{position:absolute;left:32%;right:13%;top:80%;height:5%;border-radius:8px;background:#b8a3c046;overflow:hidden;border:1px solid #aa95b180}
.gizmo-room .gizmo-dream-progress i{display:block;width:var(--gizmo-rest-progress,0%);height:100%;border-radius:inherit;background:repeating-linear-gradient(125deg,#ae8ac6 0 4px,#c6a7d8 4px 8px);transition:width 1s linear}
.gizmo-room .gizmo-rest-dream-card .gizmo-sleep-zs{left:57%;top:122%;font-size:clamp(20px,5cqw,31px);letter-spacing:.12em}
.gizmo-room .gizmo-rest-dream-card[data-rest-display=checking] .gizmo-dream-minutes,.gizmo-room .gizmo-rest-dream-card[data-rest-display=unavailable] .gizmo-dream-minutes{font-size:clamp(12px,3.1cqw,18px);line-height:1.2}
.gizmo-room .gizmo-rest-dream-card[data-rest-display=unavailable] .gizmo-dream-progress{display:none}
@media(max-width:350px){.gizmo-room .gizmo-dream-copy{left:30%;right:9%;top:16%}.gizmo-room .gizmo-dream-minutes{font-size:23px}.gizmo-room .gizmo-dream-title{font-size:11px}.gizmo-room .gizmo-dream-caption{font-size:9px}}
@media(prefers-reduced-motion:reduce){.gizmo-room .gizmo-thought-bubble,.gizmo-room .gizmo-room-stage[data-sleeping=true] .gizmo-character .gizmo-character-motion{animation:none!important;translate:none!important;rotate:none!important;scale:none!important}.gizmo-room .gizmo-dream-progress i{transition:none!important}}
@media(forced-colors:active){.gizmo-room .gizmo-thought-bubble,.gizmo-room .gizmo-dirt-overlay{display:none!important}.gizmo-room .gizmo-rest-notice.gizmo-rest-dream-card{background:Canvas;border:1px solid CanvasText;border-radius:14px;color:CanvasText}.gizmo-room .gizmo-dream-pillow{display:none}.gizmo-room .gizmo-dream-copy{left:8%;right:8%}.gizmo-room .gizmo-dream-title,.gizmo-room .gizmo-dream-minutes,.gizmo-room .gizmo-dream-caption{color:CanvasText}}
