/* ===== Unified Chat Widget ===== */

#authyo-ai-chat-widget {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 9999;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* ===== Robot Launcher ===== */
button.authyo-unified-launcher,
button.authyo-unified-launcher:hover,
button.authyo-unified-launcher:focus,
button.authyo-unified-launcher:active {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100px;
    height: 120px;
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0;
    margin: 0;
    cursor: pointer;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.2));
    transition: filter 0.3s, transform 0.3s;
    animation: authyo-unified-entrance 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    transform: translateY(140px);
}

button.authyo-unified-launcher:hover {
    filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.35));
    transform: scale(1.05);
}

button.authyo-unified-launcher:focus-visible {
    outline: 2px solid #FF8C00;
    outline-offset: 4px;
    border-radius: 8px;
}

.authyo-unified-launcher-robot {
    pointer-events: none;
}

.authyo-unified-launcher-robot svg {
    width: 90px;
    height: 110px;
}

@keyframes authyo-unified-entrance {
    0% { transform: translateY(140px); opacity: 0; }
    60% { transform: translateY(-8px); opacity: 1; }
    80% { transform: translateY(4px); }
    100% { transform: translateY(0); opacity: 1; }
}

/* Hide launcher when chat is open */
.authyo-unified-launcher.authyo-unified-launcher-open {
    transform: translateY(20px);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.3s, opacity 0.3s;
}

/* ===== Unread Badge ===== */
.authyo-unified-unread-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    background: #e74c3c;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    min-width: 20px;
    height: 20px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
    box-shadow: 0 2px 6px rgba(231, 76, 60, 0.4);
    animation: authyo-badge-pop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    z-index: 10;
}

@keyframes authyo-badge-pop {
    0% { transform: scale(0); }
    100% { transform: scale(1); }
}

/* ===== Streaming Cursor ===== */
.authyo-streaming-cursor {
    display: inline;
    animation: authyo-cursor-blink 0.7s infinite;
    color: inherit;
    font-weight: 300;
}

@keyframes authyo-cursor-blink {
    0%, 50% { opacity: 1; }
    51%, 100% { opacity: 0; }
}

.authyo-streaming .authyo-streaming-text {
    display: inline;
}

/* ===== Character Counter ===== */
.authyo-unified-char-counter {
    font-size: 10px;
    color: #adb5bd;
    text-align: right;
    padding: 2px 14px 0;
    line-height: 1;
}

.authyo-unified-char-counter.authyo-char-warn {
    color: #e74c3c;
    font-weight: 600;
}

/* ===== Robot Idle Animations ===== */
.authyo-unified-launcher .authyo-robot-body-group {
    animation: authyo-unified-idle 3s ease-in-out infinite;
}

@keyframes authyo-unified-idle {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

.authyo-unified-launcher .authyo-robot-eye {
    animation: authyo-unified-blink 3.5s ease-in-out infinite;
}

.authyo-unified-launcher .authyo-robot-eye-left { transform-origin: 50px 40px; }
.authyo-unified-launcher .authyo-robot-eye-right { transform-origin: 70px 40px; animation-delay: 0.05s; }

@keyframes authyo-unified-blink {
    0%, 100% { transform: scaleY(1); }
    24% { transform: scaleY(1); }
    25% { transform: scaleY(0.05); }
    27% { transform: scaleY(1); }
    74% { transform: scaleY(1); }
    75% { transform: scaleY(0.05); }
    77% { transform: scaleY(1); }
}

.authyo-unified-launcher .authyo-robot-cape {
    transform-origin: top center;
    animation: authyo-unified-cape 4s ease-in-out infinite;
}

@keyframes authyo-unified-cape {
    0%, 100% { transform: skewX(0deg) scaleY(1); }
    25% { transform: skewX(3deg) scaleY(1.02); }
    75% { transform: skewX(-2deg) scaleY(0.98); }
}

.authyo-unified-launcher .authyo-robot-torso {
    transform-origin: 60px 88px;
    animation: authyo-unified-breathe 3.5s ease-in-out infinite;
}

@keyframes authyo-unified-breathe {
    0%, 100% { transform: scale(1, 1); }
    50% { transform: scale(1.02, 1.03); }
}

.authyo-unified-launcher .authyo-robot-antenna-tip {
    animation: authyo-unified-antenna 2s ease-in-out infinite;
}

@keyframes authyo-unified-antenna {
    0%, 100% { fill-opacity: 0.6; }
    50% { fill-opacity: 1; }
}

.authyo-unified-launcher .authyo-robot-eyes-group {
    animation: authyo-unified-eye-glow 2.5s ease-in-out infinite;
}

@keyframes authyo-unified-eye-glow {
    0%, 100% { filter: drop-shadow(0 0 4px rgba(100, 220, 255, 0.8)); }
    50% { filter: drop-shadow(0 0 10px rgba(100, 230, 255, 1)); }
}

/* ===== Robot Interaction Animations ===== */

/* --- Thinking State (waiting for AI response) --- */
.authyo-unified-launcher.authyo-robot-thinking .authyo-robot-head-group {
    animation: authyo-robot-think-head 1.5s ease-in-out infinite !important;
    transform-origin: 60px 42px;
}
@keyframes authyo-robot-think-head {
    0%, 100% { transform: rotate(0deg) translateY(0); }
    30% { transform: rotate(5deg) translateY(-2px); }
    70% { transform: rotate(-3deg) translateY(-1px); }
}

.authyo-unified-launcher.authyo-robot-thinking .authyo-robot-eyes-group {
    animation: authyo-robot-think-eyes 0.8s ease-in-out infinite !important;
}
@keyframes authyo-robot-think-eyes {
    0%, 100% { filter: drop-shadow(0 0 6px rgba(100, 220, 255, 0.9)); transform: translateY(0); }
    50% { filter: drop-shadow(0 0 12px rgba(100, 230, 255, 1)); transform: translateY(-2px); }
}

.authyo-unified-launcher.authyo-robot-thinking .authyo-robot-antenna-tip {
    animation: authyo-robot-think-antenna 0.5s ease-in-out infinite !important;
}
@keyframes authyo-robot-think-antenna {
    0%, 100% { fill: #FFB347; r: 2.5; }
    50% { fill: #7DE4F7; r: 3.5; }
}

.authyo-unified-launcher.authyo-robot-thinking .authyo-robot-hand-right {
    animation: authyo-robot-think-hand 2s ease-in-out infinite !important;
    transform-origin: 83px 78px;
}
@keyframes authyo-robot-think-hand {
    0%, 100% { transform: rotate(0deg); }
    50% { transform: rotate(-15deg) translateY(-5px); }
}

.authyo-unified-launcher.authyo-robot-thinking .authyo-robot-body-group {
    animation: authyo-robot-think-body 2s ease-in-out infinite !important;
}
@keyframes authyo-robot-think-body {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-3px); }
}

/* --- Talking State (bot message arriving) --- */
.authyo-unified-launcher.authyo-robot-talking .authyo-robot-body-group {
    animation: authyo-robot-talk-bounce 0.5s ease-out !important;
}
@keyframes authyo-robot-talk-bounce {
    0% { transform: translateY(0) scale(1); }
    30% { transform: translateY(-10px) scale(1.05); }
    50% { transform: translateY(-5px) scale(1.02); }
    70% { transform: translateY(-8px) scale(1.03); }
    100% { transform: translateY(0) scale(1); }
}

.authyo-unified-launcher.authyo-robot-talking .authyo-robot-eyes-group {
    animation: authyo-robot-talk-eyes 0.5s ease-out !important;
}
@keyframes authyo-robot-talk-eyes {
    0% { filter: drop-shadow(0 0 4px rgba(100, 220, 255, 0.8)); }
    40% { filter: drop-shadow(0 0 18px rgba(100, 255, 230, 1)); }
    100% { filter: drop-shadow(0 0 6px rgba(100, 220, 255, 0.9)); }
}

.authyo-unified-launcher.authyo-robot-talking .authyo-robot-hand-left {
    animation: authyo-robot-talk-wave-l 0.6s ease-out !important;
    transform-origin: 37px 78px;
}
@keyframes authyo-robot-talk-wave-l {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(10deg); }
    50% { transform: rotate(-5deg); }
    75% { transform: rotate(5deg); }
}

