
.aiei-mascot{--aiei-size:220px;display:inline-flex;position:relative;flex-direction:column;align-items:center;max-width:100%;width:var(--aiei-size);padding:28px 8px 8px;box-sizing:border-box;isolation:isolate;vertical-align:middle}
.aiei-mascot .aiei-greet{display:block;position:relative;width:100%;border:0!important;background:transparent!important;padding:0!important;margin:0!important;box-shadow:none!important;cursor:pointer;line-height:0;border-radius:16px;touch-action:manipulation}
.aiei-mascot .aiei-greet:focus-visible{outline:3px solid #13bace!important;outline-offset:6px}
.aiei-mascot .aiei-float{display:block;animation:aiei-float 6s ease-in-out infinite}
.aiei-mascot .aiei-picture{display:block;width:100%;height:auto;max-width:100%;image-rendering:pixelated;transform-origin:50% 85%;transition:filter .25s;filter:drop-shadow(0 4px 5px #00bddc22)}
.aiei-mascot .aiei-bubble{position:absolute;left:50%;top:0;transform:translate(-50%,5px);width:max-content;max-width:min(260px,80vw);padding:9px 13px;border:1px solid #1ad3e5;border-radius:12px;background:#101d39;color:#f4f8ff;font:500 13px/1.4 system-ui,sans-serif;text-align:center;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;z-index:2}
.aiei-mascot:has(.aiei-greet:hover) .aiei-bubble,.aiei-mascot:has(.aiei-greet:focus-visible) .aiei-bubble,.aiei-mascot.aiei-hello .aiei-bubble{opacity:1;transform:translate(-50%,-6px)}
.aiei-mascot .aiei-shadow{display:block;width:58%;height:9px;margin:12px 0 8px;background:#0b294130;border-radius:50%;animation:aiei-shadow 6s ease-in-out infinite}
@keyframes aiei-float{0%,100%{transform:translate(0,0)}25%{transform:translate(3px,-5px)}50%{transform:translate(0,-10px)}75%{transform:translate(-3px,-5px)}}
@keyframes aiei-shadow{0%,100%{transform:scaleX(1);opacity:.8}50%{transform:scaleX(.86);opacity:.5}}
@media(prefers-reduced-motion:reduce){.aiei-mascot .aiei-float,.aiei-mascot .aiei-picture,.aiei-mascot .aiei-shadow{animation:none!important}.aiei-mascot .aiei-picture,.aiei-mascot .aiei-bubble{transition:none}}

.aiei-mascot .aiei-hand{transform-origin:290px 757px}
.aiei-mascot.aiei-hello .aiei-hand{animation:aiei-wave 1.15s ease-in-out}
.aiei-mascot .aiei-eyes{transform-origin:657px 551px;animation:aiei-blink 9.7s linear infinite}
@keyframes aiei-wave{0%,100%{transform:rotate(0)}18%{transform:rotate(-16deg)}36%{transform:rotate(11deg)}56%{transform:rotate(-16deg)}76%{transform:rotate(9deg)}}
@keyframes aiei-blink{0%,31%,34%,77%,80%,100%{transform:scaleY(1)}32.3%,32.8%,78.3%,78.8%{transform:scaleY(.08)}}
@media(prefers-reduced-motion:reduce){.aiei-mascot .aiei-hand,.aiei-mascot .aiei-eyes{animation:none!important}}

/* Sitewide placement: desktop viewport with a mouse/trackpad only. */
.aiei-desktop-dock{display:none}
@media(min-width:1024px) and (hover:hover) and (pointer:fine){
.aiei-desktop-dock{display:block;position:fixed;right:24px;bottom:20px;width:180px;z-index:9990;line-height:normal}
.aiei-desktop-dock .aiei-bubble{left:auto;right:0;max-width:260px;transform:translateY(5px)}
.aiei-desktop-dock .aiei-mascot:has(.aiei-greet:hover) .aiei-bubble,.aiei-desktop-dock .aiei-mascot:has(.aiei-greet:focus-visible) .aiei-bubble,.aiei-desktop-dock .aiei-mascot.aiei-hello .aiei-bubble{transform:translateY(-6px)}
}

/* Fold into a compact companion; the empty dock never blocks page clicks. */
.aiei-desktop-dock{pointer-events:none}
.aiei-expanded{position:relative;transform-origin:calc(100% - 30.4px) calc(100% - 29.05px);opacity:1;transform:scale(1);transition:transform .44s cubic-bezier(.4,0,.2,1),opacity .32s,visibility 0s;pointer-events:auto}
.aiei-collapse{position:absolute;right:0;bottom:26px;display:grid;place-items:center;width:28px;height:28px;padding:0!important;border:1px solid #608599!important;border-radius:50%;background:#102039!important;color:#d4f8ff!important;font:20px/1 system-ui!important;cursor:pointer;box-shadow:none!important;pointer-events:auto}
.aiei-collapse:hover{background:#204057!important}
.aiei-restore{position:absolute;right:0;bottom:0;display:block;width:60.8px;height:58.1px;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;cursor:pointer;opacity:0;visibility:hidden;transform:scale(.88);transform-origin:center;transition:transform .38s cubic-bezier(.2,.8,.2,1),opacity .24s,visibility 0s .38s;pointer-events:none;border-radius:18px}
.aiei-restore .aiei-capsule-picture{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 2px 5px #10cce533)}
.aiei-collapse:focus-visible,.aiei-restore:focus-visible{outline:3px solid #19d3df!important;outline-offset:4px}
.aiei-desktop-dock.aiei-collapsed .aiei-expanded{transform:scale(.35);opacity:0;visibility:hidden;transition:transform .44s cubic-bezier(.4,0,.2,1),opacity .32s,visibility 0s .44s;pointer-events:none}
.aiei-desktop-dock.aiei-collapsed .aiei-expanded *{pointer-events:none!important}
.aiei-desktop-dock.aiei-collapsed .aiei-restore{opacity:1;visibility:visible;transform:scale(1);transition:transform .38s .12s cubic-bezier(.2,.8,.2,1),opacity .24s .12s,visibility 0s;pointer-events:auto}
.aiei-desktop-dock.aiei-collapsed .aiei-float,.aiei-desktop-dock.aiei-collapsed .aiei-eyes,.aiei-desktop-dock.aiei-collapsed .aiei-shadow{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.aiei-expanded,.aiei-restore,.aiei-desktop-dock.aiei-collapsed .aiei-expanded,.aiei-desktop-dock.aiei-collapsed .aiei-restore{transition:none!important}}

/* Happy arches softly become round, curious eyes in both forms. */
.aiei-desktop-dock .aiei-expression-happy{animation:aiei-happy 11s ease-in-out infinite}
.aiei-desktop-dock .aiei-expression-round{opacity:0;animation:aiei-curious 11s ease-in-out infinite}
.aiei-mini-eyes{transform-origin:686px 744px;animation:aiei-blink 8.7s linear infinite}
@keyframes aiei-happy{0%,36%,76%,100%{opacity:1}40%,72%{opacity:0}}
@keyframes aiei-curious{0%,36%,76%,100%{opacity:0}40%,72%{opacity:1}}
.aiei-desktop-dock.aiei-collapsed .aiei-expanded .aiei-expression-happy,.aiei-desktop-dock.aiei-collapsed .aiei-expanded .aiei-expression-round{animation-play-state:paused}
.aiei-desktop-dock:not(.aiei-collapsed) .aiei-restore .aiei-mini-eyes,.aiei-desktop-dock:not(.aiei-collapsed) .aiei-restore .aiei-expression-happy,.aiei-desktop-dock:not(.aiei-collapsed) .aiei-restore .aiei-expression-round{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.aiei-desktop-dock .aiei-expression-happy,.aiei-desktop-dock .aiei-expression-round,.aiei-mini-eyes{animation:none!important}}
