.companion-life-overlay{position:fixed;inset:0;z-index:1900;display:flex;align-items:center;justify-content:center;background:#031022e8;padding:8px;overflow:auto;box-sizing:border-box}
.companion-life-card{position:relative;background:linear-gradient(145deg,#17415c,#081e34);border:3px solid #6be1ef;border-radius:26px;color:#e9faff;width:min(640px,100%);max-height:calc(100dvh - 16px);overflow:auto;box-sizing:border-box;padding:70px 18px 18px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.companion-life-card h2{font-size:clamp(19px,4.5vw,28px);line-height:1.2;margin:0;color:#ffe399}.companion-life-card h3{font-size:18px;margin:8px 0 0}.companion-life-card p{line-height:1.5;font-size:14px;margin:0;max-width:520px}
.life-speaker{position:absolute;right:12px;top:12px;width:48px;height:48px;min-height:48px;display:grid;place-items:center;padding:7px;margin:0;border-radius:14px}.life-speaker svg{width:100%;height:100%}
.life-hub-hero{display:flex;align-items:center;justify-content:center;gap:20px;width:100%}.life-hub-hero>div{width:140px;height:140px}.life-hub-hero>div>.home-companion-sprite{width:100%;height:100%}.life-hub-hero>span{font-size:22px;font-weight:900;color:#ffe59e;display:grid;gap:10px}.life-hub-hero progress{width:150px}
.life-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:12px}.life-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:2px solid #57c5d7;border-radius:18px;background:linear-gradient(#1c526d,#0b293d);color:#d8f8ff;min-height:116px;padding:10px;cursor:pointer}.life-action b{font-size:12px;line-height:1.3}.life-action small{font-size:10px;color:#ffe3a0}.life-action.locked{opacity:.55}.life-tool-icon{width:48px;height:48px;display:block;flex-shrink:0}
.life-game-buttons{width:100%;display:grid;gap:12px}.life-game-buttons button{width:100%;display:flex;flex-direction:column;gap:8px;min-height:70px}.life-game-buttons small{font-size:11px}.life-roadmap{width:100%;text-align:left;border:2px solid #468caa;border-radius:15px;padding:12px;box-sizing:border-box}.life-roadmap summary{font-size:13px;color:#ffe5a6;cursor:pointer;font-weight:900}.life-roadmap button{display:grid;gap:6px;width:100%;text-align:left;border:0;border-bottom:1px solid #37667d;background:transparent;color:#adc8d4;padding:13px 0}.life-roadmap button.open{color:#c5f7df}.life-roadmap button b{font-size:12px}.life-roadmap button span{font-size:12px;line-height:1.4}
.life-scene{position:relative;isolation:isolate;width:100%;height:clamp(210px,36dvh,340px);overflow:hidden;border:2px solid #57b6c6;border-radius:20px;background-image:var(--life-room);background-position:center;background-size:cover;touch-action:none;box-sizing:border-box}.life-pet{position:absolute;left:27%;bottom:6%;width:46%;height:78%;z-index:2;pointer-events:none}.life-pet>.home-companion-sprite{width:100%;height:100%}.life-pet .home-companion-still,.life-pet .home-companion-gif{width:100%;height:100%;object-fit:contain}
.life-touch-effect{position:absolute;z-index:9;pointer-events:none;transform:translate(-50%,-50%);opacity:0;width:40px;height:50px}.life-touch-effect.visible{opacity:1}.effect-hearts:before,.effect-hearts:after{content:'';position:absolute;width:23px;height:23px;background:#ff8ccc;transform:rotate(-45deg);border-radius:50% 50% 0 50%;box-shadow:0 0 15px #ffbbda}.effect-hearts:after{left:25px;top:-15px;width:15px;height:15px}.effect-water{background:repeating-linear-gradient(105deg,transparent 0 8px,#81eff7aa 9px 13px,transparent 14px 22px);height:70px;filter:drop-shadow(0 0 5px #aefbff)}.effect-sponge{background:linear-gradient(120deg,#fff0a0,#dfb34b);border:3px solid #fff4ba;border-radius:35%;box-shadow:inset 0 0 8px #bb8527,0 4px 9px #0008}
.life-meter{width:90%;height:16px;accent-color:#ffc34d}.life-back{min-height:52px;margin:0;width:min(280px,100%)}.life-finish{order:8;background:#174943;border:2px solid #82ecd0;border-radius:16px;padding:14px;width:100%;box-sizing:border-box}.life-finish b{display:block;color:#ffe19a;font-size:21px;margin-bottom:8px}.life-finish p{margin:auto}
.life-bath{background:linear-gradient(#bfd5e3 2px,transparent 2px),linear-gradient(90deg,#bfd5e3 2px,transparent 2px),linear-gradient(#194e69,#5ea4b0);background-size:52px 52px,52px 52px,100% 100%}.life-bath:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:13%;background:linear-gradient(#619ba9,#133c5c);border-top:3px solid #a5dde3;z-index:0}.life-bath .life-pet{bottom:10%;height:77%}.life-shower-head{position:absolute;left:25%;top:-5%;height:20%;width:32%;border:9px solid #b6d9e8;border-right:0;border-bottom:0;border-radius:25px 0 0 0;box-sizing:border-box}.life-shower-head:after{content:'';position:absolute;right:-10%;top:23%;width:40%;height:17px;background:linear-gradient(#c0eff2,#397388);border-radius:50% 50% 10% 10%;box-shadow:0 2px 3px #123c61}.life-bath-rim{position:absolute;left:16%;right:16%;bottom:0;height:13%;border-radius:50% 50% 22px 22px;background:linear-gradient(#d6f6fa,#72b4c3);border:3px solid #e4fdff;z-index:5;pointer-events:none}
.life-bath-zones,.life-bath-foam{position:absolute;inset:0;pointer-events:none;z-index:4}.life-bath-zone{position:absolute;transform:translate(-50%,-50%);width:28px;height:28px;border:2px dashed #ffe484;border-radius:50%;background:#fff3a733;box-shadow:0 0 12px #ffe48066}.life-bath-zone.done{opacity:0}.life-bath-foam span{position:absolute;transform:translate(-50%,-50%);width:63px;height:45px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff 4px,#fff0 5px),radial-gradient(circle at 70% 60%,#e6fbff 14px,#fff0 15px),#fffceedd;box-shadow:14px -8px 0 -3px #eaffff,-12px -3px 0 -3px #fff}
.life-bath-steps{display:flex;justify-content:space-between;width:100%;font-size:17px;color:#ffe39a}.life-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%}.life-tools button{border:2px solid #67c9d8;background:#12384f;border-radius:16px;color:#bdeef8;display:flex;align-items:center;flex-direction:column;padding:8px;gap:7px;cursor:pointer}.life-tools b{font-size:11px}.life-tools .selected,.life-tools .suggested{border-color:#ffe4a0;background:linear-gradient(#ffca76,#f39427);color:#432600}.life-next{width:100%;margin:0;min-height:52px}.life-next[hidden]{display:none}
.life-magic-bubble{position:absolute;width:34px;height:34px;background:radial-gradient(circle at 25% 25%,#fff8,transparent 50%);border:2px solid #c1eaff;border-radius:50%;box-shadow:inset -5px -4px 7px #a679fb88;z-index:10;animation:life-bubble-rise 4s infinite;touch-action:manipulation}
.life-floor-item{position:absolute;width:13%;height:19%;transform:translate(-50%,-50%) rotate(-12deg);padding:0;background:#d4e1d71a;border:2px solid transparent;border-radius:15px;cursor:grab;z-index:5;touch-action:none}.life-floor-item:nth-child(even){transform:translate(-50%,-50%) rotate(17deg)}.life-floor-item img,.life-drag-ghost img{width:100%;height:100%;object-fit:contain;pointer-events:none;border-radius:12px}.life-floor-item.stored{display:none}.life-floor-item.chosen{border-color:#ffcf65;box-shadow:0 0 12px #ffdd6d}.life-baskets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:14px}.life-basket{position:relative;height:90px;border:2px solid #529eaf;border-radius:16px;background:linear-gradient(#1c5a6a,#0c2b3f);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:8px;touch-action:manipulation}.life-basket .life-tool-icon{width:75px;height:75px}.life-basket>img{position:absolute;left:calc(50% - 17px);top:40px;width:34px;height:34px;object-fit:contain;border-radius:8px}.life-basket.suggested,.life-floor-item.suggested{border-color:#ffe3a0;box-shadow:0 0 15px #ffdb74}.life-drag-ghost{position:fixed;pointer-events:none;z-index:2500;background:transparent;border:0;filter:drop-shadow(0 6px 10px #0008);padding:0;transform:rotate(-5deg)}
.life-golden-light{filter:drop-shadow(0 0 12px #ffd664)}.life-golden-home{filter:drop-shadow(0 0 16px #ffdf74)}.life-wave>div{animation:life-wave .7s 2;transform-origin:bottom center}.life-happy{animation:life-pet-happy .8s infinite}.life-party{animation:life-pet-happy .7s 4}
.life-arcade-card{display:flex;flex-direction:column;width:min(1000px,100%);height:calc(100dvh - 16px);background:#082139;border:2px solid #6cdfeb;border-radius:18px;overflow:hidden;gap:8px;padding:8px;box-sizing:border-box}.life-arcade-card>button{margin:0;min-height:46px;font-size:14px}.life-arcade-card iframe{border:0;width:100%;flex:1;min-height:0;border-radius:12px;background:#092a3d}
.companion-activity-launch{margin:10px auto;display:flex;align-items:center;justify-content:center;gap:12px;min-height:62px}.companion-activity-launch svg{width:40px;height:40px}
@keyframes life-bubble-rise{to{transform:translateY(-150px);opacity:.15}}@keyframes life-wave{30%{transform:rotate(6deg)}70%{transform:rotate(-6deg)}}@keyframes life-pet-happy{50%{filter:drop-shadow(0 0 14px #ffa0df);transform:scale(1.035)}}
@media(max-width:380px){.companion-life-card{padding:66px 12px 14px;gap:12px}.life-actions{gap:8px}.life-action{padding:8px;min-height:105px}.life-tools{gap:8px}.life-tool-icon{width:40px;height:40px}.life-hub-hero>div{width:110px;height:110px}.life-hub-hero>span{font-size:19px}.life-hub-hero progress{width:130px}}
@media(prefers-reduced-motion:reduce){.life-wave>div,.life-happy,.life-party,.life-magic-bubble{animation:none}}

.companion-life-card>.life-speaker{display:grid;place-items:center;width:48px;height:48px;min-height:48px;padding:6px;box-sizing:border-box;border-radius:14px}.companion-life-card>.life-speaker .reward-object-icon{width:32px;height:32px}.companion-life-card .btn{font-size:16px;line-height:1.3;padding:12px 16px}.companion-life-card .life-back{order:9}

.life-pet{left:22%;bottom:5%;width:56%;height:84%}.life-bath .life-pet{bottom:5%;height:84%}.life-pet .home-companion-still,.life-pet .home-companion-gif{object-position:center bottom}
.life-bath.life-wet:before{content:'';position:absolute;left:44%;top:18%;width:27%;height:72%;z-index:3;pointer-events:none;background:repeating-linear-gradient(100deg,transparent 0 10px,#b1f5fc66 11px 13px,transparent 14px 21px);mask-image:linear-gradient(#000,#0004);animation:life-water-fall .4s linear infinite}
@keyframes life-water-fall{to{background-position:0 25px}}@media(prefers-reduced-motion:reduce){.life-bath.life-wet:before{animation:none}}

.life-floor-item{width:max(14%,44px);background:transparent;border-radius:10px}.life-floor-item>.life-prop-art,.life-drag-ghost>.life-prop-art{width:100%;height:100%;pointer-events:none;filter:drop-shadow(0 4px 3px #0007)}.life-basket>.life-prop-art{position:absolute;left:calc(50% - 16px);top:39px;width:32px;height:38px;pointer-events:none}.life-bath .life-pet{left:20%;width:60%;bottom:-7%;height:96%}

.life-pet .home-companion-fallback .cimg{object-position:center bottom}

/* The Nexo shower has an illustrated room, a grounded tray and separate tools. */
.life-shower-room{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.life-bath{background:#226f83}.life-bath:after{display:none}.life-shower-halo{position:absolute;left:23%;right:23%;bottom:0;height:16%;border-radius:50%;background:radial-gradient(ellipse,#c6feee90,#3aadc333 60%,transparent 72%);z-index:1;pointer-events:none}.life-shower-head{left:28%;top:-3%;width:30%;height:22%;border-color:#b7e8df;filter:drop-shadow(2px 3px 3px #05253680)}.life-shower-head:after{background:linear-gradient(#fff1b6,#d4ae53 50%,#7faeb5);height:19px}.life-bath-rim{left:21%;right:21%;bottom:-3%;height:12%;background:linear-gradient(#edfff8,#a4dfd6 40%,#4d91a1);border-color:#edfff7;box-shadow:0 5px 12px #092a4290}.life-designed-tool{filter:drop-shadow(0 3px 3px #06273a80);width:60px;height:60px}.life-tools button{min-height:100px;gap:10px}.life-tools b{font-size:12px}.life-care-actions{max-width:600px;margin:8px auto 12px}.feed-screen .life-care-actions{flex-shrink:0}.feed-screen .life-action{min-height:105px;color:#d8f8ff;font-family:inherit;box-sizing:border-box}.life-action[data-care-activity="bath"] .life-tool-icon{fill:#68d7e1}

.life-bath .life-pet{left:12%;width:76%;bottom:9%;height:84%}.life-scene .cimg{transform:none!important;animation:none!important}.life-bath-rim{height:9%;bottom:1%;left:18%;right:18%}

/* Lectomundo care art: generated 3D resources, transparent icons and touch effects. */
.life-shower-room{object-fit:cover;object-position:center;user-select:none}.life-bath .life-pet{left:17%;width:66%;bottom:12%;height:69%;transform-origin:50% 100%}.life-bath .life-shower-halo{bottom:10%;height:12%;left:23%;right:23%;background:radial-gradient(ellipse,#03132680,transparent 68%)}.life-bath.life-wet:before{display:none}.life-care-particles{position:absolute;inset:0;width:100%;height:100%;z-index:6;pointer-events:none}.life-designed-tool{object-fit:contain;filter:drop-shadow(0 4px 4px #020e2580);width:72px;height:72px;user-select:none}.life-care-actions .life-tool-icon{width:76px;height:76px}.life-care-actions .life-action{min-height:140px;background:radial-gradient(ellipse at 50% 30%,#265a72,#0a293f);border-color:#66dbe7;box-shadow:inset 0 2px 4px #b5f8ff24,0 5px 9px #0004}.life-care-actions .life-action:active{transform:scale(.96);box-shadow:inset 0 2px 7px #04132180}.life-care-actions .life-action b{font-size:13px;color:#e8fcff}.life-tools button{min-height:114px;background:radial-gradient(ellipse at top,#24556d,#0b293f);box-shadow:inset 0 2px 5px #b5f8ff22,0 5px 8px #020c2180}.life-tools .suggested,.life-tools .selected{background:linear-gradient(140deg,#ffe19b,#ffa536 65%,#da7315);box-shadow:inset 0 2px 3px #fff9,0 0 16px #ffb83d40}.life-tools b{font-size:12px;color:inherit}.effect-sponge{width:76px;height:76px;background:none;border:0;box-shadow:none;transform:translate(-50%,-50%) rotate(-16deg)}.effect-sponge img{width:100%;height:100%;object-fit:contain}.effect-water{background:none;filter:none}.effect-hearts:before,.effect-hearts:after{display:none}.life-bath-foam span{width:66px;height:55px;background:none;box-shadow:none;animation:life-foam-grow .3s ease-out both;transform-origin:center}.life-bath-foam span i{position:absolute;width:37px;height:37px;left:5px;top:7px;border-radius:50%;background:radial-gradient(circle at 30% 22%,#fff 0 15%,#f1fdff 40%,#bbe0e9 76%,#7eacbe);box-shadow:inset 0 -3px 5px #528dae55,0 2px 4px #09294340;border:1px solid #ffffffb0}.life-bath-foam span i:nth-child(2){left:27px;top:11px;width:33px;height:33px}.life-bath-foam span i:nth-child(3){left:20px;top:-2px;width:25px;height:25px}.life-bath-foam span i:nth-child(4){left:15px;top:31px;width:27px;height:27px}.life-bath-foam span i:nth-child(5){left:43px;top:30px;width:19px;height:19px}.life-bath-foam span.life-foam-rinsed{animation:life-foam-rinse .32s ease-out forwards}.life-scene .life-pet.life-bathing{animation:life-care-relax .9s ease-in-out infinite;transform-origin:50% 100%}.life-pet.life-clean{animation:life-clean-shine .8s ease-out 2;transform-origin:50% 100%}.life-bath-zone{width:22px;height:22px;border-color:#ffe4a3;background:#ffce5a15;box-shadow:0 0 8px #ffc45a77}.life-hub-hero:has(+.life-intro) .home-companion-sprite{filter:drop-shadow(0 8px 8px #0006)}
@keyframes life-foam-grow{from{opacity:0;scale:.35}to{opacity:1;scale:1}}@keyframes life-foam-rinse{to{opacity:0;translate:0 16px;scale:.55}}@keyframes life-care-relax{50%{transform:rotate(1deg) scale(1.015,.99)}}@keyframes life-clean-shine{50%{filter:brightness(1.2) drop-shadow(0 0 8px #a4f5eb)}}
@media(max-width:380px){.life-care-actions .life-tool-icon{width:60px;height:60px}.life-care-actions .life-action{min-height:120px}.life-designed-tool{width:60px;height:60px}.life-tools button{min-height:102px}}@media(prefers-reduced-motion:reduce){.life-bath-foam span,.life-scene .life-pet.life-bathing,.life-pet.life-clean{animation:none}.life-bath-foam span.life-foam-rinsed{opacity:0}}

.life-basket{min-width:0;box-sizing:border-box;overflow:hidden}.life-basket .life-tool-icon{width:min(64px,100%);height:64px}.life-basket>.life-prop-art{width:28px;height:33px;left:calc(50% - 14px)}

/* The shower is the play surface; the voice carries the long instructions. */
.companion-life-card.life-bath-card{width:min(1100px,100%);height:calc(100dvh - 16px);max-height:none;display:grid;grid-template-columns:1fr 2fr;grid-template-rows:44px minmax(120px,1fr) 24px 64px 5px 46px;gap:8px;padding:10px 12px 12px;overflow:hidden}.life-bath-card>h2{grid-column:1/-1;grid-row:1;align-self:center;padding-right:55px;font-size:18px;text-align:left}.life-bath-card>.life-speaker{top:9px;right:10px;width:44px;height:44px;min-height:44px}.life-bath-card .life-scene{grid-column:1/-1;grid-row:2;width:100%;height:100%;min-height:0;border-radius:17px}.life-bath-card .life-bath .life-pet{left:0;width:100%;bottom:12%;height:74%}.life-bath-card .life-bath-steps{grid-column:1/-1;grid-row:3;font-size:14px;align-items:center}.life-bath-card #life-step-help{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.life-bath-card .life-tools{grid-column:1/-1;grid-row:4;gap:8px;height:64px}.life-bath-card .life-tools button{flex-direction:row;min-height:44px;height:64px;padding:4px;gap:3px;justify-content:center;border-radius:13px;min-width:0;box-sizing:border-box}.life-bath-card .life-designed-tool{width:42px;height:42px}.life-bath-card .life-tools b{font-size:10px;line-height:1.15}.life-bath-card .life-meter{grid-column:1/-1;grid-row:5;margin:0;width:100%;height:5px}.companion-life-card.life-bath-card .life-next{grid-column:2;grid-row:6;height:46px;min-height:44px;font-size:13px;padding:6px 8px;width:100%;margin:0}.companion-life-card.life-bath-card .life-back{grid-column:1;grid-row:6;order:0;min-height:44px;height:46px;font-size:13px;padding:6px 8px;width:100%;margin:0}.life-bath-card:has(.life-next[hidden]) .life-back{grid-column:1/-1;width:150px;justify-self:center}.life-bath-card #life-bubbles{position:absolute;right:10px;top:10px;width:48px;height:48px;min-height:44px;padding:0;border-radius:15px;background:#092b43bb;border:2px solid #6adbe7;z-index:8;box-shadow:0 3px 8px #0006;touch-action:manipulation}.life-bath-card #life-bubbles i{position:absolute;left:7px;top:7px;width:18px;height:18px;border-radius:50%;border:1px solid #bdf9ff;background:radial-gradient(circle at 30% 23%,#fff 0 10%,#9decff70 25%,#4495c933 60%,#9edaffaa 95%)}.life-bath-card #life-bubbles i:nth-child(2){left:19px;top:18px;width:21px;height:21px}.life-bath-card #life-bubbles i:nth-child(3){left:7px;top:30px;width:10px;height:10px}.life-bath-card .life-finish{position:absolute;bottom:8px;left:10%;width:80%;z-index:10;padding:9px;background:#123e49e8;pointer-events:none}.life-bath-card .life-finish b{font-size:18px;margin:0}.life-bath-card .life-finish p{font-size:12px;margin:3px 0 0}
@media(max-width:380px){.companion-life-card.life-bath-card{padding:9px 8px 10px;gap:6px;grid-template-rows:44px minmax(120px,1fr) 22px 60px 5px 44px}.life-bath-card>h2{font-size:16px}.life-bath-card .life-tools,.life-bath-card .life-tools button{height:60px}.life-bath-card .life-tools button{flex-direction:column;gap:0}.life-bath-card .life-designed-tool{width:36px;height:36px}.life-bath-card .life-tools b{font-size:9px}}
@media(max-height:500px) and (min-width:600px){.companion-life-card.life-bath-card{grid-template-columns:minmax(0,1fr) 190px;grid-template-rows:38px 24px 64px 5px 44px minmax(44px,1fr);gap:6px}.life-bath-card .life-scene{grid-column:1;grid-row:2/7}.life-bath-card .life-bath-steps{grid-column:2;grid-row:2}.life-bath-card .life-tools{grid-column:2;grid-row:3;gap:4px}.life-bath-card .life-tools button{flex-direction:column;gap:0}.life-bath-card .life-designed-tool{width:38px;height:38px}.life-bath-card .life-tools b{font-size:8px}.life-bath-card .life-meter{grid-column:2;grid-row:4}.companion-life-card.life-bath-card .life-next{grid-column:2;grid-row:5;font-size:11px}.companion-life-card.life-bath-card .life-back,.life-bath-card:has(.life-next[hidden]) .life-back{grid-column:2;grid-row:6;width:100%;align-self:end}.life-bath-card .life-bath .life-pet{left:15%;width:70%;height:74%}}

.life-bath-card .life-tools button{flex-direction:column;gap:0}.life-bath-card .life-tools b{letter-spacing:0}

.life-dirt-layer{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;transition:opacity .35s ease}.life-hub-hero>div,.feed-screen #pet{position:relative}.life-needs-bath .cimg,.life-needs-bath .home-companion-gif{filter:brightness(.92) saturate(.88)}canvas.life-bath-foam{width:100%;height:100%;pointer-events:none;z-index:4}.life-bath-card .life-back{grid-column:1/-1!important;width:170px!important;justify-self:center}.life-bath-card .life-bath-zone{border-style:dotted;opacity:.65}.life-basket{height:100px;display:grid;place-items:center;padding:9px}.life-basket-art{position:relative;width:min(72px,100%);height:72px}.life-basket-art>.life-tool-icon{width:100%;height:100%;object-fit:contain}.life-basket-art>.life-prop-art{position:absolute;right:0;top:-2px;width:29px;height:32px;box-sizing:content-box;padding:3px;border:2px solid #83e6ef;border-radius:10px;background:#092c43e8;filter:drop-shadow(0 2px 3px #0007);pointer-events:none}.life-tidy-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:12px;order:9;align-items:stretch}.companion-life-card .life-tidy-footer .btn{margin:0;width:100%;min-width:0;min-height:52px;height:auto;padding:8px 6px;font-size:12px;line-height:1.2;letter-spacing:0;box-sizing:border-box}.life-tidy-footer:not(:has(#life-tidy-help)){grid-template-columns:1fr}.life-tidy-footer:not(:has(#life-tidy-help)) .life-back{max-width:220px;justify-self:center}.life-tidy-card .life-tidy-count{margin:0}

.title-creature,#psvg{position:relative}.life-grime-effects{position:absolute;inset:0;z-index:4;pointer-events:none}.life-flies{position:absolute;inset:15% 8% 12%}.life-flies i{position:absolute;left:6%;top:26%;width:5px;height:8px;border-radius:50%;background:linear-gradient(#756b57,#201d17);box-shadow:0 1px 2px #0007;animation:life-fly-orbit 2.4s linear infinite}.life-flies i:before,.life-flies i:after{content:'';position:absolute;top:-2px;left:-4px;width:6px;height:4px;border-radius:50%;background:#e7f3ffbb;transform:rotate(-25deg)}.life-flies i:after{left:3px;transform:rotate(25deg)}.life-flies i:nth-child(2){left:87%;top:38%;animation-delay:-.8s}.life-flies i:nth-child(3){left:70%;top:8%;animation-delay:-1.6s}.life-odor{position:absolute;left:27%;right:27%;bottom:22%;height:35%;opacity:.6}.life-odor i{position:absolute;bottom:0;left:10%;width:13px;height:60%;border-left:3px solid #a0b675aa;border-radius:50%;filter:blur(1px);animation:life-odor-rise 2.8s ease-out infinite}.life-odor i:nth-child(2){left:45%;animation-delay:-1s}.life-odor i:nth-child(3){left:80%;animation-delay:-2s}@keyframes life-fly-orbit{25%{translate:8px -9px;rotate:35deg}50%{translate:17px 3px;rotate:110deg}75%{translate:-4px 12px;rotate:210deg}}@keyframes life-odor-rise{from{translate:0 8px;opacity:0}40%{opacity:.65}to{translate:7px -28px;opacity:0}}@media(prefers-reduced-motion:reduce){.life-flies i,.life-odor i{animation:none}.life-odor{opacity:.3}}

.life-bath-card .life-tools button.hintpulse:not(.selected){animation:none!important;border-color:#67c9d8;background:radial-gradient(ellipse at top,#24556d,#0b293f);color:#bdeef8}

.life-care-done{opacity:.62;border-color:#688d9c;background:#173447}.life-care-done small{color:#c8e5ed}.life-sad-face{position:absolute;z-index:5;pointer-events:none}.life-sad-face svg{display:block;width:100%;height:100%;overflow:visible}.life-sad .cimg,.life-sad .home-companion-gif{filter:brightness(.88) saturate(.75)}.life-sad .home-companion-aura,.life-sad .element-aura{opacity:.25}.life-arcade-card{width:100%;max-width:none;height:calc(100dvh - 8px);padding:3px;gap:3px;border-radius:12px}.life-arcade-card>button{min-height:44px;height:44px;font-size:12px;padding:5px 10px;align-self:flex-start;width:auto}.companion-life-overlay:has(.life-arcade-card){padding:4px;overflow:hidden}

@media(max-height:420px){.life-arcade-card>button{height:36px;min-height:36px;font-size:11px}}

.life-light-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;padding:10px;border:1px solid #4d8f9f;border-radius:16px;box-sizing:border-box}.life-light-picker button{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;min-height:48px;border:2px solid #377e96;border-radius:13px;background:#102f44;color:#d6f4fc;font:inherit;font-size:10px;font-weight:800;padding:6px}.life-light-picker button.selected{border-color:#ffe5a4;box-shadow:0 0 10px #ffd46c55}.life-light-picker button.locked{opacity:.42}.life-light-picker small{width:100%;font-size:9px}.life-light-picker i{width:22px;height:22px;border-radius:50%;background:var(--swatch);box-shadow:0 0 10px var(--swatch);flex-shrink:0}.life-light-picker i.rainbow{background:conic-gradient(#ff9595,#ffe285,#a0ed94,#87dcff,#b9a0ff,#ff9595)}.life-light-picker i.aurora{background:linear-gradient(135deg,#86f7ca,#a696ff,#88efff)}.life-golden-light,.life-golden-home,.bond-aura{filter:drop-shadow(0 0 12px var(--life-light-color,#ffd664));animation:var(--life-light-animation,none) 8s ease-in-out infinite}.life-hub-hero.life-golden-light{filter:none;animation:none}.life-hub-hero.life-golden-light>div{filter:drop-shadow(0 0 12px var(--life-light-color,#ffd664));animation:var(--life-light-animation,none) 8s ease-in-out infinite}@keyframes life-rainbow{0%,100%{filter:drop-shadow(0 0 14px #ff9292)}20%{filter:drop-shadow(0 0 14px #ffdb77)}40%{filter:drop-shadow(0 0 14px #94eeae)}60%{filter:drop-shadow(0 0 14px #87dbff)}80%{filter:drop-shadow(0 0 14px #c4a1ff)}}@keyframes life-aurora{0%,100%{filter:drop-shadow(0 0 14px #89f4d4)}50%{filter:drop-shadow(0 0 18px #b59bff)}}@media(prefers-reduced-motion:reduce){.life-golden-light,.life-golden-home,.bond-aura,.life-hub-hero.life-golden-light>div{animation:none}}body.reduce-motion .life-golden-light,body.reduce-motion .life-golden-home,body.reduce-motion .bond-aura,body.reduce-motion .life-hub-hero.life-golden-light>div{animation:none}

.title-creature.bond-aura,.title-creature.life-golden-home{filter:drop-shadow(0 0 12px var(--life-light-color,#ffd664))}

/* Friendship opens with the companion and three illustrated game choices. */
.companion-life-card.life-bond-card{width:min(760px,100%);padding:64px 14px 14px;gap:12px}.life-bond-card h2{font-size:clamp(18px,4.8vw,26px)}.life-bond-card .life-bond-scene{position:relative;isolation:isolate;height:clamp(220px,30dvh,280px);border:1px solid #508da1;border-radius:20px;overflow:hidden;background:var(--life-room) center/cover;display:block}.life-bond-card .life-bond-scene>div{position:absolute;left:12%;bottom:23%;width:76%;height:76%}.life-bond-scene>div>.creature3d,.life-bond-scene>div>.home-companion-sprite{width:100%;height:100%;display:block}.life-bond-card .life-bond-scene>span{position:absolute;left:12px;bottom:10px;right:12px;display:grid;grid-template-columns:32px auto 1fr;align-items:center;gap:8px;border:1px solid #72b7c8;border-radius:14px;background:#08243ee8;padding:6px 10px;font-size:13px;z-index:7;filter:none}.life-bond-scene>span>img{width:32px;height:32px;object-fit:contain}.life-bond-scene progress{width:100%;height:9px;accent-color:#ffc766}.life-bond-card h3{font-size:17px;margin:0}.life-bond-card .life-game-buttons{gap:9px}.life-bond-card .life-game-choice{display:grid;grid-template-columns:76px minmax(0,1fr) 21px;align-items:center;text-align:left;gap:9px;min-height:86px;padding:6px 10px 6px 6px;margin:0;box-sizing:border-box;border-radius:16px;letter-spacing:0}.life-game-copy{display:grid;gap:5px;min-width:0}.life-game-copy>b{font-size:12px;line-height:1.25}.life-game-copy>small{font-size:9px;line-height:1.2}.life-game-go{font-size:17px}.life-game-art{position:relative;display:block;width:76px;height:70px;overflow:hidden;border:1px solid #d6e8d680;border-radius:12px;background:url('/img/braskar-arcade-court-v1.webp') center/cover}.life-game-art-runner{background-image:url('/img/scene-bosque.jpg')}.life-game-art-memory{background-image:url('/img/room-bg-stars-v1.webp')}.life-game-art>img{position:absolute;left:3px;bottom:2px;width:60px;height:65px;object-fit:contain}.life-game-ball{position:absolute;right:3px;bottom:6px;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 28% 22%,#fff5bd,#ffd14d 40%,#429fd2 42%,#2686b4 70%,#ffa339 72%);box-shadow:0 2px 5px #0007}.life-game-crystal{position:absolute;right:4px;top:16px;width:17px;height:28px;background:linear-gradient(135deg,#dcfcff,#6ad9f4 45%,#339ac0 46%,#b8f5ff);clip-path:polygon(50% 0,100% 40%,65% 100%,25% 90%,0 35%);filter:drop-shadow(0 0 5px #8ef5ff)}.life-game-cards{position:absolute;right:4px;bottom:8px;width:23px;height:30px;border:2px solid #ffe7a5;border-radius:4px;background:#15436a;rotate:12deg;box-shadow:-5px -3px 0 #216788}.life-game-cards>img{width:100%;height:100%;object-fit:contain}.life-game-choice.btn-s .life-game-art{filter:saturate(.4);opacity:.65}.life-skills{width:100%;border:1px solid #4a97ab;border-radius:16px;background:#102e43;box-sizing:border-box}.life-skills>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:12px;min-height:48px;box-sizing:border-box;cursor:pointer;color:#b7f3ff;font-size:12px}.life-skills>summary::-webkit-details-marker{display:none}.life-skills>summary>.life-tool-icon{width:30px;height:30px}.life-expand-mark{margin-left:auto;font-size:23px}.life-skills[open] .life-expand-mark{rotate:45deg}.life-skills>.life-actions{padding:0 10px 10px;box-sizing:border-box}.life-skills>.life-light-picker{width:calc(100% - 20px);margin:0 10px 10px}.life-bond-card .life-roadmap{font-size:11px;border-width:1px;padding:10px}.life-bond-card .life-roadmap summary{font-size:11px}.life-bond-card>.life-back{width:100%;max-width:300px;min-height:48px}.life-bond-card .life-bond-scene.life-golden-light>div{filter:drop-shadow(0 0 12px var(--life-light-color));animation:var(--life-light-animation,none) 8s ease-in-out infinite}@media(min-width:700px) and (min-height:600px){.life-bond-card .life-game-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.life-bond-card .life-game-choice{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:9px}.life-bond-card .life-game-art{width:100%;height:115px}.life-bond-card .life-game-art>img{left:12%;width:75%;height:105px}.life-bond-card .life-game-go{display:none}.life-game-copy>b{font-size:13px}}@media(max-height:450px) and (min-width:600px){.companion-life-card.life-bond-card{display:grid;grid-template-columns:38% minmax(0,1fr);padding:12px;gap:10px}.life-bond-card>h2{grid-column:1;font-size:17px;padding-right:0}.life-bond-card .life-bond-scene{grid-column:1;height:220px;grid-row:2/5}.life-bond-card>h3{grid-column:2;padding-right:50px;grid-row:1;align-self:center}.life-bond-card .life-game-buttons{grid-column:2;grid-row:2/5}.life-bond-card .life-game-choice{min-height:68px;grid-template-columns:55px minmax(0,1fr) 15px;padding:5px;gap:6px}.life-bond-card .life-game-art{width:55px;height:55px}.life-bond-card .life-game-art>img{width:44px;height:52px}.life-bond-card .life-skills,.life-bond-card .life-roadmap,.life-bond-card>.life-back{grid-column:1/-1}.life-bond-card .life-back{justify-self:center}}@media(prefers-reduced-motion:reduce){.life-bond-card .life-bond-scene.life-golden-light>div{animation:none}}body.reduce-motion .life-bond-card .life-bond-scene.life-golden-light>div{animation:none}

.life-game-go svg{width:18px;height:23px;display:block}.life-bond-close{position:absolute;left:12px;top:12px;width:46px;height:46px;padding:10px;border:2px solid #65bed0;border-radius:14px;background:#0c3048;color:#b6f3fc;cursor:pointer;z-index:9}.life-bond-close svg{width:100%;height:100%}@media(max-height:450px) and (min-width:600px){.life-bond-card>h2{padding-left:48px;font-size:15px}}

.life-bond-card>*{flex-shrink:0}

/* Keep the companion large enough to wash without covering the shower room. */
.life-bath-card .life-bath .life-pet{left:8%;width:84%;height:70%}
@media(max-height:500px) and (min-width:600px){.life-bath-card .life-bath .life-pet{left:15%;width:70%;height:74%}}

.life-dirty-care-notice{position:fixed;z-index:1800;right:10px;bottom:max(104px,calc(env(safe-area-inset-bottom) + 94px));display:flex;align-items:center;gap:9px;max-width:min(250px,65vw);padding:9px 12px 9px 8px;border:2px solid #ffd66e;border-radius:16px;background:linear-gradient(145deg,#194964f2,#071d34f5);box-shadow:0 0 18px #ffce5266,0 7px 18px #0009;color:#fff;text-align:left;pointer-events:none;animation:life-dirty-notice-in .35s ease-out both}.life-dirty-care-notice .life-designed-tool{width:48px;height:48px;flex:0 0 48px}.life-dirty-care-notice span{display:grid;gap:2px}.life-dirty-care-notice b{font-size:12px;line-height:1.2;color:#ffe092}.life-dirty-care-notice small{font-size:10px;font-weight:900;color:#baf5ff}@keyframes life-dirty-notice-in{from{opacity:0;transform:translateY(15px) scale(.9)}}@media(prefers-reduced-motion:reduce){.life-dirty-care-notice{animation:none}}
