/* Widget pubblico assistente AI — tema scuro/oro (concept "aura dorata") */
.acai-w{
	--ac-bg:#0B1110; --ac-panel:#131A18; --ac-panel2:#151C1A;
	--ac-line:rgba(255,255,255,.08); --ac-goldline:rgba(214,168,74,.35);
	--ac-text:#F3EEE2; --ac-text2:#B8B1A2; --ac-dim:#7E786C;
	--ac-gold:#D6A84A; --ac-gold2:#F4C96B; --ac-golddark:#8C6825;
	--ac-green:#57D93E; --ac-yellow:#F2DA1E; --ac-orange:#F5701A; --ac-red:#E3483F; --ac-grave:#B2222C;
	--ac-accent:var(--ac-gold);--ac-accent-rgb:214,168,74;
	background:linear-gradient(165deg,#0D1412 0%,#0B1110 55%,#0E1710 100%);
	color:var(--ac-text);
	border:1px solid var(--ac-line);
	border-radius:18px;
	max-width:860px;margin:0 auto;
	padding:18px 18px 12px;
	font-family:Georgia,'Times New Roman',serif;
	box-shadow:0 18px 60px rgba(0,0,0,.55);
	box-sizing:border-box;
}
.acai-w *,.acai-w *::before,.acai-w *::after{box-sizing:border-box}
/* Reset dei bottoni: i temi WordPress ridisegnano i <button>, qui comandiamo noi. */
.acai-w button{appearance:none;-webkit-appearance:none;background:none;border:none;margin:0;padding:0;min-width:0;min-height:0;width:auto;height:auto;font-family:inherit;font-weight:normal;font-size:inherit;line-height:1.4;letter-spacing:normal;text-transform:none;text-decoration:none;box-shadow:none;border-radius:0;color:inherit;cursor:pointer}
.acai-w button:hover,.acai-w button:focus{background:none;box-shadow:none;transform:none}
.acai-w .acai-w-link{background:none !important;border:none !important;padding:0 !important;margin:0 !important;min-height:0 !important;color:var(--ac-text2) !important;font-size:11.5px !important;font-weight:normal !important;text-transform:none !important;letter-spacing:normal !important;border-radius:0 !important;box-shadow:none !important;text-decoration:underline;text-underline-offset:3px}
.acai-w .acai-w-link:hover{color:var(--ac-gold2) !important;background:none !important}
.acai-w .acai-chip{background:rgba(255,255,255,.03) !important;border:1px solid var(--ac-line) !important;padding:4px 11px !important;border-radius:999px !important;font-size:11.5px !important;min-height:0 !important;text-transform:none !important;box-shadow:none !important}
.acai-w .acai-chip-green{border-color:rgba(98,216,78,.4) !important;color:#A8EDA0 !important}
.acai-w .acai-chip-yellow{border-color:rgba(242,218,30,.5) !important;color:#F1E67C !important}
.acai-w .acai-chip-orange{border-color:rgba(245,112,26,.5) !important;color:#F7AC72 !important}
.acai-w .acai-chip-red{border-color:rgba(227,72,63,.45) !important;color:#F1968F !important}
.acai-w .acai-chip-grave{border-color:rgba(178,34,44,.6) !important;color:#F0A0A6 !important}
.acai-w .acai-chip-gold{border-color:rgba(244,201,107,.55) !important;color:#F4C96B !important;background:rgba(214,168,74,.08) !important}
.acai-w .acai-w-send{width:48px !important;height:48px !important;min-width:48px !important;padding:0 !important;border-radius:50% !important;background:radial-gradient(circle at 35% 30%,var(--ac-gold2),var(--ac-gold) 60%,var(--ac-golddark)) !important;color:#241B07 !important;box-shadow:0 0 18px rgba(214,168,74,.35) !important;display:flex;align-items:center;justify-content:center}
.acai-w .acai-w-close{font-size:22px !important;padding:2px 6px !important;color:var(--ac-text2) !important}
.acai-w[data-state="green"]{--ac-accent:var(--ac-green);--ac-accent-rgb:87,217,62}
.acai-w[data-state="yellow"]{--ac-accent:var(--ac-yellow);--ac-accent-rgb:242,218,30}
.acai-w[data-state="orange"]{--ac-accent:var(--ac-orange);--ac-accent-rgb:245,112,26}
.acai-w[data-state="red"]{--ac-accent:var(--ac-red);--ac-accent-rgb:227,72,63}
/* Categoria grave (satanico/sesso/violenza): rosso-nero, ominoso. */
.acai-w[data-state="grave"]{--ac-accent:var(--ac-grave);--ac-accent-rgb:178,34,44}
/* Tema religioso: tutto oro, a prescindere dallo stato (dopo le regole di stato, così vince). */
.acai-w.acai-gold{--ac-accent:var(--ac-gold2);--ac-accent-rgb:214,168,74}

/* ------------------------------------------------------------- header */
.acai-w-head{display:flex;align-items:center;gap:12px;padding:2px 4px 14px}
.acai-w-mark{color:var(--ac-gold2);font-size:22px;text-shadow:0 0 14px rgba(244,201,107,.6)}
.acai-w-titles{display:flex;flex-direction:column;gap:2px;min-width:0}
.acai-w-titles strong{font-size:19px;letter-spacing:.4px}
.acai-w-titles small{color:var(--ac-text2);font-size:12.5px;font-style:italic}
.acai-w-headdot{width:9px;height:9px;border-radius:50%;background:var(--ac-accent);margin-left:auto;box-shadow:0 0 10px var(--ac-accent)}
.acai-w-close{background:none;border:none;color:var(--ac-text2);font-size:22px;line-height:1;cursor:pointer;margin-left:6px;padding:2px 6px}
.acai-w-close:hover{color:var(--ac-text)}

/* --------------------------------------------- rettangolo interattivo */
.acai-w-status{
	position:relative;overflow:hidden;
	min-height:118px;border-radius:20px;
	border:1px solid var(--ac-goldline);
	background:radial-gradient(120% 160% at 50% 120%,rgba(214,168,74,.10) 0%,rgba(11,17,16,.2) 45%,transparent 100%),#0D1312;
	box-shadow:inset 0 0 40px rgba(214,168,74,.07),0 0 22px rgba(214,168,74,.12);
	display:flex;align-items:center;justify-content:center;text-align:center;
	transition:border-color .6s,box-shadow .6s;
}
/* In modalità testo il rettangolo resta oro sempre: lo stato è indicato dal
   puntino sopra la scritta (colorato + battito). In dialogo lo stato colora il fumo. */
.acai-w.acai-gold .acai-w-status{border-color:rgba(244,201,107,.75);box-shadow:inset 0 0 55px rgba(214,168,74,.14),0 0 30px rgba(214,168,74,.28)}
/* In dialogo lo stato colora il fumo; ma su iOS Safari il fumo (mix-blend-mode
   + blur) spesso non si rende → sembra sempre oro. Come garanzia coloriamo
   SEMPRE bordo e bagliore del rettangolo con il colore dello stato quando si è
   in dialogo, così lo stato è percepibile anche senza il fumo (viene DOPO la
   regola .acai-gold, così vale anche per i temi religiosi che restano oro). */
.acai-w.acai-dialog .acai-w-status{border-color:rgba(var(--ac-accent-rgb),.72);box-shadow:inset 0 0 55px rgba(var(--ac-accent-rgb),.18),0 0 30px rgba(var(--ac-accent-rgb),.36)}

.acai-w-cloud{
	position:absolute;width:46%;height:150%;border-radius:50%;
	background:radial-gradient(closest-side,rgba(244,201,107,.20),rgba(214,168,74,.08) 55%,transparent 75%);
	filter:blur(14px);opacity:.8;pointer-events:none;
}
.acai-w-cloud.c1{left:-8%;top:-30%;animation:acaiDrift 17s linear infinite}
.acai-w-cloud.c2{left:36%;top:-16%;animation:acaiDrift 23s linear infinite reverse;background:radial-gradient(closest-side,rgba(214,168,74,.16),rgba(140,104,37,.07) 55%,transparent 75%)}
.acai-w-cloud.c3{left:70%;top:-38%;animation:acaiDrift 20s linear infinite}
@keyframes acaiDrift{
	0%{transform:translateX(-14%) translateY(0) scale(1)}
	50%{transform:translateX(14%) translateY(7%) scale(1.12)}
	100%{transform:translateX(-14%) translateY(0) scale(1)}
}
.acai-w[data-state="thinking"] .acai-w-cloud{animation-duration:6s;opacity:1}
.acai-w[data-state="thinking"] .acai-w-status{animation:acaiPulse 2.2s ease-in-out infinite}
@keyframes acaiPulse{
	0%,100%{box-shadow:inset 0 0 40px rgba(214,168,74,.07),0 0 18px rgba(214,168,74,.12)}
	50%{box-shadow:inset 0 0 55px rgba(214,168,74,.16),0 0 34px rgba(244,201,107,.3)}
}
.acai-w[data-state="red"] .acai-w-cloud{animation-duration:60s;opacity:.35}
.acai-w[data-state="orange"] .acai-w-cloud{animation-duration:38s;opacity:.5}

/* Piccoli soli dorati: si accendono brillando e si spengono. */
.acai-w-spark{
	position:absolute;width:10px;height:10px;border-radius:50%;
	background:radial-gradient(circle at 50% 42%,#FFF6DC 0%,var(--ac-gold2) 40%,rgba(244,201,107,0) 72%);
	box-shadow:0 0 10px 2px rgba(244,201,107,.55),0 0 22px 7px rgba(214,168,74,.25);
	opacity:0;pointer-events:none;animation:acaiSpark 7s ease-in-out infinite;
}
.acai-w-spark.s1{left:12%;top:64%;animation-delay:0s}
.acai-w-spark.s2{left:24%;top:38%;animation-delay:1.2s}
.acai-w-spark.s3{left:37%;top:70%;animation-delay:2.6s;width:7px;height:7px}
.acai-w-spark.s4{left:52%;top:30%;animation-delay:.6s;width:13px;height:13px}
.acai-w-spark.s5{left:63%;top:66%;animation-delay:3.4s;width:7px;height:7px}
.acai-w-spark.s6{left:74%;top:42%;animation-delay:1.8s}
.acai-w-spark.s7{left:86%;top:58%;animation-delay:4.2s}
.acai-w-spark.s8{left:93%;top:34%;animation-delay:2.2s;width:7px;height:7px}
@keyframes acaiSpark{
	0%,100%{opacity:0;transform:translateY(5px) scale(.45)}
	35%{opacity:1;transform:translateY(-3px) scale(1.25)}
	55%{opacity:.8;transform:translateY(-5px) scale(1)}
	75%{opacity:.25;transform:translateY(-7px) scale(.7)}
}
.acai-w-stx{position:relative;display:flex;flex-direction:column;gap:3px;padding:12px 20px;z-index:2}
/* Puntino sopra la scritta: unica spia di stato in modalità testo — colore
   dello stato, un po' più grande e con battito continuo. */
.acai-w-dot{width:14px;height:14px;border-radius:50%;margin:0 auto 5px;background:var(--ac-accent);box-shadow:0 0 14px var(--ac-accent);transition:background .5s;animation:acaiDotBeat 1.7s ease-in-out infinite}
@keyframes acaiDotBeat{0%,100%{transform:scale(1);box-shadow:0 0 12px var(--ac-accent)}50%{transform:scale(1.32);box-shadow:0 0 22px 3px var(--ac-accent)}}
.acai-w-stx strong{font-size:16.5px;letter-spacing:.4px}
.acai-w-stx em{font-size:12.5px;color:var(--ac-text2);font-style:italic}

/* --------------------------------------------------------------- chat */
.acai-w-chat{display:flex;flex-direction:column;gap:12px;padding:16px 2px;max-height:430px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--ac-golddark) transparent}
.acai-w-chat:empty{padding:6px 0}
.acai-msg{max-width:82%;padding:11px 15px;border-radius:14px;font-size:14.5px;line-height:1.62;white-space:pre-wrap;word-wrap:break-word;animation:acaiIn .45s ease}
@keyframes acaiIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.acai-msg-user{align-self:flex-end;background:#18382E;border:1px solid rgba(255,255,255,.06);border-bottom-right-radius:5px}
.acai-msg-bot{align-self:flex-start;background:#151B19;border:1px solid rgba(214,168,74,.14);border-bottom-left-radius:5px}
.acai-msg-note{align-self:center;background:none;border:none;color:var(--ac-dim);font-size:12px;font-style:italic;padding:0}

.acai-meta{align-self:flex-start;max-width:88%;display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-top:-4px}
.acai-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 11px;font-size:11.5px;letter-spacing:.3px;border:1px solid var(--ac-line);color:var(--ac-text2);background:rgba(255,255,255,.03)}
.acai-chip i{width:7px;height:7px;border-radius:50%;display:inline-block}
.acai-chip-green{border-color:rgba(98,216,78,.4);color:#A8EDA0}
.acai-chip-yellow{border-color:rgba(240,207,74,.4);color:#F0DC8E}
.acai-chip-orange{border-color:rgba(242,138,26,.45);color:#F6B678}
.acai-chip-red{border-color:rgba(227,72,63,.45);color:#F1968F}
.acai-chip-gold{border-color:rgba(244,201,107,.55);color:var(--ac-gold2);background:rgba(214,168,74,.08)}
.acai-chip-btn{cursor:pointer;color:var(--ac-text2) !important}
.acai-chip-btn:hover{border-color:var(--ac-gold) !important;color:var(--ac-gold2) !important}

.acai-fonti{align-self:flex-start;max-width:88%;background:#101614;border:1px solid rgba(214,168,74,.18);border-radius:12px;padding:10px 14px;font-size:12.5px;color:var(--ac-text2);display:none}
.acai-fonti.open{display:block;animation:acaiIn .3s ease}
.acai-fonti b{color:var(--ac-gold2);font-weight:600;display:block;margin-bottom:5px}
.acai-fonti ol{margin:0;padding-left:18px}
.acai-fonti li{margin:2px 0}
.acai-fonti a{color:var(--ac-gold2)}

/* --------------------------------------- giudizio utile / non utile */
.acai-fb{align-self:flex-start;max-width:88%;background:#101614;border:1px solid rgba(214,168,74,.18);border-radius:12px;padding:10px 14px;font-size:12.5px;color:var(--ac-text2);display:none}
.acai-fb.open{display:block;animation:acaiIn .3s ease}
.acai-fb b{color:var(--ac-gold2);font-weight:600;display:block;margin-bottom:7px}
.acai-fb-reasons{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:9px}
.acai-w .acai-fb-reason{background:rgba(255,255,255,.03) !important;border:1px solid var(--ac-line) !important;padding:4px 11px !important;border-radius:999px !important;font-size:11.5px !important;color:var(--ac-text2) !important;min-height:0 !important;box-shadow:none !important;text-transform:none !important;cursor:pointer}
.acai-w .acai-fb-reason:hover{border-color:var(--ac-gold) !important;color:var(--ac-gold2) !important;background:rgba(255,255,255,.03) !important}
.acai-w .acai-fb-reason.sel{border-color:rgba(244,201,107,.65) !important;color:var(--ac-gold2) !important;background:rgba(214,168,74,.12) !important}
.acai-w .acai-fb-note{width:100%;background:#10201B !important;color:var(--ac-text) !important;border:1px solid rgba(255,255,255,.10) !important;border-radius:10px !important;padding:8px 12px !important;font-size:12.5px !important;font-family:inherit !important;margin:0 0 9px !important;box-shadow:none !important;outline:none}
.acai-w .acai-fb-note:focus{border-color:var(--ac-gold) !important;box-shadow:none !important}
.acai-w .acai-fb-note::placeholder{color:var(--ac-dim) !important;opacity:1}
.acai-fb-send{display:flex;align-items:center;gap:14px}

/* -------------------------------------------------------------- input */
.acai-w-form{display:flex;gap:10px;align-items:flex-end;margin-top:4px}
.acai-w-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;opacity:0}
.acai-w .acai-w-form textarea{
	flex:1;resize:none;height:48px;
	min-height:48px !important;max-height:130px !important;
	background:#10201B !important;color:var(--ac-text) !important;
	border:1px solid rgba(255,255,255,.10) !important;border-radius:14px !important;
	padding:13px 16px !important;font-size:14.5px !important;font-family:inherit !important;line-height:1.5 !important;
	margin:0 !important;box-shadow:none !important;
	overflow-y:hidden;outline:none;transition:border-color .3s;
}
.acai-w .acai-w-form textarea:focus{border-color:var(--ac-gold) !important;outline:none !important;box-shadow:none !important}
.acai-w .acai-w-form textarea::placeholder{color:var(--ac-dim) !important;opacity:1}
.acai-w-send{
	width:48px;height:48px;flex:0 0 48px;border-radius:50%;border:none;cursor:pointer;
	background:radial-gradient(circle at 35% 30%,var(--ac-gold2),var(--ac-gold) 60%,var(--ac-golddark));
	color:#241B07;display:flex;align-items:center;justify-content:center;
	box-shadow:0 0 18px rgba(214,168,74,.35);
	transition:transform .15s,box-shadow .3s;
}
.acai-w-send:hover{transform:scale(1.06);box-shadow:0 0 26px rgba(244,201,107,.5)}
.acai-w-send:disabled{opacity:.45;cursor:default;transform:none}

/* ------------------------------------------------------------- footer */
.acai-w-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 4px 2px}
.acai-w-privacy{color:var(--ac-dim);font-size:11px;font-style:italic}
.acai-w-tools{display:flex;align-items:center;gap:14px}
/* «Esci» esiste solo nel pannello flottante: lì la riga strumenti si allarga
   e il bottone si appoggia a destra, allineato a «Nuova conversazione». */
.acai-float-panel .acai-w-tools{flex:1}
/* margin-left:auto deve vincere sull'armatura anti-tema (margin:0 !important). */
.acai-w .acai-w-exit-app{margin-left:auto !important}
.acai-w-link{background:none;border:none;color:var(--ac-text2);font-size:11.5px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:0;font-family:inherit}
.acai-w-link:hover{color:var(--ac-gold2)}
.acai-w-legend{position:relative;font-size:11.5px;color:var(--ac-text2)}
.acai-w-legend summary{cursor:pointer;list-style:none}
.acai-w-legend[open]{background:#101614;border:1px solid var(--ac-goldline);border-radius:10px;padding:8px 12px;position:absolute;bottom:20px;right:0;width:230px;z-index:30}
.acai-w-legend span{display:flex;align-items:center;gap:7px;margin:4px 0}
.acai-w-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}

/* ----------------------------------------------------------- flottante */
.acai-float{position:fixed;z-index:99990;bottom:22px}
.acai-float-br{right:22px}
.acai-float-bl{left:22px}
.acai-float-btn{
	position:relative;width:62px;height:62px;border-radius:50%;border:1px solid rgba(244,201,107,.5);cursor:pointer;
	background:radial-gradient(circle at 40% 32%,#1A231F,#0B1110 70%);
	color:var(--ac-gold2,#F4C96B);font-size:24px;
	box-shadow:0 6px 24px rgba(0,0,0,.5),0 0 20px rgba(214,168,74,.35);
	display:flex;align-items:center;justify-content:center;
}
.acai-float-glow{position:absolute;inset:-5px;border-radius:50%;pointer-events:none;box-shadow:0 0 24px rgba(244,201,107,.4);animation:acaiBreath 5s ease-in-out infinite}
@keyframes acaiBreath{0%,100%{opacity:.35}50%{opacity:.9}}
/* Da chiuso il bottone pulsa (batte) per invitare al clic; da aperto sta fermo. */
.acai-float-btn[aria-expanded="false"]{animation:acaiCall 2.6s ease-in-out infinite}
@keyframes acaiCall{
	0%,100%{transform:scale(1);box-shadow:0 6px 24px rgba(0,0,0,.5),0 0 20px rgba(214,168,74,.35)}
	50%{transform:scale(1.09);box-shadow:0 8px 28px rgba(0,0,0,.5),0 0 38px rgba(244,201,107,.7)}
}
.acai-float-ico{color:#F4C96B;text-shadow:0 0 12px rgba(244,201,107,.8)}
/* Pannello "a chat": intestazione, rettangolo di stato e casella restano in
   vista, scorrono solo i messaggi. Se lo schermo è così basso che le parti
   fisse da sole non ci stanno, il pannello torna a scorrere per intero. */
.acai-float-panel{position:fixed;bottom:96px;width:min(430px,calc(100vw - 24px));max-height:min(680px,calc(100vh - 120px));display:flex;flex-direction:column;overflow-y:auto;border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.65)}
.acai-float-panel[hidden]{display:none}
.acai-float-br .acai-float-panel{right:14px}
.acai-float-bl .acai-float-panel{left:14px}
.acai-float-panel .acai-w{max-width:none;border-radius:20px;display:flex;flex-direction:column;min-height:0}
.acai-float-panel .acai-w-head,.acai-float-panel .acai-w-status,.acai-float-panel .acai-w-form,.acai-float-panel .acai-w-foot{flex:0 0 auto}
.acai-float-panel .acai-w-chat{flex:1 1 auto;min-height:0;max-height:none}
.acai-float-panel .acai-w-status{min-height:92px}

/* --------------------------------------------------------- responsive */
@media (max-width:640px){
	.acai-w{padding:13px 12px 9px;border-radius:14px}
	.acai-w-status{min-height:96px}
	.acai-msg{max-width:92%;font-size:14px}
	.acai-w-chat{max-height:52vh}
	.acai-w-titles strong{font-size:17px}
	.acai-float{bottom:14px}
	.acai-float-br{right:12px}
	.acai-float-bl{left:12px}
}

/* ----------------------------------------------- modalità dialogo */
/* Pulsante microfono accanto all'invio. */
.acai-w .acai-w-mic{
	width:44px;height:44px;flex:0 0 44px;border-radius:50% !important;
	border:1px solid var(--ac-goldline) !important;cursor:pointer;
	background:rgba(255,255,255,.04) !important;color:var(--ac-gold2) !important;
	display:flex;align-items:center;justify-content:center;
	box-shadow:none !important;transition:transform .15s,box-shadow .3s,background .3s;
}
.acai-w .acai-w-mic:hover{border-color:var(--ac-gold) !important;background:rgba(214,168,74,.10) !important}
.acai-w .acai-w-mic.on{
	background:radial-gradient(circle at 40% 35%,#ff8a8a,#e3483f 65%) !important;color:#fff !important;
	border-color:rgba(227,72,63,.6) !important;box-shadow:0 0 18px rgba(227,72,63,.5) !important;
	animation:acaiMicPulse 1.3s ease-in-out infinite;
}
@keyframes acaiMicPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
/* Microfono = STOP mentre la voce sta leggendo: quadrato dorato, distinto dal
   rosso della registrazione, con una pulsazione lieve. */
.acai-w .acai-w-mic.acai-stop{
	background:radial-gradient(circle at 40% 35%,var(--ac-gold2),var(--ac-gold) 70%) !important;color:#1a1205 !important;
	border-color:var(--ac-gold) !important;box-shadow:0 0 16px rgba(214,168,74,.45) !important;
	animation:acaiStopPulse 1.6s ease-in-out infinite;
}
@keyframes acaiStopPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.acai-w-exit{color:var(--ac-gold2) !important}

/* Fumo iridescente: nascosto di default, sostituisce nuvole+soli in dialogo. */
.acai-w-smoke{display:none}
.acai-w.acai-dialog .acai-w-cloud,
.acai-w.acai-dialog .acai-w-spark{display:none}
.acai-w.acai-dialog .acai-w-smoke{
	display:block;position:absolute;inset:0;overflow:hidden;border-radius:20px;z-index:0;
	--ac-conf:.6;
	animation:acaiSmokeBeat 2.6s ease-in-out infinite; /* battito d'insieme */
}
.acai-w.acai-dialog .acai-w-stx{z-index:2}
.acai-w-smoke .sm{
	position:absolute;width:66%;height:135%;border-radius:50%;
	filter:blur(28px) saturate(1.5);mix-blend-mode:screen;
	opacity:calc(.6 + var(--ac-conf,.6) * .38);
	will-change:transform;
}
/* Il fumo è del COLORE DELLO STATO (verde/giallo/oro/arancio/rosso/grave); due
   fiocchi più chiari danno il chiaro-scuro. Sotto scorre un velo iridescente. */
.acai-w-smoke .sm1{background:radial-gradient(closest-side,rgba(var(--ac-accent-rgb),.92),transparent 72%);left:-12%;top:-28%;animation:acaiSmokeA 11s ease-in-out infinite}
.acai-w-smoke .sm2{background:radial-gradient(closest-side,rgba(var(--ac-accent-rgb),.58),transparent 72%);left:34%;top:-22%;animation:acaiSmokeB 13s ease-in-out infinite}
.acai-w-smoke .sm3{background:radial-gradient(closest-side,rgba(var(--ac-accent-rgb),.82),transparent 72%);left:60%;top:-32%;animation:acaiSmokeA 9s ease-in-out infinite reverse}
.acai-w-smoke .sm4{background:radial-gradient(closest-side,rgba(var(--ac-accent-rgb),.52),transparent 72%);left:8%;top:0%;animation:acaiSmokeB 10s ease-in-out infinite reverse}
.acai-w-smoke .sm5{background:radial-gradient(closest-side,rgba(var(--ac-accent-rgb),.78),transparent 72%);left:46%;top:-12%;animation:acaiSmokeA 14s ease-in-out infinite}
/* Velo iridescente sottostante: un accenno dell'effetto stile ChatGPT, tenue,
   sotto al colore dello stato che resta dominante. */
.acai-w-smoke::before{
	content:'';position:absolute;inset:-15%;pointer-events:none;mix-blend-mode:screen;
	filter:blur(30px);opacity:.10;
	background:
		radial-gradient(closest-side at 22% 42%,#4a9eff,transparent 58%),
		radial-gradient(closest-side at 58% 28%,#b06bff,transparent 58%),
		radial-gradient(closest-side at 82% 55%,#3fdcf0,transparent 58%),
		radial-gradient(closest-side at 40% 70%,#ff5fc4,transparent 58%);
	animation:acaiSmokeA 18s ease-in-out infinite;
}
/* Categoria grave: il velo iridescente quasi sparisce, così resta cupo. */
.acai-w[data-state="grave"] .acai-w-smoke::before{opacity:.05}
/* Il colore dello stato tinge il fumo; l'intensità cresce con l'attendibilità. */
.acai-w-smoke::after{
	content:'';position:absolute;inset:-25%;pointer-events:none;mix-blend-mode:screen;
	background:radial-gradient(circle at 50% 55%,var(--ac-accent),transparent 66%);
	opacity:calc(.34 + var(--ac-conf,.6) * .46);transition:opacity .8s;
}
/* Durante l'elaborazione il fumo si muove e batte più forte. */
.acai-w.acai-dialog[data-state="thinking"] .acai-w-smoke{animation-duration:1.5s}
.acai-w.acai-dialog[data-state="thinking"] .acai-w-smoke .sm{animation-duration:4.5s}
@keyframes acaiSmokeBeat{
	0%,100%{transform:scale(1);filter:brightness(1)}
	50%{transform:scale(1.06);filter:brightness(1.28)}
}
@keyframes acaiSmokeA{
	0%{transform:translate(-18%,7%) scale(1)}
	25%{transform:translate(12%,-11%) scale(1.32)}
	50%{transform:translate(20%,9%) scale(.88)}
	75%{transform:translate(-9%,-7%) scale(1.16)}
	100%{transform:translate(-18%,7%) scale(1)}
}
@keyframes acaiSmokeB{
	0%{transform:translate(15%,-9%) scale(1.22)}
	33%{transform:translate(-18%,11%) scale(.84)}
	66%{transform:translate(9%,-13%) scale(1.28)}
	100%{transform:translate(15%,-9%) scale(1.22)}
}

/* ------------------------------------------------- movimento ridotto */
@media (prefers-reduced-motion:reduce){
	.acai-w-cloud,.acai-w-spark,.acai-float-glow,.acai-float-btn,.acai-w-smoke,.acai-w-smoke .sm,.acai-w-smoke::before,.acai-w-dot,.acai-w-mic.on,.acai-w-mic.acai-stop{animation:none !important}
	.acai-w[data-state="thinking"] .acai-w-status{animation:none !important}
	.acai-msg{animation:none}
}
