:root{
/* --- base: navy ramp (page + surfaces) --- */
--navy-1000:#03060f;
--navy-950:#050a18;
--navy-900:#070f26;
--navy-850:#0a1428;
--navy-800:#0b1f4d;
--navy-750:#0a1b40;
--navy-700:#102a5e;
--navy-600:#123a86;
--navy-500:#1c4ba3;

/* --- base: blue (primary action) --- */
--blue-700:#1552c4;
--blue-600:#1b6ef3;
--blue-500:#3b87ff;
--blue-400:#5b9bff;
--blue-300:#7fb0ff;

/* --- base: yellow (highlight / secondary action) --- */
--yellow-600:#d4a70c;
--yellow-500:#f5c518;
--yellow-400:#ffd645;

/* --- base: neutral text on dark --- */
--fg-1:#ffffff;
--fg-2:#c3cfe6;
--fg-3:#a9b7d1;
--fg-4:#7a89a8;
--fg-5:#5f76a3;

/* --- base: semantic hues --- */
--green-500:#2fbf71;
--red-500:#e5484d;
--orange-500:#f5901d;

/* --- base: lines --- */
--line-1:#16203a;
--line-2:#1f2c4c;
--line-strong:rgba(120,150,210,.35);

/* --- base: alpha overlays --- */
--white-a04:rgba(255,255,255,.04);
--white-a06:rgba(255,255,255,.06);
--white-a10:rgba(255,255,255,.10);
--white-a16:rgba(255,255,255,.16);
--white-a28:rgba(255,255,255,.28);
--blue-a12:rgba(27,110,243,.12);
--blue-a22:rgba(27,110,243,.22);
--yellow-a12:rgba(245,197,24,.12);

/* ============ semantic aliases ============ */
/* surfaces */
--surface-page:var(--navy-950);
--surface-page-alt:var(--navy-1000);
--surface-card:var(--navy-750);
--surface-card-hover:var(--navy-700);
--surface-raised:rgba(16,42,94,.9);
--surface-inset:var(--white-a04);
--surface-gradient-hero:radial-gradient(120% 90% at 78% 8%,var(--navy-600) 0%,var(--navy-800) 38%,var(--navy-900) 70%,var(--navy-950) 100%);
--surface-gradient-card:linear-gradient(160deg,var(--navy-600),var(--navy-800));
--surface-gradient-band:linear-gradient(180deg,var(--blue-a22),rgba(7,15,38,.2));

/* text */
--text-strong:var(--fg-1);
--text-body:var(--fg-3);
--text-muted:var(--fg-4);
--text-faint:var(--fg-5);
--text-on-accent:var(--navy-800);
--text-link:var(--blue-300);
--text-highlight:var(--blue-500);
--text-eyebrow:var(--blue-400);

/* action */
--action-primary:var(--blue-600);
--action-primary-hover:var(--blue-500);
--action-primary-active:var(--blue-700);
--action-primary-fg:var(--fg-1);
--action-secondary:var(--yellow-500);
--action-secondary-hover:var(--yellow-400);
--action-secondary-active:var(--yellow-600);
--action-secondary-fg:var(--navy-800);
--action-ghost-border:var(--white-a28);
--action-disabled:var(--white-a10);
--action-disabled-fg:var(--fg-5);

/* borders */
--border-subtle:var(--line-1);
--border-default:var(--line-2);
--border-strong:var(--line-strong);
--border-focus:var(--blue-500);

/* status */
--status-success:var(--green-500);
--status-warning:var(--yellow-500);
--status-danger:var(--red-500);
--status-info:var(--blue-500);
--status-success-bg:rgba(47,191,113,.14);
--status-warning-bg:var(--yellow-a12);
--status-danger-bg:rgba(229,72,77,.14);
--status-info-bg:var(--blue-a12);
}
