#aefc-widget{position:fixed;bottom:var(--aefc-margin);z-index:2147483000;font-family:Arial,sans-serif;box-sizing:border-box}
#aefc-widget.aefc-right{right:var(--aefc-margin)}#aefc-widget.aefc-left{left:var(--aefc-margin)}
#aefc-widget *{box-sizing:border-box}
#aefc-widget .aefc-launcher{width:var(--aefc-icon);height:var(--aefc-icon);border:0;border-radius:50%;background:#14568c;color:#d5e6f1;display:grid;place-items:center;padding:0;cursor:pointer;box-shadow:0 4px 16px #0003;overflow:hidden}
#aefc-widget .aefc-launcher img,#aefc-widget .aefc-launcher svg{width:100%;height:100%;object-fit:contain}
#aefc-widget .aefc-panel{position:absolute;bottom:calc(var(--aefc-icon) + 12px);width:min(var(--aefc-width),calc(100vw - 2 * var(--aefc-margin)));height:min(var(--aefc-height),calc(100dvh - var(--aefc-icon) - 3 * var(--aefc-margin)));min-width:min(320px,calc(100vw - 2 * var(--aefc-margin)));min-height:min(380px,calc(100dvh - 2 * var(--aefc-margin)));background:#fff;border:1px solid #cdd6e0;border-radius:12px;box-shadow:0 12px 45px #0004;overflow:hidden;resize:both;display:flex;flex-direction:column}
#aefc-widget .aefc-panel[hidden]{display:none!important}
#aefc-widget.aefc-right .aefc-panel{right:0;direction:rtl}#aefc-widget.aefc-right .aefc-panel>*{direction:ltr}
#aefc-widget.aefc-left .aefc-panel{left:0}
#aefc-widget .aefc-bar{flex:0 0 42px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:#14568c;color:#fff;font-weight:600}
#aefc-widget .aefc-actions{display:flex;gap:8px}#aefc-widget .aefc-actions button{background:transparent;color:#fff;border:0;font-size:23px;cursor:pointer;min-width:30px}
#aefc-widget .aefc-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
#aefc-widget .aefc-content .aiec-chat{max-width:none!important;width:100%!important;margin:0!important;min-height:100%;border:0!important;border-radius:0!important}
#aefc-widget .aefc-panel.aefc-max{position:fixed!important;top:12px!important;left:12px!important;right:12px!important;bottom:12px!important;width:calc(100vw - 24px)!important;height:calc(100dvh - 24px)!important;resize:none!important;z-index:1}
@media(max-width:600px){#aefc-widget .aefc-panel{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100dvh!important;min-width:0!important;min-height:0!important;resize:none!important;border-radius:0!important}#aefc-widget .aefc-panel.aefc-max{top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100dvh!important}}

#aefc-widget .aefc-sources{position:relative;font-size:12px;font-weight:400}
#aefc-widget .aefc-sources summary{cursor:pointer;padding:6px}
#aefc-widget .aefc-source-items{position:absolute;right:0;top:100%;min-width:170px;background:#fff;color:#182e42;border:1px solid #d0d7e0;border-radius:6px;padding:10px;box-shadow:0 5px 18px #0002;z-index:10}
#aefc-widget .aefc-source-items label{display:flex;align-items:center;gap:7px;margin:5px 0;white-space:nowrap}
#aefc-widget .aefc-content .aiec-source-mode{display:none!important}

#aefc-widget .aefc-device-hidden{display:none!important}

/* v1.1.1: fixed floating shell; native AI Engineer components fit inside */
#aefc-widget .aefc-panel:not(.aefc-max){resize:none!important}
#aefc-widget .aefc-content{display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important;overflow:hidden!important}
#aefc-widget .aefc-content>.aiec-chat{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;height:100%!important;min-height:0!important;max-height:100%!important;overflow:hidden!important}
#aefc-widget .aefc-content .aiec-conversation-frame{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow:hidden!important}
#aefc-widget .aefc-content .aiec-stream{flex:1 1 auto!important;min-height:0!important;max-height:none!important;height:auto!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;padding:12px!important}
#aefc-widget .aefc-content .aiec-head{flex:0 0 auto!important}
#aefc-widget .aefc-content .aiec-form{flex:0 0 auto!important;min-height:0!important;max-height:45%!important;overflow-y:auto!important;padding:8px!important;gap:6px!important}
#aefc-widget .aefc-content .aiec-compose textarea{min-height:44px!important;max-height:120px!important}
#aefc-widget .aefc-content .aiec-actionrow{gap:5px!important;padding-top:4px!important}
#aefc-widget .aefc-content .aiec-progress-slot{flex:0 0 auto!important}
#aefc-widget .aefc-content .aiec-source-mode.aefc-sources-moved{display:none!important}
@media(max-width:600px){#aefc-widget .aefc-content .aiec-form{max-height:50%!important}}

#aefc-widget .aiec-source-mode,#aefc-widget [data-aiec-source-mode],#aefc-widget .aefc-sources{display:none!important}

#aefc-widget .aefc-welcome{margin:12px;padding:12px 14px;border-radius:9px;background:#edf4fa;color:#173c59;font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}

/* Enlarged controls are anchored to the actual bottom toolbar on all devices. */
#aefc-widget .aefc-media-toolbar{position:relative!important;isolation:isolate}
#aefc-widget .aefc-media-tray{position:absolute!important;left:50%!important;bottom:0!important;transform:translateX(-50%)!important;z-index:50!important;display:flex;align-items:center;justify-content:center;width:calc(100% - 12px);max-width:240px;padding:5px;background:#e7f0f8;border:1px solid #b8cce0;border-radius:14px;box-shadow:0 3px 12px #0002}
#aefc-widget .aefc-media-tray[hidden]{display:none!important}
#aefc-widget .aefc-media-primary{width:min(var(--aefc-media-size),100%)!important;height:var(--aefc-media-size)!important;min-width:64px!important;min-height:64px!important;border-radius:50%!important;background:#1763a3!important;color:#fff!important;border:3px solid #fff!important;font-size:38px!important;touch-action:none!important;user-select:none!important;-webkit-user-select:none!important;cursor:pointer!important}
#aefc-widget .aefc-media-tray.aefc-holding .aefc-media-primary{background:#cf303a!important}
#aefc-widget [data-aiec-camera-panel] [data-aiec-capture].aefc-large-shutter{display:flex!important;align-items:center!important;justify-content:center!important;margin:8px auto!important;min-width:76px!important;min-height:76px!important;border-radius:50%!important;background:#1763a3!important;color:white!important;border:4px solid white!important}
#aefc-widget [data-aiec-camera-panel] [data-aiec-capture].aefc-shutter-pressed{background:#16996b!important}

/* v1.1.9: mic remains within the bottom toolbar, never viewport fixed. */
#aefc-widget .aefc-media-toolbar{position:relative!important;isolation:isolate}
#aefc-widget .aefc-media-tray{position:absolute!important;left:50%!important;bottom:0!important;transform:translateX(-50%)!important;max-width:calc(100% - 12px)!important;z-index:50!important}
#aefc-widget .aefc-media-tray[hidden]{display:none!important}
#aefc-widget .aefc-media-tray [data-aiec-mic].aefc-enlarged-mic{display:flex!important;align-items:center!important;justify-content:center!important;width:var(--aefc-media-size)!important;height:var(--aefc-media-size)!important;min-width:var(--aefc-media-size)!important;min-height:var(--aefc-media-size)!important;border-radius:50%!important;background:#1763a3!important;color:#fff!important;font-size:32px!important;touch-action:none!important;user-select:none!important;-webkit-user-select:none!important;pointer-events:auto!important}
#aefc-widget .aefc-media-tray [data-aiec-mic].aefc-enlarged-mic.is-pressed{background:#cf303a!important}

/* v1.1.10: The media state fills the entire bottom action row, not the browser. */
#aefc-widget .aefc-media-toolbar{position:relative!important;isolation:isolate}
#aefc-widget .aefc-media-toolbar.aefc-mic-open{min-height:calc(var(--aefc-media-size,96px) + 20px)!important}
#aefc-widget .aefc-media-toolbar .aefc-media-tray{position:absolute!important;inset:0!important;left:0!important;right:0!important;top:0!important;bottom:0!important;transform:none!important;width:100%!important;max-width:none!important;height:100%!important;box-sizing:border-box!important;border-radius:inherit!important;margin:0!important;z-index:80!important;padding:8px!important;background:#e7f0f8!important}
#aefc-widget .aefc-media-toolbar.aefc-camera-open:not(.aefc-mic-open)::after{content:var(--aefc-camera-active-text,'Camera active');position:absolute;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;background:#e7f0f8;color:#164a74;font-weight:600;border-radius:inherit;pointer-events:none}
#aefc-widget .aefc-media-toolbar .aefc-media-tray [data-aiec-mic].aefc-enlarged-mic{margin:auto!important;max-height:100%!important}

/* v1.1.11: camera preview and shutter occupy the lower composer; no redundant status panel. */
#aefc-widget .aefc-media-toolbar.aefc-camera-open:not(.aefc-mic-open){display:none!important}
#aefc-widget .aefc-media-toolbar.aefc-camera-open::after{content:none!important;display:none!important}
#aefc-widget .aiec-form.aefc-camera-mode{max-height:70%!important;overflow-y:auto!important}
#aefc-widget .aiec-form.aefc-camera-mode [data-aiec-camera-panel]:not([hidden]){width:100%!important;max-width:none!important;margin:0!important;box-sizing:border-box!important}
#aefc-widget .aiec-form.aefc-camera-mode [data-aiec-camera-panel] video,
#aefc-widget .aiec-form.aefc-camera-mode [data-aiec-camera-panel] canvas{display:block;max-width:100%!important;width:100%!important;height:auto!important;max-height:min(42dvh,300px)!important;object-fit:contain!important}

/* v1.1.12: Camera occupies the entire area below the brand header. */
#aefc-widget .aiec-chat.aefc-camera-full .aiec-conversation-frame,
#aefc-widget .aiec-chat.aefc-camera-full .aiec-stream,
#aefc-widget .aiec-chat.aefc-camera-full .aiec-progress-slot,
#aefc-widget .aiec-chat.aefc-camera-full .aiec-compose,
#aefc-widget .aiec-chat.aefc-camera-full .aiec-actionrow,
#aefc-widget .aiec-chat.aefc-camera-full .aiec-attachments,
#aefc-widget .aiec-chat.aefc-camera-full [data-aiec-attachments]{display:none!important}
#aefc-widget .aiec-chat.aefc-camera-full .aiec-form.aefc-camera-mode{display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-height:0!important;max-height:none!important;height:100%!important;overflow:hidden!important;margin:0!important;padding:10px!important;background:#fff!important}
#aefc-widget .aiec-chat.aefc-camera-full [data-aiec-camera-panel]:not([hidden]){display:flex!important;flex:1 1 auto!important;min-height:0!important;flex-direction:column!important;justify-content:center!important;width:100%!important;max-width:none!important}
#aefc-widget .aiec-chat.aefc-camera-full [data-aiec-camera-panel] video,
#aefc-widget .aiec-chat.aefc-camera-full [data-aiec-camera-panel] canvas{width:100%!important;max-width:100%!important;max-height:calc(100dvh - 230px)!important;flex:1 1 auto!important;min-height:0!important;object-fit:contain!important}

/* v1.1.13: Camera is an absolute child of .aiec-chat, not a form element.
   Position it across the entire available content below the header. */
#aefc-widget .aiec-chat.aefc-camera-full {position:relative!important;overflow:hidden!important}
#aefc-widget .aiec-chat.aefc-camera-full > .aiec-conversation-frame,
#aefc-widget .aiec-chat.aefc-camera-full > .aiec-stream,
#aefc-widget .aiec-chat.aefc-camera-full > .aiec-progress-slot {visibility:hidden!important}
#aefc-widget .aiec-chat.aefc-camera-full .aiec-form {visibility:hidden!important}
#aefc-widget .aiec-chat.aefc-camera-full .aiec-camera-panel:not([hidden]) {
 position:absolute!important;top:var(--aefc-camera-top,110px)!important;
 bottom:0!important;left:0!important;right:0!important;z-index:500!important;
 display:flex!important;flex-direction:column!important;justify-content:center!important;
 width:100%!important;height:auto!important;max-height:none!important;
 margin:0!important;padding:12px!important;border-radius:0!important;
 background:#fff!important;box-shadow:none!important;visibility:visible!important;
 overflow:hidden!important;
}
#aefc-widget .aiec-chat.aefc-camera-full .aiec-camera-preview-wrap {
 flex:1 1 auto!important;min-height:0!important;max-height:none!important;
 width:100%!important;background:#000!important;
}
#aefc-widget .aiec-chat.aefc-camera-full .aiec-camera-panel video {
 width:100%!important;height:100%!important;max-height:100%!important;object-fit:contain!important;
}
#aefc-widget .aiec-chat.aefc-camera-full .aiec-camera-actions {
 flex:0 0 auto!important;display:flex!important;flex-wrap:wrap!important;
 align-items:center!important;justify-content:center!important;padding:10px 0 2px!important;
}

