/* Theme: Enterprising (enterprising) */
/* A dark comfortable workspace designed for high-density technical operations with rich glassmorphic surfaces and precise brand accents. */

@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 carrying the brand's cool technical undertone */
    --palette-neutral-100: #FBFAFB;
    --palette-neutral-150: #F9F9FA;
    --palette-neutral-200: #F4F4F6;
    --palette-neutral-250: #ECEBEE;
    --palette-neutral-300: #E1E0E4;
    --palette-neutral-350: #D3D1D7;
    --palette-neutral-400: #C2BFC7;
    --palette-neutral-450: #ADABB3;
    --palette-neutral-500: #96939B;
    --palette-neutral-550: #787481;
    --palette-neutral-600: #5F5B67;
    --palette-neutral-650: #4A4651;
    --palette-neutral-700: #39363F;
    --palette-neutral-750: #2B2930;
    --palette-neutral-800: #222026;
    --palette-neutral-850: #1C1A20;
    --palette-neutral-900: #1A191E;
    /* Vibrant cool purple anchoring the primary identity */
    --palette-brand-100: #FAF9FD;
    --palette-brand-150: #F9F8FD;
    --palette-brand-200: #F5F2FB;
    --palette-brand-250: #EDE9F8;
    --palette-brand-300: #E3DCF4;
    --palette-brand-350: #D6CCEE;
    --palette-brand-400: #C6B9E7;
    --palette-brand-450: #B4A3DE;
    --palette-brand-500: #9E89D4;
    --palette-brand-550: #7859C4;
    --palette-brand-600: #5B3BAB;
    --palette-brand-650: #482E89;
    --palette-brand-700: #38246D;
    --palette-brand-750: #2D1C56;
    --palette-brand-800: #241746;
    --palette-brand-850: #1F133D;
    --palette-brand-900: #1E123A;
    --palette-danger-100: #FFF9F7;
    --palette-danger-150: #FFF7F3;
    --palette-danger-200: #FFF0E9;
    --palette-danger-250: #FFE4D7;
    --palette-danger-300: #FFD4BE;
    --palette-danger-350: #FFBF9F;
    --palette-danger-400: #FEA579;
    --palette-danger-450: #FE874C;
    --palette-danger-500: #FC6419;
    --palette-danger-550: #DE4B02;
    --palette-danger-600: #B03B01;
    --palette-danger-650: #8A2E00;
    --palette-danger-700: #6A2300;
    --palette-danger-750: #511B00;
    --palette-danger-800: #3F1500;
    --palette-danger-850: #341100;
    --palette-danger-900: #311000;
    --palette-warning-100: #FEF9F4;
    --palette-warning-150: #FEF7F1;
    --palette-warning-200: #FEF1E5;
    --palette-warning-250: #FCE7D2;
    --palette-warning-300: #FBD9B8;
    --palette-warning-350: #F8C797;
    --palette-warning-400: #F5B16E;
    --palette-warning-450: #F1973E;
    --palette-warning-500: #E17A12;
    --palette-warning-550: #B7620D;
    --palette-warning-600: #914E0A;
    --palette-warning-650: #723D07;
    --palette-warning-700: #582E05;
    --palette-warning-750: #432304;
    --palette-warning-800: #341C03;
    --palette-warning-850: #2C1702;
    --palette-warning-900: #291502;
    --palette-success-100: #F4FCF9;
    --palette-success-150: #F1FCF7;
    --palette-success-200: #E6F9F1;
    --palette-success-250: #D4F5E7;
    --palette-success-300: #BBEED9;
    --palette-success-350: #9BE6C7;
    --palette-success-400: #73DDB1;
    --palette-success-450: #45D196;
    --palette-success-500: #2BA874;
    --palette-success-550: #22885D;
    --palette-success-600: #1B6C4A;
    --palette-success-650: #155439;
    --palette-success-700: #10412C;
    --palette-success-750: #0C3122;
    --palette-success-800: #09261A;
    --palette-success-850: #082016;
    --palette-success-900: #071E14;
    --palette-info-100: #F7FAFF;
    --palette-info-150: #F5F9FF;
    --palette-info-200: #ECF4FF;
    --palette-info-250: #DFECFF;
    --palette-info-300: #CCE1FF;
    --palette-info-350: #B4D2FF;
    --palette-info-400: #97C1FF;
    --palette-info-450: #74ACFF;
    --palette-info-500: #4D94FF;
    --palette-info-550: #0C6EFF;
    --palette-info-600: #0055D8;
    --palette-info-650: #0042A9;
    --palette-info-700: #003383;
    --palette-info-750: #002765;
    --palette-info-800: #001E4F;
    --palette-info-850: #001942;
    --palette-info-900: #00183E;
    --palette-accent-100: #FFF9F7;
    --palette-accent-150: #FFF7F3;
    --palette-accent-200: #FFF0E9;
    --palette-accent-250: #FFE4D7;
    --palette-accent-300: #FFD4BE;
    --palette-accent-350: #FFBF9F;
    --palette-accent-400: #FEA579;
    --palette-accent-450: #FE874C;
    --palette-accent-500: #FC6419;
    --palette-accent-550: #DE4B02;
    --palette-accent-600: #B03B01;
    --palette-accent-650: #8A2E00;
    --palette-accent-700: #6A2300;
    --palette-accent-750: #511B00;
    --palette-accent-800: #3F1500;
    --palette-accent-850: #341100;
    --palette-accent-900: #311000;
  }

  :root {
    --radius: 1rem;
    --radius-sm: calc(var(--radius) - 4px);
    --radius-md: calc(var(--radius) - 2px);
    --radius-lg: var(--radius);
    --radius-xl: calc(var(--radius) + 4px);
    --background: #FFFFFF;
    --foreground: #171321;
    --card: var(--palette-neutral-150);
    --card-foreground: var(--palette-neutral-900);
    --popover: var(--palette-neutral-100);
    --popover-foreground: var(--palette-neutral-900);
    --primary: #1F1C2E;
    --primary-foreground: #FFFFFF;
    --secondary: var(--palette-neutral-150);
    --secondary-foreground: var(--palette-neutral-900);
    --muted: var(--palette-neutral-200);
    --muted-foreground: var(--palette-neutral-700);
    --accent: var(--palette-brand-200);
    --accent-foreground: var(--palette-brand-700);
    --destructive: var(--palette-danger-500);
    --destructive-foreground: #171321;
    --border: var(--palette-neutral-200);
    --input: var(--palette-neutral-200);
    --ring: var(--palette-brand-550);
    --chart-1: var(--palette-brand-550);
    --chart-2: var(--palette-accent-500);
    --chart-3: #2EB67D;
    --chart-4: #3E8BFF;
    --chart-5: #F19F4D;
    --sidebar: var(--palette-neutral-150);
    --sidebar-foreground: var(--palette-neutral-900);
    --sidebar-primary: var(--palette-brand-550);
    --sidebar-primary-foreground: #FFFFFF;
    --sidebar-accent: var(--palette-neutral-200);
    --sidebar-accent-foreground: var(--palette-neutral-900);
    --sidebar-border: var(--palette-neutral-200);
    --sidebar-ring: var(--palette-brand-550);
    --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: 660 4rem/4.25rem var(--font-display);
    --text-hero-tracking: -0.03em;
    --text-title: 400 2rem/2.25rem var(--font-display);
    --text-title-tracking: -0.02em;
    --text-heading: 700 1.5rem/2.25rem var(--font-display);
    --text-body: 600 1rem/1.5rem var(--font-sans);
    --text-caption: 400 0.875rem/1.25rem var(--font-sans);
    --text-label: 660 1.125rem/1.4375rem var(--font-display);
    --text-overline: 600 0.75rem/1rem var(--font-sans);
    --text-overline-tracking: 0.08em;
    --text-overline-transform: uppercase;
    --shadow-xs: 0 1px 2px rgba(0,0,0,0.05);
    --shadow-sm: 0px -4px 20px 0px rgba(0, 0, 0, 0.08);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.12);
    --shadow-lg: 0 8px 24px rgba(0,0,0,0.16);
    --shadow-xl: 0 12px 32px rgba(0,0,0,0.2);
    --gradient-brand_wash: linear-gradient(135deg, #7759C2 0%, #FC6D26 100%);
    --gradient-scrim_orange: radial-gradient(72% 85% at 104% 55%, rgb(238, 92, 18) 0px, rgba(241, 105, 28, 0.95) 10%, rgba(244, 125, 55, 0.8) 22%, rgba(247, 155, 95, 0.55) 36%, rgba(250, 184, 137, 0.3), rgba(252, 206, 171, 0) 68%);
    --gradient-scrim_fade: radial-gradient(85% 100% at 96% 45%, rgba(246, 145, 70, 0.7) 0px, rgba(250, 177, 117, 0.45), rgba(253, 205, 160, 0.2) 44%, rgba(255, 225, 195, 0) 64%);
  }

  .dark {
    --background: #171321;
    --foreground: #FFFFFF;
    --card: var(--palette-neutral-900);
    --card-foreground: var(--palette-neutral-100);
    --popover: var(--palette-neutral-800);
    --popover-foreground: var(--palette-neutral-100);
    --primary: var(--palette-brand-550);
    --primary-foreground: #FFFFFF;
    --secondary: var(--palette-neutral-800);
    --secondary-foreground: var(--palette-neutral-100);
    --muted: var(--palette-neutral-700);
    --muted-foreground: var(--palette-neutral-300);
    --accent: var(--palette-brand-800);
    --accent-foreground: var(--palette-brand-200);
    --destructive: var(--palette-danger-500);
    --destructive-foreground: #171321;
    --border: var(--palette-neutral-700);
    --input: var(--palette-neutral-700);
    --ring: var(--palette-brand-500);
    --chart-1: var(--palette-brand-500);
    --chart-2: var(--palette-accent-500);
    --chart-3: #2EB67D;
    --chart-4: #3E8BFF;
    --chart-5: #F19F4D;
    --sidebar: #1F1C2E;
    --sidebar-foreground: var(--palette-neutral-100);
    --sidebar-primary: var(--palette-brand-800);
    --sidebar-primary-foreground: #FFFFFF;
    --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-title {
    font: var(--text-title);
    letter-spacing: var(--text-title-tracking);
  }
  .text-heading {
    font: var(--text-heading);
  }
  .text-body {
    font: var(--text-body);
  }
  .text-caption {
    font: var(--text-caption);
  }
  .text-label {
    font: var(--text-label);
  }
  .text-overline {
    font: var(--text-overline);
    letter-spacing: var(--text-overline-tracking);
    text-transform: var(--text-overline-transform);
  }
}