:root {
  color-scheme: dark;

  --navy-950: #05090F;
  --navy-900: #080E1A;
  --navy-850: #0B1322;
  --navy-800: #0F192C;
  --navy-750: #132038;
  --navy-700: #1A2944;
  --navy-600: #243656;
  --navy-500: #34496F;
  --navy-400: #5A6E92;
  --navy-300: #8494B2;

  --gold-50: #FBF3DC;
  --gold-200: #EFD68F;
  --gold-300: #E3C170;
  --gold-400: #D4AA52;
  --gold-500: #C39540;
  --gold-600: #A07731;
  --gold-700: #7A5A24;

  --silver-50: #F4F5F7;
  --silver-100: #E3E6EB;
  --silver-200: #C9CED7;
  --silver-300: #A5ADBB;
  --silver-400: #7F899A;

  --red-400: #F07174;
  --red-500: #E5484D;
  --red-700: #8E2226;
  --amber-400: #F2BC5E;
  --amber-500: #E8A53A;
  --amber-700: #7F5616;
  --green-400: #62CB98;
  --green-500: #3DB57E;
  --green-700: #1E6246;
  --blue-400: #75A8F5;
  --blue-500: #4C8DF0;
  --blue-700: #1F4786;

  --cat-narcotics: #9BD35A;
  --cat-weapons: #E5484D;
  --cat-gang: #B283F2;
  --cat-fraud: #E8A53A;
  --cat-trafficking: #F07AB8;
  --cat-other: #8494B2;

  --bg-app: var(--navy-950);
  --surface-1: var(--navy-900);
  --surface-2: var(--navy-850);
  --surface-3: var(--navy-800);
  --surface-raised: var(--navy-750);
  --surface-hover: rgba(132, 148, 178, .08);
  --surface-active: rgba(132, 148, 178, .14);
  --surface-overlay: rgba(3, 6, 12, .72);

  --border-subtle: rgba(132, 148, 178, .12);
  --border-default: rgba(132, 148, 178, .2);
  --border-strong: rgba(132, 148, 178, .34);
  --border-gold: rgba(212, 170, 82, .42);

  --text-primary: var(--silver-50);
  --text-secondary: var(--silver-300);
  --text-muted: var(--navy-300);
  --text-disabled: var(--navy-400);
  --text-gold: var(--gold-300);
  --text-on-accent: var(--navy-950);

  --accent: var(--gold-400);
  --accent-hover: var(--gold-300);
  --accent-press: var(--gold-500);
  --accent-subtle: rgba(212, 170, 82, .12);

  --danger: var(--red-500);
  --danger-fg: var(--red-400);
  --danger-subtle: rgba(229, 72, 77, .13);
  --warning: var(--amber-500);
  --warning-fg: var(--amber-400);
  --warning-subtle: rgba(232, 165, 58, .13);
  --success: var(--green-500);
  --success-fg: var(--green-400);
  --success-subtle: rgba(61, 181, 126, .13);
  --info: var(--blue-500);
  --info-fg: var(--blue-400);
  --info-subtle: rgba(76, 141, 240, .13);
  --discord: #5865F2;
  --discord-hover: #6D78F5;

  --font-display: "Cinzel", "Trajan Pro", Georgia, serif;
  --font-sans: "IBM Plex Sans", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, monospace;
  --fs-2xs: 11px;
  --fs-xs: 12px;
  --fs-sm: 13px;
  --fs-md: 14px;
  --fs-lg: 16px;
  --fs-xl: 18px;
  --fs-2xl: 22px;
  --fs-3xl: 28px;
  --fs-4xl: 36px;
  --lh-tight: 1.15;
  --lh-snug: 1.3;
  --lh-body: 1.5;
  --ls-label: .12em;
  --ls-display: .06em;
  --ls-tight: -.01em;
  --text-display: 600 var(--fs-4xl)/var(--lh-tight) var(--font-display);
  --text-h1: 600 var(--fs-3xl)/var(--lh-tight) var(--font-sans);
  --text-h2: 600 var(--fs-2xl)/var(--lh-snug) var(--font-sans);
  --text-h3: 600 var(--fs-lg)/var(--lh-snug) var(--font-sans);
  --text-body: 400 var(--fs-md)/var(--lh-body) var(--font-sans);
  --text-small: 400 var(--fs-sm)/var(--lh-body) var(--font-sans);
  --text-label: 600 var(--fs-2xs)/1 var(--font-sans);
  --text-data: 500 var(--fs-sm)/1.4 var(--font-mono);

  --radius-xs: 3px;
  --radius-sm: 5px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-pill: 999px;
  --control-h-sm: 28px;
  --control-h-md: 36px;
  --control-h-lg: 44px;
  --sidebar-w: 248px;
  --topbar-h: 56px;
  --content-max: 1440px;

  --shadow-1: inset 0 1px 0 rgba(255, 255, 255, .03), 0 1px 2px rgba(0, 0, 0, .45);
  --shadow-2: inset 0 1px 0 rgba(255, 255, 255, .04), 0 10px 28px -10px rgba(0, 0, 0, .7);
  --shadow-3: 0 0 0 1px var(--border-default), 0 28px 72px -16px rgba(0, 0, 0, .8);
  --glow-gold: 0 0 0 1px var(--border-gold), 0 0 28px -6px rgba(212, 170, 82, .4);
  --glow-danger: 0 0 0 1px rgba(229, 72, 77, .5), 0 0 24px -6px rgba(229, 72, 77, .5);
  --focus-ring: 0 0 0 2px var(--navy-950), 0 0 0 4px var(--gold-400);
  --hairline-gold: linear-gradient(90deg, transparent, var(--gold-500) 20%, var(--gold-300) 50%, var(--gold-500) 80%, transparent);
  --grid-pattern: linear-gradient(rgba(132, 148, 178, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(132, 148, 178, .05) 1px, transparent 1px);
  --blur-overlay: blur(8px);
  --ease-out: cubic-bezier(.2, .8, .2, 1);
  --ease-in-out: cubic-bezier(.65, 0, .35, 1);
  --dur-fast: 120ms;
  --dur-base: 200ms;
  --dur-slow: 320ms;
}

.cat-narcotics { --cat: var(--cat-narcotics); }
.cat-weapons { --cat: var(--cat-weapons); }
.cat-gang { --cat: var(--cat-gang); }
.cat-fraud { --cat: var(--cat-fraud); }
.cat-trafficking { --cat: var(--cat-trafficking); }
.cat-other { --cat: var(--cat-other); }
