/* URBI V8 · visual quality, clean single-arm animation & mobile ergonomics */
:root{--urbi-ink:#183b59;--urbi-accent:#038ad7;--urbi-outline:#c8e2f4}
/* The base torso has no static right arm; this is now the only waving arm. */
.pet .arm-right{transform-origin:184px 180px;will-change:transform;backface-visibility:hidden}
.pet.waving .arm-right{animation:v8-arm-wave 1.55s cubic-bezier(.33,.08,.35,1) 1 both!important}
@keyframes v8-arm-wave{0%,100%{transform:rotate(0deg)}18%{transform:rotate(-42deg)}32%{transform:rotate(-66deg)}47%{transform:rotate(-46deg)}60%{transform:rotate(-67deg)}78%{transform:rotate(-37deg)}}
/* Disallow movement when reduced motion is on, but retain the greeting text. */
body.reduce .pet.waving .arm-right{animation:none!important}
@media(prefers-reduced-motion:reduce){.pet.waving .arm-right{animation:none!important}}
/* Motion feedback is one asset and an overlay, never a second limb. */
.v8-action-fx{position:absolute;top:47%;left:60%;font-size:50px;opacity:0;transform:translate(-50%,-50%) scale(.6);z-index:9;pointer-events:none;filter:drop-shadow(0 8px 16px #5c9ccb55)}
.v8-action-fx.active{animation:v8-fx 1.2s ease-out both}
@keyframes v8-fx{0%{opacity:0;transform:translate(-50%,5%) scale(.5)}20%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-130%) scale(1.3)}}
/* Modern chat presentation */
.chat-heading{align-items:center}.chat-heading strong{letter-spacing:-.025em}
.messages{scrollbar-color:#b2d8ee transparent;scrollbar-width:thin}
.msg{max-width:92%;line-height:1.5;border-radius:15px!important}
.msg.user{border-bottom-right-radius:5px!important}
.v8-helper{display:flex;gap:8px;flex-wrap:wrap;align-items:center;background:linear-gradient(112deg,#eff9ff,#f5f8ff);border:1px solid #e0edf8;border-radius:14px;padding:10px;margin-top:4px}
.v8-helper small{color:#537995;font-weight:750;font-size:10px;width:100%}
.v8-helper button{background:white;border:1px solid #cce4f6;padding:8px 10px;border-radius:11px;color:#20618d;font-size:11px;font-weight:760}
.v8-helper button:focus-visible,.v8-todo-controls button:focus-visible{outline:3px solid #0095e0;outline-offset:2px}
.v8-todo-hub{background:linear-gradient(135deg,#f5fcff,#eaf5ff);border:1px solid #d4e9f7;border-radius:20px;padding:16px;margin:15px 0 18px;color:var(--urbi-ink)}
.v8-todo-hub h3{font-size:17px;margin:0 0 5px}.v8-todo-hub p{font-size:12px;margin:0 0 11px;color:#66849b;line-height:1.5}
.v8-todo-controls{display:flex;gap:7px}.v8-todo-controls input{min-width:0;flex:1;border:1px solid #cde3f0;border-radius:12px;padding:11px;font-size:13px;background:#fff;color:#133f60}
.v8-todo-controls button{background:linear-gradient(135deg,#087de4,#00b7e6);color:#fff;border:0;border-radius:12px;padding:11px 14px;font-weight:800}
.v8-todo-list{list-style:none;padding:0;margin:11px 0 0;display:grid;gap:6px;max-height:230px;overflow:auto}
.v8-todo-list li{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e3eef6;padding:10px;border-radius:12px;color:#215071}
.v8-todo-list input{width:17px;height:17px;flex:none;accent-color:#0396df}
.v8-todo-list span{font-size:12px;flex:1;overflow-wrap:anywhere}.v8-todo-list li.done span{text-decoration:line-through;color:#8a9db0}
.v8-todo-list button{background:#f1f7fb;border:0;border-radius:8px;padding:5px 9px;color:#577a99}
.v8-local-status{font-size:10px;line-height:1.4;color:#5d819e;margin-top:7px}
.v8-quiet-tip{font-size:10px;color:#46718f;margin:9px 2px 0}
/* Fix floating want card clipping caused by a legacy translateX(-50%). */
@media(max-width:720px){
 .want-card{transform:none!important;left:14px!important;right:14px!important;top:auto!important;bottom:169px!important;width:auto!important;max-width:none!important;min-height:53px;box-sizing:border-box;box-shadow:0 8px 32px #1261a329!important}
 .want-card strong{max-width:none!important;font-size:12px!important}
 .want-card .want-icon{flex-shrink:0}
 .want-card>div{min-width:0;flex:1}
 .want-card button{flex-shrink:0}
 .v8-action-fx{top:50%;left:65%;font-size:38px}
 .pet{top:43%!important;--pet-scale:1.07!important}
 .care-dock{bottom:100px!important}
 .conversation{gap:9px}
 body.v7-chat-open .conversation{height:min(84dvh,780px)!important;max-height:calc(100dvh - env(safe-area-inset-top))!important;padding-top:24px!important}
 .v8-helper{padding:8px;gap:5px}
 .v8-helper button{padding:7px 8px;font-size:10px}
 body.v7-chat-open .conversation .messages{min-height:100px!important}
 .v7-phone-dock{box-shadow:0 5px 26px #1a668e26}
 .v7-chat-launcher{background:linear-gradient(135deg,#0585ec,#00c4e7)!important}
 .hello{left:18px!important}.hello h1{font-size:22px!important}
}
@media(max-width:390px){.want-card{bottom:157px!important;left:12px!important;right:12px!important}.pet{--pet-scale:1.0!important}.care-dock{bottom:94px!important}}
@media(max-height:710px) and (max-width:720px){.want-card{bottom:145px!important}.pet{top:40%!important;--pet-scale:.86!important}}
