/* Tam's styles never target unscoped elements. Host controls position/size. */
.tam {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  height: auto;
  aspect-ratio: 13 / 17;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 35%;
  background: transparent;
  color: #eae8d6;
  box-shadow: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  cursor: pointer;
  isolation: isolate;
}
.tam:hover, .tam:active { background: transparent; box-shadow: none; }
.tam:focus { outline: none; }
.tam:focus-visible { outline: 2px solid #ecebd3; outline-offset: 3px; box-shadow: 0 0 0 5px #193c2a; }
.tam.tam-static { cursor: default; }
.tam-art { display: block; width: 100%; height: auto; overflow: visible; }
.tam-mirrored .tam-art { transform: scaleX(-1); }
.tam-art * { pointer-events: none; }
.tam-body { transform-origin: 139px 309px; }
.tam-tool { transform-origin: 139px 271px; }
.tam-arm-wave { transform-origin: 102px 197px; }
.tam-wave-glove { transform-origin: 71px 182px; }
.tam-eyes { transform-origin: 135px 202px; }
.tam-pupils { transition: transform 190ms ease; }
.tam-brows { transition: transform 190ms ease; }
.tam-soil > * { opacity: 0; }
.tam-ground-shadow { transform-origin: 139px 311px; }
.tam-speech {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: -13%;
  width: max-content;
  max-width: 155px;
  padding: 9px 13px;
  border: 1px solid #adb899;
  border-radius: 14px 14px 14px 3px;
  background: #f1eddd;
  color: #21432c;
  box-shadow: 0 4px 15px #16291920;
  font: 500 13px/1.2 system-ui, sans-serif;
  letter-spacing: .01em;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, 4px);
  transition: opacity 130ms ease, transform 130ms ease;
}
.tam-is-speaking .tam-speech { opacity: 1; transform: translate(-50%, 0); }
.tam-status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.tam-is-curious .tam-pupils { transform: translate(-1.8px, -1.1px); }
.tam-is-curious .tam-brows { transform: translateY(-1.5px); }
.tam-is-greeting .tam-body { animation: tam-hop 1840ms cubic-bezier(.3,.05,.3,1) both; }
.tam-is-greeting .tam-tool { animation: tam-lean 1840ms ease-in-out both; }
.tam-is-greeting .tam-arm-wave { animation: tam-arm 1700ms ease-in-out both; }
.tam-is-greeting .tam-wave-glove { animation: tam-wave 1700ms ease-in-out both; }
.tam-is-greeting .tam-eyes { animation: tam-blink 1700ms ease both; }
.tam-is-greeting .tam-ground-shadow { animation: tam-shadow 1840ms ease-in-out both; }
.tam-is-greeting .tam-soil-one { animation: tam-soil-left 600ms 870ms ease-out both; }
.tam-is-greeting .tam-soil-two { animation: tam-soil-left 650ms 850ms ease-out both; }
.tam-is-greeting .tam-soil-three { animation: tam-soil-left-far 550ms 900ms ease-out both; }
.tam-is-greeting .tam-soil-four { animation: tam-soil-right 600ms 870ms ease-out both; }
.tam-is-greeting .tam-soil-five { animation: tam-soil-right 490ms 940ms ease-out both; }
@keyframes tam-hop {
  0%, 26%, 64%, 100% { transform: translateY(0) scale(1); }
  35% { transform: translateY(2px) scale(1.025,.98); }
  45% { transform: translateY(-11px) scale(.99,1.025); }
  55% { transform: translateY(0) scale(1.035,.97); }
}
@keyframes tam-lean {
  0%, 100% { transform: rotate(0); }
  21% { transform: rotate(-4deg); }
  46% { transform: rotate(-2deg); }
  63% { transform: rotate(1.2deg); }
  79% { transform: rotate(-.5deg); }
}
@keyframes tam-arm {
  0%, 100% { transform: rotate(0); }
  17%, 62% { transform: rotate(15deg); }
  83% { transform: rotate(-2deg); }
}
@keyframes tam-wave {
  0%, 100% { transform: rotate(0); }
  18%, 40%, 62% { transform: rotate(-16deg); }
  29%, 51% { transform: rotate(12deg); }
  78% { transform: rotate(3deg); }
}
@keyframes tam-blink {
  0%, 9%, 17%, 100% { transform: scaleY(1); }
  13% { transform: scaleY(.12); }
}
@keyframes tam-shadow {
  0%, 29%, 58%, 100% { transform: scale(1); opacity: 1; }
  44% { transform: scale(.89,.88); opacity: .7; }
}
@keyframes tam-soil-left {
  0% { opacity: 0; transform: translate(0,0) rotate(0); }
  14% { opacity: .8; }
  58% { opacity: .6; transform: translate(-13px,-10px) rotate(-65deg); }
  100% { opacity: 0; transform: translate(-20px,1px) rotate(-90deg); }
}
@keyframes tam-soil-left-far {
  0% { opacity: 0; transform: translate(0,0); }
  14% { opacity: .7; }
  60% { opacity: .5; transform: translate(-20px,-17px); }
  100% { opacity: 0; transform: translate(-30px,0); }
}
@keyframes tam-soil-right {
  0% { opacity: 0; transform: translate(0,0) rotate(0); }
  14% { opacity: .8; }
  58% { opacity: .6; transform: translate(15px,-9px) rotate(30deg); }
  100% { opacity: 0; transform: translate(23px,2px) rotate(60deg); }
}
.tam-reduced *, .tam-static * { animation: none !important; transition: none !important; }
@media (prefers-reduced-motion: reduce) {
  .tam *, .tam *::before, .tam *::after { animation: none !important; transition: none !important; }
  .tam-is-curious .tam-pupils, .tam-is-curious .tam-brows { transform: none; }
}
.tam-logo { display: block; width: 100%; height: 100%; overflow: visible; }
