/* ============================================================================================================
   GLOSSARIO NEL TESTO (30/10/2026) — le parole del glossario nel Focus sono sottolineate e mostrano la
   definizione al passaggio del mouse / al tocco. Gestito da scripts/glossario-testo.js. Tema scuro e chiaro.
   ============================================================================================================ */
.gl-t {
    border-bottom: 1.5px dotted #6ea8ff;
    cursor: help;
    text-decoration: none;
    transition: color .15s, border-color .15s;
}
.gl-t:hover, .gl-t.gl-on, .gl-t:focus-visible {
    color: #8fbcff;
    border-bottom-style: solid;
    outline: none;
}
.gl-pop {
    position: absolute;
    z-index: 9999;
    width: 320px;
    max-width: calc(100vw - 24px);
    box-sizing: border-box;
    padding: 12px 14px;
    border-radius: 10px;
    background: #0b0f16;
    color: #e6ebf3;
    border: 1px solid #2a3547;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .55);
    font: 13.5px/1.5 Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
    text-align: left;
}
.gl-def { margin: 0; }
.gl-ai {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    padding: 6px 12px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #4f8cff, #7b5cff);
    color: #fff;
    font: 600 12.5px/1 Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
    cursor: pointer;
    transition: filter .15s, transform .15s;
}
.gl-ai:hover { filter: brightness(1.1); transform: translateY(-1px); }
.gl-ai:focus-visible { outline: 2px solid #8fbcff; outline-offset: 2px; }
.gl-pop b {
    display: block;
    margin-bottom: 4px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #6ea8ff;
}
html[data-theme="light"] .gl-t { border-bottom-color: #1d5fd6; }
html[data-theme="light"] .gl-t:hover,
html[data-theme="light"] .gl-t.gl-on,
html[data-theme="light"] .gl-t:focus-visible { color: #1d5fd6; }
html[data-theme="light"] .gl-pop {
    background: #ffffff;
    color: #1b2430;
    border-color: #d3dbe7;
    box-shadow: 0 12px 30px rgba(20, 30, 50, .18);
}
html[data-theme="light"] .gl-pop b { color: #1d5fd6; }
html[data-theme="light"] .gl-ai { color: #fff; }
@media print { .gl-pop { display: none !important; } .gl-t { border-bottom: 0; } }
