/* Chat della guida («Loona»): avatar in basso a destra e pannello di sola chat. Il codice sta in js/chat-guida.js.
   L'avatar di Loona (il fotogramma «normale» dell'atlante della pagina Segreteria) è incorporato (data:) perché la CSP del sito ammette solo file dello stesso dominio e data:. */
:root { --lg-loona: url("data:image/webp;base64,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"); }
.lg-fab {
  position: fixed; right: 20px; bottom: 20px; z-index: 9101; width: 60px; height: 60px; padding: 0; border: 0; border-radius: 10px;
  background: var(--lg-loona) center / contain no-repeat transparent; cursor: pointer;
  filter: drop-shadow(0 .4rem .6rem rgba(0,0,0,.35)); transition: transform .2s, opacity .2s, scale .4s ease;
}
/* Al passaggio del mouse (js/chat-guida.js): si ingrandisce, poi gira su se stessa come nella pagina Segreteria (fotogrammi dell'atlante); il giro si ripete ogni 3 s finché il mouse resta sopra. */
.lg-fab.lg-grande { scale: 1.35; }
.lg-fab:focus-visible { outline: 3px solid var(--accent, #0071e3); outline-offset: 3px; }
.lg-fab[aria-expanded="true"] { transform: scale(.6); opacity: 0; pointer-events: none; visibility: hidden; transition: transform .2s, opacity .2s, visibility 0s .2s; }
.lg-panel {
  position: fixed; right: 20px; bottom: 20px; z-index: 9100; display: flex; flex-direction: column; box-sizing: border-box;
  width: 24rem; max-width: calc(100vw - 24px); height: 38rem; max-height: calc(100vh - 40px); max-height: calc(100dvh - 40px);
  border-radius: 1rem; background: #fff; color: #333; font-family: var(--font-text, system-ui, sans-serif); font-size: 15px; line-height: 1.25em; letter-spacing: .025em;
  box-shadow: 0 0 8rem 0 rgba(0,0,0,.12), 0 2rem 4rem -3rem rgba(0,0,0,.5);
  opacity: 0; transform: translateY(12px) scale(.98); transform-origin: bottom right; pointer-events: none; visibility: hidden; transition: opacity .2s, transform .2s, visibility 0s .2s;
}
.lg-panel.lg-open { opacity: 1; transform: none; pointer-events: auto; visibility: visible; transition: opacity .2s, transform .2s; }
.lg-bar { position: relative; flex: 0 0 auto; display: flex; align-items: center; gap: .75rem; margin: 1rem; padding-right: 2.5rem; min-height: 3.25rem; }
.lg-pic { flex: 0 0 auto; width: 3.25rem; height: 3.25rem; background: var(--lg-loona) center / contain no-repeat; }
.lg-name { font-weight: 500; margin-bottom: .125rem; }
.lg-seen { font-size: .9rem; color: #999; }
.lg-x { position: absolute; top: 0; right: 0; width: 2rem; height: 2rem; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #999; cursor: pointer; font-size: 1.5rem; line-height: 2rem; transition: color .2s, background .2s; }
.lg-x:hover { color: #333; background: #f0f0f0; }
.lg-msgs {
  flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 1rem; background: #f7f7f7; overscroll-behavior: contain;
  box-shadow: inset 0 2rem 2rem -2rem rgba(0,0,0,.05), inset 0 -2rem 2rem -2rem rgba(0,0,0,.05);
}
.lg-time { width: fit-content; margin: 0 auto; padding: .25rem 1rem; border-radius: 2rem; background: #eee; color: #999; font-size: .8rem; }
.lg-m {
  box-sizing: border-box; width: fit-content; max-width: 82%; min-height: 2.25rem; margin: 1rem 1rem 1rem 0; padding: .5rem 1rem; border-radius: 1.125rem 1.125rem 1.125rem 0;
  background: #fff; box-shadow: 0 0 2rem rgba(0,0,0,.075), 0 1rem 1rem -1rem rgba(0,0,0,.1); overflow-wrap: anywhere; line-height: 1.4;
}
.lg-m.lg-me { margin: 1rem 0 1rem auto; border-radius: 1.125rem 1.125rem 0 1.125rem; background: #333; color: #fff; }
.lg-m p { margin: 0 0 .6em; } .lg-m p:last-child { margin-bottom: 0; }
.lg-m ul, .lg-m ol { margin: 0 0 .6em; padding-left: 1.3em; } .lg-m li { margin: .15em 0; }
.lg-m a { color: var(--link, #0066cc); text-decoration: underline; }
.lg-m code { padding: .05em .35em; border-radius: 4px; background: #f0f0f0; font-size: .92em; }
.lg-src { margin-top: .6em; padding-top: .5em; border-top: 1px solid #eee; font-size: .82rem; color: #999; }
.lg-src a { display: inline-block; margin: .15em .3em .15em 0; padding: .1em .6em; border-radius: 1rem; background: #f0f0f0; color: #555; text-decoration: none; }
.lg-src a:hover { background: #e4e4e4; }
.lg-dot { display: inline-block; width: .8rem; height: .8rem; margin-right: 0; box-sizing: border-box; border-radius: 50%; background: #ccc; animation: lg-typing 3s infinite; }
.lg-dot:nth-child(2) { animation-delay: .25s; } .lg-dot:nth-child(3) { animation-delay: .5s; }
@keyframes lg-typing { 0%, 75%, 100% { transform: translate(0, .25rem) scale(.9); opacity: .5; } 25% { transform: translate(0, -.25rem) scale(1); opacity: 1; } }
.lg-form { flex: 0 0 auto; display: flex; align-items: center; box-sizing: border-box; padding: .75rem .75rem .75rem 1.25rem; }
.lg-in {
  flex: 1 1 auto; min-width: 0; margin-right: .75rem; padding: .6rem 1rem; border: 0; border-radius: 1.125rem; background: #fff; color: #333; font: inherit; letter-spacing: inherit;
  box-shadow: 0 0 1rem rgba(0,0,0,.1), 0 1rem 1rem -1rem rgba(0,0,0,.2);
}
.lg-in::placeholder { color: #999; }
.lg-in:focus-visible { outline: 2px solid #333; outline-offset: 1px; }
.lg-go { flex: 0 0 auto; width: 2.5rem; height: 2.5rem; padding: 0; border: 0; border-radius: 50%; background: #333; color: #fff; cursor: pointer; display: grid; place-items: center; transition: background .2s, opacity .2s; }
.lg-go:hover { background: #000; } .lg-go:disabled { opacity: .4; cursor: default; }
.lg-go svg { width: 1.15rem; height: 1.15rem; }
@media (max-width: 640px) {
  .lg-fab { right: 14px; bottom: 14px; width: 54px; height: 54px; }
  .lg-panel { right: 8px; bottom: 8px; width: calc(100vw - 16px); height: calc(100dvh - 16px); max-height: none; }
}
@media (prefers-reduced-motion: reduce) { .lg-fab, .lg-panel, .lg-panel.lg-open { transition: none; } .lg-dot { animation: none; } .lg-fab.lg-grande { scale: 1; } }
@media print { .lg-fab, .lg-panel { display: none; } }