.authyo-unified-launcher.authyo-robot-talking .authyo-robot-hand-right {
    animation: authyo-robot-talk-wave-r 0.6s ease-out !important;
    transform-origin: 83px 78px;
}
@keyframes authyo-robot-talk-wave-r {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(-12deg); }
    50% { transform: rotate(5deg); }
    75% { transform: rotate(-5deg); }
}

.authyo-unified-launcher.authyo-robot-talking .authyo-robot-antenna-tip {
    animation: authyo-robot-talk-antenna 0.4s ease-out !important;
}
@keyframes authyo-robot-talk-antenna {
    0% { fill: #FFB347; }
    50% { fill: #7DE4F7; r: 4; }
    100% { fill: #FFB347; }
}

/* --- Welcoming State (lead capture starts) --- */
.authyo-unified-launcher.authyo-robot-welcoming .authyo-robot-body-group {
    animation: authyo-robot-welcome-body 1s ease-in-out !important;
}
@keyframes authyo-robot-welcome-body {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    20% { transform: translateY(-5px) rotate(-2deg); }
    50% { transform: translateY(-3px) rotate(2deg); }
    80% { transform: translateY(-5px) rotate(-1deg); }
}

.authyo-unified-launcher.authyo-robot-welcoming .authyo-robot-hand-right {
    animation: authyo-robot-welcome-wave 0.8s ease-in-out 2 !important;
    transform-origin: 83px 78px;
}
@keyframes authyo-robot-welcome-wave {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(-25deg) translateX(3px); }
    75% { transform: rotate(-15deg) translateX(1px); }
}

.authyo-unified-launcher.authyo-robot-welcoming .authyo-robot-hand-left {
    animation: authyo-robot-welcome-left 1s ease-in-out !important;
    transform-origin: 37px 78px;
}
@keyframes authyo-robot-welcome-left {
    0%, 100% { transform: rotate(0deg); }
    50% { transform: rotate(8deg) translateY(-3px); }
}

.authyo-unified-launcher.authyo-robot-welcoming .authyo-robot-head-group {
    animation: authyo-robot-welcome-nod 0.6s ease-in-out 2 !important;
    transform-origin: 60px 55px;
}
@keyframes authyo-robot-welcome-nod {
    0%, 100% { transform: rotate(0deg); }
    50% { transform: rotate(5deg); }
}

.authyo-unified-launcher.authyo-robot-welcoming .authyo-robot-eyes-group {
    animation: authyo-robot-welcome-eyes 1s ease-out !important;
}
@keyframes authyo-robot-welcome-eyes {
    0% { filter: drop-shadow(0 0 4px rgba(100, 220, 255, 0.8)); transform: scale(1); }
    30% { filter: drop-shadow(0 0 14px rgba(100, 255, 200, 1)); transform: scale(1.15); }
    100% { filter: drop-shadow(0 0 6px rgba(100, 220, 255, 0.9)); transform: scale(1); }
}

/* --- Celebration State (form submitted successfully) --- */
.authyo-unified-launcher.authyo-robot-celebrating .authyo-robot-body-group {
    animation: authyo-robot-celebrate-jump 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}
@keyframes authyo-robot-celebrate-jump {
    0% { transform: translateY(0) scale(1); }
    25% { transform: translateY(-20px) scale(1.08); }
    40% { transform: translateY(-18px) scale(1.06); }
    60% { transform: translateY(-5px) scale(1.02); }
    75% { transform: translateY(-8px) scale(1.03); }
    100% { transform: translateY(0) scale(1); }
}

.authyo-unified-launcher.authyo-robot-celebrating .authyo-robot-hand-left {
    animation: authyo-robot-celebrate-arm-l 0.8s ease-out !important;
    transform-origin: 37px 85px;
}
@keyframes authyo-robot-celebrate-arm-l {
    0%, 100% { transform: rotate(0deg); }
    30% { transform: rotate(30deg) translateY(-8px); }
    60% { transform: rotate(20deg) translateY(-4px); }
}

.authyo-unified-launcher.authyo-robot-celebrating .authyo-robot-hand-right {
    animation: authyo-robot-celebrate-arm-r 0.8s ease-out !important;
    transform-origin: 83px 85px;
}
@keyframes authyo-robot-celebrate-arm-r {
    0%, 100% { transform: rotate(0deg); }
    30% { transform: rotate(-35deg) translateY(-10px); }
    60% { transform: rotate(-22deg) translateY(-5px); }
}

.authyo-unified-launcher.authyo-robot-celebrating .authyo-robot-eyes-group {
    animation: authyo-robot-celebrate-eyes 0.8s ease-out !important;
}
@keyframes authyo-robot-celebrate-eyes {
    0% { filter: drop-shadow(0 0 4px rgba(100, 220, 255, 0.8)); transform: scale(1); }
    30% { filter: drop-shadow(0 0 20px rgba(255, 200, 50, 1)); transform: scale(1.2); }
    60% { filter: drop-shadow(0 0 16px rgba(100, 255, 150, 1)); transform: scale(1.1); }
    100% { filter: drop-shadow(0 0 6px rgba(100, 220, 255, 0.9)); transform: scale(1); }
}

.authyo-unified-launcher.authyo-robot-celebrating .authyo-robot-antenna-tip {
    animation: authyo-robot-celebrate-antenna 0.3s ease-in-out 3 !important;
}
@keyframes authyo-robot-celebrate-antenna {
    0%, 100% { fill: #FFB347; r: 2.5; }
    50% { fill: #7DE4F7; r: 4.5; }
}

.authyo-unified-launcher.authyo-robot-celebrating .authyo-robot-leg-left-group {
    animation: authyo-robot-celebrate-leg-l 0.6s ease-out !important;
    transform-origin: 49px 108px;
}
@keyframes authyo-robot-celebrate-leg-l {
    0%, 100% { transform: rotate(0deg); }
    40% { transform: rotate(-10deg); }
}

.authyo-unified-launcher.authyo-robot-celebrating .authyo-robot-leg-right-group {
    animation: authyo-robot-celebrate-leg-r 0.6s ease-out !important;
    transform-origin: 71px 108px;
}
@keyframes authyo-robot-celebrate-leg-r {
    0%, 100% { transform: rotate(0deg); }
    40% { transform: rotate(10deg); }
}

.authyo-unified-launcher.authyo-robot-celebrating .authyo-robot-cape {
    animation: authyo-robot-celebrate-cape 0.8s ease-out !important;
}
@keyframes authyo-robot-celebrate-cape {
    0%, 100% { transform: skewX(0deg) scaleY(1); }
    25% { transform: skewX(8deg) scaleY(1.1); }
    50% { transform: skewX(-6deg) scaleY(1.05); }
    75% { transform: skewX(4deg) scaleY(1.02); }
}

/* ===== Robot Walking Animation (on page scroll) ===== */

/* Launcher slides left then right then back */
@keyframes authyo-unified-walk-3d {
    0%        { transform: translateX(0); }
    5%        { transform: translateX(0); }
    8%        { transform: translateX(-8px); }
    18%       { transform: translateX(-30px); }
    28%       { transform: translateX(-45px); }
    30%       { transform: translateX(-45px); }
    35%       { transform: translateX(-45px); }
    38%       { transform: translateX(-35px); }
    50%       { transform: translateX(0px); }
    60%       { transform: translateX(30px); }
    65%       { transform: translateX(40px); }
    67%       { transform: translateX(40px); }
    72%       { transform: translateX(40px); }
    78%       { transform: translateX(25px); }
    90%       { transform: translateX(5px); }
    100%      { transform: translateX(0); }
}

/* SVG turns to face walking direction */
@keyframes authyo-unified-walk-turn {
    0%        { transform: rotateY(0deg); }
    5%        { transform: rotateY(35deg); }
    8%        { transform: rotateY(35deg); }
    28%       { transform: rotateY(35deg); }
    30%       { transform: rotateY(35deg); }
    35%       { transform: rotateY(-35deg); }
    38%       { transform: rotateY(-35deg); }
    65%       { transform: rotateY(-35deg); }
    67%       { transform: rotateY(-35deg); }
    75%       { transform: rotateY(0deg); }
    100%      { transform: rotateY(0deg); }
}

/* Body bounces with each step */
@keyframes authyo-unified-walk-bounce {
    0%, 5%    { transform: translateY(0); }
    10%  { transform: translateY(-3px); }
    12%  { transform: translateY(0); }
    14%  { transform: translateY(-3px); }
    16%  { transform: translateY(0); }
    18%  { transform: translateY(-3px); }
    20%  { transform: translateY(0); }
    22%  { transform: translateY(-3px); }
    24%  { transform: translateY(0); }
    26%  { transform: translateY(-3px); }
    28%  { transform: translateY(0); }
    30%, 35% { transform: translateY(0); }
    40%  { transform: translateY(-3px); }
    42%  { transform: translateY(0); }
    44%  { transform: translateY(-3px); }
    46%  { transform: translateY(0); }
    48%  { transform: translateY(-3px); }
    50%  { transform: translateY(0); }
    52%  { transform: translateY(-3px); }
    54%  { transform: translateY(0); }
    56%  { transform: translateY(-3px); }
    58%  { transform: translateY(0); }
    60%  { transform: translateY(-3px); }
    62%  { transform: translateY(0); }
    65%, 100% { transform: translateY(0); }
}

/* Left leg stepping */
@keyframes authyo-unified-step-left {
    0%, 5%   { transform: rotate(0deg); }
    10%  { transform: rotate(-15deg); }
    14%  { transform: rotate(15deg); }
    18%  { transform: rotate(-15deg); }
    22%  { transform: rotate(15deg); }
    26%  { transform: rotate(-15deg); }
    30%, 35% { transform: rotate(0deg); }
    40%  { transform: rotate(15deg); }
    44%  { transform: rotate(-15deg); }
    48%  { transform: rotate(15deg); }
    52%  { transform: rotate(-15deg); }
    56%  { transform: rotate(15deg); }
    60%  { transform: rotate(-15deg); }
    65%, 100% { transform: rotate(0deg); }
}

/* Right leg stepping (opposite phase) */
@keyframes authyo-unified-step-right {
    0%, 5%   { transform: rotate(0deg); }
    10%  { transform: rotate(15deg); }
    14%  { transform: rotate(-15deg); }
    18%  { transform: rotate(15deg); }
    22%  { transform: rotate(-15deg); }
    26%  { transform: rotate(15deg); }
    30%, 35% { transform: rotate(0deg); }
    40%  { transform: rotate(-15deg); }
    44%  { transform: rotate(15deg); }
    48%  { transform: rotate(-15deg); }
    52%  { transform: rotate(15deg); }
    56%  { transform: rotate(-15deg); }
    60%  { transform: rotate(15deg); }
    65%, 100% { transform: rotate(0deg); }
}

/* Arm swing while walking */
@keyframes authyo-unified-arm-left-walk {
    0%, 5%    { transform: rotate(0deg); }
    10%  { transform: rotate(20deg); }
    14%  { transform: rotate(-20deg); }
    18%  { transform: rotate(20deg); }
    22%  { transform: rotate(-20deg); }
    26%  { transform: rotate(20deg); }
    30%, 35%  { transform: rotate(0deg); }
    40%  { transform: rotate(-20deg); }
    44%  { transform: rotate(20deg); }
    48%  { transform: rotate(-20deg); }
    52%  { transform: rotate(20deg); }
    56%  { transform: rotate(-20deg); }
    60%  { transform: rotate(20deg); }
    65%, 100% { transform: rotate(0deg); }
}

@keyframes authyo-unified-arm-right-walk {
    0%, 5%    { transform: rotate(0deg); }
    10%  { transform: rotate(-20deg); }
    14%  { transform: rotate(20deg); }
    18%  { transform: rotate(-20deg); }
    22%  { transform: rotate(20deg); }
    26%  { transform: rotate(-20deg); }
    30%, 35%  { transform: rotate(0deg); }
    40%  { transform: rotate(20deg); }
    44%  { transform: rotate(-20deg); }
    48%  { transform: rotate(20deg); }
    52%  { transform: rotate(-20deg); }
    56%  { transform: rotate(20deg); }
    60%  { transform: rotate(-20deg); }
    65%, 100% { transform: rotate(0deg); }
}

/* Cape flares when turning */
@keyframes authyo-unified-cape-walk {
    0%        { transform: skewX(0deg) scaleX(1); }
    5%        { transform: skewX(8deg) scaleX(1.1); }
    28%       { transform: skewX(4deg) scaleX(1.05); }
    30%       { transform: skewX(0deg) scaleX(1); }
    35%       { transform: skewX(-8deg) scaleX(1.1); }
    65%       { transform: skewX(-4deg) scaleX(1.05); }
    67%       { transform: skewX(0deg) scaleX(1); }
    75%       { transform: skewX(3deg) scaleX(1.02); }
    100%      { transform: skewX(0deg) scaleX(1); }
}

/* Walking state classes */
.authyo-unified-launcher.authyo-robot-walking {
    animation: authyo-unified-walk-3d 4.5s ease-in-out forwards !important;
}

.authyo-unified-launcher.authyo-robot-walking .authyo-robot-svg {
    animation: authyo-unified-walk-turn 4.5s ease-in-out forwards;
}

.authyo-unified-launcher.authyo-robot-walking .authyo-robot-body-group {
    animation: authyo-unified-walk-bounce 4.5s ease-in-out forwards !important;
    transform-origin: 60px 130px;
}

.authyo-unified-launcher.authyo-robot-walking .authyo-robot-hand-left {
    transform-origin: 37px 85px;
    animation: authyo-unified-arm-left-walk 4.5s ease-in-out forwards !important;
}

.authyo-unified-launcher.authyo-robot-walking .authyo-robot-hand-right {
    transform-origin: 83px 78px;
    animation: authyo-unified-arm-right-walk 4.5s ease-in-out forwards !important;
}

.authyo-unified-launcher.authyo-robot-walking .authyo-robot-cape {
    transform-origin: 60px 68px;
    animation: authyo-unified-cape-walk 4.5s ease-in-out forwards !important;
}

.authyo-unified-launcher.authyo-robot-walking .authyo-robot-leg-left-group {
    transform-origin: 49px 108px;
    animation: authyo-unified-step-left 4.5s ease-in-out forwards !important;
}

.authyo-unified-launcher.authyo-robot-walking .authyo-robot-leg-right-group {
    transform-origin: 71px 108px;
    animation: authyo-unified-step-right 4.5s ease-in-out forwards !important;
}

/* ===== Robot Ambient Animations (cycle while chat is open) ===== */

/* --- Watching: Robot looks toward the chat window --- */
.authyo-unified-launcher.authyo-robot-watching .authyo-robot-head-group {
    animation: authyo-robot-watch-head 2s ease-in-out !important;
    transform-origin: 60px 50px;
}
@keyframes authyo-robot-watch-head {
    0%, 100% { transform: rotate(0deg) translateX(0); }
    30% { transform: rotate(8deg) translateX(-2px); }
    70% { transform: rotate(6deg) translateX(-1px); }
}

.authyo-unified-launcher.authyo-robot-watching .authyo-robot-eyes-group {
    animation: authyo-robot-watch-eyes 2s ease-in-out !important;
}
@keyframes authyo-robot-watch-eyes {
    0%, 100% { transform: translateX(0); filter: drop-shadow(0 0 4px rgba(100, 220, 255, 0.8)); }
    30% { transform: translateX(-3px) translateY(-1px); filter: drop-shadow(0 0 10px rgba(100, 255, 220, 1)); }
    70% { transform: translateX(-2px); filter: drop-shadow(0 0 8px rgba(100, 240, 230, 0.9)); }
}

.authyo-unified-launcher.authyo-robot-watching .authyo-robot-body-group {
    animation: authyo-robot-watch-lean 2s ease-in-out !important;
}
@keyframes authyo-robot-watch-lean {
    0%, 100% { transform: translateX(0) rotate(0deg); }
    40% { transform: translateX(-3px) rotate(-2deg); }
    80% { transform: translateX(-1px) rotate(-1deg); }
}

/* --- Nodding: Robot nods like it understands --- */
.authyo-unified-launcher.authyo-robot-nodding .authyo-robot-head-group {
    animation: authyo-robot-nod 0.6s ease-in-out 3 !important;
    transform-origin: 60px 55px;
}
@keyframes authyo-robot-nod {
    0%, 100% { transform: rotate(0deg); }
    40% { transform: rotate(6deg); }
    60% { transform: rotate(4deg); }
}

.authyo-unified-launcher.authyo-robot-nodding .authyo-robot-eyes-group {
    animation: authyo-robot-nod-eyes 0.6s ease-in-out 3 !important;
}
@keyframes authyo-robot-nod-eyes {
    0%, 100% { transform: scaleY(1); }
    40% { transform: scaleY(0.85); }
}

.authyo-unified-launcher.authyo-robot-nodding .authyo-robot-antenna-group {
    animation: authyo-robot-nod-antenna 0.6s ease-in-out 3 !important;
    transform-origin: 60px 22px;
}
@keyframes authyo-robot-nod-antenna {
    0%, 100% { transform: rotate(0deg); }
    40% { transform: rotate(4deg); }
}

/* --- Waving: Robot waves hello --- */
.authyo-unified-launcher.authyo-robot-waving .authyo-robot-hand-right {
    animation: authyo-robot-ambient-wave 0.5s ease-in-out 4 !important;
    transform-origin: 83px 78px;
}
@keyframes authyo-robot-ambient-wave {
    0%, 100% { transform: rotate(0deg); }
    30% { transform: rotate(-30deg) translateY(-5px); }
    60% { transform: rotate(-15deg) translateY(-2px); }
}

.authyo-unified-launcher.authyo-robot-waving .authyo-robot-eyes-group {
    animation: authyo-robot-wave-eyes 2s ease-out !important;
}
@keyframes authyo-robot-wave-eyes {
    0% { filter: drop-shadow(0 0 4px rgba(100, 220, 255, 0.8)); transform: scale(1); }
    20% { filter: drop-shadow(0 0 14px rgba(100, 255, 200, 1)); transform: scale(1.12); }
    100% { filter: drop-shadow(0 0 6px rgba(100, 220, 255, 0.9)); transform: scale(1); }
}

.authyo-unified-launcher.authyo-robot-waving .authyo-robot-body-group {
    animation: authyo-robot-wave-body 2s ease-out !important;
}
@keyframes authyo-robot-wave-body {
    0%, 100% { transform: translateY(0); }
    15% { transform: translateY(-4px); }
    30% { transform: translateY(-2px); }
}

/* --- Heartbeat: Chest glows with a living pulse --- */
.authyo-unified-launcher.authyo-robot-heartbeat .authyo-robot-torso {
    animation: authyo-robot-heartbeat-pulse 1.2s ease-in-out 3 !important;
    transform-origin: 60px 86px;
}
@keyframes authyo-robot-heartbeat-pulse {
    0%, 100% { transform: scale(1); filter: none; }
    15% { transform: scale(1.06); filter: drop-shadow(0 0 8px rgba(255, 154, 46, 0.6)); }
    30% { transform: scale(1); filter: none; }
    45% { transform: scale(1.04); filter: drop-shadow(0 0 6px rgba(255, 154, 46, 0.4)); }
}

.authyo-unified-launcher.authyo-robot-heartbeat .authyo-robot-antenna-tip {
    animation: authyo-robot-heartbeat-antenna 1.2s ease-in-out 3 !important;
}
@keyframes authyo-robot-heartbeat-antenna {
    0%, 100% { fill: #FFB347; r: 2.5; }
    15% { fill: #FF6B00; r: 4; }
    30% { fill: #FFB347; r: 2.5; }
    45% { fill: #FF8C00; r: 3.5; }
}

.authyo-unified-launcher.authyo-robot-heartbeat .authyo-robot-eyes-group {
    animation: authyo-robot-heartbeat-eyes 1.2s ease-in-out 3 !important;
}
@keyframes authyo-robot-heartbeat-eyes {
    0%, 100% { filter: drop-shadow(0 0 4px rgba(100, 220, 255, 0.8)); }
    15% { filter: drop-shadow(0 0 12px rgba(255, 180, 50, 0.9)); }
    30% { filter: drop-shadow(0 0 4px rgba(100, 220, 255, 0.8)); }
    45% { filter: drop-shadow(0 0 10px rgba(255, 200, 80, 0.7)); }
}

.authyo-unified-launcher.authyo-robot-heartbeat .authyo-robot-cape {
    animation: authyo-robot-heartbeat-cape 1.2s ease-in-out 3 !important;
    transform-origin: top center;
}
@keyframes authyo-robot-heartbeat-cape {
    0%, 100% { transform: scaleY(1); }
    15% { transform: scaleY(1.04); }
    30% { transform: scaleY(1); }
}

/* ===== Chat Window ===== */
.authyo-unified-window {
    position: absolute;
    bottom: 130px;
    right: 0;
    width: 380px;
    max-height: min(520px, calc(100vh - 160px));
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.08);
    display: none;
    flex-direction: column;
    overflow: hidden;
}

.authyo-unified-window.authyo-unified-visible {
    display: flex;
    animation: authyo-unified-slide-up 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes authyo-unified-slide-up {
    from { opacity: 0; transform: translateY(20px) scale(0.95); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

/* ===== Header ===== */
.authyo-unified-header {
    padding: 14px 16px;
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
}

.authyo-unified-header-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.authyo-unified-header-avatar {
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.authyo-unified-mini-robot {
    width: 28px;
    height: 28px;
}

.authyo-unified-header-info {
    display: flex;
    flex-direction: column;
}

.authyo-unified-header-title {
    font-weight: 600;
    font-size: 15px;
    line-height: 1.2;
}

.authyo-unified-header-status {
    font-size: 11px;
    opacity: 0.85;
    line-height: 1.2;
}

.authyo-unified-header-actions {
    display: flex;
    gap: 4px;
}

.authyo-unified-new-btn,
.authyo-unified-close-btn,
.authyo-unified-new-btn:focus,
.authyo-unified-close-btn:focus,
.authyo-unified-new-btn:active,
.authyo-unified-close-btn:active {
    background: rgba(255, 255, 255, 0.15) !important;
    border: none !important;
    color: #fff !important;
    width: 30px;
    height: 30px;
    border-radius: 6px !important;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    transition: background 0.2s;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0;
    outline: none;
}

.authyo-unified-new-btn:hover,
.authyo-unified-close-btn:hover {
    background: rgba(255, 255, 255, 0.3) !important;
}

.authyo-unified-close-btn { font-size: 22px; }

/* Minimize button */
.authyo-unified-minimize-btn,
.authyo-unified-minimize-btn:focus,
.authyo-unified-minimize-btn:active {
    background: rgba(255, 255, 255, 0.15) !important;
    border: none !important;
    color: #fff !important;
    width: 30px;
    height: 30px;
    border-radius: 6px !important;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: bold;
    transition: background 0.2s;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0;
    outline: none;
}

.authyo-unified-minimize-btn:hover {
    background: rgba(255, 255, 255, 0.3) !important;
}

/* Minimized state */
.authyo-unified-window.authyo-unified-minimized {
    display: none !important;
}

/* Mini bar (shown when minimized) */
.authyo-unified-mini-bar {
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 10px 16px;
    border-radius: 24px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s, box-shadow 0.2s;
    animation: authyo-unified-msg-in 0.3s ease-out;
    white-space: nowrap;
}

.authyo-unified-mini-bar:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

.authyo-unified-mini-badge {
    background: rgba(255, 255, 255, 0.25);
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: normal;
}

/* ===== Messages Area ===== */
.authyo-unified-messages {
    flex: 1 1 auto;
    padding: 16px;
    overflow-y: auto;
    background: #f7f8fa;
    scroll-behavior: smooth;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.authyo-unified-msg {
    max-width: 85%;
    padding: 10px 14px;
    border-radius: 16px;
    font-size: 14px;
    line-height: 1.5;
    animation: authyo-unified-msg-in 0.25s ease-out;
    word-wrap: break-word;
}

@keyframes authyo-unified-msg-in {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Message Row (wrapper for avatar + bubble) */
.authyo-unified-msg-row {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    max-width: 88%;
    animation: authyo-unified-msg-in 0.25s ease-out;
}

.authyo-unified-msg-row.bot {
    align-self: flex-start;
}

.authyo-unified-msg-row.user {
    align-self: flex-end;
    flex-direction: row-reverse;
}

/* Bot Avatar next to messages */
.authyo-unified-msg-avatar {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #e9ecef;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2px;
}

.authyo-unified-msg-avatar svg {
    width: 18px;
    height: 18px;
}

/* Message Bubble */
.authyo-unified-msg-bubble {
    padding: 10px 14px;
    border-radius: 16px;
    font-size: 14px;
    line-height: 1.5;
    word-wrap: break-word;
}

.authyo-unified-msg-bubble.bot {
    background: #e9ecef;
    color: #212529;
    border-bottom-left-radius: 4px;
}

.authyo-unified-msg-bubble.user {
    color: #fff;
    border-bottom-right-radius: 4px;
}

/* Message Timestamp */
.authyo-unified-msg-time {
    display: block;
    font-size: 10px;
    opacity: 0.55;
    margin-top: 3px;
    line-height: 1;
}

.authyo-unified-msg-row.user .authyo-unified-msg-time {
    text-align: right;
}

/* Read Receipt Status */
.authyo-unified-msg-status {
    font-size: 10px;
    opacity: 0.7;
}

/* Backward compat: old .authyo-unified-msg class (used by fallback buttons, etc.) */
.authyo-unified-msg.bot {
    background: #e9ecef;
    color: #212529;
    border-bottom-left-radius: 4px;
    align-self: flex-start;
}

.authyo-unified-msg.user {
    color: #fff;
    border-bottom-right-radius: 4px;
    align-self: flex-end;
}

/* Verified badge */
.authyo-unified-verified {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #0a8a0a;
    font-weight: 600;
    font-size: 13px;
}

/* ===== Typing Indicator ===== */
.authyo-unified-typing {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 12px 16px;
    background: #e9ecef;
    border-radius: 16px;
    border-bottom-left-radius: 4px;
    align-self: flex-start;
    max-width: 65px;
}

.authyo-unified-typing span {
    width: 7px;
    height: 7px;
    background: #adb5bd;
    border-radius: 50%;
    animation: authyo-unified-dot 1.4s infinite ease-in-out;
}

.authyo-unified-typing span:nth-child(2) { animation-delay: 0.2s; }
.authyo-unified-typing span:nth-child(3) { animation-delay: 0.4s; }

@keyframes authyo-unified-dot {
    0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; }
    40% { transform: scale(1); opacity: 1; }
}

/* ===== Quick Actions Bar ===== */
.authyo-unified-quick-actions {
    padding: 6px 14px 8px;
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    background: #f7f8fa;
    border-top: 1px solid #eef0f2;
}

.authyo-unified-quick-btn,
.authyo-unified-quick-btn:focus,
.authyo-unified-quick-btn:active {
    padding: 5px 14px !important;
    border-radius: 16px !important;
    border: 1px solid #dee2e6 !important;
    background: #fff !important;
    color: #495057 !important;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
    box-shadow: none !important;
    margin: 0;
    outline: none;
    line-height: normal;
}

.authyo-unified-quick-btn:hover {
    background: #e9ecef !important;
    border-color: #ced4da !important;
}

.authyo-unified-param-btn,
.authyo-unified-param-btn:focus,
.authyo-unified-param-btn:active {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    color: #fff !important;
    border-color: transparent !important;
    font-weight: 500;
    box-shadow: 0 1px 3px rgba(102, 126, 234, 0.3) !important;
}

.authyo-unified-param-btn:hover {
    background: linear-gradient(135deg, #5a6fd6 0%, #6a4291 100%) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 2px 6px rgba(102, 126, 234, 0.4) !important;
    transform: translateY(-1px);
}

/* ===== Input Area ===== */
.authyo-unified-input-area {
    padding: 10px 14px;
    border-top: 1px solid #e9ecef;
    background: #fff;
    flex-shrink: 0;
}

.authyo-unified-input-form {
    display: flex;
    gap: 8px;
    align-items: flex-end;
}

.authyo-unified-input-form textarea {
    flex: 1;
    padding: 10px 14px;
    border: 1px solid #dee2e6;
    border-radius: 20px;
    outline: none;
    font-family: inherit;
    font-size: 14px;
    resize: none;
    min-height: 40px;
    max-height: 100px;
    line-height: 1.4;
    transition: border-color 0.2s;
}

.authyo-unified-input-form textarea:focus {
    border-color: #0073aa;
    box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.1);
}

.authyo-unified-send-btn,
.authyo-unified-send-btn:hover,
.authyo-unified-send-btn:focus,
.authyo-unified-send-btn:active {
    width: 40px;
    height: 40px;
    border-radius: 50% !important;
    border: none !important;
    color: #fff !important;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s, transform 0.2s;
    flex-shrink: 0;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0;
    outline: none;
}

.authyo-unified-send-btn:hover { opacity: 0.9; transform: scale(1.05); }
.authyo-unified-send-btn:disabled { opacity: 0.5 !important; cursor: not-allowed; transform: none; }

/* ===== Lead Capture Form (inline in input area) ===== */
.authyo-unified-lead-form {
    display: flex;
    gap: 8px;
    width: 100%;
    align-items: flex-end;
}

.authyo-unified-lead-form input,
.authyo-unified-lead-form select,
.authyo-unified-lead-form textarea {
    flex: 1;
    padding: 10px 14px;
    border: 1px solid #dee2e6;
    border-radius: 12px;
    font-family: inherit;
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s;
    min-width: 0;
}

.authyo-unified-lead-form input:focus,
.authyo-unified-lead-form select:focus,
.authyo-unified-lead-form textarea:focus {
    border-color: #0073aa;
    box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.1);
}

.authyo-unified-lead-form textarea {
    resize: vertical;
    min-height: 40px;
}

.authyo-unified-lead-form button {
    padding: 10px 18px;
    border: none;
    border-radius: 12px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.2s;
    white-space: nowrap;
    flex-shrink: 0;
}

.authyo-unified-lead-form button:hover { opacity: 0.9; }
.authyo-unified-lead-form button:disabled { opacity: 0.5; cursor: not-allowed; }

/* Auth Way Method Buttons */
.authyo-unified-method-btns {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
}

.authyo-unified-method-btn {
    padding: 10px 16px;
    border: none;
    border-radius: 10px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.2s;
}

.authyo-unified-method-btn:hover { opacity: 0.85; }

/* Select/Radio/Checkbox Option Buttons */
.authyo-unified-option-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
}

.authyo-unified-option-btn {
    padding: 9px 18px;
    border-radius: 20px;
    border: 2px solid;
    background: #fff;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.authyo-unified-option-btn:hover {
    opacity: 0.85;
    transform: scale(1.03);
}

.authyo-unified-option-btn.authyo-selected {
    color: #fff !important;
}

.authyo-unified-option-done {
    font-size: 14px;
    font-weight: 600;
    transition: opacity 0.2s;
}

.authyo-unified-option-done:hover {
    opacity: 0.9;
}

/* Input Error */
.authyo-unified-input-error {
    color: #d63638;
    font-size: 12px;
    padding: 4px 8px;
    margin-top: 4px;
    text-align: center;
}

/* Retry Button */
.authyo-unified-retry-wrap {
    text-align: center;
    padding: 8px;
}

.authyo-unified-retry-btn {
    padding: 10px 24px;
    border: none;
    border-radius: 10px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.authyo-unified-retry-btn:hover { opacity: 0.9; }

/* Fallback Buttons */
.authyo-unified-fallback-btns {
    display: flex;
    gap: 8px;
    margin-top: 4px;
    animation: authyo-unified-msg-in 0.25s ease-out;
}

.authyo-unified-fb-btn {
    padding: 8px 16px;
    border-radius: 20px;
    border: none;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    transition: opacity 0.2s;
}

.authyo-unified-fb-btn:hover { opacity: 0.85; }

.authyo-unified-fb-btn.primary { color: #fff; }
.authyo-unified-fb-btn.secondary { background: #e9ecef; color: #495057; }

/* ===== Suggested Questions ===== */
.authyo-unified-suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
    animation: authyo-unified-msg-in 0.3s ease-out;
}

.authyo-unified-suggest-btn {
    padding: 6px 14px;
    border-radius: 16px;
    border: 1px solid #dee2e6;
    background: #fff;
    color: #495057;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
}

.authyo-unified-suggest-btn:hover {
    background: #e9ecef;
    border-color: #ced4da;
}

/* Quick actions contact button styling */
.authyo-unified-quick-contact {
    border-style: dashed;
}

/* ===== Sound Toggle Button ===== */
.authyo-unified-sound-btn,
.authyo-unified-sound-btn:focus,
.authyo-unified-sound-btn:active {
    background: rgba(255, 255, 255, 0.15) !important;
    border: none !important;
    color: #fff !important;
    width: 30px;
    height: 30px;
    border-radius: 6px !important;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    transition: background 0.2s;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0;
    outline: none;
}

.authyo-unified-sound-btn:hover {
    background: rgba(255, 255, 255, 0.3) !important;
}

/* ===== Read Receipt / Message Status ===== */
.authyo-unified-msg-status {
    font-size: 10px;
    text-align: right;
    margin-top: 2px;
    opacity: 0.7;
    line-height: 1;
}

/* ===== Rating Prompt ===== */
.authyo-unified-rating {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background: #f0f6fc;
    border-radius: 12px;
    align-self: flex-start;
    animation: authyo-unified-msg-in 0.3s ease-out;
    margin-top: 4px;
}

.authyo-unified-rating-text {
    font-size: 13px;
    color: #495057;
}

.authyo-unified-rate-btn {
    background: none;
    border: 1px solid #dee2e6;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}

.authyo-unified-rate-btn:hover {
    background: #e9ecef;
    transform: scale(1.15);
}

/* ===== Email Transcript ===== */
.authyo-unified-transcript-offer {
    align-self: flex-start;
    margin-top: 4px;
}

.authyo-unified-transcript-btn {
    padding: 6px 14px;
    border-radius: 16px;
    border: 1px dashed #ced4da;
    background: #fff;
    color: #6c757d;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s;
}

.authyo-unified-transcript-btn:hover {
    background: #f8f9fa;
    border-color: #adb5bd;
    color: #495057;
}

.authyo-unified-transcript-form {
    display: flex;
    gap: 6px;
    align-items: center;
}

/* ===== Footer ===== */
.authyo-unified-footer {
    padding: 5px 14px;
    text-align: center;
    font-size: 11px;
    color: #adb5bd;
    background: #fff;
    border-top: 1px solid #f0f0f0;
    flex-shrink: 0;
}

.authyo-unified-footer a { color: #adb5bd; text-decoration: none; }
.authyo-unified-footer a:hover { color: #6c757d; }

/* ===== Mobile ===== */
@media (max-width: 480px) {
    #authyo-ai-chat-widget {
        bottom: 10px;
        right: 10px;
    }

    .authyo-unified-window {
        width: calc(100vw - 20px);
        max-width: none;
        bottom: 110px;
        max-height: calc(100vh - 130px);
    }

    .authyo-unified-launcher {
        width: 75px;
        height: 90px;
    }

    .authyo-unified-launcher-robot svg {
        width: 65px;
        height: 80px;
    }
}

/* ===== Reduced Motion ===== */
@media (prefers-reduced-motion: reduce) {
    .authyo-unified-launcher,
    .authyo-unified-window,
    .authyo-unified-msg,
    .authyo-unified-launcher .authyo-robot-body-group,
    .authyo-unified-launcher .authyo-robot-eye,
    .authyo-unified-launcher .authyo-robot-cape,
    .authyo-unified-launcher .authyo-robot-torso,
    .authyo-unified-launcher .authyo-robot-antenna-tip,
    .authyo-unified-launcher .authyo-robot-eyes-group,
    .authyo-unified-launcher .authyo-robot-head-group,
    .authyo-unified-launcher .authyo-robot-hand-left,
    .authyo-unified-launcher .authyo-robot-hand-right,
    .authyo-unified-launcher .authyo-robot-leg-left-group,
    .authyo-unified-launcher .authyo-robot-leg-right-group,
    .authyo-unified-launcher .authyo-robot-antenna-group {
        animation: none !important;
    }

    .authyo-unified-launcher {
        transform: translateY(0);
        opacity: 1;
    }

    .authyo-unified-typing span {
        animation-duration: 2s;
    }
}

/* ===== High Contrast ===== */
@media (prefers-contrast: high) {
    .authyo-unified-msg.bot { border: 1px solid #999; }
    .authyo-unified-msg.user { border: 1px solid currentColor; }
    .authyo-unified-launcher { border: 2px solid white; }
}
