/* ALchatai Frontend V25.0 - responsive stabilization layer.
   Loaded last so the interface has one authoritative layout contract. */

:root{
  --al-vh:1vh;
  --al-safe-top:env(safe-area-inset-top,0px);
  --al-safe-right:env(safe-area-inset-right,0px);
  --al-safe-bottom:env(safe-area-inset-bottom,0px);
  --al-safe-left:env(safe-area-inset-left,0px);
  --al-gap:clamp(6px,1.6vw,12px);
  --al-touch:clamp(44px,7vh,52px);
}
*,*::before,*::after{box-sizing:border-box}
html,body{width:100%;max-width:100%;overflow-x:hidden}
img,video,canvas,svg,iframe{max-width:100%}
input,select,textarea,button{max-width:100%;min-width:0}
.hidden{display:none!important}

/* Drawer: one fixed shell, one scrolling region. */
body.alMenuOpen{overflow:hidden!important}
#alSideMenu.alSideMenu{
  position:fixed!important;
  inset:0 0 0 auto!important;
  display:flex!important;
  flex-direction:column!important;
  width:min(430px,calc(100vw - max(8px,var(--al-safe-left))))!important;
  max-width:calc(100vw - max(8px,var(--al-safe-left)))!important;
  height:calc(var(--al-vh) * 100)!important;
  min-height:0!important;
  max-height:calc(var(--al-vh) * 100)!important;
  overflow:hidden!important;
  transform:translate3d(105%,0,0)!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
}
body.alMenuOpen #alSideMenu.alSideMenu{transform:translate3d(0,0,0)!important}
#alSideMenu .alSideMenuHead{
  flex:0 0 auto!important;
  min-width:0!important;
  padding:max(9px,var(--al-safe-top)) max(10px,var(--al-safe-right)) 9px 12px!important;
}
#alSideMenu .alSideMenuHead>div{min-width:0;overflow:hidden}
#alSideMenu .alSideMenuHead b,#alSideMenu .alSideMenuHead span{
  display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere
}
#alSideMenu .alMenuClose{
  flex:0 0 46px!important;width:46px!important;min-width:46px!important;
  height:46px!important;min-height:46px!important;padding:0!important
}
#alSideMenu .alSideMenuScroll{
  flex:1 1 0!important;
  min-height:0!important;
  height:0!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-y:contain!important;
  touch-action:pan-y!important;
  scrollbar-gutter:stable!important;
  padding:var(--al-gap)!important;
  padding-bottom:max(32px,calc(var(--al-safe-bottom) + 24px))!important;
  gap:var(--al-gap)!important;
}
#alSideMenu .alSideMenuScroll::after{
  content:"";display:block;grid-column:1/-1;width:100%;height:24px;min-height:24px
}
#alSideMenu .alMenuNavBtn,#alSideMenu .alAccordionBtn,#alSideMenu .alMenuSubBtn{
  width:100%!important;min-width:0!important;height:auto!important;
  min-height:var(--al-touch)!important;
  padding:clamp(8px,1.7vh,12px) clamp(10px,3vw,14px)!important;
  border-radius:clamp(11px,3vw,15px)!important;
  font-size:clamp(13px,3.4vw,16px)!important;line-height:1.2!important;
  white-space:normal!important;overflow-wrap:anywhere!important
}
#alSideMenu .alMenuItem{
  width:100%!important;min-width:0!important;
  grid-template-columns:clamp(42px,11vw,52px) minmax(0,1fr)!important
}
#alSideMenu .alMenuItem>*{min-width:0;max-width:100%}
#alSideMenu .alMenuName,#alSideMenu .alMenuMeta{overflow-wrap:anywhere}

/* Social composer shared by normal and adult feeds. */
#socialFixedCommentBar,#alAdultSocialComposer{
  left:50%!important;right:auto!important;
  bottom:calc(70px + var(--al-safe-bottom))!important;
  transform:translateX(-50%)!important;
  width:min(980px,calc(100vw - var(--al-safe-left) - var(--al-safe-right) - 20px))!important;
  max-width:980px!important;overflow:visible!important;
  box-sizing:border-box!important
}
#socialFixedCommentBar>*,#alAdultSocialComposer>*{min-width:0;box-sizing:border-box}
#socialFixedCommentBar .socialBarExitBtn,#alAdultSocialComposer .socialBarExitBtn{
  position:absolute!important;inset:calc(100% + 8px) 0 auto auto!important;
  width:clamp(108px,24vw,132px)!important;min-width:108px!important;
  height:50px!important;min-height:50px!important;margin:0!important;
  transform:none!important;border:2px solid #991b1b!important;border-radius:15px!important;
  background:linear-gradient(135deg,#ef4444,#b91c1c)!important;color:#fff!important;
  font-size:15px!important;font-weight:900!important;z-index:2!important
}
body.alchat-social-page,body.alchat-adult-social-page{padding-bottom:160px!important}

