.gs-mascot{display:block;position:absolute;width:96px;height:96px;pointer-events:none;visibility:hidden;user-select:none;isolation:isolate}
.gs-mascot.is-ready{visibility:visible}
.gs-mascot.is-clipped{visibility:hidden}
.gs-mascot-teaser{bottom:calc(100% - 6px);right:18px}
.gs-mascot-launcher{bottom:calc(100% + 3px);right:28px}
.hira-dock:has(.hira-teaser:not([hidden]))>.gs-mascot-launcher{display:none}
body.hira-open .hira-dock .gs-mascot{visibility:hidden}
.gs-mascot-dialog{bottom:calc(100% - 9px);left:calc(50% - 48px);z-index:1}
.gs-mascot-float{display:block;position:absolute;inset:0;transform-origin:55% 80%;clip-path:inset(7% 0 1%);animation:gs-robot-float 5s ease-in-out infinite}
.gs-mascot img,.gs-mascot-face{position:absolute;display:block;inset:0;width:100%;height:100%;object-fit:contain}
.gs-mascot-body{clip-path:polygon(0 0,100% 0,100% 66%,77% 66%,77% 67%,75% 70%,71% 73%,70% 80%,70% 100%,0 100%,0 77%,28.5% 77%,31% 70%,31% 66%,30% 62%,28.5% 60%,28% 56%,28% 49%,23% 46%,19% 41%,0 41%)}
.gs-mascot-arm-left{clip-path:polygon(0 41%,19% 41%,23% 46%,28% 49%,28% 56%,28.5% 60%,30.4% 62%,31.4% 66%,31.4% 70%,28.9% 77%,0 77%);transform-origin:30.7% 67%;animation:gs-robot-wave 9s ease-in-out infinite}
.gs-mascot-arm-right{clip-path:polygon(77% 66%,100% 66%,100% 100%,69.6% 100%,69.6% 80%,70.6% 73%,74.6% 70%,76.6% 67%);transform-origin:75% 69%;animation:gs-robot-arm 5s ease-in-out infinite}
.gs-mascot-eyes{transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 0 7px #63c5ff);animation:gs-robot-blink 6.2s ease-in-out infinite}
.gs-mascot-shadow{position:absolute;bottom:1px;left:32%;width:48%;height:5px;border-radius:50%;background:#4385b433;filter:blur(2px);animation:gs-robot-shadow 5s ease-in-out infinite}
.hira-dialog{overflow:visible;max-height:calc(100dvh - 120px)}
.hira-shell{border-radius:inherit;overflow:hidden}
.gs-mascot[data-running=false] *{animation-play-state:paused!important}
@keyframes gs-robot-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-4px) rotate(1deg)}}
@keyframes gs-robot-blink{0%,42%,46%,100%{transform:scaleY(1)}44%{transform:scaleY(.08)}}
@keyframes gs-robot-shadow{0%,100%{transform:scaleX(1);opacity:.8}50%{transform:scaleX(.82);opacity:.45}}
@keyframes gs-robot-wave{0%,4%,27%,100%{transform:rotate(0)}8%,17%{transform:rotate(7deg)}12.5%,21.5%{transform:rotate(-7deg)}}
@keyframes gs-robot-arm{0%,100%{transform:rotate(0)}50%{transform:rotate(-5deg)}}
@media(max-width:600px){.gs-mascot{width:84px;height:84px}.gs-mascot-dialog{left:calc(50% - 42px);bottom:calc(100% - 7px)}.hira-dialog{max-height:calc(100dvh - 108px)}.gs-mascot-teaser{right:16px}}
@media(max-height:650px){.hira-dock:has(.hira-teaser:not([hidden]))>.gs-mascot-launcher{display:block}}
@media(max-height:520px){.gs-mascot-dialog{display:none}.hira-dialog{max-height:calc(100dvh - 16px)}}
@media(prefers-reduced-motion:reduce){.gs-mascot *{animation:none!important}}
html.motion-reduced .gs-mascot *{animation:none!important}
