.xy-robot-dock{position:fixed;z-index:120;right:max(2px,env(safe-area-inset-right));bottom:calc(125px + env(safe-area-inset-bottom));top:auto;display:flex;flex-direction:column;align-items:center;gap:0;pointer-events:none}
.xy-robot-link{position:relative;display:block;width:70px;height:82px;color:var(--theme-primary,var(--robot-fallback,#528BFF));text-decoration:none;pointer-events:auto;-webkit-tap-highlight-color:transparent}
.xy-robot{position:absolute;z-index:1;top:12px;right:-4px;display:block;width:54px;height:62px;animation:xy-robot-peek 4s ease-in-out infinite}
.xy-robot-art{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:hue-rotate(var(--robot-blue-shift,0deg)) drop-shadow(0 3px 5px rgba(15,36,72,.2));transform-origin:75% 80%}
.xy-robot-link:nth-child(2) .xy-robot-art{filter:hue-rotate(var(--robot-mint-shift,0deg)) drop-shadow(0 3px 5px rgba(15,36,72,.2));animation-delay:.65s}
.xy-robot-bubble{position:absolute;z-index:2;top:1px;left:-50px;display:flex;align-items:center;justify-content:center;min-width:68px;min-height:25px;padding:4px 8px;border:1px solid color-mix(in srgb,var(--theme-primary,var(--robot-fallback,#528BFF)) 36%,transparent);border-radius:11px 11px 3px 11px;background:color-mix(in srgb,var(--bg-elevated,#fff) 92%,var(--theme-primary,var(--robot-fallback,#528BFF)) 8%);box-shadow:0 2px 8px rgba(22,47,94,.16);color:var(--theme-primary,var(--robot-fallback,#528BFF));font:600 10px/1.2 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;white-space:nowrap;pointer-events:none}
.xy-robot-bubble:after{content:"";position:absolute;right:-4px;bottom:4px;width:7px;height:7px;background:inherit;border-right:1px solid color-mix(in srgb,var(--theme-primary,var(--robot-fallback,#528BFF)) 36%,transparent);border-bottom:1px solid color-mix(in srgb,var(--theme-primary,var(--robot-fallback,#528BFF)) 36%,transparent);transform:rotate(-45deg)}
.xy-robot-link:focus-visible .xy-robot-bubble{outline:2px solid var(--theme-primary,var(--robot-fallback,#528BFF));outline-offset:2px}
@keyframes xy-robot-peek{0%,100%{transform:translate(2px,0) rotate(0)}50%{transform:translate(-1px,-3px) rotate(-1deg)}}
@media(prefers-reduced-motion:reduce){.xy-robot,.xy-robot-art{animation:none!important;transition:none!important}}
