/* ─── base.css : reset + base typography ─── */

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

/* Re-enable default centering on <dialog> killed by the reset above. */
dialog { margin: auto; }

html, body { height: 100%; }

body {
  font-family: var(--font-sans);
  font-size: var(--text-body);
  line-height: var(--leading-body);
  background: var(--surface-app);
  color: var(--text-default);
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

button { font-family: inherit; cursor: pointer; }
input, textarea, select { font-family: inherit; }

/* Accessible focus ring on every focusable element by default. */
:focus { outline: none; }
:focus-visible { outline: none; box-shadow: var(--shadow-focus); }

a { color: var(--text-link); }

.hidden { display: none !important; }
.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

@keyframes pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: 0.6; transform: scale(1.3); }
}
@keyframes spin { to { transform: rotate(360deg); } }
