/* Avi is scoped so the existing Avium website keeps its layout. */
#avi-widget{--avi-navy:#193b73;--avi-teal:#087f89;--avi-aqua:#91dcdb;font:16px/1.5 'DM Sans',Arial,sans-serif;color:var(--avi-navy);position:relative;z-index:1000}#avi-widget *{box-sizing:border-box}#avi-widget button,#avi-widget input{font:inherit}#avi-widget button{cursor:pointer}#avi-widget [hidden]{display:none!important}#avi-widget button:focus-visible,#avi-widget a:focus-visible,#avi-widget input:focus-visible{outline:3px solid var(--avi-teal);outline-offset:4px}.avi-launcher{position:fixed;bottom:max(10px,env(safe-area-inset-bottom));left:0;width:142px;height:156px;border:0;background:transparent;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:end;touch-action:manipulation;will-change:transform}.avi-label{font-size:13px;line-height:1.3;padding:8px 13px;border-radius:16px 16px 16px 4px;background:#fff;color:var(--avi-navy);box-shadow:0 3px 20px #193b7320;border:1px solid #cadce7;white-space:nowrap}.avi-character{width:120px;height:120px;display:block;background-image:url('/assets/avi-cheerful-expressions.png');background-size:200% 200%;background-position:0 0;filter:drop-shadow(0 5px 5px #193b7322)}.avi-launcher.avi-walking .avi-character{animation:avi-steps .65s steps(1,end) infinite}.avi-launcher.avi-left .avi-character{transform:scaleX(-1)}@keyframes avi-steps{0%,100%{background-position:0 0}25%{background-position:100% 0}50%{background-position:0 100%}75%{background-position:100% 100%}}.avi-panel{position:fixed;right:24px;bottom:145px;width:min(400px,calc(100vw - 32px));height:560px;max-height:calc(100dvh - 170px);display:flex;flex-direction:column;background:#fff;border:1px solid #c9dce6;border-radius:24px;box-shadow:0 20px 80px #102b6540;overflow:hidden}.avi-head{display:flex;align-items:center;gap:12px;padding:17px 18px;background:var(--avi-navy);color:white;flex-shrink:0}.avi-avatar{width:51px;height:51px;background-color:#dff5f2;border-radius:15px;flex-shrink:0}.avi-head h2{font:600 20px/1.2 'DM Sans',Arial,sans-serif;letter-spacing:0;margin:0 0 3px;color:#fff}.avi-head p{font-size:13px;color:#c4edec;line-height:1.4;margin:0}.avi-close{margin-left:auto;align-self:flex-start;background:#ffffff15;border:1px solid #ffffff40;border-radius:50%;color:white;width:36px;height:36px;flex-shrink:0;font-size:24px!important;line-height:1!important}.avi-log{flex:1;min-height:80px;overflow:auto;overscroll-behavior:contain;padding:20px 18px 8px;scroll-behavior:smooth}.avi-message{font-size:15px;line-height:1.55;max-width:94%;padding:12px 14px;margin-bottom:12px;background:#eef6fa;border-radius:3px 16px 16px 16px;white-space:pre-line;overflow-wrap:anywhere;color:#213f63}.avi-message.avi-user{margin-left:auto;background:#193b73;color:white;border-radius:16px 3px 16px 16px}.avi-message a{display:block;margin-top:8px;font-size:14px;text-decoration:underline;text-underline-offset:3px;color:#08717b}.avi-suggestions{padding:4px 18px 12px;display:flex;gap:7px;flex-wrap:wrap;flex-shrink:0}.avi-suggestions button{font-size:13px!important;border:1px solid #bcd8df;color:#164b69;background:#fff;border-radius:20px;padding:7px 11px}.avi-suggestions button:hover{background:#dcf3f0}.avi-form{padding:13px 16px;display:flex;gap:8px;border-top:1px solid #e1ebf1;flex-shrink:0}.avi-form input{width:100%;min-width:0;border:1px solid #b6cbd9;border-radius:12px;padding:11px 12px;color:#193b73;font-size:16px!important;background:#fff}.avi-form button{border:0;background:#087f89;border-radius:12px;color:white;padding:10px 13px;font-size:14px!important}.avi-note{font-size:12px!important;line-height:1.5!important;color:#516c86;margin:0!important;padding:0 18px 13px;flex-shrink:0}.avi-note button{border:0;background:none;color:#08717b;text-decoration:underline;font-size:12px!important;padding:0}.avi-note a{text-decoration:underline}.avi-toggle{position:fixed;right:18px;bottom:max(8px,env(safe-area-inset-bottom));font-size:12px!important;background:#fff;color:#193b73;border:1px solid #cadce7;border-radius:16px;padding:5px 9px}.avi-launcher:hover .avi-label{background:#ddf4f1}@media(max-width:600px){.avi-launcher{width:124px;height:140px}.avi-launcher .avi-character{width:108px;height:108px}.avi-panel{right:10px;bottom:max(10px,env(safe-area-inset-bottom));width:calc(100vw - 20px);height:590px;max-height:calc(100dvh - 24px);border-radius:20px}.avi-open .avi-launcher,.avi-open .avi-toggle{visibility:hidden}.avi-head{padding:14px}.avi-message{font-size:15px}.avi-toggle{bottom:8px;right:12px}.avi-suggestions{padding-bottom:8px}}@media(prefers-reduced-motion:reduce){.avi-character{animation:none!important}.avi-log{scroll-behavior:auto}.avi-launcher{will-change:auto}}
#avi-widget .avi-expression{background-image:url('/assets/avi-cheerful-expressions.png');background-size:300% 200%;animation:none;transform:none}#avi-widget .avi-seasonal{background-image:url('/assets/avi-cheerful-seasons.png');background-size:200% 200%;animation:none}.avi-settings{border-bottom:1px solid #e1ebf1;background:#f7fbfc;flex-shrink:0;max-height:180px;overflow:auto}.avi-settings summary{cursor:pointer;font-size:13px;padding:9px 18px;color:#176775}.avi-settings-body{padding:0 18px 12px}.avi-settings label{display:flex;align-items:center;gap:10px;font-size:13px}.avi-settings select{font:inherit;color:#193b73;border:1px solid #c2d6df;border-radius:8px;padding:5px 9px;background:white;flex:1;min-width:0}.avi-moods{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.avi-moods button{border:1px solid #b9d9dc;border-radius:20px;font-size:12px!important;color:#176775;background:white;padding:5px 8px}.avi-moods button:hover{background:#dbf3ef}.avi-avatar{width:62px;height:62px}.avi-panel{height:610px}#avi-widget .avi-seasonal{filter:drop-shadow(0 5px 5px #193b7322)}
/* Small, soft Avi: unobtrusive above content, reactive to mouse and touch. */
#avi-widget .avi-launcher{width:88px;height:88px;bottom:max(12px,env(safe-area-inset-bottom));touch-action:none;user-select:none;-webkit-user-select:none;transition:opacity .25s;outline-offset:1px}
#avi-widget .avi-launcher .avi-character{width:84px;height:84px;transform:rotate(var(--avi-tilt,0deg));transform-origin:50% 75%;transition:transform .2s;filter:drop-shadow(0 2px 3px #193b7312)}
#avi-widget .avi-character,#avi-widget .avi-expression{background-image:url('/assets/avi-cheerful-expressions.png');background-size:300% 200%;background-position:0 0}
#avi-widget .avi-seasonal{background-image:url('/assets/avi-cheerful-seasons.png');background-size:300% 200%}
#avi-widget .avi-launcher.avi-walking .avi-character{animation:avi-waddle .6s ease-in-out infinite}
#avi-widget .avi-launcher.avi-petted .avi-character{animation:avi-purr .3s ease-in-out infinite}
#avi-widget .avi-label{position:absolute;bottom:85px;font-size:12px;max-width:180px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;transform:translateX(-25%)}
#avi-widget .avi-launcher:hover .avi-label,#avi-widget .avi-launcher:focus-visible .avi-label{opacity:1}
#avi-widget .avi-launcher.avi-over-text:not(:hover):not(:focus-visible){opacity:.25}
#avi-widget .avi-panel{bottom:108px;max-height:calc(100dvh - 132px)}
#avi-widget .avi-avatar{width:54px;height:54px;background-color:transparent}
#avi-widget .avi-motion{margin-top:9px;font-size:12px;border:1px solid #b9d9dc;border-radius:14px;color:#176775;background:#fff;padding:5px 9px}
#avi-widget .avi-touch-hint{font-size:12px;line-height:1.4;margin:8px 0 0;color:#516c86}
@keyframes avi-waddle{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-3px) rotate(3deg)}}
@keyframes avi-purr{0%,100%{transform:rotate(-4deg) scale(1.04)}50%{transform:rotate(4deg) scale(1.04)}}
@media(max-width:600px){#avi-widget .avi-launcher{width:76px;height:76px}#avi-widget .avi-launcher .avi-character{width:72px;height:72px}#avi-widget .avi-label{display:none}#avi-widget .avi-panel{bottom:max(10px,env(safe-area-inset-bottom));max-height:calc(100dvh - 24px)}}
@media(prefers-reduced-motion:reduce){#avi-widget .avi-launcher,#avi-widget .avi-character,#avi-widget .avi-label{animation:none!important;transition:none!important}}
/* Preserve visibility while keeping the area outside Avi fully transparent. */
#avi-widget .avi-launcher.avi-over-text:not(:hover):not(:focus-visible){opacity:.8}
#avi-widget .avi-launcher .avi-character{filter:drop-shadow(0 2px 3px #193b7340)}
@media(max-width:600px){#avi-widget .avi-launcher{width:88px;height:88px}#avi-widget .avi-launcher .avi-character{width:84px;height:84px}}

#avi-widget .avi-launcher .avi-character{filter:drop-shadow(0 0 1px #91dcdb) drop-shadow(0 2px 3px #193b7330)}
.avi-audio-controls{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}#avi-widget .avi-audio-controls button{font-size:12px;border:1px solid #acd1d5;color:#176775;background:white;padding:5px 9px;border-radius:20px}#avi-widget .avi-audio-status{font-size:12px;line-height:1.4;color:#176775;margin:6px 0 0}
#avi-widget .avi-holiday-banner{margin:0;padding:8px 18px;background:#e4f5ef;color:#176775;font-size:13px;font-weight:600;border-bottom:1px solid #cadfe0;flex-shrink:0}#avi-widget .avi-launcher:before{content:'';position:absolute;inset:12px;border-radius:50%;z-index:-1;pointer-events:none;opacity:0}#avi-widget[data-holiday=light] .avi-launcher:before{opacity:.7;background:radial-gradient(circle,#ffdf9480,transparent 72%);box-shadow:0 0 16px #f3c55966}#avi-widget[data-holiday=colour] .avi-launcher:before{opacity:.6;background:conic-gradient(#eb7bb3,#f4d473,#74d5cf,#7b9ee3,#eb7bb3);filter:blur(8px)}#avi-widget[data-holiday=tricolour] .avi-launcher:before{opacity:.65;background:linear-gradient(#eea15e 20%,#fff 48%,#57ac93 80%);filter:blur(7px)}#avi-widget[data-holiday=flowers] .avi-launcher:before{opacity:.6;background:radial-gradient(circle,#ffdc8880,#8cded133,transparent 75%)}#avi-widget[data-holiday=joy] .avi-launcher:before{opacity:.6;background:radial-gradient(circle,#91dcdb80,transparent 72%)}#avi-widget[data-holiday=calm] .avi-character{animation:none!important}#avi-widget.avi-effects-paused .avi-character{animation:none!important}

/* Compact chat while retaining readable text and comfortable touch controls. */
#avi-widget .avi-panel{width:min(350px,calc(100vw - 24px));height:470px;border-radius:20px}
#avi-widget .avi-head{padding:12px 14px;gap:10px}
#avi-widget .avi-avatar{width:44px;height:44px}
#avi-widget .avi-log{padding:14px 14px 6px}
#avi-widget .avi-suggestions{padding:4px 14px 8px;gap:6px}
#avi-widget .avi-form{padding:10px 12px}
#avi-widget .avi-note{padding:0 14px 10px}
@media(max-width:600px){#avi-widget .avi-panel{right:12px;height:450px}}
