/* Central interaction contract. Imported last so component state is not
   affected by legacy selector order. Hover is limited to hover-capable input. */
.ui-button,
.ui-icon-button,
.ui-chip,
.ui-project-select,
.workspace-nav-item,
.project-nav-item,
.project-workspace-back,
.project-row,
.dashboard-navigation-item,
.dashboard-brand,
.workspace-row,
.ui-avatar-button,
.ui-context-menu-item,
.ui-popover-menu-content a,
.ui-switch-track,
.ui-checkbox-control,
.ui-radio-control,
.ui-input,
.ui-select-trigger,
.ui-quiz-option,
.ui-quiz-close,
.ui-toast-close,
.ui-attach-file-close,
.ui-launch-row,
.ui-launch-row-ava,
.ui-skill-card-ava,
.ui-document-list-item,
.ui-document-list-item-trailing,
.ui-chats-list-item,
.ui-chats-list-item-trailing,
.project-row-trailing,
.ui-recommendation-card,
.ui-integration-widget {
  transition:
    color var(--ui-duration-fast) var(--ui-ease-standard),
    border-color var(--ui-duration-fast) var(--ui-ease-standard),
    background var(--ui-duration-fast) var(--ui-ease-standard),
    box-shadow var(--ui-duration-fast) var(--ui-ease-standard),
    opacity var(--ui-duration-fast) var(--ui-ease-standard);
}

/* Background is not transitioned — UA light color-scheme flashes white on focus/blur. */
.ui-chat-input-control {
  -webkit-tap-highlight-color: transparent;
  transition:
    color var(--ui-duration-fast) var(--ui-ease-standard),
    border-color var(--ui-duration-fast) var(--ui-ease-standard),
    box-shadow var(--ui-duration-fast) var(--ui-ease-standard),
    opacity var(--ui-duration-fast) var(--ui-ease-standard);
}

