:root{
  /* --- Neutral ramp (near-black, slightly cool) --- */
  --gray-1000:#08090A; --gray-950:#0B0C0E; --gray-900:#0F1013; --gray-850:#13151A;
  --gray-800:#191C21; --gray-700:#22262D; --gray-600:#2E333B; --gray-500:#3D434D;
  --gray-400:#585F6B; --gray-300:#7B828D; --gray-200:#A7ADB6; --gray-100:#D3D7DC; --gray-0:#F7F8F8;

  /* --- Primary: neon green --- */
  --neon-50:#EBFFF4; --neon-100:#C9FFE2; --neon-200:#96FFC8; --neon-300:#5BFFA6;
  --neon-400:#34F58A; --neon-500:#19E077; --neon-600:#0FBB61; --neon-700:#0B9149;
  --neon-800:#086834; --neon-900:#05401F;

  /* --- Aurora accents --- */
  --cyan-400:#4CE3FF; --cyan-600:#0FA5C9;
  --violet-400:#9A7BFF; --violet-600:#6A44E0;
  --lime-400:#C9FF4C;
  --amber-400:#FFC44C;
  --red-400:#FF6B6B; --red-600:#D93A3A;

  /* --- Alpha utilities --- */
  --white-a3:rgba(255,255,255,.03); --white-a5:rgba(255,255,255,.05);
  --white-a8:rgba(255,255,255,.08); --white-a12:rgba(255,255,255,.12);
  --white-a20:rgba(255,255,255,.20);
  --black-a40:rgba(0,0,0,.40); --black-a70:rgba(0,0,0,.70);
  --neon-a12:rgba(25,224,119,.12); --neon-a20:rgba(25,224,119,.20); --neon-a40:rgba(25,224,119,.40);

  /* --- Semantic: surfaces --- */
  --surface-app:var(--gray-1000);
  --surface-panel:var(--gray-950);
  --surface-card:var(--gray-900);
  --surface-raised:var(--gray-850);
  --surface-input:var(--gray-900);
  --surface-hover:var(--white-a5);
  --surface-active:var(--white-a8);
  --surface-selected:var(--neon-a12);
  --surface-overlay:rgba(8,9,10,.72);
  --surface-glass:rgba(15,16,19,.72);

  /* --- Semantic: text --- */
  --text-primary:var(--gray-0);
  --text-body:var(--gray-100);
  --text-muted:var(--gray-300);
  --text-faint:var(--gray-400);
  --text-accent:var(--neon-300);
  --text-on-accent:#04160C;
  --text-link:var(--neon-300);
  --text-link-hover:var(--neon-200);

  /* --- Semantic: borders --- */
  --border-subtle:var(--white-a8);
  --border-default:#22262D;
  --border-strong:#31373F;
  --border-accent:var(--neon-a40);
  --border-focus:var(--neon-400);

  /* --- Semantic: brand + status --- */
  --accent:var(--neon-500);
  --accent-hover:var(--neon-400);
  --accent-press:var(--neon-600);
  --accent-quiet:var(--neon-a12);
  --status-success:var(--neon-400);
  --status-warning:var(--amber-400);
  --status-danger:var(--red-400);
  --status-info:var(--cyan-400);
  --status-neutral:var(--gray-300);
}
