.assistant-dashboard-panel {
  min-width: 0;
  min-height: 0;
  height: 100%;
  max-width: 100%;
  overflow: hidden;
}

.assistant-workspace {
  --agent-surface: #ffffff;
  --agent-surface-soft: #f5f8f6;
  --agent-surface-tint: #edf6f2;
  --agent-environment: #eef4f1;
  --agent-functional-solid: #f8fbf9;
  --agent-functional-glass: rgba(248, 251, 249, 0.82);
  --agent-content-solid: #ffffff;
  --agent-glass-blur: blur(18px) saturate(128%);
  --agent-line: #e0e8e3;
  --agent-line-strong: #cad9d1;
  --agent-text: #17201c;
  --agent-muted: #66736d;
  --agent-green: #13765d;
  --agent-green-dark: #0d5d49;
  --agent-green-soft: #e8f4ef;
  --agent-success: #13765d;
  --agent-warning: #b4862e;
  --agent-danger: #a34c43;
  --agent-danger-border: #e5b8b1;
  --agent-danger-soft: #fff5f3;
  --agent-info: #4e7895;
  --agent-info-soft: #f1f7fb;
  --agent-warning-soft: #fffaf0;
  --agent-warning-line: #fff0cc;
  --agent-warning-text: #805e1d;
  /* 输入框边框流光：首尾同色保证无缝循环 */
  --agent-border-gradient: linear-gradient(90deg, #2fbf8f, #4f8dff, #a06bff, #ff6b9a, #ffb347, #2fbf8f);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --shadow-sm: 0 7px 18px rgba(21, 49, 38, 0.065);
  --shadow-md: 0 12px 34px rgba(21, 49, 38, 0.08);
  --shadow-lg: 0 24px 70px rgba(20, 49, 39, 0.22);
  position: relative;
  display: grid;
  grid-template-columns: minmax(214px, 244px) minmax(0, 1fr);
  gap: 12px;
  min-width: 0;
  min-height: 0;
  width: 100%;
  max-width: 100%;
  height: 100%;
  overflow: hidden;
  color: var(--agent-text);
  background:
    radial-gradient(circle at 78% 4%, rgba(68, 184, 160, 0.13), transparent 34%),
    radial-gradient(circle at 10% 96%, rgba(210, 163, 78, 0.09), transparent 30%),
    var(--agent-environment);
  isolation: isolate;
}

.assistant-workspace::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  background: radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.72), transparent 34%);
  pointer-events: none;
}

.assistant-workspace > :where(.history-column, .conversation-column, .process-column, .memory-panel) {
  position: relative;
  z-index: 1;
}

.assistant-workspace button,
.assistant-workspace input,
.assistant-workspace textarea,
.assistant-workspace select {
  font: inherit;
}

.assistant-workspace button {
  border: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
  color: var(--agent-text);
  cursor: pointer;
}

.assistant-workspace button:hover {
  transform: none;
}

.assistant-workspace button:disabled {
  cursor: not-allowed;
}

.assistant-workspace button:focus-visible,
.assistant-workspace input:focus-visible,
.assistant-workspace textarea:focus-visible,
.assistant-workspace select:focus-visible,
.assistant-workspace [role="button"]:focus-visible,
.assistant-workspace [tabindex]:not([tabindex="-1"]):focus-visible,
.assistant-workspace .action-link:focus-visible {
  outline: 3px solid #0d6b53;
  outline-offset: 2px;
}

.assistant-workspace [hidden] {
  display: none !important;
}

.assistant-workspace :where(h2, h3, h4, p) {
  margin-top: 0;
}

.assistant-workspace :where(.history-column, .conversation-column, .process-column) {
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  overflow-x: hidden;
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-md);
  background: var(--agent-functional-solid);
}

.assistant-workspace .history-column,
.assistant-workspace .conversation-column,
.assistant-workspace .process-column,
.assistant-workspace .composer,
.assistant-workspace .composer textarea {
  background: var(--agent-functional-solid);
}

.assistant-workspace :where(.history-column, .process-column) {
  padding: 16px;
  overflow: hidden;
}

.assistant-workspace :where(.column-heading, .conversation-header, .process-header) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.assistant-workspace :where(.column-heading h2, .conversation-header h2, .process-header h2) {
  margin-bottom: 0;
  font-size: 16px;
}

.assistant-workspace .eyebrow {
  display: block;
  margin-bottom: 3px;
  color: var(--agent-green);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: 0.1em;
}

.assistant-workspace .icon-button {
  display: grid;
  place-items: center;
  min-width: 44px;
  height: 44px;
  flex: none;
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-md);
  background: var(--agent-surface-soft);
  color: var(--agent-green-dark);
}

.assistant-workspace .icon-button svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.assistant-workspace .agent-toast {
  position: absolute;
  z-index: 60;
  left: 50%;
  bottom: 96px;
  transform: translate(-50%, 8px);
  max-width: min(420px, calc(100% - 32px));
  padding: 10px 16px;
  border-radius: var(--radius-md);
  background: #243b33;
  box-shadow: var(--shadow-md);
  color: #fff;
  font-size: 13px;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}

.assistant-workspace .agent-toast.is-visible {
  transform: translate(-50%, 0);
  opacity: 1;
  visibility: visible;
}

.assistant-workspace .agent-toast[data-kind="success"] {
  background: var(--agent-green-dark);
}

.assistant-workspace .agent-toast[data-kind="error"] {
  background: var(--agent-danger);
}

.assistant-workspace :where(.mobile-history-button, .mobile-history-close) {
  display: none;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-md);
  background: var(--agent-surface-soft);
  color: var(--agent-green-dark);
  font: inherit;
  font-size: 12px;
  font-weight: 760;
  line-height: 1;
  white-space: nowrap;
}

.assistant-workspace .assistant-identity {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 0 2px 8px;
}

.assistant-workspace .assistant-identity-mark {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  flex: none;
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, #168469, #0f5d4b);
  box-shadow: var(--shadow-sm);
}

.assistant-workspace .assistant-identity-mark svg,
.assistant-workspace .empty-state-mark svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.65;
}

.assistant-workspace .assistant-identity div {
  display: grid;
  min-width: 0;
  gap: 1px;
}

.assistant-workspace .assistant-identity strong {
  font-size: 13px;
  letter-spacing: 0.01em;
}

.assistant-workspace .new-conversation-button svg {
  width: 16px;
  height: 16px;
}

.assistant-workspace .new-conversation-button {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  min-height: 40px;
  margin-bottom: 8px;
  border: 0;
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, #1f9a75, #0f5d4b);
  color: #fff;
  font-size: 11.5px;
  font-weight: 720;
  box-shadow: 0 4px 12px rgba(19, 118, 93, 0.26);
  transition:
    box-shadow 160ms ease,
    transform 160ms ease;
}

/* 新对话按钮悬停扫光 */
.assistant-workspace .new-conversation-button::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(115deg, transparent 32%, rgba(255, 255, 255, 0.3) 50%, transparent 68%);
  background-size: 260% 100%;
  background-position: 130% 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 140ms ease;
}

.assistant-workspace .new-conversation-button:hover::after {
  opacity: 1;
  animation: agent-sheen-sweep 0.9s ease;
}

.assistant-workspace .new-conversation-button:active {
  transform: translateY(0) scale(0.985);
}

.assistant-workspace .new-conversation-button:hover {
  box-shadow: 0 7px 18px rgba(19, 118, 93, 0.34);
  transform: translateY(-1px);
}

.assistant-workspace .search-field {
  position: relative;
  display: block;
  margin: 8px 0 6px;
}

.assistant-workspace .search-icon {
  position: absolute;
  top: 50%;
  left: 10px;
  color: #819089;
  font-size: 16px;
  transform: translateY(-52%);
  pointer-events: none;
}

.assistant-workspace .search-icon svg {
  display: block;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.assistant-workspace .search-field input {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-md);
  padding: 9px 30px 9px 31px;
  background: var(--agent-surface-soft);
  color: var(--agent-text);
}

.assistant-workspace .search-field input::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--agent-line-strong);
  cursor: pointer;
  position: relative;
}

.assistant-workspace .search-field input::-webkit-search-cancel-button:hover {
  background: var(--agent-muted);
}

.assistant-workspace .history-column {
  --agent-history-row-height: 32px;
  --agent-history-row-gap: 1px;
  display: flex;
  flex-direction: column;
  padding: 12px 16px 16px;
}

.assistant-workspace .history-section-label {
  padding: 0 7px 3px;
  color: #7d8a83;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.assistant-workspace .history-command-bar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 8px;
}

.assistant-workspace .history-command-bar button {
  display: inline-flex;
  min-width: 0;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-md);
  padding: 5px 8px;
  background: rgba(255, 255, 255, 0.5);
  color: var(--agent-muted);
  font-size: 11.5px;
  font-weight: 680;
  transition:
    background 180ms cubic-bezier(.2, .8, .2, 1),
    border-color 180ms cubic-bezier(.2, .8, .2, 1),
    color 180ms cubic-bezier(.2, .8, .2, 1),
    transform 180ms cubic-bezier(.2, .8, .2, 1);
}

.assistant-workspace .history-command-bar button:hover,
.assistant-workspace .history-command-bar button[aria-pressed="true"] {
  border-color: rgba(19, 118, 93, 0.2);
  background: rgba(232, 244, 239, 0.78);
  color: var(--agent-green-dark);
}

.assistant-workspace .history-command-bar svg,
.assistant-workspace .history-folder-toggle svg,
.assistant-workspace .history-select svg,
.assistant-workspace .conversation-menu-item svg {
  width: 17px;
  height: 17px;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.assistant-workspace .history-organize-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  margin: 0 0 8px;
  border: 1px solid rgba(19, 118, 93, 0.14);
  border-radius: var(--radius-md);
  padding: 7px;
  background: rgba(240, 247, 244, 0.76);
  box-shadow: var(--shadow-sm);
}

.assistant-workspace .history-organize-bar strong {
  width: 100%;
  padding: 0 3px 2px;
  color: var(--agent-green-dark);
  font-size: 11px;
}

.assistant-workspace .history-organize-bar button {
  min-height: 44px;
  flex: 1 1 calc(50% - 3px);
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-md);
  padding: 7px 8px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--agent-muted);
  font-size: 11px;
  font-weight: 680;
}

.assistant-workspace .history-organize-bar button:hover:not(:disabled) {
  border-color: var(--agent-line-strong);
  color: var(--agent-green-dark);
}

.assistant-workspace .history-list {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  display: grid;
  align-content: start;
  gap: var(--agent-history-row-gap);
  margin: 0 0 10px;
  overscroll-behavior: contain;
}

