/* AFNPT grounded assistant: floating "Ask" widget, self-contained (works on static pages and the Next.js app).
   Tokens are scoped to the widget's own elements so it never depends on the host page's variables. */
.ask-fab,.ask-overlay,.ask-panel{--bg:#111826;--panel:#18212f;--panel-2:#1e2838;--line:#2a3444;--ink:#e8edf3;--ink-2:#c7d0dc;
  --muted:#8e9bb0;--white:#f7fafc;--red:#e23b3b;--blue-soft:#7fb2ff;--amber:#f2b84b;font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;box-sizing:border-box}
.ask-panel *,.ask-panel *::before,.ask-panel *::after{box-sizing:border-box}
.ask-fab{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:70;
  display:inline-flex;align-items:center;gap:9px;min-height:52px;padding:0 18px 0 16px;border-radius:26px;border:1px solid var(--line);
  background:var(--red);color:#fff;font:700 15px/1 'Inter',system-ui,sans-serif;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.5);
  touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.ask-fab svg{flex:none}
.ask-fab:active{transform:scale(.97)}
@media(hover:hover){.ask-fab:hover{filter:brightness(1.06)}}
.ask-fab.hide{display:none}

.ask-overlay{position:fixed;inset:0;z-index:80;background:rgba(4,6,10,.55);opacity:0;pointer-events:none;transition:opacity .18s}
.ask-overlay.open{opacity:1;pointer-events:auto}

.ask-panel{position:fixed;z-index:81;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);
  box-shadow:0 -10px 40px rgba(0,0,0,.6);transform:translateY(100%);transition:transform .22s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.ask-overlay.open + .ask-panel,.ask-panel.open{transform:translateY(0);pointer-events:auto}
/* phone: bottom sheet */
.ask-panel{left:0;right:0;bottom:0;height:min(86vh,86dvh);border-radius:18px 18px 0 0}
/* desktop: right-docked card */
@media(min-width:720px){
  .ask-panel{left:auto;right:20px;bottom:20px;width:440px;height:min(680px,86vh);border-radius:16px;transform:translateY(20px) scale(.98);opacity:0;transition:transform .2s,opacity .2s}
  .ask-panel.open{transform:none;opacity:1}
}

.ask-head{display:flex;align-items:center;gap:12px;padding:14px 16px calc(14px);border-bottom:1px solid var(--line);
  padding-top:calc(14px + env(safe-area-inset-top,0px))}
.ask-head .dot{width:10px;height:10px;border-radius:2px;background:var(--red);box-shadow:0 0 12px var(--red);flex:none}
.ask-head .t{min-width:0;flex:1}
.ask-head .t b{display:block;font:700 16px/1.1 'Oswald','Arial Narrow','Inter',sans-serif;letter-spacing:.01em;color:var(--white);text-transform:uppercase}
.ask-head .t small{display:block;margin-top:3px;font:400 11.5px/1.4 'JetBrains Mono',ui-monospace,monospace;color:var(--muted)}
.ask-x{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;border:1px solid var(--line);
  background:var(--panel);color:var(--ink);cursor:pointer;font-size:20px;line-height:1;touch-action:manipulation}
@media(hover:hover){.ask-x:hover{border-color:var(--muted);color:var(--white)}}

.ask-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:16px}
.ask-intro{color:var(--ink-2);font-size:14.5px;line-height:1.6}
.ask-intro b{color:var(--white)}
.ask-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ask-chip{display:inline-flex;align-items:center;min-height:40px;padding:0 13px;border-radius:20px;border:1px solid var(--line);
  background:var(--panel);color:var(--ink);font:500 13.5px/1.2 'Inter',system-ui,sans-serif;text-align:left;cursor:pointer;touch-action:manipulation}
.ask-chip:active{transform:scale(.98)}
@media(hover:hover){.ask-chip:hover{border-color:var(--blue-soft);color:var(--white)}}

.ask-msg{margin:14px 0;max-width:100%}
.ask-msg.user{margin-left:auto;max-width:85%}
.ask-msg.user .bubble{background:var(--panel-2);border:1px solid var(--line);border-radius:14px 14px 4px 14px;padding:10px 14px;color:var(--white);font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.ask-msg.bot .bubble{color:var(--ink);font-size:15.5px;line-height:1.62}
.ask-msg.bot .bubble p{margin:0 0 10px}
.ask-msg.bot .bubble p:last-child{margin-bottom:0}
.ask-msg.bot .bubble a.cite-inline{color:var(--blue-soft);text-decoration:none;border-bottom:1px dotted var(--blue-soft)}
.ask-msg.bot .bubble strong{color:var(--white)}
.ask-msg.bot .bubble .ask-h{margin:14px 0 6px;font-size:14px}
.ask-msg.bot .bubble .ask-h:first-child{margin-top:0}
.ask-msg.bot .bubble ul{margin:0 0 10px;padding-left:20px}
.ask-msg.bot .bubble li{margin:3px 0}
.ask-msg.bot .bubble blockquote{margin:8px 0;padding:6px 12px;border-left:3px solid var(--amber);background:rgba(255,214,0,.06);border-radius:0 6px 6px 0;color:var(--white);font-size:14.5px}
.ask-src{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.ask-src a{display:inline-flex;align-items:center;min-height:32px;padding:0 11px;border-radius:16px;border:1px solid var(--line);
  background:rgba(127,178,255,.08);color:var(--blue-soft);font:600 12px/1 'JetBrains Mono',ui-monospace,monospace;text-decoration:none}
@media(hover:hover){.ask-src a:hover{border-color:var(--blue-soft)}}
.ask-note{margin-top:8px;font:400 11px/1.4 'JetBrains Mono',ui-monospace,monospace;color:var(--muted)}

.ask-typing{display:inline-flex;gap:5px;padding:6px 2px}
.ask-typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:askb 1s infinite}
.ask-typing i:nth-child(2){animation-delay:.15s}.ask-typing i:nth-child(3){animation-delay:.3s}
@keyframes askb{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.ask-typing i{animation:none}.ask-panel,.ask-overlay{transition:none}}

.ask-form{display:flex;gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--bg)}
.ask-input{flex:1;min-height:48px;max-height:120px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#0c1119;color:var(--ink);
  font:400 16px/1.4 'Inter',system-ui,sans-serif;resize:none}
.ask-input:focus{outline:0;border-color:var(--blue-soft);box-shadow:0 0 0 3px rgba(61,139,255,.22)}
.ask-send{flex:none;width:48px;height:48px;border-radius:12px;border:none;background:var(--red);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;touch-action:manipulation}
.ask-send:disabled{opacity:.5;cursor:default}
.ask-send:not(:disabled):active{transform:scale(.95)}
.ask-disclaimer{padding:0 16px 10px;font:400 10.5px/1.4 'JetBrains Mono',ui-monospace,monospace;color:var(--muted);text-align:center;background:var(--bg)}
