@tailwind base;
@tailwind components;
@tailwind utilities;

/* Theme CSS Custom Properties */

:root {
  /* Dark theme (default) - Midnight Slate palette (cool indigo undertone) */
  --color-surface: #12131a;
  /* Main background — deep midnight */
  --color-surface-raised: #1c1d26;
  /* Active/Selected items — cool slate */
  --color-surface-overlay: #1c1d26;
  /* Overlay surfaces */
  --color-surface-sidebar: #0c0d13;
  /* Sidebar — deepest navy-black */
  --color-border: rgba(148, 163, 184, 0.07);
  /* Borders — slate-tinted */
  --color-border-subtle: rgba(148, 163, 184, 0.05);
  /* Subtle borders */
  --color-border-emphasis: rgba(148, 163, 184, 0.12);
  /* Emphasis borders */
  --color-text: #f1f5f9;
  --color-text-secondary: #94a3b8;
  --color-text-muted: #64748b;
  --color-accent: #818cf8;
  /* Accent — indigo-400, visible on dark surfaces */
  /* Scrollbar colors */
  --scrollbar-thumb: rgba(148, 163, 184, 0.15);
  --scrollbar-thumb-hover: rgba(148, 163, 184, 0.25);
  --scrollbar-thumb-active: rgba(148, 163, 184, 0.35);
  /* Search highlights */
  --highlight-bg: rgba(202, 138, 4, 0.7);
  --highlight-bg-inactive: rgba(113, 63, 18, 0.5);
  --highlight-text: #fef9c3;
  --highlight-text-inactive: #fef08a;
  --highlight-ring: #facc15;
  /* User chat bubble — orange (Claude Code) */
  --chat-user-bg: #1c1d26;
  --chat-user-text: #94a3b8;
  --chat-user-border: rgba(249, 115, 22, 0.2);
  --chat-user-shadow: 0 1px 0 0 rgba(249, 115, 22, 0.06);
  /* User bubble inline tags */
  --chat-user-tag-bg: rgba(249, 115, 22, 0.12);
  --chat-user-tag-text: #fb923c;
  --chat-user-tag-border: rgba(249, 115, 22, 0.2);
  /* Tool items */
  --tool-item-name: #e2e8f0;
  --tool-item-summary: #94a3b8;
  --tool-item-muted: #64748b;
  --tool-item-hover-bg: rgba(28, 29, 38, 0.6);
  /* System chat bubble */
  --chat-system-bg: rgba(28, 29, 38, 0.6);
  --chat-system-text: #cbd5e1;
  /* AI message styling */
  --chat-ai-border: rgba(148, 163, 184, 0.06);
  --chat-ai-icon: #64748b;
  /* Code blocks — midnight slate */
  --code-bg: #171822;
  --code-header-bg: #171822;
  --code-border: rgba(148, 163, 184, 0.1);
  --code-line-number: #475569;
  --code-filename: #818cf8;
  /* Syntax highlighting — cooler accents */
  --syntax-string: #4ade80;
  --syntax-comment: #64748b;
  --syntax-number: #fb923c;
  --syntax-keyword: #c084fc;
  --syntax-type: #fbbf24;
  --syntax-operator: #94a3b8;
  --syntax-function: #818cf8;
  /* Inline code */
  --inline-code-bg: rgba(148, 163, 184, 0.08);
  --inline-code-text: #e2e8f0;
  /* URL badge (textarea overlay) */
  --url-badge-bg: rgba(37, 99, 235, 0.12);
  --url-badge-border: rgba(96, 165, 250, 0.22);
  --url-badge-text: #bfdbfe;
  /* Diff viewer */
  --diff-added-bg: rgba(34, 197, 94, 0.15);
  --diff-added-text: #4ade80;
  --diff-added-border: #22c55e;
  --diff-removed-bg: rgba(239, 68, 68, 0.15);
  --diff-removed-text: #f87171;
  --diff-removed-border: #ef4444;
  /* CodeMirror diff backgrounds */
  --diff-cm-changed-bg: #1a3a1a;
  --diff-cm-deleted-bg: #241517;
  /* CodeMirror merge buttons */
  --diff-merge-undo-color: var(--color-text);
  --diff-merge-undo-bg: var(--color-surface-raised);
  --diff-merge-undo-border: var(--color-border);
  --diff-merge-undo-hover-bg: rgba(255, 255, 255, 0.1);
  --diff-merge-keep-color: #3fb950;
  --diff-merge-keep-bg: rgba(46, 160, 67, 0.25);
  --diff-merge-keep-border: rgba(46, 160, 67, 0.4);
  --diff-merge-keep-hover-bg: rgba(46, 160, 67, 0.4);
  --diff-merge-keep-kbd: rgba(63, 185, 80, 0.7);
  /* CodeMirror merge nav button hover */
  --diff-merge-nav-hover-bg: rgba(255, 255, 255, 0.08);
  /* Portion collapse expand buttons */
  --diff-expand-hover-bg: rgba(255, 255, 255, 0.06);
  --diff-expand-active-bg: rgba(255, 255, 255, 0.1);
  --diff-expand-all-hover-bg: rgba(255, 255, 255, 0.04);
  --diff-expand-all-active-bg: rgba(255, 255, 255, 0.08);
  /* Markdown prose */
  --prose-heading: #f8fafc;
  --prose-body: #f1f5f9;
  --prose-muted: #94a3b8;
  --prose-link: #818cf8;
  --prose-code-bg: rgba(148, 163, 184, 0.08);
  --prose-code-text: #e2e8f0;
  --prose-pre-bg: #171822;
  --prose-pre-border: rgba(148, 163, 184, 0.1);
  --prose-blockquote-border: rgba(148, 163, 184, 0.1);
  --prose-table-border: rgba(148, 163, 184, 0.06);
  --prose-table-header-bg: #1c1d26;
  /* Thinking blocks — slightly more vibrant purple */
  --thinking-bg: rgba(88, 28, 135, 0.22);
  --thinking-border: rgba(107, 33, 168, 0.4);
  --thinking-text: #d8b4fe;
  --thinking-text-muted: #e9d5ff;
  --thinking-content-border: rgba(107, 33, 168, 0.3);
  --thinking-content-text: #f3e8ff;
  /* Tool call blocks */
  --tool-call-bg: rgba(120, 53, 15, 0.2);
  --tool-call-border: rgba(146, 64, 14, 0.4);
  --tool-call-text: #fcd34d;
  --tool-call-code-bg: rgba(69, 26, 3, 0.5);
  --tool-call-content-border: rgba(146, 64, 14, 0.3);
  /* Tool result blocks */
  --tool-result-success-bg: rgba(20, 83, 45, 0.2);
  --tool-result-success-border: rgba(22, 101, 52, 0.4);
  --tool-result-success-text: #86efac;
  --tool-result-error-bg: rgba(127, 29, 29, 0.2);
  --tool-result-error-border: rgba(153, 27, 27, 0.4);
  --tool-result-error-text: #fca5a5;
  /* Output blocks */
  --output-bg: rgba(23, 24, 34, 0.5);
  --output-border: #2d3044;
  --output-text: #e2e8f0;
  --output-content-border: rgba(45, 48, 68, 0.5);
  /* Badges */
  --badge-error-bg: #dc2626;
  --badge-error-text: #ffffff;
  /* Field-level validation */
  --field-error-text: #fca5a5;
  --field-error-border: rgba(239, 68, 68, 0.5);
  --field-error-bg: rgba(127, 29, 29, 0.15);
  --badge-warning-bg: #ca8a04;
  --badge-warning-text: #ffffff;
  --badge-success-bg: #16a34a;
  --badge-success-text: #ffffff;
  --badge-info-bg: #4f46e5;
  --badge-info-text: #ffffff;
  --badge-neutral-bg: #2a2c38;
  --badge-neutral-text: #e2e8f0;
  /* Language/tag badges */
  --tag-bg: #1c1d26;
  --tag-text: #94a3b8;
  --tag-border: rgba(148, 163, 184, 0.06);
  /* Highlighted text (skills, paths) */
  --skill-highlight-bg: rgba(148, 163, 184, 0.08);
  --skill-highlight-text: #e2e8f0;
  --path-highlight-bg: rgba(148, 163, 184, 0.08);
  --path-highlight-text: #e2e8f0;
  /* Interruption badge */
  --interruption-bg: rgba(127, 29, 29, 0.3);
  --interruption-border: #b91c1c;
  --interruption-text: #fca5a5;
  /* Warning/Amber colors (for interruption banner) */
  --warning-bg: rgba(245, 158, 11, 0.15);
  --warning-border: rgba(245, 158, 11, 0.4);
  --warning-text: #fbbf24;
  /* Plan exit/Green colors (for ExitPlanMode) */
  --plan-exit-bg: rgba(34, 197, 94, 0.05);
  --plan-exit-header-bg: rgba(34, 197, 94, 0.1);
  --plan-exit-border: rgba(34, 197, 94, 0.25);
  --plan-exit-text: #4ade80;
  /* Error highlight (pulsing) */
  --error-highlight-ring: #ef4444;
  --error-highlight-bg: rgba(239, 68, 68, 0.2);
  /* Keyboard hints */
  --kbd-bg: #1c1d26;
  --kbd-border: rgba(148, 163, 184, 0.1);
  --kbd-text: #cbd5e1;
  /* Subagent/Card styling */
  --card-bg: #0f1018;
  --card-bg-zebra: #14151f;
  --card-border: #1c1d26;
  --card-header-bg: #151620;
  --card-header-hover: #1a1b26;
  --card-icon-muted: #475569;
  --card-text-light: #cbd5e1;
  --card-text-lighter: #e2e8f0;
  --card-separator: #2a2c38;
  /* System activity messages */
  --system-activity-bg: rgba(59, 130, 246, 0.06);
  --system-activity-border: rgba(59, 130, 246, 0.12);
  --system-activity-accent: rgba(96, 165, 250, 0.5);
  /* Cross-team communication */
  --cross-team-bg: rgba(168, 85, 247, 0.06);
  --cross-team-border: rgba(168, 85, 247, 0.12);
  --cross-team-accent: rgba(192, 132, 252, 0.5);
  /* Info style — banners, status indicators */
  --info-bg: rgba(59, 130, 246, 0.08);
  --info-border: rgba(59, 130, 246, 0.25);
  --info-text: #60a5fa;
  /* Assessment severity colors (badges, health indicators) */
  --assess-good: #4ade80;
  --assess-warning: #fbbf24;
  --assess-danger: #f87171;
  --assess-neutral: #a1a1aa;
  /* Sticky Context button — indigo glass */
  --context-btn-bg: rgba(148, 163, 184, 0.08);
  --context-btn-bg-hover: rgba(148, 163, 184, 0.14);
  --context-btn-active-bg: rgba(99, 102, 241, 0.5);
  --context-btn-active-text: #e0e7ff;
  /* Skeleton — cool midnight */
  --skeleton-base: #1a1c28;
  --skeleton-base-light: #23252f;
  --skeleton-base-dim: rgba(26, 28, 40, 0.6);
  /* Provisioning step badges */
  --step-done-bg: rgba(16, 185, 129, 0.1);
  --step-done-border: rgba(52, 211, 153, 0.6);
  --step-done-text: #6ee7b7;
  --step-current-bg: rgba(99, 102, 241, 0.15);
  --step-current-border: rgba(129, 140, 248, 0.7);
  --step-current-text: #f1f5f9;
  --step-error-text: #fca5a5;
  --step-error-text-dim: rgba(252, 165, 165, 0.8);
  --step-success-text: #6ee7b7;
  --step-warning-text: #fde68a;
  --step-warning-border: rgba(245, 158, 11, 0.4);
  --step-warning-bg: rgba(245, 158, 11, 0.1);
  /* Circular stepper */
  --stepper-done: #22c55e;
  --stepper-done-glow: rgba(34, 197, 94, 0.3);
  --stepper-current: #22c55e;
  --stepper-current-ring: rgba(34, 197, 94, 0.25);
  --stepper-pending: rgba(255, 255, 255, 0.15);
  --stepper-pending-text: #71717a;
  --stepper-pending-border: rgba(255, 255, 255, 0.12);
  --stepper-line: rgba(255, 255, 255, 0.08);
  --stepper-line-done: #22c55e;
  --stepper-label: #a1a1aa;
  --stepper-label-active: #fafafa;
  --stepper-error: #ef4444;
  --stepper-error-glow: rgba(239, 68, 68, 0.3);
  --stepper-label-error: #fca5a5;
  /* Collapsible section backgrounds (sidebar) */
  --color-section-bg: rgba(255, 255, 255, 0.04);
  --color-section-bg-open: rgba(255, 255, 255, 0.07);
  --color-section-hover: rgba(255, 255, 255, 0.08);
  --color-section-hover-open: rgba(255, 255, 255, 0.1);
  /* Compact boundary — phase badge */
  --compact-phase-bg: rgba(99, 102, 241, 0.15);
  --compact-phase-text: #818cf8;
}

