/* Theme: Sepia Horizon (sepia-horizon) */
/* A warm, minimalist, premium interface pairing editorial serif typography with rich organic green tones and high-contrast flat structures. */

@tailwind base;
@tailwind components;
@tailwind utilities;

@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");

@layer base {
  :root {
    /* A moss-tinted neutral ramp derived from the organic brand environment. */
    --palette-neutral-100: #FAFAF9;
    --palette-neutral-150: #F8F9F7;
    --palette-neutral-200: #F3F4F1;
    --palette-neutral-250: #EAEDE8;
    --palette-neutral-300: #DEE3DA;
    --palette-neutral-350: #CFD5C9;
    --palette-neutral-400: #BCC4B5;
    --palette-neutral-450: #A5B09C;
    --palette-neutral-500: #8C9980;
    --palette-neutral-550: #707E64;
    --palette-neutral-600: #59644F;
    --palette-neutral-650: #454E3D;
    --palette-neutral-700: #343B2E;
    --palette-neutral-750: #282D23;
    --palette-neutral-800: #1F231B;
    --palette-neutral-850: #191D16;
    --palette-neutral-900: #171B15;
    /* A soft, warm-tinted cool green that defines the brand identity. */
    --palette-brand-100: #F9FBF3;
    --palette-brand-150: #F7FAF0;
    --palette-brand-200: #F1F7E5;
    --palette-brand-250: #E8F2D4;
    --palette-brand-300: #DBEBBD;
    --palette-brand-350: #CBE29E;
    --palette-brand-400: #B7D679;
    --palette-brand-450: #9FC84D;
    --palette-brand-500: #7CA032;
    --palette-brand-550: #648128;
    --palette-brand-600: #4F671F;
    --palette-brand-650: #3D5018;
    --palette-brand-700: #2F3D12;
    --palette-brand-750: #242E0E;
    --palette-brand-800: #1C240B;
    --palette-brand-850: #171E09;
    --palette-brand-900: #151C08;
    --palette-danger-100: #FEF9F9;
    --palette-danger-150: #FEF7F6;
    --palette-danger-200: #FDF1EF;
    --palette-danger-250: #FBE6E3;
    --palette-danger-300: #F9D7D2;
    --palette-danger-350: #F6C4BC;
    --palette-danger-400: #F2ADA2;
    --palette-danger-450: #EC9283;
    --palette-danger-500: #E67361;
    --palette-danger-550: #DF4229;
    --palette-danger-600: #B6301A;
    --palette-danger-650: #8E2514;
    --palette-danger-700: #6E1C0F;
    --palette-danger-750: #54150B;
    --palette-danger-800: #411008;
    --palette-danger-850: #360E07;
    --palette-danger-900: #330D06;
    --palette-warning-100: #FDFAF6;
    --palette-warning-150: #FCF8F3;
    --palette-warning-200: #FAF3EA;
    --palette-warning-250: #F7EADB;
    --palette-warning-300: #F1DDC5;
    --palette-warning-350: #EBCDAA;
    --palette-warning-400: #E2B988;
    --palette-warning-450: #D7A161;
    --palette-warning-500: #CB8534;
    --palette-warning-550: #A56C29;
    --palette-warning-600: #835520;
    --palette-warning-650: #664218;
    --palette-warning-700: #4E3312;
    --palette-warning-750: #3C260E;
    --palette-warning-800: #2E1E0B;
    --palette-warning-850: #261909;
    --palette-warning-900: #241708;
    --palette-success-100: #F9FBF3;
    --palette-success-150: #F7FAEF;
    --palette-success-200: #F1F7E5;
    --palette-success-250: #E8F2D4;
    --palette-success-300: #DCEBBC;
    --palette-success-350: #CBE29D;
    --palette-success-400: #B7D777;
    --palette-success-450: #9FC94B;
    --palette-success-500: #7CA131;
    --palette-success-550: #648227;
    --palette-success-600: #4F671F;
    --palette-success-650: #3D5018;
    --palette-success-700: #2F3D12;
    --palette-success-750: #242F0E;
    --palette-success-800: #1C240A;
    --palette-success-850: #171E09;
    --palette-success-900: #151C08;
    --palette-info-100: #F9FBF3;
    --palette-info-150: #F7FAEF;
    --palette-info-200: #F1F7E5;
    --palette-info-250: #E8F2D4;
    --palette-info-300: #DBEBBC;
    --palette-info-350: #CBE29D;
    --palette-info-400: #B7D777;
    --palette-info-450: #9FCA4B;
    --palette-info-500: #7BA130;
    --palette-info-550: #638227;
    --palette-info-600: #4F671E;
    --palette-info-650: #3D5017;
    --palette-info-700: #2F3D12;
    --palette-info-750: #232F0E;
    --palette-info-800: #1B240A;
    --palette-info-850: #171E09;
    --palette-info-900: #151C08;
    --palette-accent-100: #FDFAF6;
    --palette-accent-150: #FCF8F3;
    --palette-accent-200: #FAF3EA;
    --palette-accent-250: #F7EADA;
    --palette-accent-300: #F2DEC3;
    --palette-accent-350: #EBCEA7;
    --palette-accent-400: #E3BA84;
    --palette-accent-450: #D8A35C;
    --palette-accent-500: #C98731;
    --palette-accent-550: #A26D26;
    --palette-accent-600: #81571E;
    --palette-accent-650: #654317;
    --palette-accent-700: #4D3411;
    --palette-accent-750: #3B270D;
    --palette-accent-800: #2E1F0A;
    --palette-accent-850: #261908;
    --palette-accent-900: #231808;
  }

  :root {
    --radius: 1.0rem;
    --radius-sm: calc(var(--radius) - 4px);
    --radius-md: calc(var(--radius) - 2px);
    --radius-lg: var(--radius);
    --radius-xl: calc(var(--radius) + 4px);
    --background: #FBFDF6;
    --foreground: #0A0A0A;
    --card: #FFFFFF;
    --card-foreground: #0A0A0A;
    --popover: #FFFFFF;
    --popover-foreground: #0A0A0A;
    --primary: #203B14;
    --primary-foreground: #FFFFFF;
    --secondary: var(--palette-neutral-100);
    --secondary-foreground: #0A0A0A;
    --muted: var(--palette-neutral-100);
    --muted-foreground: #6F706D;
    --accent: var(--palette-brand-200);
    --accent-foreground: #1C240B;
    --destructive: #C1331E;
    --destructive-foreground: #FFFFFF;
    --border: var(--palette-neutral-100);
    --input: var(--palette-neutral-200);
    --ring: var(--palette-brand-500);
    --chart-1: #203B14;
    --chart-2: #7CA032;
    --chart-3: #4A3212;
    --chart-4: #9FC84D;
    --chart-5: var(--palette-neutral-200);
    --sidebar: #FBFDF6;
    --sidebar-foreground: #0A0A0A;
    --sidebar-primary: #203B14;
    --sidebar-primary-foreground: #FFFFFF;
    --sidebar-accent: var(--palette-brand-200);
    --sidebar-accent-foreground: #1C240B;
    --sidebar-border: var(--palette-neutral-100);
    --sidebar-ring: var(--palette-brand-500);
    --font-sans: "Source Serif 4", system-ui, sans-serif;
    --font-display: "Inter", system-ui, sans-serif;
    --font-mono: "JetBrains Mono", ui-monospace, monospace;
    --text-hero: 400 3.3125rem/3.25rem var(--font-display);
    --text-hero-tracking: -0.04em;
    --text-title: 400 1.125rem/1.625rem var(--font-display);
    --text-heading: 400 1.125rem/1.625rem var(--font-display);
    --text-body: 400 0.9375rem/1.375rem var(--font-sans);
    --text-caption: 400 0.875rem/0.875rem var(--font-sans);
    --text-label: 400 0.875rem/0.875rem var(--font-display);
    --text-label-tracking: 0.02em;
    --text-overline: 400 0.75rem/1rem var(--font-display);
    --shadow-xs: none;
    --shadow-sm: none;
    --shadow-md: none;
    --shadow-lg: none;
    --shadow-xl: none;
    --gradient-brand_wash: linear-gradient(in oklab, rgba(0, 0, 0, 0) 0%, rgb(5, 14, 17) 100%);
    --gradient-scrim_fade: linear-gradient(to right in oklab, rgb(251, 253, 246) 40%, rgba(0, 0, 0, 0) 50%);
  }

  .dark {
    --background: #0A0A0A;
    --foreground: #E2E2E2;
    --card: #252525;
    --card-foreground: #FFFFFF;
    --popover: #252525;
    --popover-foreground: #FFFFFF;
    --primary: var(--palette-brand-400);
    --primary-foreground: #0A0A0A;
    --secondary: var(--palette-neutral-800);
    --secondary-foreground: #E2E2E2;
    --muted: var(--palette-neutral-800);
    --muted-foreground: var(--palette-neutral-400);
    --accent: var(--palette-neutral-700);
    --accent-foreground: #FFFFFF;
    --destructive: #E86F5C;
    --destructive-foreground: #0A0A0A;
    --border: var(--palette-neutral-800);
    --input: var(--palette-neutral-700);
    --ring: var(--palette-brand-500);
    --chart-1: var(--palette-brand-400);
    --chart-2: var(--palette-brand-500);
    --chart-3: var(--palette-neutral-100);
    --chart-4: var(--palette-neutral-600);
    --chart-5: var(--palette-neutral-400);
    --sidebar: #252525;
    --sidebar-foreground: #E2E2E2;
    --sidebar-primary: var(--palette-brand-400);
    --sidebar-primary-foreground: #0A0A0A;
    --sidebar-accent: var(--palette-neutral-700);
    --sidebar-accent-foreground: #FFFFFF;
    --sidebar-border: var(--palette-neutral-800);
    --sidebar-ring: var(--palette-brand-500);
  }
}

@layer base {
  * { border-color: var(--border); }
  body { background-color: var(--background); color: var(--foreground); font-family: var(--font-sans); }
}

@layer components {
  .text-hero {
    font: var(--text-hero);
    letter-spacing: var(--text-hero-tracking);
  }
  .text-title {
    font: var(--text-title);
  }
  .text-heading {
    font: var(--text-heading);
  }
  .text-body {
    font: var(--text-body);
  }
  .text-caption {
    font: var(--text-caption);
  }
  .text-label {
    font: var(--text-label);
    letter-spacing: var(--text-label-tracking);
  }
  .text-overline {
    font: var(--text-overline);
  }
}