.assistant-workspace .history-row {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: var(--agent-history-row-height);
  align-items: center;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  transition:
    background 180ms cubic-bezier(.2, .8, .2, 1),
    border-color 180ms cubic-bezier(.2, .8, .2, 1),
    box-shadow 180ms cubic-bezier(.2, .8, .2, 1),
    transform 180ms cubic-bezier(.2, .8, .2, 1),
    opacity 180ms cubic-bezier(.2, .8, .2, 1);
}

/* 历史行悬停微动画：右滑 + 亮起 + 左侧光条 */
.assistant-workspace .history-row:hover {
  background: rgba(255, 255, 255, 0.74);
  box-shadow:
    inset 2.5px 0 0 rgba(68, 184, 160, 0.8),
    0 4px 12px rgba(21, 49, 38, 0.07);
  transform: translateX(3px);
}

.assistant-workspace .history-row:hover .history-title {
  color: var(--agent-green-dark);
}

.assistant-workspace .history-row:hover .history-age {
  color: var(--agent-green);
}

.assistant-workspace .history-row.is-current {
  border-color: rgba(19, 118, 93, 0.18);
  background: rgba(221, 241, 234, 0.72);
  box-shadow: inset 2.5px 0 0 var(--agent-green);
}

.assistant-workspace .history-row.is-drop-target,
.assistant-workspace .history-folder-header.is-drop-target {
  border-color: rgba(19, 118, 93, 0.38);
  background: rgba(221, 241, 234, 0.88);
  transform: translateY(1px);
}

.assistant-workspace .history-row.is-dragging,
.assistant-workspace .history-folder-header.is-dragging {
  opacity: 0.46;
}

.assistant-workspace .history-column.is-organizing .history-row {
  grid-template-columns: 44px minmax(0, 1fr);
}

.assistant-workspace .history-open {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  min-height: calc(var(--agent-history-row-height) - 2px);
  border: 0;
  border-radius: var(--radius-md);
  padding: 5px 9px;
  background: transparent;
  color: var(--agent-text);
  text-align: left;
}

.assistant-workspace .history-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color 160ms ease;
}

.assistant-workspace .history-age {
  color: #6f7e76;
  font-size: 11px;
  font-weight: 560;
  white-space: nowrap;
  transition: color 160ms ease;
}

.assistant-workspace .history-row-actions {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin-right: 3px;
  border-radius: var(--radius-sm);
  color: var(--agent-muted);
  opacity: 0;
  transition:
    opacity 120ms ease,
    background 120ms ease,
    color 120ms ease;
}

.assistant-workspace .history-row:hover .history-row-actions,
.assistant-workspace .history-row:focus-within .history-row-actions {
  opacity: 1;
}

.assistant-workspace .history-row-actions:hover {
  background: rgba(255, 255, 255, 0.9);
  color: var(--agent-green-dark);
}

.assistant-workspace .history-row-actions svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
}

.assistant-workspace .history-select {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-md);
  color: #7b8982;
}

.assistant-workspace .history-select[aria-pressed="true"] {
  color: var(--agent-green-dark);
  background: var(--agent-green-soft);
}

.assistant-workspace .history-folder-header {
  box-sizing: border-box;
  display: grid;
  min-height: var(--agent-history-row-height);
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  margin-top: 2px;
}

.assistant-workspace .history-folder-toggle {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  min-width: 0;
  min-height: calc(var(--agent-history-row-height) - 2px);
  align-items: center;
  gap: 7px;
  border-radius: var(--radius-md);
  padding: 5px 8px;
  color: #53625b;
  text-align: left;
}

.assistant-workspace .history-folder-toggle:hover {
  background: rgba(255, 255, 255, 0.48);
}