.kanban-grid-layout {
  min-height: 0;
  overflow: visible;
  transition: none;
}

.kanban-grid-layout .react-grid-item {
  transition: none;
  overflow: visible;
}

.kanban-grid-item-wrapper {
  height: 100%;
}

.kanban-grid-resize-handle {
  position: absolute;
  z-index: 20;
}

.kanban-grid-resize-handle::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  background: rgba(129, 140, 248, 0.55);
  opacity: 0;
}

.kanban-grid-layout .react-grid-item:hover .kanban-grid-resize-handle::after,
.kanban-grid-layout
  .react-grid-item.react-grid-placeholder
  + .react-grid-item
  .kanban-grid-resize-handle::after {
  animation: kanban-grid-handle-fade-in 120ms ease forwards;
  animation-delay: 1s;
}

.kanban-grid-layout .react-grid-item.resizing .kanban-grid-resize-handle::after {
  animation: none;
  opacity: 1;
}

@keyframes kanban-grid-handle-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes kanban-focus-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(96, 165, 250, 0.6);
    background-color: rgba(96, 165, 250, 0.15);
  }
  14% {
    box-shadow: 0 0 16px 6px rgba(96, 165, 250, 0.5);
    background-color: rgba(96, 165, 250, 0.12);
  }
  28% {
    box-shadow: 0 0 0 0 rgba(96, 165, 250, 0.1);
    background-color: rgba(96, 165, 250, 0.02);
  }
  42% {
    box-shadow: 0 0 14px 5px rgba(96, 165, 250, 0.45);
    background-color: rgba(96, 165, 250, 0.1);
  }
  56% {
    box-shadow: 0 0 0 0 rgba(96, 165, 250, 0.1);
    background-color: rgba(96, 165, 250, 0.02);
  }
  70% {
    box-shadow: 0 0 10px 4px rgba(96, 165, 250, 0.3);
    background-color: rgba(96, 165, 250, 0.06);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(96, 165, 250, 0);
    background-color: transparent;
  }
}

