/* Shared low-level primitives. Feature styles remain responsible for composition. */
.ui-surface {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
}

.ui-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  gap: var(--space-2);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  padding: var(--space-2) var(--space-4);
  background: transparent;
  color: var(--color-text);
  font: 400 13px/1.4 var(--font-sans);
  text-decoration: none;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}

.ui-button:hover { background: var(--color-surface-muted); border-color: var(--color-border-strong); }
.ui-button:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 4px; }
.ui-button[data-variant="primary"] { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-surface); }
.ui-button[data-variant="primary"]:hover { background: var(--color-accent-strong); border-color: var(--color-accent-strong); }

.ui-label {
  color: var(--color-text-muted);
  font: 500 10px/1.5 var(--font-mono);
  letter-spacing: .18em;
  text-transform: uppercase;
}
