/* Cartoon room. Its motion wrappers are independent of sprite frame changes. */
.gb-pet-object{display:block;position:relative;width:100%;aspect-ratio:1;pointer-events:none}
.gb-pet-object .gb-pet-object-svg{display:block;width:100%;height:100%;overflow:visible;fill:none;filter:none}
.pet-item-art>.gb-pet-object{position:relative;inset:auto;display:block;width:100%;height:auto;aspect-ratio:1;border-radius:0;background:none;color:inherit}
.pet-item-art>.gb-pet-object svg{width:100%;height:100%}
.pet-item-art:has(.gb-pet-object){aspect-ratio:1.07;background:#fff2e9;overflow:hidden;padding:0 4px;margin-bottom:14px;box-shadow:inset 0 0 0 1px #b8899c0c}
.pet-item-house:has(.gb-pet-object){background:#fff0da}
.pet-item-mat:has(.gb-pet-object){background:#eef2e6}
.pet-item-outfit:has(.gb-pet-object){background:#f0eafa}
.pet-sale-art>.gb-pet-object{width:150px;height:150px}
.pet-sale-art:has(.gb-pet-object){height:166px}
.pet-sale-art .gb-pet-object svg{width:100%;height:100%}
.gb-pet-room{aspect-ratio:400/340;max-height:none;border:2px solid #d5aebd;border-radius:26px;background:#ffeced;box-shadow:0 5px 0 #d8b1bf18;isolation:isolate;overflow:hidden}
.gb-room-backdrop{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;z-index:0}
.gb-pet-room.pet-accent-lavender .gb-room-wall-color{fill:#f0e8f7}
.gb-pet-room.pet-accent-mint .gb-room-wall-color{fill:#e8f1e5}
.gb-pet-room.pet-accent-butter .gb-room-wall-color{fill:#fff4d9}
.gb-pet-room .gb-room-item{position:absolute;display:block;pointer-events:none;height:auto}
.gb-pet-room .gb-room-mat{z-index:1;left:22%;bottom:3%;width:57%;transform:scaleY(.66);transform-origin:center bottom}
.gb-pet-room .gb-room-mat:has([data-pet-item=daisy-mat]){bottom:9%;transform:scaleY(.38)}
.gb-pet-room .gb-room-house{z-index:2;left:2%;bottom:17%;width:32%}
.gb-pet-room .gb-room-toy{z-index:4;right:3%;bottom:12%;width:24%}
.gb-pet-room .gb-room-toy:has([data-pet-item=play-tunnel]){width:30%;right:0;bottom:14%}
.gb-pet-room .pet-roamer{position:absolute;z-index:3;left:29%;bottom:18%;width:48%;aspect-ratio:1;will-change:transform;transform:translateX(0)}
.gb-pet-room .pet-room-character{position:relative;display:block;inset:auto;z-index:auto;bottom:auto;left:auto;width:100%;height:100%;aspect-ratio:1;padding:0;background:transparent;border:0;border-radius:35%;outline-offset:0;touch-action:manipulation}
.gb-pet-room .pet-room-character:focus-visible{outline:3px solid #895672;outline-offset:0;background:#fff5}
.gb-pet-body{display:block;position:relative;width:100%;height:100%;transform-origin:50% 86%}
.gb-pet-alignment{display:block;position:relative;width:100%;height:100%}
.gb-pet-room .pet-room-character .pet-sprite{width:100%;height:100%;filter:none;transform:none}
.gb-pet-room .gb-pet-outfit{display:block;position:absolute;pointer-events:none;z-index:2;transform-origin:center;filter:none}
/* The collar is anchored to the neck in each uncropped cell, not its padded art box. */
.gb-pet-room .gb-pet-outfit-starter-bandana{left:var(--bandana-x,54.688%);top:var(--bandana-y,72.917%);width:var(--bandana-width,22.917%);height:var(--bandana-height,15.365%);translate:-44% -22.368%;rotate:var(--bandana-angle,0deg);opacity:var(--bandana-visible,1);transform:none;transform-origin:44% 22.368%;transition:none}
.gb-pet-outfit-starter-bandana>.gb-pet-object-worn{width:100%;height:100%;aspect-ratio:auto}
.gb-pet-alignment:has(>.pet-sprite[data-pet-pose="idle"])>.gb-pet-outfit-starter-bandana{--bandana-x:var(--bandana-idle-x);--bandana-y:var(--bandana-idle-y);--bandana-width:var(--bandana-idle-width);--bandana-height:var(--bandana-idle-height);--bandana-angle:var(--bandana-idle-angle);--bandana-visible:var(--bandana-idle-visible)}
.gb-pet-alignment:has(>.pet-sprite[data-pet-pose="happy"])>.gb-pet-outfit-starter-bandana{--bandana-x:var(--bandana-happy-x);--bandana-y:var(--bandana-happy-y);--bandana-width:var(--bandana-happy-width);--bandana-height:var(--bandana-happy-height);--bandana-angle:var(--bandana-happy-angle);--bandana-visible:var(--bandana-happy-visible)}
.gb-pet-alignment:has(>.pet-sprite[data-pet-pose="softsad"])>.gb-pet-outfit-starter-bandana{--bandana-x:var(--bandana-softsad-x);--bandana-y:var(--bandana-softsad-y);--bandana-width:var(--bandana-softsad-width);--bandana-height:var(--bandana-softsad-height);--bandana-angle:var(--bandana-softsad-angle);--bandana-visible:var(--bandana-softsad-visible)}
.gb-pet-alignment:has(>.pet-sprite[data-pet-pose="walk1"])>.gb-pet-outfit-starter-bandana{--bandana-x:var(--bandana-walk1-x);--bandana-y:var(--bandana-walk1-y);--bandana-width:var(--bandana-walk1-width);--bandana-height:var(--bandana-walk1-height);--bandana-angle:var(--bandana-walk1-angle);--bandana-visible:var(--bandana-walk1-visible)}
.gb-pet-alignment:has(>.pet-sprite[data-pet-pose="walk2"])>.gb-pet-outfit-starter-bandana{--bandana-x:var(--bandana-walk2-x);--bandana-y:var(--bandana-walk2-y);--bandana-width:var(--bandana-walk2-width);--bandana-height:var(--bandana-walk2-height);--bandana-angle:var(--bandana-walk2-angle);--bandana-visible:var(--bandana-walk2-visible)}
.gb-pet-alignment:has(>.pet-sprite[data-pet-pose="trick"])>.gb-pet-outfit-starter-bandana{--bandana-x:var(--bandana-trick-x);--bandana-y:var(--bandana-trick-y);--bandana-width:var(--bandana-trick-width);--bandana-height:var(--bandana-trick-height);--bandana-angle:var(--bandana-trick-angle);--bandana-visible:var(--bandana-trick-visible)}
.gb-pet-alignment:has(>.pet-sprite[data-pet-pose="snack"])>.gb-pet-outfit-starter-bandana{--bandana-x:var(--bandana-snack-x);--bandana-y:var(--bandana-snack-y);--bandana-width:var(--bandana-snack-width);--bandana-height:var(--bandana-snack-height);--bandana-angle:var(--bandana-snack-angle);--bandana-visible:var(--bandana-snack-visible)}
.gb-pet-alignment:has(>.pet-sprite[data-pet-pose="sleep"])>.gb-pet-outfit-starter-bandana{--bandana-x:var(--bandana-sleep-x);--bandana-y:var(--bandana-sleep-y);--bandana-width:var(--bandana-sleep-width);--bandana-height:var(--bandana-sleep-height);--bandana-angle:var(--bandana-sleep-angle);--bandana-visible:var(--bandana-sleep-visible)}
.gb-pet-alignment:has(>.pet-sprite[data-pet-pose="blink"])>.gb-pet-outfit-starter-bandana{--bandana-x:var(--bandana-blink-x);--bandana-y:var(--bandana-blink-y);--bandana-width:var(--bandana-blink-width);--bandana-height:var(--bandana-blink-height);--bandana-angle:var(--bandana-blink-angle);--bandana-visible:var(--bandana-blink-visible)}
.gb-pet-outfit-flower-crown{left:20%;top:3%;width:60%;height:60%;transform:rotate(-4deg)}
.gb-pet-outfit-star-sweater{left:28%;top:51%;width:44%;height:44%}
.gb-pet-room[data-pet-species=bunny] .gb-pet-outfit-flower-crown{top:15%;width:53%;left:23%}
.gb-pet-room[data-pet-species=capybara] .gb-pet-outfit-flower-crown{top:7%;left:22%;width:58%}
.gb-pet-room .pet-room-hint{bottom:4.5%;inset-inline:12px;gap:5px;font-size:clamp(10px,2.8vw,12px);color:#795c68;line-height:1.4;text-align:center;overflow-wrap:anywhere}
.gb-pet-room .pet-room-hint>span{color:#ae7692;font-size:17px}
.gb-pet-room .pet-room-confetti{z-index:6}
@keyframes gb-pet-stroll{
  0%,12%,100%{transform:translateX(0)}
  28%,40%{transform:translateX(20%)}
  64%,78%{transform:translateX(-20%)}
}
@keyframes gb-pet-waddle{
  0%,12%,28%,40%,64%,78%,100%{transform:translateY(0) rotate(0)}
  16%,24%,44%,52%,60%,82%,90%,98%{transform:translateY(-3px) rotate(-2deg)}
  20%,48%,56%,86%,94%{transform:translateY(-1px) rotate(2deg)}
}
@keyframes gb-pet-room-trick{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-17px) rotate(-9deg)}50%{transform:translateY(0) rotate(7deg)}75%{transform:translateY(-8px) rotate(-3deg)}}
@media(prefers-reduced-motion:no-preference){
  html:not(.motion-off) .gb-pet-room .pet-roamer{animation:gb-pet-stroll 13s ease-in-out infinite}
  html:not(.motion-off) .gb-pet-room .gb-pet-body{animation:gb-pet-waddle 13s linear infinite}
  html:not(.motion-off) .gb-pet-room.pet-performing .gb-pet-body,html:not(.motion-off) .pet-performing .gb-pet-room .gb-pet-body,html:not(.motion-off) .gb-pet-room.pet-celebrating .gb-pet-body,html:not(.motion-off) .pet-celebrating .gb-pet-room .gb-pet-body{animation:gb-pet-room-trick 900ms ease-in-out 2}
}
.gb-pet-room .pet-roamer:focus-within,.pet-performing .gb-pet-room .pet-roamer,.gb-pet-room.pet-performing .pet-roamer,.gb-pet-room.pet-celebrating .pet-roamer,.pet-celebrating .gb-pet-room .pet-roamer{animation-play-state:paused!important}
.pet-motion-paused .pet-roamer,.pet-motion-paused .gb-pet-body,.pet-motion-paused .pet-sprite,html.pet-page-hidden .pet-roamer,html.pet-page-hidden .gb-pet-body,html.pet-page-hidden .pet-sprite{animation-play-state:paused!important}
@media(min-width:650px){
  .gb-pet-room{aspect-ratio:1.45;max-height:480px}
  .gb-pet-room .pet-roamer{width:40%;left:32%;bottom:17%}
  .gb-pet-room .gb-room-house{left:8%;width:27%;bottom:15%}
  .gb-pet-room .gb-room-toy{right:6%;width:22%;bottom:10%}
  .gb-pet-room .gb-room-toy:has([data-pet-item=play-tunnel]){right:3%;width:27%;bottom:11%}
  .gb-pet-room .gb-room-mat{left:23%;width:56%;bottom:0}
  .gb-pet-room .gb-room-mat:has([data-pet-item=daisy-mat]){bottom:9%}
  .gb-pet-room .pet-room-hint{font-size:12px;bottom:4%}
}
@media(max-width:359px){.gb-pet-room{border-radius:22px}.gb-pet-room .pet-room-hint{font-size:9px;bottom:4%}}
@media(prefers-reduced-motion:reduce){.gb-pet-room *{animation:none!important;transition:none!important;will-change:auto!important}}
html.motion-off .gb-pet-room *{animation:none!important;transition:none!important;will-change:auto!important}
