:root {
  --g-900: #06341C;
  --g-800: #084726;
  --g-700: #0B6B33;
  --g-600: #00933E;
  --g-500: #12A94C;
  --g-200: #BFE6CC;
  --g-100: #DFF2E4;
  --g-50:  #F0F8F2;

  --ink: #131711;
  --muted: #63705F;
  --faint: #8A9687;
  --line: #E3EBE1;
  --line-strong: #D3E0D2;
  --bg: #FBFCFA;
  --card: #FFFFFF;

  --amber-bg: #FDF6E7;
  --amber-line: #F0E3C0;
  --amber-ink: #7A5A16;

  --r-xl: 26px;
  --r-lg: 22px;
  --r-md: 16px;
  --r-sm: 12px;

  --shadow-card: 0 1px 2px rgba(8, 44, 22, .05), 0 18px 44px -18px rgba(8, 60, 30, .16);
  --shadow-pop: 0 24px 60px -20px rgba(8, 60, 30, .28);
  --shadow-btn: 0 10px 22px -10px rgba(0, 140, 60, .55);
  --shadow-btn-ghost: 0 2px 8px -2px rgba(8, 44, 22, .10);

  --font: "Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

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

html { -webkit-text-size-adjust: 100%; }

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

h1, h2, h3, p { margin: 0; }

[hidden] { display: none !important; }

button { font: inherit; color: inherit; cursor: pointer; }
input { font: inherit; }

:focus-visible {
  outline: 3px solid rgba(0, 147, 62, .35);
  outline-offset: 2px;
  border-radius: 6px;
}

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