/* Feed and media never escape the viewport. */
.socialScreen,.socialMain,#socialFeed,.alAdultSocialEmpty,.alAdultSocialFeed{
  min-width:0!important;max-width:100%!important
}
.socialPostCard,.alCreatorOwnPost{min-width:0!important;max-width:100%!important}
.socialPostCard img,.socialPostCard video,.alCreatorOwnPost img,.alCreatorOwnPost video{
  display:block;max-width:100%!important;height:auto
}

/* Dialogs stay usable with keyboard and small screens. */
.overlay,.alNotifyCenterOverlay{padding:max(8px,var(--al-safe-top)) max(8px,var(--al-safe-right)) max(8px,var(--al-safe-bottom)) max(8px,var(--al-safe-left))!important}
.modal,.alNotifyCenterModal,.alDialog{
  width:min(620px,calc(100vw - 16px))!important;
  max-width:calc(100vw - 16px)!important;
  max-height:calc(var(--al-vh) * 100 - 16px)!important;
  overflow:auto!important;-webkit-overflow-scrolling:touch
}

@media(max-width:900px){
  /* V25.2.38 - drawer compatto e autoadattante su tablet e cellulari.
     Lascia visibile una parte della pagina, rispetta le aree sicure e fa
     scorrere soltanto il contenuto del menu. */
  #alSideMenu.alSideMenu{
    top:max(10px,4vh,var(--al-safe-top))!important;
    top:max(10px,4dvh,var(--al-safe-top))!important;
    right:max(6px,var(--al-safe-right))!important;
    bottom:max(10px,4vh,var(--al-safe-bottom))!important;
    bottom:max(10px,4dvh,var(--al-safe-bottom))!important;
    left:auto!important;
    width:min(430px,86vw)!important;
    max-width:calc(100vw - var(--al-safe-left) - var(--al-safe-right) - 18px)!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    border-radius:18px 0 0 18px!important;
  }
  #alSideMenu .alSideMenuScroll{
    flex:1 1 auto!important;
    height:auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    scrollbar-gutter:auto!important;
  }
}
/* Su PC centra la barra nello spazio Social, senza invadere la colonna Chat. */
@media(min-width:1100px) and (hover:hover) and (pointer:fine){
  body.alDesktopChatWorkspace.alchat-social-page #socialFixedCommentBar,
  body.alDesktopChatWorkspace.alchat-adult-social-page #alAdultSocialComposer{
    left:calc(var(--al-desktop-chat-dock) + (100vw - var(--al-desktop-chat-dock))/2)!important;
    right:auto!important;
    width:min(980px,calc(100vw - var(--al-desktop-chat-dock) - 22px))!important;
    max-width:calc(100vw - var(--al-desktop-chat-dock) - 22px)!important;
    transform:translateX(-50%)!important
  }
}
@media(max-width:760px){
  #alSideMenu.alSideMenu{
    width:min(380px,86vw)!important;
    max-width:calc(100vw - var(--al-safe-left) - var(--al-safe-right) - 16px)!important;
  }
  #socialFixedCommentBar,#alAdultSocialComposer{
    left:max(7px,var(--al-safe-left))!important;
    right:max(7px,var(--al-safe-right))!important;
    width:auto!important;max-width:none!important;transform:none!important;
    bottom:calc(66px + var(--al-safe-bottom))!important
  }
  #socialFixedCommentBar .socialFixedCommentInput,
  #alAdultSocialComposer .socialFixedCommentInput{width:100%!important;min-width:0!important}
}
@media(max-height:650px){
  :root{--al-touch:40px;--al-gap:5px}
  #alSideMenu .alSideMenuHead{padding-top:max(6px,var(--al-safe-top))!important;padding-bottom:6px!important}
  #alSideMenu .alMenuNavBtn,#alSideMenu .alAccordionBtn,#alSideMenu .alMenuSubBtn{
    padding:7px 10px!important;font-size:13px!important
  }
}

