.codingbot{display:block;overflow:visible}.codingbot *{transform-box:view-box}.codingbot .cb-whole{transform-origin:100px 176px;animation:3.2s ease-in-out infinite cb-bob}.codingbot .cb-eyes{transform:translate(calc(var(--bot-look-x,0px) * .7), calc(var(--bot-look-y,0px) * .7));transition:transform .18s ease-out}.codingbot .cb-blink{transform-box:fill-box;transform-origin:50%;animation:4.8s infinite cb-blink}.codingbot .cb-blink+.cb-blink{animation-delay:30ms}.codingbot .cb-twitch{transform-origin:131px 63px;animation:5.6s infinite cb-twitch}.codingbot .cb-wave{transform-origin:156px 96px;animation:.45s ease-in-out infinite alternate cb-wave}.codingbot[data-anim=hop] .cb-whole{animation:1.2s cubic-bezier(.3,1.5,.5,1) infinite cb-hop}.codingbot[data-anim=shake] .cb-whole{animation:1.6s ease-in-out infinite cb-shake}.codingbot[data-anim=breathe] .cb-whole{animation:3.6s ease-in-out infinite cb-breathe}.codingbot[data-anim=stretch] .cb-whole{animation:2.4s ease-in-out infinite cb-stretch}.codingbot .cb-z{opacity:0;animation:2.6s ease-in infinite cb-z}.codingbot .cb-z:nth-child(2){animation-delay:.6s}.codingbot .cb-z:nth-child(3){animation-delay:1.2s}.codingbot .cb-float{animation:1.8s ease-in-out infinite cb-float}.codingbot .cb-typing{transform-origin:100px 118px;animation:.22s steps(2,end) infinite cb-type}.codingbot .cb-spark{transform-box:fill-box;transform-origin:50%;animation:1.2s ease-in-out infinite cb-spark}.codingbot .cb-progress-fill{transform-box:fill-box;transform-origin:0;animation:2.8s ease-in-out infinite cb-progress}@keyframes cb-bob{50%{transform:translateY(-3px)}}@keyframes cb-blink{0%,93%,to{transform:scaleY(1)}95.5%{transform:scaleY(.08)}}@keyframes cb-twitch{0%,85%,to{transform:rotate(0)}88%{transform:rotate(13deg)}91%{transform:rotate(-5deg)}94%{transform:rotate(3deg)}}@keyframes cb-wave{to{transform:rotate(-26deg)}}@keyframes cb-hop{0%,55%,to{transform:translateY(0)scaleY(1)}8%{transform:translateY(3px)scaleY(.94)}28%{transform:translateY(-16px)scaleY(1.03)}}@keyframes cb-shake{0%,40%,to{transform:translate(0)}8%,24%{transform:translate(-5px)}16%,32%{transform:translate(5px)}}@keyframes cb-breathe{50%{transform:scaleY(.965)}}@keyframes cb-stretch{0%,to{transform:scaleY(1)}40%,60%{transform:scaleY(1.06)}}@keyframes cb-z{0%{opacity:0;transform:translateY(6px)}25%{opacity:1}to{opacity:0;transform:translate(6px,-12px)}}@keyframes cb-float{50%{transform:translateY(-4px)}}@keyframes cb-type{to{transform:translateY(1.5px)}}@keyframes cb-spark{50%{transform:scale(.55)rotate(20deg)}}@keyframes cb-progress{0%{transform:scaleX(.15)}70%,to{transform:scaleX(1)}}.codingbot[data-anim=nod] .cb-whole{animation:.7s ease-in-out 2 cb-nod}.codingbot .cb-steam{animation:1.8s ease-in-out infinite cb-steam}.codingbot .cb-scan{transform-origin:160px 90px;animation:2.4s ease-in-out infinite cb-scan}.codingbot .cb-confetti{animation:1.4s ease-out infinite cb-confetti}.codingbot .cb-ring{transform-origin:180px 18px;animation:.5s ease-in-out infinite alternate cb-ring}.codingbot .cb-spin{transform-origin:30px 30px;animation:8s linear infinite cb-spin}.codingbot .cb-dot{animation:1.2s ease-in-out infinite cb-dot}.codingbot .cb-dot+.cb-dot{animation-delay:.2s}.codingbot .cb-dot+.cb-dot+.cb-dot{animation-delay:.4s}@keyframes cb-nod{0%,to{transform:translateY(0)rotate(0)}40%{transform:translateY(5px)rotate(-2deg)}}@keyframes cb-steam{0%,to{opacity:.35;transform:translateY(2px)}50%{opacity:1;transform:translateY(-3px)}}@keyframes cb-scan{50%{transform:translate(-6px,4px)rotate(-6deg)}}@keyframes cb-confetti{0%{opacity:.4;transform:translateY(-6px)}40%{opacity:1}to{opacity:.2;transform:translateY(8px)}}@keyframes cb-ring{0%{transform:rotate(-14deg)}to{transform:rotate(14deg)}}@keyframes cb-spin{to{transform:rotate(360deg)}}@keyframes cb-dot{50%{opacity:.25}}.codingbot.cb-bed .bd-breathe{transform-origin:256px 222px;animation:4.2s ease-in-out infinite bd-breathe}.codingbot.cb-bed[data-waking] .bd-breathe{transform-origin:160px 200px;animation:.32s cubic-bezier(.3,1.4,.5,1) both bd-rise}.codingbot.cb-bed .bd-alert{transform-origin:65px 54px;animation:1.6s ease-in-out infinite bd-pulse}@keyframes bd-breathe{50%{transform:scaleY(1.03)}}@keyframes bd-rise{0%{transform:translateY(16px)scaleY(.97)}}@keyframes bd-pulse{50%{transform:scale(1.12)}}.grok-study-companion[data-paused=true] .codingbot,.grok-study-companion[data-paused=true] .codingbot *{animation-play-state:paused!important}@media (prefers-reduced-motion:reduce){.codingbot,.codingbot *{transition:none!important;animation:none!important}.codingbot .cb-z{opacity:1}}
