/* Momenta – Design-Tokens (siehe DESIGN.md) */

:root {
  --bg: #faf6ef;
  --surface: #ffffff;
  --surface-2: #f1eadd;
  --ink: #2b2b28;
  --ink-soft: #5c5a52;
  --line: rgba(43, 43, 40, 0.12);

  --primary: #5b8a72;
  --primary-soft: #e3ede7;
  --primary-deep: #3e6a54;
  --accent: #7ba7c7;
  --accent-soft: #e7eff5;
  --accent-deep: #43708f;
  --warn: #c97b4a;
  --warn-soft: #f6e7dc;
  --warn-deep: #a05a2e;

  --night-bg: #26231f;
  --night-surface: #322e28;
  --night-ink: #d8cfc0;

  --radius-s: 10px;
  --radius-m: 16px;
  --radius-l: 28px;

  --shadow-soft: 0 2px 6px rgba(43, 43, 40, 0.06), 0 10px 28px rgba(43, 43, 40, 0.07);
  --shadow-press: 0 1px 3px rgba(43, 43, 40, 0.08);

  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --t-fast: 160ms;
  --t-med: 240ms;

  --z-sticky: 10;
  --z-backdrop: 40;
  --z-overlay: 50;
  --z-toast: 60;
}

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

html,
body {
  margin: 0;
  padding: 0;
}

body {
  font-family: "Atkinson Hyperlegible", "Trebuchet MS", system-ui, sans-serif;
  background: var(--bg);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}

img {
  display: block;
  max-width: 100%;
}

button {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--accent-deep);
  outline-offset: 2px;
  border-radius: 4px;
}

h1,
h2,
h3 {
  text-wrap: balance;
  margin: 0;
}

p {
  margin: 0;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 1ms !important;
    transition-duration: 1ms !important;
  }
}