.kanban-card-focus-pulse {
  animation: kanban-focus-pulse 2.2s ease-out;
  outline: 2px solid rgba(96, 165, 250, 0.6);
  outline-offset: -1px;
}

.kanban-grid-resize-handle-n,
.kanban-grid-resize-handle-s {
  left: 50%;
  width: 36px;
  height: 6px;
  transform: translateX(-50%);
  cursor: ns-resize;
}

.kanban-grid-resize-handle-n {
  top: 0;
}

.kanban-grid-resize-handle-s {
  bottom: 0;
}

.kanban-grid-resize-handle-e,
.kanban-grid-resize-handle-w {
  top: 50%;
  width: 6px;
  height: 36px;
  transform: translateY(-50%);
  cursor: ew-resize;
}

.kanban-grid-resize-handle-e {
  right: 0;
}

.kanban-grid-resize-handle-w {
  left: 0;
}

.kanban-grid-resize-handle-ne,
.kanban-grid-resize-handle-nw,
.kanban-grid-resize-handle-se,
.kanban-grid-resize-handle-sw {
  width: 9px;
  height: 9px;
}

.kanban-grid-resize-handle-ne {
  top: 0;
  right: 0;
  cursor: nesw-resize;
}

.kanban-grid-resize-handle-nw {
  top: 0;
  left: 0;
  cursor: nwse-resize;
}

.kanban-grid-resize-handle-se {
  right: 0;
  bottom: 0;
  cursor: nwse-resize;
}

.kanban-grid-resize-handle-sw {
  left: 0;
  bottom: 0;
  cursor: nesw-resize;
}

/* File icon glow — halo so dark icons stay visible on dark backgrounds */

.file-icon-glow {
  filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.45));
}

/* Provider logos - keep verified brand marks legible on dark provider cards */

.runtime-provider-brand-icon {
  background-color: var(
    --runtime-provider-brand-background,
    var(--runtime-provider-brand-fallback-background, rgba(148, 163, 184, 0.12))
  );
  border-color: var(
    --runtime-provider-brand-border,
    var(--runtime-provider-brand-fallback-border, rgba(148, 163, 184, 0.28))
  );
  color: var(--runtime-provider-brand-fallback-color, inherit);
}

.runtime-provider-brand-icon > img {
  filter: var(--runtime-provider-brand-image-filter, none);
}

:root:not(.light) .runtime-provider-brand-icon {
  --runtime-provider-brand-background: rgba(15, 23, 42, 0.72);
  --runtime-provider-brand-border: rgba(226, 232, 240, 0.2);
  --runtime-provider-brand-mark: #f8fafc;
  --runtime-provider-brand-image-filter: invert(1);
  color: var(--runtime-provider-brand-mark);
}

:root.light .runtime-provider-brand-icon {
  --runtime-provider-brand-image-filter: none;
}

/* Light theme overrides - Warm neutral palette for eye comfort */