.assistant-workspace .history-folder-name {
  overflow: hidden;
  font-size: 11px;
  font-weight: 720;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.assistant-workspace .history-folder-count {
  color: #8a9690;
  font-size: 10px;
  font-weight: 600;
}

.assistant-workspace .history-edit-input {
  grid-column: 1 / -1;
  min-width: 0;
  width: 100%;
  height: 44px;
  border: 1px solid var(--agent-green);
  border-radius: var(--radius-sm);
  padding: 0 10px;
  background: #fff;
  color: var(--agent-text);
  font-size: 13px;
  outline: 3px solid rgba(19, 118, 93, 0.13);
}

.assistant-workspace .load-more-history {
  min-height: 44px;
  border-radius: var(--radius-md);
  color: var(--agent-muted);
  font-size: 11px;
  font-weight: 680;
}

.assistant-workspace .load-more-history:hover {
  background: rgba(255, 255, 255, 0.55);
  color: var(--agent-green-dark);
}

.assistant-workspace .conversation-context-menu {
  position: fixed;
  z-index: 110;
  display: grid;
  width: min(176px, calc(100vw - 16px));
  gap: 3px;
  border: 1px solid rgba(202, 217, 209, 0.88);
  border-radius: var(--radius-lg);
  padding: 7px;
  background: rgba(248, 251, 249, 0.94);
  box-shadow: var(--shadow-lg);
  animation: agent-menu-in 160ms cubic-bezier(.2, .8, .2, 1);
}

.assistant-workspace .conversation-menu-item {
  display: flex;
  min-height: 44px;
  align-items: center;
  gap: 9px;
  border-radius: var(--radius-md);
  padding: 8px 10px;
  color: #405049;
  font-size: 12px;
  font-weight: 650;
  text-align: left;
}

.assistant-workspace .conversation-menu-item:hover,
.assistant-workspace .conversation-menu-item:focus-visible {
  background: rgba(232, 244, 239, 0.82);
  color: var(--agent-green-dark);
}

.assistant-workspace .conversation-menu-item.is-danger {
  color: var(--agent-danger);
}

.assistant-workspace .conversation-menu-item.is-danger:hover {
  background: #fff2ef;
}

@keyframes agent-menu-in {
  from {
    opacity: 0;
    transform: translateY(-4px) scale(0.985);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.assistant-workspace .memory-settings-button {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  border: 0;
  border-radius: var(--radius-md);
  padding: 9px 10px;
  background: transparent;
  color: var(--agent-muted);
  font-size: 12px;
  box-shadow: 0 -1px 0 var(--agent-line);
}

.assistant-workspace .memory-settings-button:hover {
  background: var(--agent-surface-soft);
  color: var(--agent-text);
}

.assistant-workspace .section-state {
  padding: 8px 10px;
  border-radius: var(--radius-sm);
  background: #fff4ef;
  color: var(--agent-danger);
  font-size: 11px;
}

.assistant-workspace .conversation-column {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  overflow: hidden;
}

.assistant-workspace .conversation-header {
  min-width: 0;
  padding: 12px 16px;
  border-bottom: 1px solid var(--agent-line);
}

.assistant-workspace .conversation-title {
  display: grid;
  min-width: 0;
  flex: 1 1 auto;
  gap: 4px;
}

.assistant-workspace .conversation-title h2 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.assistant-workspace .conversation-tools {
  display: flex;
  flex: none;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.assistant-workspace .context-tags {
  display: flex;
  max-width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  gap: 4px;
  overflow-x: hidden;
  overflow-y: hidden;
}

.assistant-workspace .context-tag {
  min-width: 0;
  flex: 0 1 auto;
  border: 0;
  border-radius: 999px;
  padding: 2px 7px;
  background: var(--agent-surface-soft);
  color: var(--agent-muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.assistant-workspace .process-open-button {
  display: inline-flex;
  width: auto;
  gap: 6px;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.assistant-workspace .preset-prompts {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  overflow-x: hidden;
  overflow-y: hidden;
  width: min(620px, 100%);
  margin-top: 18px;
}

.assistant-workspace .preset-button {
  position: relative;
  min-width: 0;
  min-height: 36px;
  overflow: hidden;
  border: 1px solid rgba(19, 118, 93, 0.13);
  border-radius: var(--radius-md);
  padding: 7px 12px 7px 14px;
  background:
    linear-gradient(150deg, rgba(255, 255, 255, 0.96), rgba(240, 247, 244, 0.82));
  box-shadow: 0 2px 8px rgba(21, 49, 38, 0.05);
  color: var(--agent-text);
  font-size: 12px;
  line-height: 1.4;
  text-align: left;
  overflow-wrap: anywhere;
  animation: agent-rise 0.45s cubic-bezier(0.2, 0.7, 0.2, 1) backwards;
  transition:
    transform 180ms cubic-bezier(.2, .8, .2, 1),
    box-shadow 180ms cubic-bezier(.2, .8, .2, 1),
    border-color 180ms cubic-bezier(.2, .8, .2, 1),
    color 180ms cubic-bezier(.2, .8, .2, 1);
}

/* 常用问题按钮依次浮入 */
.assistant-workspace .preset-button:nth-child(2) {
  animation-delay: 0.05s;
}

.assistant-workspace .preset-button:nth-child(3) {
  animation-delay: 0.1s;
}

.assistant-workspace .preset-button:nth-child(4) {
  animation-delay: 0.15s;
}

.assistant-workspace .preset-button:nth-child(n + 5) {
  animation-delay: 0.2s;
}

/* 左侧渐变光条：悬停时展开 */
.assistant-workspace .preset-button::before {
  content: "";
  position: absolute;
  left: 0;
  top: 22%;
  bottom: 22%;
  width: 3px;
  border-radius: 3px;
  background: linear-gradient(180deg, #44b8a0, #13765d);
  opacity: 0;
  transform: scaleY(0.35);
  transition:
    opacity 180ms ease,
    transform 220ms cubic-bezier(.2, .8, .2, 1);
}

/* 悬停扫光 */
.assistant-workspace .preset-button::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(115deg, transparent 32%, rgba(255, 255, 255, 0.6) 50%, transparent 68%);
  background-size: 260% 100%;
  background-position: 130% 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 140ms ease;
}

.assistant-workspace .preset-button:hover {
  border-color: rgba(19, 118, 93, 0.32);
  background:
    linear-gradient(150deg, #ffffff, var(--agent-green-soft));
  color: var(--agent-green-dark);
  transform: translateY(-2px);
  box-shadow: 0 9px 22px rgba(19, 118, 93, 0.14);
}

.assistant-workspace .preset-button:hover::before {
  opacity: 1;
  transform: scaleY(1);
}

.assistant-workspace .preset-button:hover::after {
  opacity: 1;
  animation: agent-sheen-sweep 0.9s ease;
}

.assistant-workspace .preset-button:active {
  transform: translateY(0);
  box-shadow: 0 3px 10px rgba(19, 118, 93, 0.1);
}

@keyframes agent-sheen-sweep {
  from {
    background-position: 130% 0;
  }
  to {
    background-position: -130% 0;
  }
}

.assistant-workspace .message-list {
  min-width: 0;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 14px clamp(18px, 5vw, 76px);
  overscroll-behavior: contain;
}

.assistant-workspace .assistant-empty-state {
  position: relative;
  display: flex;
  min-height: 100%;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 36px 10px;
  text-align: center;
}

.assistant-workspace .aurora-field {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: var(--radius-md);
  pointer-events: none;
}

.assistant-workspace .assistant-empty-state > :not(.aurora-field) {
  position: relative;
  z-index: 1;
}

.assistant-workspace .welcome-subtitle {
  margin: 8px 0 24px;
  color: var(--agent-muted);
  font-size: 14px;
  max-width: 480px;
  line-height: 1.5;
}

.assistant-workspace .empty-state-mark {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin-bottom: 17px;
  border-radius: var(--radius-xl);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.22), transparent),
    linear-gradient(145deg, #2aa584, #0f5d4b);
  box-shadow: var(--shadow-sm);
  animation: agent-sparkle-breathe 4s ease-in-out infinite;
}

@keyframes agent-sparkle-breathe {
  0%,
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(68, 184, 160, 0.28);
  }
  50% {
    transform: scale(1.03);
    box-shadow: 0 0 16px 3px rgba(68, 184, 160, 0.2);
  }
}

.assistant-workspace .empty-state-mark svg {
  width: 22px;
  height: 22px;
  fill: #fff;
  stroke: none;
}

.assistant-workspace .assistant-empty-state h3 {
  margin-bottom: 6px;
  font-size: clamp(26px, 3.1vw, 40px);
  letter-spacing: -0.035em;
  /* 渐变文字在逐字 span 上（.greeting-char），h3 自身不再铺背景，
     否则 background-clip:text 会在首字位置画出实体色块 */
}

/* 欢迎页元素交错入场 */
@keyframes agent-rise {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.assistant-workspace .assistant-empty-state > * {
  animation: agent-rise 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) backwards;
}

.assistant-workspace .assistant-empty-state > *:nth-child(2) {
  animation-delay: 0.07s;
}

.assistant-workspace .assistant-empty-state > *:nth-child(3) {
  animation-delay: 0.14s;
}

.assistant-workspace .assistant-empty-state > *:nth-child(4) {
  animation-delay: 0.21s;
}

.assistant-workspace .assistant-empty-state > *:nth-child(5) {
  animation-delay: 0.28s;
}

.assistant-workspace .assistant-empty-state > *:nth-child(6) {
  animation-delay: 0.35s;
}

/* 动态问候语：轮播切换淡隐 + 整句渐变慢速流光（首尾无缝循环）。
   悬停只提亮/微浮，不重启 animation、不改 letter-spacing，避免闪动与回流抖动 */
.assistant-workspace .greeting-heading {
  animation: agent-rise 0.5s 0.07s cubic-bezier(0.2, 0.7, 0.2, 1) backwards;
  transition:
    opacity 450ms ease,
    filter 240ms ease,
    transform 240ms ease;
}

.assistant-workspace .greeting-heading.is-switching {
  opacity: 0;
}

.assistant-workspace .greeting-heading.is-clickable {
  cursor: pointer;
}

.assistant-workspace .greeting-heading.is-clickable:focus-visible {
  outline: 3px solid rgba(19, 118, 93, 0.2);
  outline-offset: 3px;
  border-radius: 6px;
}

.assistant-workspace .assistant-empty-state h3:hover {
  filter: brightness(1.08) saturate(1.06);
  transform: translateY(-1px);
}

/* 悬停逐字跳动：每个字按 --i 顺序延迟起跳，纯 transform 不触发重排。
   整句渐变：渐变铺在字 span 上，background-size 按句长 N 倍放大、
   按 --slice 取各自切片，视觉上仍是横跨整句的一条渐变；
   --greet-shift 注册为可动画自定义属性，统一偏移实现整句流光 */
@property --greet-shift {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 0%;
}

.assistant-workspace .greeting-heading .greeting-char {
  display: inline-block;
  background-image: linear-gradient(100deg, #0f5d4b 0%, #178367 30%, #8fd8c4 50%, #178367 70%, #0f5d4b 100%);
  background-repeat: repeat-x;
  background-size: calc(var(--n, 1) * 100%) 100%;
  background-position: calc(var(--slice, 0%) + var(--greet-shift, 0%)) 0;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: agent-greet-flow 4s linear infinite;
}

.assistant-workspace .greeting-heading:hover .greeting-char {
  animation:
    agent-greet-flow 4s linear infinite,
    agent-char-bounce 0.52s calc(var(--i) * 45ms) cubic-bezier(0.28, 0.84, 0.42, 1) both;
}

@keyframes agent-greet-flow {
  from {
    --greet-shift: 0%;
  }
  to {
    --greet-shift: 200%;
  }
}

@keyframes agent-char-bounce {
  0% {
    transform: translateY(0);
  }
  35% {
    transform: translateY(-8px);
  }
  70% {
    transform: translateY(2px);
  }
  100% {
    transform: translateY(0);
  }
}

/* 星火悬停旋转一周 */
.assistant-workspace .empty-state-mark:hover {
  animation:
    agent-sparkle-spin 0.9s ease,
    agent-sparkle-breathe 4s 0.9s ease-in-out infinite;
}

@keyframes agent-sparkle-spin {
  0% {
    transform: rotate(0deg) scale(1);
  }
  50% {
    transform: rotate(180deg) scale(1.1);
  }
  100% {
    transform: rotate(360deg) scale(1);
  }
}

.assistant-workspace .welcome-subtitle {
  transition: color 200ms ease;
}

.assistant-workspace .welcome-subtitle:hover {
  color: var(--agent-text);
}

.assistant-workspace .assistant-empty-state > p:not(.welcome-subtitle) {
  margin-bottom: 0;
  color: var(--agent-muted);
  font-size: 12px;
}

.assistant-workspace .message {
  display: grid;
  min-width: 0;
  max-width: min(100%, 900px);
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 9px;
  margin: 0 auto 12px;
  /* 消息入场：轻微上浮淡入 */
  animation: agent-message-in 0.28s cubic-bezier(0.2, 0.7, 0.2, 1) backwards;
}

@keyframes agent-message-in {
  from {
    opacity: 0;
    transform: translateY(7px);
  }
}

.assistant-workspace .user-message {
  grid-template-columns: minmax(0, 1fr) 30px;
}

.assistant-workspace .message-avatar {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: var(--radius-sm);
  background: var(--agent-green);
  color: #fff;
  font-size: 10px;
  font-weight: 760;
}

.assistant-workspace .user-message .message-avatar {
  grid-column: 2;
  grid-row: 1;
  background: #dfe8e3;
  color: #405048;
}

.assistant-workspace .message-content {
  min-width: 0;
  width: fit-content;
  max-width: min(100%, 920px);
  font-size: 14px;
  line-height: 1.6;
  overflow-wrap: anywhere;
  position: relative;
}

/* 助手消息正文直排：不套白卡气泡，也不再加绿色左边条 */
.assistant-workspace .assistant-message .message-content {
  width: 100%;
  padding: 1px 0 0;
}

.assistant-workspace .message-content > :last-child {
  margin-bottom: 0;
}

.assistant-workspace .save-analysis-button {
  display: inline-flex;
  align-items: center;
  margin-top: 6px;
  border: 0;
  border-radius: var(--radius-sm);
  padding: 7px 10px;
  background: var(--agent-green-soft);
  color: var(--agent-green-dark);
  font-size: 12px;
  font-weight: 700;
}

.assistant-workspace .save-analysis-button:hover {
  background: #d9eee5;
}

.assistant-workspace .user-message .message-content {
  grid-column: 1;
  grid-row: 1;
  justify-self: end;
  padding: 8px 12px;
  border: 1px solid var(--agent-green);
  border-radius: 12px 12px 4px;
  background: var(--agent-green-soft);
  white-space: pre-wrap;
}

.assistant-workspace .message-content small {
  color: var(--agent-muted);
}

.assistant-workspace .process-message .message-content {
  width: min(100%, 820px);
}

.assistant-workspace .inline-process {
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: visible;
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-md);
  background: var(--agent-surface-soft);
}

.assistant-workspace .inline-process[data-status="running"] {
  border-color: #c8ddd4;
}

.assistant-workspace .inline-process[data-status="blocked"],
.assistant-workspace .inline-process[data-status="failed"] {
  border-color: #ead1cc;
  background: #fff8f6;
}

.assistant-workspace .inline-process-summary {
  display: grid;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  border: 0;
  border-radius: var(--radius-lg);
  padding: 9px 12px;
  background: transparent;
  color: var(--agent-text);
  cursor: pointer;
  text-align: left;
  touch-action: manipulation;
}

.assistant-workspace .inline-process-summary:hover {
  background: rgba(19, 118, 93, 0.055);
}

.assistant-workspace .inline-process-summary-mark,
.assistant-workspace .inline-process-event-mark {
  position: relative;
  display: grid;
  place-items: center;
  flex: none;
  color: var(--agent-green-dark);
}

.assistant-workspace .inline-process-summary-mark {
  width: 17px;
  height: 17px;
  border: 1.5px solid #89b7a7;
  border-radius: 6px;
}

.assistant-workspace .inline-process-summary-mark::before {
  content: "✓";
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
}

.assistant-workspace .inline-process[data-status="running"] .inline-process-summary-mark::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--agent-green);
  animation: agent-process-pulse 1.35s ease-in-out infinite;
}

.assistant-workspace .inline-process[data-status="blocked"] .inline-process-summary-mark::before,
.assistant-workspace .inline-process[data-status="failed"] .inline-process-summary-mark::before {
  content: "!";
  color: var(--agent-danger);
}

.assistant-workspace .inline-process[data-status="cancelled"] .inline-process-summary-mark::before {
  content: "–";
}

.assistant-workspace .inline-process-summary-text {
  min-width: 0;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

/* 分析进行中：摘要文字极光扫光（reduced-motion 下不启用，避免透明文字残留） */
@media (prefers-reduced-motion: no-preference) {
  .assistant-workspace .inline-process[data-status="running"] .inline-process-summary-text {
    background: linear-gradient(90deg, var(--agent-muted) 35%, #178367 50%, var(--agent-muted) 65%);
    background-size: 200% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    animation: agent-text-shimmer 1.6s linear infinite;
  }

  @keyframes agent-text-shimmer {
    from {
      background-position: 200% 0;
    }
    to {
      background-position: -200% 0;
    }
  }
}

.assistant-workspace .inline-process-steps-preview {
  min-width: 0;
  margin: 0 8px 8px 26px;
  padding: 6px 10px;
  border-radius: var(--radius-sm);
  background: var(--agent-surface-soft);
  color: var(--agent-muted);
  font-size: 11px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.assistant-workspace .inline-process-route {
  display: grid;
  min-width: 0;
  gap: 5px;
  margin: 0 8px 8px;
  padding: 9px 10px;
  border: 1px solid color-mix(in srgb, var(--agent-green) 18%, var(--agent-line));
  border-radius: var(--radius-md);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.58), rgba(244, 251, 248, 0.36)),
    var(--agent-surface-soft);
}

.assistant-workspace .inline-process-route-header,
.assistant-workspace .inline-process-route-meta {
  display: flex;
  min-width: 0;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px 8px;
}

.assistant-workspace .inline-process-route-kicker,
.assistant-workspace .inline-process-route-meta {
  color: var(--agent-muted);
  font-size: 10px;
  font-weight: 700;
}

.assistant-workspace .inline-process-route-label {
  color: var(--agent-text);
  font-size: 12px;
  line-height: 1.4;
}

.assistant-workspace .inline-process-route-reasons {
  margin: 0;
  color: var(--agent-muted);
  font-size: 11px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.assistant-workspace .inline-process-route-fallback {
  color: var(--agent-green-dark);
}

.assistant-workspace .inline-process-events {
  display: grid;
  min-width: 0;
  gap: 3px;
  margin: 0;
  padding: 0 8px 9px;
  list-style: none;
}

.assistant-workspace .inline-process-event {
  min-width: 0;
  border-radius: var(--radius-md);
}

.assistant-workspace .inline-process-event[data-status="running"] {
  background: rgba(19, 118, 93, 0.065);
}

.assistant-workspace .inline-process-event-button {
  display: grid;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  grid-template-columns: 14px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: var(--radius-md);
  padding: 7px 8px;
  background: transparent;
  color: var(--agent-text);
  text-align: left;
}

.assistant-workspace .inline-process-event-button:hover {
  background: rgba(19, 118, 93, 0.055);
}

.assistant-workspace .inline-process-event-button[aria-expanded="true"] {
  background: rgba(19, 118, 93, 0.055);
}

.assistant-workspace .inline-process-event-mark {
  width: 12px;
  height: 12px;
  border: 1.5px solid #a7b8b0;
  border-radius: 50%;
}

.assistant-workspace .inline-process-event-mark::before {
  content: "✓";
  font-size: 8px;
  font-weight: 900;
}

.assistant-workspace .inline-process-event[data-status="running"] .inline-process-event-mark::before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--agent-green);
  animation: agent-process-pulse 1.35s ease-in-out infinite;
}

.assistant-workspace .inline-process-event[data-status="blocked"] .inline-process-event-mark::before,
.assistant-workspace .inline-process-event[data-status="failed"] .inline-process-event-mark::before {
  content: "!";
  color: var(--agent-danger);
}

.assistant-workspace .inline-process-event[data-status="cancelled"] .inline-process-event-mark::before,
.assistant-workspace .inline-process-event[data-status="skipped"] .inline-process-event-mark::before {
  content: "–";
}

.assistant-workspace .inline-process-event-copy {
  min-width: 0;
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.assistant-workspace .inline-process-event-status {
  color: var(--agent-muted);
  font-size: 11px;
  white-space: nowrap;
}

.assistant-workspace .inline-process-event-detail {
  display: grid;
  min-width: 0;
  gap: 4px;
  margin: 0 8px 8px 30px;
  padding: 8px 10px;
  border-left: 2px solid color-mix(in srgb, var(--agent-green) 38%, transparent);
  color: var(--agent-muted);
  font-size: 11px;
  line-height: 1.5;
}

.assistant-workspace .inline-process-event-detail-title {
  color: var(--agent-green-dark);
  font-size: 11px;
}

.assistant-workspace .inline-process-event-detail-copy {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.assistant-workspace .inline-process-event-detail-meta {
  color: var(--agent-muted);
  font-size: 10px;
}

.assistant-workspace .inline-process-summary:focus-visible,
.assistant-workspace .inline-process-event-button:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--agent-green) 60%, white);
  outline-offset: 2px;
}

.assistant-workspace .inline-process-business-detail {
  display: grid;
  min-width: 0;
  gap: 7px;
  margin-top: 5px;
  padding: 10px 0 0 10px;
  border-left: 1px solid color-mix(in srgb, var(--agent-green) 28%, transparent);
}

.assistant-workspace .inline-process-business-title {
  color: var(--agent-text);
  font-size: 11px;
  line-height: 1.4;
}

.assistant-workspace .inline-process-business-detail dl {
  display: grid;
  min-width: 0;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 5px 9px;
  margin: 0;
}

.assistant-workspace .inline-process-business-label {
  color: var(--agent-muted);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.45;
}

.assistant-workspace .inline-process-business-value {
  min-width: 0;
  margin: 0;
  color: var(--agent-text);
  font-size: 11px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.assistant-workspace .inline-process-business-empty {
  margin: 0;
  color: var(--agent-muted);
  font-size: 11px;
  line-height: 1.45;
}

.assistant-workspace .assistant-answer:not(:empty) {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--agent-line);
}

@keyframes agent-process-pulse {
  0%,
  100% {
    opacity: 0.42;
    transform: scale(0.86);
  }
  50% {
    opacity: 1;
    transform: scale(1.08);
  }
}

.assistant-workspace .answer-block {
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
  margin: 0 0 10px;
  animation: agent-rise 0.35s cubic-bezier(0.2, 0.7, 0.2, 1) backwards;
}

.assistant-workspace .answer-block:nth-child(2) {
  animation-delay: 0.05s;
}

.assistant-workspace .answer-block:nth-child(3) {
  animation-delay: 0.1s;
}

.assistant-workspace .answer-block:nth-child(4) {
  animation-delay: 0.15s;
}

.assistant-workspace .answer-block:nth-child(5) {
  animation-delay: 0.2s;
}

.assistant-workspace .answer-block:nth-child(n + 6) {
  animation-delay: 0.25s;
}

.assistant-workspace .answer-block > h3 {
  margin-bottom: 7px;
  font-size: 14px;
}

.assistant-workspace .answer-copy {
  white-space: pre-wrap;
}

.assistant-workspace :where(.chart-block, .answer-block-chart) {
  position: relative;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  padding: 11px;
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-md);
  background: var(--agent-content-solid);
}

.assistant-workspace .agent-single-metric {
  display: grid;
  min-width: 0;
  gap: 8px;
  margin: 8px 0;
  padding: 18px;
  border: 1px solid var(--agent-line);
  border-color: color-mix(in srgb, var(--agent-green) 24%, var(--agent-line));
  border-radius: var(--radius-md);
  background:
    linear-gradient(135deg, var(--agent-green-soft), transparent 58%),
    var(--agent-content-solid);
  box-shadow: var(--shadow-sm);
}

.assistant-workspace .agent-single-metric-label {
  color: var(--agent-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.assistant-workspace .agent-single-metric-value {
  color: var(--agent-text);
  font-size: clamp(30px, 6vw, 44px);
  font-weight: 760;
  line-height: 1.05;
  overflow-wrap: anywhere;
}

.assistant-workspace .agent-single-metric-context {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px 12px;
  padding-top: 3px;
  color: var(--agent-muted);
  font-size: 12px;
}

.assistant-workspace .agent-single-metric-status {
  padding: 3px 8px;
  border-radius: 999px;
  background: var(--agent-green-soft);
  color: var(--agent-green);
  font-weight: 700;
}

.assistant-workspace .agent-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  margin: 0 0 6px;
  padding: 0;
  list-style: none;
}

.assistant-workspace .agent-chart-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--agent-muted);
  font-size: 12px;
}

.assistant-workspace .agent-chart-legend-swatch {
  width: 12px;
  height: 12px;
  flex: none;
  border-radius: 3px;
  border: 1px solid rgba(31, 45, 40, 0.18);
}

.assistant-workspace .evidence-chart {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 640 / 240;
  margin: 8px 0;
  overflow: hidden;
}

.assistant-workspace .evidence-chart.chart-comparison-hbar {
  aspect-ratio: auto;
  margin: 2px 0;
}

.assistant-workspace .answer-value-highlight {
  color: var(--agent-green);
  font-weight: 650;
}

.assistant-workspace .evidence-chart rect[data-sign="negative"] {
  fill: #c25e5e;
}

.assistant-workspace .chart-audit-details {
  margin-top: 4px;
}

.assistant-workspace .chart-audit-summary {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--agent-muted);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}

