/* IAI CLOUD - regole CSS dell'avatar copiate VERBATIM da iai.ia-net.it (gateway vps3, site_gateway.py, CSS_HOME,
   v4b-core 20260825). Uniche differenze: variabili di tema dichiarate su .adm-avatar (nell'originale su .ianet-home),
   selettore prefers-reduced-motion riferito a .adm-avatar, omessa la regola .ih-hero-sec (layout della home). */
.adm-avatar{--ac:#34d6c8;--bg2:#111826;--bo:#1d2740;--mu:#8fa3bf}
.ih-av{background:var(--bg2);border:1px solid var(--bo);border-radius:18px;
       overflow:hidden;display:flex;flex-direction:column}
.ih-av-box{aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;
           background:radial-gradient(circle at 50% 35%,#16304a 0%,#0b0f17 70%);
           position:relative;padding:24px;text-align:center}
.ih-av-fb{max-width:26em;color:#cfdcea;font-size:15px;line-height:1.6}
.ih-av-fb b{display:block;color:#e6edf3;margin-bottom:8px;font-size:16px}
.ih-stato{display:flex;align-items:center;gap:8px;padding:12px 16px;
          border-top:1px solid var(--bo);font-size:13px;color:var(--mu)}
.ih-dot{width:9px;height:9px;border-radius:50%;background:#8fa3bf;flex:0 0 auto}
.ih-dot.off{background:#d29922}
.ih-av{background:transparent;border-color:transparent;overflow:visible;box-shadow:none}
.ih-av .ih-stato{border-top:none;justify-content:center;background:rgba(10,22,38,.5);border:1px solid rgba(120,180,255,.10);border-radius:999px;margin:2px auto 0;width:max-content;max-width:100%;padding:8px 18px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.ih-av-box{position:relative;overflow:visible;border:none;background:radial-gradient(92% 86% at 50% 44%,#0b1c31 0%,#071120 40%,rgba(4,10,19,0) 74%)}
.ih-av-box .ih-iai{z-index:3}
.ih-av-box .ih-iai svg{filter:drop-shadow(0 2px 14px rgba(2,6,12,.9)) drop-shadow(0 0 3px rgba(2,6,12,.7))}
.ih-av-box .ih-av-fb{position:absolute;left:8%;right:8%;bottom:4%;max-width:none;font-size:13.5px;color:#b9cbdd;text-shadow:0 1px 6px rgba(3,8,16,.9)}
/* inset mobile: vedi regola sopra */
#iaiCloud{position:absolute;inset:-52%;width:204%;height:204%;pointer-events:none;z-index:0;-webkit-mask-image:radial-gradient(60% 60% at 50% 50%,#000 58%,transparent 99%);mask-image:radial-gradient(60% 60% at 50% 50%,#000 58%,transparent 99%)}
@media(max-width:900px){
#iaiCloud{inset:-12%;width:124%;height:124%;-webkit-mask-image:radial-gradient(58% 58% at 50% 50%,#000 46%,transparent 92%);mask-image:radial-gradient(58% 58% at 50% 50%,#000 46%,transparent 92%)}
.ih-av-box{aspect-ratio:1/1;max-height:380px}
.ih-av-box .ih-iai svg{width:34%!important;max-width:150px!important}
}
.ih-iai{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1}
.ih-iai svg{width:46%;max-width:220px;color:#eaf5ff;filter:drop-shadow(0 0 calc(8px + var(--iai-liv,0)*26px) rgba(96,206,255,calc(.30 + var(--iai-liv,0)*.65)));transform:scale(calc(1 + var(--iai-liv,0)*.055));transition:transform .09s linear}
.ih-av-box .ih-av-fb{z-index:2}
.ih-av-box.iai-on .ih-av-fb{display:none}
@keyframes iaiPulse{0%,100%{opacity:.9}50%{opacity:1}}
@keyframes iaiIn{0%{opacity:0;filter:blur(12px);transform:scale(.94)}100%{opacity:1}}
.ih-av-box.iai-idle .ih-iai svg{animation:iaiIn 1.5s ease-out 1,iaiPulse 3.4s ease-in-out 1.5s infinite}
.ih-av-box.iai-off .ih-iai svg{opacity:.35;filter:none;animation:none}
/* VOICE UI: indicatore di parlato CENTRATO nel riquadro avatar (solo presentazione).
   Lo stato viene da calcola() (data-iai-stato) o dal percorso storico (classe iai-speak). */
.ih-av-box::after{content:"";position:absolute;top:50%;left:50%;width:min(66%,300px);aspect-ratio:1/1;border-radius:50%;box-sizing:border-box;border:2px solid transparent;opacity:0;pointer-events:none;z-index:2;transform:translate(-50%,-50%) scale(.9);transition:opacity .25s ease,transform .12s linear,box-shadow .12s linear}
.ih-av-box.iai-speak::after,.ih-av-box[data-iai-stato="SPEAKING"]::after{opacity:1;border-color:rgba(96,206,255,.85);box-shadow:0 0 calc(10px + var(--iai-liv,0)*40px) rgba(96,206,255,calc(.35 + var(--iai-liv,0)*.6)),inset 0 0 calc(8px + var(--iai-liv,0)*24px) rgba(96,206,255,.25);transform:translate(-50%,-50%) scale(calc(1 + var(--iai-liv,0)*.08));animation:iaiRing 1.6s ease-in-out infinite}
.ih-av-box[data-iai-stato="THINKING"]::after,.ih-av-box[data-iai-stato="WEB_SEARCH"]::after{opacity:.6;border:2px dashed rgba(143,163,191,.65);transform:translate(-50%,-50%) scale(.96);animation:iaiRot 6s linear infinite}
@keyframes iaiRing{0%,100%{opacity:.82}50%{opacity:1}}
@keyframes iaiRot{to{transform:translate(-50%,-50%) scale(.96) rotate(360deg)}}
.ih-av:has(.ih-av-box.iai-speak) .ih-stato{opacity:.6}
@media(max-width:900px){.ih-av-box::after{width:min(52%,200px)}}
@media(prefers-reduced-motion:reduce){.adm-avatar *{transition:none!important;animation:none!important}.ih-av-box::after{animation:none!important;transition:none!important}}
/* IAI LOGO V2 - cerchio esterno: riposo continuo (spessore 3px, +50%), elaborazione a segmenti che ruotano,
   risposta vocale guidata dal livello audio REALE (--iai-liv, analyser della riproduzione). Nessun alone interno. */
.ih-av-box::after{opacity:1;border:3px solid rgba(96,206,255,.85);background:none;box-shadow:0 0 10px rgba(96,206,255,.30);transform:translate(-50%,-50%);transition:opacity .25s ease,transform .14s ease-out,box-shadow .14s ease-out,border-width .14s ease-out}
.ih-av-box.iai-off::after{opacity:.35;box-shadow:none}
.ih-av-box.iai-speak::after,.ih-av-box[data-iai-stato="SPEAKING"]::after{opacity:1;border:calc(3px + var(--iai-liv,0)*8px) solid rgba(96,206,255,calc(.85 + var(--iai-liv,0)*.15));box-shadow:0 0 calc(10px + var(--iai-liv,0)*40px) rgba(96,206,255,calc(.35 + var(--iai-liv,0)*.6));transform:translate(-50%,-50%) scale(calc(1 + var(--iai-liv,0)*.07));animation:none}
.ih-av-box[data-iai-stato="THINKING"]::after,.ih-av-box[data-iai-stato="WEB_SEARCH"]::after{opacity:1;border:0 solid transparent;box-shadow:none;background:repeating-conic-gradient(rgba(96,206,255,.95) 0deg 12deg,transparent 12deg 22.5deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3.5px));transform:translate(-50%,-50%);animation:iaiRot2 2.4s linear infinite}
@keyframes iaiRot2{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