:root.light {
  --color-surface: #f9f9f7;
  /* Warm off-white (not pure white) */
  --color-surface-raised: #e8e6e3;
  /* Warm raised surface — stronger contrast for visible hover */
  --color-surface-overlay: #e8e7e4;
  /* Warm overlay */
  --color-surface-sidebar: #f1f0ee;
  /* Warm sidebar, distinct from main */
  --color-border: #d5d3cf;
  /* Warm neutral border */
  --color-border-subtle: #e3e1dd;
  /* Warm subtle border */
  --color-border-emphasis: #a8a5a0;
  /* Warm emphasis border */
  --color-text: #1c1b19;
  /* Warm near-black text */
  --color-text-secondary: #4d4b46;
  /* Warm secondary text */
  --color-text-muted: #6d6b65;
  /* Warm muted text */
  --color-accent: #4f46e5;
  /* Accent — indigo-600, visible on light surfaces */
  /* Assessment severity colors - darker for light backgrounds */
  --assess-good: #16a34a;
  --assess-warning: #d97706;
  --assess-danger: #dc2626;
  --assess-neutral: #57534e;
  /* Scrollbar colors for light mode */
  --scrollbar-thumb: rgba(0, 0, 0, 0.15);
  --scrollbar-thumb-hover: rgba(0, 0, 0, 0.28);
  --scrollbar-thumb-active: rgba(0, 0, 0, 0.4);
  /* Search highlights - High saturation yellow */
  --highlight-bg: #facc15;
  --highlight-bg-inactive: #fef08a;
  --highlight-text: #1c1917;
  --highlight-text-inactive: #422006;
  --highlight-ring: #ca8a04;
  /* User chat bubble - orange (Claude Code) */
  --chat-user-bg: #eae9e6;
  --chat-user-text: #5a5955;
  --chat-user-border: rgba(249, 115, 22, 0.35);
  --chat-user-shadow: 0 1px 2px 0 rgba(249, 115, 22, 0.08);
  /* User bubble inline tags */
  --chat-user-tag-bg: rgba(249, 115, 22, 0.12);
  --chat-user-tag-text: #c2410c;
  --chat-user-tag-border: rgba(249, 115, 22, 0.25);
  /* Tool items - Warm high contrast */
  --tool-item-name: #1c1b19;
  --tool-item-summary: #4d4b46;
  --tool-item-muted: #6d6b65;
  --tool-item-hover-bg: #eae9e6;
  /* System chat bubble */
  --chat-system-bg: #eae9e6;
  --chat-system-text: #3a3935;
  /* AI message styling */
  --chat-ai-border: #d5d3cf;
  --chat-ai-icon: #6d6b65;
  /* Code blocks - Warm light theme */
  --code-bg: #f0efed;
  --code-header-bg: #eae9e6;
  --code-border: #d5d3cf;
  --code-line-number: #a8a5a0;
  --code-filename: #2563eb;
  /* Syntax highlighting - GitHub Light inspired */
  --syntax-string: #0a3069;
  --syntax-comment: #6e7781;
  --syntax-number: #0550ae;
  --syntax-keyword: #cf222e;
  --syntax-type: #8250df;
  --syntax-operator: #24292f;
  --syntax-function: #8250df;
  /* Inline code - Warm neutral */
  --inline-code-bg: rgba(0, 0, 0, 0.05);
  --inline-code-text: #3a3935;
  /* URL badge (textarea overlay) - Light mode */
  --url-badge-bg: rgba(37, 99, 235, 0.1);
  --url-badge-border: rgba(37, 99, 235, 0.25);
  --url-badge-text: #1d4ed8;
  /* Diff viewer - Light mode */
  --diff-added-bg: rgba(34, 197, 94, 0.18);
  --diff-added-text: #14532d;
  --diff-added-border: #16a34a;
  --diff-removed-bg: rgba(239, 68, 68, 0.09);
  --diff-removed-text: #7f1d1d;
  --diff-removed-border: #dc2626;
  /* CodeMirror diff backgrounds - Light mode */
  --diff-cm-changed-bg: rgba(34, 197, 94, 0.14);
  --diff-cm-deleted-bg: rgba(239, 68, 68, 0.07);
  /* CodeMirror merge buttons - Light mode */
  --diff-merge-undo-color: #991b1b;
  --diff-merge-undo-bg: rgba(239, 68, 68, 0.08);
  --diff-merge-undo-border: rgba(239, 68, 68, 0.3);
  --diff-merge-undo-hover-bg: rgba(239, 68, 68, 0.15);
  --diff-merge-keep-color: #15803d;
  --diff-merge-keep-bg: rgba(34, 197, 94, 0.15);
  --diff-merge-keep-border: rgba(34, 197, 94, 0.4);
  --diff-merge-keep-hover-bg: rgba(34, 197, 94, 0.25);
  --diff-merge-keep-kbd: rgba(21, 128, 61, 0.6);
  /* CodeMirror merge nav button hover - Light mode */
  --diff-merge-nav-hover-bg: rgba(0, 0, 0, 0.06);
  /* Portion collapse expand buttons - Light mode */
  --diff-expand-hover-bg: rgba(0, 0, 0, 0.05);
  --diff-expand-active-bg: rgba(0, 0, 0, 0.08);
  --diff-expand-all-hover-bg: rgba(0, 0, 0, 0.03);
  --diff-expand-all-active-bg: rgba(0, 0, 0, 0.06);
  /* Markdown prose - Warm tones */
  --prose-heading: #1c1b19;
  --prose-body: #2a2925;
  --prose-muted: #6d6b65;
  --prose-link: #2563eb;
  --prose-code-bg: rgba(0, 0, 0, 0.05);
  --prose-code-text: #3a3935;
  --prose-pre-bg: #f0efed;
  --prose-pre-border: #d5d3cf;
  --prose-blockquote-border: #d5d3cf;
  --prose-table-border: #e3e1dd;
  --prose-table-header-bg: #eae9e6;
  /* Thinking blocks - Warm purple */
  --thinking-bg: #f9f5fe;
  --thinking-border: #d8b4fe;
  --thinking-text: #6b21a8;
  --thinking-text-muted: #7c3aed;
  --thinking-content-border: #e9d5ff;
  --thinking-content-text: #581c87;
  /* Tool call blocks - Warm amber */
  --tool-call-bg: #fefbf0;
  --tool-call-border: #f0d070;
  --tool-call-text: #92400e;
  --tool-call-code-bg: #fdf3d0;
  --tool-call-content-border: #f0d888;
  /* Tool result blocks */
  --tool-result-success-bg: #f0fdf4;
  --tool-result-success-border: #86efac;
  --tool-result-success-text: #166534;
  --tool-result-error-bg: #fef2f2;
  --tool-result-error-border: #fca5a5;
  --tool-result-error-text: #991b1b;
  /* Output blocks */
  --output-bg: #f0efed;
  --output-border: #d5d3cf;
  --output-text: #2a2925;
  --output-content-border: #d5d3cf;
  /* Badges - High contrast */
  --badge-error-bg: #dc2626;
  --badge-error-text: #ffffff;
  /* Field-level validation */
  --field-error-text: #b91c1c;
  --field-error-border: rgba(220, 38, 38, 0.6);
  --field-error-bg: rgba(254, 202, 202, 0.3);
  --badge-warning-bg: #d97706;
  --badge-warning-text: #ffffff;
  --badge-success-bg: #16a34a;
  --badge-success-text: #ffffff;
  --badge-info-bg: #2563eb;
  --badge-info-text: #ffffff;
  --badge-neutral-bg: #e3e1dd;
  --badge-neutral-text: #3a3935;
  /* Language/tag badges - Warm neutral */
  --tag-bg: #eae9e6;
  --tag-text: #4d4b46;
  --tag-border: #d5d3cf;
  /* Highlighted text (skills, paths) - Warm neutral */
  --skill-highlight-bg: rgba(0, 0, 0, 0.05);
  --skill-highlight-text: #3a3935;
  --path-highlight-bg: rgba(0, 0, 0, 0.05);
  --path-highlight-text: #3a3935;
  /* Interruption badge */
  --interruption-bg: #fef2f2;
  --interruption-border: #f87171;
  --interruption-text: #b91c1c;
  /* Warning/Amber colors (for interruption banner) */
  --warning-bg: #fef3c7;
  --warning-border: #f59e0b;
  --warning-text: #b45309;
  /* Plan exit/Green colors (for ExitPlanMode) */
  --plan-exit-bg: #f0fdf4;
  --plan-exit-header-bg: #dcfce7;
  --plan-exit-border: #86efac;
  --plan-exit-text: #15803d;
  /* Error highlight (pulsing) */
  --error-highlight-ring: #dc2626;
  --error-highlight-bg: rgba(220, 38, 38, 0.15);
  /* Keyboard hints */
  --kbd-bg: #eae9e6;
  --kbd-border: #a8a5a0;
  --kbd-text: #3a3935;
  /* Subagent/Card styling - Warm light mode */
  --card-bg: #f9f9f7;
  --card-bg-zebra: #f2f1ee;
  --card-border: #d5d3cf;
  --card-header-bg: #f0efed;
  --card-header-hover: #eae9e6;
  --card-icon-muted: #a8a5a0;
  --card-text-light: #3a3935;
  --card-text-lighter: #2a2925;
  --card-separator: #d5d3cf;
  /* System activity messages */
  --system-activity-bg: rgba(59, 130, 246, 0.08);
  --system-activity-border: rgba(59, 130, 246, 0.25);
  --system-activity-accent: rgba(37, 99, 235, 0.7);
  /* Cross-team communication */
  --cross-team-bg: rgba(168, 85, 247, 0.08);
  --cross-team-border: rgba(168, 85, 247, 0.25);
  --cross-team-accent: rgba(124, 58, 237, 0.7);
  /* Info style — banners, status indicators */
  --info-bg: rgba(59, 130, 246, 0.1);
  --info-border: rgba(37, 99, 235, 0.3);
  --info-text: #2563eb;
  /* Sticky Context button - transparent glass */
  --context-btn-bg: rgba(0, 0, 0, 0.06);
  --context-btn-bg-hover: rgba(0, 0, 0, 0.1);
  --context-btn-active-bg: rgba(99, 102, 241, 0.35);
  --context-btn-active-text: #3730a3;
  /* Skeleton — tinted cool gray */
  --skeleton-base: #d6d8de;
  --skeleton-base-light: #cdd0d7;
  --skeleton-base-dim: rgba(205, 208, 215, 0.6);
  /* Provisioning step badges — dark enough for light backgrounds */
  --step-done-bg: rgba(16, 185, 129, 0.12);
  --step-done-border: rgba(5, 150, 105, 0.5);
  --step-done-text: #047857;
  --step-current-bg: rgba(79, 70, 229, 0.1);
  --step-current-border: rgba(79, 70, 229, 0.5);
  --step-current-text: #1c1b19;
  --step-error-text: #dc2626;
  --step-error-text-dim: rgba(220, 38, 38, 0.7);
  --step-success-text: #047857;
  --step-warning-text: #b45309;
  --step-warning-border: rgba(180, 83, 9, 0.4);
  --step-warning-bg: rgba(245, 158, 11, 0.1);
  /* Circular stepper — light */
  --stepper-done: #16a34a;
  --stepper-done-glow: rgba(22, 163, 74, 0.2);
  --stepper-current: #16a34a;
  --stepper-current-ring: rgba(22, 163, 74, 0.18);
  --stepper-pending: rgba(0, 0, 0, 0.06);
  --stepper-pending-text: #a1a1aa;
  --stepper-pending-border: rgba(0, 0, 0, 0.1);
  --stepper-line: rgba(0, 0, 0, 0.08);
  --stepper-line-done: #16a34a;
  --stepper-label: #71717a;
  --stepper-label-active: #18181b;
  --stepper-error: #dc2626;
  --stepper-error-glow: rgba(220, 38, 38, 0.2);
  --stepper-label-error: #dc2626;
  /* Collapsible section backgrounds (sidebar) */
  --color-section-bg: rgba(0, 0, 0, 0.04);
  --color-section-bg-open: rgba(0, 0, 0, 0.07);
  --color-section-hover: rgba(0, 0, 0, 0.08);
  --color-section-hover-open: rgba(0, 0, 0, 0.1);
  /* Compact boundary — phase badge */
  --compact-phase-bg: rgba(67, 56, 202, 0.12);
  --compact-phase-text: #4338ca;
}