.assistant-workspace .chart-audit-summary::-webkit-details-marker {
  display: none;
}

.assistant-workspace .chart-audit-summary::before {
  content: "▸";
  display: inline-block;
  transition: transform 120ms ease;
}

.assistant-workspace .chart-audit-details[open] .chart-audit-summary::before {
  transform: rotate(90deg);
}

.assistant-workspace .chart-audit-summary:hover {
  color: var(--agent-green-dark);
}

.assistant-workspace .chart-audit-details .agent-table-wrap {
  margin-top: 6px;
}

.assistant-workspace .chart-tooltip {
  position: absolute;
  z-index: 50;
  transform: translate(-50%, -100%);
  padding: 6px 10px;
  border-radius: var(--radius-sm);
  background: var(--agent-text);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity 120ms ease;
}

.assistant-workspace .chart-tooltip.is-visible {
  opacity: 1;
}

.assistant-workspace .chart-mark {
  cursor: pointer;
  transition: transform 100ms ease, filter 100ms ease;
}

.assistant-workspace .chart-mark:hover {
  filter: brightness(1.15);
}

.assistant-workspace .agent-table-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
}

.assistant-workspace .agent-table-context {
  margin: 0 0 6px;
  color: var(--agent-muted);
  font-size: 12px;
}

.assistant-workspace .audit-table {
  width: 100%;
  min-width: 0;
  table-layout: auto;
  border-collapse: collapse;
  background: var(--agent-content-solid);
  font-size: 12px;
}