@media(max-width:380px){
  #alSideMenu.alSideMenu{
    width:88vw!important;
    max-width:calc(100vw - var(--al-safe-left) - var(--al-safe-right) - 12px)!important;
    border-radius:14px 0 0 14px!important;
  }
  #alSideMenu .alSideMenuHead{padding:7px 7px 7px 10px!important}
  #alSideMenu .alMenuClose{
    flex-basis:42px!important;width:42px!important;min-width:42px!important;
    height:42px!important;min-height:42px!important
  }
  #alSideMenu .alSideMenuScroll{padding:6px!important;gap:6px!important}
  #alSideMenu .alMenuNavBtn,#alSideMenu .alAccordionBtn,#alSideMenu .alMenuSubBtn{
    min-height:42px!important;padding:8px 9px!important;font-size:13px!important
  }
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* V25.2.27 - AL ai più largo e in evidenza; Esci e Chat compatti */
.chatSocialArchitecture .chatFooterActions{
  grid-template-columns:minmax(54px,.78fr) minmax(54px,.78fr) minmax(108px,1.44fr) repeat(3,44px)!important;
}
.chatSocialArchitecture .chatFooterActions>.alAiTopBtn{
  background:linear-gradient(135deg,#04a9ee 0%,#087ad1 48%,#244ee8 100%)!important;
  border:2px solid #8de8ff!important;
  box-shadow:0 0 0 2px rgba(21,147,232,.18),0 7px 20px rgba(0,112,220,.38),inset 0 1px 0 rgba(255,255,255,.35)!important;
  font-weight:1000!important;
}
.chatSocialArchitecture .chatFooterActions>.alAiTopBtn .alAiName{
  font-size:1.12em!important;
  font-weight:1000!important;
  text-shadow:0 1px 4px rgba(0,0,0,.32)!important;
}
@media(max-width:700px){
  .chatSocialArchitecture .chatFooterActions{
    grid-template-columns:minmax(42px,.7fr) minmax(42px,.7fr) minmax(86px,1.6fr) repeat(3,40px)!important;
    gap:4px!important;
  }
  .chatSocialArchitecture .chatFooterActions>.alHeaderIconBtn{width:40px!important;min-width:40px!important;max-width:40px!important}
}
@media(max-width:390px){
  .chatSocialArchitecture .chatFooterActions{
    grid-template-columns:minmax(38px,.65fr) minmax(38px,.65fr) minmax(78px,1.7fr) repeat(3,34px)!important;
    gap:3px!important;
  }
  .chatSocialArchitecture .chatFooterActions>.alHeaderIconBtn{width:34px!important;min-width:34px!important;max-width:34px!important}
}

/* V25.2.35 - descrizione SEO reale, leggibile e autoadattante */
.hero .alSeoTagline{
  max-width:920px;
  margin:6px auto 0;
  padding:0 12px;
  color:#53758d;
  font-size:clamp(12px,1.7vw,16px);
  line-height:1.35;
  font-weight:700;
  text-align:center;
}
@media(max-width:700px){
  .hero .alSeoTagline{font-size:12px;margin-top:4px;padding:0 8px}
}

/* V25.2.37 - video istruzioni YouTube nella pagina login */
.alInstructionsVideoSection{width:100%;box-sizing:border-box;margin:18px 0 0;padding:18px;border:1px solid #b9e2f8;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(14,116,144,.10);text-align:left}
.alInstructionsVideoSection h2{margin:0 0 6px;color:#075985;font-size:clamp(19px,3vw,24px);text-align:center}
.alInstructionsVideoIntro,.alInstructionsVideoEmpty{margin:0 0 14px;color:#58758b;font-size:14px;line-height:1.45;text-align:center}
.alInstructionsVideoPlayer{position:relative;width:100%;aspect-ratio:16/9;margin:14px auto;overflow:hidden;border-radius:14px;background:#06111f;box-shadow:0 5px 18px rgba(2,34,58,.22)}
.alInstructionsVideoPlayer iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.alInstructionsVideoManager{margin-top:14px;border-top:1px solid #d7edf9;padding-top:12px}
.alInstructionsVideoManager summary{cursor:pointer;color:#0876b8;font-weight:900;text-align:center}
.alInstructionsVideoManagerBody{display:grid;gap:8px;margin-top:12px}
.alInstructionsVideoManagerBody label{color:#12344d;font-size:13px;font-weight:800}
.alInstructionsVideoManagerBody input{width:100%;min-width:0;box-sizing:border-box}
.alInstructionsVideoButtons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.alInstructionsVideoButtons button{width:100%;min-height:44px;margin:0}
.alInstructionsVideoStatus.error{color:#c62828!important}
@media(max-width:600px){.alInstructionsVideoSection{margin-top:14px;padding:13px;border-radius:13px}.alInstructionsVideoButtons{grid-template-columns:1fr}.alInstructionsVideoIntro,.alInstructionsVideoEmpty{font-size:13px}}

/* V25.2.41 - stile visibile per il solo indicatore di presenza reale. */
.alOnlineDot{
  display:inline-block!important;
  visibility:visible!important;
  opacity:1!important;
  width:11px!important;
  min-width:11px!important;
  height:11px!important;
  min-height:11px!important;
  margin:0 0 1px 8px!important;
  padding:0!important;
  border:1px solid #07852f!important;
  border-radius:50%!important;
  background:#16d447!important;
  box-shadow:0 0 0 2px #fff,0 0 8px rgba(22,212,71,.85)!important;
  vertical-align:middle!important;
  position:relative!important;
  z-index:2!important;
  flex:0 0 11px!important;
  animation:alOnlinePulse 1.35s ease-in-out infinite!important;
}
@keyframes alOnlinePulse{
  0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 2px #fff,0 0 7px rgba(22,212,71,.72)}
  50%{opacity:.48;transform:scale(.78);box-shadow:0 0 0 2px #fff,0 0 13px rgba(22,212,71,1)}
}
@media(prefers-reduced-motion:reduce){.alOnlineDot{animation:none!important}}

/* V25.2.49 - Nuova chat: tipografia compatta in stile WhatsApp. */
#forwardModal .modalTitle{
  font-size:20px!important;
  line-height:1.2!important;
}
#forwardModal #forwardSearch{
  font-size:14px!important;
  line-height:1.35!important;
}
#forwardModal .tabs button{
  font-size:13px!important;
  line-height:1.15!important;
  font-weight:750!important;
}
#forwardResults .fItem .nameLine{
  font-size:16px!important;
  line-height:1.2!important;
  font-weight:700!important;
}
#forwardResults .fItem .meta{
  font-size:13px!important;
  line-height:1.25!important;
}
#forwardResults .fItem>button:not(.alFavStar){
  font-size:14px!important;
  line-height:1.15!important;
}
#forwardResults .alFavStar{
  font-size:18px!important;
}
@media(max-width:480px){
  #forwardModal .modalTitle{font-size:19px!important}
  #forwardResults .fItem .nameLine{font-size:15.5px!important}
  #forwardResults .fItem .meta{font-size:12.5px!important}
  #forwardModal .tabs button{font-size:12.5px!important}
}

/* V25.2.50 - Nuova chat sempre contenuta nello schermo del telefono/tablet.
   Solo l'elenco scorre: titolo, ricerca, schede e pulsante Chiudi restano visibili. */
@media(max-width:1099px), (hover:none) and (pointer:coarse){
  #forwardModal{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  #forwardModal>.modal{
    display:grid!important;
    grid-template-rows:auto auto auto auto minmax(0,1fr) auto!important;
    width:100%!important;
    max-width:560px!important;
    height:100%!important;
    max-height:100%!important;
    min-height:0!important;
    margin:0 auto!important;
    padding:clamp(10px,3vw,16px)!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  #forwardModal #forwardResults{
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding-bottom:4px!important;
  }
  #forwardModal>.modal>button:last-child{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    width:100%!important;
    min-height:42px!important;
    margin:8px 0 0!important;
    flex:0 0 42px!important;
    align-items:center!important;
    justify-content:center!important;
  }
}

/* V25.2.78 - Testo "Senza limiti" proporzionato nel pulsante AL ai su desktop. */
@media(min-width:701px){
  .chatSocialArchitecture .chatFooterActions>.alAiTopBtn{
    gap:9px!important;
    padding:7px 18px!important;
  }
  .chatSocialArchitecture .chatFooterActions>.alAiTopBtn .alAiSpark{
    flex:0 0 auto!important;
    font-size:25px!important;
  }
  .chatSocialArchitecture .chatFooterActions>.alAiTopBtn .alAiText{
    display:inline-flex!important;
    flex:0 1 auto!important;
    flex-direction:row!important;
    align-items:baseline!important;
    justify-content:center!important;
    gap:8px!important;
    font-size:16px!important;
    line-height:1!important;
  }
  .chatSocialArchitecture .chatFooterActions>.alAiTopBtn .alAiName{
    font-size:18px!important;
    line-height:1!important;
  }
  .chatSocialArchitecture .chatFooterActions>.alAiTopBtn .alAiNoLimit{
    display:inline-block!important;
    font-size:14px!important;
    line-height:1!important;
    letter-spacing:.15px!important;
    opacity:1!important;
  }
}
@supports not (height:100dvh){
  @media(max-width:1099px), (hover:none) and (pointer:coarse){
    #forwardModal{height:100vh!important;max-height:100vh!important}
  }
}

/* V25.2.51 - Uscita Nuova chat sempre disponibile su ogni dispositivo. */
#forwardModal>.modal{
  position:relative!important;
  display:grid!important;
  grid-template-rows:auto auto auto auto minmax(0,1fr) auto!important;
  min-height:0!important;
}
#forwardModal .modalTitle>button,
#forwardModal .modalTitle>.btnDark{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  flex:0 0 42px!important;
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
  z-index:5!important;
}
#forwardModal>.modal>button:last-child{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  min-height:42px!important;
  height:42px!important;
  margin:8px 0 0!important;
  padding:0 12px!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
  z-index:5!important;
}

