/* The actors share the square artwork's coordinates, including when it is cropped. */
#sada-playful .sh-living-scene{isolation:isolate}
#sada-playful .sh-living-stage{position:absolute;display:block;left:50%;top:50%;width:var(--scene-size,100%);height:var(--scene-size,auto);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none}
#sada-playful .sh-living-stage>img{display:block;width:100%;height:100%;object-fit:contain}
#sada-playful .sh-scene-actor{position:absolute;display:block;pointer-events:none}
#sada-playful .sh-scene-actor img{display:block;width:100%;height:auto;max-width:none}
#sada-playful .sh-scene-dog{--swim-cycle:30s;left:0;top:0;width:100%;height:100%;transform:translate(40%,75%);animation:sh-dog-route var(--swim-cycle) linear infinite both}
#sada-playful .sh-dog-drift{position:relative;display:block;width:18%;animation:sh-dog-direction var(--swim-cycle) steps(1,end) infinite both}
#sada-playful .sh-dog-waterline{display:block;overflow:hidden;animation:sh-dog-waterline var(--swim-cycle) ease-in-out infinite both}
#sada-playful .sh-dog-dive{display:block;transform-origin:50% 67%;animation:sh-dog-dive var(--swim-cycle) ease-in-out infinite both}
#sada-playful .sh-dog-bob{display:block;animation:sh-dog-bob 1.8s ease-in-out infinite}
#sada-playful .sh-scene-sunbather{left:69%;top:60.5%;width:21.6%;opacity:1}
#sada-playful .sh-dog-wake{position:absolute;inset:0;animation:sh-wake-presence var(--swim-cycle) linear infinite both}
#sada-playful .sh-water-ring{position:absolute;left:23%;top:61%;width:68%;height:13%;border:1px solid rgba(244,239,216,.6);border-radius:50%;transform:rotate(-4deg);animation:sh-water-ripple 3.6s ease-out infinite}
#sada-playful .sh-water-ring-two{animation-delay:-1.8s;left:13%;width:55%;top:63%}
#sada-playful .sh-dive-ring{position:absolute;left:12%;top:63%;width:62%;height:12%;border:1px solid rgba(250,245,221,.8);border-radius:50%;opacity:0;animation:sh-dive-ring var(--swim-cycle) ease-out infinite both}
/* Changes of position and direction happen only while the dog is fully underwater. */
@keyframes sh-dog-route{
  0%{transform:translate(40%,75%)}
  19%{transform:translate(24%,77%)}
  25%,28%{transform:translate(22%,77%)}
  28.01%,34%{transform:translate(15%,81%)}
  49%{transform:translate(32%,80%)}
  55%,58%{transform:translate(35%,80%)}
  58.01%,64%{transform:translate(41%,73%)}
  83%{transform:translate(29%,75%)}
  89%,94%{transform:translate(27%,75%)}
  94.01%,100%{transform:translate(40%,75%)}
}
@keyframes sh-dog-direction{0%{transform:scaleX(1)}28.01%{transform:scaleX(-1)}58.01%,100%{transform:scaleX(1)}}
@keyframes sh-dog-waterline{
  0%,19%,34%,49%,64%,83%,100%{clip-path:inset(0 0 0 0)}
  25%,29%,55%,59%,89%,95%{clip-path:inset(0 0 35% 0)}
}
@keyframes sh-dog-dive{
  0%,19%,34%,49%,64%,83%,100%{transform:translateY(0) rotate(0);opacity:1}
  24%,54%,88%{transform:translateY(57%) rotate(-8deg);opacity:1}
  25%,29%,55%,59%,89%,95%{transform:translateY(68%) rotate(-8deg);opacity:0}
}
@keyframes sh-dog-bob{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(1.7px) rotate(.5deg)}}
@keyframes sh-wake-presence{0%,24%,34%,54%,64%,88%,100%{opacity:1}27%,30%,57%,60%,92%,96%{opacity:0}}
@keyframes sh-dive-ring{
  0%,20%,50%,84%,100%{opacity:0;transform:scale(.75,.6)}
  23%,53%,87%{opacity:.8;transform:scale(1,1)}
  28%,58%,93%{opacity:0;transform:scale(1.7,2.4)}
}
@keyframes sh-water-ripple{0%{opacity:0;transform:scale(.8,.6) rotate(-4deg)}20%{opacity:.7}100%{opacity:0;transform:scale(1.35,1.7) rotate(-4deg)}}
#sada-playful[data-motion-paused="true"] .sh-living-stage *,
#sada-playful .sh-living-scene[data-scene-idle="true"] .sh-living-stage *{animation-play-state:paused!important}
#sada-playful:not([data-living-ready="true"]) .sh-scene-actor{opacity:1;animation:none}
@media(min-width:1100px){#sada-playful .sh-living-scene{min-height:max(565px,45vw)}}
@media(prefers-reduced-motion:reduce){
  #sada-playful .sh-living-stage *{animation:none!important}
  #sada-playful .sh-scene-actor{opacity:1!important}
  #sada-playful .sh-water-ring,#sada-playful .sh-dive-ring{display:none}
}