.assistant-workspace .audit-table :where(th, td) {
  padding: 6px 9px;
  border-bottom: 1px solid var(--agent-line);
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.assistant-workspace .audit-table .is-number {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.assistant-workspace .audit-table .is-date {
  white-space: nowrap;
}

.assistant-workspace .audit-table th {
  background: var(--agent-surface-soft);
  font-weight: 700;
  color: var(--agent-text);
}

.assistant-workspace .audit-table tbody tr:nth-child(even) {
  background: var(--agent-surface-soft);
}

.assistant-workspace .audit-table tbody tr:hover {
  background: var(--agent-green-soft);
}

.assistant-workspace .diagnosis-list {
  display: grid;
  gap: 8px;
}

.assistant-workspace .diagnosis-card {
  padding: 11px;
  border-left: 3px solid var(--agent-green);
  border-radius: var(--radius-sm);
  background: var(--agent-surface-soft);
}

.assistant-workspace .diagnosis-card h4 {
  margin-bottom: 5px;
  font-size: 13px;
}

.assistant-workspace .diagnosis-card p {
  margin-bottom: 5px;
}

.assistant-workspace .diagnosis-facts {
  margin: 6px 0 0;
  padding-left: 18px;
  color: var(--agent-muted);
  font-size: 11px;
}

.assistant-workspace .diagnosis-offer,
.assistant-workspace .cause-tree {
  min-width: 0;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-lg);
  background: #fff;
  overflow-x: hidden;
}

.assistant-workspace .diagnosis-offer h3,
.assistant-workspace .cause-tree h3 {
  margin: 0;
  font-size: 15px;
}

.assistant-workspace .diagnosis-offer-copy,
.assistant-workspace .cause-tree-coverage,
.assistant-workspace .cause-tree-stop,
.assistant-workspace .diagnosis-inline-status {
  margin: 6px 0 0;
  color: var(--agent-muted);
  font-size: 12px;
  line-height: 1.55;
}

.assistant-workspace .diagnosis-targets {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.assistant-workspace .diagnosis-target {
  display: grid;
  min-width: 0;
  gap: 5px;
  color: var(--agent-muted);
  font-size: 11px;
}

.assistant-workspace .diagnosis-target select {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-sm);
  padding: 8px;
  color: var(--agent-text);
  background: #fff;
}

.assistant-workspace .diagnosis-offer-actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.assistant-workspace .diagnosis-action,
.assistant-workspace .cause-tree-toggle {
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-sm);
  padding: 8px 11px;
  color: var(--agent-green-dark);
  background: var(--agent-green-soft);
  cursor: pointer;
}

.assistant-workspace .diagnosis-action-analyze_causes {
  color: #fff;
  border-color: var(--agent-green);
  background: var(--agent-green);
}

.assistant-workspace .diagnosis-action-dismiss {
  color: var(--agent-muted);
  background: #fff;
}

.assistant-workspace .cause-tree-heading {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 10px;
  align-items: start;
}

.assistant-workspace .cause-tree-heading .cause-tree-coverage {
  grid-column: 1;
}

.assistant-workspace .cause-tree-toggle {
  grid-column: 2;
  grid-row: 1 / span 2;
}

.assistant-workspace .diagnosis-rounds {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 12px 0;
  padding: 0;
  list-style: none;
}

.assistant-workspace .diagnosis-rounds li {
  min-width: 0;
  padding: 7px;
  border-radius: var(--radius-sm);
  color: var(--agent-muted);
  background: var(--agent-surface-soft);
  font-size: 11px;
  text-align: center;
  overflow-wrap: anywhere;
}

.assistant-workspace .diagnosis-rounds .is-complete {
  color: var(--agent-green-dark);
  background: var(--agent-green-soft);
}

.assistant-workspace .diagnosis-recommendations {
  display: grid;
  min-width: 0;
  gap: 8px;
  margin-top: 10px;
}

.assistant-workspace .diagnosis-recommendation {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-sm);
  background: var(--agent-green-soft);
  overflow-wrap: anywhere;
}

.assistant-workspace .diagnosis-recommendation-evidence {
  margin-top: 5px;
  color: var(--agent-muted);
  font-size: 11px;
}

.assistant-workspace .answer-metric-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 10px;
  margin: 0 0 10px;
}

.assistant-workspace .answer-metric-grid .answer-block {
  margin: 0;
}

.assistant-workspace .answer-tail {
  display: grid;
  min-width: 0;
  gap: 8px;
  margin: 12px 0 0;
  padding: 10px 12px;
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-md);
  background: var(--agent-surface-soft);
}

.assistant-workspace .answer-tail-row {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 10px;
}

.assistant-workspace .answer-tail-label {
  flex: 0 0 auto;
  min-width: 56px;
  color: var(--agent-muted);
  font-size: 12px;
  font-weight: 600;
}

.assistant-workspace .answer-tail-body {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 8px;
}

.assistant-workspace .answer-tail-body .answer-credibility,
.assistant-workspace .answer-tail-body .answer-sources {
  flex-basis: 100%;
}

.assistant-workspace .answer-state-notice {
  min-width: 0;
  margin-bottom: 10px;
  padding: 10px 12px;
  border: 1px solid var(--agent-line);
  border-left: 3px solid var(--agent-warning);
  border-radius: var(--radius-md);
  background: var(--agent-warning-soft);
  overflow-wrap: anywhere;
}

.assistant-workspace .answer-state-notice[data-notice-kind="clarification"],
.assistant-workspace .answer-state-notice[data-notice-kind="capability"] {
  border-left-color: var(--agent-info);
  background: var(--agent-info-soft);
}

.assistant-workspace .answer-state-notice[data-notice-kind="plugin_fallback"],
.assistant-workspace .answer-state-notice[data-notice-kind="degraded"] {
  border-left-color: var(--agent-danger);
  background: var(--agent-danger-soft);
}

.assistant-workspace .answer-state-more {
  min-width: 0;
  margin: -4px 0 10px;
}

.assistant-workspace .answer-state-more > summary {
  cursor: pointer;
  color: var(--agent-muted);
  font-size: 12px;
  font-weight: 600;
}

.assistant-workspace .answer-state-more .answer-state-notice:last-child {
  margin-bottom: 0;
}

.assistant-workspace .answer-state-notice h3,
.assistant-workspace .answer-state-notice p {
  margin: 0;
}

.assistant-workspace .answer-state-notice h3 {
  font-size: 13px;
}

.assistant-workspace .answer-state-notice p {
  margin-top: 5px;
  color: var(--agent-muted);
  font-size: 12px;
  line-height: 1.55;
}

