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

:root {
  --ink: #0a0a0a;
  --text: #171717;
  --muted: #737373;
  --faint: #a3a3a3;
  --border: #d4d4d4;
  --line: #e5e5e5;
  --bg: #fafafa;
  --surface: #ffffff;
  --hover: #f5f5f5;
  --radius: 2px;
  --doc-max: 1240px;
  --content-max: 36rem;
  --font: 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', sans-serif;
}

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

a {
  color: var(--text);
  text-decoration: underline;
  text-underline-offset: 2px;
}
a:hover { color: var(--ink); }

button {
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
  border: none;
  outline: none;
  border-radius: var(--radius);
  transition: background 0.12s, border-color 0.12s, color 0.12s;
}

input, textarea, select {
  font-family: inherit;
  font-size: 0.925rem;
  outline: none;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 0.45rem 0.6rem;
  width: 100%;
  background: var(--surface);
  color: var(--text);
  transition: border-color 0.12s, box-shadow 0.12s;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--text);
  box-shadow: 0 0 0 1px var(--text);
}

::placeholder { color: var(--faint); }
