/* One conversation surface for both editor entry points. The PDF canvas stays untouched. */
html { --chat-bg:#f5f8f7; --chat-surface:#fcfefd; --chat-ink:#20312c; --chat-muted:#526960; --chat-edge:#c6d5ce; --chat-tint:#e7f1eb; --chat-accent:#116c55; --chat-on-accent:#fff; }
html[data-bitepdf-theme="dark"] { --chat-bg:#131c18; --chat-surface:#1a2620; --chat-ink:#eaf2ed; --chat-muted:#b1c3b7; --chat-edge:#41574a; --chat-tint:#293c30; --chat-accent:#a2dbb8; --chat-on-accent:#16251b; }
html body:has(.app-shell) #agentPanel {
  display:flex!important; flex-direction:column!important; gap:0!important;
  height:100%!important; min-height:0!important; max-height:none!important;
  padding:16px!important; overflow:hidden!important; border:0!important; border-radius:0!important;
  background:var(--chat-bg)!important; color:var(--chat-ink)!important; box-shadow:none!important;
  font-family:var(--font-body)!important;
}
html body:has(.app-shell) #agentPanel * { letter-spacing:normal!important; }
html body:has(.app-shell) #agentPanel .agent-head { display:flex!important; flex:0 0 auto!important; align-items:center!important; padding:0 0 12px!important; border:0!important; background:transparent!important; }
html body:has(.app-shell) #agentPanel .agent-head strong { font:600 18px/1.4 var(--font-body)!important; color:var(--chat-ink)!important; }
html body:has(.app-shell) #agentPanel :is(.agent-head .eyebrow,#agentRuntimeStrip,.agent-memory,.agent-ai-head,.agent-surface-bar,.agent-surface-suggestions,.agent-support-strip,.agent-integrations) { display:none!important; }
html body:has(.app-shell) #agentPanel #agentSignal { font:500 12px/1.4 var(--font-body)!important; background:transparent!important; color:var(--chat-muted)!important; border:0!important; padding:4px!important; }
html body:has(.app-shell) #agentPanel #agentClosePanel { margin-left:auto!important; min-width:44px!important; min-height:44px!important; width:auto!important; font:500 13px/1.4 var(--font-body)!important; color:var(--chat-ink)!important; background:transparent!important; border:1px solid var(--chat-edge)!important; border-radius:8px!important; padding:8px 12px!important; }
html body:has(.app-shell) #agentPanel #agentClosePanel[hidden] { display:none!important; }
html body:has(.app-shell) #agentPanel #agentTranscript {
  flex:1 1 0!important; min-height:0!important; max-height:none!important; height:auto!important;
  overflow-y:auto!important; overflow-x:hidden!important; overscroll-behavior:contain;
  padding:8px 4px 24px!important; margin:0!important; background:transparent!important; border:0!important; border-radius:0!important;
  scrollbar-width:thin; scroll-padding-block:20px;
}
html body:has(.app-shell) #agentPanel #agentTranscript .agent-message {
  display:block!important; border:0!important; border-radius:0!important; background:transparent!important;
  box-shadow:none!important; margin:0 0 24px!important; padding:0!important; max-height:none!important;
  -webkit-line-clamp:unset!important; overflow:visible!important; color:var(--chat-ink)!important;
  animation:chat-arrive 160ms ease-out;
}
html body:has(.app-shell) #agentPanel #agentTranscript .agent-message.user { background:var(--chat-tint)!important; padding:12px 16px!important; border-radius:12px!important; margin-left:8%!important; }
html body:has(.app-shell) #agentPanel #agentTranscript .agent-message :is(p,li) { display:block!important; font:400 15px/1.65 var(--font-body)!important; color:var(--chat-ink)!important; -webkit-text-fill-color:var(--chat-ink)!important; -webkit-line-clamp:unset!important; max-height:none!important; white-space:pre-wrap!important; overflow:visible!important; overflow-wrap:anywhere!important; margin:6px 0 0!important; }
html body:has(.app-shell) #agentPanel #agentTranscript .agent-message strong { font:600 16px/1.45 var(--font-body)!important; color:var(--chat-ink)!important; }
html body:has(.app-shell) #agentPanel #agentTranscript .agent-message>span { display:block!important; font:500 11px/1.5 var(--font-body)!important; text-transform:none!important; color:var(--chat-muted)!important; margin-bottom:6px!important; }
html body:has(.app-shell) #agentPanel .agent-ai-box { position:relative!important; inset:auto!important; flex:0 0 auto!important; display:flex!important; flex-direction:column!important; height:auto!important; min-height:0!important; max-height:50%!important; overflow:auto!important; gap:8px!important; margin:0!important; padding:12px!important; background:var(--chat-surface)!important; color:var(--chat-ink)!important; border:1px solid var(--chat-edge)!important; border-radius:14px!important; box-shadow:none!important; }
html body:has(.app-shell) #agentPanel #agentGoalInput { width:100%!important; min-height:52px!important; max-height:120px!important; height:52px!important; flex:none!important; padding:4px!important; border:0!important; border-radius:0!important; resize:vertical; background:transparent!important; color:var(--chat-ink)!important; -webkit-text-fill-color:var(--chat-ink)!important; font:400 16px/1.5 var(--font-body)!important; box-shadow:none!important; }
html body:has(.app-shell) #agentPanel #agentGoalInput::placeholder { color:var(--chat-muted)!important; -webkit-text-fill-color:var(--chat-muted)!important; }
html body:has(.app-shell) #agentPanel .agent-service-status { display:block!important; margin:0!important; font:400 12px/1.5 var(--font-body)!important; color:var(--chat-muted)!important; }
html body:has(.app-shell) #agentPanel .agent-composer-actions { display:flex!important; flex:none!important; gap:8px!important; padding:0!important; }
html body:has(.app-shell) #agentPanel :is(.agent-composer-actions button,#agentScreenshotButton) { position:static!important; width:auto!important; max-width:none!important; min-width:44px!important; height:44px!important; min-height:44px!important; flex:0 0 auto!important; padding:8px 12px!important; border:1px solid var(--chat-edge)!important; border-radius:8px!important; font:500 14px/1.4 var(--font-body)!important; background:var(--chat-surface)!important; color:var(--chat-ink)!important; box-shadow:none!important; }
html body:has(.app-shell) #agentPanel .agent-composer-actions button::before { display:none!important; }
html body:has(.app-shell) #agentPanel #agentAiButton { margin-left:auto!important; background:var(--chat-accent)!important; color:var(--chat-on-accent)!important; border-color:var(--chat-accent)!important; }
html body:has(.app-shell) #agentPanel .agent-options { flex:0 0 auto; color:var(--chat-muted)!important; font:400 12px/1.5 var(--font-body)!important; }
html body:has(.app-shell) #agentPanel .agent-options summary { cursor:pointer; padding:8px 0; min-height:32px; color:var(--chat-muted)!important; font:500 12px/1.5 var(--font-body)!important; }
html body:has(.app-shell) #agentPanel :is(.agent-context-consent,#agentContextStatus,.agent-screenshot-state) { color:var(--chat-muted)!important; font:400 12px/1.5 var(--font-body)!important; margin:8px 0!important; }
html body:has(.app-shell) #agentPanel .agent-context-consent { display:flex!important; align-items:center!important; min-height:44px; gap:8px; }
html body:has(.app-shell) #agentPanel .agent-context-consent input { width:18px!important; height:18px!important; accent-color:var(--chat-accent); }
html body:has(.app-shell) #agentPanel .agent-mobile-controls { display:flex!important; padding:0!important; margin:8px 0!important; }
html body:has(.app-shell) #agentPanel .agent-mobile-controls select { font:400 14px/1.4 var(--font-body)!important; color:var(--chat-ink)!important; background:var(--chat-surface)!important; border:1px solid var(--chat-edge)!important; min-height:44px!important; }
html body:has(.app-shell) #agentPanel :is(button,textarea,summary):focus-visible { outline:2px solid var(--chat-accent)!important; outline-offset:3px!important; }
/* Ask Agent is a dedicated view; closing it restores the document unchanged. */
html body.assistant-open:has(.app-shell) .inspector { display:block!important; position:fixed!important; inset:64px 0 0!important; width:auto!important; min-width:0!important; max-width:none!important; height:auto!important; padding:0!important; overflow:hidden!important; z-index:100!important; background:var(--chat-bg)!important; }
html body.assistant-open:has(.app-shell) #agentPanel { width:min(100%,880px)!important; margin:auto!important; }
html body.assistant-open:has(.app-shell) #agentClosePanel { display:block!important; }
html body.assistant-open:has(.app-shell) .mobile-mode-tabs { display:none!important; }
html body:has(.app-shell) .topbar { background:var(--chat-surface)!important; color:var(--chat-ink)!important; border-color:var(--chat-edge)!important; }
html body:has(.app-shell) .topbar button { font-family:var(--font-body)!important; font-weight:600!important; color:var(--chat-ink)!important; background:var(--chat-surface)!important; border-color:var(--chat-edge)!important; }
@media(max-width:760px) {
  html body.assistant-open:has(.app-shell) .inspector { top:56px!important; bottom:env(safe-area-inset-bottom,0px)!important; }
  html body#bitepdf-workspace.assistant-open .inspector { top:0!important; }
  html body:has(.app-shell) #agentPanel { padding:12px!important; }
  html body:has(.app-shell) #agentPanel .agent-head strong { font-size:16px!important; }
  html body:has(.app-shell) #agentPanel #agentSignal { display:none!important; }
}
@keyframes chat-arrive { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
html[data-bitepdf-theme] body.assistant-open:has(.app-shell) .inspector { background:var(--chat-bg)!important; padding:0!important; }
html[data-bitepdf-theme] body:has(.app-shell):not([data-force-light]) .topbar { background:var(--chat-surface)!important; border-color:var(--chat-edge)!important; }
html[data-bitepdf-theme] body:has(.app-shell):not([data-force-light]) .topbar button { color:var(--chat-ink)!important; background:var(--chat-surface)!important; border-color:var(--chat-edge)!important; box-shadow:none!important; }
html[data-bitepdf-theme] body:has(.app-shell):not([data-force-light]) .topbar .tool-button :is(svg,svg *) { stroke:var(--chat-ink)!important; }
html[data-bitepdf-theme] body:has(.app-shell) #agentPanel #agentGoalInput:focus { outline:2px solid var(--chat-accent)!important; outline-offset:2px!important; }
@media(prefers-reduced-motion:reduce) { html body:has(.app-shell) #agentPanel * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
