.robot-stage{--mx:0;--my:0;--dx:0px;--dy:0px;--robot-white:var(--logo-white,oklch(97% .005 250));--robot-blue:oklch(64% .19 252);--robot-blue-hi:oklch(78% .13 235);flex-direction:column;justify-content:center;align-items:center;gap:38px;height:600px;display:flex;position:relative}.robot-bubble{border:1px solid color-mix(in oklab, var(--robot-white) 55%, transparent);background:color-mix(in oklab, var(--background) 75%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--muted-foreground);text-align:center;white-space:nowrap;min-width:0;max-width:92vw;min-height:46px;box-shadow:0 0 24px color-mix(in oklab, var(--primary) 18%, transparent);transform:translate(calc(var(--mx) * var(--bx,10px) + var(--dx) * .35), calc(var(--my) * var(--by,6px) + var(--dy) * .35));border-radius:999px;padding:12px 26px;font-size:17px;font-weight:600}.robot-caret{vertical-align:-2px;background:var(--primary);width:2px;height:1em;margin-left:3px;animation:1s step-end infinite robot-caret;display:inline-block}@keyframes robot-caret{50%{opacity:0}}.robot{cursor:grab;touch-action:manipulation;-webkit-user-select:none;user-select:none;width:260px;height:340px;transform:translate(calc(var(--mx) * var(--px,22px) + var(--dx)), calc(var(--my) * var(--py,12px) + var(--dy))) rotate(calc(var(--mx) * 6deg));background:0 0;border:0;padding:0;position:relative}.is-dragging .robot{cursor:grabbing}.is-dragging .robot-float{animation-play-state:paused}.robot:focus-visible{outline:2px solid var(--primary);outline-offset:8px;border-radius:24px}.robot-float{animation:4.5s ease-in-out infinite robot-float;position:absolute;inset:0}@keyframes robot-float{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}.is-happy .robot-float{animation:.6s 2 robot-hop}@keyframes robot-hop{0%,to{transform:translateY(0)scale(1)}40%{transform:translateY(-30px)scale(1.03,.97)}}.is-scanning .robot-float{animation:.95s 2 robot-spinY}@keyframes robot-spinY{0%{transform:rotateY(0)}to{transform:rotateY(720deg)}}.robot-head{z-index:3;width:150px;height:140px;transform:rotate(calc(var(--mx) * 8deg));transform-origin:50% 100%;margin-left:-75px;animation:5s ease-in-out infinite robot-bob;position:absolute;top:0;left:50%}@keyframes robot-bob{0%,to{margin-top:0}50%{margin-top:3px}}.robot-antenna{background:var(--robot-white);border-radius:2px;width:4px;height:28px;margin-left:-2px;position:absolute;top:-26px;left:50%}.robot-antenna:after{content:"";background:var(--primary);width:12px;height:12px;box-shadow:0 0 12px var(--primary);border-radius:50%;margin-left:-6px;animation:1.6s ease-in-out infinite robot-pulse;position:absolute;top:-10px;left:50%}.robot-visor{background:radial-gradient(circle at 70% 25%, var(--robot-blue-hi), var(--robot-blue) 55%, oklch(45% .18 258));border:4px solid var(--robot-white);box-shadow:inset 0 -10px 24px oklch(30% .15 260/.5), 0 0 40px color-mix(in oklab, var(--robot-blue) 45%, transparent);border-radius:50% 50% 46% 46%;position:absolute;inset:0;overflow:hidden}.robot-shine{filter:blur(4px);background:oklch(100% 0 0/.45);border-radius:50%;width:34px;height:22px;position:absolute;top:14px;right:22px}.robot-eyes{transform:translate(calc(-50% + var(--mx) * var(--ex,18px)), calc(-50% + var(--my) * var(--ey,12px)));gap:16px;display:flex;position:absolute;top:46%;left:50%}.robot-eye{border:3px solid var(--robot-white);width:20px;height:32px;box-shadow:0 0 10px var(--robot-white);transform-origin:50%;border-radius:10px;animation:5s infinite robot-blink}@keyframes robot-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.is-happy .robot-eye{border-bottom:0;border-radius:14px 14px 0 0;height:14px;animation:none}.robot-ear{background:var(--robot-white);z-index:-1;border-radius:6px;width:16px;height:40px;transition:transform .3s;position:absolute;top:58px}.robot-ear:after{content:"";background:var(--robot-white);border-radius:3px;width:5px;height:26px;position:absolute;top:-22px;left:5px}.robot-ear--l{left:-12px}.robot-ear--r{right:-12px}.robot:hover .robot-ear--l{transform:rotate(-8deg)}.robot:hover .robot-ear--r{transform:rotate(8deg)}.robot-collar{z-index:2;background:linear-gradient(var(--robot-white), oklch(82% .01 250));border-radius:50%;width:140px;height:22px;margin-left:-70px;position:absolute;top:128px;left:50%}.robot-body{background:radial-gradient(circle at 35% 30%, var(--robot-white), oklch(86% .008 250) 70%, oklch(72% .01 250));border-radius:50%;width:190px;height:190px;margin-left:-95px;position:absolute;top:132px;left:50%;box-shadow:0 20px 50px oklch(0% 0 0/.45)}.robot-screen{color:var(--primary);letter-spacing:2px;box-shadow:inset 0 0 8px oklch(0% 0 0/.6), 0 0 10px color-mix(in oklab, var(--primary) 25%, transparent);background:oklch(20% .03 258);border-radius:8px;align-items:center;gap:6px;margin-left:-34px;padding:5px 12px;font-family:IBM Plex Mono,monospace;font-size:10px;display:flex;position:absolute;top:26%;left:50%}.robot-screen i{background:var(--primary);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite robot-pulse}.robot-core{background:var(--primary);width:26px;height:26px;box-shadow:0 0 18px var(--primary);border-radius:50%;margin-left:-13px;animation:2.2s ease-in-out infinite robot-pulse;position:absolute;top:48%;left:50%}@keyframes robot-pulse{50%{opacity:.45;transform:scale(.8)}}.robot-shadow{filter:blur(6px);background:oklch(0% 0 0/.4);border-radius:50%;width:150px;height:18px;margin-left:-75px;animation:4.5s ease-in-out infinite robot-shadow;position:absolute;bottom:-14px;left:50%}@keyframes robot-shadow{50%{opacity:.6;transform:scale(.8)}}.robot-ring{border:1px dashed color-mix(in oklab, var(--primary) 45%, transparent);border-radius:50%;width:300px;height:300px;margin:-150px 0 0 -150px;animation:18s linear infinite robot-spin;position:absolute;top:52%;left:50%}.robot-ring--inner{opacity:.4;width:340px;height:340px;margin:-170px 0 0 -170px;animation-duration:30s;animation-direction:reverse}@keyframes robot-spin{to{transform:rotate(360deg)}}.is-scanning .robot-ring{border-style:solid;animation-duration:1.2s}.robot-scan-btn{border:1px solid color-mix(in oklab, var(--primary) 55%, transparent);background:color-mix(in oklab, var(--primary) 10%, transparent);min-height:44px;color:var(--primary);cursor:pointer;transform:translate(calc(var(--mx) * var(--bx,10px)), calc(var(--my) * var(--by,6px)));border-radius:999px;align-items:center;gap:8px;padding:0 22px;font-size:14px;font-weight:600;transition:background .25s,transform .25s;display:inline-flex}.robot-scan-btn:hover:not(:disabled){background:color-mix(in oklab, var(--primary) 20%, transparent);transform:translateY(-2px)}.robot-scan-btn:disabled{opacity:.75;cursor:wait}.robot-scan-btn:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.robot-radar-spin{animation:1s linear infinite robot-spin}.gh-root{position:relative}.gh-laser{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;inset:0}.gh-laser line{stroke:var(--primary);stroke-width:2.5px;stroke-linecap:round;filter:drop-shadow(0 0 6px var(--primary));animation:.7s ease-out both gh-laser-fade}@keyframes gh-laser-fade{0%{opacity:0}12%{opacity:1}to{opacity:0}}.gh-laser-hit{fill:none;stroke:var(--primary);stroke-width:2px;transform-origin:50%;transform-box:fill-box;animation:.7s ease-out both gh-laser-hit}@keyframes gh-laser-hit{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(2.4)}}.gh-reticle{pointer-events:none;z-index:4;border:1px solid color-mix(in oklab, var(--primary) 65%, transparent);opacity:0;border-radius:50%;width:30px;height:30px;margin:-15px 0 0 -15px;transition:opacity .3s;position:absolute;top:0;left:0}.gh-reticle:before,.gh-reticle:after{content:"";background:color-mix(in oklab, var(--primary) 65%, transparent);position:absolute}.gh-reticle:before{width:1px;height:8px;box-shadow:0 34px 0 color-mix(in oklab, var(--primary) 65%, transparent);top:-6px;left:50%}.gh-reticle:after{width:8px;height:1px;box-shadow:34px 0 0 color-mix(in oklab, var(--primary) 65%, transparent);top:50%;left:-6px}.gh-root:hover .gh-reticle{opacity:1}@media (hover:none){.gh-reticle{display:none}}@media (width<=900px){.robot-stage{height:430px;transform:scale(.8)}}@media (width<=640px){.robot-stage{--px:34px;--py:22px;--bx:14px;--by:10px;--ex:30px;--ey:20px;height:360px;margin:-10px 0;transform:scale(.55)}.robot-bubble{min-width:0;min-height:36px;padding:8px 18px;font-size:13px}.robot-scan-btn{padding:0 18px;font-size:12px}}@media (prefers-reduced-motion:reduce){.robot-stage *{animation:none!important}}
