.ai-call-trigger {
    display: none !important;
}

html body #mobile-chat-more-menu .ai-call-trigger { color: inherit; }
html body #mobile-chat-more-menu .ai-call-trigger .ai-call-phone-icon,
html body #mobile-chat-more-menu .ai-call-trigger .ai-call-phone-icon svg { color: #1683ef !important; }
html body #mobile-chat-more-menu .ai-call-trigger .ai-call-phone-icon svg path { stroke: #1683ef !important; }

@media (max-width: 920px) {
    html body[data-mode="chat"] #mobile-chat-more-menu > .ai-call-trigger,
    html body[data-mode="chat"] #chat-compose-field > .mobile-chat-toolbar > .ai-call-trigger { display: flex !important; }
}

@media (min-width: 921px) {
    html body[data-mode="chat"] .composer-capability-bar .ai-call-trigger { display: inline-flex !important; }
    html body[data-mode="chat"] .composer-capability-bar .ai-call-trigger .ai-call-phone-icon,
    html body[data-mode="chat"] .composer-capability-bar .ai-call-trigger .ai-call-phone-icon svg { color: #1683ef !important; }
    html body[data-mode="chat"] .composer-capability-bar .ai-call-trigger .ai-call-phone-icon svg path { stroke: #1683ef !important; }
}

.ai-call-dialog {
    position: fixed;
    inset: 0;
    z-index: 50000;
    display: flex;
    overflow: hidden;
    color: #24252c;
    font-family: Inter, "SF Pro Display", "PingFang SC", "Microsoft YaHei", sans-serif;
}

.ai-call-dialog.hidden,
.ai-call-dialog [hidden] { display: none !important; }

.ai-call-sheet > .sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.ai-call-backdrop { position: absolute; inset: 0; background: #edf1f8; }

.ai-call-sheet {
    position: relative;
    isolation: isolate;
    box-sizing: border-box;
    width: 100%;
    height: 100dvh;
    min-height: 100svh;
    overflow: hidden;
    padding: calc(24px + env(safe-area-inset-top)) clamp(20px, 4vw, 64px) calc(18px + env(safe-area-inset-bottom));
    background:
        radial-gradient(circle at 10% 34%, rgba(255, 194, 211, .56), transparent 43%),
        radial-gradient(circle at 88% 70%, rgba(177, 229, 243, .7), transparent 46%),
        linear-gradient(118deg, #f4e9f0 0%, #e9edf7 49%, #dff1f4 100%);
    text-align: center;
}

.ai-call-sheet::before {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(255, 255, 255, .14), transparent 36%, rgba(255, 255, 255, .1));
    content: "";
    pointer-events: none;
}

.ai-call-header {
    position: relative;
    z-index: 12;
    width: min(100%, 980px);
    height: 48px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 48px;
    align-items: center;
}

.ai-call-header button,
.ai-call-controls button {
    appearance: none;
    border: 0;
    color: #202126;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.ai-call-more,
.ai-call-captions-toggle {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    background: transparent;
}

.ai-call-more { grid-template-columns: repeat(3, 5px); gap: 5px; }
.ai-call-more span { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.ai-call-captions-toggle { position: relative; transition: color .16s ease, opacity .16s ease; }
.ai-call-captions-toggle span { font-size: 15px; font-weight: 600; line-height: 1; white-space: nowrap; }
html[lang^="en"] .ai-call-captions-toggle span { font-size: 12px; }
.ai-call-captions-toggle:not(.is-active) { color: #303944; }
.ai-call-captions-toggle:not(.is-active)::before {
    position: absolute;
    right: 2px;
    bottom: 6px;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: currentColor;
    content: "";
}
.ai-call-captions-toggle:not(.is-active)::after {
    position: absolute;
    right: 6px;
    bottom: 11px;
    width: 6px;
    height: 3px;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    content: "";
    transform: rotate(-45deg);
}

.ai-call-scene-control {
    justify-self: center;
    min-width: 0;
    max-width: min(280px, calc(100vw - 144px));
    display: inline-flex;
    align-items: center;
}

.ai-call-scene-toggle {
    min-width: 0;
    height: 46px;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid rgba(255, 255, 255, .42) !important;
    border-radius: 23px;
    background: rgba(214, 215, 228, .48);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .42), 0 8px 22px rgba(78, 86, 116, .06);
    font-size: 18px;
    white-space: nowrap;
}

.ai-call-scene-toggle > svg:first-child { width: 20px; height: 20px; flex: 0 0 20px; }
.ai-call-scene-toggle span { overflow: hidden; text-overflow: ellipsis; }
.ai-call-scene-active-icon { display: none; flex: 0 0 auto; font-size: 20px; line-height: 1; }
.ai-call-scene-chevron { width: 16px; height: 16px; flex: 0 0 16px; transition: transform .2s ease; }
.ai-call-scene-toggle[aria-expanded="true"] .ai-call-scene-chevron { transform: rotate(180deg); }

.ai-call-scene-exit {
    width: 42px;
    height: 32px;
    place-items: center;
    border: 0;
    border-left: 1px solid rgba(67, 70, 79, .28);
    background: transparent;
    color: #25262b;
    font-size: 31px;
    font-weight: 300;
    line-height: 1;
    cursor: pointer;
}

.ai-call-dialog.is-interpreter .ai-call-scene-control {
    padding-right: 5px;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 24px;
    background: rgba(248, 248, 251, .76);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), 0 8px 22px rgba(78, 86, 116, .06);
}

.ai-call-dialog.is-interpreter .ai-call-scene-toggle {
    padding-right: 11px;
    border: 0 !important;
    background: transparent;
    box-shadow: none;
}

.ai-call-dialog.is-interpreter .ai-call-scene-default-icon,
.ai-call-dialog.is-interpreter .ai-call-scene-chevron { display: none; }
.ai-call-dialog.is-interpreter .ai-call-scene-active-icon,
.ai-call-dialog.is-interpreter .ai-call-scene-exit { display: grid; }

.ai-call-voice-control {
    position: absolute;
    z-index: 11;
    top: calc(92px + env(safe-area-inset-top));
    left: 50%;
    width: min(calc(100% - 40px), 190px);
    display: grid;
    gap: 0;
    color: #626773;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .03em;
    text-align: center;
    transform: translateX(-50%);
}

.ai-call-voice-control > span {
    display: block;
    line-height: 1.4;
    text-align: center;
}

.ai-call-voice-control::after {
    position: absolute;
    right: 18px;
    bottom: 17px;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    content: "";
    opacity: .82;
    pointer-events: none;
    transform: rotate(45deg);
}

.ai-call-voice-control select {
    box-sizing: border-box;
    width: 100%;
    height: 42px;
    padding: 0 34px;
    border: 1px solid rgba(255, 255, 255, .48);
    border-radius: 21px;
    outline: 0;
    appearance: none;
    -webkit-appearance: none;
    background: linear-gradient(135deg, rgba(255, 255, 255, .28), rgba(228, 207, 222, .68));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .34), 0 10px 28px rgba(48, 55, 75, .08);
    color: #1f2025;
    color-scheme: light;
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    letter-spacing: 0;
    text-align: center;
    text-align-last: center;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.ai-call-voice-control select:hover {
    border-color: rgba(255, 255, 255, .7);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), 0 12px 32px rgba(48, 55, 75, .12);
}

.ai-call-voice-control select:focus-visible {
    border-color: rgba(78, 142, 190, .72);
    box-shadow: 0 0 0 3px rgba(78, 142, 190, .16), 0 12px 32px rgba(48, 55, 75, .12);
}

.ai-call-voice-control select option {
    background: #fff;
    color: #252936;
}

.ai-call-interpreter-toolbar {
    position: absolute;
    z-index: 11;
    top: calc(92px + env(safe-area-inset-top));
    left: 50%;
    width: min(calc(100% - 40px), 520px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) 52px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    transform: translateX(-50%);
}

.ai-call-interpreter-toolbar label { min-width: 0; }

.ai-call-interpreter-language {
    position: relative;
    display: grid;
    gap: 8px;
    text-align: center;
}

.ai-call-interpreter-language-label {
    display: block;
    color: #626773;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .03em;
    line-height: 1.4;
    text-align: center;
}

.ai-call-interpreter-language::after,
.ai-call-interpreter-voice-control::after {
    position: absolute;
    right: 18px;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    content: "";
    opacity: .82;
    pointer-events: none;
    transform: rotate(45deg);
}

.ai-call-interpreter-language::after { bottom: 23px; }

.ai-call-interpreter-toolbar select {
    box-sizing: border-box;
    width: 100%;
    height: 54px;
    padding: 0 42px;
    border: 1px solid rgba(255, 255, 255, .48);
    border-radius: 27px;
    outline: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, .28), rgba(228, 207, 222, .68));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .34), 0 10px 28px rgba(48, 55, 75, .08);
    color: #1f2025;
    font: inherit;
    font-size: 17px;
    text-align: center;
    text-align-last: center;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.ai-call-interpreter-toolbar select:hover {
    border-color: rgba(255, 255, 255, .7);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), 0 12px 32px rgba(48, 55, 75, .12);
}