@media (hover: hover) and (pointer: fine) {
  .ui-button-primary:not(:disabled, [aria-disabled="true"]):hover,
  .ui-button-fill:not(:disabled, [aria-disabled="true"]):hover,
  .ui-icon-button-default:not(:disabled):hover,
  .ui-icon-button-primary:not(:disabled):hover,
  .ui-icon-button-fill:not(:disabled):hover {
    --ui-button-fg: var(--ui-button-fill-fg);
    --ui-button-icon-fg: var(--ui-button-icon);
    --ui-button-glyph: var(--ui-button-fill-fg);
    color: var(--ui-button-fg);
    background: var(--ui-button-fill-bg-hover);
  }

  .ui-button-secondary:not(:disabled, [aria-disabled="true"]):hover,
  .ui-button-stroke:not(:disabled, [aria-disabled="true"]):hover,
  .ui-icon-button-secondary:not(:disabled):hover,
  .ui-icon-button-stroke:not(:disabled):hover {
    --ui-button-fg: var(--ui-color-text);
    --ui-button-icon-fg: var(--ui-button-icon);
    --ui-button-glyph: var(--ui-color-text);
    border-color: var(--ui-button-stroke-border-hover);
    color: var(--ui-button-fg);
    background: var(--ui-button-stroke-bg);
  }

  .ui-button-ghost:not(:disabled, [aria-disabled="true"]):hover,
  .ui-icon-button-ghost:not(:disabled):hover {
    --ui-button-fg: var(--ui-color-text);
    --ui-button-icon-fg: var(--ui-button-icon);
    --ui-button-glyph: var(--ui-color-text);
    color: var(--ui-button-fg);
    background: var(--ui-button-ghost-bg-hover);
  }

  .ui-button-quiet:not(:disabled, [aria-disabled="true"]):hover,
  .ui-icon-button-quiet:not(:disabled):hover {
    --ui-button-fg: var(--ui-color-text);
    --ui-button-icon-fg: var(--ui-button-icon);
    --ui-button-glyph: var(--ui-color-text);
    color: var(--ui-button-fg);
    background: var(--ui-button-quiet-bg-hover);
    text-decoration: none;
  }

  .ui-button-danger:not(:disabled, [aria-disabled="true"]):hover,
  .ui-icon-button-danger:not(:disabled):hover {
    --ui-button-fg: var(--ui-button-danger-fg);
    --ui-button-icon-fg: var(--ui-button-danger-icon);
    --ui-button-glyph: var(--ui-button-danger-fg);
    color: var(--ui-button-fg);
    background: var(--ui-button-danger-bg-hover);
  }

  .ui-chip:not(:disabled, .is-selected):hover {
    color: var(--ui-color-text);
    background: var(--ui-chip-hover-bg);
  }

  .ui-chip.is-selected:not(:disabled):hover {
    color: var(--ui-chip-selected-fg);
    background: var(--ui-chip-selected-bg-hover);
  }

  .ui-tabs:not(.ui-tabs-line) .ui-tabs-trigger[data-state="inactive"]:not(:disabled):hover {
    background: var(--ui-tabs-item-bg-hover);
  }

  .ui-tabs-line .ui-tabs-trigger[data-state="inactive"]:not(:disabled):hover {
    color: var(--ui-tabs-line-fg-hover);
    background: transparent;
    border-bottom-color: var(--ui-tabs-line-border-hover);
  }

  .ui-side-menu-btn:not(.is-active):hover {
    color: var(--ui-side-menu-fg-hover);
    background: var(--ui-side-menu-bg-hover);
  }

  .ui-side-menu-btn:not(.is-active):hover .ui-side-menu-btn-icon,
  .ui-side-menu-btn:disabled:not(.is-active):hover .ui-side-menu-btn-icon {
    color: var(--ui-side-menu-icon-hover);
  }

  .ui-side-menu-btn:hover .ui-side-menu-btn-trailing.is-hover-only,
  .ui-side-menu-btn:focus-visible .ui-side-menu-btn-trailing.is-hover-only {
    display: block;
  }

  .ui-side-menu-list-head-action:hover {
    background: var(--ui-button-quiet-bg-hover);
  }

  .ui-project-select:not(:disabled, .is-active):hover {
    background: var(--ui-side-menu-bg-hover);
  }

  .ui-project-select:not(:disabled, .is-active):hover .ui-project-select-chevron {
    color: var(--ui-color-text);
  }

  .ui-chat-input-leading-btn.ui-icon-button-quiet:not(:disabled):hover {
    color: var(--ui-chat-input-leading-fg);
    background: var(--ui-chat-input-leading-bg-hover);
  }

  .ui-chat-input-control:hover:not(:focus-within) .ui-chat-input-field::placeholder {
    color: var(--ui-chat-input-placeholder-hover);
    -webkit-text-fill-color: var(--ui-chat-input-placeholder-hover);
  }

  .ui-chat-input-submit.ui-icon-button-primary:not(:disabled):hover,
  .ui-chat-input-action.ui-icon-button-primary:not(:disabled):hover {
    color: var(--ui-chat-input-submit-fg);
    background: var(--ui-chat-input-submit-bg);
  }

  .ui-chat-input-submit.ui-chat-input-voice.ui-icon-button-primary:not(:disabled):hover {
    color: var(--ui-chat-input-voice-fg);
  }

  .workspace-nav-item:hover,
  .project-nav-item:hover,
  .project-workspace-back:hover,
  .dashboard-navigation-item:hover {
    color: var(--ui-side-menu-fg-hover);
    background: var(--ui-side-menu-bg-hover);
  }

  .project-row:hover,
  .project-row:focus-within {
    background: var(--ui-tok-background-subtle);
  }

  .workspace-row:hover {
    color: var(--ui-color-text);
    background: var(--ui-color-interactive-hover);
  }

  .ui-avatar-button:hover,
  .ui-popover-menu-content a:hover {
    color: var(--ui-color-text);
    background: var(--ui-color-interactive-hover);
  }

  .ui-context-menu-item:not(:disabled, .is-selected):hover,
  .ui-context-menu-item.is-submenu-open:not(:disabled, .is-selected) {
    color: var(--ui-menu-fg-hover);
    background: var(--ui-menu-bg-hover);
  }

  .ui-context-menu-item.is-selected:hover {
    color: var(--ui-menu-fg-selected);
    background: var(--ui-menu-bg-hover);
  }

  .ui-context-menu-item:not(:disabled):hover .ui-context-menu-item-icon {
    color: var(--ui-tok-context-menu-item-icon-hover);
  }

  .ui-context-menu-item:not(:disabled):hover .ui-context-menu-item-description {
    color: var(--ui-tok-context-menu-item-descriptor-hover);
  }

  .ui-context-menu-item:not(:disabled):hover .ui-context-menu-item-check,
  .ui-context-menu-item:not(:disabled):active .ui-context-menu-item-check {
    color: var(--ui-menu-check);
  }

  .ui-context-menu-item:not(:disabled):active {
    color: var(--ui-menu-fg-pressed);
    background: var(--ui-menu-bg-pressed);
  }

  .ui-context-menu-item.ui-menu-item-danger:not(:disabled):hover,
  .ui-context-menu-item.ui-menu-item-danger:not(:disabled):active {
    color: var(--ui-button-danger-fg);
    background: var(--ui-menu-bg-hover);
  }

  .ui-context-menu-item.ui-menu-item-danger:not(:disabled):hover .ui-context-menu-item-icon,
  .ui-context-menu-item.ui-menu-item-danger:not(:disabled):active .ui-context-menu-item-icon {
    color: var(--ui-button-danger-icon);
  }

  .ui-quiz-option:not(.is-selected):not(:has(input:disabled)):hover {
    background: var(--ui-tok-quiz-option-bg-hover);
  }

  .ui-quiz-option:not(.is-selected):not(:has(input:disabled)):hover .ui-quiz-radio-dot {
    background: var(--ui-tok-radio-dot-hover-preview);
    box-shadow: none;
    opacity: 1;
  }

  form.ui-quiz-custom:hover:not(:focus-within):not(.is-filled) {
    background: var(--ui-tok-quiz-option-bg-hover);
  }

  form.ui-quiz-custom:hover:not(:focus-within):not(.is-filled) .ui-quiz-option-icon {
    background: var(--ui-tok-quiz-option-icon-badge-bg-active);
  }

  .ui-quiz.is-composer .ui-quiz-option:not(.is-selected):not(:has(input:disabled)):hover {
    background: var(--ui-chat-input-leading-bg-hover);
  }

  .ui-quiz.is-composer form.ui-quiz-custom:hover:not(:focus-within):not(.is-filled) {
    background: var(--ui-chat-input-leading-bg-hover);
  }

  .ui-quiz.is-composer
    form.ui-quiz-custom:hover:not(:focus-within):not(.is-filled)
    .ui-quiz-option-icon {
    background: var(--ui-chat-input-leading-bg-hover);
  }

  .ui-skill-card:not(.ui-skill-card-featured):hover {
    border-color: var(--ui-tok-border-subtle);
    border-radius: var(--ui-skill-radius-hover);
    background: var(--ui-tok-background-subtle);
  }

  .ui-skill-card:not(.ui-skill-card-featured):hover .ui-skill-card-ava {
    background: var(--ui-skill-ava-bg-hover);
  }

  .ui-skill-card-featured:hover {
    background: var(--ui-tok-background-subtle);
  }

  .ui-skill-card:hover .ui-skill-card-meta {
    color: var(--ui-tok-text-secondary);
  }

  .ui-launch-row:hover {
    background: var(--ui-tok-background-subtle);
  }

  .ui-launch-row:hover .ui-launch-row-ava {
    background: var(--ui-skill-ava-bg-hover);
  }

  .ui-document-list-item:hover,
  .ui-document-list-item:focus-within,
  .ui-chats-list-item:hover,
  .ui-chats-list-item:focus-within,
  .ui-integration-list-item:hover:not(.is-blocked),
  .ui-integration-list-item:focus-within:not(.is-blocked) {
    background: var(--ui-tok-background-subtle);
  }

  .ui-document-list-item-trailing,
  .ui-chats-list-item-trailing,
  .project-row-trailing {
    opacity: 0;
  }

  .ui-document-list-item:hover .ui-document-list-item-trailing,
  .ui-document-list-item:focus-within .ui-document-list-item-trailing,
  .ui-chats-list-item:hover .ui-chats-list-item-trailing,
  .ui-chats-list-item:focus-within .ui-chats-list-item-trailing,
  .project-row:hover .project-row-trailing,
  .project-row:focus-within .project-row-trailing {
    opacity: 1;
  }

  .ui-recommendation-card:hover {
    background: var(--ui-tok-background-subtle);
  }

  .ui-recommendation-card.is-featured:hover {
    background: var(--ui-rec-featured-bg-hover);
  }

  .ui-chat-widget-tile:hover,
  .ui-chat-source:hover {
    background: var(--ui-chat-widget-tile-hover);
  }

  .ui-appearance-btn:hover:not(.is-active) {
    border-color: var(--ui-appearance-btn-border-hover);
    color: var(--ui-appearance-btn-text-hover);
    background: var(--ui-appearance-btn-bg-hover);
  }

  .ui-appearance-btn:hover:not(.is-active) .ui-appearance-btn-icon {
    color: var(--ui-appearance-btn-icon-hover);
  }

  .ui-integration-widget:hover:not(.is-active) {
    background: var(--ui-integration-widget-bg-hover);
  }

  .ui-integration-widget:hover:not(.is-active) .ui-integration-widget-action {
    color: var(--ui-integration-widget-action-hover);
  }

  .ui-field input:hover:not(:disabled, .ui-input-field),
  .ui-field textarea:hover:not(:disabled),
  .ui-select select:hover:not(:disabled) {
    border-color: var(--ui-color-border);
    background: var(--ui-color-interactive-hover);
  }

  .ui-field > textarea:hover:not(:disabled) {
    border-color: var(--ui-input-border);
    background: var(--ui-neutral-0);
  }

  .ui-field.is-invalid > textarea:hover:not(:disabled) {
    border-color: var(--ui-tok-input-border-error);
    background: var(--ui-neutral-0);
  }

  .ui-chat-input-field:hover:not(:disabled) {
    border: 0;
    background-color: var(--ui-chat-input-bg);
    background-image: none;
    box-shadow: inset 0 0 0 6rem var(--ui-chat-input-bg);
  }

  .ui-switch:hover:not(:has(input:disabled)) input:not(:checked) + .ui-switch-track {
    background: var(--ui-tok-switch-track-off-hover);
  }

  .ui-switch:hover:not(:has(input:disabled)) input:checked + .ui-switch-track {
    background: var(--ui-tok-switch-track-on-hover);
  }

  .ui-checkbox:hover:not(:has(input:disabled))
    input:not(:checked)
    + .ui-checkbox-label
    .ui-checkbox-control
    svg,
  .ui-radio:hover:not(:has(input:disabled)) input:not(:checked) + .ui-radio-label .ui-radio-dot {
    opacity: 1;
  }

  .ui-checkbox:hover:not(:has(input:disabled))
    input:checked
    + .ui-checkbox-label
    .ui-checkbox-control {
    color: var(--ui-control-glyph-hover);
  }

  .ui-radio:hover:not(:has(input:disabled)) input:checked + .ui-radio-label .ui-radio-dot {
    background: var(--ui-control-glyph-hover);
  }

  .ui-search-input:hover:not(:has(.ui-input-field:disabled)) {
    border-color: var(--ui-input-border-hover);
  }

  .ui-search-input:hover:not(:has(.ui-input-field:disabled)):has(
      .ui-input-field:not(:placeholder-shown)
    )
    .ui-search-input-clear {
    opacity: 1;
    pointer-events: auto;
  }
}

