/* Theme: placemaker (placemaker) */
/* A premium software design system featuring warm-toned, razor-sharp controls balanced by glass-like workspace panels and striking light typography. */

@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 {
    /* Observed neutral ramp seeded from #767676 to anchor pure white surfaces and deep dark-mode bases. */
    --palette-neutral-100: #FAFAFA;
    --palette-neutral-150: #F9F9F9;
    --palette-neutral-200: #F4F4F4;
    --palette-neutral-250: #ECECEC;
    --palette-neutral-300: #E1E1E1;
    --palette-neutral-350: #D3D3D3;
    --palette-neutral-400: #C1C1C1;
    --palette-neutral-450: #ACACAC;
    --palette-neutral-500: #949494;
    --palette-neutral-550: #787878;
    --palette-neutral-600: #5F5F5F;
    --palette-neutral-650: #4A4A4A;
    --palette-neutral-700: #383838;
    --palette-neutral-750: #2B2B2B;
    --palette-neutral-800: #212121;
    --palette-neutral-850: #1B1B1B;
    --palette-neutral-900: #1A1A1A;
    /* The primary signature dark red anchor, delivering a warm, high-contrast, premium brand tone. */
    --palette-brand-100: #FEF9F9;
    --palette-brand-150: #FDF7F7;
    --palette-brand-200: #FCF1F1;
    --palette-brand-250: #F9E7E7;
    --palette-brand-300: #F5D9D9;
    --palette-brand-350: #F0C7C7;
    --palette-brand-400: #EAB1B1;
    --palette-brand-450: #E29797;
    --palette-brand-500: #D87A7A;
    --palette-brand-550: #CB4747;
    --palette-brand-600: #AB2F2F;
    --palette-brand-650: #872424;
    --palette-brand-700: #691B1B;
    --palette-brand-750: #511515;
    --palette-brand-800: #401010;
    --palette-brand-850: #360E0E;
    --palette-brand-900: #330D0D;
    --palette-danger-100: #FEF9FA;
    --palette-danger-150: #FEF7F8;
    --palette-danger-200: #FEF0F1;
    --palette-danger-250: #FCE5E7;
    --palette-danger-300: #FBD5D8;
    --palette-danger-350: #F9C1C5;
    --palette-danger-400: #F5A8AF;
    --palette-danger-450: #F28C94;
    --palette-danger-500: #ED6B75;
    --palette-danger-550: #E72F3E;
    --palette-danger-600: #C71624;
    --palette-danger-650: #9C101B;
    --palette-danger-700: #790C15;
    --palette-danger-750: #5D0910;
    --palette-danger-800: #4A070C;
    --palette-danger-850: #3E060A;
    --palette-danger-900: #3A0509;
    --palette-warning-100: #FFF9F3;
    --palette-warning-150: #FFF8EF;
    --palette-warning-200: #FFF2E2;
    --palette-warning-250: #FFE8CC;
    --palette-warning-300: #FFDAAF;
    --palette-warning-350: #FFC888;
    --palette-warning-400: #FFB25A;
    --palette-warning-450: #FF9823;
    --palette-warning-500: #E47800;
    --palette-warning-550: #B96100;
    --palette-warning-600: #934D00;
    --palette-warning-650: #733C00;
    --palette-warning-700: #582E00;
    --palette-warning-750: #432300;
    --palette-warning-800: #351B00;
    --palette-warning-850: #2C1700;
    --palette-warning-900: #291500;
    --palette-success-100: #F6FBF7;
    --palette-success-150: #F3FAF4;
    --palette-success-200: #EBF7EC;
    --palette-success-250: #DDF1DE;
    --palette-success-300: #C9E9CA;
    --palette-success-350: #AFDEB2;
    --palette-success-400: #91D194;
    --palette-success-450: #6CC170;
    --palette-success-500: #48A84D;
    --palette-success-550: #3A883E;
    --palette-success-600: #2D6C31;
    --palette-success-650: #235426;
    --palette-success-700: #1B411D;
    --palette-success-750: #143116;
    --palette-success-800: #102611;
    --palette-success-850: #0D200E;
    --palette-success-900: #0C1E0D;
    --palette-info-100: #F8FAFC;
    --palette-info-150: #F5F9FB;
    --palette-info-200: #EEF5F8;
    --palette-info-250: #E3EDF3;
    --palette-info-300: #D2E3EC;
    --palette-info-350: #BED6E3;
    --palette-info-400: #A4C5D7;
    --palette-info-450: #87B2C9;
    --palette-info-500: #669BB9;
    --palette-info-550: #47809F;
    --palette-info-600: #38667F;
    --palette-info-650: #2B4F63;
    --palette-info-700: #203D4C;
    --palette-info-750: #182E3A;
    --palette-info-800: #13242D;
    --palette-info-850: #0F1E25;
    --palette-info-900: #0E1C23;
  }

  :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: var(--palette-neutral-100);
    --foreground: var(--palette-neutral-900);
    --card: var(--palette-neutral-100);
    --card-foreground: var(--palette-neutral-900);
    --popover: var(--palette-neutral-100);
    --popover-foreground: var(--palette-neutral-900);
    --primary: var(--palette-brand-500);
    --primary-foreground: var(--palette-neutral-900);
    --secondary: var(--palette-neutral-150);
    --secondary-foreground: var(--palette-neutral-900);
    --muted: var(--palette-neutral-150);
    --muted-foreground: var(--palette-neutral-600);
    --accent: var(--palette-neutral-150);
    --accent-foreground: var(--palette-neutral-900);
    --destructive: var(--palette-danger-500);
    --destructive-foreground: var(--palette-neutral-900);
    --border: var(--palette-neutral-150);
    --input: var(--palette-neutral-150);
    --ring: var(--palette-brand-500);
    --chart-1: var(--palette-brand-500);
    --chart-2: #8C5E5E;
    --chart-3: #A88060;
    --chart-4: #4E6E58;
    --chart-5: #4B6584;
    --sidebar: var(--palette-neutral-100);
    --sidebar-foreground: var(--palette-neutral-900);
    --sidebar-primary: var(--palette-brand-500);
    --sidebar-primary-foreground: var(--palette-neutral-900);
    --sidebar-accent: var(--palette-neutral-150);
    --sidebar-accent-foreground: var(--palette-neutral-900);
    --sidebar-border: var(--palette-neutral-150);
    --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 2.75rem/2.75rem var(--font-display);
    --text-hero-tracking: 0.04em;
    --text-hero-transform: uppercase;
    --text-title: 400 2.5rem/2.5rem var(--font-display);
    --text-title-tracking: 0.04em;
    --text-title-transform: uppercase;
    --text-heading: 400 2rem/2rem var(--font-display);
    --text-heading-tracking: 0.04em;
    --text-heading-transform: uppercase;
    --text-body: 400 1rem/1.5rem var(--font-sans);
    --text-caption: 500 0.8125rem/0.9375rem var(--font-display);
    --text-caption-tracking: 0.02em;
    --text-caption-transform: uppercase;
    --text-label: 400 1.125rem/1.6875rem var(--font-sans);
    --text-label-tracking: -0.01em;
    --text-overline: 400 1.5rem/1.5rem var(--font-display);
    --text-overline-tracking: 0.02em;
    --text-overline-transform: uppercase;
    --shadow-xs: none;
    --shadow-sm: none;
    --shadow-md: none;
    --shadow-lg: none;
    --shadow-xl: none;
    --gradient-brand_wash: linear-gradient(135deg, #641D1D 0%, #3D1111 100%);
  }

  .dark {
    --background: var(--palette-neutral-900);
    --foreground: var(--palette-neutral-100);
    --card: var(--palette-neutral-850);
    --card-foreground: var(--palette-neutral-100);
    --popover: var(--palette-neutral-850);
    --popover-foreground: var(--palette-neutral-100);
    --primary: var(--palette-brand-500);
    --primary-foreground: var(--palette-neutral-900);
    --secondary: var(--palette-neutral-800);
    --secondary-foreground: var(--palette-neutral-100);
    --muted: var(--palette-neutral-800);
    --muted-foreground: var(--palette-neutral-400);
    --accent: var(--palette-neutral-800);
    --accent-foreground: var(--palette-neutral-100);
    --destructive: var(--palette-danger-500);
    --destructive-foreground: var(--palette-neutral-900);
    --border: var(--palette-neutral-800);
    --input: var(--palette-neutral-800);
    --ring: var(--palette-brand-500);
    --chart-1: var(--palette-brand-500);
    --chart-2: #8C5E5E;
    --chart-3: #A88060;
    --chart-4: #4E6E58;
    --chart-5: #4B6584;
    --sidebar: var(--palette-neutral-900);
    --sidebar-foreground: var(--palette-neutral-100);
    --sidebar-primary: var(--palette-brand-500);
    --sidebar-primary-foreground: var(--palette-neutral-900);
    --sidebar-accent: var(--palette-neutral-800);
    --sidebar-accent-foreground: var(--palette-neutral-100);
    --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-transform: var(--text-hero-transform);
  }
  .text-title {
    font: var(--text-title);
    letter-spacing: var(--text-title-tracking);
    text-transform: var(--text-title-transform);
  }
  .text-heading {
    font: var(--text-heading);
    letter-spacing: var(--text-heading-tracking);
    text-transform: var(--text-heading-transform);
  }
  .text-body {
    font: var(--text-body);
  }
  .text-caption {
    font: var(--text-caption);
    letter-spacing: var(--text-caption-tracking);
    text-transform: var(--text-caption-transform);
  }
  .text-label {
    font: var(--text-label);
    letter-spacing: var(--text-label-tracking);
  }
  .text-overline {
    font: var(--text-overline);
    letter-spacing: var(--text-overline-tracking);
    text-transform: var(--text-overline-transform);
  }
}