/* URBI V9 · escenas específicas de cuidado, basadas en CSS sin imágenes duplicadas. */
.urbi-action-scene[hidden]{display:none!important}
.urbi-action-scene{position:absolute;inset:0;z-index:8;pointer-events:none;overflow:hidden;isolation:isolate}
.urbi-scene-art{position:absolute;left:50%;top:43%;width:min(380px,86vw);height:min(440px,56dvh);transform:translate(-50%,-50%);pointer-events:none}
.urbi-scene-bar{position:absolute;z-index:2;left:50%;bottom:clamp(178px,23dvh,235px);transform:translateX(-50%);width:min(475px,calc(100vw - 34px));display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #bee9fb;border-radius:18px;background:rgba(255,255,255,.95);box-shadow:0 12px 44px #287aac2c;backdrop-filter:blur(14px);padding:12px;pointer-events:auto}
.urbi-scene-message{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;color:#153f70}
.urbi-scene-message strong{font-size:14px;letter-spacing:-.02em}.urbi-scene-message small{color:#527c97;font-size:11px;line-height:1.35}
.urbi-scene-controls{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:56%}
.urbi-scene-controls button{border-radius:12px;border-color:#b8e4fa;background:#e9f9ff;color:#006baa;font-size:11px;line-height:1.2;padding:9px 10px;font-weight:800}
.urbi-scene-controls button:hover{background:#cbf4ff}
.urbi-scene-close{border:0!important;background:transparent!important;border-radius:12px!important;padding:8px!important;color:#47738f!important;font-weight:900;font-size:16px}
.urbi-shower{position:absolute;left:43%;top:-2%;height:96px;width:125px;z-index:15;transform:rotate(-14deg);filter:drop-shadow(0 9px 12px #00a2eb55)}
.urbi-shower svg{width:100%;height:100%}
.urbi-shower-drops{position:absolute;left:17%;right:8%;top:17%;height:76%;z-index:20}
.urbi-drop{position:absolute;left:var(--x);top:2%;height:23px;width:7px;border-radius:70% 70% 80% 80%;background:linear-gradient(#84f7ff,#14a4ed);box-shadow:0 3px 10px #71cdec80;animation:urbi-falling 1.25s linear infinite;animation-delay:var(--d)}
@keyframes urbi-falling{0%{opacity:0;transform:translateY(-25px) scale(.75)}15%{opacity:.8}90%{opacity:.85}100%{opacity:0;transform:translateY(240px) scale(1)}}
.urbi-shower-foam{position:absolute;inset:12% 10% 8% 10%;z-index:21;opacity:.35;transition:opacity .25s}
.urbi-soapy .urbi-shower-foam{opacity:1}
.urbi-foam{position:absolute;left:var(--x);top:var(--y);height:23px;width:23px;border:3px solid #fff;border-radius:50%;background:radial-gradient(circle at 35% 25%,#fff 10%,#a8efff96 48%,#c9daffb0 100%);box-shadow:0 2px 9px #458ee43d;animation:urbi-foam-float 2.5s ease-in-out infinite;animation-delay:var(--d)}
@keyframes urbi-foam-float{50%{transform:translateY(-18px) scale(1.16)}}
.urbi-star{position:absolute;font-size:27px;color:#36d6fc;filter:drop-shadow(0 5px 8px #0b9bd78c);animation:urbi-twinkle 1.4s ease-in-out infinite}
.star-a{left:17%;top:38%}.star-b{left:80%;top:27%;animation-delay:.25s}.star-c{left:73%;top:75%;animation-delay:.7s}.star-d{left:38%;top:17%;animation-delay:.4s}
@keyframes urbi-twinkle{50%{transform:scale(1.55) rotate(22deg);opacity:.38}}
.urbi-wave-rings{position:absolute;inset:12% 8%;display:grid;place-items:center}
.urbi-wave-rings i{position:absolute;width:69%;aspect-ratio:1;border:4px solid #50c9ff7a;border-radius:50%;animation:urbi-ring 1.5s ease-out infinite}
.urbi-wave-rings i+i{animation-delay:.55s}
@keyframes urbi-ring{0%{opacity:.85;transform:scale(.7)}100%{opacity:0;transform:scale(1.25)}}
.urbi-ball{position:absolute;top:27%;left:13%;z-index:22;font-size:65px;transform-origin:50% 100%;filter:drop-shadow(0 9px 8px #146dbb44);animation:urbi-throw 2.4s cubic-bezier(.34,.09,.32,1) infinite}
.urbi-ball.relaunch{animation:urbi-throw 2.1s cubic-bezier(.34,.09,.32,1) infinite}
@keyframes urbi-throw{0%{transform:translate(0,120px) rotate(-40deg)}30%{transform:translate(110px,-62px) rotate(35deg)}55%{transform:translate(195px,95px) rotate(94deg)}75%{transform:translate(135px,8px) rotate(150deg)}100%{transform:translate(0,120px) rotate(320deg)}}
.urbi-meal,.urbi-drink{position:absolute;z-index:20;left:50%;top:37%;font-size:76px;filter:drop-shadow(0 15px 10px #1358a34d);animation:urbi-feed 2.5s ease-in-out both}
.urbi-plate{position:absolute;top:58%;left:51%;width:120px;height:26px;border:8px solid #ecfeff;background:#a5eafd80;box-shadow:0 3px 0 #3e90c5;border-radius:50%;z-index:19;animation:urbi-feed 2.5s ease-in-out both}
.urbi-yummy{position:absolute;top:28%;left:68%;font-size:21px;letter-spacing:7px;color:#ff7b9b;animation:urbi-yummy 2.2s infinite}
@keyframes urbi-feed{0%{opacity:0;transform:translate(100px,100px) scale(.55) rotate(15deg)}25%{opacity:1}65%{transform:translate(-58px,-40px) scale(.7)}80%{opacity:1}100%{opacity:0;transform:translate(-74px,-54px) scale(.18)}}
@keyframes urbi-yummy{0%,100%{opacity:0;transform:translateY(10px)}45%{opacity:1;transform:translateY(-20px)}}
.urbi-sleep-stars span{position:absolute;color:#fff096;font-size:27px;animation:urbi-twinkle 2s infinite}.urbi-sleep-stars span:nth-child(1){top:12%;left:21%}.urbi-sleep-stars span:nth-child(2){top:25%;left:85%;animation-delay:.4s}.urbi-sleep-stars span:nth-child(3){top:53%;left:12%;animation-delay:.9s}
.urbi-sleep-moon{position:absolute;z-index:20;right:7%;top:2%;font-size:52px;animation:urbi-foam-float 4s infinite}
.urbi-sleep-blanket{position:absolute;z-index:22;left:21%;right:18%;bottom:8%;height:39%;background:linear-gradient(130deg,#96bdfc,#766ee3);border:5px solid #cfddff;border-radius:46% 46% 17% 17%;transform:rotate(-3deg);box-shadow:inset 0 -15px 29px #3a6ab136,0 14px 18px #3169a63a;animation:urbi-blanket-breathe 2.7s infinite}
.urbi-sleep-blanket span{position:absolute;right:22%;top:37%;width:56px;height:35px;border-radius:50%;background:#c9e4ff70;transform:rotate(-14deg)}
.urbi-sleep-zzz{position:absolute;z-index:23;top:0;left:62%;color:#456ac8;font-size:32px;font-weight:900;letter-spacing:10px;animation:urbi-foam-float 2.5s infinite}
@keyframes urbi-blanket-breathe{50%{transform:rotate(-3deg) scaleY(1.025)}}
.urbi-waking .urbi-sleep-blanket,.urbi-waking .urbi-sleep-zzz,.urbi-waking .urbi-sleep-moon{opacity:0;transition:opacity .45s}
@media(max-width:720px){
 .urbi-scene-art{top:43%;width:min(330px,86vw);height:min(350px,48dvh)}
 .urbi-scene-bar{bottom:158px;width:calc(100vw - 30px);padding:10px 8px;gap:7px}
 .urbi-scene-message strong{font-size:12px}.urbi-scene-message small{font-size:10px}
 .urbi-scene-controls{max-width:52%;gap:4px}.urbi-scene-controls button{font-size:10px;padding:8px}
 .urbi-scene-close{padding:6px!important}
 .urbi-shower{height:72px;width:90px;top:0;left:44%}.urbi-drop{height:18px;width:6px}
 .urbi-meal,.urbi-drink{font-size:55px}.urbi-ball{font-size:48px}
 .urbi-sleep-blanket{bottom:8%}
}
@media(max-height:690px) and (max-width:720px){.urbi-scene-bar{bottom:140px}.urbi-scene-art{top:42%;height:43dvh}}
@media(prefers-reduced-motion:reduce){.urbi-action-scene *{animation:none!important;transition:none!important}.urbi-drop,.urbi-foam{opacity:.75!important}.urbi-ball{transform:translate(60px,90px)!important}}
body.reduce .urbi-action-scene *{animation:none!important;transition:none!important}body.reduce .urbi-drop,body.reduce .urbi-foam{opacity:.75!important}body.reduce .urbi-ball{transform:translate(60px,90px)!important}

/* Hide non-interactive want prompt while the user is taking care of URBI. */
body.urbi-care-active .want-card{visibility:hidden!important;pointer-events:none!important}

body.urbi-care-active .bubble{visibility:hidden!important}