.ui-launch-row:active {
  background: var(--ui-tok-background-hover);
}

.ui-launch-row:active .ui-launch-row-ava {
  background: var(--ui-skill-ava-bg-hover);
}

.ui-button-primary[data-state="hover"],
.ui-button-fill[data-state="hover"],
.ui-icon-button-default[data-state="hover"],
.ui-icon-button-primary[data-state="hover"],
.ui-icon-button-fill[data-state="hover"] {
  --ui-button-fg: var(--ui-button-fill-fg);
  --ui-button-icon-fg: var(--ui-button-icon);
  --ui-button-glyph: var(--ui-button-fill-fg);
  background: var(--ui-button-fill-bg-hover);
}

.ui-button-secondary[data-state="hover"],
.ui-button-stroke[data-state="hover"],
.ui-icon-button-secondary[data-state="hover"],
.ui-icon-button-stroke[data-state="hover"] {
  --ui-button-fg: var(--ui-color-text);
  --ui-button-icon-fg: var(--ui-button-icon);
  --ui-button-glyph: var(--ui-color-text);
  border-color: var(--ui-button-stroke-border-hover);
  background: var(--ui-button-stroke-bg);
}

.ui-button-ghost[data-state="hover"],
.ui-icon-button-ghost[data-state="hover"] {
  --ui-button-fg: var(--ui-color-text);
  --ui-button-icon-fg: var(--ui-button-icon);
  --ui-button-glyph: var(--ui-color-text);
  background: var(--ui-button-ghost-bg-hover);
}

