#study-buddy{top:32vh;right:22px;gap:3px}#dino-buddy{width:112px;height:124px;cursor:grab}#dino-buddy:active{cursor:grabbing}#dino-buddy .dino-body{transform-origin:70px 135px;animation:dino-breathe 6s ease-in-out infinite}#dino-buddy .dino-eyes{transform-origin:55px 37px;animation:dino-blink 9s infinite}#buddy-bubble{position:absolute;right:0;bottom:100%;width:220px;max-width:75vw;padding:13px 15px;background:#fffbed;color:#304854;border:1.5px solid #829aa3;border-radius:17px 17px 4px 17px;box-shadow:0 5px 18px #203d4914;font:13px/1.5 'IBM Plex Sans',sans-serif}#buddy-bubble[hidden]{display:none}#buddy-mute{position:absolute;bottom:0;right:4px;width:24px;height:24px;border:1px solid #aac2ca;border-radius:50%;background:#f5fbfd;color:#426373;cursor:pointer}#dino-buddy[data-move="sway"] .dino-body{animation:buddy-sway 3s ease-in-out 2}#dino-buddy[data-move="look"] .turtle-head{transform-origin:58px 65px;animation:buddy-look 3s ease-in-out 2}#dino-buddy[data-move="stretch"] .dino-body{animation:buddy-stretch 4s ease-in-out}#dino-buddy[data-move="dance"] .dino-body{animation:buddy-sway 1.6s ease-in-out 4}#dino-buddy[data-move="nod"] .turtle-head{transform-origin:60px 65px;animation:buddy-look 1.6s ease-in-out 3}#dino-buddy[data-move="peek"] .dino-body{animation:buddy-peek 5s ease-in-out}#dino-buddy.happy .dino-body{animation:buddy-sway 2s ease-in-out}#dino-buddy.happy .dino-arm{animation:none}@keyframes buddy-sway{25%{transform:rotate(-6deg) translateY(-2px)}75%{transform:rotate(6deg) translateY(-3px)}}@keyframes buddy-look{50%{transform:rotate(-9deg) translateX(-3px)}}@keyframes buddy-stretch{50%{transform:scaleY(1.07) translateY(-4px)}}@keyframes buddy-peek{50%{transform:translateY(8px) rotate(8deg)}}@media(max-width:600px){#study-buddy{top:32vh;right:10px}#dino-buddy{width:86px;height:100px}}@media(prefers-reduced-motion:reduce){#dino-buddy *{animation:none!important}}
/* Reposo quieto: los gestos se activan al tocar o cada seis minutos. */
#dino-buddy .dino-body,#dino-buddy .dino-eyes,#dino-buddy.thinking .dino-body{animation:none}
#dino-buddy[hidden]{display:none!important}
#study-buddy.buddy-hidden{gap:0}
#buddy-hide-menu{position:fixed;z-index:30000;padding:9px 20px;background:#fff;color:#304854;border:1px solid #b7c8ce;border-radius:8px;box-shadow:0 4px 18px #0002;cursor:pointer;font:14px sans-serif}
#buddy-hide-menu[hidden]{display:none}

#dino-buddy .dino-body{transform-origin:80px 150px}#dino-buddy .dino-eyes{transform-origin:60px 42px}

