/* Ask CivilXL — slide-over assistant panel (ai/cx-ask.js) */
.cxa-scrim { position: fixed; inset: 0; background: rgba(15,23,42,.22); z-index: 99980; opacity: 0; transition: opacity .18s; pointer-events: none; }
.cxa-scrim.on { opacity: 1; pointer-events: auto; }
.cxa:not(.on) { visibility: hidden; transition: transform .22s ease, visibility 0s .22s; }
.cxa { position: fixed; top: 0; right: 0; bottom: 0; width: min(520px, 100vw); z-index: 99981; display: flex; flex-direction: column;
       background: var(--panel, #fff); color: var(--text, #0f172a); border-left: 1px solid var(--line, #d8dce4); box-shadow: -24px 0 60px rgba(2,6,23,.18);
       transform: translateX(102%); transition: transform .22s ease; font: 500 13.5px/1.5 Inter, system-ui, sans-serif; }
.cxa.on { transform: none; }
.cxa header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px 12px; border-bottom: 1px solid var(--line, #d8dce4); }
.cxa header h3 { margin: 0; font-size: 15px; font-weight: 800; display: flex; align-items: center; gap: 8px; }
.cxa header h3 .cxa-spark { width: 22px; height: 22px; border-radius: 7px; background: var(--btn, #4a6b3a); color: #fff; display: inline-flex; align-items: center; justify-content: center; }
.cxa header h3 .cxa-spark svg { width: 13px; height: 13px; }
.cxa .cxa-sub { font-size: 11.5px; color: var(--muted, #64748b); font-weight: 600; }
.cxa .cxa-hbtn { border: 1px solid var(--line, #d8dce4); background: transparent; color: var(--text, #0f172a); border-radius: 9px; padding: 5px 9px; font: 600 12px/1.2 Inter, system-ui, sans-serif; cursor: pointer; }
.cxa .cxa-hbtn:hover { border-color: var(--btn, #4a6b3a); }
.cxa-body { flex: 1 1 auto; overflow: auto; padding: 14px 16px 6px; display: flex; flex-direction: column; gap: 14px; }
.cxa-q { align-self: flex-end; max-width: 88%; background: var(--panel2, #f3f5fa); border: 1px solid var(--line, #d8dce4); border-radius: 14px 14px 4px 14px; padding: 8px 12px; white-space: pre-wrap; overflow-wrap: anywhere; }
.cxa-a { max-width: 100%; overflow-wrap: anywhere; }
.cxa-a p { margin: 0 0 8px; } .cxa-a ul { margin: 0 0 8px; padding-left: 18px; } .cxa-a li { margin: 2px 0; }
.cxa-a .cxl-chip { vertical-align: middle; padding: 1px 6px 1px 2px; max-width: 260px; }
.cxa-a .cxl-ico { width: 17px; height: 17px; font-size: 9.5px; }
.cxa-steps { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-bottom: 6px; font-size: 11.5px; color: var(--muted, #64748b); }
.cxa-steps span::before { content: '↳ '; opacity: .6; }
.cxa-steps span.fail { color: #b91c1c; }
.cxa-err { color: #b91c1c; background: rgba(220,38,38,.07); border: 1px solid rgba(220,38,38,.18); padding: 8px 10px; border-radius: 10px; }
.cxa-think { color: var(--muted, #64748b); font-size: 12.5px; display: flex; align-items: center; gap: 8px; }
.cxa-think i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; animation: cxaDot 1s infinite ease-in-out; }
.cxa-think i:nth-child(2) { animation-delay: .15s; } .cxa-think i:nth-child(3) { animation-delay: .3s; }
@keyframes cxaDot { 0%, 100% { opacity: .25; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-2px); } }
.cxa-empty { color: var(--muted, #64748b); }
.cxa-empty h4 { margin: 4px 0 8px; color: var(--text, #0f172a); font-size: 14px; }
.cxa-sugs { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; }
.cxa-sugs button { text-align: left; border: 1px solid var(--line, #d8dce4); background: var(--panel, #fff); color: var(--text, #0f172a); border-radius: 10px; padding: 8px 11px; font: 600 12.5px/1.35 Inter, system-ui, sans-serif; cursor: pointer; }
.cxa-sugs button:hover { border-color: var(--btn, #4a6b3a); }
.cxa-ctx { font-size: 11.5px; color: var(--muted, #64748b); padding: 0 16px 6px; display: flex; align-items: center; gap: 6px; }
.cxa-ctx b { color: var(--text, #0f172a); }
.cxa-ctx button { border: 0; background: transparent; color: var(--muted, #64748b); cursor: pointer; font-size: 13px; }
.cxa form { border-top: 1px solid var(--line, #d8dce4); padding: 10px 12px 12px; display: flex; gap: 8px; align-items: flex-end; }
.cxa textarea { flex: 1 1 auto; min-height: 40px; max-height: 150px; resize: none; border: 1px solid var(--line, #d8dce4); border-radius: 12px; padding: 9px 11px; font: inherit; background: var(--panel2, #f3f5fa); color: inherit; }
.cxa textarea:focus { outline: 2px solid var(--btn, #4a6b3a); outline-offset: 0; }
.cxa form button { border: 0; border-radius: 11px; background: var(--btn, #4a6b3a); color: var(--btnText, #fff); padding: 10px 14px; font: 800 13px/1 Inter, system-ui, sans-serif; cursor: pointer; }
.cxa form button:disabled { opacity: .45; cursor: default; }
.cxa-foot { padding: 0 16px 10px; font-size: 11px; color: var(--muted, #64748b); display: flex; justify-content: space-between; gap: 10px; }
.cxa-list { display: flex; flex-direction: column; gap: 4px; }
.cxa-list button { display: flex; justify-content: space-between; gap: 10px; text-align: left; border: 0; background: transparent; color: inherit; padding: 8px 10px; border-radius: 9px; cursor: pointer; font: inherit; }
.cxa-list button:hover { background: var(--panel2, #f3f5fa); }
.cxa-list time { font-size: 11px; color: var(--muted, #64748b); white-space: nowrap; }

/* news citations (open Glideslope in a new tab) */
.cxa-a .cxa-news { display: inline-flex; align-items: center; gap: 3px; padding: 0 6px; border-radius: 6px; border: 1px solid var(--line, #e5e7eb); color: inherit; text-decoration: none; font-size: .92em; font-weight: 600; white-space: nowrap; vertical-align: baseline; }
.cxa-a .cxa-news:hover { border-color: currentColor; }
.cxa-a .cxa-news svg { width: 11px; height: 11px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; opacity: .7; }