.ui-button-quiet[data-state="hover"],
.ui-icon-button-quiet[data-state="hover"] {
  --ui-button-fg: var(--ui-color-text);
  --ui-button-icon-fg: var(--ui-button-icon);
  --ui-button-glyph: var(--ui-color-text);
  background: var(--ui-button-quiet-bg-hover);
}

.ui-button-danger[data-state="hover"],
.ui-icon-button-danger[data-state="hover"] {
  --ui-button-fg: var(--ui-button-danger-fg);
  --ui-button-icon-fg: var(--ui-button-danger-icon);
  --ui-button-glyph: var(--ui-button-danger-fg);
  background: var(--ui-button-danger-bg-hover);
}

.ui-button-primary:not(:disabled, [aria-disabled="true"]):active,
.ui-button-primary[data-state="active"],
.ui-button-fill:not(:disabled, [aria-disabled="true"]):active,
.ui-button-fill[data-state="active"],
.ui-icon-button-default:not(:disabled):active,
.ui-icon-button-default[data-state="active"],
.ui-icon-button-primary:not(:disabled):active,
.ui-icon-button-primary[data-state="active"],
.ui-icon-button-fill:not(:disabled):active,
.ui-icon-button-fill[data-state="active"] {
  --ui-button-fg: var(--ui-button-fill-fg-pressed);
  --ui-button-icon-fg: var(--ui-button-fill-glyph-pressed);
  --ui-button-glyph: var(--ui-button-fill-glyph-pressed);
  color: var(--ui-button-fg);
  background: var(--ui-button-fill-bg-hover);
}

