/* Shared assistant surface. Device pixels isolate it from the page artboards. */
.av-launcher{position:fixed;right:24px;bottom:24px;z-index:90;display:flex;align-items:center;gap:13px;min-height:62px;padding:12px 17px;border:1px solid #cab6e342;background:linear-gradient(135deg,#202029,#0d0e12 78%);box-shadow:0 8px 35px #0007,0 0 24px #b89ad911;color:#f6f4fa;font:500 14px/1.4 Inter,Arial,sans-serif;text-align:left}
.av-launcher .arivex-wordmark{display:none}.av-launcher .arivex-symbol{width:25px;height:25px}.av-launcher-caption{display:block;color:#aaa4b4;font-size:11px;font-weight:400;margin-top:2px}.av-launcher>.icon{width:18px;height:18px;margin-left:6px;color:#cbb7e5}
.av-launcher:hover{border-color:#d6b8f175;box-shadow:0 8px 35px #0007,0 0 28px #b89ad92b}
.av-launcher[hidden]{display:none!important}
.av-launcher:not([hidden]){animation:av-launcher-in 260ms cubic-bezier(.22,1,.36,1)}
@keyframes av-launcher-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
body:has(#contact-dialog[open]:not([data-minimized=true])) .av-launcher{visibility:hidden}
body:has(#contact-dialog[open]):not(:has(dialog[open]:not(#contact-dialog))){overflow:auto}
#contact-dialog{position:fixed;inset:auto 24px 24px auto;margin:0;padding:0;width:396px;max-width:calc(100vw - 48px);height:min(610px,calc(100dvh - 48px));max-height:none;overflow:hidden;z-index:100;border:1px solid #e2d7f02a;border-radius:20px;background:radial-gradient(ellipse at 100% 0,#af85e10b,transparent 48%),#101014fa;color:#f3f1f8;font:400 14px/1.5 Inter,Arial,sans-serif;box-shadow:0 24px 80px #000b,inset 0 1px #ffffff0d;backdrop-filter:blur(20px)}
/* The floating panel stays above the storage notice without blocking the page. */
#contact-dialog[open]{z-index:10060;display:flex;flex-direction:column;animation:av-popup-enter .24s cubic-bezier(.16,1,.3,1) both;transform-origin:bottom right}
#contact-dialog[open][data-minimized=true]{display:none!important}
#contact-dialog::backdrop{background:#08090b99;backdrop-filter:blur(4px)}
#contact-dialog .av-sheet-handle{display:none}
#contact-dialog :is(h2,h3,p){margin:0;letter-spacing:normal}
#contact-dialog p{color:#aaa5b5;font:400 14px/1.65 Inter,Arial,sans-serif}
#contact-dialog .icon{width:18px;height:18px}
#contact-dialog button{font-family:inherit}
#contact-dialog button,.av-launcher{transition:color .18s,background-color .18s,border-color .18s,transform .16s}
#contact-dialog button:active,.av-launcher:active{transform:scale(.97)}
#contact-dialog button:disabled{cursor:not-allowed;opacity:.5}
.av-launcher:focus-visible{outline:2px solid #c8aaf6;outline-offset:4px}
#contact-dialog :focus-visible{outline:2px solid #c8aaf6;outline-offset:3px}
#contact-dialog .av-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:18px 16px 16px;flex-shrink:0}
#contact-dialog .av-identity{display:flex;align-items:center;gap:12px;min-width:0}
#contact-dialog .av-identity .arivex-wordmark{display:none}
#contact-dialog .av-identity .arivex-symbol{width:30px;height:29px}
#contact-dialog .av-identity h2{font-size:15px;font-weight:500;line-height:1.4;color:#f6f5f9}
#contact-dialog .av-identity span:not(.arivex-lockup):not(.arivex-wordmark){font-size:11px;color:#aaa5b5}
#contact-dialog .av-header-actions{display:flex;gap:3px}
#contact-dialog .av-icon-button,#contact-dialog .dialog-close{position:static;display:grid;place-items:center;width:36px;height:36px;min-height:36px;border:1px solid transparent;background:transparent!important;color:#aaa5b5;box-shadow:none!important;font-size:14px}
#contact-dialog .av-icon-button:hover,#contact-dialog .dialog-close:hover{color:#fff;background:#ffffff09!important}
#contact-dialog .av-preview{display:flex;align-items:center;justify-content:center;gap:7px;background:#c4abe507;padding:7px 12px;color:#b9adcb;font-size:10px;flex-shrink:0;border-block:1px solid #bba4d00e}
#contact-dialog .av-status-dot{width:5px;height:5px;border-radius:50%;background:#c3afdf}
#contact-dialog .av-workspace{display:flex;flex:1;min-height:0}
#contact-dialog .av-conversation{display:flex;flex:1;min-width:0;min-height:0;flex-direction:column}
#contact-dialog .av-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 20px 0;flex-shrink:0}
#contact-dialog .av-modes{display:flex;gap:2px;padding:3px;border:1px solid #ffffff0b;border-radius:10px;background:#08090b66}
#contact-dialog .av-modes button{display:flex;gap:6px;align-items:center;padding:7px 9px;min-height:34px;background:transparent;color:#9c96a8;font-size:12px}
#contact-dialog .av-modes button[aria-pressed=true]{color:#f1edf6;background:#d6bfff12;box-shadow:inset 0 1px #ffffff07}
#contact-dialog .av-modes .icon{width:14px;height:14px}
#contact-dialog .av-text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:6px 4px;background:transparent;color:#bdb6ca;font-size:12px;line-height:1.4;text-align:left}
#contact-dialog .av-text-button:hover{color:#fff}
#contact-dialog .av-text-button .icon{width:14px;height:14px}
#contact-dialog .av-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 24px 16px;scrollbar-width:thin;scrollbar-color:#39313f transparent}
#contact-dialog .av-welcome{text-align:center;padding:8px 0}
#contact-dialog .av-orb-wrap{position:relative;display:grid;place-items:center;height:170px;width:292px;max-width:100%;margin:4px auto 0;isolation:isolate}
#contact-dialog .av-orb{position:relative;z-index:1;display:grid;place-items:center;width:96px;height:96px;border-radius:50%!important;color:#f3eaff;border:1px solid #dac7ff9a;background:radial-gradient(ellipse at 35% 20%,#9983bc72,transparent 58%),radial-gradient(ellipse at 85% 100%,#e9aa8458,transparent 58%),#181422;box-shadow:inset 0 0 19px #baa4e037,0 0 28px #ab81e23a,0 0 65px #bb94eb23}
#contact-dialog .av-orb>.icon{width:34px;height:34px;stroke-width:1.3}
#contact-dialog .av-orb:hover{border-color:#e8d9ff;box-shadow:inset 0 0 24px #baa4e047,0 0 36px #ab81e238}
#contact-dialog .av-orbit{position:absolute;left:50%;top:50%;width:126px;height:126px;border-radius:50%;border:1px solid #b698de26;transform:translate(-50%,-50%)}
#contact-dialog .av-orbit-two{width:156px;height:156px;border-color:#dabfa412}
#contact-dialog .av-wave{position:absolute;inset:0;display:flex;gap:7px;justify-content:center;align-items:center;opacity:.85;mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent)}
#contact-dialog .av-wave i,#contact-dialog .av-example-wave i{display:block;flex-shrink:0;width:2px;height:var(--bar);max-height:58px;background:linear-gradient(#efd5fb,#ae88dc);border-radius:4px;transform:scaleY(.48)}
#contact-dialog .av-wave-toggle{position:absolute;bottom:0;right:0;display:grid;place-items:center;width:32px;height:32px;border:1px solid #cbb6e525;border-radius:8px;background:#141118;color:#b8aaca;font-size:12px}
#contact-dialog .av-wave-toggle:hover{color:#fff;border-color:#cbb6e570}
#contact-dialog .av-welcome h3{font-size:27px;line-height:1.23;letter-spacing:-1px;font-weight:500;margin:10px 0}
#contact-dialog :is(.av-welcome h3,.av-pane-scroll h3) span{background:var(--heading-accent);background-clip:text;-webkit-background-clip:text;color:transparent}
#contact-dialog .av-welcome>p{font-size:13px;line-height:1.7}
#contact-dialog .button{font-size:13px;line-height:1.35;min-height:44px;padding:11px 16px;white-space:normal;align-self:auto;margin:0;gap:10px}
#contact-dialog .av-start{display:flex;margin:0 auto 13px;color:#d4c4e6;font-size:12px}
#contact-dialog .av-mic-arrow{transform:rotate(-90deg);width:13px;height:13px}
#contact-dialog .av-write{display:flex;width:fit-content;margin:0 auto;min-height:40px;background:#ffffff05;border:1px solid #b6a5ce33;color:#eee9f5;font-size:12px}
#contact-dialog[data-welcome=true] .av-composer,#contact-dialog[data-welcome=true] .av-local-note{display:none}
#contact-dialog[data-mode=text] .av-welcome{display:none}
#contact-dialog .av-voice-resume{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border:1px solid #c6a8f02b;background:#b196d00d;color:#e5d4ff;text-align:left;margin-top:16px;font-size:13px}
#contact-dialog .av-voice-resume>span{flex:1}#contact-dialog .av-voice-resume small{display:block;font-size:11px;color:#b0a6bd;margin-top:3px}
#contact-dialog .av-messages{display:flex;flex-direction:column;gap:18px;padding-top:20px}
#contact-dialog .av-messages:empty{display:none}
#contact-dialog .av-message{max-width:94%;white-space:pre-wrap;overflow-wrap:anywhere}
#contact-dialog .av-message>span{display:block;font-size:10px;margin-bottom:6px;color:#a99dbb}
#contact-dialog .av-message p{font-size:14px;color:#e5e0ed;line-height:1.65}
#contact-dialog .av-message[data-speaker=user]{align-self:flex-end;border:1px solid #c6b0e019;padding:12px 15px;background:#b196d011;border-radius:12px 12px 3px 12px}
#contact-dialog .av-message[data-speaker=assistant]{padding:0 4px}
#contact-dialog .av-composer-area{padding:0 20px 10px;flex-shrink:0}
#contact-dialog .av-example-invite{display:flex;justify-content:center;margin-bottom:8px}
#contact-dialog .av-example-invite button{font-size:11px;color:#a59caf}
#contact-dialog .av-composer{display:flex;gap:8px;align-items:flex-end;border:1px solid #cec0df29;border-radius:12px;padding:8px 8px 8px 12px;background:#ffffff03}
#contact-dialog .av-composer:focus-within{border-color:#cbb3ed85;box-shadow:0 0 0 2px #b899dd0b}
#contact-dialog .av-composer textarea{resize:none;border:0;background:transparent;box-shadow:none;font:400 14px/1.5 Inter,Arial,sans-serif;padding:5px 0;min-height:42px;max-height:110px;outline:none;color:#f3eefb}
#contact-dialog .av-composer textarea::placeholder{color:#9c93aa}
#contact-dialog .av-send{display:grid;place-items:center;min-width:36px;height:36px;background:#bba2dc26;color:#e4d3ff;border:1px solid #c6a8f026;margin-bottom:2px}
#contact-dialog .av-send:hover{background:#bba2dc44}
#contact-dialog .av-local-note{font-size:10px;text-align:center;margin-top:8px;color:#8f879b}
#contact-dialog .av-notice{background:#e6b8b50b;border:1px solid #e6b8b525;border-radius:10px;padding:12px;margin-top:16px;color:#dfc9c8;font-size:12px;line-height:1.6}
#contact-dialog .av-example-controls{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:0 8px;margin:0 20px 10px;text-align:center;border-top:1px solid #c1a8df15;padding-top:10px;flex-shrink:0}
#contact-dialog .av-example-wave{display:flex;align-items:center;justify-content:center;gap:2px;height:28px;grid-column:1;grid-row:1}
#contact-dialog .av-example-controls>span{font-size:9px;color:#a99cbb;grid-column:1;grid-row:2}
#contact-dialog .av-example-controls>div:last-child{display:flex;align-items:center;justify-content:flex-end;gap:4px;grid-column:2;grid-row:1/3}
#contact-dialog .av-example-controls .button{font-size:11px;min-height:38px;padding:8px}
#contact-dialog[data-wave=running] :is(.av-wave,.av-example-wave) i{animation:av-wave 1.2s ease-in-out infinite alternate;animation-delay:var(--delay)}
#contact-dialog .av-bottom{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:#08090b6b;flex-wrap:wrap;flex-shrink:0;border-top:1px solid #ffffff09}
#contact-dialog .av-bottom>span{display:flex;align-items:center;gap:6px;font-size:10px;color:#9a92a5}
#contact-dialog .av-bottom .icon{width:12px;height:12px}
#contact-dialog .av-bottom button{min-height:24px;font-size:10px;padding:0}
#contact-dialog .av-summary-pane{min-width:0;flex:1;display:flex;flex-direction:column;border-left:1px solid #cbb5e515;background:radial-gradient(ellipse at 80% 0,#ab82df0c,transparent 75%)}
#contact-dialog .av-pane-top{display:flex;align-items:center;justify-content:space-between;padding:14px 22px 0;flex-shrink:0;gap:8px}
#contact-dialog .av-pane-top>span{font-size:10px;color:#bbaecf;border:1px solid #cbb3e323;padding:3px 8px;border-radius:5px}
#contact-dialog .av-back-arrow{transform:rotate(180deg)}
#contact-dialog .av-pane-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 22px;scrollbar-width:thin;scrollbar-color:#39313f transparent}
#contact-dialog .av-pane-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid #c6b3df2b;background:#c2a6e210;border-radius:10px;color:#cbb5ed;margin-bottom:18px}
#contact-dialog [data-av-review]>.av-pane-icon{display:none}
#contact-dialog .av-pane-scroll h3{font-size:27px;line-height:1.2;letter-spacing:-.8px;font-weight:500}
#contact-dialog .av-pane-scroll .av-pane-intro{font-size:12px;margin-top:12px}
#contact-dialog .av-brief-cards{margin-top:16px}
#contact-dialog .av-brief-cards>div{padding:12px 0;border-top:1px solid #d2bcea17}
#contact-dialog .av-brief-cards>div>span{display:flex;align-items:center;gap:8px;font-size:11px;color:#b9a9cb;margin-bottom:8px}
#contact-dialog .av-brief-cards .icon{width:14px;height:14px}
#contact-dialog .av-brief-cards p{font-size:13px;color:#e0d8e8;white-space:pre-wrap;overflow-wrap:anywhere}
#contact-dialog .av-summary-tools{display:flex;justify-content:space-between;gap:6px;margin-top:10px}
#contact-dialog #copy-feedback{font-size:11px;min-height:0;margin:8px 0}
#contact-dialog .av-guard{display:flex;align-items:center;gap:7px;font-size:11px;margin:12px 0}
#contact-dialog .av-guard .icon{width:14px;height:14px;color:#c5afdf}
#contact-dialog .av-full{width:100%;justify-content:space-between}
#contact-dialog .av-summary-editor{margin:20px 0}
#contact-dialog :is(.av-summary-editor,.av-contact-fields) label{font-size:12px;color:#c9c0d4;margin:18px 0 7px}
#contact-dialog :is(.av-summary-editor,.av-contact-fields) :is(input,textarea){background:#ffffff04;border:1px solid #c3aadc2a;border-radius:9px;color:#eee8f6;font:400 16px/1.6 Inter,Arial,sans-serif;padding:10px 12px;width:100%}
#contact-dialog .av-summary-editor .button{margin-top:10px}
#contact-dialog .av-contact-fields>p{margin-top:14px;font-size:13px}
#contact-dialog .av-consent{display:flex;gap:10px;align-items:flex-start;line-height:1.6}
#contact-dialog .av-consent input{width:17px;height:17px;margin:2px 0 0;accent-color:#c0a5e6;flex-shrink:0;padding:0}
#contact-dialog .av-contact-fields .av-full{margin-top:18px}
#contact-dialog .av-review-again{display:flex;margin:8px auto}
#contact-dialog .av-email-link{display:flex;gap:8px;align-items:center;justify-content:center;color:#bfb3d0;margin:24px 0 6px;font-size:12px}
#contact-dialog .av-email-link .icon{width:14px;height:14px}
#contact-dialog .av-complete{padding-top:28px;text-align:center}
#contact-dialog .av-complete-check{display:grid;place-items:center;border:1px solid #cbb4e858;border-radius:50%;width:64px;height:64px;margin:0 auto 28px;color:#d6c1f1;background:#a587cf12}
#contact-dialog .av-complete-check .icon{width:28px;height:28px}
#contact-dialog .av-complete p{margin:22px 0 30px}
#contact-dialog[data-view=summary]:not([data-expanded=true]) .av-conversation{display:none}
#contact-dialog[data-expanded=true]{width:860px}
#contact-dialog[data-expanded=true],#contact-dialog[data-view=summary]{height:min(732px,calc(100dvh - 48px))}
#contact-dialog[data-expanded=true] .av-conversation{flex:1.1}
#contact-dialog[data-expanded=true] .av-summary-pane{display:flex!important;flex:1}
#contact-dialog[data-expanded=true] .av-pane-top [data-av-back]{visibility:hidden}
@keyframes av-wave{from{transform:scaleY(.25);opacity:.45}to{transform:scaleY(.94);opacity:1}}
@keyframes av-popup-enter{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@keyframes av-sheet-enter{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
/* Accueil compact : le popup de bureau plafonne à 610 px et sa zone défilante n'a plus que 360 px.
   Sans ces tailles, l'accueil en aperçu (436 px) poussait « Je préfère écrire » hors de la zone visible
   dès que l'écran dépassait 730 px de haut (conversation.spec.mjs, 768 et 1440 px). */
@media(min-width:701px),(max-height:730px){#contact-dialog .av-welcome{padding:4px 0}#contact-dialog .av-orb-wrap{height:125px;width:250px}#contact-dialog .av-orb{width:80px;height:80px}#contact-dialog .av-orbit{width:100px;height:100px}#contact-dialog .av-orbit-two{width:122px;height:122px}#contact-dialog .av-welcome h3{font-size:24px;margin:8px 0}#contact-dialog .av-welcome>p{font-size:12px}#contact-dialog .av-start{margin-bottom:5px}#contact-dialog .av-toolbar{padding-top:10px}}
@media(max-width:700px),(pointer:coarse) and (max-height:500px){
 .av-launcher{--button-radius:999px}
 #contact-dialog[data-connected=true] :is([data-av-minimize],.dialog-close,.av-send,.av-orb-start){--button-radius:50%}
 #contact-dialog[data-connected=true] #contact-title:focus-visible{outline:none}
 .av-launcher{right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));min-height:54px;padding:9px 13px;font-size:13px;gap:9px}.av-launcher-caption{display:none}.av-launcher>.icon{width:16px;height:16px}
 #contact-dialog,#contact-dialog[data-expanded=true],#contact-dialog[data-view=summary]{--av-sheet-height:min(570px,calc(var(--av-visible-height,100dvh) - max(12px,env(safe-area-inset-top))));inset:calc(var(--av-visible-top,0px) + var(--av-visible-height,100dvh) - var(--av-sheet-height)) 0 auto;width:100%;max-width:none;height:var(--av-sheet-height);border-radius:18px 18px 0 0;border-bottom:0;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);transform-origin:bottom center}
 #contact-dialog[open]{animation:av-sheet-enter .28s cubic-bezier(.16,1,.3,1) both}
 #contact-dialog .av-sheet-handle{display:block;width:32px;height:3px;min-height:3px;border-radius:2px;background:#a99bb640;margin:10px auto 0}
 #contact-dialog .av-header{padding:5px 12px}#contact-dialog [data-av-expand]{display:none}
 #contact-dialog .av-identity{gap:8px}#contact-dialog .av-header-actions{gap:0}
 #contact-dialog .av-toolbar{padding:8px 14px 0}#contact-dialog .av-scroll{padding:6px 18px 10px}#contact-dialog .av-composer-area{padding:0 15px 8px}
 #contact-dialog .av-welcome{padding:4px 0}
 #contact-dialog .av-welcome h3{font-size:23px;letter-spacing:-.7px;margin:8px 0}
 #contact-dialog .av-welcome>p{font-size:12px;line-height:1.55}
 #contact-dialog .av-orb-wrap{height:100px;width:248px;margin-top:6px}
 #contact-dialog .av-orb{width:76px;height:76px}#contact-dialog .av-orb>.icon{width:29px;height:29px}
 #contact-dialog .av-orbit{width:96px;height:96px}#contact-dialog .av-orbit-two{width:116px;height:116px}
 #contact-dialog .av-wave i{max-height:44px}
 #contact-dialog .av-start{margin:0 auto 4px;min-height:44px}
 #contact-dialog :is(.av-icon-button,.dialog-close,.av-wave-toggle,.av-send){min-width:44px;width:44px;min-height:44px;height:44px}
 #contact-dialog :is(.av-modes button,.av-text-button,.av-write,.av-example-controls .button,.av-email-link){min-height:44px}
 #contact-dialog .av-example-invite{margin-bottom:0}
 #contact-dialog .av-bottom{padding:8px 16px}
 #contact-dialog .av-composer textarea{font-size:16px}
 #contact-dialog .av-summary-pane{min-height:0}
 #contact-dialog :is(.av-scroll,.av-pane-scroll){scroll-padding-block:12px}
 #contact-dialog[data-compact=true] .av-sheet-handle{display:none}
 #contact-dialog[data-compact=true] .av-identity>div>span{display:none}
 #contact-dialog[data-compact=true] .av-header{padding-block:2px}
 #contact-dialog[data-compact=true] .av-toolbar{padding-top:2px}
 #contact-dialog[data-compact=true] .av-preview{padding-block:3px}
 #contact-dialog[data-compact=true] :is(.av-example-invite,.av-local-note){display:none}
 #contact-dialog[data-compact=true] .av-bottom{padding-block:3px}
 #contact-dialog[data-compact=true] .av-bottom>span{display:none}
 #contact-dialog[data-compact=true] .av-summary-editor{margin-top:0}
 #contact-dialog[data-compact=true] .av-summary-editor textarea{height:100px;min-height:80px}
 #contact-dialog[data-expanded=true][data-view=summary] .av-conversation{display:none}
 #contact-dialog[data-expanded=true][data-view=conversation] .av-summary-pane{display:none!important}
 #contact-dialog[data-expanded=true] .av-pane-top [data-av-back]{visibility:visible}
}
@media(prefers-reduced-motion:reduce){#contact-dialog,#contact-dialog *,.av-launcher{animation:none!important;transition:none!important}#contact-dialog .av-wave-toggle{display:none}}
@media(forced-colors:active){.av-launcher,#contact-dialog{border:1px solid CanvasText;background:Canvas;color:CanvasText}#contact-dialog :is(.av-welcome h3,.av-pane-scroll h3) span{background:none;color:CanvasText}#contact-dialog .av-orb{border:1px solid ButtonText;background:ButtonFace;color:ButtonText}}
#contact-dialog .av-api-status{padding:10px 20px;background:rgba(177,149,232,.07);border-bottom:1px solid rgba(200,187,228,.12);font-size:13px;color:#d7cfe7;flex-shrink:0}
#contact-dialog .av-api-status p{margin:0;line-height:1.5}
#contact-dialog .av-api-status button{margin-top:8px;margin-right:14px;min-height:36px}
#contact-dialog .av-api-fields{display:grid;gap:9px}
#contact-dialog .av-api-fields label{font-size:13px;color:#c6bdcf;margin-top:8px}
#contact-dialog .av-api-fields textarea{width:100%;min-height:66px;resize:vertical;border:1px solid rgba(203,188,225,.22);border-radius:9px;background:#111116;color:#eeeaf4;padding:12px;font:inherit;font-size:16px}
#contact-dialog .av-api-details,#contact-dialog .av-api-verification dl{margin:18px 0;font-size:14px}
#contact-dialog .av-api-details dt,#contact-dialog .av-api-verification dt{font-size:12px;color:#b6a7c7;margin-top:16px}
#contact-dialog .av-api-details dd,#contact-dialog .av-api-verification dd{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}
#contact-dialog .av-api-verification{padding:16px;border:1px solid rgba(196,171,234,.2);border-radius:10px;background:rgba(180,155,224,.05);margin:18px 0}
#contact-dialog .av-api-verification h4{margin:0;font-size:16px}
#contact-dialog .av-api-verification>p{overflow-wrap:anywhere}
#contact-dialog .av-api-action{margin:12px 0}
#contact-dialog .av-api-action .button{font-size:14px;max-width:100%;white-space:normal}
#contact-dialog .av-api-loading .icon{display:none}
#contact-dialog .av-api-loading:after{content:'';width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:av-api-spin .8s linear infinite}
#contact-dialog [data-av-streaming] p:after{content:' ▍';color:#c6a5e8}
#contact-dialog .av-api-fields textarea:focus-visible{outline:2px solid #c4aaef;outline-offset:2px}
#contact-dialog .av-api-status button:active,#contact-dialog .av-api-action button:active{transform:scale(.97)}
@keyframes av-api-spin{to{transform:rotate(360deg)}}
#contact-dialog .av-turn{display:grid;gap:9px;margin:16px 0}
#contact-dialog .av-turn .av-message{margin:0}
#contact-dialog .av-turn-state{display:block;margin-top:8px;color:#bfb2d2;font-size:12px}
#contact-dialog .av-turn-actions{display:flex;gap:12px;flex-wrap:wrap}
#contact-dialog .av-turn-actions textarea{width:100%;padding:10px;border:1px solid #5f536d;border-radius:8px;background:#111116;color:#fff;font:inherit;font-size:16px}
#contact-dialog .av-turn-actions button,#contact-dialog .av-turn-stop button{min-height:36px;font-size:12px;transition:transform .15s}
#contact-dialog .av-turn button:active,#contact-dialog .av-activity summary:active{transform:scale(.97)}
#contact-dialog .av-turn button:focus-visible,#contact-dialog .av-turn textarea:focus-visible,#contact-dialog .av-activity summary:focus-visible{outline:2px solid #c4aaef;outline-offset:3px}
#contact-dialog .av-turn button[aria-busy=true]:after{content:'';display:inline-block;width:10px;height:10px;margin-left:8px;border:1px solid currentColor;border-right-color:transparent;border-radius:50%;animation:av-api-spin .8s linear infinite}
#contact-dialog .av-activity{border-left:2px solid #726183;padding:7px 11px;color:#c7bdd5;font-size:12px}
#contact-dialog .av-activity summary{cursor:pointer;list-style:none;display:flex;gap:12px;align-items:center;justify-content:space-between;min-height:32px}
#contact-dialog .av-activity summary::-webkit-details-marker{display:none}
#contact-dialog .av-activity-hint{font-size:11px;color:#ac99c7;white-space:nowrap}
#contact-dialog .av-activity[open] .av-activity-hint{font-size:0}
#contact-dialog .av-activity[open] .av-activity-hint:after{content:'Réduire';font-size:11px}
#contact-dialog .av-activity ol{list-style:none;padding:4px 0 0;margin:0;display:grid;gap:7px}
#contact-dialog .av-activity:not([open]) ol{display:none}
#contact-dialog .av-activity-title:empty{display:none}
#contact-dialog .av-contact-next{font-size:12px;line-height:1.6;color:#bcb3c9;max-width:42ch;margin:8px 0 0}
#contact-dialog .av-activity li:before{content:'○';margin-right:8px;color:#bc9de5}
#contact-dialog .av-activity li[data-status=completed]:before{content:'✓';color:#9bc9b4}
#contact-dialog .av-activity li[data-status=failed]:before{content:'!';color:#e3b39f}
#contact-dialog .av-activity[data-running=true] .av-activity-title:before{content:'';display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:#bea4e0}
#contact-dialog .av-turn[data-status=cancelled]{opacity:.65}
#contact-dialog .av-turn-stop{display:flex;justify-content:flex-start}
@media(max-width:700px){#contact-dialog .av-turn-actions button,#contact-dialog .av-turn-stop button,#contact-dialog .av-activity summary{min-height:44px}}
#contact-dialog .av-api-status [data-av-listen][aria-busy=true]:after{content:'';display:inline-block;width:10px;height:10px;margin-left:8px;border:1px solid currentColor;border-right-color:transparent;border-radius:50%;animation:av-api-spin .8s linear infinite}
@media(prefers-reduced-motion:reduce){#contact-dialog .av-api-loading:after,#contact-dialog .av-api-status [data-av-listen][aria-busy=true]:after{animation:none}}
@media(max-width:700px){#contact-dialog .av-api-status{padding:8px 16px;font-size:12px}#contact-dialog .av-api-status button{min-height:44px}#contact-dialog .av-api-fields{gap:7px}}
#contact-dialog .av-contact-options{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;width:100%}
#contact-dialog .av-contact-options a{font-size:11px;line-height:1.5;color:#c9bfd9;text-underline-offset:3px;transition:transform .15s,color .15s}
#contact-dialog .av-contact-options a:hover{color:#fff}
#contact-dialog .av-contact-options a:active{transform:scale(.97)}
#contact-dialog .av-data-notice{font-size:12px;line-height:1.5;color:#afa8bc;margin:8px 0 16px}
/* Compact voice companion: the call is primary, the transcript stays readable. */
#contact-dialog .av-header{padding:16px 18px 12px}
#contact-dialog .av-header-actions{gap:0}
#contact-dialog .av-identity h2{font-size:14px;font-weight:600}
#contact-dialog .av-identity .arivex-symbol{width:26px;height:26px}
#contact-dialog[data-connected=true] .av-preview{position:absolute;top:43px;left:56px;padding:0;background:none;border:0;font-size:10px}
#contact-dialog[data-connected=true] .av-identity>div>span{visibility:hidden}
#contact-dialog[data-connected=true] .av-status-dot{background:#cab6e9;box-shadow:0 0 8px #b9a0de40}
#contact-dialog .av-toolbar{padding:8px 18px 12px;border-bottom:1px solid #ffffff09}
#contact-dialog .av-modes{background:#ffffff04;border:1px solid #ffffff0b;border-radius:8px}
#contact-dialog .av-modes button[aria-pressed=true]{background:#ffffff0d;color:#fff}
#contact-dialog .av-text-button{color:#b4afbf}
#contact-dialog .av-live-voice{flex:none;display:flex;align-items:center;flex-direction:column;gap:0;padding:22px 22px 12px;text-align:center}
#contact-dialog .av-live-voice[hidden]{display:none}
#contact-dialog .av-call-presence{position:relative;display:grid;place-items:center;width:260px;max-width:100%;height:126px;margin:0 auto 17px;isolation:isolate}
#contact-dialog .av-call-orb{position:relative;display:grid;place-items:center;width:96px;height:96px;border-radius:50%;background:radial-gradient(circle at 30% 15%,#e4dbf34a,transparent 48%),radial-gradient(circle at 75% 100%,#e7a58138,transparent 60%),linear-gradient(135deg,#292431,#100e14);border:1px solid #e8d9ff64;box-shadow:inset 0 1px 12px #d1b9e431,0 0 36px #b090d025,0 14px 30px #0005}
#contact-dialog .av-call-orb:before{content:'';position:absolute;inset:-9px;border:1px solid #c4a2f019;border-radius:50%}
#contact-dialog .av-call-orb .arivex-wordmark{display:none}
#contact-dialog .av-call-orb .arivex-symbol{width:36px;height:36px}
#contact-dialog .av-call-wave{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;gap:4px;z-index:-1;opacity:.4;mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}
#contact-dialog .av-call-wave i{height:var(--bar);width:3px;border-radius:3px;background:linear-gradient(#e4d5f8,#aa88d0);transform:scaleY(.22)}
#contact-dialog .av-call-heading h3{color:#f4f1f8;font-size:25px;line-height:1.2;font-weight:500;letter-spacing:-.8px;margin:0 0 8px}
#contact-dialog .av-call-heading p{font-size:12px;color:#a8a3b2;line-height:1.5}
#contact-dialog .av-call-status{font-size:11px;color:#b9adc9;margin:12px 0 16px}
#contact-dialog .av-call-status:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#9b94a7;margin:0 7px 1px 0}
#contact-dialog .av-call-actions{display:flex;justify-content:center;align-items:center;gap:10px;width:100%}
#contact-dialog .av-call-start{display:flex;justify-content:center;align-items:center;width:100%;min-height:46px;gap:9px;border-radius:10px;font-size:13px;border:1px solid #fff9;background:linear-gradient(110deg,#f9f8fb,#ebe4f4);color:#201c28;box-shadow:0 3px 14px #d4bcf117}
#contact-dialog :is(.av-call-mute,.av-call-end){display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;gap:7px;border-radius:9px;font-size:12px;border:1px solid #ffffff1c;background:#ffffff06;color:#ddd6e6}
#contact-dialog .av-call-mute[aria-pressed=true]{background:#e7b1a326;color:#ffd3c7;border-color:#dbad9e66}
#contact-dialog .av-call-end{color:#f0b9b3;background:#bc605815;border-color:#c174662a}
#contact-dialog .av-call-write{font-size:12px;min-height:42px;margin-top:5px}
#contact-dialog .av-live-voice button[hidden]{display:none}
#contact-dialog .av-live-voice button[aria-busy=true]:before{content:'';display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:av-voice-spin .8s linear infinite}
#contact-dialog .av-live-voice:is([data-phase=listening],[data-phase=speaking],[data-phase=recording]) .av-call-status:before{background:#c6b0e6;box-shadow:0 0 9px #b79ad655}
#contact-dialog[open] .av-live-voice:is([data-phase=listening],[data-phase=speaking],[data-phase=recording]):not([data-muted=true]) .av-call-wave i{animation:av-wave .9s ease-in-out infinite alternate;animation-delay:var(--delay)}
#contact-dialog[data-has-turns=true] .av-live-voice{padding:14px 18px 10px;display:grid;grid-template-columns:46px 1fr;gap:3px 12px;text-align:left;border-bottom:1px solid #ffffff0a}
#contact-dialog[data-has-turns=true] .av-call-presence{width:46px;height:46px;grid-column:1;grid-row:1/3;margin:0}
#contact-dialog[data-has-turns=true] .av-call-orb{width:40px;height:40px}
#contact-dialog[data-has-turns=true] .av-call-orb .arivex-symbol{width:19px;height:19px}
#contact-dialog[data-has-turns=true] .av-call-orb:before{inset:-3px}
#contact-dialog[data-has-turns=true] .av-call-heading h3{font-size:15px;letter-spacing:-.2px;margin:0}
#contact-dialog[data-has-turns=true] :is(.av-call-wave,.av-call-caption,.av-call-heading p,.av-call-write){display:none}
#contact-dialog[data-has-turns=true] .av-call-status{margin:0;grid-column:2;font-size:10px;line-height:1.4}
#contact-dialog[data-has-turns=true] .av-call-actions{grid-column:1/3;margin-top:9px}
#contact-dialog[data-connected=true][data-mode=voice]:not([data-has-turns=true]) .av-scroll{display:none}
#contact-dialog[data-connected=true][data-mode=voice]:not([data-has-turns=true]) .av-live-voice{flex:1;justify-content:safe center;min-height:0;overflow-y:auto;overscroll-behavior:contain}
#contact-dialog .av-live-voice>*{flex-shrink:0}
#contact-dialog[data-connected=true] .av-composer-area{padding:10px 16px 8px}
#contact-dialog[data-connected=true] .av-local-note{display:none}
#contact-dialog .av-composer{border-radius:10px;background:#ffffff04;padding:6px 7px 6px 12px}
#contact-dialog .av-composer textarea{font-size:16px;min-height:40px;max-height:96px}
#contact-dialog .av-send{background:#ddd1ef;color:#24202d;border:0;width:36px;height:36px;border-radius:8px}
#contact-dialog .av-turn{gap:8px;margin:16px 0 22px}
#contact-dialog .av-turn[data-status=completed] .av-turn-state{display:none}
#contact-dialog .av-message[data-speaker=user]{background:#27232e;border-color:#d7c5ee0e;border-radius:12px 12px 4px 12px;margin-left:24px}
#contact-dialog .av-message p{font-size:13px;line-height:1.7}
#contact-dialog .av-activity{border:0;padding:0 4px;color:#a8a1b3;font-size:11px}
#contact-dialog .av-activity-title{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#contact-dialog .av-bottom{position:relative;background:transparent;padding:4px 18px 12px;gap:4px;border-top:0}
#contact-dialog .av-data-details{width:100%;text-align:center;font-size:10px;color:#9e97aa}
#contact-dialog .av-data-details summary{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;cursor:pointer;list-style:none;transition:transform .16s,color .16s}
#contact-dialog .av-data-details summary:active{transform:scale(.97)}
#contact-dialog .av-data-details summary::-webkit-details-marker{display:none}
#contact-dialog .av-data-popover{position:absolute;bottom:100%;left:12px;right:12px;margin-bottom:12px;padding:16px 56px 16px 16px;background:#25202d;border:1px solid #d1b7ed36;border-radius:10px;box-shadow:0 8px 28px #0008;text-align:left;z-index:2}
#contact-dialog .av-data-popover .av-data-notice{margin:0;font-size:12px;line-height:1.6}
#contact-dialog .av-data-close{position:absolute;top:4px;right:4px;width:44px;height:44px;min-width:44px;min-height:44px;border:0;background:transparent;color:#d8cce6}
#contact-dialog .av-data-close:hover{background:#ffffff0b;color:#fff}
#contact-dialog .av-data-close:active{transform:scale(.97)}
#contact-dialog .av-data-close:focus-visible{outline:2px solid #bea7ee;outline-offset:-3px}
#contact-dialog:not([data-connected=true]) .av-data-details{display:none}
#contact-dialog .av-contact-options a{font-size:10px;color:#a8a1b2}
#contact-dialog .av-mobile-label{display:none}
@media(max-width:700px),(pointer:coarse) and (max-height:500px){
 #contact-dialog{border-radius:24px 24px 0 0;background:radial-gradient(ellipse at 80% 0,#b899dc0c,transparent 55%),#101014}
 #contact-dialog[data-connected=true][data-view=conversation]{--av-sheet-height:min(610px,calc(var(--av-visible-height,100dvh) * .84))}
 #contact-dialog[data-connected=true][data-view=conversation]:not([data-has-turns=true]){--av-sheet-height:min(500px,calc(var(--av-visible-height,100dvh) - max(12px,env(safe-area-inset-top))))}
 #contact-dialog[data-connected=true][data-view=conversation][data-mode=voice]:not([data-has-turns=true]){--av-sheet-height:min(480px,calc(var(--av-visible-height,100dvh) - max(12px,env(safe-area-inset-top))))}
 #contact-dialog .av-sheet-handle{width:36px;background:#d5c8e036;margin-top:9px}
 #contact-dialog .av-header{padding:9px 16px 7px}
 #contact-dialog .av-identity{gap:10px}
 #contact-dialog .av-identity h2{font-size:15px;line-height:22px}
 #contact-dialog .av-identity .arivex-symbol{width:25px;height:28px}
 #contact-dialog[data-connected=true] .av-preview{top:46px;left:52px;font-size:11px}
 #contact-dialog .dialog-close{border:0;background:#ffffff06!important}
 #contact-dialog .av-toolbar{padding:6px 16px 12px;gap:6px}
 #contact-dialog .av-modes{padding:3px;border-radius:11px;background:#09090c80}
 #contact-dialog .av-modes button{min-width:66px;font-size:13px;justify-content:center;border-radius:8px}
 #contact-dialog [data-av-summary]{font-size:12px;padding-inline:5px}
 #contact-dialog .av-live-voice{padding:14px 24px 18px}
 #contact-dialog .av-call-presence{height:108px;margin-bottom:16px;width:250px}
 #contact-dialog .av-call-orb{width:80px;height:80px}
 #contact-dialog .av-call-orb .arivex-symbol{width:32px;height:32px}
 #contact-dialog .av-call-wave{opacity:.6}
 #contact-dialog .av-call-heading h3{font-size:26px;letter-spacing:-.8px;margin-bottom:8px}
 #contact-dialog .av-call-heading p{font-size:14px;max-width:280px;line-height:1.5;text-wrap:balance}
 #contact-dialog .av-call-status{margin:12px 0 18px;font-size:12px;line-height:1.5}
 #contact-dialog .av-call-start{min-height:48px;font-size:14px;border-radius:11px}
 #contact-dialog :is(.av-call-mute,.av-call-end){min-height:46px;font-size:13px}
 #contact-dialog .av-call-write{display:none}
 #contact-dialog[data-connected=true][data-mode=voice] .av-composer-area{display:none}
 #contact-dialog .av-scroll{padding:8px 20px 14px}
 #contact-dialog:not([data-connected=true]) .av-welcome>p{display:none}
 #contact-dialog .av-message p{font-size:15px;line-height:1.65}
 #contact-dialog .av-message>span{font-size:11px;margin-bottom:8px}
 #contact-dialog .av-message[data-speaker=user]{padding:11px 14px;margin-left:14px}
 #contact-dialog[data-connected=true] .av-composer-area{padding:8px 14px}
 #contact-dialog .av-composer{padding:7px 7px 7px 12px;gap:8px;border-radius:14px;background:#1a1820;border-color:#c7b8da30}
 #contact-dialog .av-composer textarea{min-width:0;min-height:44px;line-height:1.5;padding:7px 0}
 #contact-dialog .av-send{min-width:44px;width:44px;min-height:44px;height:44px}
 #contact-dialog .av-bottom{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:0 4px;padding:0 14px 4px;border-top:1px solid #ffffff08}
 #contact-dialog .av-desktop-label{display:none}
 #contact-dialog .av-mobile-label{display:inline}
 #contact-dialog .av-data-details{width:auto;grid-column:1;grid-row:1;text-align:left}
 #contact-dialog .av-data-details summary{min-height:44px;font-size:11px;gap:4px;color:#aaa3b6}
 #contact-dialog .av-data-popover{max-height:min(280px,calc(var(--av-visible-height,100dvh) - 140px));overflow-y:auto;overscroll-behavior:contain}
 #contact-dialog .av-data-popover .av-data-notice{font-size:13px}
 #contact-dialog .av-contact-options{display:contents}
 #contact-dialog .av-contact-options a{display:flex;align-items:center;justify-content:center;min-height:44px;font-size:11px;color:#aaa3b6}
 #contact-dialog .av-contact-options a[href^="mailto:"]{grid-column:3;grid-row:1}
 #contact-dialog .av-contact-options a[href="/confidentialite/"]{grid-column:2;grid-row:1}
 #contact-dialog [data-av-exit-example]:not([hidden]){grid-column:1/4;min-height:44px}
 #contact-dialog[data-has-turns=true] .av-live-voice{padding:14px 20px 12px;gap:4px 12px}
 #contact-dialog[data-has-turns=true] .av-call-presence{width:46px;height:46px;margin:0}
 #contact-dialog[data-has-turns=true] .av-call-orb{width:40px;height:40px}
 #contact-dialog[data-has-turns=true] .av-call-orb .arivex-symbol{width:19px;height:19px}
 #contact-dialog[data-has-turns=true] .av-call-heading h3{font-size:16px;margin:0;letter-spacing:-.3px}
 #contact-dialog[data-has-turns=true] .av-call-status{font-size:12px;margin:0}
 #contact-dialog[data-has-turns=true] .av-call-actions{margin-top:10px}
 #contact-dialog[data-connected=true][data-view=conversation][data-compact=true]{--av-sheet-height:calc(var(--av-visible-height,100dvh) - max(8px,env(safe-area-inset-top)))}
 #contact-dialog[data-compact=true] .av-header{padding:2px 12px}
 #contact-dialog[data-compact=true] .av-toolbar{padding:2px 12px 5px}
 #contact-dialog[data-compact=true] .av-bottom{display:none}
 #contact-dialog[data-compact=true] .av-composer-area{padding:4px 12px 8px}
 #contact-dialog[data-compact=true] .av-composer textarea{max-height:64px}
 #contact-dialog[data-compact=true] :is(.av-call-presence,.av-call-heading,.av-call-write,.av-data-details){display:none}
 #contact-dialog[data-compact=true] .av-live-voice{padding:4px 16px;flex:0!important;display:flex;flex-direction:row;gap:8px}
 #contact-dialog[data-compact=true] .av-call-status{font-size:10px;flex:1;margin:0}
 #contact-dialog[data-compact=true] .av-call-actions{flex:1;margin:0}
 #contact-dialog[data-compact=true] .av-preview{display:none}
}
@keyframes av-voice-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.av-live-voice button[aria-busy=true]::before{animation:none}}

/* Keep the live assistant in its document while public pages change. */
html[data-av-embedded=true] :is(#contact-dialog,.av-launcher,.av-minimized-call){display:none!important}
body[data-av-page-host=true]{overflow:hidden!important}
body[data-av-page-host=true]>:not(#contact-dialog):not(.av-launcher):not(.av-minimized-call):not([data-av-page-frame]){display:none!important}
[data-av-page-frame]{position:fixed;inset:0;width:100%;height:100%;border:0;background:var(--page-bg,#08090b);z-index:80}
html body[data-av-page-host=true]:not(:has(#contact-dialog[open]:not([data-minimized=true])))>.av-launcher{visibility:visible;pointer-events:auto}

/* Mobile assistant: compact launcher and voice sheet from the approved mockup. */
.av-launcher-orb,#contact-dialog .av-orb-start,#contact-dialog .av-mobile-call-copy,#contact-dialog .av-minimize-chevron{display:none}
@media(max-width:700px),(pointer:coarse) and (max-height:500px){
 .av-launcher{left:50%;right:auto;translate:-50% 0;bottom:calc(14px + env(safe-area-inset-bottom));min-height:50px;padding:7px 14px 7px 8px;gap:10px;border-radius:999px;border-color:#cab6e359;background:linear-gradient(120deg,#211d28ee,#101015f5);box-shadow:0 6px 24px #0006;font-size:13px;white-space:nowrap}
 .av-launcher .av-launcher-mark{display:none}
 .av-launcher-orb{display:block;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:radial-gradient(ellipse at 28% 20%,#ffd7b6,transparent 55%),radial-gradient(ellipse at 75% 90%,#aa85ee,transparent 65%),linear-gradient(135deg,#efa9a7,#5c3678 65%,#dac5ff);box-shadow:inset 0 0 6px #fff8,0 0 12px #b396d933}
 .av-launcher>.icon{margin-left:2px;color:#e1d4f0}
 #contact-dialog[data-connected=true]{--av-sheet-gap:8px;inset:calc(var(--av-visible-top,0px) + var(--av-visible-height,100dvh) - var(--av-sheet-height) - var(--av-sheet-gap)) 16px auto;width:calc(100% - 32px);border:1px solid #cfb5ec40;border-radius:28px;padding-bottom:max(4px,env(safe-area-inset-bottom));background:radial-gradient(ellipse at 50% 38%,#b695d111,transparent 58%),#121218;box-shadow:0 16px 55px #0008}
 #contact-dialog[data-connected=true][data-view=conversation]:not([data-has-turns=true]),#contact-dialog[data-connected=true][data-view=conversation][data-mode=voice]:not([data-has-turns=true]){--av-sheet-height:min(540px,calc(var(--av-visible-height,100dvh) * .68))}
 /* Give notices their own space instead of squeezing the orb behind the composer. */
 #contact-dialog[data-connected=true][data-view=conversation][data-mode=voice]:not([data-has-turns=true]):not([data-compact=true]):has(.av-api-status:not([hidden])){--av-sheet-height:min(640px,calc(var(--av-visible-height,100dvh) - max(24px,env(safe-area-inset-top))))}
 #contact-dialog[data-connected=true] .av-api-status{max-height:calc(var(--av-visible-height,100dvh) * .24);overflow-y:auto;overscroll-behavior:contain}
 #contact-dialog[data-connected=true]::backdrop{background:#08090b55;backdrop-filter:none}
 #contact-dialog[data-connected=true] .av-sheet-handle{width:36px;height:4px;min-height:4px;background:#c7b5de55;margin:10px auto 0}
 #contact-dialog[data-connected=true] .av-header{padding:6px 14px 10px}
 #contact-dialog[data-connected=true] .av-identity>.arivex-lockup,#contact-dialog[data-connected=true] .av-preview{display:none}
 #contact-dialog[data-connected=true] .av-identity h2{font-size:14px;font-weight:500}
 #contact-dialog[data-connected=true] .av-identity>div>.av-language{display:block;visibility:visible;font-size:11px;line-height:18px}
 #contact-dialog[data-connected=true] .av-header-actions{gap:4px}
 #contact-dialog[data-connected=true] :is([data-av-minimize],.dialog-close){border-radius:50%;background:#ffffff06!important;color:#ddd7e8}
 #contact-dialog[data-connected=true] .av-minimize-line{display:none}
 #contact-dialog[data-connected=true] .av-minimize-chevron{display:block}
 #contact-dialog[data-connected=true][data-mode=voice]:not([data-has-turns=true]):not([data-compact=true]) .av-toolbar{display:none}
 #contact-dialog[data-connected=true] .av-composer-area,#contact-dialog[data-connected=true][data-mode=voice] .av-composer-area{display:block;padding:8px 12px 0}
 #contact-dialog[data-connected=true] .av-composer{align-items:center;border-radius:999px;padding:5px 6px 5px 15px;background:#ffffff03;border-color:#cfb8e75c}
 #contact-dialog[data-connected=true] .av-composer textarea{height:44px;min-height:44px;padding:10px 0;line-height:24px;font-size:16px}
 #contact-dialog[data-connected=true] .av-send{border-radius:50%;background:linear-gradient(135deg,#f5c4ab,#be9bed);color:#221b2c;margin:0}
 #contact-dialog[data-connected=true] .av-bottom{border:0;padding:0 12px 2px;gap:0 8px;grid-template-columns:1fr auto 1fr}
 #contact-dialog[data-connected=true] .av-data-details{justify-self:end}
 #contact-dialog[data-connected=true] .av-contact-options a[href^="mailto:"]{justify-self:start}
 #contact-dialog[data-connected=true] .av-live-voice{padding:4px 20px 8px}
 #contact-dialog[data-connected=true]:not([data-has-turns=true]) .av-call-presence{width:144px;height:144px;min-height:144px;margin:4px auto 18px}
 #contact-dialog[data-connected=true]:not([data-has-turns=true]) .av-live-voice:not([data-phase=idle]) .av-call-presence{width:112px;height:112px;min-height:112px;margin:0 auto 12px}
 #contact-dialog[data-connected=true] .av-call-wave{display:none}
 #contact-dialog[data-connected=true] .av-call-orb{width:100%;height:100%;border:1px solid #edcff78c;overflow:hidden;background:radial-gradient(ellipse at 23% 18%,#ffe0bd 0,#efb4ae 23%,transparent 61%),radial-gradient(ellipse at 79% 92%,#c5a1ff,transparent 65%),linear-gradient(135deg,#e5afad,#493059 62%,#b69bea);box-shadow:inset 2px 3px 12px #ffe9d560,inset -4px -7px 12px #ddd0ff75,0 0 38px #aa77dd18}
 #contact-dialog[data-connected=true] .av-call-orb:before{inset:0;border:0;opacity:.22;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
 #contact-dialog[data-connected=true] .av-call-orb>.arivex-lockup{display:none}
 #contact-dialog[data-connected=true]:not([data-has-turns=true]):not([data-compact=true]) .av-orb-start:not([hidden]){position:absolute;inset:0;display:grid;place-items:center;width:100%;height:100%;border:0;border-radius:50%;background:transparent;box-shadow:none;padding:0;color:#211b2a}
 #contact-dialog .av-orb-phone{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fffaf9;box-shadow:0 2px 12px #38213d1a}
 #contact-dialog .av-orb-phone>.icon{width:23px;height:23px}
 #contact-dialog .av-orb-start[aria-busy=true]{opacity:1}
 #contact-dialog .av-orb-start[aria-busy=true]:before{display:none}
 #contact-dialog .av-orb-start[aria-busy=true] .av-orb-phone>.icon{display:none}
 #contact-dialog .av-orb-start[aria-busy=true] .av-orb-phone:after{content:'';width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:av-voice-spin .8s linear infinite}
 #contact-dialog[data-connected=true]:not([data-has-turns=true]):not([data-compact=true]) .av-call-start{display:none}
 #contact-dialog[data-connected=true]:not([data-has-turns=true]) .av-live-voice[data-phase=idle] :is(.av-call-heading,.av-call-status,.av-call-actions){display:none}
 #contact-dialog[data-connected=true]:not([data-has-turns=true]):not([data-compact=true]) .av-live-voice[data-phase=idle] .av-mobile-call-copy{display:block}
 #contact-dialog .av-mobile-call-copy h3{font-size:20px;font-weight:500;line-height:1.3;letter-spacing:-.5px;margin:0 0 8px}
 #contact-dialog .av-mobile-call-copy p{font-size:12px;line-height:1.5;color:#b9aecb}
 #contact-dialog[data-connected=true] .av-call-heading h3{font-size:21px}
 #contact-dialog[data-connected=true] .av-call-heading p{font-size:12px}
 #contact-dialog[data-connected=true] .av-call-status{margin:8px 0 12px;font-size:11px}
 #contact-dialog[data-connected=true][data-has-turns=true] .av-call-heading h3{font-size:16px}
 #contact-dialog[data-connected=true][data-has-turns=true] .av-call-status{margin:0}
 #contact-dialog[data-connected=true][data-compact=true]{--av-sheet-gap:0px;inset-inline:0;width:100%;border-radius:20px 20px 0 0;padding-bottom:0}
 #contact-dialog[data-connected=true][data-view=conversation][data-compact=true]:not([data-has-turns=true]){--av-sheet-height:calc(var(--av-visible-height,100dvh) - max(8px,env(safe-area-inset-top)))}
 #contact-dialog[data-connected=true][data-compact=true] .av-identity>div>.av-language{display:none}
 #contact-dialog[data-connected=true][data-compact=true] .av-composer-area{padding:4px 12px 8px}
 #contact-dialog[data-connected=true][data-compact=true] .av-live-voice[data-phase=idle]{display:none}
}
@media(max-width:700px) and (max-height:740px){
 #contact-dialog[data-connected=true]:not([data-has-turns=true]) .av-call-presence{width:116px;height:116px;min-height:116px;margin:0 auto 12px}
 #contact-dialog[data-connected=true]:not([data-has-turns=true]) .av-live-voice:not([data-phase=idle]) .av-call-presence{width:88px;height:88px;min-height:88px;margin:0 auto 10px}
 #contact-dialog[data-connected=true] .av-mobile-call-copy h3{font-size:19px;margin-bottom:6px}
}
@media(max-width:360px){
 #contact-dialog[data-connected=true] :is(.av-call-mute,.av-call-end){padding-inline:8px;white-space:nowrap}
 #contact-dialog[data-connected=true]:not([data-has-turns=true]) .av-live-voice:not([data-phase=idle]) .av-call-presence{width:76px;height:76px;min-height:76px}
}
@media(prefers-reduced-motion:reduce){#contact-dialog .av-orb-phone:after{animation:none!important}}
@media(forced-colors:active){.av-launcher-orb{background:Highlight}#contact-dialog[data-connected=true] .av-call-orb{background:Canvas;border:1px solid ButtonText}#contact-dialog .av-orb-phone{background:ButtonFace;color:ButtonText}}
.av-orb-surface,.av-orb-canvas{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;border-radius:50%}
@media(max-width:700px),(pointer:coarse) and (max-height:500px){
 .av-launcher-orb{position:relative}
 .av-launcher-orb[data-orb-rendered=true],#contact-dialog[data-connected=true] .av-call-orb[data-orb-rendered=true]{background:transparent;border-color:transparent;box-shadow:none}
 #contact-dialog[data-connected=true] .av-call-orb[data-orb-rendered=true]:before{display:none}
}
/* Bouton de relecture d'une demande vocale : bien visible (demande de Darius, 2026-10-13). */
#contact-dialog .av-review-cta{display:flex;justify-content:center;align-items:center;gap:9px;width:100%;min-height:46px;margin-top:10px;padding:10px 16px;border-radius:10px;border:1px solid #fff9;background:linear-gradient(110deg,#f9f8fb,#ebe4f4);color:#201c28;font-size:14px;font-weight:600;line-height:1.3;text-align:center;box-shadow:0 3px 14px #d4bcf129;cursor:pointer;transition:transform .15s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),filter .2s cubic-bezier(.16,1,.3,1);animation:av-review-attire 1.6s cubic-bezier(.16,1,.3,1) 1}
#contact-dialog .av-review-cta:hover{filter:brightness(1.04);box-shadow:0 4px 20px #d4bcf140}
#contact-dialog .av-review-cta:active{transform:scale(.97)}
#contact-dialog .av-review-cta:focus-visible{outline:2px solid #cebcff;outline-offset:3px}

/* The compact call remains in the host document while its page frame changes. */
.av-minimized-call{position:fixed;right:calc(20px + env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:91;display:flex;align-items:flex-end;gap:10px;font:500 13px/1.4 Inter,Arial,sans-serif;color:#f6f4fa}
.av-minimized-call[hidden],.av-mini-controls[hidden]{display:none!important}
.av-mini-presence{position:relative;display:grid;place-items:center;width:78px;height:78px;padding:0;border:1px solid #ccb1e588;border-radius:24px;background:radial-gradient(circle at 35% 12%,#b68adc36,transparent 70%),#15131d;box-shadow:0 12px 32px #000a,0 0 25px #ac82dd38;cursor:pointer;transition:transform .18s,box-shadow .18s}
.av-mini-presence:hover{box-shadow:0 12px 32px #000a,0 0 30px #c29cf080}
.av-mini-presence:active,.av-mini-controls button:active{transform:scale(.97)}
.av-mini-presence:focus-visible,.av-mini-controls button:focus-visible{outline:2px solid #d2b4ff;outline-offset:3px}
.av-mini-head{display:grid;place-items:center;width:69px;height:69px;overflow:hidden;transform-origin:50% 80%;transition:transform .35s}
.av-mini-head img{display:block;width:100%;height:100%;object-fit:contain}
.av-minimized-call[data-phase=listening] .av-mini-head{transform:rotate(-4deg)}
.av-minimized-call[data-phase=thinking] .av-mini-head{transform:rotate(5deg)}
.av-minimized-call[data-phase=speaking] .av-mini-head{animation:av-mini-speak 1.2s ease-in-out infinite alternate}
.av-minimized-call[data-phase=error] .av-mini-presence{border-color:#ed9f9f;box-shadow:0 12px 32px #000a,0 0 22px #d86b6b66}
@keyframes av-mini-speak{to{transform:translateY(-3px) rotate(3deg)}}
.av-mini-orb{display:none}
.av-mini-controls{position:absolute;right:calc(100% + 10px);bottom:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:7px;width:min(285px,calc(100vw - 120px));padding:11px;border:1px solid #cbb2e04d;border-radius:16px;background:#15131df2;box-shadow:0 12px 30px #0008;backdrop-filter:blur(14px)}
.av-mini-status{flex-basis:100%;text-align:right;color:#d7cce2;font-size:11px}
.av-mini-controls button{padding:7px 10px;border:1px solid #ccb1e54d;border-radius:9px;background:#ffffff0b;color:inherit;cursor:pointer;transition:transform .15s,background .15s}
.av-mini-controls button:hover{background:#ffffff1d}
.av-mini-controls button[aria-busy=true]{opacity:.65;cursor:wait}
.av-mini-controls button[aria-busy=true]::after{content:'';display:inline-block;width:11px;height:11px;margin-left:7px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:av-mini-loading .75s linear infinite}
@keyframes av-mini-loading{to{transform:rotate(360deg)}}
@media(max-width:700px),(pointer:coarse) and (max-height:500px){
 .av-minimized-call{right:calc(15px + env(safe-area-inset-right));bottom:calc(15px + env(safe-area-inset-bottom))}
 .av-mini-presence{width:62px;height:62px;border-radius:50%;overflow:hidden}
 .av-mini-head{display:none}
 .av-mini-orb{position:relative;display:block;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 25% 20%,#ffd9bb,transparent 55%),radial-gradient(circle at 78% 82%,#b690ee,transparent 65%),#49305e}
 .av-mini-orb[data-orb-rendered=true]{background:transparent}
 .av-mini-controls{right:calc(100% + 8px);width:min(258px,calc(100vw - 98px))}
}
@media(prefers-reduced-motion:reduce){.av-mini-head,.av-mini-presence,.av-mini-controls button,.av-mini-controls button::after{animation:none!important;transition:none!important}}
@media(forced-colors:active){.av-mini-presence,.av-mini-controls,.av-mini-controls button{border:1px solid ButtonText;background:Canvas;color:CanvasText}}
@keyframes av-review-attire{0%{box-shadow:0 0 0 0 #d4bcf180}70%{box-shadow:0 0 0 10px #d4bcf100}100%{box-shadow:0 3px 14px #d4bcf129}}
@media(max-width:700px){#contact-dialog .av-review-cta{min-height:48px}}
@media(prefers-reduced-motion:reduce){#contact-dialog .av-review-cta{animation:none;transition:none}}
