/* Theme: Iris Carbon (iris-carbon) */
/* A cool engineering theme featuring vibrant iris accents on a dense, near-black slate canvas. */

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

@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=Geist: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 {
    /* Cool slate neutral carrying the metallic tint of the interface */
    --palette-neutral-100: #FAFAFC;
    --palette-neutral-150: #F8F9FB;
    --palette-neutral-200: #F3F4F8;
    --palette-neutral-250: #EAEBF3;
    --palette-neutral-300: #DEE0EB;
    --palette-neutral-350: #CFD1E1;
    --palette-neutral-400: #BCBFD5;
    --palette-neutral-450: #A7ABC6;
    --palette-neutral-500: #8E93B4;
    --palette-neutral-550: #686F9D;
    --palette-neutral-600: #51577F;
    --palette-neutral-650: #3E4365;
    --palette-neutral-700: #30344E;
    --palette-neutral-750: #25283D;
    --palette-neutral-800: #1D1F30;
    --palette-neutral-850: #181A29;
    --palette-neutral-900: #171926;
    /* Vibrant iris primary brand color */
    --palette-brand-100: #FAFAFE;
    --palette-brand-150: #F8F9FD;
    --palette-brand-200: #F2F3FC;
    --palette-brand-250: #E9EBFA;
    --palette-brand-300: #DCDFF6;
    --palette-brand-350: #CCD0F2;
    --palette-brand-400: #B8BDED;
    --palette-brand-450: #A1A8E6;
    --palette-brand-500: #868FDD;
    --palette-brand-550: #5360D1;
    --palette-brand-600: #303FBB;
    --palette-brand-650: #263196;
    --palette-brand-700: #1D2778;
    --palette-brand-750: #171F60;
    --palette-brand-800: #13194F;
    --palette-brand-850: #101645;
    --palette-brand-900: #0F1542;
    --palette-danger-100: #FEF9FA;
    --palette-danger-150: #FEF7F7;
    --palette-danger-200: #FDF0F1;
    --palette-danger-250: #FCE5E6;
    --palette-danger-300: #FAD6D7;
    --palette-danger-350: #F8C2C4;
    --palette-danger-400: #F4AAAD;
    --palette-danger-450: #F08E91;
    --palette-danger-500: #EA6E72;
    --palette-danger-550: #E43339;
    --palette-danger-600: #C4191F;
    --palette-danger-650: #9A1317;
    --palette-danger-700: #770E11;
    --palette-danger-750: #5C0B0D;
    --palette-danger-800: #48080A;
    --palette-danger-850: #3D0708;
    --palette-danger-900: #390608;
    --palette-warning-100: #FFFAF0;
    --palette-warning-150: #FEF9EC;
    --palette-warning-200: #FEF5DF;
    --palette-warning-250: #FDEDC9;
    --palette-warning-300: #FCE3AA;
    --palette-warning-350: #FBD682;
    --palette-warning-400: #F9C653;
    --palette-warning-450: #F6B31A;
    --palette-warning-500: #C48A08;
    --palette-warning-550: #9F7006;
    --palette-warning-600: #7E5904;
    --palette-warning-650: #624503;
    --palette-warning-700: #4B3502;
    --palette-warning-750: #3A2802;
    --palette-warning-800: #2D2001;
    --palette-warning-850: #251A01;
    --palette-warning-900: #231801;
    --palette-success-100: #F5FCF9;
    --palette-success-150: #F2FBF7;
    --palette-success-200: #E8F9F0;
    --palette-success-250: #D7F4E6;
    --palette-success-300: #BFEDD7;
    --palette-success-350: #A0E4C3;
    --palette-success-400: #7BD9AC;
    --palette-success-450: #4FCC90;
    --palette-success-500: #31A86F;
    --palette-success-550: #278859;
    --palette-success-600: #1F6C47;
    --palette-success-650: #185437;
    --palette-success-700: #12412A;
    --palette-success-750: #0E3120;
    --palette-success-800: #0B2619;
    --palette-success-850: #092015;
    --palette-success-900: #081E13;
    --palette-info-100: #F6FBFF;
    --palette-info-150: #F3FAFF;
    --palette-info-200: #E8F5FF;
    --palette-info-250: #D5EEFF;
    --palette-info-300: #BCE3FF;
    --palette-info-350: #9CD5FF;
    --palette-info-400: #74C4FF;
    --palette-info-450: #46B0FF;
    --palette-info-500: #1198FF;
    --palette-info-550: #007DDD;
    --palette-info-600: #0063B0;
    --palette-info-650: #004D89;
    --palette-info-700: #003B69;
    --palette-info-750: #002D51;
    --palette-info-800: #00233F;
    --palette-info-850: #001D34;
    --palette-info-900: #001B31;
    --palette-accent-100: #FAFAFF;
    --palette-accent-150: #F8F9FF;
    --palette-accent-200: #F2F3FF;
    --palette-accent-250: #E9EAFF;
    --palette-accent-300: #DBDEFF;
    --palette-accent-350: #CACEFF;
    --palette-accent-400: #B5BAFF;
    --palette-accent-450: #9CA3FF;
    --palette-accent-500: #8089FF;
    --palette-accent-550: #3C4AFF;
    --palette-accent-600: #0012FF;
    --palette-accent-650: #000CD4;
    --palette-accent-700: #0009AC;
    --palette-accent-750: #00078D;
    --palette-accent-800: #000576;
    --palette-accent-850: #000568;
    --palette-accent-900: #000464;
  }

  :root {
    --radius: 0.25rem;
    --radius-sm: calc(var(--radius) - 4px);
    --radius-md: calc(var(--radius) - 2px);
    --radius-lg: var(--radius);
    --radius-xl: calc(var(--radius) + 4px);
    --background: #E6E7EF;
    --foreground: #0E0F17;
    --card: #F2F3FC;
    --card-foreground: #0E0F17;
    --popover: #FAFAFE;
    --popover-foreground: #0E0F17;
    --primary: var(--palette-brand-600);
    --primary-foreground: #FFFFFF;
    --secondary: var(--palette-neutral-250);
    --secondary-foreground: var(--palette-neutral-900);
    --muted: var(--palette-neutral-200);
    --muted-foreground: #464A69;
    --accent: var(--palette-neutral-200);
    --accent-foreground: var(--palette-neutral-900);
    --destructive: var(--palette-danger-600);
    --destructive-foreground: #FFFFFF;
    --border: var(--palette-neutral-300);
    --input: var(--palette-neutral-350);
    --ring: var(--palette-brand-550);
    --chart-1: var(--palette-brand-550);
    --chart-2: var(--palette-accent-500);
    --chart-3: var(--palette-success-500);
    --chart-4: var(--palette-warning-500);
    --chart-5: var(--palette-danger-500);
    --sidebar: var(--palette-neutral-150);
    --sidebar-foreground: var(--palette-neutral-800);
    --sidebar-primary: var(--palette-brand-600);
    --sidebar-primary-foreground: #FFFFFF;
    --sidebar-accent: var(--palette-neutral-250);
    --sidebar-accent-foreground: var(--palette-neutral-900);
    --sidebar-border: var(--palette-neutral-250);
    --sidebar-ring: var(--palette-brand-550);
    --font-sans: "Inter", system-ui, sans-serif;
    --font-display: "Geist", system-ui, sans-serif;
    --font-mono: "JetBrains Mono", ui-monospace, monospace;
    --text-hero: 700 3.5rem/3.75rem var(--font-display);
    --text-hero-tracking: -0.02em;
    --text-title: 700 2.25rem/2.625rem var(--font-display);
    --text-heading: 600 1.5rem/2rem var(--font-display);
    --text-body: 400 0.875rem/1.25rem var(--font-sans);
    --text-caption: 400 0.75rem/1rem var(--font-sans);
    --text-label: 500 0.8125rem/1.125rem var(--font-sans);
    --text-overline: 600 0.6875rem/0.875rem var(--font-sans);
    --text-overline-tracking: 0.08em;
    --text-overline-transform: uppercase;
    --shadow-xs: 0 1px 2px rgba(0,0,0,0.15);
    --shadow-sm: 0 2px 4px rgba(0,0,0,0.2);
    --shadow-md: 0 4px 8px rgba(0,0,0,0.25);
    --shadow-lg: 0 8px 16px rgba(0,0,0,0.3);
    --shadow-xl: 0 12px 24px rgba(0,0,0,0.35);
    --gradient-brand_wash: linear-gradient(135deg, #5E6AD2 0%, #1D2778 100%);
  }

  .dark {
    --background: #0E0F17;
    --foreground: #E6E7EF;
    --card: #131520;
    --card-foreground: #E6E7EF;
    --popover: #10111A;
    --popover-foreground: #E6E7EF;
    --primary: var(--palette-brand-500);
    --primary-foreground: #0E0F17;
    --secondary: var(--palette-neutral-800);
    --secondary-foreground: var(--palette-neutral-150);
    --muted: var(--palette-neutral-850);
    --muted-foreground: #8A8FB1;
    --accent: var(--palette-neutral-800);
    --accent-foreground: var(--palette-neutral-100);
    --destructive: var(--palette-danger-600);
    --destructive-foreground: #FFFFFF;
    --border: var(--palette-neutral-750);
    --input: var(--palette-neutral-700);
    --ring: var(--palette-brand-500);
    --chart-1: var(--palette-brand-500);
    --chart-2: var(--palette-accent-500);
    --chart-3: var(--palette-success-500);
    --chart-4: var(--palette-warning-500);
    --chart-5: var(--palette-danger-500);
    --sidebar: #0A0B10;
    --sidebar-foreground: var(--palette-neutral-250);
    --sidebar-primary: var(--palette-brand-500);
    --sidebar-primary-foreground: #0E0F17;
    --sidebar-accent: var(--palette-neutral-850);
    --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);
  }
  .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);
  }
}