.ui-button-secondary:not(:disabled, [aria-disabled="true"]):active,
.ui-button-secondary[data-state="active"],
.ui-button-stroke:not(:disabled, [aria-disabled="true"]):active,
.ui-button-stroke[data-state="active"],
.ui-icon-button-secondary:not(:disabled):active,
.ui-icon-button-secondary[data-state="active"],
.ui-icon-button-stroke:not(:disabled):active,
.ui-icon-button-stroke[data-state="active"] {
  --ui-button-fg: var(--ui-button-muted-fg);
  --ui-button-icon-fg: var(--ui-button-pressed-icon);
  --ui-button-glyph: var(--ui-button-pressed-icon);
  border-color: var(--ui-button-stroke-border);
  color: var(--ui-button-fg);
  background: var(--ui-button-stroke-bg-pressed);
}

.ui-button-ghost:not(:disabled, [aria-disabled="true"]):active,
.ui-button-ghost[data-state="active"],
.ui-icon-button-ghost:not(:disabled):active,
.ui-icon-button-ghost[data-state="active"] {
  --ui-button-fg: var(--ui-button-muted-fg);
  --ui-button-icon-fg: var(--ui-button-pressed-icon);
  --ui-button-glyph: var(--ui-button-pressed-icon);
  color: var(--ui-button-fg);
  background: var(--ui-button-ghost-bg-pressed);
}

.ui-button-quiet:not(:disabled, [aria-disabled="true"]):active,
.ui-button-quiet[data-state="active"],
.ui-icon-button-quiet:not(:disabled):active,
.ui-icon-button-quiet[data-state="active"] {
  --ui-button-fg: var(--ui-button-muted-fg);
  --ui-button-icon-fg: var(--ui-button-pressed-icon);
  --ui-button-glyph: var(--ui-button-pressed-icon);
  color: var(--ui-button-fg);
  background: var(--ui-button-quiet-bg-pressed);
  text-decoration: none;
}

.ui-chat-input-leading-btn.ui-icon-button-quiet:not(:disabled):active {
  color: var(--ui-chat-input-leading-fg);
  background: var(--ui-chat-input-leading-bg-pressed);
}

.ui-chat-input-submit.ui-icon-button-primary:not(:disabled):active,
.ui-chat-input-action.ui-icon-button-primary:not(:disabled):active {
  color: var(--ui-chat-input-submit-fg);
  background: var(--ui-chat-input-submit-bg);
}

.ui-chat-input-submit.ui-chat-input-voice.ui-icon-button-primary:not(:disabled):active {
  color: var(--ui-chat-input-voice-fg);
}