/* rehype-highlight (highlight.js) — map hljs classes to app theme variables */

.hljs {
  color: var(--color-text);
  background: transparent;
}

.hljs-keyword,
.hljs-selector-tag {
  color: var(--syntax-keyword);
}

.hljs-addition {
  color: var(--diff-added-text);
}

.hljs-string,
.hljs-doctag {
  color: var(--syntax-string);
}

.hljs-comment,
.hljs-quote {
  color: var(--syntax-comment);
  font-style: italic;
}

.hljs-number,
.hljs-literal {
  color: var(--syntax-number);
}

.hljs-built_in,
.hljs-type,
.hljs-class .hljs-title {
  color: var(--syntax-type);
}

.hljs-title.function_,
.hljs-function .hljs-title {
  color: var(--syntax-function);
}

.hljs-params,
.hljs-attr,
.hljs-variable,
.hljs-template-variable,
.hljs-attribute {
  color: var(--color-text);
}

.hljs-symbol,
.hljs-bullet,
.hljs-subst,
.hljs-meta,
.hljs-meta .hljs-keyword,
.hljs-selector-attr,
.hljs-selector-pseudo,
.hljs-link,
.hljs-regexp {
  color: var(--syntax-operator);
}

.hljs-deletion {
  color: var(--diff-removed-text);
}

