:root{
/* Brand */
--tedx-red:#EB0028;
--tedx-red-hover:#C40022;
--tedx-red-press:#A3001C;
--tedx-red-tint:rgba(235,0,40,.12);
--tedx-red-glow:rgba(235,0,40,.35);
--black:#000000;
--white:#FFFFFF;

/* Neutral ramp — pure-grey, no colour cast */
--grey-950:#0A0A0A;
--grey-900:#141414;
--grey-850:#1A1A1A;
--grey-800:#242424;
--grey-700:#333333;
--grey-600:#4D4D4D;
--grey-500:#757575;
--grey-400:#9E9E9E;
--grey-300:#C7C7C7;
--grey-200:#E0E0E0;
--grey-100:#EFEFEF;
--grey-50:#F7F7F7;

/* Support — used only for status, never for decoration */
--success:#00A05A;
--warning:#F5A623;
--danger:var(--tedx-red);
--info:#1D6FD6;

/* Transparency */
--alpha-white-08:rgba(255,255,255,.08);
--alpha-white-16:rgba(255,255,255,.16);
--alpha-white-60:rgba(255,255,255,.60);
--alpha-black-08:rgba(0,0,0,.08);
--alpha-black-40:rgba(0,0,0,.40);
--scrim-bottom:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.75) 100%); /* @kind other */
--scrim-left:linear-gradient(90deg,rgba(0,0,0,.85) 0%,rgba(0,0,0,0) 70%); /* @kind other */

/* ---- Semantic aliases: light surface (default) ---- */
--surface-page:var(--white);
--surface-card:var(--white);
--surface-sunken:var(--grey-50);
--surface-raised:var(--white);
--surface-inverse:var(--black);
--surface-accent:var(--tedx-red);
--text-primary:var(--black);
--text-secondary:var(--grey-600);
--text-muted:var(--grey-500);
--text-inverse:var(--white);
--text-accent:var(--tedx-red);
--text-on-accent:var(--white);
--border-subtle:var(--grey-200);
--border-strong:var(--black);
--border-accent:var(--tedx-red);
--focus-ring:var(--tedx-red);
--overlay:rgba(0,0,0,.82);
}

/* ---- Semantic aliases: dark surface. The stage default. ---- */
[data-theme="dark"]{
--surface-page:var(--black);
--surface-card:var(--grey-900);
--surface-sunken:var(--grey-950);
--surface-raised:var(--grey-850);
--surface-inverse:var(--white);
--text-primary:var(--white);
--text-secondary:var(--grey-300);
--text-muted:var(--grey-500);
--text-inverse:var(--black);
--text-accent:var(--tedx-red);
--border-subtle:var(--grey-800);
--border-strong:var(--white);
--overlay:rgba(0,0,0,.90);
}
