/* The existing HTML robot, colored to match the sidebar logo. */
.life-robot{
  --robot-state:#85efff;
  --robot-shell:#171758;
  --robot-shell-deep:#0b1034;
  --robot-face:#090d2a;
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:80;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
  pointer-events:none;
}

.life-robot__button,.life-robot__panel,.life-robot__help{pointer-events:auto}
.life-robot__reply[hidden]{display:none!important}
.life-robot__reply{position:relative;box-sizing:border-box;max-width:min(320px,calc(100vw - 36px));min-width:170px;display:flex;align-items:flex-start;gap:8px;padding:12px 12px 12px 14px;border:1px solid rgba(255,96,112,.48);border-radius:16px;background:linear-gradient(145deg,rgba(38,26,39,.97),rgba(17,20,34,.97));box-shadow:0 17px 39px rgba(0,0,0,.4),0 0 24px rgba(255,62,84,.15);color:#fff2f4;font-size:12px;line-height:1.45;overflow-wrap:anywhere;pointer-events:auto;animation:lifeRobotReplyIn .28s cubic-bezier(.2,.8,.2,1) both}
.life-robot__reply::after{content:"";position:absolute;right:28px;bottom:-7px;width:12px;height:12px;transform:rotate(45deg);border-right:1px solid rgba(255,96,112,.48);border-bottom:1px solid rgba(255,96,112,.48);background:rgba(25,22,34,.97)}
.life-robot__reply>span{min-width:0;flex:1}.life-robot__reply-close{flex:none;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.07);color:#ffbdc6;font:18px/1 sans-serif;cursor:pointer}.life-robot__reply-close:hover{background:rgba(255,255,255,.15);color:#fff}.life-robot__reply-close:focus-visible{outline:2px solid #ff9ba9;outline-offset:2px}
.life-agent-message-action{align-self:center;flex:none;padding:6px 10px;border:1px solid rgba(255,255,255,.45);border-radius:9px;background:rgba(255,255,255,.14);color:#fff;font:700 11px "Manrope",sans-serif;cursor:pointer}.life-agent-message-action:hover{background:rgba(255,255,255,.24)}.life-agent-message-action:focus-visible{outline:2px solid #fff;outline-offset:2px}
@keyframes lifeRobotReplyIn{from{opacity:0;transform:translateY(9px) scale(.96)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.life-robot__reply{animation:none}}
.life-robot__help{position:absolute;right:75px;bottom:13px;z-index:2;display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid rgba(184,203,234,.35);border-radius:50%;background:rgba(18,24,36,.84);color:#e9effa;font:700 15px/1 "Manrope",sans-serif;box-shadow:0 8px 20px rgba(0,0,0,.24);cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.life-robot__help:hover{transform:translateY(-2px);background:rgba(46,57,77,.94);border-color:rgba(184,203,234,.7)}
.life-robot__help:focus-visible{outline:2px solid var(--robot-state);outline-offset:3px}
.life-robot__head .life-robot__help{position:static;flex:0 0 28px;width:28px;height:28px;margin-left:auto;box-shadow:none}
.life-robot__head .life-robot__close{flex:0 0 auto}

.life-robot__button{
  position:relative;
  width:80px;
  height:108px;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
  filter:drop-shadow(0 17px 18px rgba(0,0,0,.38));
  transition:transform .22s ease,filter .22s ease;
}
.life-robot__button:hover{transform:translateY(-4px) rotate(-1.5deg);filter:drop-shadow(0 22px 22px rgba(0,0,0,.46))}
.life-robot__button:focus-visible{outline:2px solid var(--robot-state);outline-offset:5px;border-radius:24px}

.life-guide-robot{
  --robot-violet:#7650f5;
  --robot-violet-soft:#bc7cf6;
  --robot-blue:#85efff;
  --robot-glass:rgba(9,13,42,.74);
  position:relative;
  display:block;
  width:78px;
  height:108px;
  opacity:.9;
  filter:drop-shadow(0 6px 8px rgba(0,0,0,.48));
  transform-origin:center bottom;
  animation:lifeGuideRobotBreathe 3.4s ease-in-out infinite;
}
.life-guide-robot__aura{
  position:absolute;
  left:50%;
  top:38%;
  width:78px;
  height:78px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(133,239,255,.18) 0%,rgba(118,80,245,.1) 44%,transparent 72%);
  transform:translate(-50%,-50%);
  animation:glassRobotAura 3.5s ease-in-out infinite;
  pointer-events:none;
}
.life-guide-robot__antenna{
  position:absolute;
  left:50%;
  top:0;
  width:3px;
  height:17px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(255,255,255,.15),var(--robot-blue),rgba(255,255,255,.2));
  box-shadow:0 0 6px rgba(133,239,255,.8);
  transform:translateX(-50%);
  transform-origin:50% 100%;
}
.life-guide-robot__antenna i{
  position:absolute;
  left:50%;
  top:-7px;
  width:10px;
  height:10px;
  border:2px solid var(--robot-violet-soft);
  border-radius:50%;
  background:radial-gradient(circle at 40% 35%,#fff 0%,#a9f7ff 18%,#6ac9ff 39%,var(--robot-violet) 62%,var(--robot-face) 78%);
  box-shadow:0 0 6px var(--robot-blue),0 0 13px rgba(118,80,245,.7);
  transform:translateX(-50%);
}
.life-guide-robot__side-tail{position:absolute;z-index:0;left:0;top:31px;width:13px;height:24px;border:1px solid var(--robot-violet-soft);border-radius:10px 5px 5px 10px;background:radial-gradient(ellipse at 35% 35%,rgba(133,239,255,.4),transparent 60%),linear-gradient(135deg,#4132aa,var(--robot-shell-deep));box-shadow:inset 2px 1px 3px rgba(255,255,255,.24),0 0 6px rgba(118,80,245,.35)}
.life-guide-robot__side-tail::before{content:"";position:absolute;left:63px;top:-1px;width:13px;height:24px;border:1px solid var(--robot-violet-soft);border-radius:5px 10px 10px 5px;background:radial-gradient(ellipse at 65% 35%,rgba(133,239,255,.4),transparent 60%),linear-gradient(225deg,#4132aa,var(--robot-shell-deep));box-shadow:inset -2px 1px 3px rgba(255,255,255,.24),0 0 6px rgba(118,80,245,.35)}
.life-guide-robot__side-tail::after{content:"♥";position:absolute;left:2px;top:5px;color:var(--robot-blue);font:10px/1 sans-serif;text-shadow:63px 0 var(--robot-blue),0 0 4px #6ac9ff}
.life-guide-robot__head{
  position:absolute;
  left:50%;
  top:14px;
  width:62px;
  height:56px;
  overflow:hidden;
  border:1px solid rgba(188,124,246,.72);
  border-radius:23px;
  background:radial-gradient(ellipse 6px 3px at 22% 73%,rgba(133,239,255,.48),transparent),radial-gradient(ellipse 6px 3px at 78% 73%,rgba(133,239,255,.48),transparent),linear-gradient(145deg,#6048c1 0%,var(--robot-shell) 27%,var(--robot-face) 55%,var(--robot-shell-deep) 100%);
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.025),inset 0 0 18px rgba(118,80,245,.18),inset 0 -12px 18px rgba(0,0,0,.5),0 0 0 2px rgba(56,49,128,.46),0 0 0 3px rgba(133,239,255,.08),0 7px 12px rgba(0,0,0,.65),0 0 14px rgba(118,80,245,.28);
  transform:translateX(-50%);
  transform-origin:50% 85%;
}
.life-guide-robot__head::before{
  content:"";
  position:absolute;
  left:5%;top:3%;width:75%;height:55%;border-radius:50%;
  transform:rotate(-12deg) translateY(-45%);
  background:linear-gradient(180deg,rgba(255,255,255,.36),rgba(255,255,255,.05));
  filter:blur(1px);pointer-events:none;
}
.life-guide-robot__head::after{
  content:"";position:absolute;inset:4px;border-radius:19px;
  border:1px solid rgba(133,239,255,.2);
  box-shadow:inset 0 0 12px rgba(118,80,245,.18),0 0 4px rgba(133,239,255,.16);
  pointer-events:none;
}
.life-guide-robot__hair{position:absolute;z-index:2;left:4px;top:2px;width:52px;height:12px;border-radius:70% 70% 35% 20%;background:linear-gradient(125deg,#171758 5%,#bc7cf6 48%,#352091 86%);transform:rotate(6deg);pointer-events:none}
.life-guide-robot__hair::after{content:"";position:absolute;left:11px;top:2px;width:31px;height:4px;border-radius:50%;background:rgba(169,247,255,.35);transform:rotate(-10deg)}
.life-guide-robot__eye{
  position:absolute;
  z-index:1;
  top:21px;
  width:15px;
  height:17px;
  border-radius:50%;
  border:1px solid var(--robot-blue);
  background:radial-gradient(circle at 64% 30%,#fff 0 10%,transparent 15%),radial-gradient(circle at 35% 73%,#c6fbff 0 5%,transparent 12%),radial-gradient(ellipse at 67% 43%,var(--robot-face) 0 30%,#245baa 50%,#6ac9ff 78%,var(--robot-blue) 100%);
  box-shadow:0 0 5px var(--robot-blue),0 0 8px rgba(106,201,255,.55);
  transform-origin:center;
  animation:glassRobotEyes 5.4s ease-in-out infinite;
}
.life-guide-robot__eye--left{left:10px}
.life-guide-robot__eye--right{right:10px}
.life-guide-robot__eye::before,.life-guide-robot__eye::after{content:"";position:absolute;left:-3px;top:-3px;width:5px;height:5px;border-left:2px solid #baf7ff;border-radius:50%;transform:rotate(-35deg)}
.life-guide-robot__eye::before{top:1px;left:-5px;transform:rotate(-48deg)}
.life-guide-robot__eye--right::before,.life-guide-robot__eye--right::after{left:auto;right:-3px;transform:rotate(35deg);border-left:0;border-right:2px solid #baf7ff}
.life-guide-robot__eye--right::before{top:1px;right:-5px;transform:rotate(48deg)}
.life-guide-robot__mouth{
  position:absolute;
  z-index:1;
  left:50%;
  top:41px;
  width:9px;
  height:4px;
  border-bottom:2px solid var(--robot-violet-soft);
  border-radius:0 0 12px 12px;
  filter:drop-shadow(0 0 3px rgba(133,239,255,.7));
  transform:translateX(-50%);
}
.life-guide-robot__body{
  position:absolute;
  left:50%;
  top:73px;
  width:30px;
  height:24px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  border:1px solid rgba(133,239,255,.25);
  border-radius:11px;
  background:linear-gradient(145deg,#6650cd,var(--robot-shell) 32%,var(--robot-face) 70%);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.25),inset 0 -6px 9px rgba(0,0,0,.35),0 4px 9px rgba(0,0,0,.55),0 0 10px rgba(133,239,255,.2);
  transform:translateX(-50%);
}
.life-guide-robot__body::before{content:"";position:absolute;left:3px;top:3px;width:80%;height:35%;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.24),transparent);transform:rotate(-9deg);opacity:.65}
.life-guide-robot__body::after{content:"";position:absolute;left:6px;right:6px;bottom:4px;height:10px;border-radius:50%;background:radial-gradient(ellipse,rgba(133,239,255,.38),transparent 72%);animation:lifeRobotBreathingLight 3.4s ease-in-out infinite;pointer-events:none}
.life-guide-robot__body span{
  position:relative;z-index:2;color:#baf7ff;font-size:12px;font-weight:700;animation:lifeRobotBreathingLight 4s ease-in-out infinite;
  text-shadow:0 0 3px var(--robot-blue),0 0 7px #6ac9ff,0 0 14px rgba(118,80,245,.6);
}
.life-guide-robot__arm,.life-guide-robot__leg{
  position:absolute;
  display:block;
  border:1px solid rgba(188,124,246,.28);
  border-radius:999px;
  background:linear-gradient(100deg,rgba(188,124,246,.48),rgba(23,23,88,.8) 36%,rgba(9,13,42,.95));
  box-shadow:inset 1px 1px 2px rgba(255,255,255,.18),inset -2px -3px 5px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.5),0 0 5px rgba(133,239,255,.17);
  transform-origin:50% 3px;
}
.life-guide-robot__arm{top:76px;width:9px;height:17px}
.life-guide-robot__arm::before{content:"";position:absolute;left:-1px;right:-1px;top:6px;height:2px;background:var(--robot-blue);box-shadow:0 0 3px rgba(133,239,255,.5)}
.life-guide-robot__arm::after,.life-guide-robot__leg::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-3px;
  width:8px;
  height:8px;
  border:1px solid rgba(133,239,255,.25);
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.25),rgba(60,43,150,.7) 40%,rgba(9,13,42,.95));
  box-shadow:0 0 5px rgba(133,239,255,.3);
  transform:translateX(-50%);
}
.life-guide-robot__arm--left{left:13px;transform:rotate(16deg)}
.life-guide-robot__arm--right{right:13px;transform:rotate(-16deg)}
.life-guide-robot__leg{top:97px;width:9px;height:9px;border-radius:6px;background:linear-gradient(100deg,#7650f5,#171758 35%,#090d2a)}
.life-guide-robot__leg::after{bottom:-2px;width:14px;height:7px;border:1px solid rgba(133,239,255,.5);border-radius:7px 7px 5px 5px;background:linear-gradient(180deg,#4132aa,#090d2a);box-shadow:0 2px 4px rgba(133,239,255,.35)}
.life-guide-robot__leg--left{left:26px}
.life-guide-robot__leg--right{right:26px}

.life-robot.open .life-guide-robot__aura{opacity:0;animation-play-state:paused}
.life-robot.open .life-guide-robot__arm--right{animation:lifeGuideRobotWave .8s ease-in-out 2}

.life-robot.is-listening{--robot-state:#68d5ff}
.life-robot.is-listening .life-guide-robot__eye{border-color:#d3fcff}
.life-robot.is-listening .life-guide-robot__antenna i{background:#85efff}
.life-robot.is-listening .life-guide-robot__antenna{animation:lifeGuideRobotAntenna .72s ease-in-out infinite alternate}
.life-robot.is-listening .life-guide-robot__eye{box-shadow:0 0 5px #85efff,0 0 9px rgba(106,201,255,.65)}
.life-robot.is-listening .life-guide-robot__aura{animation-duration:1.25s}

.life-robot.is-executing{--robot-state:#f2c86a}
.life-robot.is-executing .life-guide-robot{animation:lifeGuideRobotWork .7s ease-in-out infinite alternate}
.life-robot.is-executing .life-guide-robot__head{animation:lifeGuideRobotScan 1.1s ease-in-out infinite}
.life-robot.is-executing .life-guide-robot__arm--right{animation:lifeGuideRobotPoint .65s ease-in-out infinite alternate}
.life-robot.is-executing .life-guide-robot__body span{animation:lifeRobotBreathingLight 1.4s ease-in-out infinite}

.life-robot.is-recording{--robot-state:#ff6578}
.life-robot.is-recording .life-guide-robot__mouth{animation:lifeGuideRobotTalk .42s ease-in-out infinite alternate}
.life-robot.is-recording .life-guide-robot__body span{animation:lifeGuideRobotRecord .9s ease-in-out infinite}
.life-robot.is-recording .life-guide-robot__antenna i{animation:lifeGuideRobotRecord .9s ease-in-out infinite}
.life-robot.is-reacting .life-guide-robot{animation:lifeGuideRobotReact .72s ease-in-out both}
.life-robot.is-celebrating .life-guide-robot{animation:lifeGuideRobotJoy 1.2s ease-in-out both}
.life-robot.is-celebrating .life-guide-robot__arm--right{animation:lifeGuideRobotWave .36s ease-in-out 3 alternate}
.life-robot.is-confused .life-guide-robot{animation:lifeGuideRobotConfused .6s ease-in-out 2}
@keyframes lifeGuideRobotConfused{0%,100%{transform:rotate(0)}30%{transform:rotate(-7deg)}70%{transform:rotate(7deg)}}

body.heart-has-voice .life-guide-robot__head{animation:lifeGuideRobotHeard .52s ease}
body.heart-has-voice .life-guide-robot__aura{border-width:2px;animation-duration:.55s}
body.heart-has-voice .life-guide-robot__eye{box-shadow:0 0 6px #85efff,0 0 11px rgba(106,201,255,.7)}

.life-robot__panel{
  width:min(340px,calc(100vw - 28px));
  border:1px solid var(--line-strong);
  border-radius:22px;
  background:rgba(15,18,25,.97);
  backdrop-filter:blur(20px);
  padding:18px;
  box-shadow:0 24px 90px rgba(0,0,0,.52);
  transform:translateY(12px) scale(.96);
  opacity:0;
  visibility:hidden;
  transform-origin:bottom right;
  transition:transform .2s ease,opacity .2s ease,visibility .2s ease;
}
.life-robot__camera{position:relative;overflow:hidden;border:1px solid rgba(104,213,255,.25);border-radius:15px;background:linear-gradient(145deg,rgba(15,36,54,.9),rgba(5,12,24,.95));box-shadow:inset 0 0 24px rgba(88,197,244,.1),0 0 22px rgba(65,178,238,.12);aspect-ratio:16/10;margin:12px 0}
.life-robot__camera video{display:block;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}
.life-robot__camera-state{position:absolute;left:10px;bottom:10px;padding:5px 8px;border:1px solid rgba(104,213,255,.26);border-radius:999px;background:rgba(5,14,27,.78);color:#bceaff;font-size:10px;backdrop-filter:blur(10px)}
.life-robot__camera-state.is-error{color:#ffb2bc;border-color:rgba(255,112,130,.38)}
.command-assistant-status.is-done{animation:lifeRobotDone .35s cubic-bezier(.2,.8,.2,1) both}
@keyframes lifeRobotDone{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}
.life-robot.open .life-robot__panel{transform:none;opacity:1;visibility:visible}
.life-robot__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.life-robot__head h3{margin:5px 0 0;font:700 20px/1.05 "Manrope",sans-serif}
.life-robot__close{border:0;background:transparent;color:#7e8694;font-size:24px;line-height:1;cursor:pointer}
.life-robot__close:hover{color:#fff}
.life-robot__hello{margin:0 0 14px;color:var(--muted);font-size:10px;line-height:1.55}
.life-robot__examples{margin-top:8px}
.life-robot__capabilities{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.life-robot__capabilities span{border:1px solid var(--line);background:rgba(255,255,255,.025);color:#7f8796;border-radius:999px;padding:6px 8px;font-size:9px;user-select:none}

body[data-theme="light"] .life-robot__button{filter:drop-shadow(0 16px 16px rgba(82,63,40,.2))}

@keyframes lifeGuideRobotBreathe{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(.7deg)}}
@keyframes glassRobotAura{0%,100%{opacity:.45;transform:translate(-50%,-50%) scale(.93)}50%{opacity:.85;transform:translate(-50%,-50%) scale(1.05)}}
@keyframes glassRobotEyes{0%,96%,100%{transform:scaleY(1)}98%{transform:scaleY(.08)}}
@keyframes lifeGuideRobotWave{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(-58deg) translateY(-3px)}}
@keyframes lifeGuideRobotAntenna{from{transform:translateX(-50%) rotate(-7deg)}to{transform:translateX(-50%) rotate(7deg)}}
@keyframes lifeGuideRobotWork{from{transform:translateY(0)}to{transform:translateY(-2px)}}
@keyframes lifeGuideRobotScan{0%,100%{transform:translateX(-50%) rotate(-3deg)}50%{transform:translateX(-50%) rotate(3deg)}}
@keyframes lifeGuideRobotPoint{from{transform:rotate(-9deg)}to{transform:rotate(-58deg)}}
@keyframes lifeGuideRobotTalk{from{height:2px;width:12px}to{height:6px;width:8px}}
@keyframes lifeGuideRobotRecord{0%,100%{opacity:.64;box-shadow:0 0 0 transparent}50%{opacity:1;box-shadow:0 0 14px color-mix(in srgb,var(--robot-state) 55%,transparent)}}
@keyframes lifeGuideRobotHeard{0%{transform:translateX(-50%) rotate(0)}35%{transform:translateX(-50%) rotate(-8deg) translateY(-2px)}70%{transform:translateX(-50%) rotate(7deg)}100%{transform:translateX(-50%) rotate(0)}}
@keyframes lifeGuideRobotReact{0%,100%{transform:scale(1)}45%{transform:scale(1.08) rotate(5deg)}}
@keyframes lifeGuideRobotJoy{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-12px) rotate(-7deg)}50%{transform:translateY(0) rotate(5deg)}75%{transform:translateY(-7px) rotate(-4deg)}}
@keyframes lifeRobotBreathingLight{0%,100%{opacity:.35;transform:scale(.7)}50%{opacity:1;transform:scale(1.25)}}
@keyframes lifeRobotAntennaSignal{0%,100%{opacity:.68}50%{opacity:1}}
.life-guide-robot__antenna i{animation:lifeRobotAntennaSignal 9s ease-in-out infinite}

@media(max-width:650px){
  .life-robot{right:12px;bottom:12px}
  .life-robot__button{width:68px;height:94px}
  .life-robot__help{right:63px;bottom:8px;width:28px;height:28px}
  .life-guide-robot{scale:.86;transform-origin:0 0}
  .life-robot__panel{width:calc(100vw - 24px);max-height:min(70vh,520px);overflow:auto}
}

@media(prefers-reduced-motion:reduce){
  .life-robot__button,.life-robot__panel{transition:none}
  .command-assistant-status.is-done{animation:none}
  .life-guide-robot,.life-guide-robot *{animation:none}
  .life-guide-robot__body::after{animation:none}
}