.hljs-section {
  font-weight: 600;
  color: var(--syntax-keyword);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: var(--color-surface);
}

body {
  width: 100%;
  height: 100%;
  overflow: hidden;
  font-family:
    -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell',
    'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: var(--color-surface);
  color: var(--color-text);
}

body.theme-transitioning {
  transition:
    background-color 0.2s ease,
    color 0.2s ease;
}

#root {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background-color: var(--color-surface);
}

/* macOS window integration */

.sidebar-header {
  -webkit-app-region: drag;
  -webkit-user-select: none;
}

.sidebar-header button,
.sidebar-header input,
.sidebar-header .no-drag {
  -webkit-app-region: no-drag;
}

button,
input,
textarea,
select,
a[href],
[role='button'],
[role='combobox'],
[role='menuitem'],
[role='tab'],
[role='textbox'],
[contenteditable='true'] {
  -webkit-app-region: no-drag;
}

/* Prevent drag region bleed-through on Windows: all fixed overlays must be no-drag */

.fixed {
  -webkit-app-region: no-drag;
}

/* Hide horizontal scrollbar in tab bar */

.scrollbar-none {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.scrollbar-none::-webkit-scrollbar {
  display: none;
}

/* Custom scrollbar styling for dark theme */

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb);
  border-radius: 4px;
  transition: background 0.2s ease;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--scrollbar-thumb-hover);
}

::-webkit-scrollbar-thumb:active {
  background: var(--scrollbar-thumb-active);
}

/* Firefox scrollbar */

* {
  scrollbar-width: thin;
  scrollbar-color: var(--scrollbar-thumb) transparent;
}

/* Thin scrollbar for narrow panels (sidebar, search) */

.scrollbar-thin::-webkit-scrollbar {
  width: 6px;
}

.scrollbar-thin::-webkit-scrollbar-thumb {
  border-radius: 3px;
}

/* Dashboard skeleton shimmer animation */

@keyframes shimmer {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}

@keyframes skeleton-fade-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes chat-message-enter {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.chat-message-enter-animate {
  animation: chat-message-enter 350ms ease-out both;
}

@keyframes thought-expand {
  from {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
  }
  to {
    max-height: 500px;
    opacity: 1;
  }
}

.thought-expand-in {
  animation: thought-expand 350ms ease-out both;
}

@keyframes activity-card-enter {
  from {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
  }
  to {
    max-height: 80px;
    opacity: 1;
  }
}

.activity-card-enter-animate {
  animation: activity-card-enter 300ms ease-out both;
}

@keyframes att-scale-in {
  from {
    transform: scale(0);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

.skeleton-card {
  animation: skeleton-fade-in 0.4s ease-out both;
  position: relative;
  overflow: hidden;
}

.skeleton-card::after {
  content: '';
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.06) 40%,
    rgba(255, 255, 255, 0.1) 50%,
    rgba(255, 255, 255, 0.06) 60%,
    transparent 100%
  );
  animation: shimmer 1.2s ease-in-out infinite;
}

:root.light .file-icon-glow {
  filter: none;
}

/* Member spawn animations */

@keyframes member-spawn-pulse {
  0%,
  100% {
    opacity: 0.7;
  }
  50% {
    opacity: 0.45;
  }
}

/* Skeleton-style shimmer for waiting members: a translucent light sweep */
.member-waiting-shimmer {
  position: relative;
  overflow: hidden;
  opacity: 0.65;
}
.member-waiting-shimmer::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.06) 45%,
    rgba(255, 255, 255, 0.1) 50%,
    rgba(255, 255, 255, 0.06) 55%,
    transparent 100%
  );
  background-size: 200% 100%;
  animation: member-shimmer-sweep 2s ease-in-out infinite;
  pointer-events: none;
  border-radius: inherit;
}
:root.light .member-waiting-shimmer::after {
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(0, 0, 0, 0.04) 45%,
    rgba(0, 0, 0, 0.07) 50%,
    rgba(0, 0, 0, 0.04) 55%,
    transparent 100%
  );
  background-size: 200% 100%;
  animation: member-shimmer-sweep 2s ease-in-out infinite;
}
@keyframes member-shimmer-sweep {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

@keyframes dot-online-jelly {
  0% {
    transform: scale(1);
  }
  25% {
    transform: scale(1.6);
  }
  45% {
    transform: scale(0.85);
  }
  65% {
    transform: scale(1.15);
  }
  80% {
    transform: scale(0.95);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes member-fade-in {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

:root.light .skeleton-card::after {
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(0, 0, 0, 0.04) 40%,
    rgba(0, 0, 0, 0.07) 50%,
    rgba(0, 0, 0, 0.04) 60%,
    transparent 100%
  );
}

/* Per-element shimmer — fast, high-contrast sweep */

.skeleton-shimmer {
  position: relative;
  overflow: hidden;
}

.skeleton-shimmer::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  transform: translateX(-100%);
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.06) 40%,
    rgba(255, 255, 255, 0.1) 50%,
    rgba(255, 255, 255, 0.06) 60%,
    transparent 100%
  );
  animation: shimmer 1.2s ease-in-out infinite;
}

:root.light .skeleton-shimmer::after {
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(0, 0, 0, 0.04) 40%,
    rgba(0, 0, 0, 0.07) 50%,
    rgba(0, 0, 0, 0.04) 60%,
    transparent 100%
  );
}