/* V25.2.52 - Nuova chat sempre sopra al menu principale.
   Il pulsante a tre puntini non deve coprire la X sui telefoni stretti. */
#forwardModal{
  z-index:450000!important;
}
/* Il menu a tre puntini deve rimanere sempre disponibile.
   La finestra Nuova chat, grazie allo z-index superiore, protegge comunque la X. */
#alMainMenuBtn.alMainMenuBtn{
  display:flex!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* V25.2.53 - Sul cellulare la X in alto è l'unica uscita.
   Rimuove il grande pulsante inferiore che finiva sotto la barra di sistema. */
@media(max-width:600px), (hover:none) and (pointer:coarse) and (max-width:767px){
  #forwardModal>.modal{
    grid-template-rows:auto auto auto auto minmax(0,1fr)!important;
  }
  #forwardModal>.modal>button:last-child{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
  }
}

/* V25.2.43 - URL e hashtag cliccabili in Chat, Gruppi e Social. */
.alSmartLink,
.alHashtagLink{
  color:#087fc8!important;
  text-decoration:underline!important;
  text-decoration-thickness:1.5px!important;
  text-underline-offset:2px!important;
  font-weight:800!important;
  overflow-wrap:anywhere!important;
  cursor:pointer!important;
  touch-action:manipulation!important;
}
.alHashtagLink{color:#116fba!important;text-decoration:none!important}
.alSmartLink:hover,
.alSmartLink:focus-visible,
.alHashtagLink:hover,
.alHashtagLink:focus-visible{color:#064f87!important;text-decoration:underline!important}
.trendTag{cursor:pointer!important;touch-action:manipulation!important}

/* V25.2.61 - Fonti della ricerca web AL AI sempre visibili e cliccabili. */
#aiAssistantModal .alAiSourceLink{
  color:#54c7ff!important;
  text-decoration:underline!important;
  text-underline-offset:2px!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  font-weight:700!important;
}

/* V25.2.62 - Collegamenti ufficiali agli assistenti AI sotto "Cosa puoi fare?". */
#aiAssistantModal .alAiCapabilitiesRow{flex-direction:column!important;gap:12px!important}
#aiAssistantModal .alAiPlatformsLine{
  width:min(860px,100%)!important;padding:12px!important;border:1px solid rgba(255,255,255,.1)!important;
  border-radius:17px!important;background:#090909!important;box-sizing:border-box!important;
  box-shadow:0 8px 24px rgba(0,0,0,.22)!important;
}
#aiAssistantModal .alAiPlatformsTitle{
  display:block!important;margin:0 0 10px!important;color:#fff!important;font-size:14px!important;
  font-weight:800!important;text-align:left!important;
}
#aiAssistantModal .alAiPlatformGrid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important;gap:9px!important}
#aiAssistantModal .alAiPlatformBtn{
  display:flex!important;min-width:0!important;min-height:44px!important;align-items:center!important;
  justify-content:center!important;gap:8px!important;padding:8px 10px!important;text-align:center!important;
  border:1px solid rgba(255,255,255,.32)!important;border-radius:13px!important;color:#07111c!important;
  font-size:14px!important;font-weight:900!important;line-height:1!important;text-decoration:none!important;white-space:nowrap!important;
  box-sizing:border-box!important;transition:transform .15s ease,filter .15s ease!important;
}

