/* One cartoon language for the front door, companion and goal picker. */
.pet-sprite{background-size:300% 300%;background-position:var(--pet-pose,0% 0%)}
.pet-sprite{translate:var(--pet-shift,0 0)}
.gb-pet-room .pet-sprite{translate:none}
.gb-pet-alignment{translate:var(--pet-shift,0 0)}
.goals-home-card,.goals-starter-card,.goals-challenge-card,.goals-companion-card{position:relative;padding:24px 21px;border:1px solid #e3c4d3;border-radius:24px;background:#fff1f6;overflow:hidden}
.goals-home-card h2,.goals-starter-card h2,.goals-challenge-card h2,.goals-companion-card h2{font-family:Outfit,Inter,sans-serif;font-size:28px;font-weight:600;line-height:1.1;letter-spacing:-.8px;color:#633c50;max-width:350px}
.goals-home-card p,.goals-starter-card p,.goals-challenge-card p,.goals-companion-card p{font-size:12px;line-height:1.7;color:#7b5e6f;margin:12px 0 19px;max-width:450px}
.goals-home-card>.text-button{display:flex;margin-top:8px;font-size:11px}
.goals-starter-card ul{list-style:none;padding:0;margin:23px 0;display:grid;gap:16px}
.goals-starter-card li{display:flex;align-items:center;gap:12px;font-size:13px;color:#76556b}
.goals-starter-card li svg{width:22px;height:22px;color:#b15b81}
.goals-starter-card>p{margin-bottom:0;font-size:11px}
.goals-starter-flower{position:absolute;right:-11px;top:-15px;width:85px;height:85px;background:var(--bloom-flower) center/contain no-repeat;opacity:.4;pointer-events:none}
.goals-progress-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:15px 17px;background:#f5e3ed;border-radius:16px;margin-bottom:12px;color:#7b4661;font-size:12px;font-weight:600}
.goals-progress-strip>span{display:flex;align-items:center;gap:8px}
.goals-progress-strip svg{width:19px;height:19px}
.goals-challenge-card,.goals-companion-card{margin:18px 0}
.goals-challenge-card{background:#f2edf5;border-color:#e0d4e6}
.goals-companion-card{background:#fffaf3;border-color:#e9dcca}
.goals-challenge-card h2,.goals-companion-card h2{font-size:25px}
.goals-challenge-card .text-button{min-height:44px}
.goals-page .pet-goals{margin-top:18px}
.header-actions .header-progress{display:none}
.pet-header-shortcut{position:relative;display:grid;place-items:center;flex:none;width:46px;height:46px;padding:0;border:1px solid #e6c4d2;border-radius:17px;background:#fbe4eb;overflow:hidden;cursor:pointer}
.pet-header-shortcut .pet-sprite{width:52px;height:52px;filter:none}
.pet-header-shortcut:focus-visible,.pet-home-hero button:focus-visible,.pet-preset:focus-visible{outline:3px solid #8f3a63;outline-offset:3px}
.pet-home-hero{display:grid;position:relative;isolation:isolate;grid-template-columns:minmax(0,1fr);padding:22px 20px 18px;border:1px solid #e2bbc9;border-radius:28px;background:var(--pet-soft,#fff0f5);overflow:hidden;box-shadow:0 4px 0 #e7bcc721}
.pet-home-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 90% 9%,#fff9e2 0 3px,transparent 4px),radial-gradient(circle at 5% 64%,#e6b7ce 0 2px,transparent 3px);background-size:69px 73px,111px 97px;opacity:.44;pointer-events:none}
.pet-home-copy .eyebrow{font-size:10px;letter-spacing:1.35px;color:#94617b}
.pet-home-copy h2{font-family:Outfit,Inter,sans-serif;font-size:30px;font-weight:600;letter-spacing:-1.1px;line-height:1.1;color:#593346;margin:9px 0 10px;max-width:370px;overflow-wrap:anywhere}
.pet-home-copy p{font-size:12px;line-height:1.7;color:#805d70;max-width:310px;margin:0}
.pet-home-level{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;font-weight:600;color:#795668;margin-top:12px}
.pet-home-level i{width:4px;height:4px;border-radius:50%;background:#c67a9b}
.pet-home-stage{position:relative;display:block;justify-self:center;width:100%;max-width:360px;height:207px;padding:0;border:0;background:transparent;border-radius:24px;cursor:pointer;isolation:isolate;touch-action:manipulation}
.pet-home-pillow{position:absolute;left:15%;right:15%;height:38px;bottom:18px;border:2px solid #ddacbd;border-radius:50%;background:#edbfd0;box-shadow:0 6px 0 #dcaabc4a,inset 0 0 0 6px #f7d9e2;transform:rotate(-4deg);pointer-events:none}
.pet-home-flower{position:absolute;right:4%;top:12%;width:64px;height:64px;background:var(--bloom-flower) center/contain no-repeat;transform:rotate(14deg);opacity:.9;pointer-events:none}
.pet-home-wander{display:block;position:absolute;bottom:28px;left:calc(50% - 93px);width:186px;height:186px;pointer-events:none;will-change:transform}
.pet-home-wander .pet-sprite{display:block;width:100%;height:100%;filter:none;transform-origin:50% 85%}
.pet-home-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.pet-home-actions>.primary-button{min-height:46px;flex:1;white-space:nowrap;font-size:12px;padding:11px 14px;background:#733951;border-color:#733951;color:#fff5fa}
.pet-home-actions>.text-button{font-size:11px;min-height:44px;padding:5px 4px}
.pet-home-actions>.text-button svg{width:15px;height:15px}
.pet-motion-toggle{width:44px;height:44px;flex:none;display:grid;place-items:center;padding:0;border:1px solid #dfb8c8;border-radius:50%;background:#fff8fa;color:#75445e;font-size:15px;cursor:pointer}
.pet-motion-toggle[aria-pressed=true]{background:#ecd3df}
.pet-home-goals{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid #dfbfcf}
.pet-home-goals>button{display:flex;align-items:center;gap:6px;max-width:100%;padding:8px 10px;min-height:44px;font-size:10px;line-height:1.35;text-align:left;background:#fff9fc;color:#76556a;border:1px solid #e7ceda;border-radius:12px;cursor:pointer}
.pet-home-goals>button>span{display:inline-flex;color:#aa527c;flex:none}
.pet-home-goals svg{width:16px;height:16px}
.pet-room-pause{display:flex;margin:8px 0 0 auto;min-height:44px;font-size:11px}
.pet-item-preview .gb-pet-room{margin-bottom:18px;max-height:330px}
.pet-preview-button{min-height:44px;font-size:10px;justify-content:center}
.pet-shop-item>.secondary-button{white-space:normal;line-height:1.4}
.pet-today-workout{display:flex;align-items:center;justify-content:flex-start;gap:9px;width:100%;min-height:48px;padding:12px 14px;margin:3px 0 12px;border:1px solid #dcb3c7;border-radius:14px;background:#fcf0f5;color:#75435d;cursor:pointer;font-size:12px;text-align:left}
.pet-today-workout svg{width:19px;height:19px;flex:none}
.pet-today-workout svg:last-child{margin-left:auto;width:15px}
.pet-today-workout[aria-pressed=true]{background:#efd8e4;border-color:#b47897}
.pet-today-workout[aria-pressed=true] svg:last-child{transform:rotate(45deg)}
.pet-goal-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:17px}
.pet-preset{display:grid;position:relative;grid-template-columns:1fr;justify-items:start;gap:5px;min-height:118px;padding:14px 11px;border:1px solid #e4ccd7;border-radius:17px;background:#fffbfc;color:#624556;text-align:left;cursor:pointer}
.pet-preset>span{display:flex;align-items:center;justify-content:center;width:31px;height:31px;background:#f7e7ed;border-radius:10px;color:#985775}
.pet-preset>span svg{width:19px;height:19px}
.pet-preset strong{font-size:13px;line-height:1.35;font-weight:600}
.pet-preset small{font-size:10px;line-height:1.5;color:#826477}
.pet-preset>i{position:absolute;top:12px;right:11px;display:grid;place-items:center;width:20px;height:20px;border:1px solid #dac0ce;border-radius:50%;font-style:normal;color:transparent}
.pet-preset>i svg{width:12px;height:12px}
.pet-preset[aria-pressed=true]{background:#f7e2ec;border-color:#ad6c8d;box-shadow:inset 0 0 0 1px #ad6c8d}
.pet-preset[aria-pressed=true]>i{background:#80455f;border-color:#80455f;color:white}
.pet-preset:last-child{grid-column:1/-1;grid-template-columns:32px 1fr;min-height:72px;column-gap:11px;padding-right:40px;align-items:center}
.pet-preset:last-child>span{grid-row:1/3}
.pet-preset:last-child strong,.pet-preset:last-child small{grid-column:2}
.pet-preset:last-child>i{top:calc(50% - 10px)}
.pet-goal-details{border:1px solid #e5ced9;border-radius:14px;padding:0 14px;margin-bottom:18px;background:#fffafd}
.pet-goal-details>summary{font-size:12px;font-weight:600;padding:16px 0;min-height:48px;cursor:pointer;color:#795067}
.pet-goal-details[open]>summary{margin-bottom:10px;border-bottom:1px solid #e6d0da}
.pet-goal-details .pet-check{font-size:12px}
.pet-goal-details .pet-rest-days{margin-bottom:20px}
.pet-goal-details .pet-custom-goals{padding-top:16px}
.pet-goal-details .pet-custom-goals h4{font-size:20px}
.pet-goal-details .field input,.pet-goal-details .field select{min-width:0;width:100%}
.pet-form-goals>.pet-preset-feedback{font-size:11px;margin:0 0 14px;color:#846072}
/* Translation and frame changes have different wrappers: no jumping background crop. */
/* Keep the worn collar on the same 13-second, stepped frame clock as the sprite. */
@keyframes pet-bandana-frames{
 0%,12%,28%,40%,64%,78%,100%{left:var(--bandana-x);top:var(--bandana-y);width:var(--bandana-width);height:var(--bandana-height);rotate:var(--bandana-angle);opacity:var(--bandana-visible)}
 14%,18%,22%,26%,42%,46%,50%,54%,58%,62%,80%,84%,88%,92%,96%{left:var(--bandana-walk1-x);top:var(--bandana-walk1-y);width:var(--bandana-walk1-width);height:var(--bandana-walk1-height);rotate:var(--bandana-walk1-angle);opacity:var(--bandana-walk1-visible)}
 16%,20%,24%,44%,48%,52%,56%,60%,82%,86%,90%,94%,98%{left:var(--bandana-walk2-x);top:var(--bandana-walk2-y);width:var(--bandana-walk2-width);height:var(--bandana-walk2-height);rotate:var(--bandana-walk2-angle);opacity:var(--bandana-walk2-visible)}
}
@media(prefers-reduced-motion:no-preference){
 html:not(.motion-off) .gb-pet-room .gb-pet-outfit-starter-bandana{animation:pet-bandana-frames 13s steps(1,end) infinite}
 html:not(.motion-off) .gb-pet-room.pet-performing .gb-pet-outfit-starter-bandana,html:not(.motion-off) .gb-pet-room.pet-celebrating .gb-pet-outfit-starter-bandana{animation:none}
}
.pet-motion-paused .gb-pet-outfit-starter-bandana,html.pet-page-hidden .gb-pet-outfit-starter-bandana{animation-play-state:paused!important}
@keyframes pet-step-frames{0%,12%,28%,40%,64%,78%,100%{background-position:var(--pet-pose,0% 0%)}14%,18%,22%,26%,42%,46%,50%,54%,58%,62%,80%,84%,88%,92%,96%{background-position:0% 50%}16%,20%,24%,44%,48%,52%,56%,60%,82%,86%,90%,94%,98%{background-position:50% 50%}}
@keyframes pet-home-stroll{0%,12%,100%{transform:translateX(0)}28%,40%{transform:translateX(22px)}64%,78%{transform:translateX(-22px)}}
@keyframes pet-home-bob{0%,12%,28%,40%,64%,78%,100%{transform:translateY(0) rotate(0)}18%,24%,46%,54%,60%,84%,92%{transform:translateY(-2px) rotate(-1deg)}20%,48%,56%,86%,94%{transform:translateY(0) rotate(1deg)}}
@keyframes pet-align-frames{0%,12%,28%,40%,64%,78%,100%{translate:var(--pet-shift,0 0)}14%,18%,22%,26%,42%,46%,50%,54%,58%,62%,80%,84%,88%,92%,96%{translate:var(--pet-walk1-shift,0 0)}16%,20%,24%,44%,48%,52%,56%,60%,82%,86%,90%,94%,98%{translate:var(--pet-walk2-shift,0 0)}}
@media(prefers-reduced-motion:no-preference){
 html:not(.motion-off) .gb-pet-room .pet-room-character .pet-sprite{animation:pet-step-frames 13s steps(1,end) infinite}
 html:not(.motion-off) .pet-home-wander{animation:pet-home-stroll 13s ease-in-out infinite}
 html:not(.motion-off) .pet-home-wander .pet-sprite{animation:pet-step-frames 13s steps(1,end) infinite,pet-home-bob 13s linear infinite,pet-align-frames 13s steps(1,end) infinite}
 html:not(.motion-off) .gb-pet-alignment{animation:pet-align-frames 13s steps(1,end) infinite}
 html:not(.motion-off) .pet-home-flower{animation:pet-flower-sway 6s ease-in-out infinite}
 html:not(.motion-off) .gb-pet-room.pet-performing .pet-sprite,html:not(.motion-off) .gb-pet-room.pet-celebrating .pet-sprite{animation:none}
 html:not(.motion-off) .gb-pet-room.pet-performing .gb-pet-alignment,html:not(.motion-off) .gb-pet-room.pet-celebrating .gb-pet-alignment{animation:none}
}
.pet-motion-paused .gb-pet-alignment,html.pet-page-hidden .gb-pet-alignment{animation-play-state:paused!important}
.pet-motion-paused .pet-home-hero *,html.pet-page-hidden .pet-home-hero *{animation-play-state:paused!important}
.pet-home-stage:focus-visible .pet-home-wander,.pet-home-stage:focus-visible .pet-sprite{animation-play-state:paused}
@media(min-width:500px){.pet-home-hero{grid-template-columns:minmax(0,1fr) 190px;column-gap:10px;padding:25px}.pet-home-copy{align-self:center}.pet-home-stage{grid-column:2;grid-row:1/3;height:210px}.pet-home-actions{grid-column:1/-1}.pet-home-goals{grid-column:1/-1}.pet-home-copy h2{font-size:33px}.pet-home-pillow{left:0;right:0}.pet-home-flower{right:0;top:1%}}
@media(min-width:1060px) and (max-width:1230px){.pet-home-hero{grid-template-columns:1fr}.pet-home-stage{grid-column:1;grid-row:auto}.pet-home-copy h2{font-size:30px}}
@media(max-width:359px){.pet-home-hero{padding:20px 15px 15px}.pet-home-copy h2{font-size:27px}.pet-home-stage{height:195px}.pet-home-wander{width:175px;height:175px;left:calc(50% - 87.5px);bottom:26px}.pet-home-actions>.primary-button{flex-basis:calc(100% - 52px);order:0}.pet-home-actions>.text-button{order:2;width:100%;justify-content:center}.pet-motion-toggle{order:1}.pet-home-goals{margin-top:9px}.pet-header-shortcut{width:44px;height:44px}.pet-preset{padding:12px 10px}.pet-preset strong{font-size:12px}}
@media(max-width:499px){.pet-home-actions{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:6px 10px}.pet-home-actions>.primary-button{grid-column:1;grid-row:1}.pet-home-actions>.pet-motion-toggle{grid-column:2;grid-row:1}.pet-home-actions>.text-button{grid-column:1/-1;grid-row:2;justify-content:center}.pet-home-goals{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.pet-home-hero *{animation:none!important;transition:none!important;will-change:auto!important}}
html.motion-off .pet-home-hero *{animation:none!important;transition:none!important;will-change:auto!important}
