/* Screenshot-derived palette: forest navigation, leaf actions, warm cream panels.
 * Green 500 is decorative; use 600 or darker for normal text on light surfaces. */
:root {
  color-scheme: light;
  --vf-green-950: #122918;
  --vf-green-900: #193820;
  --vf-green-800: #284b27;
  --vf-green-700: #315b16;
  --vf-green-600: #3f7012;
  --vf-green-500: #719b36;
  --vf-green-100: #eaf0df;
  --vf-cream: #f4f2e7;
  --vf-off-white: #fcfbf8;
  --vf-surface: #ffffff;
  --vf-border: #e3e1d9;
  --vf-border-strong: #85897d;
  --vf-text: #20251f;
  --vf-text-muted: #5f665b;
  --vf-success: #315b16;
  --vf-warning: #80520d;
  --vf-error: #a3312b;
  --vf-success-surface: #edf3e5;
  --vf-warning-surface: #fff4df;
  --vf-error-surface: #fff0ee;
  --vf-focus: #315b16;
  --vf-on-dark: #ffffff;

  /* Safe local font stacks: no assumed screenshot font license or remote request. */
  --vf-font-serif: Georgia, 'Times New Roman', serif;
  --vf-font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --vf-type-display: clamp(3rem, 1.8rem + 4vw, 6rem);
  --vf-type-h1: clamp(2.25rem, 1.65rem + 2vw, 3.75rem);
  --vf-type-h2: clamp(1.875rem, 1.45rem + 1.4vw, 2.75rem);
  --vf-type-h3: clamp(1.5rem, 1.3rem + .65vw, 2rem);
  --vf-type-h4: clamp(1.25rem, 1.1rem + .4vw, 1.5rem);
  --vf-type-body-large: clamp(1.125rem, 1.05rem + .25vw, 1.25rem);
  --vf-type-body: 1rem;
  --vf-type-small: .875rem;
  --vf-type-caption: .75rem;
  --vf-type-button: .9375rem;
  --vf-leading-display: 1.05;
  --vf-leading-heading: 1.15;
  --vf-leading-body: 1.6;
  --vf-weight-regular: 400;
  --vf-weight-medium: 500;
  --vf-weight-semibold: 600;
  --vf-weight-bold: 700;

  --vf-space-1: .25rem;
  --vf-space-2: .5rem;
  --vf-space-3: .75rem;
  --vf-space-4: 1rem;
  --vf-space-5: 1.25rem;
  --vf-space-6: 1.5rem;
  --vf-space-8: 2rem;
  --vf-space-10: 2.5rem;
  --vf-space-12: 3rem;
  --vf-space-16: 4rem;
  --vf-space-20: 5rem;
  --vf-space-24: 6rem;

  --vf-radius-sm: .375rem;
  --vf-radius-md: .75rem;
  --vf-radius-lg: 1rem;
  --vf-radius-xl: 1.5rem;
  --vf-radius-pill: 999px;
  --vf-shadow-sm: 0 2px 6px rgb(35 45 25 / 6%);
  --vf-shadow-card: 0 4px 16px rgb(35 45 25 / 8%);
  --vf-shadow-raised: 0 8px 28px rgb(35 45 25 / 12%);
  --vf-container-width: 80rem;
  --vf-reading-width: 45rem;
  --vf-container-gutter: clamp(1rem, 3vw, 2.5rem);
  --vf-section-space: clamp(2.5rem, 5vw, 5rem);
  --vf-button-height: 3rem;
  --vf-input-height: 3rem;
  --vf-touch-target: 2.75rem;
  --vf-card-border: 1px solid var(--vf-border);
  --vf-control-border: 1px solid var(--vf-border-strong);
  --vf-duration-fast: 150ms;
  --vf-duration-normal: 220ms;
  --vf-ease: cubic-bezier(.2, .7, .3, 1);
  --vf-focus-width: 3px;
  --vf-focus-offset: 3px;
}