/* V25.2.63 - Testi centrati nei pulsanti AI. */
#aiAssistantModal .alAiPlatformBtn:hover{filter:brightness(1.08)!important;transform:translateY(-1px)!important}
#aiAssistantModal .alAiPlatformBtn:active{transform:scale(.98)!important}
#aiAssistantModal .alAiPlatformBtn i{
  width:18px!important;height:18px!important;min-width:18px!important;border:2px solid rgba(255,255,255,.75)!important;
  border-radius:50%!important;box-sizing:border-box!important;
}
#aiAssistantModal .alAiPlatformBtn.isGemini{background:#53a5f6!important}
#aiAssistantModal .alAiPlatformBtn.isGemini i{background:#10c62f!important}
#aiAssistantModal .alAiPlatformBtn.isChatGPT{background:#f2f2f2!important}
#aiAssistantModal .alAiPlatformBtn.isChatGPT i{background:#cfd0d2!important}
#aiAssistantModal .alAiPlatformBtn.isCopilot{background:#3daef3!important}
#aiAssistantModal .alAiPlatformBtn.isCopilot i{background:#36aef5!important}
#aiAssistantModal .alAiPlatformBtn.isClaude{background:#bd88ee!important}
#aiAssistantModal .alAiPlatformBtn.isClaude i{background:#a383ec!important}
#aiAssistantModal .alAiPlatformBtn.isPerplexity{background:#db6500!important}
#aiAssistantModal .alAiPlatformBtn.isPerplexity i{background:#f25c18!important}
#aiAssistantModal .alAiPlatformBtn.isGrok{background:#151515!important;color:#fff!important}
#aiAssistantModal .alAiPlatformBtn.isGrok i{background:#fff!important;border-color:#777!important}
#aiAssistantModal .alAiPlatformBtn.isDeepSeek{background:#4d74ee!important;color:#fff!important}
#aiAssistantModal .alAiPlatformBtn.isDeepSeek i{background:#2860ed!important}
#aiAssistantModal .alAiPlatformBtn.isLeonardo{background:linear-gradient(135deg,#9456e9,#e981ca)!important;color:#fff!important}
#aiAssistantModal .alAiPlatformBtn.isLeonardo i{background:#7136d7!important}
#aiAssistantModal .alAiPlatformBtn.isBeautiful{background:#f2a42d!important}
#aiAssistantModal .alAiPlatformBtn.isBeautiful i{background:#ff7a00!important}
@media(max-width:700px){
  #aiAssistantModal .alAiCapabilitiesRow{gap:8px!important;padding-right:8px!important;padding-left:8px!important}
  #aiAssistantModal .alAiPlatformsLine{padding:9px!important;border-radius:14px!important}
  #aiAssistantModal .alAiPlatformsTitle{margin-bottom:7px!important;font-size:12px!important}
  #aiAssistantModal .alAiPlatformGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  #aiAssistantModal .alAiPlatformBtn{min-height:38px!important;padding:7px 9px!important;font-size:12px!important;white-space:normal!important}
  #aiAssistantModal .alAiPlatformBtn:last-child{grid-column:1/-1!important}
  #aiAssistantModal .alAiPlatformBtn i{width:15px!important;height:15px!important;min-width:15px!important}
}