/* Custom theme settings, limited to the floating chat instance. */
#aefc-widget .aefc-bar{background:var(--aefc-header)!important;color:var(--aefc-header-text)!important}
#aefc-widget .aefc-actions button{color:var(--aefc-header-text)!important}
#aefc-widget .aefc-actions button:hover{background:var(--aefc-button-hover)!important}
#aefc-widget .aefc-panel,#aefc-widget .aefc-content,#aefc-widget .aiec-chat,#aefc-widget .aiec-stream,#aefc-widget .aiec-form{background-color:var(--aefc-chat)!important}
#aefc-widget .aefc-welcome{background:var(--aefc-chat)!important;color:var(--aefc-chat-text)!important}
#aefc-widget .aefc-launcher{background:var(--aefc-launcher)!important}
#aefc-widget .aefc-launcher:hover{background:var(--aefc-launcher-hover)!important}
#aefc-widget .aefc-content button:not(.aefc-enlarged-mic):not(.aefc-media-primary):not([data-aiec-capture]){background-color:var(--aefc-button)!important;color:var(--aefc-button-text)!important}
#aefc-widget .aefc-content button:not(.aefc-enlarged-mic):not(.aefc-media-primary):not([data-aiec-capture]):hover{background-color:var(--aefc-button-hover)!important}
#aefc-widget .aefc-media-primary,#aefc-widget .aefc-media-tray [data-aiec-mic].aefc-enlarged-mic,#aefc-widget [data-aiec-camera-panel] [data-aiec-capture].aefc-large-shutter{background:var(--aefc-media)!important;color:var(--aefc-button-text)!important}
#aefc-widget .aefc-media-primary:hover,#aefc-widget .aefc-media-tray [data-aiec-mic].aefc-enlarged-mic:hover,#aefc-widget [data-aiec-camera-panel] [data-aiec-capture].aefc-large-shutter:hover{background:var(--aefc-media-hover)!important}
#aefc-widget .aiec-chat.aefc-camera-full .aiec-camera-panel{background:var(--aefc-chat)!important}