/* Optional field label — muted text for non-required form fields */

.label-optional {
  color: var(--color-text-muted);
}

/* Checkerboard background for transparent image previews */

.checkerboard-bg {
  background-image:
    linear-gradient(45deg, #1a1a2e 25%, transparent 25%),
    linear-gradient(-45deg, #1a1a2e 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, #1a1a2e 75%),
    linear-gradient(-45deg, transparent 75%, #1a1a2e 75%);
  background-size: 16px 16px;
  background-position:
    0 0,
    0 8px,
    8px -8px,
    -8px 0;
  background-color: #12131a;
}

/* CLI Logs compact density — reduces item height inside CliLogsRichView */

.cli-logs-compact {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.cli-logs-compact [role='button'] {
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  gap: 0.375rem;
}

.cli-logs-compact [role='button'] .text-sm {
  font-size: 0.75rem;
  line-height: 1rem;
}

.cli-logs-compact [role='button'] .text-xs {
  font-size: 0.625rem;
  line-height: 0.875rem;
}

/* Hide chevrons in compact CLI logs, but keep per-item timestamps visible */
.cli-logs-compact .base-item-chevron {
  display: none;
}

@media (max-width: 980px) {
  .cli-logs-compact .base-item-timestamp {
    display: none;
  }
}

.cli-logs-sidebar .base-item-timestamp,
.cli-logs-sidebar .base-item-tokens,
.cli-logs-sidebar .base-item-status-dot,
.cli-logs-sidebar .base-item-notification-dot {
  display: none;
}

/* Extension list zebra rows */

.mcp-servers-grid > *,
.plugins-grid > *,
.skills-grid > *,
.mcp-diagnostics-list > * {
  background-color: transparent;
}

@media (max-width: 639px) {
  .mcp-servers-grid > *:nth-child(even),
  .plugins-grid > *:nth-child(even),
  .skills-grid > *:nth-child(even) {
    background-color: rgba(148, 163, 184, 0.025);
  }
}

@media (min-width: 640px) and (max-width: 1279px) {
  .mcp-servers-grid > *:nth-child(4n + 3),
  .mcp-servers-grid > *:nth-child(4n + 4),
  .plugins-grid > *:nth-child(4n + 3),
  .plugins-grid > *:nth-child(4n + 4),
  .skills-grid > *:nth-child(even) {
    background-color: rgba(148, 163, 184, 0.025);
  }
}

@media (min-width: 1280px) {
  .mcp-servers-grid > *:nth-child(6n + 4),
  .mcp-servers-grid > *:nth-child(6n + 5),
  .mcp-servers-grid > *:nth-child(6n + 6),
  .plugins-grid > *:nth-child(6n + 4),
  .plugins-grid > *:nth-child(6n + 5),
  .plugins-grid > *:nth-child(6n + 6),
  .skills-grid > *:nth-child(4n + 3),
  .skills-grid > *:nth-child(4n + 4) {
    background-color: rgba(148, 163, 184, 0.025);
  }
}

:root.light .mcp-servers-grid > *,
:root.light .plugins-grid > *,
:root.light .skills-grid > *,
:root.light .mcp-diagnostics-list > * {
  background-color: transparent;
}

@media (max-width: 639px) {
  :root.light .mcp-servers-grid > *:nth-child(even),
  :root.light .plugins-grid > *:nth-child(even),
  :root.light .skills-grid > *:nth-child(even) {
    background-color: rgba(15, 23, 42, 0.05);
  }
}

@media (min-width: 640px) and (max-width: 1279px) {
  :root.light .mcp-servers-grid > *:nth-child(4n + 3),
  :root.light .mcp-servers-grid > *:nth-child(4n + 4),
  :root.light .plugins-grid > *:nth-child(4n + 3),
  :root.light .plugins-grid > *:nth-child(4n + 4),
  :root.light .skills-grid > *:nth-child(even) {
    background-color: rgba(15, 23, 42, 0.05);
  }
}

@media (min-width: 1280px) {
  :root.light .mcp-servers-grid > *:nth-child(6n + 4),
  :root.light .mcp-servers-grid > *:nth-child(6n + 5),
  :root.light .mcp-servers-grid > *:nth-child(6n + 6),
  :root.light .plugins-grid > *:nth-child(6n + 4),
  :root.light .plugins-grid > *:nth-child(6n + 5),
  :root.light .plugins-grid > *:nth-child(6n + 6),
  :root.light .skills-grid > *:nth-child(4n + 3),
  :root.light .skills-grid > *:nth-child(4n + 4) {
    background-color: rgba(15, 23, 42, 0.05);
  }
}

.mcp-diagnostics-list > *:nth-child(even) {
  background-color: rgba(148, 163, 184, 0.025);
}

:root.light .mcp-diagnostics-list > *:nth-child(even) {
  background-color: rgba(15, 23, 42, 0.05);
}

:root.light .checkerboard-bg {
  background-image:
    linear-gradient(45deg, #e2e8f0 25%, transparent 25%),
    linear-gradient(-45deg, #e2e8f0 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, #e2e8f0 75%),
    linear-gradient(-45deg, transparent 75%, #e2e8f0 75%);
  background-color: #ffffff;
}

/* Lightbox toolbar buttons — enlarge hit targets and fix macOS hit-testing */

.yarl__toolbar {
  z-index: 1;
}

.yarl__toolbar .yarl__button {
  min-width: 44px;
  min-height: 44px;
  /* filter: drop-shadow() causes hit-test glitches on macOS/Electron compositing layers */
  filter: none;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
}

.yarl__toolbar .yarl__button > svg {
  pointer-events: none;
  filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.8));
}

/* Step progress bar — cyclic sweep on active connecting line */
@keyframes stepper-line-sweep {
  0% {
    left: -40%;
  }
  100% {
    left: 100%;
  }
}

/* Step progress bar — pulse ring on current step */
@keyframes stepper-pulse-ring {
  0%,
  100% {
    box-shadow: 0 0 0 0 var(--stepper-current-ring);
  }
  50% {
    box-shadow: 0 0 0 5px transparent;
  }
}

/* Step progress bar — jelly bounce on step completion */
@keyframes stepper-jelly {
  0% {
    transform: scale(1);
  }
  25% {
    transform: scale(1.3);
  }
  45% {
    transform: scale(0.88);
  }
  65% {
    transform: scale(1.08);
  }
  80% {
    transform: scale(0.97);
  }
  100% {
    transform: scale(1);
  }
}

/* Step progress bar — green flash burst on step completion */
@keyframes stepper-flash {
  0% {
    transform: scale(0.8);
    opacity: 0.6;
  }
  100% {
    transform: scale(2.2);
    opacity: 0;
  }
}

@keyframes composer-orbit-border {
  0% {
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dashoffset: -100;
  }
}

.message-composer-orbit-surface {
  isolation: isolate;
  --message-composer-orbit-stroke: rgba(129, 140, 248, 0.92);
  --message-composer-orbit-glow-stroke: rgba(96, 165, 250, 0.62);
}

.message-composer-shell {
  background-color: var(--color-surface-raised);
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.message-composer-orbit-svg {
  overflow: visible;
}

.message-composer-orbit-track,
.message-composer-orbit-path,
.message-composer-orbit-glow {
  vector-effect: non-scaling-stroke;
}

.message-composer-orbit-track {
  stroke: var(--color-border-emphasis);
  opacity: 1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.message-composer-orbit-path,
.message-composer-orbit-glow {
  stroke-dasharray: 9 91;
  animation: composer-orbit-border 19s linear infinite;
  stroke-linecap: butt;
  stroke-linejoin: round;
  will-change: stroke-dashoffset;
}

.message-composer-orbit-path {
  stroke-width: 1.35px;
  stroke: var(--message-composer-orbit-stroke);
  opacity: 0.48;
}

.message-composer-orbit-glow {
  stroke-width: 3px;
  stroke: var(--message-composer-orbit-glow-stroke);
  opacity: 0.28;
}

.message-composer-orbit-path-secondary,
.message-composer-orbit-glow-secondary {
  animation-delay: -9.5s;
}

.message-composer-orbit-surface:focus-within .message-composer-orbit-path,
.message-composer-orbit-surface:focus-within .message-composer-orbit-glow {
  animation-duration: 14.5s;
}

.message-composer-orbit-surface:focus-within .message-composer-orbit-path {
  opacity: 0.62;
}

.message-composer-orbit-surface:focus-within .message-composer-orbit-glow {
  opacity: 0.36;
}

:root.light .message-composer-shell {
  background-color: #dfdbd4;
  box-shadow:
    0 10px 24px rgba(113, 104, 92, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

:root.light .message-composer-orbit-surface {
  --message-composer-orbit-stroke: rgba(79, 70, 229, 0.76);
  --message-composer-orbit-glow-stroke: rgba(96, 165, 250, 0.46);
}

:root.light .message-composer-orbit-track {
  stroke: rgba(138, 130, 118, 0.2);
}

:root.light .team-graph-view > .absolute.left-3.top-3 > div {
  background: rgba(248, 244, 237, 0.9) !important;
  border-color: rgba(120, 113, 108, 0.18) !important;
  box-shadow: 0 10px 24px rgba(120, 113, 108, 0.1);
}

:root.light .team-graph-view > .absolute.left-3.top-3 > div,
:root.light .team-graph-view > .absolute.right-3.top-3 > div:not(.relative),
:root.light .team-graph-view > .absolute.right-3.top-3 > .relative > div:first-child,
:root.light .team-graph-view > .absolute.bottom-3.right-3 > div,
:root.light .team-graph-view > .absolute.bottom-3.left-3 > div {
  background: rgba(248, 244, 237, 0.9) !important;
  border-color: rgba(120, 113, 108, 0.18) !important;
  box-shadow: 0 10px 24px rgba(120, 113, 108, 0.1);
}

:root.light .team-graph-view > .absolute.right-3.top-3 > .relative > .absolute {
  background: rgba(248, 244, 237, 0.96) !important;
  border-color: rgba(120, 113, 108, 0.18) !important;
  box-shadow: 0 16px 32px rgba(120, 113, 108, 0.12);
}

.team-graph-view > .absolute.left-3.top-3 > div,
.team-graph-view > .absolute.right-3.top-3 > div:not(.relative),
.team-graph-view > .absolute.right-3.top-3 > .relative > div:first-child {
  width: 25px !important;
  min-width: 25px !important;
  height: 25px !important;
  min-height: 25px !important;
  padding: 0 !important;
  justify-content: center !important;
  border-radius: 6px !important;
}

.team-graph-view > .absolute.left-3.top-3 > div > button,
.team-graph-view > .absolute.right-3.top-3 > div:not(.relative) > button,
.team-graph-view > .absolute.right-3.top-3 > .relative > div:first-child > button {
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  padding: 0 !important;
  justify-content: center !important;
  gap: 0 !important;
}

.team-graph-view > .absolute.left-3.top-3 > div > button svg,
.team-graph-view > .absolute.right-3.top-3 > div:not(.relative) > button svg,
.team-graph-view > .absolute.right-3.top-3 > .relative > div:first-child > button svg {
  width: 10px !important;
  height: 10px !important;
}

.team-graph-view > .absolute.left-3.top-3 > div > button span,
.team-graph-view > .absolute.right-3.top-3 > div:not(.relative) > button span,
.team-graph-view > .absolute.right-3.top-3 > .relative > div:first-child > button span {
  display: none !important;
}

:root.light .team-graph-view button[class*='font-mono'] {
  color: rgba(70, 85, 125, 0.9) !important;
}

:root.light .team-graph-view button[class*='font-mono']:hover {
  color: #334155 !important;
  background: rgba(79, 70, 229, 0.08) !important;
}

:root.light
  .team-graph-view
  button[class*='font-mono'][class*='bg-\\[rgba\\(100\\,200\\,255\\,0\\.14\\)\\]'] {
  color: #4338ca !important;
  background: rgba(79, 70, 229, 0.12) !important;
}

:root.light .team-graph-view button[class*='font-mono'] svg {
  opacity: 0.96;
}

@media (prefers-reduced-motion: reduce) {
  .message-composer-orbit-path,
  .message-composer-orbit-glow {
    animation: none;
  }
}