/* V25.2.71 - I pulsanti AI si adattano all'altezza disponibile senza
   sovrapporsi ai comandi inferiori Esci / Usa risposta. */
#aiAssistantModal .alAiChatModal,
#aiAssistantModal .alAiChatModal.alAiEmptyState{
  grid-template-rows:auto minmax(0,1fr) auto auto minmax(0,auto) auto!important;
  overflow:hidden!important;
}
#aiAssistantModal .alAiEmptyState .alAiComposer{
  margin-top:0!important;
}
#aiAssistantModal .alAiEmptyState .alAiCapabilitiesRow{
  transform:none!important;
}
#aiAssistantModal .alAiCapabilitiesRow{
  min-height:0!important;
  max-height:min(330px,42dvh)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
  padding-bottom:10px!important;
}
#aiAssistantModal .alAiChatFoot,
#aiAssistantModal .alAiEmptyState .alAiChatFoot{
  position:relative!important;
  inset:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding-bottom:max(10px,env(safe-area-inset-bottom,0px))!important;
}
@media(max-width:700px){
  #aiAssistantModal .alAiChatModal,
  #aiAssistantModal .alAiChatModal.alAiEmptyState{
    grid-template-rows:auto minmax(0,1fr) auto auto minmax(0,auto) auto!important;
  }
  #aiAssistantModal .alAiCapabilitiesRow{
    max-height:min(300px,40dvh)!important;
    padding-bottom:8px!important;
  }
  #aiAssistantModal .alAiChatFoot,
  #aiAssistantModal .alAiEmptyState .alAiChatFoot{
    display:flex!important;
    position:relative!important;
    inset:auto!important;
    padding:6px 9px max(8px,env(safe-area-inset-bottom,0px))!important;
  }
}
@media(max-height:700px){
  #aiAssistantModal .alAiCapabilitiesRow{
    max-height:min(230px,36dvh)!important;
  }
}

/* V25.2.72 - Sui telefoni il blocco sotto "Cosa puoi fare?" resta
   interamente dentro lo schermo, anche con barre di sistema alte. */
