/* Theme-bound assistant surfaces. Presentation only; no layout reparenting. */
#assistant-surface {
  --ai-action:var(--cs-yellow,var(--action,#ffc63d));
  --ai-ink:var(--ink,#202020);
  --ai-muted:var(--muted,#606060);
  --ai-line:var(--line,#e0e0e0);
  --ai-glass:rgba(250,250,250,.88);
  --ai-card:rgba(255,255,255,.94);
  --chat-paper-line:var(--ai-line);
  color:var(--ai-ink);
  font-family:var(--font-ui,system-ui,sans-serif);
  background:var(--bg,#f4f4f4);
  isolation:isolate;
}
#assistant-surface.assistant-floating {
  border:0;
  border-radius:24px;
  background:var(--ai-glass);
  box-shadow:0 24px 64px #00000024,0 4px 12px #0000000a,inset 0 1px 0 #ffffffd9;
  -webkit-backdrop-filter:blur(20px) saturate(115%);
  backdrop-filter:blur(20px) saturate(115%);
  animation:assistant-glass-enter 200ms cubic-bezier(.16,1,.3,1);
}
#assistant-surface .assistant-dock-head {
  padding:16px 20px;
  background:var(--ai-card);
  border-bottom:1px solid var(--ai-line);
}
#assistant-surface .assistant-dock-head strong { color:var(--ai-ink); font-size:16px; letter-spacing:-.02em; }
#assistant-surface .assistant-dock-head small { color:var(--ai-muted); font-size:12px; }
#assistant-surface .assistant-dock-head button { color:var(--ai-ink); min-width:44px; min-height:44px; }
#assistant-surface .assistant-dock-head button:hover { background:var(--surface-soft,#efefef); border-color:transparent; }
#assistant-surface .assistant-context {
  background:rgba(255,255,255,.55);
  border-bottom:1px solid var(--ai-line);
  padding:12px 20px;
  color:var(--ai-ink);
}
#assistant-surface .assistant-context small { color:var(--ai-muted); font-size:12px; line-height:1.6; }
#assistant-surface .assistant-context input { accent-color:var(--ai-ink); }
#assistant-surface .chat-workspace { background:transparent; }
#assistant-surface .chat-workspace::before,#assistant-surface .chat-workspace::after { display:none; }
#assistant-surface .chat-titlebar { background:transparent; box-shadow:none; border-bottom:1px solid var(--ai-line); border-radius:0; }
#assistant-surface .chat-area { gap:20px; scrollbar-color:#b4b4b4 transparent; scrollbar-width:thin; }
#assistant-surface .msg { animation:none; }
#assistant-surface .msg-ai {
  background:var(--ai-card);
  border:0;
  border-radius:16px;
  padding:20px;
  box-shadow:0 4px 16px #00000008,inset 0 1px 0 #ffffffcc;
  color:var(--ai-ink);
}
#assistant-surface .msg-ai h1,#assistant-surface .msg-ai h2,#assistant-surface .msg-ai h3 { font-family:inherit; color:var(--ai-ink); }
#assistant-surface .msg-ai .chat-result h3 { font-size:18px; margin-top:0; }
#assistant-surface .msg-user { background:transparent; border:0; box-shadow:none; }
#assistant-surface .msg-user>div:first-child {
  background:#262626;
  color:#fff;
  border:0;
  border-radius:16px 16px 4px 16px;
  padding:12px 16px;
  box-shadow:0 4px 12px #0000000d;
}
#assistant-surface .chat-input-area {
  background:var(--ai-glass);
  border-top:1px solid var(--ai-line);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
#assistant-surface .composer { background:var(--ai-card); border:1px solid var(--ai-line); box-shadow:none; border-radius:16px; transition:border-color 150ms ease-out; }
#assistant-surface .composer:focus-within { border-color:var(--ai-ink); }
#assistant-surface textarea { color:var(--ai-ink); caret-color:var(--ai-ink); }
#assistant-surface textarea::placeholder { color:var(--ai-muted); opacity:1; }
#assistant-surface .send-btn:not(.send-btn-stop),#assistant-surface .btn-primary {
  background:var(--ai-action); color:#202020; border-color:transparent; box-shadow:none;
}
#assistant-surface .send-btn:not(.send-btn-stop):hover:not(:disabled),#assistant-surface .btn-primary:hover:not(:disabled) { filter:brightness(.96); }
#assistant-surface .send-btn-stop { background:#a52d24; color:#fff; }
#assistant-surface .btn:disabled,#assistant-surface .send-btn:disabled { cursor:not-allowed; }
#assistant-surface .pending-chip { background:var(--ai-action); color:#202020; border-color:transparent; }
#assistant-surface .chat-result-details { border-color:var(--ai-line); }
#assistant-surface .chat-result-details>summary,#assistant-surface .chat-result-notice { color:var(--ai-muted); }
#assistant-surface .msg-tools { border:0; }
#assistant-surface .msg-tool { background:transparent; border:0; border-bottom:1px solid var(--ai-line); border-radius:0; padding:0; align-self:stretch; }
#assistant-surface .msg-tool-detail-result { background:var(--surface-soft,#efefef); }
#assistant-surface .pa-card { background:var(--ai-card); box-shadow:none; border:1px solid var(--ai-line); border-radius:12px; }
#assistant-surface :is(button,summary,input,textarea):focus-visible { outline:2px solid var(--ai-ink); outline-offset:3px; }
#assistant-surface ::selection { background:var(--ai-action); color:#202020; }
@supports (background:color-mix(in srgb,white,transparent)) {
  #assistant-surface { --ai-glass:color-mix(in srgb,var(--surface,#fff) 86%,transparent); --ai-card:color-mix(in srgb,var(--surface,#fff) 94%,transparent); }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  #assistant-surface.assistant-floating,#assistant-surface .chat-input-area { background:var(--surface,#fff); }
}
@keyframes assistant-glass-enter { from { transform:translateY(6px); } to { transform:translateY(0); } }
@media(max-width:820px),(max-width:1024px) and (max-height:500px) {
  #assistant-surface.assistant-floating { border-radius:0; box-shadow:none; background:var(--bg,#f4f4f4); -webkit-backdrop-filter:none; backdrop-filter:none; }
  #assistant-surface .assistant-dock-head { padding:10px 12px; }
  #assistant-surface .assistant-context { padding:10px 12px; }
  #assistant-surface .msg-ai { padding:16px; }
  #assistant-surface .chat-input-area { -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
}
@media(prefers-reduced-motion:reduce) {
  #assistant-surface.assistant-floating { animation:none; }
  #assistant-surface .composer { transition:none; }
}
@media(prefers-reduced-transparency:reduce) {
  #assistant-surface { --ai-glass:var(--surface,#fff); --ai-card:var(--surface,#fff); }
  #assistant-surface.assistant-floating,#assistant-surface .chat-input-area { -webkit-backdrop-filter:none; backdrop-filter:none; }
}
@media(forced-colors:active) {
  #assistant-surface.assistant-floating,#assistant-surface .msg-ai,#assistant-surface .composer { background:Canvas; color:CanvasText; border:1px solid CanvasText; box-shadow:none; }
  #assistant-surface .msg-user>div:first-child,#assistant-surface .send-btn,#assistant-surface .btn-primary,#assistant-surface .pending-chip { background:ButtonFace; color:ButtonText; border:1px solid ButtonText; }
}
