/* ATLAS · assistente Janna Lab
 * 1) Robot "vivo" (classi av-*, dal modulo AtlasVivo v2 — CSS spostato qui per la CSP)
 * 2) Riquadro di conversazione (classi atlas-*)
 */

/* ---------- 1. robot ---------- */
.av{--acc-rgb:34,211,238;--acc2-rgb:139,123,255;--pup:1;display:inline-block;position:relative}
.av *{box-sizing:border-box}
.av-stage{position:relative;width:170px;height:164px}
.av-ring{position:absolute;top:50%;left:50%;width:160px;height:160px;transform:translate(-50%,-50%);border-radius:50%;border:1px dashed rgba(var(--acc-rgb),.18);animation:av-spin 40s linear infinite}
.av-ring.av-r2{width:140px;height:140px;border:1px solid transparent;border-top-color:rgba(var(--acc-rgb),.45);border-bottom-color:rgba(var(--acc2-rgb),.3);animation:av-spin 9s linear infinite reverse}
@keyframes av-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.av-ombra{position:absolute;left:50%;bottom:-4px;width:96px;height:14px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.65),rgba(0,0,0,0) 70%);filter:blur(2px);animation:av-ombra 7s ease-in-out infinite;z-index:1}
@keyframes av-ombra{0%,100%{transform:translateX(-52%) scaleX(1)}50%{transform:translateX(-48%) scaleX(.92);opacity:.8}}
.av-wrap{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:130px;height:134px;display:flex;justify-content:center;align-items:center;z-index:2;perspective:520px;perspective-origin:50% 42%}
.av-glow{position:absolute;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(0,212,255,.18),transparent 70%);animation:av-breathe 4s ease-in-out infinite;transition:opacity 1.2s}
@keyframes av-breathe{0%,100%{opacity:.4;transform:scale(.98)}50%{opacity:.9;transform:scale(1.05)}}
.av-sway{position:relative;z-index:2;width:100%;height:100%;display:flex;justify-content:center;align-items:center;transform-origin:50% 80%;perspective:520px;perspective-origin:50% 42%}
.av-neck{position:absolute;bottom:0;width:38px;height:26px;background:linear-gradient(90deg,#11151c,#2a3240 50%,#11151c);border-radius:6px;display:flex;justify-content:space-around;padding:0 4px;transform:translateZ(-10px)}
.av-neck i{width:4px;height:100%;background:linear-gradient(180deg,#0d1117,#1f2735,#0a0d12);border-radius:2px}
.av-testa{position:relative;transform-style:preserve-3d}
.av-head{position:relative;width:108px;height:106px;border-radius:50% 50% 46% 46%/55% 55% 45% 45%;transform-style:preserve-3d;
  background:radial-gradient(circle at 40% 18%,#fff 0,#f7fafc 14%,#dbe4ee 36%,#aebdcd 60%,#6f8299 84%,#4d5d72 100%);
  box-shadow:0 16px 28px rgba(0,0,0,.75),inset -12px -14px 22px rgba(35,55,85,.6),inset 9px 9px 14px rgba(255,255,255,.9),inset 0 -3px 6px rgba(var(--acc-rgb),.2)}
/* luci del faccione (scelte da Marco il 29/09/2026, variante A): riflesso ampio sulla calotta, un punto luce in alto a sinistra,
   ombra morbida che gli occhiali proiettano sul volto */
.av-luci{position:absolute;inset:0;border-radius:inherit;pointer-events:none;transform:translateZ(1.6px)}
.av-luci i{position:absolute;border-radius:50%}
.av-luci .av-cal{left:22px;top:4px;width:64px;height:20px;background:radial-gradient(ellipse at 50% 60%,rgba(255,255,255,.95),rgba(255,255,255,.55) 45%,rgba(255,255,255,0) 72%)}
.av-luci .av-punto{left:30px;top:9px;width:8px;height:5px;background:#fff;filter:blur(.7px)}
.av-luci .av-omb{left:10px;right:10px;top:60px;height:22px;background:radial-gradient(ellipse at 50% 30%,rgba(20,35,60,.45),rgba(20,35,60,0) 70%)}
.av-head::before{content:'';position:absolute;left:16px;top:10px;width:34px;height:20px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,255,255,.95),rgba(255,255,255,0) 70%);transform:translateZ(1.4px) rotate(-24deg);filter:blur(.6px);pointer-events:none}
.av-head::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;transform:translateZ(.7px);box-shadow:inset -3px -2px 3px rgba(var(--acc-rgb),.45),inset -1px -1px 0 rgba(180,245,255,.5)}
.av-led{position:absolute;top:3px;left:50%;width:12px;height:12px;border-radius:50%;z-index:7;transform:translateX(-50%) translateZ(6px);background:radial-gradient(circle at 34% 28%,#fff,#22d3ee 45%,#0a5a7a);box-shadow:0 0 12px #22d3ee,0 0 24px rgba(34,211,238,.6);transition:filter 1.2s}
.av-antenna{position:absolute;top:2px;right:14px;width:2.5px;height:16px;background:linear-gradient(180deg,#dbe4ee,#7b8ea7);border-radius:2px;transform-origin:50% 100%;transform:rotate(12deg) translateZ(-8px)}
.av-tip{position:absolute;top:-3px;left:-1.5px;width:5px;height:5px;background:#00d4ff;border-radius:50%;box-shadow:0 0 6px #00d4ff;animation:av-tip 2.4s ease-in-out infinite}
@keyframes av-tip{50%{opacity:.45}}
.av-ear{position:absolute;top:46px;width:7px;height:20px;background:linear-gradient(180deg,#101622,#1c2636);border-radius:3px;display:flex;align-items:center;justify-content:center;transform:translateZ(-4px);box-shadow:inset 1px 1px 2px rgba(0,0,0,.8),2px 0 3px rgba(0,0,0,.35)}
.av-ear.av-l{left:2px}.av-ear.av-r{right:2px}
.av-ear::after{content:'';width:2.5px;height:8px;background:#00d4ff;border-radius:1px;box-shadow:0 0 4px #00d4ff;opacity:.8}
.av-visor{position:absolute;top:20px;left:50%;width:88px;height:56px;transform:translateX(-50%) translateZ(3px);transform-style:preserve-3d;background:radial-gradient(ellipse at 50% 40%,#1a2332,#06090e);
  border-radius:24px 24px 21px 21px/27px 27px 24px 24px;display:flex;align-items:center;justify-content:center;gap:14px;border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 5px 12px rgba(0,0,0,.95),inset 0 -2px 4px rgba(var(--acc-rgb),.12),0 1px 0 rgba(255,255,255,.7),0 -1px 2px rgba(0,0,0,.5)}
.av-glare{position:absolute;top:2px;left:6px;right:6px;height:16px;background:linear-gradient(180deg,rgba(255,255,255,.18),transparent);border-radius:22px 22px 0 0;transform:translateZ(2px)}
.av-scan{position:absolute;left:4px;right:4px;height:2px;border-radius:2px;opacity:0;z-index:6;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(34,211,238,.95),transparent);box-shadow:0 0 6px rgba(34,211,238,.8)}
.av-sock{position:relative;width:30px;height:30px;border-radius:50%;overflow:hidden;background:linear-gradient(145deg,#090e17,#1c2636);box-shadow:inset 0 2px 4px rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;transition:height .08s,transform .18s;z-index:4;transform:scale(1.32) translateZ(4px)}
.av-sock.av-blink{height:2px}
.av-sock.av-wide{transform:scale(1.5) translateZ(4px)}
.av-lid{position:absolute;left:0;right:0;top:0;height:var(--lid,0%);z-index:5;background:linear-gradient(180deg,#0b111b,#1a2433);border-bottom:1px solid rgba(0,212,255,.55);box-shadow:0 1px 3px rgba(0,212,255,.35);transition:height .5s ease}
.av-iris{width:21px;height:21px;border-radius:50%;border:1.5px solid rgba(0,212,255,.4);box-shadow:0 0 6px rgba(0,212,255,.3),inset 0 0 4px rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;transform:translate(var(--dx,0px),var(--dy,0px));transition:transform var(--t,.16s) cubic-bezier(.3,.7,.3,1)}
.av-pupil{position:relative;width:13px;height:13px;border-radius:50%;transform:scale(var(--pup));transition:transform .7s ease,filter 1.2s ease,background .5s;
  background:radial-gradient(circle at 42% 40%,#fff 0,#bff6ff 18%,#00d4ff 48%,#0077ff 78%,#003a8a 100%);box-shadow:0 0 6px #00d4ff,0 0 14px rgba(0,212,255,.8),inset 0 -2px 3px rgba(0,30,80,.6)}
.av-pupil::after{content:'';position:absolute;left:3px;top:2.5px;width:3.5px;height:2.5px;border-radius:50%;background:rgba(255,255,255,.95)}
/* umore: gli occhi passano all'arancio (nervoso) e al rosso (arrabbiato) con una sfumatura, poi tornano azzurri */
.av-pupil::before{content:'';position:absolute;inset:0;border-radius:50%;opacity:0;transition:opacity 1.2s ease,background .6s;background:radial-gradient(circle at 42% 40%,#fff 0,#ffe3c2 18%,#ff9a3c 48%,#ff5a1f 78%,#8a1a00 100%)}
.av-iris,.av-lid{transition:transform var(--t,.16s) cubic-bezier(.3,.7,.3,1),border-color 1.2s,box-shadow 1.2s,height .5s ease}
.av-bocca path{transition:opacity .3s,stroke 1.2s}
.av-led,.av-glow{transition:filter 1.2s,opacity 1.2s}
.av.av-nervoso .av-pupil::before,.av.av-arrabbiato .av-pupil::before{opacity:1}
.av.av-nervoso .av-pupil{box-shadow:0 0 6px #ff8a2a,0 0 14px rgba(255,110,40,.8),inset 0 -2px 3px rgba(80,20,0,.6)}
.av.av-nervoso .av-iris{border-color:rgba(255,150,60,.6);box-shadow:0 0 7px rgba(255,120,40,.45),inset 0 0 4px rgba(0,0,0,.7)}
.av.av-nervoso .av-lid{border-bottom-color:rgba(255,120,60,.6);box-shadow:0 1px 3px rgba(255,100,60,.4)}
.av.av-nervoso .av-bocca path{stroke:#ff8a5a}
.av.av-nervoso .av-led{filter:hue-rotate(195deg) saturate(1.4)}
.av.av-arrabbiato .av-pupil::before{background:radial-gradient(circle at 42% 40%,#fff 0,#ffd0d0 16%,#ff4a4a 46%,#d10f1f 76%,#5a0008 100%)}
.av.av-arrabbiato .av-pupil{box-shadow:0 0 7px #ff3a3a,0 0 16px rgba(255,40,40,.9),inset 0 -2px 3px rgba(60,0,0,.6)}
.av.av-arrabbiato .av-iris{border-color:rgba(255,60,60,.7);box-shadow:0 0 8px rgba(255,40,40,.6),inset 0 0 4px rgba(0,0,0,.7)}
.av.av-arrabbiato .av-lid{border-bottom-color:rgba(255,70,60,.65);box-shadow:0 1px 3px rgba(255,60,60,.45)}
.av.av-arrabbiato .av-bocca path{stroke:#ff5050}
.av.av-arrabbiato .av-led,.av.av-arrabbiato .av-glow{filter:hue-rotate(170deg) saturate(1.6)}
.av-sock.av-blink .av-pupil{opacity:0}
.av-bocca{position:absolute;bottom:9px;left:50%;transform:translateX(-50%) translateZ(4px);overflow:visible}
.av-bocca path{fill:none;stroke:#00d4ff;stroke-width:2.5;stroke-linecap:round;transition:opacity .3s}
.av-bocca ellipse{fill:#00d4ff;opacity:0;transition:rx .25s,ry .25s,opacity .3s}
.av-occ{--m1:#ff5a4f;--m2:#d11f1f;--m3:#6e0707;--hl:rgba(255,220,210,.95);position:absolute;left:50%;top:48px;width:124px;height:58px;z-index:9;pointer-events:none;transform:translate(-50%,-50%) translateZ(20px);filter:drop-shadow(0 5px 4px rgba(0,0,0,.55)) drop-shadow(0 1px 0 rgba(0,0,0,.4))}
.av-occ .av-lente,.av-occ .av-spess{position:absolute;top:0;width:58px;height:58px;border-radius:50%;-webkit-mask:radial-gradient(circle,transparent 21.5px,#000 22.5px);mask:radial-gradient(circle,transparent 21.5px,#000 22.5px)}
.av-occ .av-lente{background:conic-gradient(from 210deg,var(--m3),var(--m2) 18%,var(--m1) 32%,var(--hl) 40%,var(--m1) 48%,var(--m2) 65%,var(--m3) 85%,var(--m3))}
.av-occ .av-spess{background:#4a0404;transform:translate(1px,2.6px)}
.av-occ .av-l{left:0}.av-occ .av-r{right:0}
.av-occ::before,.av-occ::after{content:'';position:absolute;top:6px;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.22),rgba(160,220,255,.06) 45%,rgba(0,30,60,.18) 100%);box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.35),inset 0 -6px 10px rgba(0,0,0,.25),inset 0 5px 8px rgba(255,255,255,.12)}
.av-occ::before{left:6px}.av-occ::after{right:6px}
.av-occ .av-rifl{position:absolute;top:6px;width:46px;height:46px;border-radius:50%;overflow:hidden;z-index:1}
.av-occ .av-rifl.av-l{left:6px}.av-occ .av-rifl.av-r{right:6px;left:auto}
.av-occ .av-rifl::before{content:'';position:absolute;left:8px;top:6px;width:26px;height:7px;border-radius:50%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.7),rgba(255,255,255,0));transform:rotate(-35deg)}
.av-occ .av-rifl::after{content:'';position:absolute;right:9px;bottom:8px;width:7px;height:4px;border-radius:50%;background:rgba(255,255,255,.4);transform:rotate(-35deg)}
.av-occ .av-ponte{position:absolute;left:50%;top:20px;width:16px;height:9px;transform:translateX(-50%);border-radius:9px 9px 3px 3px;background:linear-gradient(180deg,var(--hl),var(--m1) 30%,var(--m2) 60%,var(--m3));box-shadow:0 2px 2px rgba(0,0,0,.4)}
.av-occ .av-asta{position:absolute;top:22px;width:10px;height:6px;background:linear-gradient(180deg,var(--m1),var(--m3));border-radius:3px}
.av-occ .av-asta.av-l{left:-7px}.av-occ .av-asta.av-r{right:-7px;left:auto}
.av-zeta{position:absolute;z-index:20;font:700 9px 'JetBrains Mono',Consolas,monospace;color:#7fe9ff;text-shadow:0 0 6px rgba(34,211,238,.8);pointer-events:none;animation:av-zeta 3.2s ease-out forwards}
@keyframes av-zeta{0%{opacity:0;transform:translate(0,0) scale(.6) rotate(-10deg)}15%{opacity:1}100%{opacity:0;transform:translate(22px,-46px) scale(1.5) rotate(12deg)}}
.av.av-pensa .av-scan,.av.av-st-pensiero .av-scan{opacity:1;animation:av-scan 1.5s linear infinite}
@keyframes av-scan{0%{top:2px}100%{top:calc(100% - 4px)}}
.av.av-pensa .av-tip,.av.av-st-pensiero .av-tip{background:#ffb020;box-shadow:0 0 8px #ffb020,0 0 14px rgba(255,176,32,.7);animation:av-tipf .45s ease-in-out infinite}
@keyframes av-tipf{50%{opacity:.35}}
.av.av-st-pensiero .av-pupil{background:radial-gradient(circle at 42% 40%,#fff 0,#ffe3a8 18%,#ffb020 50%,#b3720a 85%)}
.av.av-st-ascolto .av-tip{background:#22d3ee;box-shadow:0 0 10px #22d3ee}
.av.av-st-parlato .av-pupil{background:radial-gradient(circle at 42% 40%,#fff 0,#dcd6ff 18%,#8b7bff 50%,#5b46d6 85%)}
.av.av-st-parlato .av-tip{background:#8b7bff;box-shadow:0 0 8px #8b7bff}
.av.av-dorme .av-pupil,.av.av-dim .av-pupil{filter:brightness(.35) saturate(.6)}
.av.av-dorme .av-led,.av.av-dim .av-led{filter:brightness(.4)}
.av.av-dorme .av-glow,.av.av-dim .av-glow{opacity:.15}
.av.av-dorme .av-r2{animation-duration:30s}
.av.av-dorme .av-tip{animation:av-tip 5s ease-in-out infinite;opacity:.5}

/* ---------- 2. riquadro di conversazione ---------- */
.hero-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:40px;align-items:start}
.atlas{position:relative;display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid var(--linea-forte);border-radius:16px;background:linear-gradient(180deg,rgba(7,26,48,.88),rgba(4,16,31,.92));box-shadow:0 0 50px rgba(76,195,255,.14),inset 0 1px 0 rgba(191,230,255,.06)}
.atlas-piano{position:absolute;left:0;top:0;width:100%;pointer-events:none;z-index:0;border-radius:16px 16px 0 0}
.atlas>:not(.atlas-piano){position:relative;z-index:1}
.atlas-top{display:flex;align-items:center;gap:6px}
.atlas-robot{flex:0 0 auto;display:flex;justify-content:center;cursor:pointer}
.atlas-robot .av{zoom:1.2}
/* testa fluttuante: niente collo, ombra ovale con alone ciano che segue la testa */
.atlas-robot.fluttua{position:relative;flex-direction:column;align-items:center;padding-bottom:34px}
.fluttua .av-neck,.fluttua .av-ombra{display:none}
.fl-lev{position:relative;z-index:2;will-change:transform}
.fl-ombra{position:absolute;left:50%;bottom:8px;width:124px;height:18px;margin-left:-62px;border-radius:50%;z-index:1;pointer-events:none;
  background:radial-gradient(closest-side,rgba(0,0,0,.8),rgba(2,20,40,.5) 55%,transparent);filter:blur(4px);will-change:transform,opacity}
.fl-alone{position:absolute;left:50%;bottom:0;width:190px;height:38px;margin-left:-95px;border-radius:50%;z-index:0;pointer-events:none;
  background:radial-gradient(closest-side,rgba(120,210,255,.55),rgba(76,195,255,.22) 55%,transparent);filter:blur(5px);will-change:transform,opacity}
.atlas-id{min-width:0}
.atlas-id h2{font-size:30px;letter-spacing:.14em;color:#fff;text-shadow:0 0 16px rgba(76,195,255,.5)}
.atlas-id p{margin:4px 0 0;font-size:14.5px;color:var(--muted)}
.atlas-stato{display:inline-flex;align-items:center;gap:7px;margin-top:10px;font:600 11.5px var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--ciano)}
.atlas-stato::before{content:"";width:8px;height:8px;border-radius:50%;background:#3ee6a0;box-shadow:0 0 8px #3ee6a0}
.atlas-log{display:flex;flex-direction:column;gap:10px;min-height:120px;max-height:280px;overflow-y:auto;padding:4px 4px 4px 0;scroll-behavior:smooth}
.atlas-msg{max-width:92%;padding:10px 13px;border-radius:12px;font-size:15.5px;line-height:1.5}
.atlas-msg p{margin:0}
.atlas-msg p+p{margin-top:7px}
.atlas-msg.a{align-self:flex-start;background:rgba(76,195,255,.09);border:1px solid var(--linea);border-top-left-radius:4px;color:var(--luce)}
.atlas-msg.u{align-self:flex-end;background:var(--ciano);color:#03203a;border-top-right-radius:4px}
.atlas-msg .battuta{font-style:italic;color:var(--muted)}
.atlas-msg ul{margin:6px 0 0;padding-left:18px}
.atlas-azioni{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.atlas-azioni button,.atlas-azioni a{font:600 13.5px var(--display);padding:6px 12px;border-radius:999px;border:1px solid var(--ciano);background:transparent;color:var(--luce);cursor:pointer;text-decoration:none}
.atlas-azioni button:hover,.atlas-azioni a:hover{background:rgba(76,195,255,.16)}
/* riquadro «lascia la tua email» (richieste che Atlas gira ai soci) */
.atlas-email form{display:flex;flex-direction:column;gap:9px;margin-top:9px}
.atlas-email input[type=email]{font:inherit;font-size:16px;padding:10px 12px;border-radius:10px;border:1px solid var(--linea-forte);background:var(--abisso);color:#fff;min-width:0}
.atlas-email input[type=email]:focus{outline:2px solid var(--ciano);outline-offset:1px}
.atlas-consenso{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;line-height:1.4;color:var(--muted);cursor:pointer}
.atlas-consenso input{width:18px;height:18px;margin-top:1px;flex:0 0 auto;accent-color:var(--ciano)}
.atlas-consenso a{color:var(--luce)}
.atlas-email .atlas-azioni{margin-top:0}
.atlas-email .atlas-azioni button:disabled{opacity:.5;cursor:wait}
.atlas-email-esito{font-size:13.5px;color:#ffd9a0;min-height:1em}
.atlas-sugg{display:flex;flex-wrap:nowrap;gap:6px}        /* due esempi, sempre su una riga (se manca spazio il testo si accorcia con «…») */
.atlas-sugg button{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:500 13px var(--corpo);padding:5px 11px;border-radius:999px;border:1px solid var(--linea-forte);background:transparent;color:var(--muted);cursor:pointer}
.atlas-sugg button:hover{color:var(--luce);border-color:var(--ciano)}
.atlas-form{display:flex;gap:8px}
.atlas-form input{flex:1;min-width:0;font:inherit;font-size:16px;padding:11px 14px;border-radius:10px;border:1px solid var(--linea-forte);background:var(--abisso);color:#fff}
.atlas-form input::placeholder{color:#6f8fab}
.atlas-form input:focus{outline:none;border-color:var(--ciano);box-shadow:0 0 0 3px rgba(76,195,255,.25)}
.atlas-form button{font:600 15px var(--display);padding:0 18px;border-radius:10px;border:0;background:var(--ciano);color:#03203a;cursor:pointer}
.atlas-form button:hover{background:var(--ciano-forte)}
.atlas-form button:disabled{opacity:.5;cursor:default}
.atlas-form .atlas-mic{position:relative;flex:0 0 auto;width:46px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--linea-forte);color:var(--luce)}
.atlas-form .atlas-mic[hidden]{display:none}
.atlas-form .atlas-mic:hover{background:rgba(76,195,255,.12);border-color:var(--ciano)}
.atlas-mic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.atlas-form .atlas-mic.on{background:#ff5a4f;border-color:#ff5a4f;color:#fff}
.atlas-voce .onda1,.atlas-voce .onda2{display:none}.atlas-voce.on .onda1,.atlas-voce.on .onda2{display:inline}.atlas-voce.on .muto{display:none}
.atlas-form .atlas-voce.on{background:rgba(76,195,255,.16);border-color:var(--ciano);color:var(--ciano)}
.atlas-voce.parla .onda1{animation:voce-onda 1s ease-in-out infinite}.atlas-voce.parla .onda2{animation:voce-onda 1s ease-in-out .25s infinite}
@keyframes voce-onda{50%{opacity:.25}}
.atlas-mic.on::after{content:"";position:absolute;inset:-4px;border-radius:12px;border:2px solid rgba(255,90,79,.55);animation:mic-onda 1.2s ease-out infinite}
@keyframes mic-onda{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.25)}}
.atlas-nota{margin:0;font-size:12.5px;color:#6f8fab}

@media (max-width:980px){
  .hero-in{grid-template-columns:1fr}
  .atlas{max-width:560px}
}
@media (max-width:600px){
  .atlas{padding:14px}
  .atlas-robot .av{zoom:.9}
  .atlas-robot.fluttua{padding-bottom:26px}
  .fl-ombra{width:96px;margin-left:-48px;height:15px}
  .fl-alone{width:146px;margin-left:-73px;height:30px}
  .atlas-id h2{font-size:24px}
  .atlas-log{max-height:320px}
}
@media (prefers-reduced-motion:reduce){
  .av-ring,.av-ombra,.av-glow,.av-tip,.atlas-mic.on::after,.atlas-voce.parla .onda1,.atlas-voce.parla .onda2{animation:none}
  .atlas-log{scroll-behavior:auto}
}

/* ---------- Atlas spento e accensione "Fiat 127" (29/09/2026) ---------- */
.av-tip,.av-ear::after{transition:background .6s ease,box-shadow .6s ease}
/* niente filter sulla testa: appiattirebbe la prospettiva 3D e gli occhiali sembrerebbero più piccoli; si scurisce con un velo */
.av-luci::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 40% 25%,rgba(10,16,26,.08),rgba(10,16,26,.34));opacity:0;transition:opacity .6s ease}
.av.av-off .av-luci::after{opacity:1}
.av.av-off .av-pupil{filter:brightness(.12) saturate(0)}
.av.av-off .av-iris{border-color:rgba(120,130,145,.25);box-shadow:none}
.av.av-off .av-led{filter:grayscale(1) brightness(.5);box-shadow:none}
.av.av-off .av-glow{opacity:0;animation:none}
.av.av-off .av-tip{background:#5d6673;box-shadow:none;animation:none}
.av.av-off .av-ear::after{background:#4a525e;box-shadow:none}
.av.av-off .av-bocca path{stroke:#4d5866}
.av.av-off .av-lid{border-bottom-color:rgba(120,130,145,.35);box-shadow:none}
.av.av-off .av-ring{opacity:.25;animation-play-state:paused}
/* il LED esita prima di prendere corrente */
.av.av-avvio .av-led{animation:av-led-avvio 1.1s steps(1,end) forwards}
@keyframes av-led-avvio{0%{filter:grayscale(1) brightness(.5)}14%{filter:none}24%{filter:grayscale(1) brightness(.5)}40%{filter:none}48%{filter:grayscale(1) brightness(.6)}62%,100%{filter:none}}
/* colpi di motorino d'avviamento e minimo che si assesta (sulla .av-wrap, che è centrata con translate) */
.av.av-colpo .av-wrap{animation:av-colpo .34s linear}
.av.av-colpo2 .av-wrap{animation:av-colpo2 .52s linear}
.av.av-minimo .av-wrap{animation:av-minimo 1.5s ease-out}
@keyframes av-colpo{0%,100%{transform:translate(-50%,-50%)}15%{transform:translate(calc(-50% + 1.6px),calc(-50% - 1px)) rotate(1.4deg)}32%{transform:translate(calc(-50% - 1.8px),calc(-50% + .8px)) rotate(-1.6deg)}50%{transform:translate(calc(-50% + 1.2px),-50%) rotate(.9deg)}70%{transform:translate(calc(-50% - .8px),calc(-50% - .5px)) rotate(-.6deg)}85%{transform:translate(calc(-50% + .3px),calc(-50% + .3px)) rotate(.2deg)}}
@keyframes av-colpo2{0%,100%{transform:translate(-50%,-50%)}8%{transform:translate(calc(-50% - 2.4px),calc(-50% - 1.6px)) rotate(-2.2deg)}18%{transform:translate(calc(-50% + 2.6px),calc(-50% + 1px)) rotate(2.4deg)}28%{transform:translate(calc(-50% - 2px),calc(-50% - .6px)) rotate(-1.8deg)}40%{transform:translate(calc(-50% + 1.6px),calc(-50% + 1.2px)) rotate(1.4deg)}52%{transform:translate(calc(-50% - 1.2px),calc(-50% - .8px)) rotate(-1deg)}66%{transform:translate(calc(-50% + .8px),-50%) rotate(.6deg)}82%{transform:translate(calc(-50% - .4px),calc(-50% + .3px)) rotate(-.3deg)}}
@keyframes av-minimo{0%,100%{transform:translate(-50%,-50%)}5%{transform:translate(calc(-50% + .9px),-50%) rotate(.5deg)}10%{transform:translate(calc(-50% - .9px),calc(-50% + .3px)) rotate(-.5deg)}15%{transform:translate(calc(-50% + .8px),calc(-50% - .3px)) rotate(.4deg)}20%{transform:translate(calc(-50% - .7px),-50%) rotate(-.4deg)}27%{transform:translate(calc(-50% + .6px),calc(-50% + .2px)) rotate(.3deg)}34%{transform:translate(calc(-50% - .5px),-50%) rotate(-.25deg)}42%{transform:translate(calc(-50% + .4px),calc(-50% - .2px)) rotate(.2deg)}52%{transform:translate(calc(-50% - .3px),-50%) rotate(-.15deg)}64%{transform:translate(calc(-50% + .2px),-50%) rotate(.1deg)}78%{transform:translate(calc(-50% - .1px),-50%)}}

/* durante l'accensione: pallino e scritta grigi, niente benvenuto */
.atlas:has(.atlas-robot.spento) .atlas-stato::before,.atlas.in-accensione .atlas-stato::before{background:#6b7584;box-shadow:none}
.atlas:has(.atlas-robot.spento) .atlas-stato{color:var(--muted)}
.atlas:has(.atlas-robot.spento) .atlas-msg.benvenuto{display:none}
.atlas-msg.benvenuto{animation:atlas-appare .6s ease-out}
@keyframes atlas-appare{from{opacity:0;transform:translateY(6px)}}
/* campo per scrivere ad Atlas a tutta larghezza (Marco, 03/10, tutti i temi): pulsanti piccoli nella riga sotto */
.atlas-form{flex-wrap:wrap;gap:6px}
.atlas-form input{flex:1 1 100%}
.atlas-form button{height:38px;font-size:14px;padding:0 16px}
.atlas-form .atlas-mic{width:40px;height:38px}
.atlas-form .atlas-mic:first-of-type,.atlas-form .atlas-mic[hidden]+.atlas-mic{margin-left:auto}
.atlas-form>button[type="submit"]:only-of-type{margin-left:auto}
@media (max-width:600px){.atlas-sugg button:nth-child(n+3){display:none}}   /* sul telefono bastano 2 esempi */
@media (max-width:480px){.atlas-sugg{gap:4px}.atlas-sugg button{font-size:10.5px;padding:5px 6px}}   /* e restano su una riga, senza tagli */
