/* Design tokens and reset — neo-brutalist: hard borders, hard shadows, no radius. */

:root {
  --bg: #ffffff;
  --ink: #000000;
  --ink-soft: #555555;
  --line: #000000;
  --accent-bg: #f4f1ec;
  --terracotta: #c45f2a;
  --terracotta-light: #d96d34;
  --terracotta-soft: #faece1;
  --shadow: 4px 4px 0 #000;
  --shadow-press: 0 0 0 #000;
  --radius: 0;
  --border: 2px solid #000;

  --font-ui: 'IBM Plex Sans', -apple-system, system-ui, sans-serif;
  --font-body: 'Inter', -apple-system, system-ui, sans-serif;
}

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

body {
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--ink);
  line-height: 1.5;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Shared bits */
.eyebrow {
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
}

:where(a):focus-visible,
:where(button):focus-visible,
:where(input):focus-visible,
:where(label):focus-visible {
  outline: 3px solid var(--terracotta);
  outline-offset: 2px;
}
