:root{
/* ---- Brand primitives (sampled from the Nexio style guide) ---- */
--nx-violet:#4436F8;
--nx-violet-light:#786FF9;
--nx-violet-mid:#5D51F8;
--nx-violet-hover:#6E63F9;
--nx-violet-deep:#2A1FC9;
--nx-black:#080808;
--nx-ink:#0F0F0F;
--nx-carbon:#171717;
--nx-graphite:#272727;
--nx-steel:#3A3A3A;
--nx-gray:#7E7E7E;
--nx-white:#FFFFFF;

/* ---- Semantic (approximated from screens, see readme CAVEATS) ---- */
--nx-danger:#E5342B;
--nx-danger-deep:#AA0202;
--nx-success:#1FA85B;

/* ---- Surfaces ---- */
--surface-page:var(--nx-ink);
--surface-void:var(--nx-black);
--surface-card:var(--nx-carbon);
--surface-raised:var(--nx-graphite);
--surface-chip:rgba(255,255,255,.05);
--surface-chip-hover:rgba(255,255,255,.09);
--surface-glass:rgba(23,23,23,.72);
--surface-accent:var(--nx-violet);
--surface-accent-soft:rgba(68,54,248,.14);

/* ---- Text ---- */
--text-primary:var(--nx-white);
--text-body:#B4B4B4;
--text-muted:var(--nx-gray);
--text-faint:#565656;
--text-accent:var(--nx-violet-light);
--text-on-accent:var(--nx-white);

/* ---- Borders ---- */
--border-hairline:rgba(255,255,255,.06);
--border-subtle:rgba(255,255,255,.10);
--border-strong:rgba(255,255,255,.18);
--border-accent:rgba(120,111,249,.55);

/* ---- Gradients ---- */
--grad-accent:linear-gradient(135deg,#4436F8 0%,#786FF9 100%); /* @kind color */
--grad-accent-flat:linear-gradient(90deg,#5D51F8 0%,#786FF9 100%); /* @kind color */
--grad-mark:linear-gradient(135deg,#2A1FC9 0%,#786FF9 100%); /* @kind color */
--grad-panel:linear-gradient(160deg,#1B1747 0%,#0F0F0F 62%); /* @kind color */
--grad-halo:radial-gradient(60% 60% at 50% 0%,rgba(68,54,248,.35) 0%,rgba(15,15,15,0) 70%); /* @kind color */
--grad-protect-bottom:linear-gradient(180deg,rgba(15,15,15,0) 0%,rgba(15,15,15,.92) 70%,#0F0F0F 100%); /* @kind color */
}
