/* Deducio. Colori dalle variabili del tema se presenti (--navy, --gold, --line, --paper, --ink), altrimenti neutri. */
.spai-widget { position: fixed; right: 18px; bottom: 18px; z-index: 1000; font-family: inherit; }
.spai-launcher { display: inline-flex; align-items: center; gap: 8px; padding: 12px 18px; border: 0; border-radius: 999px; cursor: pointer;
  background: var(--navy, #163c78); color: #fff; font-weight: 700; font-size: .95rem; box-shadow: 0 10px 28px rgba(13, 28, 48, .28); }
.spai-launcher:focus-visible, .spai-ask button:focus-visible, .spai-close:focus-visible { outline: 3px solid var(--gold, #b69256); outline-offset: 2px; }
.spai-panel { position: absolute; right: 0; bottom: 60px; width: min(420px, calc(100vw - 36px)); max-height: min(72vh, 640px); overflow: hidden;
  display: flex; flex-direction: column;
  background: var(--paper, #fff); color: var(--ink, #1b2733); border: 1px solid var(--line, #e0e6ea); border-radius: 10px; box-shadow: 0 22px 50px rgba(13, 28, 48, .25); padding: 16px 18px; }
.spai-panel header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.spai-close { border: 0; background: none; font-size: 1.5rem; line-height: 1; cursor: pointer; color: inherit; }
.spai-intro { margin: 0 0 12px; font-size: .9rem; color: var(--ink-soft, #586470); }
.spai-inline { margin: 24px 0; padding: 18px 20px; border: 1px solid var(--line, #e0e6ea); border-left: 4px solid var(--gold, #b69256); border-radius: 6px; background: var(--paper, #fff); }
.spai-form { display: flex; gap: 8px; align-items: flex-end; }
.spai-form textarea { flex: 1; min-height: 44px; resize: vertical; padding: 10px 12px; border: 1px solid var(--line, #cfd8de); border-radius: 6px; font: inherit; }
.spai-form button { padding: 11px 16px; border: 0; border-radius: 6px; background: var(--navy, #163c78); color: #fff; font-weight: 700; cursor: pointer; }
.spai-form button[disabled] { opacity: .6; cursor: wait; }
.spai-status { min-height: 1.2em; margin: 8px 0 0; font-size: .85rem; color: var(--ink-soft, #586470); }
.spai-answer { margin-top: 10px; }
.spai-turn .spai-text { margin: 0; }
.spai-turn .spai-sources { margin-top: 10px; padding-top: 8px; border-top: 1px dashed var(--line, #e0e6ea); }
.spai-text { line-height: 1.6; margin: 0 0 10px; overflow-wrap: anywhere; }
/* Risposta formattata (Markdown di Deducio → HTML). */
.spai-text > :first-child { margin-top: 0; }
.spai-text p, .spai-text ul, .spai-text ol, .spai-text blockquote { margin: 0 0 .7em; }
.spai-text h3, .spai-text h4 { margin: 1em 0 .35em; font-size: 1rem; line-height: 1.3; font-weight: 700; color: var(--navy, #163c78); }
.spai-text h4 { font-size: .95rem; }
.spai-text ul, .spai-text ol { padding-left: 1.3em; list-style: disc outside; }
.spai-text ol { list-style-type: decimal; }
.spai-text li li { list-style-type: circle; }
.spai-text li { display: list-item; }
.spai-text li { margin: .2em 0; }
.spai-text li > ul, .spai-text li > ol { margin: .2em 0 0; }
.spai-text blockquote { padding-left: .8em; border-left: 3px solid var(--gold, #b69256); color: var(--ink-soft, #586470); }
.spai-text code { padding: .05em .3em; border-radius: 3px; background: rgba(0, 0, 0, .06); font-size: .9em; }
.spai-text a { color: var(--navy, #163c78); text-decoration: underline; }
.spai-text table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin: 0 0 .8em; font-size: .88rem; }
.spai-text th, .spai-text td { padding: 5px 8px; border: 1px solid var(--line, #e0e6ea); text-align: left; vertical-align: top; }
.spai-text th { background: rgba(0, 0, 0, .04); font-weight: 700; }
.spai-sources strong { display: block; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 4px; }
.spai-sources ul { margin: 0; padding-left: 18px; }
.spai-sources li { margin: 3px 0; font-size: .9rem; }
.spai-disclaimer { margin: 12px 0 0; font-size: .75rem; color: var(--ink-soft, #6b7680); }
/* Conversazione: nel riquadro scorre solo lo storico, la casella resta in basso; nel blocco cresce con la pagina. */
.spai-panel[hidden] { display: none; }
.spai-panel .spai-ask { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.spai-panel .spai-thread { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.spai-panel .spai-ask.has-turns .spai-form { padding-top: 10px; border-top: 1px solid var(--line, #e0e6ea); }
.spai-panel:has(.has-turns) .spai-intro { display: none; }
.spai-thread:empty { display: none; }
.spai-turn { margin: 0 0 14px; }
.spai-q { margin: 0 0 8px auto; max-width: 85%; width: fit-content; padding: 8px 12px; border-radius: 12px 12px 2px 12px;
  background: var(--navy, #163c78); color: #fff; font-size: .92rem; line-height: 1.45; overflow-wrap: anywhere; }
.spai-turn .spai-answer { margin: 0; padding: 10px 12px; border: 1px solid var(--line, #e0e6ea); border-radius: 12px 12px 12px 2px; background: var(--paper, #fff); }
.spai-text.is-loading { color: var(--ink-soft, #586470); font-style: italic; }
.spai-text.is-error { color: #a12d2d; }
.spai-cut { margin: .6em 0 0; color: #a12d2d; font-size: .85rem; }
@media (max-width: 600px) { .spai-widget { right: 12px; bottom: 12px; } .spai-form { flex-direction: column; align-items: stretch; } }

/* Testo solo per lettori di schermo (indipendente dal tema). */
.spai-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