.ui-button-danger:not(:disabled, [aria-disabled="true"]):active,
.ui-button-danger[data-state="active"],
.ui-icon-button-danger:not(:disabled):active,
.ui-icon-button-danger[data-state="active"] {
  --ui-button-fg: var(--ui-button-danger-icon);
  --ui-button-icon-fg: var(--ui-button-danger-icon);
  --ui-button-glyph: var(--ui-button-danger-icon);
  color: var(--ui-button-fg);
  background: var(--ui-button-danger-bg);
}

.ui-chip:not(:disabled, .is-selected):active {
  color: var(--ui-color-text);
  background: var(--ui-chip-hover-bg);
}

.ui-chip.is-selected:not(:disabled):active {
  color: var(--ui-chip-selected-fg);
  background: var(--ui-chip-selected-bg-hover);
}

.ui-tabs:not(.ui-tabs-line) .ui-tabs-trigger[data-state="inactive"]:not(:disabled):active {
  background: var(--ui-tabs-item-bg-hover);
}

.ui-tabs-line .ui-tabs-trigger[data-state="inactive"]:not(:disabled):active {
  color: var(--ui-tabs-line-fg-hover);
  background: transparent;
  border-bottom-color: var(--ui-tabs-line-border-hover);
}

.ui-icon-button:not(:disabled):active {
  transform: none;
}

.ui-icon-button,
.ui-icon-button:hover,
.ui-icon-button:not(:disabled):hover,
.ui-icon-button:active,
.ui-icon-button:not(:disabled):active,
.ui-icon-button:disabled,
.ui-icon-button[data-state="hover"],
.ui-icon-button[data-state="active"] {
  color: var(--ui-button-glyph);
}

.ui-popover-menu.is-open > .ui-icon-button-quiet:not(.ui-chat-input-leading-btn),
.ui-popover-menu.is-open > .ui-icon-button-quiet:not(.ui-chat-input-leading-btn, :disabled):hover,
.ui-popover-menu.is-open > .ui-icon-button-quiet:not(.ui-chat-input-leading-btn, :disabled):active,
.ui-popover-menu.is-open > .ui-icon-button-ghost,
.ui-popover-menu.is-open > .ui-icon-button-ghost:not(:disabled):hover,
.ui-popover-menu.is-open > .ui-icon-button-ghost:not(:disabled):active {
  --ui-button-fg: var(--ui-button-fill-fg);
  --ui-button-icon-fg: var(--ui-button-fill-fg);
  --ui-button-glyph: var(--ui-button-fill-fg);
  border-color: transparent;
  color: var(--ui-button-fg);
  background: var(--ui-button-fill-bg);
}

.ui-chat-input-leading-btn.ui-icon-button,
.ui-chat-input-leading-btn.ui-icon-button:disabled {
  --ui-button-fg: var(--ui-chat-input-leading-fg);
  --ui-button-glyph: var(--ui-chat-input-leading-fg);
  border: 0;
  outline: 0;
  color: var(--ui-chat-input-leading-fg);
  background: transparent;
}

.ui-chat-input-leading-btn.ui-icon-button:hover,
.ui-chat-input-leading-btn.ui-icon-button:not(:disabled):hover,
.ui-chat-input-skill-menu.is-open .ui-chat-input-leading-btn.ui-icon-button,
.ui-chat-input-skill-menu.is-open .ui-chat-input-leading-btn.ui-icon-button:hover,
.ui-chat-input-skill-menu.is-open .ui-chat-input-leading-btn.ui-icon-button:not(:disabled):hover {
  --ui-button-fg: var(--ui-chat-input-leading-fg);
  --ui-button-glyph: var(--ui-chat-input-leading-fg);
  border: 0;
  outline: 0;
  color: var(--ui-chat-input-leading-fg);
  background: var(--ui-chat-input-leading-bg-hover);
}

.ui-chat-input-leading-btn.ui-icon-button:active,
.ui-chat-input-leading-btn.ui-icon-button:not(:disabled):active,
.ui-chat-input-skill-menu.is-open .ui-chat-input-leading-btn.ui-icon-button:active,
.ui-chat-input-skill-menu.is-open .ui-chat-input-leading-btn.ui-icon-button:not(:disabled):active {
  --ui-button-fg: var(--ui-chat-input-leading-fg);
  --ui-button-glyph: var(--ui-chat-input-leading-fg);
  color: var(--ui-chat-input-leading-fg);
  background: var(--ui-chat-input-leading-bg-pressed);
}

