:root {
  --tm-color-surface: var(--bg-card);
  --tm-color-surface-raised: var(--bg-card2);
  --tm-color-border: var(--border);
  --tm-color-primary: var(--accent);
  --tm-color-positive: var(--red);
  --tm-color-negative: var(--green);
  --tm-color-warning: var(--amber);
  --tm-color-text: var(--text);
  --tm-color-text-muted: var(--text-muted);
  --tm-space-1: 4px;
  --tm-space-2: 8px;
  --tm-space-3: 12px;
  --tm-space-4: 16px;
  --tm-space-5: 24px;
  --tm-radius-control: var(--radius-sm);
  --tm-radius-panel: var(--radius);
  --tm-shadow-focus: 0 0 0 3px rgba(41, 98, 255, 0.24);
}

[data-tm-status] {
  min-height: 1.5em;
}

[data-tm-status="error"] {
  color: var(--red);
}

[data-tm-status="loading"] {
  color: var(--text-muted);
}

:where(button, a, input, select, textarea):focus-visible {
  outline: 2px solid var(--tm-color-primary);
  outline-offset: 2px;
  box-shadow: var(--tm-shadow-focus);
}