@media(max-width:700px){
  #aiAssistantModal .alAiChatModal,
  #aiAssistantModal .alAiChatModal.alAiEmptyState{
    height:100dvh!important;
    max-height:100dvh!important;
    grid-template-rows:auto minmax(92px,24dvh) auto auto minmax(0,1fr) auto!important;
    padding-bottom:env(safe-area-inset-bottom,0px)!important;
    box-sizing:border-box!important;
  }
  #aiAssistantModal .alAiEmptyState .alAiConversation{
    min-height:92px!important;
    max-height:24dvh!important;
    padding-top:8px!important;
    padding-bottom:4px!important;
    overflow:hidden!important;
  }
  #aiAssistantModal .alAiEmptyState .alAiWelcome{
    min-height:0!important;
    padding-top:0!important;
    gap:7px!important;
  }
  #aiAssistantModal .alAiEmptyState .alAiWelcomeIntro{
    margin:0 auto 4px!important;
    font-size:clamp(11px,3.1vw,14px)!important;
    line-height:1.25!important;
  }
  #aiAssistantModal .alAiEmptyState .alAiWelcomeGlow{
    width:clamp(48px,15vw,64px)!important;
    height:clamp(48px,15vw,64px)!important;
    min-height:48px!important;
    font-size:clamp(29px,9vw,38px)!important;
  }
  #aiAssistantModal .alAiComposer{
    margin-top:4px!important;
    margin-bottom:5px!important;
  }
  #aiAssistantModal .alAiCapabilitiesRow{
    max-height:none!important;
    padding-top:2px!important;
    padding-bottom:10px!important;
    scroll-padding-bottom:12px!important;
  }
  #aiAssistantModal .alAiChatFoot,
  #aiAssistantModal .alAiEmptyState .alAiChatFoot{
    padding-bottom:max(10px,env(safe-area-inset-bottom,0px))!important;
  }
}
@media(max-width:700px) and (max-height:620px){
  #aiAssistantModal .alAiChatModal,
  #aiAssistantModal .alAiChatModal.alAiEmptyState{
    grid-template-rows:auto minmax(70px,18dvh) auto auto minmax(0,1fr) auto!important;
  }
  #aiAssistantModal .alAiEmptyState .alAiConversation{
    min-height:70px!important;
    max-height:18dvh!important;
  }
  #aiAssistantModal .alAiEmptyState .alAiWelcomeIntro{
    display:none!important;
  }
  #aiAssistantModal .alAiEmptyState .alAiWelcomeGlow{
    width:48px!important;
    height:48px!important;
  }
}

/* V25.2.88 - Nel login non sono disponibili né menu né notifiche. */
body.alchat-index-page #alMainMenuBtn,
body.alchat-index-page #alSideMenu,
body.alchat-index-page #alSideMenuBackdrop,
body.alchat-index-page #alNotifyBell,
body.alchat-index-page #alNotifyCenter{
  display:none!important;
  pointer-events:none!important;
}

/* V25.2.81 - I video accettano il gesto orizzontale del cursore temporale. */
video[controls],
.socialMediaBox video[controls],
.bubble video[controls],
.alFsVideo[controls]{
  pointer-events:auto!important;
  touch-action:pan-y pinch-zoom!important;
  -webkit-user-select:none!important;
  user-select:none!important;
}
.alFsFeed{
  touch-action:pan-x pan-y!important;
}

/* V25.2.102 - Barra temporale fullscreen mobile trascinabile con il dito. */
.alFsSeekWrap{display:none}
@media(max-width:767px), (hover:none) and (pointer:coarse){
  .alFsFeed.open .alFsSeekWrap:not([hidden]){
    display:flex!important;
    position:fixed!important;
    left:max(14px,env(safe-area-inset-left))!important;
    right:max(14px,env(safe-area-inset-right))!important;
    bottom:calc(54px + env(safe-area-inset-bottom))!important;
    z-index:100130!important;
    height:34px!important;
    align-items:center!important;
    pointer-events:auto!important;
    touch-action:none!important;
  }
  .alFsSeek{
    display:block!important;
    width:100%!important;
    height:34px!important;
    margin:0!important;
    padding:0!important;
    opacity:.96!important;
    accent-color:#159fe3!important;
    cursor:pointer!important;
    pointer-events:auto!important;
    touch-action:none!important;
  }
  .alFsSeek::-webkit-slider-thumb{width:24px!important;height:24px!important}
  .alFsSeek::-moz-range-thumb{width:24px!important;height:24px!important}
}

/* V25.2.85 - Gruppi: niente rimbalzi durante lo scroll di foto e video. */
#messages.alGroupMessagesActive{
  overflow-anchor:none!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch;
}
#messages.alGroupMessagesActive .msgImg,
#messages.alGroupMessagesActive .videoMsg{
  transform:translateZ(0);
  backface-visibility:hidden;
}