.ui-chat-input-submit.ui-icon-button,
.ui-chat-input-submit.ui-icon-button:hover,
.ui-chat-input-submit.ui-icon-button:not(:disabled):hover,
.ui-chat-input-submit.ui-icon-button:active,
.ui-chat-input-submit.ui-icon-button:not(:disabled):active,
.ui-chat-input-submit.ui-icon-button:disabled {
  --ui-button-fg: var(--ui-chat-input-submit-fg);
  --ui-button-glyph: var(--ui-chat-input-submit-fg);
  border: 0;
  outline: 0;
  color: var(--ui-chat-input-submit-fg);
  background: var(--ui-chat-input-submit-bg);
}

.ui-chat-input-submit.ui-chat-input-voice.ui-icon-button,
.ui-chat-input-submit.ui-chat-input-voice.ui-icon-button:hover,
.ui-chat-input-submit.ui-chat-input-voice.ui-icon-button:not(:disabled):hover,
.ui-chat-input-submit.ui-chat-input-voice.ui-icon-button:active,
.ui-chat-input-submit.ui-chat-input-voice.ui-icon-button:not(:disabled):active,
.ui-chat-input-submit.ui-chat-input-voice.ui-icon-button:disabled {
  --ui-button-fg: var(--ui-chat-input-voice-fg);
  --ui-button-glyph: var(--ui-chat-input-voice-fg);
  color: var(--ui-chat-input-voice-fg);
}

.ui-chat-input-submit.ui-chat-input-voice-active.ui-icon-button,
.ui-chat-input-submit.ui-chat-input-voice-active.ui-icon-button:hover,
.ui-chat-input-submit.ui-chat-input-voice-active.ui-icon-button:not(:disabled):hover {
  --ui-button-glyph: var(--ui-chat-input-fg);
  color: var(--ui-chat-input-fg);
  background: var(--ui-neutral-800);
}

.workspace-nav-item:active,
.project-nav-item:active,
.project-workspace-back:active,
.workspace-row:active {
  background: var(--ui-color-interactive-active);
}

.ui-button:focus-visible,
.ui-icon-button:focus-visible,
.ui-chip:focus-visible,
.ui-tabs-trigger:focus-visible,
.ui-side-menu-btn:focus-visible,
.ui-side-menu-list-head-action:focus-visible,
.ui-project-select:focus-visible,
.workspace-nav-item:focus-visible,
.project-nav-item:focus-visible,
.project-workspace-back:focus-visible,
.project-row:focus-visible,
.dashboard-navigation-item:focus-visible,
.dashboard-brand:focus-visible,
.workspace-row:focus-visible,
.ui-avatar-button:focus-visible,
.ui-context-menu-item:focus-visible,
.ui-popover-menu-content a:focus-visible,
.ui-field input:focus-visible:not(.ui-input-field),
.ui-select select:focus-visible,
.ui-switch input:focus-visible + .ui-switch-track,
.ui-checkbox input:focus-visible + .ui-checkbox-label .ui-checkbox-control,
.ui-radio input:focus-visible + .ui-radio-label .ui-radio-control,
.ui-accordion-trigger:focus-visible {
  outline: var(--ui-focus-width) solid var(--ui-color-focus-ring);
  outline-offset: var(--ui-focus-offset);
}

.ui-chat-input-leading-btn.ui-icon-button:focus-visible,
.ui-chat-input-submit.ui-icon-button:focus-visible {
  outline: 0;
}

.ui-field input:not(:disabled, .ui-input-field):focus-visible,
.ui-field textarea:not(:disabled):focus-visible,
.ui-select select:not(:disabled):focus-visible {
  border-color: var(--ui-color-border-strong);
  background: var(--ui-color-surface);
}

.ui-field > textarea:not(:disabled):focus-visible {
  outline: 0;
  border-color: var(--ui-input-border-active);
  background: var(--ui-neutral-0);
}

.ui-field.is-invalid > textarea:not(:disabled):focus-visible {
  border-color: var(--ui-tok-input-border-error);
}

