.gv-host{width:96px}.gv-host .gv{position:absolute;inset:0;cursor:pointer}.gv-size,.gv-tilt,.gv-bob,.gv-face{position:absolute;inset:0}.gv-l{position:absolute;display:block;background-image:var(--gv-sheet);background-repeat:no-repeat}.gv-size{transform-origin:50% 92%;transition:scale .8s cubic-bezier(.3,1.5,.5,1)}.gv-tilt{transform-origin:50% 92%;rotate:var(--tilt, 0deg);transition:rotate .5s cubic-bezier(.3,1.4,.5,1)}.gv-bob{transform-origin:50% 92%;animation:gv-breathe 3.4s ease-in-out infinite}.gv-face{translate:calc(var(--lx, 0px) * .45) calc(var(--ly, 0px) * .45);transition:translate .18s ease-out}.gv-leaf,.gv-arm{transition:rotate .45s cubic-bezier(.3,1.5,.5,1),scale .6s cubic-bezier(.3,1.5,.5,1),opacity .3s}.gv-shadow{position:absolute;left:27%;right:27%;bottom:3%;height:6%;border-radius:50%;background:#1e281e29;animation:gv-shadow 3.4s ease-in-out infinite}@keyframes gv-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.012,1.025)}}@keyframes gv-shadow{0%,to{transform:scale(1)}50%{transform:scale(.95)}}@keyframes gv-sway-l{0%,to{rotate:0deg}50%{rotate:-6deg}}@keyframes gv-sway-r{0%,to{rotate:0deg}50%{rotate:5deg}}.gv .gv-leaf.l{animation:gv-sway-l 4.2s ease-in-out infinite}.gv .gv-leaf.r{animation:gv-sway-r 3.8s ease-in-out infinite}.gv-turf{display:none}.gr-dock .gv-turf{display:block}.gr-dock .gv-shadow{display:none}.gv-face .gv-l{opacity:0;transition:opacity .12s}.gv-brow.norm,.gv-eyes.open,.gv-mouth.smile{opacity:1}.gv-eyes{transform-origin:50% 50%;transition:opacity .12s,scale .3s}.gv-eyes.open{animation:gv-blink-open 5.2s linear infinite}.gv-eyes.shut{animation:gv-blink-shut 5.2s linear infinite}@keyframes gv-blink-open{0%,94%{opacity:1}94.01%,96.5%{opacity:0}96.51%,to{opacity:1}}@keyframes gv-blink-shut{0%,94%{opacity:0}94.01%,96.5%{opacity:1}96.51%,to{opacity:0}}.gv-grown{opacity:0;scale:.2;transition:opacity .4s,scale .6s cubic-bezier(.3,1.6,.5,1);transform-origin:50% 80%}.gv[data-grow="0"] .gv-grown.g0,.gv[data-grow="2"] .gv-grown.g2,.gv[data-grow="3"] .gv-grown.g3{opacity:1;scale:1}.gv[data-grow="0"] .gv-leaf{scale:.55}.gv[data-grow="0"] .gv-size{scale:.88}.gv[data-grow="1"] .gv-size{scale:.94}.gv[data-grow="3"] .gv-size{scale:1.03}.gv:is([data-mood=cheer],[data-mood=love],[data-mood=giggle]) .gv-eyes.arc,.gv:is([data-mood=sleep],[data-mood=shy]) .gv-eyes.shut,.gv[data-mood=sleepy] .gv-eyes.half{opacity:1;animation:none}.gv:is([data-mood=cheer],[data-mood=love],[data-mood=giggle],[data-mood=sleep],[data-mood=shy],[data-mood=sleepy]) .gv-eyes.open{opacity:0;animation:none}.gv:is([data-mood=cheer],[data-mood=love],[data-mood=giggle],[data-mood=sleepy]) .gv-eyes.shut{opacity:0;animation:none}.gv:is([data-mood=surprised],[data-mood=curious]) .gv-eyes{scale:1.08}.gv:is([data-mood=surprised],[data-mood=curious]) .gv-eyes:is(.open,.shut){animation:none}.gv:is([data-mood=surprised],[data-mood=curious]) .gv-eyes.shut{opacity:0}.gv[data-mood=sad] .gv-brow.sad,.gv:is([data-mood=thinking],[data-mood=surprised]) .gv-brow.up{opacity:1}.gv:is([data-mood=sad],[data-mood=thinking],[data-mood=surprised]) .gv-brow.norm{opacity:0}.gv:is([data-mood=happy],[data-mood=cheer],[data-mood=love],[data-mood=giggle],[data-mood=wave],[data-mood=proud]) .gv-mouth.open,.gv[data-mood=sad] .gv-mouth.sad,.gv[data-mood=surprised] .gv-mouth.o,.gv:is([data-mood=thinking],[data-mood=sleep]) .gv-mouth.flat{opacity:1}.gv:is([data-mood=happy],[data-mood=cheer],[data-mood=love],[data-mood=giggle],[data-mood=wave],[data-mood=proud],[data-mood=sad],[data-mood=surprised],[data-mood=thinking],[data-mood=sleep],[data-mood=talking]) .gv-mouth.smile{opacity:0}.gv[data-mood=talking] .gv-mouth.open{animation:gv-talk-a .5s linear infinite}.gv[data-mood=talking] .gv-mouth.flat{animation:gv-talk-b .5s linear infinite}@keyframes gv-talk-a{0%,50%{opacity:1}50.01%,to{opacity:0}}@keyframes gv-talk-b{0%,50%{opacity:0}50.01%,to{opacity:1}}.gv[data-mood=happy] .gv-bob{animation:gv-hop 1.1s ease-in-out infinite}@keyframes gv-hop{0%,to{transform:translateY(0) scale(1)}40%{transform:translateY(-2.5%) scale(.99,1.02)}55%{transform:translateY(0) scale(1.03,.97)}}.gv[data-mood=cheer] .gv-bob{animation:gv-jump .7s cubic-bezier(.3,.7,.4,1) 3}@keyframes gv-jump{0%{transform:translateY(0) scale(1)}18%{transform:translateY(0) scale(1.1,.88)}45%{transform:translateY(-11%) scale(.95,1.06)}72%{transform:translateY(0) scale(1.07,.93)}to{transform:translateY(0) scale(1)}}.gv[data-mood=love] .gv-bob{animation:gv-sway 1.6s ease-in-out infinite}@keyframes gv-sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.gv[data-mood=sad] .gv-bob{animation:none;transform:translateY(1.5%) scale(1.02,.97);transition:transform .5s}.gv[data-mood=encourage] .gv-bob{animation:gv-nod .9s ease-in-out 2}@keyframes gv-nod{0%,to{transform:translateY(0)}50%{transform:translateY(1.5%) rotate(2deg)}}.gv[data-mood=thinking] .gv-bob{animation:gv-ponder 2.4s ease-in-out infinite}@keyframes gv-ponder{0%,to{transform:rotate(0)}50%{transform:rotate(-3deg)}}.gv[data-mood=thinking] .gv-face{translate:1.4% -1.6%}.gv[data-mood=talking] .gv-bob{animation:gv-chatter .52s ease-in-out infinite alternate}@keyframes gv-chatter{0%{transform:translateY(0)}to{transform:translateY(-1%) rotate(.8deg)}}.gv[data-mood=surprised] .gv-bob{animation:gv-pop .4s cubic-bezier(.3,1.8,.5,1)}@keyframes gv-pop{0%{transform:scale(.93,1.05)}60%{transform:scale(1.05,.96)}to{transform:scale(1)}}.gv[data-mood=proud] .gv-bob{animation:gv-pop .5s cubic-bezier(.3,1.8,.5,1);transform:scale(1.03)}.gv[data-mood=sleepy] .gv-bob{animation:gv-breathe 5s ease-in-out infinite}.gv[data-mood=sleep] .gv-bob{animation:gv-sleep 4.4s ease-in-out infinite}@keyframes gv-sleep{0%,to{transform:scale(1) translateY(.6%)}50%{transform:scale(1.025,1.04) translateY(.6%)}}.gv[data-mood=sleep] .gv-face{translate:0 1%}.gv[data-mood=giggle] .gv-bob{animation:gv-wiggle .12s linear 6 alternate}@keyframes gv-wiggle{0%{transform:rotate(-4deg) scale(1.02,.98)}to{transform:rotate(4deg) scale(.98,1.02)}}.gv[data-mood=spin] .gv-bob{animation:gv-spin .8s cubic-bezier(.4,0,.2,1)}@keyframes gv-spin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.gv[data-mood=shy] .gv-bob{animation:gv-nod 1.6s ease-in-out infinite}.gv:is([data-mood=cheer],[data-mood=sad],[data-mood=surprised],[data-mood=curious],[data-mood=sleepy],[data-mood=sleep]) .gv-leaf{animation:none}.gv[data-mood=cheer] .gv-leaf.l{rotate:-14deg}.gv[data-mood=cheer] .gv-leaf.r{rotate:14deg}.gv[data-mood=sad] .gv-leaf.l{rotate:-30deg}.gv[data-mood=sad] .gv-leaf.r{rotate:32deg}.gv:is([data-mood=surprised],[data-mood=curious]) .gv-leaf.l{rotate:10deg}.gv:is([data-mood=surprised],[data-mood=curious]) .gv-leaf.r{rotate:-10deg}.gv[data-mood=sleepy] .gv-leaf.l{rotate:-16deg}.gv[data-mood=sleepy] .gv-leaf.r{rotate:17deg}.gv[data-mood=sleep] .gv-leaf.l{rotate:-28deg}.gv[data-mood=sleep] .gv-leaf.r{rotate:30deg}.gv-cover{opacity:0;transition:opacity .2s}.gv[data-mood=cheer] .gv-arm.l{rotate:58deg}.gv[data-mood=cheer] .gv-arm.r{rotate:-58deg}.gv[data-mood=wave] .gv-arm.r{animation:gv-wave .42s ease-in-out 6 alternate;rotate:-75deg}@keyframes gv-wave{0%{rotate:-55deg}to{rotate:-100deg}}.gv[data-mood=encourage] .gv-arm.r{rotate:-62deg}.gv[data-mood=thinking] .gv-arm.r{rotate:148deg;translate:-33% 25%}.gv[data-mood=sad] .gv-arm.l{rotate:-14deg}.gv[data-mood=sad] .gv-arm.r{rotate:14deg}.gv[data-mood=surprised] .gv-arm.l{rotate:45deg}.gv[data-mood=surprised] .gv-arm.r{rotate:-45deg}.gv:is([data-mood=love],[data-mood=giggle]) .gv-arm.l{rotate:-32deg}.gv:is([data-mood=love],[data-mood=giggle]) .gv-arm.r{rotate:32deg}.gv[data-mood=proud] .gv-arm.l{rotate:30deg}.gv[data-mood=proud] .gv-arm.r{rotate:-30deg}.gv[data-mood=shy] .gv-arm{opacity:0}.gv[data-mood=shy] .gv-cover{opacity:1}@media (prefers-reduced-motion: reduce){.gv *,.gv-host .gr-p,.gv-host .gr-say{animation:none!important;transition:none!important}}.gr-dock.corner .gv-host{width:70px}.gr-dock.marrow{bottom:calc(100% - 3px)}.gr-dock.marrow .gv-host{width:60px}@media (max-width: 620px){.gr-dock.corner .gv-host{width:56px}.gr-dock.marrow .gv-host{width:48px}}.gv-host.login,.gv-host.home{width:84px}.headline-score .gv-host.score{width:86px}.gv-host.tutor{width:44px;flex-basis:44px}.gv-host.empty{width:60px}.gv-host .gr-say{background:#fffef8;color:#1d2a1a;border:2px solid #2b5f23;border-radius:4px;box-shadow:3px 3px #2b5f2333;font-weight:600}.gv-host .gr-say:after{border-right:2px solid #2b5f23;border-bottom:2px solid #2b5f23}.gv-host .gr-p svg{image-rendering:pixelated}