/* V25.2.77 - Annuncio delle dieci AI sopra la bandiera nel login. */
#loginScreen .alLoginAiAnnouncement{
  display:flex!important;
  width:min(100%,760px)!important;
  margin:-24px auto 10px!important;
  padding:0 12px!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  box-sizing:border-box!important;
  text-align:center!important;
}
#loginScreen .alLoginAiAnnouncementText{
  max-width:100%!important;
  color:#087fc8!important;
  font-size:clamp(15px,2.3vw,22px)!important;
  font-weight:950!important;
  line-height:1.2!important;
  overflow-wrap:anywhere!important;
  text-wrap:balance!important;
}
#loginScreen .alLoginAiAnnouncement .alItalianFlagHero{
  flex:0 0 auto!important;
  margin:0 auto!important;
  transform:none!important;
}
html[dir="rtl"] #loginScreen .alLoginAiAnnouncementText{
  direction:rtl!important;
}
@media(max-width:700px){
  #loginScreen .alLoginAiAnnouncement{
    width:100%!important;
    margin:-18px auto 8px!important;
    padding:0 10px!important;
    gap:7px!important;
  }
  #loginScreen .alLoginAiAnnouncementText{
    font-size:clamp(14px,4.5vw,18px)!important;
    line-height:1.22!important;
  }
}

/* V25.2.76 - Impedisce al layout flex di schiacciare verticalmente
   l'immagine AI: il contenitore resta sempre perfettamente quadrato. */
#aiAssistantModal .alAiWelcomePicture{
  flex:0 0 auto!important;
  align-self:center!important;
  aspect-ratio:1/1!important;
  box-sizing:border-box!important;
}
#aiAssistantModal .alAiWelcomePicture img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media(max-width:700px){
  #aiAssistantModal .alAiWelcomePicture{
    flex-basis:clamp(110px,32vw,150px)!important;
    max-width:150px!important;
    max-height:150px!important;
  }
}
@media(max-width:700px) and (max-height:620px){
  #aiAssistantModal .alAiWelcomePicture{
    flex-basis:88px!important;
    max-width:88px!important;
    max-height:88px!important;
  }
}

/* V25.2.73 - Nuova immagine AI nella schermata iniziale, proporzionata
   automaticamente senza modificare l'altezza del pannello. */
#aiAssistantModal .alAiWelcomePicture{
  display:block!important;
  width:clamp(82px,9vw,112px)!important;
  height:clamp(82px,9vw,112px)!important;
  min-width:82px!important;
  min-height:82px!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:24px!important;
  background:#06162f!important;
  box-shadow:0 9px 28px rgba(20,123,255,.34),0 0 24px rgba(116,73,255,.24)!important;
}
#aiAssistantModal .alAiWelcomePicture img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:inherit!important;
}
@media(max-width:700px){
  #aiAssistantModal .alAiWelcomePicture{
    width:clamp(56px,16vw,72px)!important;
    height:clamp(56px,16vw,72px)!important;
    min-width:56px!important;
    min-height:56px!important;
    border-radius:18px!important;
  }
}
@media(max-width:700px) and (max-height:620px){
  #aiAssistantModal .alAiWelcomePicture{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    border-radius:15px!important;
  }
}

/* V25.2.75 - Immagine AI più grande e proporzionata sui cellulari. */
@media(max-width:700px){
  #aiAssistantModal .alAiChatModal,
  #aiAssistantModal .alAiChatModal.alAiEmptyState{
    grid-template-rows:auto minmax(170px,28dvh) auto auto minmax(0,1fr) auto!important;
  }
  #aiAssistantModal .alAiEmptyState .alAiConversation{
    min-height:170px!important;
    max-height:28dvh!important;
  }
  #aiAssistantModal .alAiWelcomePicture{
    width:clamp(110px,32vw,150px)!important;
    height:clamp(110px,32vw,150px)!important;
    min-width:110px!important;
    min-height:110px!important;
    aspect-ratio:1/1!important;
    border-radius:24px!important;
  }
}
@media(max-width:700px) and (max-height:620px){
  #aiAssistantModal .alAiChatModal,
  #aiAssistantModal .alAiChatModal.alAiEmptyState{
    grid-template-rows:auto minmax(118px,22dvh) auto auto minmax(0,1fr) auto!important;
  }
  #aiAssistantModal .alAiEmptyState .alAiConversation{
    min-height:118px!important;
    max-height:22dvh!important;
  }
  #aiAssistantModal .alAiWelcomePicture{
    width:88px!important;
    height:88px!important;
    min-width:88px!important;
    min-height:88px!important;
    border-radius:20px!important;
  }
}
