/* Base: reset, typography and form controls. Uses tokens only. */

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html,
body {
  margin: 0;
  background: var(--color-bg);
  color: var(--color-text);
  font: var(--font-size-md) / 1.3 var(--font-sans);
  overscroll-behavior-y: none;
}

button,
input,
select {
  font: inherit;
  color: inherit;
}

input,
select {
  width: 100%;
  min-height: var(--tap-min);
  padding: var(--space-4) var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-input-bg);
  color: var(--color-text);
  font-size: var(--font-size-md);
}

input:focus {
  outline: none;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px var(--color-focus-ring);
}

label {
  display: block;
  margin: var(--space-3) 0;
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}

label input,
label select {
  margin-top: var(--space-1);
}