.ai-call-interpreter-toolbar select:focus-visible {
    border-color: rgba(78, 142, 190, .72);
    box-shadow: 0 0 0 3px rgba(78, 142, 190, .16), 0 12px 32px rgba(48, 55, 75, .12);
}

/* Native option popups use a light surface; keep every item readable in dark mode. */
.ai-call-interpreter-toolbar select {
    color-scheme: light;
}

.ai-call-interpreter-toolbar select option {
    background: #fff;
    color: #252936;
}

.ai-call-interpreter-voice-control {
    position: relative;
    grid-column: 1 / -1;
    justify-self: center;
    width: min(100%, 284px);
    display: grid;
    gap: 8px;
    color: #626773;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .03em;
    text-align: center;
}

.ai-call-interpreter-voice-control > span {
    display: block;
    line-height: 1.4;
    text-align: center;
}

.ai-call-interpreter-voice-control::after { bottom: 16px; }

.ai-call-interpreter-voice-control select {
    min-width: 0;
    height: 38px;
    width: 100%;
    padding: 0 30px;
    border-radius: 19px;
    font-size: 14px;
    text-align: center;
    text-align-last: center;
}

.ai-call-interpreter-swap {
    align-self: end;
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 50%;
    background: rgba(255, 255, 255, .18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 8px 22px rgba(48, 55, 75, .08);
    color: #202126;
    cursor: pointer;
}

.ai-call-interpreter-swap:hover { background: rgba(255, 255, 255, .38); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .42), 0 10px 26px rgba(48, 55, 75, .12); }
.ai-call-interpreter-swap:active { transform: scale(.94); }
.ai-call-interpreter-swap svg { width: 28px; height: 28px; }