.assistant-workspace .answer-state-choices {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.assistant-workspace .answer-state-choice {
  min-height: 36px;
  max-width: 100%;
  border: 1px solid var(--agent-line-strong);
  border-radius: 999px;
  padding: 6px 12px;
  color: var(--agent-green-dark);
  background: #fff;
  cursor: pointer;
  overflow-wrap: anywhere;
}

.assistant-workspace .answer-credibility {
  min-width: 0;
  margin: 0;
  color: var(--agent-muted);
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.assistant-workspace .answer-credibility.is-incomplete {
  color: var(--agent-warning-text);
}

.assistant-workspace .answer-sources {
  min-width: 0;
}

.assistant-workspace .answer-sources-summary {
  cursor: pointer;
  color: var(--agent-muted);
  font-size: 12px;
  font-weight: 600;
}

.assistant-workspace .answer-sources .answer-source-list {
  margin-top: 6px;
}

.assistant-workspace .answer-source-list {
  margin: 0;
  padding-left: 0;
  list-style: none;
  color: var(--agent-text);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.assistant-workspace .answer-source-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
  border-bottom: 1px solid var(--agent-line);
}

.assistant-workspace .answer-source-list li:last-child {
  border-bottom: 0;
}

.assistant-workspace .answer-metric-card {
  min-width: 0;
  padding: 13px 15px;
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 8px 22px rgba(29, 72, 54, 0.035);
}

.assistant-workspace .answer-evidence-badge,
.assistant-workspace .answer-evidence-no-data {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 8px;
  margin: 0 0 10px;
  border: 1px solid var(--agent-line-strong);
  border-radius: var(--radius-sm);
  padding: 7px 9px;
  color: var(--agent-muted);
  background: var(--agent-surface-soft);
  font-size: 11px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.assistant-workspace .answer-evidence-badge[data-evidence-status="partial"] {
  border-color: color-mix(in srgb, var(--agent-warning) 52%, var(--agent-line));
  background: #fffaf0;
}

.assistant-workspace .answer-evidence-status,
.assistant-workspace .answer-evidence-no-data strong {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: 2px 7px;
  color: var(--agent-green-dark);
  background: var(--agent-green-soft);
  font-weight: 720;
}

.assistant-workspace .answer-evidence-badge[data-evidence-status="partial"] .answer-evidence-status,
.assistant-workspace .answer-evidence-no-data strong {
  color: #805e1d;
  background: #fff0cc;
}

.assistant-workspace .answer-evidence-reason {
  flex-basis: 100%;
}

.assistant-workspace .answer-metric-strip {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 14px;
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.78);
}

.assistant-workspace .answer-metric-strip-main {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.assistant-workspace .answer-metric-strip-head {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}

.assistant-workspace .answer-metric-period {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: 2px 9px;
  background: var(--agent-green-soft);
  color: var(--agent-green-dark);
  font-size: 11px;
  font-weight: 700;
}

.assistant-workspace .answer-metric-strip .answer-metric-value {
  flex: 0 0 auto;
  margin: 0;
  font-size: 22px;
}

.assistant-workspace .answer-metric-scope-tags {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 6px;
}

.assistant-workspace .answer-metric-strip-main .answer-metric-scope-tags {
  margin-top: 0;
}

.assistant-workspace .answer-scope-tag {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 2px 10px;
  border: 1px solid color-mix(in srgb, var(--agent-green) 28%, var(--agent-line));
  border-radius: 999px;
  background: var(--agent-green-soft);
  color: var(--agent-green-dark);
  font-size: 12px;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.assistant-workspace .answer-scope-tag.is-incomplete {
  border-color: var(--agent-warning-line);
  background: var(--agent-warning-soft);
  color: var(--agent-warning-text);
}

.assistant-workspace .answer-copy-line + .answer-copy-line {
  margin-top: 4px;
}

.assistant-workspace .answer-table-inline {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 6px 18px;
  padding: 8px 12px;
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.78);
}

.assistant-workspace .answer-table-inline-item {
  display: inline-flex;
  min-width: 0;
  align-items: baseline;
  gap: 8px;
}

.assistant-workspace .answer-table-inline-label {
  color: var(--agent-muted);
  font-size: 12px;
  font-weight: 600;
}

.assistant-workspace .answer-table-inline-value {
  color: var(--agent-text);
  font-size: 16px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.assistant-workspace .answer-metric-evidence-note {
  margin: 5px 0 0;
  color: var(--agent-warning-text);
  font-size: 11px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.assistant-workspace .answer-metric-header {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.assistant-workspace .answer-metric-label {
  min-width: 0;
  margin: 0;
  color: var(--agent-text);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
}

.assistant-workspace .answer-metric-status {
  flex: 0 0 auto;
  margin-left: auto;
  border-radius: 999px;
  padding: 3px 8px;
  color: var(--agent-green-dark);
  background: var(--agent-green-soft);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
}

.assistant-workspace .answer-metric-value {
  margin: 6px 0 6px;
  color: var(--agent-text);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}

.assistant-workspace .answer-metric-meta {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 0 9px;
  margin: 0;
  color: var(--agent-muted);
  font-size: 12px;
  line-height: 1.55;
}

.assistant-workspace .answer-metric-meta span + span::before {
  content: "·";
  margin-right: 9px;
  color: var(--agent-line-strong);
}

.assistant-workspace .answer-refund-rate {
  min-width: 0;
  padding: 13px 15px;
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 8px 22px rgba(29, 72, 54, 0.035);
}

.assistant-workspace .answer-refund-rate-label {
  margin: 0;
  color: var(--agent-text);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
}

.assistant-workspace .answer-refund-rate-value {
  margin: 6px 0;
  color: var(--agent-text);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}

.assistant-workspace .answer-refund-rate-unavailable .answer-refund-rate-value {
  color: var(--agent-muted);
  font-size: 20px;
}

.assistant-workspace .answer-refund-rate-range {
  margin: 0;
  color: var(--agent-muted);
  font-size: 12px;
  line-height: 1.5;
}

.assistant-workspace .answer-refund-rate-reason {
  margin: 6px 0 0;
  color: var(--agent-warning-text);
  font-size: 12px;
  line-height: 1.5;
}

.assistant-workspace .answer-refund-rate-detail {
  margin-top: 8px;
}

.assistant-workspace .answer-refund-rate-detail > summary {
  cursor: pointer;
  color: var(--agent-muted);
  font-size: 12px;
  font-weight: 600;
}

.assistant-workspace .answer-refund-rate-detail-body {
  padding-top: 4px;
}

.assistant-workspace .answer-refund-rate-component {
  margin: 3px 0 0;
  color: var(--agent-muted);
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.assistant-workspace .agent-table-truncation {
  margin: 8px 0 0;
  color: var(--agent-warning-text);
  font-size: 12px;
  line-height: 1.5;
}

.assistant-workspace .answer-raw-details {
  margin-top: 9px;
  border: 1px solid color-mix(in srgb, var(--agent-line) 88%, transparent);
  border-radius: var(--radius-md);
  background: rgba(247, 250, 248, 0.56);
  color: var(--agent-muted);
}

.assistant-workspace .answer-raw-summary {
  display: flex;
  min-height: 34px;
  align-items: center;
  gap: 7px;
  padding: 0 11px;
  color: #66766e;
  cursor: pointer;
  font-size: 11px;
  font-weight: 650;
  list-style: none;
}

.assistant-workspace .answer-raw-summary::-webkit-details-marker {
  display: none;
}

.assistant-workspace .answer-raw-summary::before {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform 160ms ease;
}

.assistant-workspace .answer-raw-details[open] .answer-raw-summary::before {
  transform: rotate(225deg) translate(-2px, -1px);
}

.assistant-workspace .answer-raw-list {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 2px 11px 11px;
  border-top: 1px solid color-mix(in srgb, var(--agent-line) 72%, transparent);
}

.assistant-workspace .answer-raw-item {
  display: grid;
  grid-template-columns: minmax(72px, auto) minmax(0, 1fr);
  gap: 9px;
  align-items: baseline;
  font-size: 11px;
  line-height: 1.45;
}

.assistant-workspace .answer-raw-item dt {
  color: #7b8982;
}

.assistant-workspace .answer-raw-item dd {
  min-width: 0;
  margin: 0;
  color: #52625a;
  overflow-wrap: anywhere;
}

.assistant-workspace .answer-source-list li::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  flex: none;
  border-radius: 50%;
  background: var(--agent-success);
}

.assistant-workspace .answer-follow-up-list {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 8px;
}

.assistant-workspace .cause-tree-axes {
  display: grid;
  min-width: 0;
  gap: 8px;
}

.assistant-workspace .cause-axis {
  min-width: 0;
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-md);
  background: var(--agent-surface-soft);
  overflow: hidden;
}

.assistant-workspace .cause-axis summary {
  padding: 10px 12px;
  color: var(--agent-text);
  font-weight: 700;
  cursor: pointer;
}

.assistant-workspace .cause-node-list {
  display: grid;
  min-width: 0;
  gap: 7px;
  padding: 0 9px 9px;
}

.assistant-workspace .cause-node {
  min-width: 0;
  padding: 10px;
  border-radius: var(--radius-sm);
  background: #fff;
  overflow-wrap: anywhere;
}

.assistant-workspace .cause-node[data-status="blocked"] {
  border-left: 3px solid var(--agent-danger);
}

.assistant-workspace .cause-node[data-status="confirmed"],
.assistant-workspace .cause-node[data-status="supported"] {
  border-left: 3px solid var(--agent-green);
}

.assistant-workspace .cause-node h4,
.assistant-workspace .cause-node p {
  margin: 0;
}

.assistant-workspace .cause-node-meta,
.assistant-workspace .cause-node-evidence,
.assistant-workspace .cause-node-stop {
  margin-top: 5px !important;
  color: var(--agent-muted);
  font-size: 11px;
  line-height: 1.5;
}

.assistant-workspace .diagnosis-inline-status {
  color: var(--agent-danger);
}

.assistant-workspace .answer-action-list,
.assistant-workspace .action-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.assistant-workspace .answer-chip,
.assistant-workspace .action-link {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  max-width: 100%;
  padding: 3px 11px;
  border: 1px solid var(--agent-line-strong);
  border-radius: 999px;
  background: var(--agent-surface);
  color: var(--agent-green-dark);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  overflow-wrap: anywhere;
  text-decoration: none;
  transition:
    border-color 140ms ease,
    background 140ms ease;
}

.assistant-workspace .answer-chip:hover:not(:disabled),
.assistant-workspace .action-link:hover {
  border-color: color-mix(in srgb, var(--agent-green) 45%, var(--agent-line));
  background: var(--agent-green-soft);
}

.assistant-workspace .answer-chip:disabled {
  cursor: wait;
  opacity: 0.62;
}

.assistant-workspace .agent-empty {
  color: var(--agent-muted);
  font-size: 11px;
}

.assistant-workspace .topic-context-notice {
  display: flex;
  min-width: 0;
  width: min(860px, calc(100% - 28px));
  max-width: 100%;
  margin: 4px auto 0;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-lg);
  padding: 6px 8px 6px 12px;
  background: var(--agent-surface-soft);
  color: var(--agent-text);
  font-size: 12px;
}

.assistant-workspace .topic-tag-bar { width: min(860px, calc(100% - 28px)); max-width: 100%; margin: 8px auto 0; min-width: 0; }
.assistant-workspace .topic-tag-bar[hidden] { display: none; }
.assistant-workspace .topic-tag-list { display: flex; min-width: 0; gap: 8px; overflow-x: auto; overscroll-behavior-x: contain; padding: 2px 1px 4px; scrollbar-width: thin; }
.assistant-workspace .topic-tag-button,
.assistant-workspace .topic-clarification-button { flex: 0 0 auto; min-width: 0; min-height: 44px; max-width: 176px; overflow: hidden; border: 1px solid var(--agent-line-strong); border-radius: 999px; padding: 0 14px; color: var(--agent-green-dark); background: var(--agent-surface-soft); font: inherit; font-size: 12px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.assistant-workspace .topic-tag-button[aria-pressed="true"] { border-color: var(--agent-green); background: var(--agent-green); color: #fff; }
.assistant-workspace .topic-tag-button:focus-visible,
.assistant-workspace .topic-clarification-button:focus-visible { outline: 3px solid rgba(19, 118, 93, 0.28); outline-offset: 2px; }
.assistant-workspace .topic-tag-button:disabled,
.assistant-workspace .topic-clarification-button:disabled { cursor: wait; opacity: 0.64; }
.assistant-workspace .topic-clarification { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.assistant-workspace .topic-clarification-title { flex-basis: 100%; margin: 0; color: var(--agent-muted); font-size: 13px; }

.assistant-workspace .topic-context-notice[hidden] {
  display: none;
}

.assistant-workspace .topic-context-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.assistant-workspace .topic-context-undo {
  flex: none;
  min-height: 36px;
  border: 1px solid var(--agent-line-strong);
  border-radius: var(--radius-md);
  padding: 0 12px;
  background: #fff;
  color: var(--agent-green-dark);
  font-weight: 700;
  cursor: pointer;
}

.assistant-workspace .topic-context-undo:focus-visible {
  outline: 3px solid rgba(19, 118, 93, 0.2);
  outline-offset: 2px;
}

.assistant-workspace .topic-context-undo:disabled {
  cursor: wait;
  opacity: 0.65;
}

.assistant-workspace .composer {
  position: relative;
  z-index: 0;
  min-width: 0;
  width: min(860px, calc(100% - 28px));
  max-width: 100%;
  margin: 6px auto 10px;
  border: 1.5px solid transparent;
  border-radius: var(--radius-md);
  /* 双层背景：padding-box 铺功能底色，border-box 铺彩虹渐变并循环流动 */
  background: linear-gradient(var(--agent-functional-solid), var(--agent-functional-solid)) padding-box, var(--agent-border-gradient) border-box;
  background-size: auto, 200% 100%;
  animation: agent-border-flow 6s linear infinite;
  transition:
    border-color 150ms ease,
    box-shadow 150ms ease;
}

/* 流光发散光晕：边框同款渐变的外扩模糊副本，与边框同速流动；
   只放大光晕范围，不改变边框粗细 */
.assistant-workspace .composer::before {
  content: "";
  position: absolute;
  inset: -6px;
  z-index: -1;
  border-radius: calc(var(--radius-md) + 6px);
  background: var(--agent-border-gradient);
  background-size: 200% 100%;
  animation: agent-border-glow-flow 6s linear infinite;
  filter: blur(16px);
  opacity: 0.5;
}

/* 光晕只留外圈：实色盖住光晕进入内容区的部分，textarea 玻璃底下保持干净 */
.assistant-workspace .composer::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: calc(var(--radius-md) - 1.5px);
  background: var(--agent-functional-solid);
}

@keyframes agent-border-glow-flow {
  from {
    background-position: 0% 0;
  }
  to {
    background-position: 200% 0;
  }
}

@keyframes agent-border-flow {
  from {
    background-position: 0 0, 0% 0;
  }
  to {
    background-position: 0 0, 200% 0;
  }
}

/* 聚焦反馈：无任何框线，只留贴边微光；textarea 自身的 focus 描边在容器内关闭 */
.assistant-workspace .composer:focus-within {
  box-shadow: 0 0 10px rgba(68, 184, 160, 0.18);
}

.assistant-workspace .composer textarea:focus-visible {
  outline: none;
}

.assistant-workspace .composer textarea {
  display: block;
  width: 100%;
  min-height: 40px;
  max-height: 130px;
  resize: none;
  border: 0;
  /* 直角不透明背景收进容器圆角：替代 overflow 裁剪，避免遮挡外扩光晕 */
  border-radius: calc(var(--radius-md) - 1.5px) calc(var(--radius-md) - 1.5px) 0 0;
  padding: 10px 14px 5px;
  background: var(--agent-functional-solid);
  color: var(--agent-text);
  caret-color: var(--agent-green);
}

.assistant-workspace .composer textarea::placeholder {
  color: #93a29a;
}

.assistant-workspace .composer-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 3px 7px 5px 10px;
  color: var(--agent-muted);
  font-size: 11px;
}

.assistant-workspace .composer-tools {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  align-items: center;
  gap: 6px;
  overflow: hidden;
}

.assistant-workspace .composer-select {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  max-width: 168px;
  flex: 0 1 auto;
}

.assistant-workspace .composer-select select {
  width: auto;
  min-width: 0;
  max-width: 100%;
  height: 32px;
  border: 1px solid var(--agent-line);
  border-radius: 999px;
  padding: 0 23px 0 10px;
  background:
    var(--agent-surface-soft)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7a72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")
    no-repeat right 8px center / 11px;
  appearance: none;
  -webkit-appearance: none;
  color: var(--agent-text);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.assistant-workspace .composer-select select:hover {
  border-color: var(--agent-line-strong);
  color: var(--agent-text);
}

.assistant-workspace .composer-select select:focus-visible {
  outline: none;
  border-color: rgba(19, 118, 93, 0.45);
}

.assistant-workspace .composer-select select:disabled {
  cursor: default;
  opacity: 0.72;
}

.assistant-workspace .send-button {
  flex: none;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  padding: 0;
  background: linear-gradient(135deg, #1f9a75, #0f5d4b);
  color: #fff;
  transition:
    background 150ms ease,
    opacity 150ms ease,
    box-shadow 150ms ease,
    transform 100ms ease;
}

.assistant-workspace .send-button.is-empty {
  background: #9db4ab;
  cursor: default;
  opacity: 0.55;
}

.assistant-workspace .send-button:not(.is-empty):hover {
  box-shadow: 0 6px 16px rgba(19, 118, 93, 0.38);
}

.assistant-workspace .send-button:not(.is-empty):active {
  transform: scale(0.92);
}

.assistant-workspace .send-button svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.assistant-workspace .send-button[data-mode="stop"] svg {
  fill: currentColor;
  stroke: none;
}

.assistant-workspace .composer-hint {
  color: var(--agent-muted);
  font-size: 10px;
  white-space: nowrap;
  opacity: 0;
  transition: opacity 150ms ease;
}

.assistant-workspace .composer:focus-within .composer-hint {
  opacity: 0.7;
}

.assistant-workspace .process-column {
  position: absolute;
  z-index: 24;
  top: 0;
  right: 0;
  bottom: 0;
  display: grid;
  width: min(370px, calc(100% - 24px));
  grid-template-rows: auto minmax(0, 1fr);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 160ms ease, visibility 160ms ease;
  box-shadow: -12px 0 45px rgba(17, 48, 36, 0.15);
}

.assistant-workspace .process-column.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.assistant-workspace .process-scroll-region {
  min-width: 0;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding-right: 4px;
  overscroll-behavior: contain;
}

.assistant-workspace .process-scroll-region > section {
  padding: 12px 0;
  border-top: 1px solid var(--agent-line);
}

.assistant-workspace .process-scroll-region > section:first-child {
  border-top: 0;
}

.assistant-workspace .process-column h3 {
  margin-bottom: 8px;
  font-size: 12px;
}

.assistant-workspace .process-stage-list {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.assistant-workspace .process-stage {
  padding: 8px;
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-sm);
  background: #fff;
}

.assistant-workspace .process-stage[data-status="running"] {
  border-color: #8fc4b1;
  background: var(--agent-green-soft);
}

.assistant-workspace .process-stage[data-status="blocked"],
.assistant-workspace .process-stage[data-status="failed"] {
  border-color: var(--agent-danger-border);
  background: #fff5f3;
}

.assistant-workspace .process-stage[data-status="skipped"] {
  opacity: 0.64;
}

.assistant-workspace .process-stage.is-selected {
  border-color: var(--agent-green);
  outline: 3px solid rgba(19, 118, 93, 0.12);
  outline-offset: 1px;
}

.assistant-workspace .process-stage-head {
  display: grid;
  grid-template-columns: 8px minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
}

.assistant-workspace .process-stage-head strong {
  font-size: 12px;
}

.assistant-workspace .process-stage-head small {
  color: var(--agent-muted);
  font-size: 12px;
}

.assistant-workspace .process-stage-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #bdc8c2;
}

.assistant-workspace .process-stage[data-status="running"] .process-stage-dot,
.assistant-workspace .process-stage[data-status="completed"] .process-stage-dot {
  background: var(--agent-green);
}

.assistant-workspace .process-stage-summary {
  margin: 7px 0 0 14px;
  color: var(--agent-muted);
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.assistant-workspace .process-stage-elapsed {
  display: block;
  margin: 4px 0 0 14px;
  color: var(--agent-muted);
  font-size: 11px;
}

.assistant-workspace :where(.evidence-context, .plain-list, .drill-path, .action-list) {
  min-width: 0;
  color: var(--agent-muted);
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.assistant-workspace :where(.plain-list, .drill-path) {
  padding-left: 18px;
}

.assistant-workspace .memory-panel {
  position: absolute;
  z-index: 20;
  inset: 10px 10px 10px auto;
  width: min(380px, calc(100% - 20px));
  padding: 16px;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-lg);
  background: #fff;
  box-shadow: var(--shadow-lg);
}

.assistant-workspace .clear-history-button {
  width: 100%;
  min-height: 44px;
  margin-top: 16px;
  border: 1px solid var(--agent-danger-border);
  border-radius: var(--radius-sm);
  padding: 8px 10px;
  background: #fff7f5;
  color: var(--agent-danger);
}

.assistant-workspace .memory-panel header,
.assistant-workspace .memory-row {
  display: flex;
  min-width: 0;
  max-width: 100%;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.assistant-workspace .memory-row {
  padding: 8px 0;
  border-bottom: 1px solid var(--agent-line);
  font-size: 11px;
  overflow-wrap: anywhere;
}

/* ── 收藏分析可折叠条目 ── */
.assistant-workspace .memory-case {
  display: block;
}
.assistant-workspace .memory-case-head {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.assistant-workspace .memory-row .memory-case-toggle {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--agent-text);
  text-align: left;
}
.assistant-workspace .memory-case-toggle svg {
  width: 14px;
  height: 14px;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 160ms ease;
}
.assistant-workspace .memory-case-toggle[aria-expanded="true"] svg {
  transform: rotate(90deg);
}
.assistant-workspace .memory-case-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.assistant-workspace .memory-case-content {
  margin-top: 6px;
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-sm);
  padding: 8px 10px;
  background: rgba(245, 248, 252, 0.6);
  color: #5a6d78;
  line-height: 1.65;
  white-space: pre-wrap;
  word-break: break-word;
}

.assistant-workspace dialog {
  width: min(420px, 90vw);
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-md);
  padding: 18px;
}

.assistant-workspace dialog label {
  display: block;
  margin-bottom: 6px;
  color: var(--agent-muted);
  font-size: 12px;
  font-weight: 680;
}

.assistant-workspace dialog input {
  width: 100%;
  min-height: 44px;
  margin-bottom: 16px;
  border: 1px solid var(--agent-line-strong);
  border-radius: var(--radius-md);
  padding: 8px 10px;
  background: var(--agent-content-solid);
  color: var(--agent-text);
}

.assistant-workspace dialog::backdrop {
  background: rgba(15, 28, 23, 0.28);
}

.assistant-workspace .dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.assistant-workspace .dialog-actions button {
  min-height: 44px;
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-sm);
  padding: 7px 12px;
  background: #fff;
}

.assistant-workspace .dialog-actions .danger-button {
  border-color: var(--agent-danger);
  background: var(--agent-danger);
  color: #fff;
}

.assistant-workspace :where(
  .diagnosis-action,
  .cause-tree-toggle,
  .save-analysis-button,
  .memory-row button
) {
  min-height: 44px;
}

.assistant-workspace .memory-row button {
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-sm);
  padding: 0 12px;
  background: var(--agent-content-solid);
  color: var(--agent-danger);
}

.assistant-workspace .dialog-actions button:not(.danger-button) {
  color: var(--agent-text);
}

@media (max-width: 1180px) {
  .assistant-workspace {
    grid-template-columns: minmax(0, 1fr);
  }

  .assistant-workspace .history-column {
    position: fixed;
    z-index: 45;
    inset: 8px auto 8px 8px;
    display: flex;
    width: min(300px, calc(100% - 16px));
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 160ms ease, visibility 160ms ease;
    box-shadow: 16px 0 50px rgba(15, 44, 33, 0.22);
  }

  .assistant-workspace .history-column.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }

  .assistant-workspace .mobile-history-button,
  .assistant-workspace .mobile-history-close {
    display: inline-flex;
    min-height: 44px;
  }
}

/* ---- 全局互动增强：统一品牌绿系反馈，色系克制 ---- */

.assistant-workspace .process-stage-head {
  border-radius: var(--radius-sm);
  transition: background 140ms ease;
}

.assistant-workspace .process-stage-head:hover {
  background: rgba(232, 244, 239, 0.7);
}

.assistant-workspace .cause-axis summary {
  transition: background 140ms ease;
}

.assistant-workspace .cause-axis summary:hover {
  background: rgba(232, 244, 239, 0.6);
}

.assistant-workspace .answer-raw-summary:hover {
  color: var(--agent-green-dark);
}

.assistant-workspace .audit-table tbody tr {
  transition: background 120ms ease;
}

.assistant-workspace .composer-select select:hover {
  background-color: var(--agent-green-soft);
}

.assistant-workspace .save-analysis-button {
  transition:
    transform 140ms ease,
    box-shadow 140ms ease,
    background 140ms ease;
}

.assistant-workspace .save-analysis-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(19, 118, 93, 0.14);
}

.assistant-workspace .diagnosis-card {
  transition: box-shadow 140ms ease;
}

.assistant-workspace .diagnosis-card:hover {
  box-shadow: 0 4px 14px rgba(19, 118, 93, 0.08);
}

.assistant-workspace .agent-single-metric,
.assistant-workspace .answer-metric-card {
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease;
}

.assistant-workspace .agent-single-metric:hover,
.assistant-workspace .answer-metric-card:hover {
  border-color: rgba(19, 118, 93, 0.32);
  box-shadow: 0 6px 18px rgba(19, 118, 93, 0.08);
}

@media (max-width: 1180px), (pointer: coarse) {
  .assistant-workspace .history-column {
    --agent-history-row-height: 44px;
  }

  .assistant-workspace .new-conversation-button,
  .assistant-workspace .history-command-bar button,
  .assistant-workspace .search-field input {
    min-height: 44px;
  }

  .assistant-workspace .composer-select select {
    height: 44px;
  }

  .assistant-workspace .answer-state-choice,
  .assistant-workspace .answer-chip {
    min-height: 44px;
  }
}

/* composer 单独处理：保留彩虹流光边框，仅把 padding-box 层换成玻璃底/实色底 */
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .assistant-workspace .history-column,
  .assistant-workspace .conversation-column,
  .assistant-workspace .process-column,
  .assistant-workspace .composer textarea {
    background: var(--agent-functional-glass);
    -webkit-backdrop-filter: var(--agent-glass-blur);
    backdrop-filter: var(--agent-glass-blur);
  }

  .assistant-workspace .composer {
    background: linear-gradient(var(--agent-functional-solid), var(--agent-functional-solid)) padding-box, var(--agent-border-gradient) border-box;
    background-size: auto, 200% 100%;
    -webkit-backdrop-filter: var(--agent-glass-blur);
    backdrop-filter: var(--agent-glass-blur);
  }

  .assistant-workspace .conversation-context-menu,
  .assistant-workspace .history-organize-bar {
    -webkit-backdrop-filter: blur(20px) saturate(132%);
    backdrop-filter: blur(20px) saturate(132%);
  }
}

@media (prefers-reduced-transparency: reduce) {
  .assistant-workspace .history-column,
  .assistant-workspace .conversation-column,
  .assistant-workspace .process-column,
  .assistant-workspace .composer textarea {
    background: var(--agent-functional-solid);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .assistant-workspace .composer {
    background: linear-gradient(var(--agent-functional-solid), var(--agent-functional-solid)) padding-box, var(--agent-border-gradient) border-box;
    background-size: auto, 200% 100%;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .assistant-workspace .conversation-context-menu,
  .assistant-workspace .history-organize-bar {
    background: var(--agent-functional-solid);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

@media (max-width: 760px) {
  .assistant-workspace {
    height: 100%;
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    overflow: hidden;
  }

  .assistant-workspace .mobile-history-close {
    margin-left: auto;
  }

  .assistant-workspace .history-column.is-open ~ .conversation-column .mobile-history-button {
    display: none;
  }

  .assistant-workspace .conversation-column {
    min-height: 0;
  }

  .assistant-workspace .conversation-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "title history"
      "tools tools";
    gap: 8px;
    padding-inline: 11px;
  }

  .assistant-workspace .conversation-title {
    grid-area: title;
  }

  .assistant-workspace .mobile-history-button {
    grid-area: history;
  }

  .assistant-workspace .conversation-tools {
    grid-area: tools;
    justify-self: end;
  }

  .assistant-workspace .context-tags {
    max-width: 100%;
  }

  .assistant-workspace .process-column {
    position: fixed;
    z-index: 40;
    inset: 8px;
    width: auto;
    max-height: none;
  }

  .assistant-workspace .process-column.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }

  .assistant-workspace .message-list {
    padding-inline: 12px;
    padding-bottom: 22px;
  }

  .assistant-workspace .inline-process-event-button {
    grid-template-columns: 14px minmax(0, 1fr);
  }

  .assistant-workspace .inline-process-event-status {
    grid-column: 2;
  }

  .assistant-workspace .inline-process-event-detail {
    margin-left: 22px;
  }

  .assistant-workspace .inline-process-business-detail dl {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }

  .assistant-workspace .inline-process-business-label {
    margin-top: 4px;
  }

  .assistant-workspace .preset-prompts {
    grid-template-columns: minmax(0, 1fr);
    width: min(420px, 100%);
  }

  .assistant-workspace .composer textarea {
    min-height: 44px;
  }

  .assistant-workspace .composer {
    width: calc(100% - 16px);
    margin-inline: auto;
  }

  .assistant-workspace .composer-footer {
    align-items: center;
    flex-direction: row;
  }

  .assistant-workspace .composer-tools {
    max-width: calc(100% - 44px);
    gap: 4px;
  }

  .assistant-workspace .composer-select {
    max-width: calc(50% - 2px);
  }

  .assistant-workspace .composer-select select {
    min-height: 44px;
  }

  .assistant-workspace .icon-button {
    min-width: 44px;
    height: 44px;
  }

  .assistant-workspace .send-button {
    width: 44px;
    height: 44px;
  }

  .assistant-workspace .audit-table,
  .assistant-workspace .audit-table :where(tbody, tr, td) {
    display: block;
    width: 100%;
  }

  .assistant-workspace .audit-table thead {
    display: none;
  }

  .assistant-workspace .audit-table tr {
    margin-bottom: 8px;
    overflow: hidden;
    border: 1px solid var(--agent-line);
    border-radius: var(--radius-sm);
    background: #fff;
  }

  .assistant-workspace .audit-table td {
    display: grid;
    grid-template-columns: minmax(78px, 34%) minmax(0, 1fr);
    gap: 8px;
    border-bottom: 1px solid var(--agent-line);
  }

  .assistant-workspace .audit-table td:last-child {
    border-bottom: 0;
  }

  .assistant-workspace .audit-table td::before {
    content: attr(data-label);
    color: var(--agent-muted);
    font-weight: 700;
  }
}

@media (max-width: 760px) {
  .assistant-workspace .diagnosis-targets,
  .assistant-workspace .diagnosis-rounds {
    grid-template-columns: 1fr;
  }

  .assistant-workspace .cause-tree-heading {
    grid-template-columns: 1fr;
  }

  .assistant-workspace .cause-tree-toggle {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .assistant-workspace .process-column,
  .assistant-workspace .inline-process-summary-mark::before,
  .assistant-workspace .inline-process-event-mark::before,
  .assistant-workspace .history-row,
  .assistant-workspace .history-command-bar button,
  .assistant-workspace .conversation-context-menu,
  .assistant-workspace .composer,
  .assistant-workspace .assistant-empty-state > *,
  .assistant-workspace .empty-state-mark,
  .assistant-workspace .answer-block,
  .assistant-workspace .message,
  .assistant-workspace .preset-button,
  .assistant-workspace .preset-button::before,
  .assistant-workspace .preset-button::after,
  .assistant-workspace .new-conversation-button,
  .assistant-workspace .new-conversation-button::after,
  .assistant-workspace .answer-reasoning-live-body::after,
  .assistant-workspace .greeting-char,
  .assistant-workspace .composer::before {
    transition: none;
    animation: none !important;
  }
}

/* ── thinking chain (reasoning_content) collapsible ── */
.assistant-workspace .answer-reasoning {
  margin-bottom: 10px;
  border: 1px solid color-mix(in srgb, var(--agent-line) 80%, transparent);
  border-radius: var(--radius-md);
  background: rgba(245, 248, 252, 0.6);
}
.assistant-workspace .answer-reasoning-summary {
  display: flex; min-height: 34px; align-items: center; gap: 7px;
  padding: 0 11px; color: #6b7f8a; cursor: pointer;
  font-size: 12px; font-weight: 650; list-style: none;
}
.assistant-workspace .answer-reasoning-summary::-webkit-details-marker { display: none; }
.assistant-workspace .answer-reasoning-summary::before {
  content: ""; width: 6px; height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform 160ms ease;
}
.assistant-workspace .answer-reasoning[open] .answer-reasoning-summary::before {
  transform: rotate(225deg) translate(-2px, -1px);
}
.assistant-workspace .answer-reasoning-body {
  padding: 2px 11px 11px;
  border-top: 1px solid color-mix(in srgb, var(--agent-line) 72%, transparent);
  color: #5a6d78; font-size: 12.5px; line-height: 1.65;
  white-space: pre-wrap; word-break: break-word;
  max-height: 400px; overflow-y: auto;
}

/* ── live thinking stream（reasoning SSE 事件逐字展示，与 answer-reasoning 同色同形） ── */
.assistant-workspace .answer-reasoning-live {
  margin-bottom: 10px;
  border: 1px solid color-mix(in srgb, var(--agent-line) 80%, transparent);
  border-radius: var(--radius-md);
  background: rgba(245, 248, 252, 0.6);
}
.assistant-workspace .answer-reasoning-live-header {
  display: flex; min-height: 34px; align-items: center; gap: 7px;
  padding: 0 11px; color: #6b7f8a;
  font-size: 12px; font-weight: 650;
}
.assistant-workspace .answer-reasoning-live-body {
  padding: 2px 11px 11px;
  border-top: 1px solid color-mix(in srgb, var(--agent-line) 72%, transparent);
  color: #5a6d78; font-size: 12.5px; line-height: 1.65;
  white-space: pre-wrap; word-break: break-word;
  max-height: 400px; overflow-y: auto;
}
.assistant-workspace .answer-reasoning-live:not(.is-complete) .answer-reasoning-live-body::after {
  content: "";
  display: inline-block;
  width: 7px; height: 13px;
  margin-left: 2px;
  vertical-align: -2px;
  background: var(--agent-green);
  animation: agent-reasoning-cursor 0.9s steps(2, start) infinite;
}

/* ── intent outcome status card ── */
.assistant-workspace .intent-outcome-card {
  margin: 12px 0 0;
  padding: 10px 12px;
  border: 1px solid var(--agent-line);
  border-radius: var(--radius-md);
  background: rgba(245, 248, 252, 0.7);
  overflow-wrap: anywhere;
}
.assistant-workspace .intent-outcome-card.is-partial,
.assistant-workspace .intent-outcome-card.is-degraded { border-color: #d9a441; }
.assistant-workspace .intent-outcome-card.is-blocked,
.assistant-workspace .intent-outcome-card.is-capability-gap { border-color: #c98282; }
.assistant-workspace .intent-outcome-title { margin: 0; color: #36535f; font-size: 12px; font-weight: 700; }
.assistant-workspace .intent-outcome-summary,
.assistant-workspace .intent-outcome-scope { margin: 5px 0 0; color: #5a6d78; font-size: 12px; line-height: 1.55; }
.assistant-workspace .intent-outcome-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.assistant-workspace .intent-outcome-actions a { color: var(--agent-green); font-size: 12px; font-weight: 650; }
@keyframes agent-reasoning-cursor {
  to { visibility: hidden; }
}