/* v1.1.16 – explicit colors for question, answer, entry and action group. */
#aefc-widget .aefc-content .aiec-msg.aiec-user{background:var(--aefc-question-bg)!important;border:1px solid var(--aefc-question-border)!important;color:var(--aefc-question-text)!important}
#aefc-widget .aefc-content .aiec-msg.aiec-user *{color:inherit!important}
#aefc-widget .aefc-content .aiec-msg.aiec-assistant{background:var(--aefc-answer-bg)!important;border:1px solid var(--aefc-answer-border)!important;color:var(--aefc-answer-text)!important}
#aefc-widget .aefc-content .aiec-msg.aiec-assistant :is(p,li,span,div,blockquote,strong,em){color:inherit!important}
#aefc-widget .aefc-content .aiec-compose{background:var(--aefc-entry-bg)!important;border:1px solid var(--aefc-entry-border)!important;color:var(--aefc-entry-text)!important}
#aefc-widget .aefc-content .aiec-compose textarea{background:var(--aefc-entry-bg)!important;color:var(--aefc-entry-text)!important;caret-color:var(--aefc-entry-text)!important}
#aefc-widget .aefc-content .aiec-compose textarea::placeholder{color:var(--aefc-entry-text)!important;opacity:.65}
#aefc-widget .aefc-content :is(.aiec-actionrow,.aiec-submit-actions,.aiec-submit-button-row){background:var(--aefc-group-bg)!important;border:1px solid var(--aefc-group-border)!important;border-radius:9px!important}
#aefc-widget .aefc-content button:not(.aefc-enlarged-mic):not(.aefc-media-primary):not([data-aiec-capture]){border:1px solid var(--aefc-button-border)!important}
#aefc-widget .aefc-content button:not(.aefc-enlarged-mic):not(.aefc-media-primary):not([data-aiec-capture]):hover{border-color:var(--aefc-button-hover-border)!important}