.ai-call-more-menu {
    position: absolute;
    z-index: 20;
    top: calc(76px + env(safe-area-inset-top));
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, .78);
    border-radius: 8px;
    background: rgba(248, 250, 253, .9);
    box-shadow: 0 18px 50px rgba(54, 62, 89, .16);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
}

.ai-call-more-menu { left: clamp(20px, 4vw, 64px); width: 150px; }

.ai-call-more-menu button {
    width: 100%;
    min-height: 42px;
    padding: 8px 12px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #363b47;
    text-align: left;
    cursor: pointer;
}

.ai-call-more-menu button:hover { background: #e8edf4; color: #176b75; }

.ai-call-scenarios-backdrop {
    position: absolute;
    inset: 0;
    z-index: 18;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(9, 18, 28, .18);
    cursor: pointer;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}

.ai-call-scenarios {
    position: absolute;
    z-index: 19;
    left: 50%;
    bottom: 0;
    box-sizing: border-box;
    width: 100%;
    max-height: min(68dvh, 690px);
    padding: 18px clamp(18px, 5vw, 54px) calc(28px + env(safe-area-inset-bottom));
    overflow: auto;
    border-radius: 26px 26px 0 0;
    background: #fff;
    color: #17191d;
    box-shadow: 0 -18px 60px rgba(17, 30, 45, .18);
    transform: translateX(-50%);
}

.ai-call-scenarios-handle {
    width: 58px;
    height: 6px;
    margin: 0 auto 24px;
    border-radius: 3px;
    background: #d5d6d9;
}

.ai-call-scenarios-grid {
    width: min(100%, 820px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.ai-call-scenarios-grid > button {
    position: relative;
    box-sizing: border-box;
    min-width: 0;
    min-height: 124px;
    padding: 22px 58px 20px 22px;
    display: flex;
    align-items: flex-start;
    border: 1px solid #ededee;
    border-radius: 8px;
    background: #f4f4f4;
    color: #111317;
    text-align: left;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, transform .16s ease;
}

.ai-call-scenarios-grid > button:hover,
.ai-call-scenarios-grid > button.is-selected {
    border-color: #8ed9d7;
    background: #eef9f8;
}

.ai-call-scenarios-grid > button:active { transform: scale(.98); }

.ai-call-scenario-copy {
    min-width: 0;
    display: grid;
    gap: 12px;
}

.ai-call-scenario-copy strong {
    color: #15171a !important;
    font-size: clamp(18px, 2.3vw, 24px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: 0;
    opacity: 1 !important;
}

.ai-call-scenario-copy small {
    color: #5f646c !important;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: 0;
    opacity: 1 !important;
    -webkit-font-smoothing: antialiased;
}

.ai-call-scenario-icon {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    color: #227d86;
    font-size: 25px;
    font-weight: 700;
    line-height: 1;
}

.ai-call-avatar-stage {
    position: absolute;
    z-index: 3;
    top: 49%;
    left: 50%;
    width: clamp(260px, min(48vw, 43vh), 470px);
    aspect-ratio: 1;
    transform: translate(-50%, -56%);
}

.ai-call-avatar-halo,
.ai-call-avatar-ring { position: absolute; inset: 0; border-radius: 50%; }

.ai-call-avatar-halo {
    inset: -12px;
    padding: 2px;
    background: conic-gradient(from 32deg, transparent 0 7%, rgba(91, 234, 225, .76) 8% 21%, transparent 22% 47%, rgba(255, 255, 255, .72) 48% 61%, transparent 62% 82%, rgba(38, 151, 181, .62) 83% 96%, transparent 97%);
    box-shadow: 0 24px 68px rgba(35, 91, 112, .2);
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 0);
    mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 0);
}

.ai-call-avatar-ring {
    overflow: hidden;
    border: clamp(4px, .55vw, 7px) solid rgba(225, 248, 249, .82);
    background: #0d1824;
    box-shadow: inset 0 0 0 1px rgba(86, 226, 220, .28), 0 20px 48px rgba(30, 66, 82, .2);
}

.ai-call-avatar-ring img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transform: translateY(3.5%) scale(1.03);
    transform-origin: center bottom;
}

.ai-call-dialog.is-calling .ai-call-avatar-halo { animation: ai-call-halo 2.4s ease-in-out infinite; }
@keyframes ai-call-halo { 50% { transform: rotate(8deg) scale(1.02); opacity: .7; } }

.ai-call-listening {
    position: absolute;
    z-index: 5;
    left: 50%;
    bottom: calc(24% + env(safe-area-inset-bottom));
    display: flex;
    gap: 8px;
    transform: translateX(-50%);
}

.ai-call-listening span { width: 10px; height: 10px; border-radius: 50%; background: #7d808b; }
.ai-call-dialog.is-calling:not(.is-muted) .ai-call-listening span { animation: ai-call-dot 1.2s ease-in-out infinite; }
.ai-call-dialog.is-calling:not(.is-muted) .ai-call-listening span:nth-child(2) { animation-delay: .15s; }
.ai-call-dialog.is-calling:not(.is-muted) .ai-call-listening span:nth-child(3) { animation-delay: .3s; }
.ai-call-dialog.is-calling.is-muted .ai-call-listening span {
    animation: none;
    transform: translateY(0);
    opacity: .58;
}
@keyframes ai-call-dot { 0%, 70%, 100% { transform: translateY(0); opacity: .58; } 35% { transform: translateY(-7px); opacity: 1; } }

.ai-call-prompt {
    position: absolute;
    z-index: 5;
    left: 20px;
    right: 20px;
    bottom: calc(19.2% + env(safe-area-inset-bottom));
    margin: 0;
    color: #797c87;
    font-size: clamp(16px, 2vw, 22px);
    line-height: 1.35;
}

.ai-call-start {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.ai-call-controls {
    position: absolute;
    z-index: 10;
    left: 50%;
    bottom: calc(8.2% + env(safe-area-inset-bottom));
    width: min(calc(100% - 40px), 600px);
    display: grid;
    grid-template-columns: repeat(4, minmax(64px, 1fr));
    gap: clamp(14px, 3.6vw, 34px);
    transform: translateX(-50%);
}

.ai-call-controls button {
    justify-self: center;
    width: clamp(64px, min(15vw, 9vh), 92px);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(217, 224, 233, .72);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .58), 0 8px 24px rgba(71, 91, 113, .08);
    transition: transform .16s ease, background .16s ease, color .16s ease;
}

.ai-call-controls button:hover { background: rgba(242, 246, 250, .9); }
.ai-call-controls button:active { transform: scale(.94); }
.ai-call-controls svg { width: 42%; height: 42%; }
.ai-call-controls .ai-call-control-off-mark { transition: opacity .16s ease; }

.ai-call-controls #ai-call-video-toggle.is-active .ai-call-control-off-mark,
.ai-call-controls:has(#ai-call-video-toggle.is-active) #ai-call-share .ai-call-control-off-mark {
    opacity: 0;
}

.ai-call-controls #ai-call-mute.is-muted,
.ai-call-controls #ai-call-video-toggle.is-active,
.ai-call-controls #ai-call-share.is-active { background: #2b6f99; color: #fff; }

.ai-call-controls #ai-call-mute.is-muted { position: relative; }

.ai-call-dialog:not(.is-calling) .ai-call-controls #ai-call-mute,
.ai-call-dialog:not(.is-calling) .ai-call-controls #ai-call-video-toggle:not(.is-active) {
    background: #174b68;
    color: #fff;
    box-shadow: 0 12px 28px rgba(23, 75, 104, .24);
}

.ai-call-controls #ai-call-mute.is-muted::after {
    position: absolute;
    width: 44%;
    height: 2.5px;
    border-radius: 2px;
    background: currentColor;
    content: "";
    transform: rotate(-45deg);
}

