/* ask.css: the site chat widget (assets/js/ask.js), bottom right on both faces.
 Every class is prefixed nsx- (the site already gives .mono and .sub other meanings).
 .nsx-company = the parody company shell (purple + cyan), .nsx-course = the real SEC590
 sub-site (the calmer navy of its "real course" ribbon). */
.nsx{--nsx-bg:#0d0f16;--nsx-bg2:#121725;--nsx-line:#1c2230;--nsx-ink:#eef2f8;--nsx-mut:#9aa6bd;--nsx-acc:#4bffff;
 --nsx-me:#2a1d44;--nsx-me-line:#4b3478;--nsx-launch:linear-gradient(135deg,#8451c7,#6b3fa0);--nsx-glow:rgba(132,81,199,.75);
 position:fixed;right:22px;bottom:22px;z-index:95;font-family:"Open Sans",Arial,sans-serif;font-size:14px;line-height:1.55;color:var(--nsx-ink)}
.nsx-course{--nsx-me:#0d243a;--nsx-me-line:#1d4b6e;--nsx-launch:linear-gradient(135deg,#123553,#0d243a);--nsx-glow:rgba(75,255,255,.35)}
.nsx *{box-sizing:border-box}

/* launcher */
.nsx-launch{width:58px;height:58px;border-radius:50%;border:1px solid rgba(75,255,255,.45);background:var(--nsx-launch);
 box-shadow:0 12px 32px -10px var(--nsx-glow),0 0 0 4px rgba(7,8,12,.55);cursor:pointer;display:grid;place-items:center;padding:0;
 transition:transform .15s ease,box-shadow .15s ease}
.nsx-launch:hover{transform:translateY(-2px);box-shadow:0 16px 36px -10px var(--nsx-glow),0 0 0 4px rgba(7,8,12,.55)}
.nsx-launch:focus-visible,.nsx-close:focus-visible,.nsx-send:focus-visible,.nsx-chip:focus-visible{outline:2px solid var(--nsx-acc);outline-offset:3px}
.nsx-launch img{width:28px;height:28px;grid-area:1/1;transition:opacity .15s ease,transform .2s ease}
.nsx-launch .nsx-x{grid-area:1/1;font-size:26px;line-height:1;color:#fff;opacity:0;transform:rotate(-45deg);transition:opacity .15s ease,transform .2s ease}
.nsx.open .nsx-launch img{opacity:0;transform:rotate(45deg)}
.nsx.open .nsx-launch .nsx-x{opacity:1;transform:none}

/* panel */
.nsx-panel{position:absolute;right:0;bottom:72px;width:380px;height:min(600px,calc(100vh - 120px));display:flex;flex-direction:column;
 background:var(--nsx-bg);border:1px solid var(--nsx-line);border-top:2px solid var(--nsx-acc);
 box-shadow:0 30px 70px -20px rgba(0,0,0,.85),0 0 0 1px rgba(75,255,255,.06);overflow:hidden;
 transform-origin:bottom right;animation:nsx-in .18s ease-out}
.nsx-panel[hidden]{display:none}
@keyframes nsx-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.nsx-head{display:flex;align-items:center;gap:11px;padding:13px 14px;border-bottom:1px solid var(--nsx-line);background:var(--nsx-bg2)}
.nsx-av{width:34px;height:34px;border-radius:50%;padding:6px;background:var(--nsx-launch);border:1px solid rgba(75,255,255,.35);flex:none}
.nsx-id{min-width:0;flex:1}
.nsx-id b{display:block;font-family:"Oswald",sans-serif;font-weight:400;letter-spacing:.1em;text-transform:uppercase;font-size:15px;color:#fff}
.nsx-id span{display:block;color:var(--nsx-mut);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nsx-close{background:none;border:1px solid transparent;color:var(--nsx-mut);font-size:22px;line-height:1;width:32px;height:32px;cursor:pointer;flex:none}
.nsx-close:hover{color:#fff;border-color:var(--nsx-line)}

/* conversation */
.nsx-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:#2a3246 transparent}
.nsx-msg{max-width:88%;padding:9px 12px;border:1px solid var(--nsx-line);background:var(--nsx-bg2);overflow-wrap:anywhere}
.nsx-msg.a{align-self:flex-start;border-left:2px solid var(--nsx-acc)}
.nsx-msg.u{align-self:flex-end;background:var(--nsx-me);border-color:var(--nsx-me-line);white-space:pre-wrap}
.nsx-msg.s{align-self:center;max-width:94%;background:none;border-style:dashed;color:var(--nsx-mut);font-size:13px;text-align:center}
.nsx-msg p{margin:0}
.nsx-msg p+p,.nsx-msg p+ul,.nsx-msg p+ol,.nsx-msg ul+p,.nsx-msg ol+p{margin-top:7px}
.nsx-msg ul,.nsx-msg ol{margin:4px 0 0;padding-left:18px}
.nsx-msg li+li{margin-top:3px}
.nsx-msg a{color:var(--nsx-acc);border-bottom:1px solid rgba(75,255,255,.35)}
.nsx-msg a:hover{border-bottom-color:var(--nsx-acc)}
.nsx-msg code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:rgba(255,255,255,.06);padding:1px 4px}
.nsx-msg b,.nsx-msg strong{color:#fff}
.nsx-dots{display:inline-flex;gap:4px;padding:4px 0}
.nsx-dots i{width:6px;height:6px;border-radius:50%;background:var(--nsx-acc);opacity:.35;animation:nsx-dot 1s infinite ease-in-out}
.nsx-dots i:nth-child(2){animation-delay:.15s}.nsx-dots i:nth-child(3){animation-delay:.3s}
@keyframes nsx-dot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}

/* suggested questions */
.nsx-chips{display:flex;flex-wrap:wrap;gap:7px;padding:0 14px 12px}
.nsx-chips[hidden]{display:none}
.nsx-chip{font:inherit;font-size:12.5px;color:#d8e3f3;background:none;border:1px solid #2a3246;padding:6px 10px;cursor:pointer;text-align:left}
.nsx-chip:hover{border-color:var(--nsx-acc);color:#fff}

/* input */
.nsx-form{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--nsx-line);background:var(--nsx-bg2)}
.nsx-form textarea{flex:1;resize:none;font:inherit;color:var(--nsx-ink);background:var(--nsx-bg);border:1px solid #2a3246;padding:9px 10px;
 max-height:120px;min-height:40px;outline:none}
.nsx-form textarea:focus{border-color:var(--nsx-acc)}
.nsx-form textarea::placeholder{color:#6f7a90}
.nsx-send{width:40px;height:40px;flex:none;border:1px solid rgba(75,255,255,.45);background:var(--nsx-launch);color:#fff;cursor:pointer;display:grid;place-items:center}
.nsx-send svg{width:18px;height:18px}
.nsx-send:disabled{opacity:.45;cursor:default}
.nsx-notice{margin:0;padding:0 14px 10px;background:var(--nsx-bg2);color:#6f7a90;font-size:11.5px;line-height:1.45}
.nsx-notice:empty{display:none}
.nsx-model{white-space:nowrap}

@media (max-width:560px){
 .nsx{right:14px;bottom:14px}
 .nsx-panel{position:fixed;left:8px;right:8px;bottom:84px;width:auto;height:calc(100vh - 100px);height:calc(100dvh - 100px)}
}
@media (prefers-reduced-motion:reduce){
 .nsx-panel,.nsx-dots i{animation:none}
 .nsx-launch,.nsx-launch img,.nsx-launch .nsx-x{transition:none}
}
@media print{.nsx{display:none}}
