/* Ceramic shell, optical visor and independent floating head. */
.presence-companion{min-height:470px;justify-content:center;--eye:#71e7ff}
.companion-halo{width:420px;height:420px;top:20px;background:radial-gradient(ellipse,#a4b9fa45,#cbb4f32b 40%,transparent 68%)}
.companion-object{width:330px;height:440px;animation:none;margin:0;scale:1;isolation:isolate;transition:transform .42s cubic-bezier(.2,.8,.2,1)}
.robot-head-float{position:absolute;inset:12px 0 auto;height:268px;z-index:3;animation:robot-hover 5.5s ease-in-out infinite}
.companion-face{width:288px;height:259px;left:21px;top:0;border-radius:46% 46% 38% 38% / 50% 50% 31% 31%;border:1px solid #fff;background:radial-gradient(ellipse at 36% 8%,#fff 0%,#fff 14%,transparent 48%),linear-gradient(115deg,#d1d9ed,#fafbff 18%,#fff 44%,#e3e6f0 65%,#b2bfd9 85%,#f5f8ff);box-shadow:inset 5px 4px 8px #fff,inset -8px -7px 12px #8c9abb70,inset 0 -2px 1px #fff,0 16px 23px #495b8a26;transition:transform .35s var(--ease);transform-style:preserve-3d}
.robot-crown{position:absolute;top:5px;left:53px;width:180px;height:63px;border-radius:50% 50% 48% 48% / 45% 45% 65% 65%;border-bottom:3px solid #334476;box-shadow:0 2px 2px #fff,inset 0 -2px 2px #a7b8da;background:linear-gradient(150deg,#fff 15%,#f5f7ff 53%,#d4dceb);transform:rotate(-4deg)}
.robot-crown:after{content:"";position:absolute;inset:8px 35px 30px 20px;border-radius:50%;background:#fff;transform:rotate(-13deg)}
.companion-visor{inset:78px 19px 43px;border-radius:44% 44% 39% 39% / 35% 35% 39% 39%;overflow:hidden;gap:53px;align-items:flex-start;padding-top:24px;border:2px solid #182342;background:radial-gradient(ellipse at 60% 100%,#244b7859,transparent 65%),linear-gradient(145deg,#263659,#070f25 40%,#11162e 74%,#333455);box-shadow:inset 0 2px 3px #689ce4,inset 0 -4px 6px #030915,0 2px 2px #fff,0 0 0 3px #b6c5de;transform:translateZ(7px)}
.companion-visor:before{content:"";position:absolute;width:140%;height:44%;left:-20%;top:-4%;border-radius:50%;background:linear-gradient(180deg,#c6e3ff50,#7798dc17);transform:rotate(-13deg);pointer-events:none;z-index:2}
.companion-visor:after{content:"";position:absolute;width:125%;height:14%;left:-8%;bottom:17%;background:linear-gradient(90deg,transparent,#6e8de326,#cc87dd22,transparent);transform:rotate(-15deg);pointer-events:none}
.companion-eye{width:30px;height:42px;z-index:1;animation:robot-blink 6.7s infinite;transform-origin:center}
.companion-eye i{width:28px;height:39px;border-radius:48% 48% 43% 43%;background:radial-gradient(ellipse at 35% 24%,#edffff,#a3f7ff 22%,#58d9ff 65%,#738aff);box-shadow:0 0 12px #57d6ffb0,0 0 28px #318bfc66,inset 2px 2px 3px #fff9;transition:transform .2s ease,box-shadow .4s}
.companion-smile{width:48px;height:23px;left:calc(50% - 24px);bottom:17px;border-bottom:5px solid #87e9ff;border-radius:0 0 50% 50%;filter:drop-shadow(0 0 5px #4aaaff)}
.robot-chin{position:absolute;bottom:5px;left:108px;width:70px;height:29px;border-radius:55% 55% 30% 30%;background:linear-gradient(115deg,#fdfdff,#c7d3e7);border-top:2px solid #697da5;box-shadow:inset 0 2px 2px #fff}
.robot-chin span{position:absolute;width:22px;height:3px;left:23px;top:13px;background:linear-gradient(90deg,#658cf0,#bd74df);border-radius:10px}
.robot-pod{position:absolute;top:88px;width:28px;height:80px;border-radius:50%;background:linear-gradient(90deg,#6c6ebe,#e5edff 25%,#fff 43%,#b9c8e3 72%,#475d90);border:2px solid #f0f5ff;box-shadow:0 3px 8px #314b8130;transform:translateZ(-9px)}
.pod-left{left:-16px;rotate:5deg}.pod-right{right:-16px;rotate:-5deg}
.robot-body{position:absolute;width:224px;height:142px;left:53px;top:291px;border-radius:22% 22% 48% 48% / 20% 20% 78% 78%;background:radial-gradient(ellipse at 25% 20%,#fff 0%,#fff 12%,transparent 39%),linear-gradient(115deg,#b4c3dc,#f7f9ff 24%,#eef2fc 48%,#b7c4dd 83%,#e2eafa);border:1px solid #f7fcff;box-shadow:inset 6px 0 7px #fff,inset -5px -6px 10px #7a8cab66,0 18px 28px #5d69a32b;z-index:2}
.robot-dock{position:absolute;top:-10px;left:0;width:100%;height:43px;border-radius:50%;background:linear-gradient(160deg,#fff,#ced8e9);border:3px solid #f8fbff;box-shadow:0 2px 3px #8b9db75c}
.robot-dock:after{content:"";position:absolute;inset:8px 24px;border-radius:50%;background:radial-gradient(ellipse,#53688f,#818fb0 65%,#bec8df);box-shadow:inset 0 3px 6px #24385970,0 0 9px #688afa45;border:1px solid #98b6ed}
.robot-core{position:absolute;width:34px;height:34px;top:53px;left:94px;border-radius:50%;background:linear-gradient(135deg,#fff,#bdcbe4);border:1px solid #eaf2ff;box-shadow:0 2px 5px #8a99bb70,inset 0 2px 2px #fff}
.robot-core i{position:absolute;inset:10px;border-radius:50%;background:#9ebdff;box-shadow:0 0 12px #608dfcab,inset 0 1px 2px #fff}
.robot-ground{position:absolute;bottom:-15px;left:55px;width:220px;height:20px;border-radius:50%;background:#4e609437;filter:blur(13px)}
.presence-companion:has(.companion-object:hover) .companion-visor{background:radial-gradient(ellipse at 50% 100%,#3f338057,transparent 70%),linear-gradient(145deg,#23335a,#080e22 50%,#252041)}
.presence-companion:has(.companion-object:hover) .companion-eye i{background:radial-gradient(ellipse at 35% 24%,#fff,#b8faff 23%,#65dcff 68%,#aa8bff);box-shadow:0 0 15px #70dfff,0 0 34px #8674ff80}
.presence-companion.is-awake .robot-head-float{transform:translateY(-9px) translateZ(8px)}
.presence-companion.is-awake .robot-core i{background:#c4f4ff;box-shadow:0 0 16px #59cfff,0 0 34px #717cff88,inset 0 1px 2px #fff}
.presence-companion.is-awake .robot-ground{opacity:.65;transform:scaleX(1.1) rotateX(-4deg) translateZ(-22px)}
@keyframes robot-hover{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(1deg)}}
@keyframes robot-blink{0%,42%,46%,100%{scale:1 1}44%{scale:1 .12}}
@media(max-width:900px) and (min-width:601px){.companion-object{scale:.85}.presence-companion{min-height:430px}}
@media(max-width:600px){.presence-companion{min-height:405px}.companion-object{scale:.82}.companion-halo{width:290px;height:350px;top:25px}}
@media(prefers-reduced-motion:reduce){.robot-head-float,.companion-eye{animation:none}.companion-face,.companion-eye i{transition:none}}

/* One weighted assembly, pivoting at its base; head and body share the same motion. */
.presence-companion{perspective:1000px}
.companion-object{transform-origin:50% 96%;transform-style:preserve-3d;isolation:auto;--robot-light-x:38%}
.robot-head-float{animation:none;transform-style:preserve-3d;transform:translateZ(6px);transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.companion-face{transform:translateZ(12px);transition:none;background:radial-gradient(ellipse at var(--robot-light-x) 16%,#fff 0%,#fff 12%,transparent 46%),linear-gradient(110deg,#8194ba 0%,#dce5f4 8%,#fff 29%,#f5f7fd 49%,#bcc9df 78%,#7386ac 95%,#d7e4f9);box-shadow:inset 5px 4px 8px #fff,inset -12px -9px 19px #6c7ea86e,inset 0 -2px 1px #fff,0 17px 23px #34467133}
.companion-face:before{content:"";position:absolute;inset:2px -5px -2px;border-radius:inherit;background:linear-gradient(100deg,#8b9dbf,#e9f0fe 30%,#9eafd0 70%,#596d96);transform:translateZ(-18px);border:1px solid #d6e4fb;box-shadow:0 3px 5px #47618c33}
.companion-visor{transform:translateZ(18px)}
.robot-crown{transform:translateZ(9px) rotate(-4deg)}
.robot-chin{transform:translateZ(11px)}
.robot-body{transform:translateZ(4px);transform-style:preserve-3d;background:radial-gradient(ellipse at var(--robot-light-x) 24%,#fff 0%,#fff 10%,transparent 46%),linear-gradient(110deg,#8397bc,#e4ecf8 19%,#f8faff 43%,#a7b8d3 77%,#697fa5 95%,#dce7f7);box-shadow:inset 5px 0 9px #fff,inset -9px -8px 16px #536b9666,0 12px 20px #4e67952b}
.robot-dock{transform:translateZ(8px)}
.robot-core{transform:translateZ(15px)}
.robot-ground{transform:rotateX(-4deg) translateZ(-22px)}
.motion-paused .companion-object{transform:none!important}