.ai-call-dialog.is-calling .ai-call-controls #ai-call-mute:not(.is-muted),
.ai-call-dialog.is-calling .ai-call-controls #ai-call-video-toggle:not(.is-active) {
    background: rgba(218, 228, 237, .88);
    color: #1d79b7;
}

.ai-call-controls .ai-call-hangup { background: rgba(255, 234, 235, .86); color: #f23f43; }
.ai-call-controls .ai-call-hangup:hover { background: #ffdfe1; }

.ai-call-status {
    position: absolute;
    z-index: 8;
    left: 50%;
    bottom: calc(16.4% + env(safe-area-inset-bottom));
    width: min(calc(100% - 44px), 560px);
    min-height: 20px;
    margin: 0;
    color: #525967;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    transform: translateX(-50%);
}

.ai-call-status:empty { display: none; }
.ai-call-status.is-error { padding: 8px 12px; border: 1px solid rgba(213, 66, 76, .24); border-radius: 8px; background: rgba(255, 243, 244, .78); color: #c83742; }

.ai-call-ai-note {
    position: absolute;
    z-index: 8;
    left: 20px;
    right: 20px;
    bottom: calc(1.8% + env(safe-area-inset-bottom));
    margin: 0;
    color: rgba(92, 102, 116, .36);
    font-size: 12px;
}

.ai-call-conversation {
    position: absolute;
    z-index: 7;
    left: 50%;
    bottom: calc(23.5% + env(safe-area-inset-bottom));
    width: min(calc(100% - 40px), 620px);
    box-sizing: border-box;
    max-height: min(36vh, 400px);
    padding: 14px 18px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 8px;
    background: rgba(248, 250, 252, .58);
    box-shadow: 0 12px 36px rgba(62, 75, 101, .1);
    text-align: left;
    transform: translateX(-50%);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.ai-call-interpreter-stage {
    position: absolute;
    z-index: 7;
    top: clamp(210px, 28vh, 300px);
    left: 50%;
    box-sizing: border-box;
    width: min(calc(100% - 56px), 760px);
    max-height: calc(100dvh - 450px);
    padding: 0 10px;
    overflow: auto;
    text-align: left;
    transform: translateX(-50%);
}

.ai-call-interpreter-title {
    margin: 0 0 clamp(34px, 7vh, 68px);
    color: #777985;
    font-size: clamp(17px, 2vw, 22px);
    text-align: center;
}

.ai-call-interpreter-source-text,
.ai-call-interpreter-target-text {
    min-height: 1.5em;
    margin: 0;
    overflow-wrap: anywhere;
    letter-spacing: 0;
}

.ai-call-interpreter-source-text {
    color: #787984;
    font-size: clamp(19px, 2.7vw, 27px);
    line-height: 1.5;
}

.ai-call-interpreter-target-text + .ai-call-interpreter-source-text {
    margin-top: clamp(30px, 5vh, 48px);
}

.ai-call-interpreter-target-text {
    margin-top: clamp(28px, 5vh, 52px);
    color: #17181c;
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 500;
    line-height: 1.5;
}

.ai-call-interpreter-source-text:empty::before,
.ai-call-interpreter-target-text:empty::before {
    color: rgba(91, 94, 105, .5);
    content: attr(data-placeholder);
}

.ai-call-dialog.is-interpreter .ai-call-avatar-stage,
.ai-call-dialog.is-interpreter .ai-call-conversation { display: none !important; }

.ai-call-dialog.is-interpreter .ai-call-prompt { font-size: clamp(18px, 2.3vw, 24px); }

.ai-call-line { width: fit-content; max-width: 92%; min-width: 0; margin: 0 auto 12px 0; }
.ai-call-line:last-child { margin-bottom: 0; }
.ai-call-line small { display: block; margin-bottom: 2px; color: #8b92a0; font-size: 10px; }
.ai-call-line p { margin: 0; color: #424956; font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; white-space: pre-wrap; }
.ai-call-line.is-user { max-width: 84%; margin-right: 0; margin-left: auto; text-align: right; }
.ai-call-line.is-user p { color: #697280; }
.ai-call-dialog:has(.ai-call-conversation:not(:empty)) .ai-call-avatar-stage { opacity: .2; }
.ai-call-line.is-live p::after { content: "|"; margin-left: 2px; animation: ai-call-caret .8s steps(1) infinite; }
@keyframes ai-call-caret { 50% { opacity: 0; } }

.ai-call-dialog:not(.captions-visible) .ai-call-conversation,
.ai-call-dialog:not(.captions-visible) .ai-call-interpreter-stage { display: none !important; }

.ai-call-video {
    position: absolute;
    z-index: 6;
    top: calc(88px + env(safe-area-inset-top));
    left: 50%;
    width: min(42vw, 520px);
    height: min(56vh, 660px);
    border: 8px solid rgba(255, 255, 255, .82);
    border-radius: 8px;
    background: #dce4ed;
    box-shadow: 0 24px 60px rgba(35, 56, 79, .2);
    object-fit: cover;
    transform: translateX(-50%);
}

.ai-call-dialog:has(.ai-call-video:not([hidden])) .ai-call-avatar-stage { opacity: .18; }
body.ai-call-open { overflow: hidden; }
body.ai-call-open .fuuvo-ai-disclaimer { display: none !important; }

body[data-ui-theme="dark"] .ai-call-sheet {
    background:
        radial-gradient(circle at 11% 34%, rgba(125, 63, 92, .42), transparent 44%),
        radial-gradient(circle at 89% 72%, rgba(31, 106, 121, .48), transparent 48%),
        linear-gradient(118deg, #24242d 0%, #222b38 52%, #18343a 100%);
    color: #f6f8fb;
}

body[data-ui-theme="dark"] .ai-call-header button { color: #f2f4f8; }
body[data-ui-theme="dark"] .ai-call-scene-toggle { background: rgba(67, 72, 87, .58); }
body[data-ui-theme="dark"] .ai-call-dialog.is-interpreter .ai-call-scene-control { border-color: rgba(255,255,255,.2); background: rgba(54, 55, 65, .76); }
body[data-ui-theme="dark"] .ai-call-dialog.is-interpreter .ai-call-scene-toggle { background: transparent; }
body[data-ui-theme="dark"] .ai-call-scene-exit { border-left-color: rgba(255,255,255,.24); color: #f5f7fa; }
body[data-ui-theme="dark"] .ai-call-prompt,
body[data-ui-theme="dark"] .ai-call-status { color: #d0d6df; }
body[data-ui-theme="dark"] .ai-call-status.is-error { color: #8f1f2b; background: rgba(255, 243, 244, .96); }
body[data-ui-theme="dark"] .ai-call-conversation,
body[data-ui-theme="dark"] .ai-call-more-menu { border-color: rgba(255,255,255,.12); background: rgba(27, 36, 46, .78); }
body[data-ui-theme="dark"] .ai-call-line p,
body[data-ui-theme="dark"] .ai-call-more-menu button { color: #edf2f8; }
body[data-ui-theme="dark"] .ai-call-voice-control { color: #c8ced8; }
body[data-ui-theme="dark"] .ai-call-voice-control select {
    border-color: rgba(255, 255, 255, .18);
    background: linear-gradient(135deg, rgba(84, 68, 82, .82), rgba(55, 53, 68, .76));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .09), 0 12px 30px rgba(8, 15, 27, .14);
    color: #f5f7fa;
}
body[data-ui-theme="dark"] .ai-call-voice-control select:hover { border-color: rgba(255, 255, 255, .3); }
body[data-ui-theme="dark"] .ai-call-interpreter-toolbar select {
    border-color: rgba(255, 255, 255, .18);
    background: linear-gradient(135deg, rgba(84, 68, 82, .82), rgba(55, 53, 68, .76));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .09), 0 12px 30px rgba(8, 15, 27, .14);
    color: #f5f7fa;
}
body[data-ui-theme="dark"] .ai-call-interpreter-toolbar select:hover { border-color: rgba(255, 255, 255, .3); }
body[data-ui-theme="dark"] .ai-call-interpreter-language-label,
body[data-ui-theme="dark"] .ai-call-interpreter-voice-control { color: #c8ced8; }
body[data-ui-theme="dark"] .ai-call-interpreter-swap,
body[data-ui-theme="dark"] .ai-call-interpreter-target-text { color: #f6f8fb; }
body[data-ui-theme="dark"] .ai-call-interpreter-source-text,
body[data-ui-theme="dark"] .ai-call-interpreter-title { color: #c8ced8; }

@media (min-width: 721px) {
    .ai-call-scenarios {
        bottom: 22px;
        width: min(calc(100% - 44px), 820px);
        border-radius: 20px;
    }
}

@media (min-width: 721px) and (min-height: 801px) {
    .ai-call-dialog.is-interpreter .ai-call-interpreter-stage {
        top: calc(286px + env(safe-area-inset-top));
        bottom: calc(270px + env(safe-area-inset-bottom));
        max-height: none;
    }

    .ai-call-dialog.is-interpreter .ai-call-listening { bottom: calc(250px + env(safe-area-inset-bottom)); }
    .ai-call-dialog.is-interpreter .ai-call-prompt { bottom: calc(205px + env(safe-area-inset-bottom)); }
    .ai-call-dialog.is-interpreter .ai-call-status { bottom: calc(160px + env(safe-area-inset-bottom)); }
}

@media (min-width: 721px) and (min-height: 701px) and (max-height: 800px) {
    .ai-call-dialog.is-interpreter .ai-call-interpreter-stage {
        top: calc(270px + env(safe-area-inset-top));
        bottom: calc(220px + env(safe-area-inset-bottom));
        max-height: none;
    }

    .ai-call-dialog.is-interpreter .ai-call-listening { bottom: calc(200px + env(safe-area-inset-bottom)); }
    .ai-call-dialog.is-interpreter .ai-call-prompt { bottom: calc(158px + env(safe-area-inset-bottom)); }
    .ai-call-dialog.is-interpreter .ai-call-status { bottom: calc(116px + env(safe-area-inset-bottom)); }
    .ai-call-dialog.is-interpreter .ai-call-controls { bottom: calc(24px + env(safe-area-inset-bottom)); }
}

@media (max-width: 720px) {
    .ai-call-sheet { padding-right: 18px; padding-left: 18px; }
    .ai-call-header { grid-template-columns: 42px minmax(0, 1fr) 42px; height: 44px; }
    .ai-call-more, .ai-call-captions-toggle { width: 42px; height: 42px; }
    .ai-call-scene-control { max-width: calc(100vw - 116px); }
    .ai-call-scene-toggle { height: 42px; max-width: 100%; padding: 0 13px; gap: 8px; font-size: 17px; }
    .ai-call-voice-control { top: calc(84px + env(safe-area-inset-top)); width: min(calc(100% - 40px), 190px); font-size: 12px; }
    .ai-call-voice-control::after { right: 15px; bottom: 16px; }
    .ai-call-voice-control select { height: 40px; padding: 0 30px; border-radius: 20px; font-size: 14px; }
    .ai-call-interpreter-toolbar { top: calc(84px + env(safe-area-inset-top)); width: calc(100% - 40px); grid-template-columns: minmax(0, 1fr) 46px minmax(0, 1fr); gap: 8px; }
    .ai-call-interpreter-language { gap: 6px; }
    .ai-call-interpreter-language-label { font-size: 13px; }
    .ai-call-interpreter-language::after { right: 15px; bottom: 20px; }
    .ai-call-interpreter-toolbar select { height: 48px; padding: 0 30px; border-radius: 24px; font-size: 16px; }
    .ai-call-interpreter-voice-control { width: min(100%, 258px); font-size: 12px; }
    .ai-call-interpreter-voice-control::after { right: 15px; bottom: 15px; }
    .ai-call-interpreter-voice-control select { height: 38px; padding: 0 28px; border-radius: 19px; font-size: 14px; }
    .ai-call-interpreter-swap { width: 46px; height: 46px; }
    .ai-call-interpreter-stage { top: calc(252px + env(safe-area-inset-top)); bottom: calc(220px + env(safe-area-inset-bottom)); width: calc(100% - 52px); max-height: none; padding: 0; }
    .ai-call-interpreter-title { margin-bottom: clamp(28px, 6vh, 54px); }
    .ai-call-interpreter-target-text + .ai-call-interpreter-source-text { margin-top: 28px; }
    .ai-call-more-menu { left: 18px; }
    .ai-call-scenarios { padding: 14px 18px calc(24px + env(safe-area-inset-bottom)); }
    .ai-call-scenarios-handle { margin-bottom: 20px; }
    .ai-call-scenarios-grid { gap: 12px; }
    .ai-call-scenarios-grid > button { min-height: 116px; padding: 18px 48px 17px 18px; }
    .ai-call-scenario-copy { gap: 10px; }
    .ai-call-scenario-icon { top: 17px; right: 16px; }
    .ai-call-avatar-stage { top: 45%; width: clamp(220px, min(64vw, 37vh), 340px); }
    .ai-call-listening { bottom: calc(168px + env(safe-area-inset-bottom)); }
    .ai-call-prompt { bottom: calc(128px + env(safe-area-inset-bottom)); }
    .ai-call-status { bottom: calc(106px + env(safe-area-inset-bottom)); font-size: 12px; }
    .ai-call-controls { bottom: calc(22px + env(safe-area-inset-bottom)); width: calc(100% - 32px); grid-template-columns: repeat(4, minmax(56px, 1fr)); gap: clamp(8px, 2.4vw, 16px); }
    .ai-call-controls button { width: clamp(60px, 17vw, 78px); }
    .ai-call-ai-note { display: none; }
    .ai-call-conversation { bottom: calc(204px + env(safe-area-inset-bottom)); max-height: 38vh; }
    .ai-call-dialog:has(.ai-call-conversation:not(:empty)) .ai-call-avatar-stage { opacity: 1; }
    .ai-call-video { top: calc(86px + env(safe-area-inset-top)); width: calc(100% - 36px); height: 55vh; }
}

@media (max-height: 700px) {
    .ai-call-avatar-stage { top: 40%; width: min(43vh, 240px); }
    .ai-call-listening { bottom: calc(146px + env(safe-area-inset-bottom)); }
    .ai-call-prompt { bottom: calc(108px + env(safe-area-inset-bottom)); }
    .ai-call-status { bottom: calc(86px + env(safe-area-inset-bottom)); }
    .ai-call-controls { bottom: calc(14px + env(safe-area-inset-bottom)); }
    .ai-call-controls button { width: min(12vh, 62px); }
    .ai-call-conversation { bottom: calc(176px + env(safe-area-inset-bottom)); }
    .ai-call-ai-note { display: none; }
    .ai-call-interpreter-stage { top: calc(260px + env(safe-area-inset-top)); bottom: calc(190px + env(safe-area-inset-bottom)); max-height: none; }
    .ai-call-interpreter-title { margin-bottom: 20px; }
    .ai-call-interpreter-target-text { margin-top: 18px; }
    .ai-call-interpreter-target-text + .ai-call-interpreter-source-text { margin-top: 24px; }
}

@media (max-height: 480px) {
    .ai-call-dialog.is-interpreter .ai-call-listening,
    .ai-call-dialog.is-interpreter .ai-call-prompt { display: none; }
    .ai-call-dialog.is-interpreter .ai-call-status { bottom: calc(66px + env(safe-area-inset-bottom)); }
    .ai-call-interpreter-stage {
        top: calc(230px + env(safe-area-inset-top));
        bottom: auto;
        max-height: calc(100dvh - 300px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    }
    .ai-call-interpreter-title { display: none; }
}

@media (max-width: 720px) and (max-height: 480px) {
    .ai-call-interpreter-stage {
        top: calc(215px + env(safe-area-inset-top));
        max-height: calc(100dvh - 295px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    }
}

@media (max-width: 720px) and (min-height: 481px) {
    .ai-call-dialog.is-interpreter .ai-call-interpreter-stage {
        top: calc(252px + env(safe-area-inset-top));
        bottom: calc(220px + env(safe-area-inset-bottom));
        max-height: none;
    }

    .ai-call-dialog.is-interpreter .ai-call-listening { bottom: calc(200px + env(safe-area-inset-bottom)); }
    .ai-call-dialog.is-interpreter .ai-call-prompt { bottom: calc(158px + env(safe-area-inset-bottom)); }
    .ai-call-dialog.is-interpreter .ai-call-status { bottom: calc(116px + env(safe-area-inset-bottom)); }
}

@media (min-width: 721px) and (min-height: 481px) and (max-height: 700px) {
    .ai-call-dialog.is-interpreter .ai-call-interpreter-stage {
        top: calc(270px + env(safe-area-inset-top));
        bottom: calc(220px + env(safe-area-inset-bottom));
        max-height: none;
    }

    .ai-call-dialog.is-interpreter .ai-call-listening { bottom: calc(200px + env(safe-area-inset-bottom)); }
    .ai-call-dialog.is-interpreter .ai-call-prompt { bottom: calc(158px + env(safe-area-inset-bottom)); }
    .ai-call-dialog.is-interpreter .ai-call-status { bottom: calc(116px + env(safe-area-inset-bottom)); }
}

@media (max-width: 380px) {
    .ai-call-controls { width: calc(100% - 22px); gap: 6px; }
    .ai-call-controls button { width: 62px; }
    .ai-call-scene-toggle { font-size: 15px; }
    .ai-call-interpreter-toolbar { width: calc(100% - 28px); grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr); gap: 5px; }
    .ai-call-interpreter-toolbar select { padding-right: 24px; padding-left: 24px; font-size: 14px; }
    .ai-call-interpreter-language::after { right: 12px; }
    .ai-call-interpreter-voice-control { gap: 7px; }
    .ai-call-interpreter-voice-control select { height: 36px; padding-right: 24px; padding-left: 24px; font-size: 13px; }
    .ai-call-interpreter-voice-control::after { right: 12px; bottom: 14px; }
    .ai-call-interpreter-swap { width: 40px; }
}

@media (prefers-reduced-motion: reduce) {
    .ai-call-dialog * { animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media (max-width: 920px) {
    html body[data-mode="chat"] #chat-compose-field > .mobile-chat-toolbar {
        position: relative;
        z-index: 20 !important;
        pointer-events: auto !important;
        touch-action: manipulation;
    }

    html body[data-mode="chat"] #chat-compose-field > .mobile-chat-toolbar > .ai-call-trigger {
        position: relative;
        z-index: 21 !important;
        pointer-events: auto !important;
        color: #1683ef !important;
        cursor: pointer;
        touch-action: manipulation;
    }
}
