/* Generated from the published brand tokens; scoped to Events. */
.nxe {
  /* --- Dark mode (nexceris.com, decks, video, all dark applications) --- */
  --nx-green: #00FF9F;              /* buttons, links, stats, active states. never body copy */
  --nx-obsidian: #020510;           /* the single dark background value */
  --nx-white: #FFFFFF;              /* headlines, primary UI labels, the logo */
  --nx-mist: #DEDEDE;               /* 15.1:1 — body copy on dark. do not go dimmer */

  /* --- Light mode (store, product pages, transactional email, long-form) ---
     Three greens, three jobs: Signal acts, Deep reads, Bright decorates. */
  --nx-signal-green: #008112;       /* 5.1:1 — primary action on light */
  --nx-deep-green: #0C771B;         /* 5.7:1 — the only green safe at small text sizes */
  --nx-bright-green: #00A555;       /* 3.2:1 — 24px+ only on light. the link color on dark (8.6) */
  --nx-graphite: #363636;           /* 12.1:1 — body copy on light */
  --nx-surface-gray: #EBECED;       /* borders, dividers, table rules */
  --nx-paper: #F8F8F8;              /* the only tinted background on light */

  /* --- Secondary. Charts, diagrams, icons only. Max 15% of a layout's color area.
         Never a button, link, section background or logo color. --- */
  --nx-reactor-copper: #E06D00;     /* heat, energy, thermal */
  --nx-electrolyte-teal: #00857D;   /* ionic and electrochemical flow */
  --nx-anode-rose: #B82E5C;         /* deltas, negative branches */

  /* --- Chart series, dark. Assign in order from 01. Eight is the ceiling. --- */
  --nx-chart-d-01: #00FF9F;         /* Nexceris result — always ours in a comparison */
  --nx-chart-d-02: #FF9A3D;         /* baseline, incumbent, thermal */
  --nx-chart-d-03: #2FD3C4;         /* electrochemical and ionic */
  --nx-chart-d-04: #FF7BA6;         /* degradation and loss */
  --nx-chart-d-05: #7C9BFF;
  --nx-chart-d-06: #C39BFF;
  --nx-chart-d-07: #DEDEDE;         /* other, totals, context */
  --nx-chart-d-08: #6B7280;         /* extension only */

  /* --- Chart series, light --- */
  --nx-chart-l-01: #0C771B;
  --nx-chart-l-02: #E06D00;
  --nx-chart-l-03: #00857D;
  --nx-chart-l-04: #B82E5C;
  --nx-chart-l-05: #3A4E9B;
  --nx-chart-l-06: #6B4C9A;
  --nx-chart-l-07: #363636;
  --nx-chart-l-08: #A8ADB4;

  /* --- Ramps. Sample only these stops; do not interpolate new ones. --- */
  --nx-seq-1: #E3F3E6;
  --nx-seq-2: #A9DCB5;
  --nx-seq-3: #6BC183;
  --nx-seq-4: #2FA34C;
  --nx-seq-5: #0C771B;
  --nx-seq-6: #054A10;

  /* Diverging never includes green — green means Nexceris, not "good". */
  --nx-div-1: #B82E5C;
  --nx-div-2: #D98299;
  --nx-div-3: #EFD3DA;
  --nx-div-4: #C3E0DD;
  --nx-div-5: #66B3AC;
  --nx-div-6: #00857D;

  /* --- Structure --- */
  --nx-hairline-dark: rgba(255, 255, 255, 0.10);
  --nx-hairline-light: #EBECED;
  --nx-ring-dark: rgba(255, 255, 255, 0.22);   /* icon and numeral ring on dark */
  --nx-ring-light: rgba(0, 0, 0, 0.18);
  --nx-gridline-dark: rgba(255, 255, 255, 0.18);
  --nx-gridline-light: #EBECED;

  /* --- Type. Hierarchy comes from size and space, never weight. --- */
  --nx-font: 'Manrope', 'Aptos', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --nx-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --nx-weight-light: 300;
  --nx-weight-regular: 400;
  --nx-weight-medium: 500;          /* every headline level */
  --nx-weight-semibold: 600;

  --nx-size-display: 4.75rem;       /* 76px — one per page, max two lines */
  --nx-size-h2: 2.75rem;            /* 44px */
  --nx-size-h3: 1.75rem;            /* 28px */
  --nx-size-lead: 1.375rem;         /* 22px */
  --nx-size-body: 1.0625rem;        /* 17px — never below 16px */
  --nx-size-caption: 0.875rem;      /* 14px — screen floor */
  --nx-size-eyebrow: 0.75rem;       /* 12px */
  --nx-size-button: 1rem;           /* 16px */

  --nx-track-display: -0.025em;
  --nx-track-h2: -0.02em;
  --nx-track-h3: -0.01em;
  --nx-track-eyebrow: 0.14em;       /* the only place tracking goes positive */

  --nx-leading-display: 1.05;
  --nx-leading-heading: 1.15;
  --nx-leading-lead: 1.6;
  --nx-leading-body: 1.7;

  /* --- Space. 8px base. --- */
  --nx-space-1: 8px;
  --nx-space-2: 16px;
  --nx-space-3: 24px;
  --nx-space-4: 32px;
  --nx-space-5: 48px;
  --nx-space-6: 72px;
  --nx-space-7: 120px;              /* section padding on web */
  --nx-gutter: 24px;
  --nx-page-margin: 80px;

  /* --- Radius. Nothing between these steps. Containers only. --- */
  --nx-radius-0: 0;                 /* tables, icon tiles, technical marks, full-bleed */
  --nx-radius-sm: 8px;              /* thumbnails, inputs, chips */
  --nx-radius-md: 16px;             /* cards in a set */
  --nx-radius-lg: 32px;             /* page-scale containers, hero panels */
  --nx-radius-pill: 9999px;         /* buttons and status chips only */

  /* --- Motion. It confirms; it does not perform. --- */
  --nx-duration-state: 120ms;
  --nx-duration-reveal: 220ms;
  --nx-duration-entrance: 400ms;
  --nx-ease-enter: cubic-bezier(.2, .8, .2, 1);
  --nx-ease-exit: cubic-bezier(.4, 0, 1, 1);
  --nx-motion-travel: 16px;         /* maximum, on one axis */
  --nx-duration-thumbnail: 300ms;
  --nx-thumb-scale: 1.045;
  --nx-duration-indicator: 0.3s;    /* link underline draw and arrow slide — the one state that moves */
  --nx-ease-indicator: ease;
  --nx-indicator-travel: 4px;       /* arrow slide, in the direction it points */

  /* --- Interactive states (§8.6). Contrast figures are WCAG 2 against the mode's ground. --- */
  --nx-focus-width: 2px;
  --nx-focus-offset: 2px;
  --nx-focus-dark: #00FF9F;
  --nx-focus-light: #008112;

  /* Links: a quiet underline at rest, a solid one draws over it on hover */
  --nx-link-dark: #00FF9F;          /* in Mist copy. 15.3:1 on obsidian */
  --nx-link-rule-dark: rgba(0, 255, 159, 0.5);
  --nx-link-hover-dark: #FFFFFF;
  --nx-link-light: #008112;         /* in Graphite copy. 5.1:1 on white; Deep Green on Surface Gray */
  --nx-link-rule-light: rgba(0, 129, 18, 0.5);
  --nx-link-hover-light: #020510;
  --nx-link-on-green: #020510;
  --nx-link-rule-on-green: rgba(2, 5, 16, 0.5);

  --nx-button-hover-dark: #FFFFFF;
  --nx-button-hover-light: #020510;
  --nx-button-disabled-fill-dark: rgba(255, 255, 255, 0.10);
  --nx-button-disabled-fill-light: #EBECED;
  --nx-disabled-ink-dark: rgba(222, 222, 222, 0.45);
  --nx-disabled-ink-light: rgba(54, 54, 54, 0.55);

  --nx-field-fill-dark: rgba(255, 255, 255, 0.05);
  --nx-field-border-dark: rgba(255, 255, 255, 0.40);       /* 3.7:1 */
  --nx-field-border-hover-dark: rgba(255, 255, 255, 0.60);
  --nx-placeholder-dark: rgba(222, 222, 222, 0.60);        /* 5.6:1 */
  --nx-field-ring-dark: rgba(0, 255, 159, 0.20);
  --nx-error-dark: #FF7BA6;
  --nx-field-fill-light: #FFFFFF;
  --nx-field-border-light: rgba(54, 54, 54, 0.60);         /* 3.6:1 */
  --nx-field-border-hover-light: #363636;
  --nx-placeholder-light: rgba(54, 54, 54, 0.75);          /* 5.6:1 */
  --nx-field-ring-light: rgba(0, 129, 18, 0.18);
  --nx-error-light: #B82E5C;
}
