.lia-rig { width: 100%; height: 100%; overflow: visible; }
.lia-rig g { transform-box: view-box; }
.lia-body { transform-origin: 200px 453px; animation: lia-breathe 4s ease-in-out infinite; }
.lia-head { transform-origin: 203px 224px; animation: lia-head-idle 5s ease-in-out infinite; }
.lia-arm--left { transform-origin: 162px 231px; }
.lia-arm--right { transform-origin: 243px 231px; }
.lia-leg--left { transform-origin: 181px 333px; }
.lia-leg--right { transform-origin: 222px 333px; }
.lia-eyes { transform: none; animation: none; }
.lia-eyes--open { animation: lia-blink-open 4.8s infinite; }
.lia-eyes--closed { opacity: 0; animation: lia-blink-closed 4.8s infinite; }
.lia-mouth { opacity: 0; }
.lia-rig[data-mouth="smile"] .lia-mouth--smile, .lia-rig[data-mouth="open"] .lia-mouth--open, .lia-rig[data-mouth="round"] .lia-mouth--round { opacity: 1; }
.lia-rig[data-mood="welcome"] .lia-arm--right { animation: lia-wave 2.2s ease-in-out both; }
.lia-rig[data-mood="welcome"] .lia-head { animation: lia-greeting-head 2.2s ease-in-out both; }
.lia-rig[data-mood="idle"] .lia-arm--left { animation: lia-arm-rest 4s ease-in-out infinite; }
.lia-rig[data-mood="idle"] .lia-arm--right { animation: lia-arm-rest 4s 1s ease-in-out infinite reverse; }
.lia-rig[data-mood="think"] .lia-head { transform: rotate(-8deg); animation: lia-thinking 4s ease-in-out infinite; }
.lia-rig[data-mood="think"] .lia-arm--left { transform: rotate(-27deg); }
.lia-rig[data-mood="talk"] .lia-head { animation: lia-talk-head 1.9s ease-in-out infinite; }
.lia-rig[data-mood="talk"] .lia-arm--right { animation: lia-gesture 2.4s ease-in-out infinite; }
.lia-rig[data-mood="talk"] .lia-arm--left { animation: lia-gesture-left 3.2s ease-in-out infinite; }
.lia-rig.lia-greeting[data-mood="talk"] .lia-arm--right { animation: lia-wave 2.2s ease-in-out both; }
.lia-rig[data-mood="celebrate"] .lia-body { animation: lia-jump 1.5s ease both; }
.lia-rig[data-mood="celebrate"] .lia-arm--left { animation: lia-cheer-left 1.5s ease both; }
.lia-rig[data-mood="celebrate"] .lia-arm--right { animation: lia-cheer-right 1.5s ease both; }
.lia-rig[data-mood="celebrate"] .lia-leg--left { animation: lia-kick-left 1.5s ease both; }
.lia-rig[data-mood="celebrate"] .lia-leg--right { animation: lia-kick-right 1.5s ease both; }
.lia-rig[data-mood="celebrate"] .lia-mouth--smile { opacity: 0; }
.lia-rig[data-mood="celebrate"] .lia-mouth--open { opacity: 1; }
.lia-rig[data-mood="celebrate"] .lia-shadow { animation: lia-shadow-jump 1.5s ease both; transform-origin: 200px 469px; }
.lia-rig--offscreen * { animation-play-state: paused !important; }
.lia-interact { display: block; background: none; border: 0; padding: 0; width: 100%; height: 100%; cursor: pointer; }
.lia-interact:focus-visible { outline: 3px solid #087f75; outline-offset: 8px; border-radius: 20px; }
.lp .lp-hero__lia { width: 305px; height: 385px; bottom: -8px; }
.lp .lp-companion__lia { width: 265px; height: 335px; }
.lp-hero__lia:has(.lia-rig) > span { animation: none; }
.ob--lia .ob__mascot:has(.lia-rig) { width: 220px; height: 260px; animation: none; }
.lp--still .lia-rig *, .lp--still .lia-rig *::after { animation: none !important; }
.lp--still .lia-eyes--closed { opacity: 0; }
.lp--still .lia-eyes--open { opacity: 1; }
@keyframes lia-breathe { 0%,100% { transform: scale(1,1); } 50% { transform: scale(1.015,.99); } }
@keyframes lia-head-idle { 0%,100% { transform: rotate(0); } 35% { transform: rotate(-3deg); } 70% { transform: rotate(2deg); } }
@keyframes lia-arm-rest { 50% { transform: rotate(5deg); } }
@keyframes lia-blink-open { 0%,42%,46%,100% { opacity: 1; } 43%,45% { opacity: 0; } }
@keyframes lia-blink-closed { 0%,42%,46%,100% { opacity: 0; } 43%,45% { opacity: 1; } }
@keyframes lia-wave { 0%,100% { transform: rotate(0); } 22%,42%,62% { transform: rotate(-28deg); } 32%,52%,72% { transform: rotate(-42deg); } 85% { transform: rotate(-20deg); } }
@keyframes lia-greeting-head { 0%,100% { transform: rotate(0); } 25%,65% { transform: rotate(-7deg); } 45% { transform: rotate(-2deg); } }
@keyframes lia-thinking { 0%,100% { transform: rotate(-8deg); } 50% { transform: rotate(-3deg); } }
@keyframes lia-talk-head { 0%,100% { transform: rotate(-2deg); } 30% { transform: rotate(3deg) translateY(2px); } 65% { transform: rotate(-4deg); } }
@keyframes lia-gesture { 0%,100% { transform: rotate(-5deg); } 35% { transform: rotate(-22deg); } 55% { transform: rotate(-15deg); } 75% { transform: rotate(-28deg); } }
@keyframes lia-gesture-left { 0%,100% { transform: rotate(8deg); } 50% { transform: rotate(30deg); } }
@keyframes lia-jump { 0%,100% { transform: none; } 15% { transform: translateY(9px) scale(1.06,.94); } 36% { transform: translateY(-38px) scale(.97,1.03); } 55% { transform: translateY(-40px) rotate(-4deg); } 75% { transform: translateY(6px) scale(1.04,.96); } }
@keyframes lia-cheer-left { 0%,100% { transform: rotate(0); } 35%,65% { transform: rotate(38deg); } }
@keyframes lia-cheer-right { 0%,100% { transform: rotate(0); } 35%,65% { transform: rotate(-42deg); } }
@keyframes lia-kick-left { 0%,100% { transform: rotate(0); } 36%,60% { transform: rotate(12deg); } }
@keyframes lia-kick-right { 0%,100% { transform: rotate(0); } 36%,60% { transform: rotate(-16deg); } }
@keyframes lia-shadow-jump { 0%,100% { transform: scaleX(1); opacity: 1; } 36%,60% { transform: scaleX(.7); opacity: .45; } }
@media (max-width: 1000px) { .lp .lp-hero__lia { width: 280px; height: 350px; } }
@media (max-width: 760px) { .lp .lp-hero__lia { width: 230px; height: 285px; }.lp .lp-companion__lia { width: 225px; height: 285px; } }
@media (max-width: 420px) { .lp .lp-hero__lia { width: 210px; height: 260px; } }
@media (prefers-reduced-motion: reduce) {
  .lia-rig *, .lia-rig *::after { animation: none !important; }
  .lia-eyes--open { opacity: 1; }.lia-eyes--closed { opacity: 0; }
}