.ui-chat-input-field,
.ui-chat-input-field:hover:not(:disabled),
.ui-chat-input-field:not(:placeholder-shown),
.ui-chat-input-field:focus,
.ui-chat-input-field:focus-visible,
.ui-chat-input-field:active,
.ui-chat-input-field:not(:disabled):focus-visible {
  -webkit-appearance: none;
  appearance: none;
  border: 0;
  outline: 0;
  transition: none;
  color: var(--ui-chat-input-fg);
  caret-color: var(--ui-chat-input-fg);
  -webkit-text-fill-color: var(--ui-chat-input-fg);
  background-color: var(--ui-chat-input-bg);
  background-image: none;
  box-shadow: inset 0 0 0 6rem var(--ui-chat-input-bg);
  color-scheme: dark;
}

.ui-chat-input-field:-webkit-autofill,
.ui-chat-input-field:-webkit-autofill:hover,
.ui-chat-input-field:-webkit-autofill:focus,
.ui-chat-input-field:-webkit-autofill:active {
  -webkit-text-fill-color: var(--ui-chat-input-fg);
  caret-color: var(--ui-chat-input-fg);
  box-shadow: inset 0 0 0 6rem var(--ui-chat-input-bg);
  transition: background-color 86400s ease-out;
}

.ui-chat-input-field::placeholder {
  -webkit-text-fill-color: var(--ui-chat-input-placeholder);
}

.ui-chat-input-control:focus-within .ui-chat-input-field::placeholder {
  -webkit-text-fill-color: var(--ui-chat-input-fg);
}

.ui-input:focus-within:not(:has(.ui-input-field:disabled)) {
  border-color: var(--ui-input-border-active);
  color: var(--ui-neutral-600);
}

.ui-input:focus-within:not(:has(.ui-input-field:disabled)) .ui-input-field,
.ui-input:focus-within:not(:has(.ui-input-field:disabled)) .ui-input-field::placeholder {
  color: var(--ui-neutral-850);
  -webkit-text-fill-color: var(--ui-neutral-850);
}

.ui-field.is-invalid > .ui-input,
.ui-field.is-invalid > .ui-input:focus-within:not(:has(.ui-input-field:disabled)) {
  border-color: var(--ui-tok-input-border-error);
}

.ui-field.is-invalid:has(.ui-input-field:placeholder-shown)
  > .ui-input:focus-within:not(:has(.ui-input-field:disabled)) {
  color: var(--ui-tok-accent-red-02);
}

.ui-field.is-invalid:has(.ui-input-field:not(:placeholder-shown))
  > .ui-input:focus-within:not(:has(.ui-input-field:disabled)) {
  color: var(--ui-tok-accent-red-01);
}

.ui-field.is-invalid > .ui-input:focus-within:not(:has(.ui-input-field:disabled)) .ui-input-field,
.ui-field.is-invalid
  > .ui-input:focus-within:not(:has(.ui-input-field:disabled))
  .ui-input-field::placeholder {
  color: inherit;
  -webkit-text-fill-color: inherit;
}

.ui-search-input:focus-within:not(:has(.ui-input-field:disabled)):has(
    .ui-input-field:not(:placeholder-shown)
  )
  .ui-search-input-clear {
  opacity: 1;
  pointer-events: auto;
}

.ui-button:disabled,
.ui-button[aria-disabled="true"],
.ui-icon-button:disabled,
.ui-chip:disabled,
.ui-field input:disabled:not(.ui-input-field),
.ui-field textarea:disabled,
.ui-select select:disabled,
.ui-select-trigger:disabled {
  cursor: not-allowed;
  opacity: 1;
}

.ui-field > textarea:disabled {
  border-color: var(--ui-input-border-disabled);
  background: var(--ui-neutral-0);
}

@media (prefers-reduced-motion: reduce) {
  .ui-button,
  .ui-icon-button,
  .ui-chip,
  .workspace-nav-item,
  .project-nav-item,
  .project-workspace-back,
  .project-row,
  .dashboard-navigation-item,
  .dashboard-brand,
  .workspace-row,
  .ui-avatar-button,
  .ui-popover-menu-content a,
  .ui-input,
  .ui-chat-input-control,
  .ui-attach-file-close,
  .ui-launch-row,
  .ui-launch-row-ava,
  .ui-skill-card-ava,
  .ui-document-list-item,
  .ui-document-list-item-trailing,
  .ui-chats-list-item,
  .ui-chats-list-item-trailing,
  .project-row-trailing,
  .ui-recommendation-card,
  .ui-integration-widget {
    transition: none;
  }
}