#study-buddy{top:auto;bottom:240px;right:22px}
#study-buddy.on-cover{z-index:20001}
#dino-buddy{width:126px;height:140px;transition:opacity .5s,transform .5s}
#dino-buddy .dino-body{transform-origin:90px 165px}
#dino-buddy .dino-eyes{transform-origin:103px 58px}
#dino-buddy[data-move="wave"] .dino-arm{transform-origin:114px 110px;animation:companion-wave 1.5s ease-in-out 2}
#study-buddy.buddy-exit #dino-buddy{opacity:0;transform:translateY(12px)}
#buddy-bubble{width:290px;max-height:45vh;overflow:auto;text-align:left}
@keyframes companion-wave{50%{transform:rotate(-24deg)}}
@media(max-width:600px){#study-buddy{top:auto;bottom:230px;right:10px}#dino-buddy{width:94px;height:106px}}
@media(prefers-reduced-motion:reduce){#dino-buddy{transition:none}#dino-buddy *{animation:none!important}}

#dino-buddy .dino-body{transform-origin:60px 105px}#dino-buddy .dino-eyes{transform-origin:65px 40px}#dino-buddy[data-move="wave"] .dino-arm{transform-origin:79px 70px}#study-buddy.buddy-hidden #groq-fab{cursor:grab}#study-buddy.buddy-hidden #groq-fab:active{cursor:grabbing}

#dino-buddy .dino-body{transform-origin:85px 166px}
#dino-buddy[data-move="sip"] .capy-mate{transform-origin:85px 130px;animation:capy-sip 6s ease-in-out}
#dino-buddy[data-move="think"] .turtle-head{transform-origin:96px 89px;animation:capy-think 6s ease-in-out}
#dino-buddy[data-move="dance"] .dino-body{animation:capy-dance 2s ease-in-out 3}
@keyframes capy-sip{25%,65%{transform:translate(-12px,-20px) rotate(-12deg)}}
@keyframes capy-think{25%,70%{transform:rotate(7deg) translateY(-2px)}}
@keyframes capy-dance{25%{transform:rotate(-5deg) translateY(-3px)}50%{transform:translateY(0)}75%{transform:rotate(5deg) translateY(-3px)}}
@media(prefers-reduced-motion:reduce){#dino-buddy *{animation:none!important}}

#dino-buddy[data-move="sip"] .capy-mate{transform-origin:75px 120px}#dino-buddy .dino-body{transform-origin:80px 166px}#dino-buddy[data-move="think"] .turtle-head{transform-origin:82px 83px}

.capy-work-paw,.capy-writing{opacity:0}
.capy-pencil,.capy-calculator,.capy-mate{transform-box:view-box}
#dino-buddy[data-move="write"] .capy-mate,#dino-buddy[data-move="calculate"] .capy-mate{animation:capy-put-mate 6.5s ease-in-out}
#dino-buddy[data-move="write"] .capy-pencil{animation:capy-write-pencil 6.5s ease-in-out}
#dino-buddy[data-move="write"] .capy-work-paw{animation:capy-write-paw 6.5s ease-in-out}
#dino-buddy[data-move="write"] .capy-writing{animation:capy-notes 6.5s ease-in-out}
#dino-buddy[data-move="calculate"] .capy-calculator{animation:capy-lift-calc 6.5s ease-in-out}
#dino-buddy[data-move="calculate"] .capy-work-paw{animation:capy-calc-paw 6.5s ease-in-out}
#dino-buddy[data-move="calculate"] .capy-digits{animation:capy-digits 1s steps(2) 6}
@keyframes capy-put-mate{20%,80%{transform:translate(-24px,22px) rotate(-7deg)}}
@keyframes capy-write-pencil{0%,15%,100%{transform:none}30%,45%,60%,75%{transform:translate(-29px,-9px)}37%,52%,67%{transform:translate(-24px,-12px)}85%{transform:translate(-29px,-9px)}}
@keyframes capy-write-paw{0%,18%,95%,100%{opacity:0}30%,45%,60%,75%{opacity:1;transform:translate(0,0)}37%,52%,67%{opacity:1;transform:translate(4px,-2px)}85%{opacity:1}}
@keyframes capy-notes{0%,30%{opacity:0}70%,100%{opacity:1}}
@keyframes capy-lift-calc{25%,80%{transform:translate(-35px,-34px) rotate(-8deg)}}
@keyframes capy-calc-paw{0%,20%,95%,100%{opacity:0}30%,45%,60%,75%{opacity:1;transform:translate(25px,-13px)}37%,52%,67%,82%{opacity:1;transform:translate(27px,-10px)}}
@keyframes capy-digits{50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){#dino-buddy *{animation:none!important}}

#dino-buddy .turtle-head{translate:0 3px}
.capy-eye-open{opacity:0}
#dino-buddy.capy-glance .capy-eye-open{opacity:1}
#dino-buddy.capy-glance .capy-eye-closed{opacity:0}
#dino-buddy .dino-eyes{animation:none!important}

#buddy-bubble{box-sizing:border-box;background:#fff;color:#39434a;border:1px solid #dce1e4;border-radius:50% / 38%;padding:25px 30px;width:320px;max-width:calc(100vw - 24px);max-height:none;overflow:visible;box-shadow:0 5px 20px #273b4812;bottom:calc(100% + 20px);opacity:0;transform:translateY(6px) scale(.97);transform-origin:85% 100%;transition:opacity .45s ease,transform .45s ease;font-size:13px;line-height:1.6;}
#buddy-bubble.phrase-visible{opacity:1;transform:translateY(0) scale(1)}
#buddy-bubble::before,#buddy-bubble::after{content:"";position:absolute;border-radius:50%;background:white;border:1px solid #dce1e4;pointer-events:none}
#buddy-bubble::before{width:11px;height:11px;right:49px;bottom:-14px}
#buddy-bubble::after{width:7px;height:7px;right:39px;bottom:-24px;box-shadow:9px 9px 0 -1px white,9px 9px 0 0 #dce1e4}
@media(max-width:600px){#buddy-bubble{width:280px;padding:21px 25px;font-size:12px}}
@media(prefers-reduced-motion:reduce){#buddy-bubble{transition:none;transform:none}}

/* Objetos coordinados en el mismo sistema de coordenadas del dibujo. */
.capy-notebook,.capy-hold-paw{opacity:0}
#dino-buddy[data-move="calculate"] .capy-mate{animation:capy-mate-away 6.5s ease-in-out}
#dino-buddy[data-move="write"] .capy-mate{animation:capy-mate-away 6.5s ease-in-out}
#dino-buddy[data-move="calculate"] .capy-calculator{animation:capy-calc-aligned 6.5s ease-in-out}
#dino-buddy[data-move="calculate"] .capy-work-paw{animation:capy-press-aligned 6.5s ease-in-out}
#dino-buddy[data-move="calculate"] .capy-hold-paw{animation:capy-hold-visible 6.5s ease-in-out}
#dino-buddy[data-move="write"] .capy-notebook{animation:capy-notebook-held 6.5s ease-in-out}
#dino-buddy[data-move="write"] .capy-pencil{animation:capy-pencil-aligned 6.5s ease-in-out}
#dino-buddy[data-move="write"] .capy-work-paw{animation:capy-writing-aligned 6.5s ease-in-out}
#dino-buddy[data-move="write"] .capy-hold-paw{animation:capy-hold-visible 6.5s ease-in-out}
@keyframes capy-mate-away{0%,100%{opacity:1;transform:none}15%,85%{opacity:0;transform:translate(-10px,20px)}}
/* La calculadora queda en x=67..95, y=103..135; teclas en y=121,127,132. */
@keyframes capy-calc-aligned{0%,100%{transform:none}23%,82%{transform:translate(-39px,-48px)}}
/* Punta de la pata x=56,y=158: se posa y pulsa sobre tres teclas. */
@keyframes capy-press-aligned{0%,18%,94%,100%{opacity:0}25%,33%{opacity:1;transform:translate(17px,-39px)}36%,40%{opacity:1;transform:translate(17px,-37px)}46%,51%{opacity:1;transform:translate(25px,-33px)}54%,58%{opacity:1;transform:translate(25px,-31px)}64%,69%{opacity:1;transform:translate(33px,-39px)}72%,78%{opacity:1;transform:translate(33px,-37px)}84%{opacity:1;transform:translate(33px,-39px)}}
@keyframes capy-hold-visible{0%,18%,95%,100%{opacity:0}25%,83%{opacity:1}}
/* Cuaderno en x=45..98,y=108..138, sostenido por la otra pata. */
@keyframes capy-notebook-held{0%,100%{opacity:0;transform:translate(29px,-35px)}23%,84%{opacity:1;transform:translate(29px,-43px)}}
/* La punta del lápiz parte de 73,171 y escribe sobre las líneas del cuaderno. */
@keyframes capy-pencil-aligned{0%,100%{transform:none}25%,35%{transform:translate(-11px,-52px)}42%{transform:translate(1px,-52px)}48%{transform:translate(-9px,-46px)}57%{transform:translate(3px,-46px)}64%{transform:translate(-7px,-40px)}74%,83%{transform:translate(5px,-40px)}}
@keyframes capy-writing-aligned{0%,18%,95%,100%{opacity:0}25%,35%{opacity:1;transform:translate(12px,-44px)}42%{opacity:1;transform:translate(24px,-44px)}48%{opacity:1;transform:translate(14px,-38px)}57%{opacity:1;transform:translate(26px,-38px)}64%{opacity:1;transform:translate(16px,-32px)}74%,83%{opacity:1;transform:translate(28px,-32px)}}
@media(prefers-reduced-motion:reduce){#dino-buddy *{animation:none!important}}
