/**
 * blank: all tokens
 *
 * The blank base brand. Same four-tier structure as cre8 — literal
 * values appear in exactly one place, the seed — but the seed itself is
 * deliberately unbranded: a muted slate primary, the conventional
 * green/red/amber status mapping, a system font stack, and a modest 8px
 * radius. Nothing here should read as "someone's brand" before it is
 * reseeded. Rebranding means overriding the seed block below, not editing
 * this file.
 *
 * The legacy --cre8-color-* names are still emitted, as aliases, in tier 3.
 * Every one resolves to the value it had before the restructure.
 */

:root {

/* ===========================================================================
   TIER 0 · SEED — the only literals in the system
   Owned by the integrator. Override these and every tier below follows.
   Nothing else in this file is a literal colour.

   These particular values are deliberately unbranded — a neutral slate
   primary and the conventional success/error/warning mapping (green/red/
   amber, not this system's own cre8 default of cyan/pink/amber) — so
   that an app looks like a blank, professional default before anyone runs
   the cre8-brand skill against it, and fully like the target brand after.
   =========================================================================== */
  --cre8-seed-primary: #475569;
  --cre8-seed-neutral: #64748b;
  --cre8-seed-success: #16a34a;
  --cre8-seed-error: #dc2626;
  --cre8-seed-warning: #d97706;
  --cre8-seed-accent: #6366f1;
  --cre8-seed-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --cre8-seed-radius: 8px;
  --cre8-seed-space: 0.25rem;
  --cre8-seed-font-size: 1rem;
  --cre8-seed-border-width: 0.0625rem;
}

/* A custom property is substituted where it is DECLARED, not where it is
   read. Declaring the tiers only on :root would mean a [data-mode] or a
   reseeded subtree changed the semantic layer while every component token
   stayed pinned to the value it resolved to at :root. So the stack is
   declared for :root and for any element carrying [data-cre8-theme], which
   is what makes subtree rebranding and scoped modes actually resolve.

     <div data-cre8-theme style="--cre8-seed-primary:#7C3AED">   scoped brand
     <div data-cre8-theme data-mode="inverse">                   scoped mode
     <html data-mode="inverse">                                  whole document
*/
:root,
[data-cre8-theme] {

/* ===========================================================================
   TIER 1 · PRIMITIVE — ramps derived from the seed
   Generated, never hand-edited. Each step reproduces the ramp this brand
   shipped before the restructure exactly (dE = 0) when the seed is unchanged.
   Relative colour syntax: Chrome 119+, Safari 16.4+, Firefox 128+.
   =========================================================================== */

  /* primary */
  --cre8-primary-50: oklch(from var(--cre8-seed-primary) 0.9705 calc(c * 0.0754) calc(h - 5.21));
  --cre8-primary-100: oklch(from var(--cre8-seed-primary) 0.9319 calc(c * 0.168) calc(h - 4.23));
  --cre8-primary-200: oklch(from var(--cre8-seed-primary) 0.8823 calc(c * 0.3035) calc(h - 5.69));
  --cre8-primary-300: oklch(from var(--cre8-seed-primary) 0.8091 calc(c * 0.5085) calc(h - 8));
  --cre8-primary-400: oklch(from var(--cre8-seed-primary) 0.7137 calc(c * 0.7626) calc(h - 5.19));
  --cre8-primary-500: var(--cre8-seed-primary);
  --cre8-primary-600: oklch(from var(--cre8-seed-primary) 0.5461 calc(c * 1.1446) calc(h + 3.07));
  --cre8-primary-700: oklch(from var(--cre8-seed-primary) 0.4882 calc(c * 1.155) calc(h + 4.56));
  --cre8-primary-800: oklch(from var(--cre8-seed-primary) 0.4244 calc(c * 0.962) calc(h + 5.82));
  --cre8-primary-900: oklch(from var(--cre8-seed-primary) 0.3791 calc(c * 0.7327) calc(h + 5.71));
  --cre8-primary-950: oklch(from var(--cre8-seed-primary) 0.2823 calc(c * 0.4651) calc(h + 8.12));

  /* neutral */
  --cre8-neutral-0: oklch(from var(--cre8-seed-neutral) 1 calc(c * 0) calc(h - 167.54));
  --cre8-neutral-50: oklch(from var(--cre8-seed-neutral) 0.9842 calc(c * 0.0838) calc(h - 9.56));
  --cre8-neutral-100: oklch(from var(--cre8-seed-neutral) 0.9683 calc(c * 0.1683) calc(h - 9.52));
  --cre8-neutral-200: oklch(from var(--cre8-seed-neutral) 0.9288 calc(c * 0.3099) calc(h - 1.91));
  --cre8-neutral-300: oklch(from var(--cre8-seed-neutral) 0.869 calc(c * 0.4875) calc(h - 4.52));
  --cre8-neutral-400: oklch(from var(--cre8-seed-neutral) 0.7107 calc(c * 0.8624) calc(h - 0.63));
  --cre8-neutral-500: var(--cre8-seed-neutral);
  --cre8-neutral-600: oklch(from var(--cre8-seed-neutral) 0.4455 calc(c * 0.9197) calc(h - 0.14));
  --cre8-neutral-700: oklch(from var(--cre8-seed-neutral) 0.3717 calc(c * 0.9617) calc(h - 0.13));
  --cre8-neutral-800: oklch(from var(--cre8-seed-neutral) 0.2795 calc(c * 0.905) calc(h + 2.61));
  --cre8-neutral-900: oklch(from var(--cre8-seed-neutral) 0.2077 calc(c * 0.9781) calc(h + 8.34));
  --cre8-neutral-950: oklch(from var(--cre8-seed-neutral) 0.1288 calc(c * 0.9972) calc(h + 7.28));

  /* success */
  --cre8-success-50: oklch(from var(--cre8-seed-success) 0.9841 calc(c * 0.1502) calc(h - 14.35));
  --cre8-success-400: oklch(from var(--cre8-seed-success) 0.7971 calc(c * 1.0648) calc(h - 3.69));
  --cre8-success-500: var(--cre8-seed-success);
  --cre8-success-600: oklch(from var(--cre8-seed-success) 0.6089 calc(c * 0.8823) calc(h + 6.5));

  /* error */
  --cre8-error-50: oklch(from var(--cre8-seed-error) 0.9714 calc(c * 0.0668) calc(h - 11.11));
  --cre8-error-100: oklch(from var(--cre8-seed-error) 0.9482 calc(c * 0.1305) calc(h - 12.05));
  --cre8-error-200: oklch(from var(--cre8-seed-error) 0.8994 calc(c * 0.278) calc(h - 11.08));
  --cre8-error-300: oklch(from var(--cre8-seed-error) 0.8228 calc(c * 0.5171) calc(h - 8.29));
  --cre8-error-400: oklch(from var(--cre8-seed-error) 0.7253 calc(c * 0.8274) calc(h - 4.55));
  --cre8-error-500: var(--cre8-seed-error);
  --cre8-error-600: oklch(from var(--cre8-seed-error) 0.5916 calc(c * 1.0293) calc(h + 6.28));
  --cre8-error-700: oklch(from var(--cre8-seed-error) 0.5246 calc(c * 0.9395) calc(h + 9.65));

  /* warning */
  --cre8-warning-50: oklch(from var(--cre8-seed-warning) 0.9869 calc(c * 0.13) calc(h + 25.2));
  --cre8-warning-400: oklch(from var(--cre8-seed-warning) 0.8369 calc(c * 0.9986) calc(h + 14.35));
  --cre8-warning-500: var(--cre8-seed-warning);
  --cre8-warning-600: oklch(from var(--cre8-seed-warning) 0.6658 calc(c * 0.956) calc(h - 11.76));

  /* accent
     -50 and -500 added by hand (not from the original generator, which never
     emitted them) to give info-status tokens a real ramp to point at instead
     of borrowing primary's. Simple relative lightness offsets from the -600
     identity step, not the per-hue-tuned coefficients the rest of this ramp
     uses -- close enough for a light tint and a mid-strength fill, not a
     claim of the same precision. */
  --cre8-accent-50: oklch(from var(--cre8-seed-accent) 0.96 calc(c * 0.15) h);
  --cre8-accent-200: oklch(from var(--cre8-seed-accent) 0.9024 calc(c * 0.245) calc(h + 13.69));
  --cre8-accent-500: oklch(from var(--cre8-seed-accent) calc(l + 0.08) c h);
  --cre8-accent-600: var(--cre8-seed-accent);

  /* Overlays — neutral-900 at fixed alpha */
  --cre8-overlay-transparent: oklch(from var(--cre8-neutral-900) l c h / 0);
  --cre8-overlay-10: oklch(from var(--cre8-neutral-900) l c h / 0.1);
  --cre8-overlay-20: oklch(from var(--cre8-neutral-900) l c h / 0.2);
  --cre8-overlay-50: oklch(from var(--cre8-neutral-900) l c h / 0.5);

  /* Spacing — multiples of the space seed */
  --cre8-spacing-0: 0rem;
  --cre8-spacing-2: calc(var(--cre8-seed-space) * 0.5);
  --cre8-spacing-4: calc(var(--cre8-seed-space) * 1);
  --cre8-spacing-6: calc(var(--cre8-seed-space) * 1.5);
  --cre8-spacing-8: calc(var(--cre8-seed-space) * 2);
  --cre8-spacing-12: calc(var(--cre8-seed-space) * 3);
  --cre8-spacing-14: calc(var(--cre8-seed-space) * 3.5);
  --cre8-spacing-16: calc(var(--cre8-seed-space) * 4);
  --cre8-spacing-18: calc(var(--cre8-seed-space) * 4.5);
  --cre8-spacing-24: calc(var(--cre8-seed-space) * 6);
  --cre8-spacing-32: calc(var(--cre8-seed-space) * 8);
  --cre8-spacing-40: calc(var(--cre8-seed-space) * 10);
  --cre8-spacing-48: calc(var(--cre8-seed-space) * 12);
  --cre8-spacing-64: calc(var(--cre8-seed-space) * 16);
  --cre8-spacing-80: calc(var(--cre8-seed-space) * 20);
  --cre8-spacing-96: calc(var(--cre8-seed-space) * 24);
  --cre8-spacing-120: calc(var(--cre8-seed-space) * 30);
  --cre8-spacing-160: calc(var(--cre8-seed-space) * 40);

  /* Padding — a deliberately narrow slice of the spacing scale.
     The full scale above spans a 0.5x-40x range (80x), which is right for
     layout gaps and section margins but wrong for component padding: reseed
     --cre8-seed-space for a chunkier padding feel and the *layout* end of
     that same scale swings by tens of pixels for a change meant to nudge
     button/card padding by a couple of pixels. Padding gets its own 0.5x-6x
     range (12x) instead -- aliases of the existing tight-end steps, not new
     math -- so retheming padding doesn't also retheme page layout. Component
     padding should reference these, never --cre8-spacing-* directly; gap and
     margin (genuine layout) can still reach the full scale above. */
  --cre8-padding-2: var(--cre8-spacing-2);
  --cre8-padding-4: var(--cre8-spacing-4);
  --cre8-padding-8: var(--cre8-spacing-8);
  --cre8-padding-16: var(--cre8-spacing-16);
  --cre8-padding-24: var(--cre8-spacing-24);

  /* Font size — multiples of the font-size seed */
  --cre8-font-size-0: calc(var(--cre8-seed-font-size) * 0.75);
  --cre8-font-size-1: calc(var(--cre8-seed-font-size) * 0.875);
  --cre8-font-size-2: var(--cre8-seed-font-size);
  --cre8-font-size-3: calc(var(--cre8-seed-font-size) * 1.125);
  --cre8-font-size-4: calc(var(--cre8-seed-font-size) * 1.25);
  --cre8-font-size-5: calc(var(--cre8-seed-font-size) * 1.5);
  --cre8-font-size-6: calc(var(--cre8-seed-font-size) * 1.75);
  --cre8-font-size-7: calc(var(--cre8-seed-font-size) * 2);
  --cre8-font-size-8: calc(var(--cre8-seed-font-size) * 2.5);
  --cre8-font-size-9: calc(var(--cre8-seed-font-size) * 3);
  --cre8-font-size-10: calc(var(--cre8-seed-font-size) * 3.5);
  --cre8-font-size-11: calc(var(--cre8-seed-font-size) * 4);
  --cre8-font-size-12: calc(var(--cre8-seed-font-size) * 4.5);
  --cre8-font-size-13: calc(var(--cre8-seed-font-size) * 5);

  /* Radii — multiples of the radius seed */
  --cre8-radius-none: 0px;
  --cre8-radius-checkbox: calc(var(--cre8-seed-radius) / 6);
  --cre8-radius-small: calc(var(--cre8-seed-radius) * 0.5);
  --cre8-radius-field: calc(var(--cre8-seed-radius) * 0.5);
  --cre8-radius-field-brand: calc(var(--cre8-seed-radius) * 0.5);
  --cre8-radius-tabs: calc(var(--cre8-seed-radius) * 0.5);
  --cre8-radius-large: var(--cre8-seed-radius);
  --cre8-radius-container: var(--cre8-seed-radius);
  /* Rounder than a card by convention, but proportional to the seed --
     not forced to a pill. A near-zero seed radius should produce a nearly
     square button, not a full pill regardless of that value. */
  --cre8-radius-button: calc(var(--cre8-seed-radius) * 2);
  --cre8-radius-pill: calc(var(--cre8-seed-radius) * 37.5);

  /* Border width — multiples of the border-width seed */
  --cre8-border-width-none: 0rem;
  --cre8-border-width-default: var(--cre8-seed-border-width);
  --cre8-border-width-focus: calc(var(--cre8-seed-border-width) * 2);
  --cre8-border-width-large: calc(var(--cre8-seed-border-width) * 4);

  /* Type — role names, never vendor names */
  --cre8-font-family-base: var(--cre8-seed-font);
  --cre8-font-weight-regular: 400;
  --cre8-font-weight-medium: 500;
  --cre8-font-weight-semibold: 600;
  --cre8-font-weight-bold: 700;
  --cre8-line-height-tight: 1.12;
  --cre8-line-height-snug: 1.25;
  --cre8-line-height-normal: 1.33;
  --cre8-line-height-relaxed: 1.4;
  --cre8-line-height-loose: 1.5;

/* ===========================================================================
   TIER 2 · SEMANTIC — purpose, not colour
   The only tier a mode swap touches. Mode-dependent entries read a
   --cre8-mode-* indirection whose light values are set just below and whose
   dark values come from the [data-mode] block at the end of the file.
   Each token is emitted twice: the role name, and the legacy --cre8-color-*
   alias that existing component styles already read.
   =========================================================================== */

  /* Mode indirection — light. Overridden by [data-mode="inverse"]. */
  --cre8-mode-bg-default: var(--cre8-neutral-0);
  --cre8-mode-bg-default-hover: var(--cre8-neutral-50);
  --cre8-mode-bg-subtle: var(--cre8-neutral-100);
  --cre8-mode-bg-strong: var(--cre8-neutral-800);
  --cre8-mode-bg-disabled: var(--cre8-neutral-200);
  --cre8-mode-bg-brand: var(--cre8-neutral-0);
  --cre8-mode-bg-brand-hover: var(--cre8-primary-100);
  --cre8-mode-bg-brand-strong: var(--cre8-primary-500);
  --cre8-mode-bg-brand-strong-hover: var(--cre8-primary-600);
  --cre8-mode-content-default: var(--cre8-neutral-900);
  --cre8-mode-content-subtle: var(--cre8-neutral-500);
  --cre8-mode-content-disabled: var(--cre8-neutral-400);
  --cre8-mode-content-knockout: var(--cre8-neutral-0);
  --cre8-mode-content-brand: var(--cre8-primary-500);
  --cre8-mode-content-brand-strong: var(--cre8-primary-600);
  --cre8-mode-content-link: var(--cre8-primary-500);
  --cre8-mode-content-link-hover: var(--cre8-primary-600);
  --cre8-mode-border-default: var(--cre8-neutral-200);
  --cre8-mode-border-strong: var(--cre8-neutral-400);
  --cre8-mode-border-brand: var(--cre8-primary-500);

  --cre8-bg-default: var(--cre8-mode-bg-default);
  --cre8-color-bg-default: var(--cre8-bg-default);
  --cre8-bg-default-hover: var(--cre8-mode-bg-default-hover);
  --cre8-color-bg-default-hover: var(--cre8-bg-default-hover);
  --cre8-bg-default-active: var(--cre8-primary-100);
  --cre8-color-bg-default-active: var(--cre8-bg-default-active);
  --cre8-bg-subtle: var(--cre8-mode-bg-subtle);
  --cre8-color-bg-subtle: var(--cre8-bg-subtle);
  --cre8-bg-moderate: var(--cre8-neutral-400);
  --cre8-color-bg-moderate: var(--cre8-bg-moderate);
  --cre8-bg-inverse-moderate: var(--cre8-neutral-500);
  --cre8-color-bg-inverse-moderate: var(--cre8-bg-inverse-moderate);
  --cre8-bg-strong: var(--cre8-mode-bg-strong);
  --cre8-color-bg-strong: var(--cre8-bg-strong);
  --cre8-bg-disabled: var(--cre8-mode-bg-disabled);
  --cre8-color-bg-disabled: var(--cre8-bg-disabled);
  --cre8-bg-brand: var(--cre8-mode-bg-brand);
  --cre8-color-bg-brand: var(--cre8-bg-brand);
  --cre8-bg-brand-active: var(--cre8-primary-200);
  --cre8-color-bg-brand-active: var(--cre8-bg-brand-active);
  --cre8-bg-brand-hover: var(--cre8-mode-bg-brand-hover);
  --cre8-color-bg-brand-hover: var(--cre8-bg-brand-hover);
  --cre8-bg-brand-strong: var(--cre8-mode-bg-brand-strong);
  --cre8-color-bg-brand-strong: var(--cre8-bg-brand-strong);
  --cre8-bg-brand-strong-hover: var(--cre8-mode-bg-brand-strong-hover);
  --cre8-color-bg-brand-strong-hover: var(--cre8-bg-brand-strong-hover);
  --cre8-bg-brand-strong-active: var(--cre8-primary-700);
  --cre8-color-bg-brand-strong-active: var(--cre8-bg-brand-strong-active);
  --cre8-bg-brand-xstrong: var(--cre8-primary-800);
  --cre8-color-bg-brand-xstrong: var(--cre8-bg-brand-xstrong);
  --cre8-bg-brand-xstrong-hover: var(--cre8-primary-700);
  --cre8-color-bg-brand-xstrong-hover: var(--cre8-bg-brand-xstrong-hover);
  --cre8-bg-brand-xstrong-active: var(--cre8-primary-900);
  --cre8-color-bg-brand-xstrong-active: var(--cre8-bg-brand-xstrong-active);
  --cre8-bg-success: var(--cre8-success-50);
  --cre8-color-bg-success: var(--cre8-bg-success);
  --cre8-bg-success-strong: var(--cre8-success-500);
  --cre8-color-bg-success-strong: var(--cre8-bg-success-strong);
  --cre8-bg-error: var(--cre8-error-50);
  --cre8-color-bg-error: var(--cre8-bg-error);
  --cre8-bg-error-strong: var(--cre8-error-500);
  --cre8-color-bg-error-strong: var(--cre8-bg-error-strong);
  --cre8-bg-warning: var(--cre8-warning-50);
  --cre8-color-bg-warning: var(--cre8-bg-warning);
  --cre8-bg-warning-strong: var(--cre8-warning-500);
  --cre8-color-bg-warning-strong: var(--cre8-bg-warning-strong);
  --cre8-bg-info: var(--cre8-accent-50);
  --cre8-color-bg-info: var(--cre8-bg-info);
  --cre8-bg-info-strong: var(--cre8-accent-500);
  --cre8-color-bg-info-strong: var(--cre8-bg-info-strong);
  --cre8-bg-attention: var(--cre8-neutral-0);
  --cre8-color-bg-attention: var(--cre8-bg-attention);
  --cre8-bg-attention-strong: var(--cre8-primary-400);
  --cre8-color-bg-attention-strong: var(--cre8-bg-attention-strong);
  --cre8-bg-opacity-transparent: var(--cre8-overlay-transparent);
  --cre8-color-bg-opacity-transparent: var(--cre8-bg-opacity-transparent);
  --cre8-bg-opacity-default: var(--cre8-overlay-50);
  --cre8-color-bg-opacity-default: var(--cre8-bg-opacity-default);
  --cre8-bg-active: var(--cre8-neutral-900);
  --cre8-color-bg-active: var(--cre8-bg-active);
  --cre8-bg-inverse-active: var(--cre8-neutral-0);
  --cre8-color-bg-inverse-active: var(--cre8-bg-inverse-active);
  --cre8-content-default: var(--cre8-mode-content-default);
  --cre8-color-content-default: var(--cre8-content-default);
  --cre8-content-subtle: var(--cre8-mode-content-subtle);
  --cre8-color-content-subtle: var(--cre8-content-subtle);
  --cre8-content-disabled: var(--cre8-mode-content-disabled);
  --cre8-color-content-disabled: var(--cre8-content-disabled);
  --cre8-content-knockout: var(--cre8-mode-content-knockout);
  --cre8-color-content-knockout: var(--cre8-content-knockout);
  --cre8-content-brand: var(--cre8-mode-content-brand);
  --cre8-color-content-brand: var(--cre8-content-brand);
  --cre8-content-brand-strong: var(--cre8-mode-content-brand-strong);
  --cre8-color-content-brand-strong: var(--cre8-content-brand-strong);
  --cre8-content-brand-knockout: var(--cre8-success-50);
  --cre8-color-content-brand-knockout: var(--cre8-content-brand-knockout);
  --cre8-content-success: var(--cre8-success-600);
  --cre8-color-content-success: var(--cre8-content-success);
  --cre8-content-success-icon: var(--cre8-success-600);
  --cre8-color-content-success-icon: var(--cre8-content-success-icon);
  --cre8-content-error: var(--cre8-error-600);
  --cre8-color-content-error: var(--cre8-content-error);
  --cre8-content-error-icon: var(--cre8-error-600);
  --cre8-color-content-error-icon: var(--cre8-content-error-icon);
  --cre8-content-warning-icon: var(--cre8-warning-600);
  --cre8-color-content-warning-icon: var(--cre8-content-warning-icon);
  --cre8-content-info-icon: var(--cre8-accent-500);
  --cre8-color-content-info-icon: var(--cre8-content-info-icon);
  --cre8-content-attention-icon: var(--cre8-primary-400);
  --cre8-color-content-attention-icon: var(--cre8-content-attention-icon);
  --cre8-content-link: var(--cre8-mode-content-link);
  --cre8-color-content-link: var(--cre8-content-link);
  --cre8-content-inverse-link: var(--cre8-primary-200);
  --cre8-color-content-inverse-link: var(--cre8-content-inverse-link);
  --cre8-content-link-hover: var(--cre8-mode-content-link-hover);
  --cre8-color-content-link-hover: var(--cre8-content-link-hover);
  --cre8-content-inverse-link-hover: var(--cre8-primary-300);
  --cre8-color-content-inverse-link-hover: var(--cre8-content-inverse-link-hover);
  --cre8-content-link-focus: var(--cre8-neutral-0);
  --cre8-color-content-link-focus: var(--cre8-content-link-focus);
  --cre8-content-inverse-link-focus: var(--cre8-neutral-900);
  --cre8-color-content-inverse-link-focus: var(--cre8-content-inverse-link-focus);
  --cre8-content-link-visited: var(--cre8-accent-600);
  --cre8-color-content-link-visited: var(--cre8-content-link-visited);
  --cre8-content-inverse-link-visited: var(--cre8-accent-200);
  --cre8-color-content-inverse-link-visited: var(--cre8-content-inverse-link-visited);
  --cre8-content-link-disabled: var(--cre8-neutral-600);
  --cre8-color-content-link-disabled: var(--cre8-content-link-disabled);
  --cre8-content-inverse-link-disabled: var(--cre8-neutral-200);
  --cre8-color-content-inverse-link-disabled: var(--cre8-content-inverse-link-disabled);
  --cre8-content-link-active: var(--cre8-primary-700);
  --cre8-color-content-link-active: var(--cre8-content-link-active);
  --cre8-content-inverse-link-active: var(--cre8-primary-400);
  --cre8-color-content-inverse-link-active: var(--cre8-content-inverse-link-active);
  --cre8-border-default: var(--cre8-mode-border-default);
  --cre8-color-border-default: var(--cre8-border-default);
  --cre8-border-strong: var(--cre8-mode-border-strong);
  --cre8-color-border-strong: var(--cre8-border-strong);
  --cre8-border-knockout: var(--cre8-neutral-0);
  --cre8-color-border-knockout: var(--cre8-border-knockout);
  --cre8-border-disabled: var(--cre8-neutral-300);
  --cre8-color-border-disabled: var(--cre8-border-disabled);
  --cre8-border-brand: var(--cre8-mode-border-brand);
  --cre8-color-border-brand: var(--cre8-border-brand);
  --cre8-border-brand-subtle: var(--cre8-primary-300);
  --cre8-color-border-brand-subtle: var(--cre8-border-brand-subtle);
  --cre8-border-brand-strong: var(--cre8-primary-600);
  --cre8-color-border-brand-strong: var(--cre8-border-brand-strong);
  --cre8-border-success: var(--cre8-success-400);
  --cre8-color-border-success: var(--cre8-border-success);
  --cre8-border-error: var(--cre8-error-400);
  --cre8-color-border-error: var(--cre8-border-error);
  --cre8-border-warning: var(--cre8-warning-400);
  --cre8-color-border-warning: var(--cre8-border-warning);
  --cre8-border-info: var(--cre8-accent-500);
  --cre8-color-border-info: var(--cre8-border-info);
  --cre8-border-attention: var(--cre8-primary-400);
  --cre8-color-border-attention: var(--cre8-border-attention);
  --cre8-border-transparent: var(--cre8-overlay-transparent);
  --cre8-color-border-transparent: var(--cre8-border-transparent);
  --cre8-border-active-outline: var(--cre8-primary-600);
  --cre8-color-border-active-outline: var(--cre8-border-active-outline);
  --cre8-border-inverse-active-outline: var(--cre8-primary-200);
  --cre8-color-border-inverse-active-outline: var(--cre8-border-inverse-active-outline);
  --cre8-link-bg-active: var(--cre8-neutral-900);
  --cre8-color-link-bg-active: var(--cre8-link-bg-active);

/* ===========================================================================
   TIER 3 · COMPONENT — aliases only
   No literals. Each points at a semantic token where one carries the same
   value, otherwise at a primitive. Legacy --cre8-color-* names are emitted
   alongside so existing component styles keep resolving unchanged.
   =========================================================================== */

  /* header */
  --cre8-header-bg-default: var(--cre8-bg-default);
  --cre8-color-header-bg-default: var(--cre8-header-bg-default);
  --cre8-header-inverse-bg-default: var(--cre8-bg-brand-strong);
  --cre8-color-header-inverse-bg-default: var(--cre8-header-inverse-bg-default);
  --cre8-header-menu-bg-default: var(--cre8-bg-default);
  --cre8-color-header-menu-bg-default: var(--cre8-header-menu-bg-default);
  --cre8-header-menu-inverse-bg-default: var(--cre8-bg-brand-strong);
  --cre8-color-header-menu-inverse-bg-default: var(--cre8-header-menu-inverse-bg-default);
  --cre8-header-menu-bg-hover: var(--cre8-bg-default-hover);
  --cre8-color-header-menu-bg-hover: var(--cre8-header-menu-bg-hover);
  --cre8-header-menu-inverse-bg-hover: var(--cre8-bg-brand-strong-hover);
  --cre8-color-header-menu-inverse-bg-hover: var(--cre8-header-menu-inverse-bg-hover);
  --cre8-header-menu-bg-focus: var(--cre8-bg-default-hover);
  --cre8-color-header-menu-bg-focus: var(--cre8-header-menu-bg-focus);
  --cre8-header-menu-inverse-bg-focus: var(--cre8-bg-brand-strong-hover);
  --cre8-color-header-menu-inverse-bg-focus: var(--cre8-header-menu-inverse-bg-focus);
  --cre8-header-menu-bg-active: var(--cre8-bg-disabled);
  --cre8-color-header-menu-bg-active: var(--cre8-header-menu-bg-active);
  --cre8-header-menu-inverse-bg-active: var(--cre8-bg-brand-strong-active);
  --cre8-color-header-menu-inverse-bg-active: var(--cre8-header-menu-inverse-bg-active);
  --cre8-header-menu-bg-pressed: var(--cre8-bg-disabled);
  --cre8-color-header-menu-bg-pressed: var(--cre8-header-menu-bg-pressed);
  --cre8-header-menu-inverse-bg-pressed: var(--cre8-bg-brand-strong-active);
  --cre8-color-header-menu-inverse-bg-pressed: var(--cre8-header-menu-inverse-bg-pressed);
  --cre8-header-menu-bg-selected: var(--cre8-bg-default-hover);
  --cre8-color-header-menu-bg-selected: var(--cre8-header-menu-bg-selected);
  --cre8-header-menu-inverse-bg-selected: var(--cre8-bg-brand-strong-hover);
  --cre8-color-header-menu-inverse-bg-selected: var(--cre8-header-menu-inverse-bg-selected);
  --cre8-header-menu-content-default: var(--cre8-content-brand);
  --cre8-color-header-menu-content-default: var(--cre8-header-menu-content-default);
  --cre8-header-menu-inverse-content-default: var(--cre8-content-knockout);
  --cre8-color-header-menu-inverse-content-default: var(--cre8-header-menu-inverse-content-default);
  --cre8-header-menu-content-hover: var(--cre8-content-link-hover);
  --cre8-color-header-menu-content-hover: var(--cre8-header-menu-content-hover);
  --cre8-header-menu-inverse-content-hover: var(--cre8-content-knockout);
  --cre8-color-header-menu-inverse-content-hover: var(--cre8-header-menu-inverse-content-hover);
  --cre8-header-menu-content-focus: var(--cre8-content-brand);
  --cre8-color-header-menu-content-focus: var(--cre8-header-menu-content-focus);
  --cre8-header-menu-inverse-content-focus: var(--cre8-content-knockout);
  --cre8-color-header-menu-inverse-content-focus: var(--cre8-header-menu-inverse-content-focus);
  --cre8-header-menu-content-active: var(--cre8-content-link-active);
  --cre8-color-header-menu-content-active: var(--cre8-header-menu-content-active);
  --cre8-header-menu-inverse-content-active: var(--cre8-content-knockout);
  --cre8-color-header-menu-inverse-content-active: var(--cre8-header-menu-inverse-content-active);
  --cre8-header-menu-content-pressed: var(--cre8-content-link-active);
  --cre8-color-header-menu-content-pressed: var(--cre8-header-menu-content-pressed);
  --cre8-header-menu-inverse-content-pressed: var(--cre8-content-knockout);
  --cre8-color-header-menu-inverse-content-pressed: var(--cre8-header-menu-inverse-content-pressed);
  --cre8-header-menu-content-selected: var(--cre8-content-link-hover);
  --cre8-color-header-menu-content-selected: var(--cre8-header-menu-content-selected);
  --cre8-header-menu-inverse-content-selected: var(--cre8-content-knockout);
  --cre8-color-header-menu-inverse-content-selected: var(--cre8-header-menu-inverse-content-selected);
  --cre8-header-menu-border-default: var(--cre8-border-transparent);
  --cre8-color-header-menu-border-default: var(--cre8-header-menu-border-default);
  --cre8-header-menu-inverse-border-default: var(--cre8-border-transparent);
  --cre8-color-header-menu-inverse-border-default: var(--cre8-header-menu-inverse-border-default);
  --cre8-header-menu-border-hover: var(--cre8-border-transparent);
  --cre8-color-header-menu-border-hover: var(--cre8-header-menu-border-hover);
  --cre8-header-menu-inverse-border-hover: var(--cre8-border-knockout);
  --cre8-color-header-menu-inverse-border-hover: var(--cre8-header-menu-inverse-border-hover);
  --cre8-header-menu-border-focus: var(--cre8-border-brand-strong);
  --cre8-color-header-menu-border-focus: var(--cre8-header-menu-border-focus);
  --cre8-header-menu-inverse-border-focus: var(--cre8-border-knockout);
  --cre8-color-header-menu-inverse-border-focus: var(--cre8-header-menu-inverse-border-focus);
  --cre8-header-menu-border-active: var(--cre8-border-brand);
  --cre8-color-header-menu-border-active: var(--cre8-header-menu-border-active);
  --cre8-header-menu-inverse-border-active: var(--cre8-border-knockout);
  --cre8-color-header-menu-inverse-border-active: var(--cre8-header-menu-inverse-border-active);
  --cre8-header-menu-border-pressed: var(--cre8-border-brand);
  --cre8-color-header-menu-border-pressed: var(--cre8-header-menu-border-pressed);
  --cre8-header-menu-inverse-border-pressed: var(--cre8-border-knockout);
  --cre8-color-header-menu-inverse-border-pressed: var(--cre8-header-menu-inverse-border-pressed);
  --cre8-header-menu-border-selected: var(--cre8-border-brand-strong);
  --cre8-color-header-menu-border-selected: var(--cre8-header-menu-border-selected);
  --cre8-header-menu-inverse-border-selected: var(--cre8-neutral-50);
  --cre8-color-header-menu-inverse-border-selected: var(--cre8-header-menu-inverse-border-selected);
  --cre8-header-submenu-bg-default: var(--cre8-bg-default);
  --cre8-color-header-submenu-bg-default: var(--cre8-header-submenu-bg-default);
  --cre8-header-submenu-inverse-bg-default: var(--cre8-bg-brand-strong);
  --cre8-color-header-submenu-inverse-bg-default: var(--cre8-header-submenu-inverse-bg-default);
  --cre8-header-submenu-bg-hover: var(--cre8-bg-default-hover);
  --cre8-color-header-submenu-bg-hover: var(--cre8-header-submenu-bg-hover);
  --cre8-header-submenu-inverse-bg-hover: var(--cre8-bg-brand-strong-hover);
  --cre8-color-header-submenu-inverse-bg-hover: var(--cre8-header-submenu-inverse-bg-hover);
  --cre8-header-submenu-bg-focus: var(--cre8-bg-default);
  --cre8-color-header-submenu-bg-focus: var(--cre8-header-submenu-bg-focus);
  --cre8-header-submenu-inverse-bg-focus: var(--cre8-bg-brand-strong);
  --cre8-color-header-submenu-inverse-bg-focus: var(--cre8-header-submenu-inverse-bg-focus);
  --cre8-header-submenu-bg-active: var(--cre8-bg-disabled);
  --cre8-color-header-submenu-bg-active: var(--cre8-header-submenu-bg-active);
  --cre8-header-submenu-inverse-bg-active: var(--cre8-bg-brand-strong-active);
  --cre8-color-header-submenu-inverse-bg-active: var(--cre8-header-submenu-inverse-bg-active);
  --cre8-header-submenu-bg-pressed: var(--cre8-bg-disabled);
  --cre8-color-header-submenu-bg-pressed: var(--cre8-header-submenu-bg-pressed);
  --cre8-header-submenu-inverse-bg-pressed: var(--cre8-bg-brand-strong-active);
  --cre8-color-header-submenu-inverse-bg-pressed: var(--cre8-header-submenu-inverse-bg-pressed);
  --cre8-header-submenu-bg-selected: var(--cre8-bg-default-hover);
  --cre8-color-header-submenu-bg-selected: var(--cre8-header-submenu-bg-selected);
  --cre8-header-submenu-inverse-bg-selected: var(--cre8-bg-brand-strong-hover);
  --cre8-color-header-submenu-inverse-bg-selected: var(--cre8-header-submenu-inverse-bg-selected);
  --cre8-header-submenu-content-default: var(--cre8-content-brand);
  --cre8-color-header-submenu-content-default: var(--cre8-header-submenu-content-default);
  --cre8-header-submenu-inverse-content-default: var(--cre8-content-knockout);
  --cre8-color-header-submenu-inverse-content-default: var(--cre8-header-submenu-inverse-content-default);
  --cre8-header-submenu-content-hover: var(--cre8-content-link-hover);
  --cre8-color-header-submenu-content-hover: var(--cre8-header-submenu-content-hover);
  --cre8-header-submenu-inverse-content-hover: var(--cre8-content-knockout);
  --cre8-color-header-submenu-inverse-content-hover: var(--cre8-header-submenu-inverse-content-hover);
  --cre8-header-submenu-content-focus: var(--cre8-content-link-hover);
  --cre8-color-header-submenu-content-focus: var(--cre8-header-submenu-content-focus);
  --cre8-header-submenu-inverse-content-focus: var(--cre8-content-knockout);
  --cre8-color-header-submenu-inverse-content-focus: var(--cre8-header-submenu-inverse-content-focus);
  --cre8-header-submenu-content-active: var(--cre8-content-link-active);
  --cre8-color-header-submenu-content-active: var(--cre8-header-submenu-content-active);
  --cre8-header-submenu-inverse-content-active: var(--cre8-content-knockout);
  --cre8-color-header-submenu-inverse-content-active: var(--cre8-header-submenu-inverse-content-active);
  --cre8-header-submenu-content-pressed: var(--cre8-content-link-active);
  --cre8-color-header-submenu-content-pressed: var(--cre8-header-submenu-content-pressed);
  --cre8-header-submenu-inverse-content-pressed: var(--cre8-content-knockout);
  --cre8-color-header-submenu-inverse-content-pressed: var(--cre8-header-submenu-inverse-content-pressed);
  --cre8-header-submenu-content-selected: var(--cre8-content-brand);
  --cre8-color-header-submenu-content-selected: var(--cre8-header-submenu-content-selected);
  --cre8-header-submenu-inverse-content-selected: var(--cre8-content-knockout);
  --cre8-color-header-submenu-inverse-content-selected: var(--cre8-header-submenu-inverse-content-selected);
  --cre8-header-submenu-border-default: var(--cre8-border-knockout);
  --cre8-color-header-submenu-border-default: var(--cre8-header-submenu-border-default);
  --cre8-header-submenu-inverse-border-default: var(--cre8-border-brand);
  --cre8-color-header-submenu-inverse-border-default: var(--cre8-header-submenu-inverse-border-default);
  --cre8-header-submenu-border-hover: var(--cre8-neutral-50);
  --cre8-color-header-submenu-border-hover: var(--cre8-header-submenu-border-hover);
  --cre8-header-submenu-inverse-border-hover: var(--cre8-border-brand-strong);
  --cre8-color-header-submenu-inverse-border-hover: var(--cre8-header-submenu-inverse-border-hover);
  --cre8-header-submenu-border-focus: var(--cre8-border-brand);
  --cre8-color-header-submenu-border-focus: var(--cre8-header-submenu-border-focus);
  --cre8-header-submenu-inverse-border-focus: var(--cre8-border-knockout);
  --cre8-color-header-submenu-inverse-border-focus: var(--cre8-header-submenu-inverse-border-focus);
  --cre8-header-submenu-border-active: var(--cre8-border-default);
  --cre8-color-header-submenu-border-active: var(--cre8-header-submenu-border-active);
  --cre8-header-submenu-inverse-border-active: var(--cre8-primary-700);
  --cre8-color-header-submenu-inverse-border-active: var(--cre8-header-submenu-inverse-border-active);
  --cre8-header-submenu-border-pressed: var(--cre8-border-default);
  --cre8-color-header-submenu-border-pressed: var(--cre8-header-submenu-border-pressed);
  --cre8-header-submenu-inverse-border-pressed: var(--cre8-primary-700);
  --cre8-color-header-submenu-inverse-border-pressed: var(--cre8-header-submenu-inverse-border-pressed);
  --cre8-header-submenu-border-selected: var(--cre8-border-brand-strong);
  --cre8-color-header-submenu-border-selected: var(--cre8-header-submenu-border-selected);
  --cre8-header-submenu-inverse-border-selected: var(--cre8-neutral-50);
  --cre8-color-header-submenu-inverse-border-selected: var(--cre8-header-submenu-inverse-border-selected);
  --cre8-header-bg-secondary: var(--cre8-bg-brand-strong);
  --cre8-color-header-bg-secondary: var(--cre8-header-bg-secondary);
  --cre8-header-inverse-bg-secondary: var(--cre8-bg-default);
  --cre8-color-header-inverse-bg-secondary: var(--cre8-header-inverse-bg-secondary);
  --cre8-header-bg-tertiary: var(--cre8-bg-brand-strong);
  --cre8-color-header-bg-tertiary: var(--cre8-header-bg-tertiary);
  --cre8-header-inverse-bg-tertiary: var(--cre8-bg-default);
  --cre8-color-header-inverse-bg-tertiary: var(--cre8-header-inverse-bg-tertiary);

  /* footer */
  --cre8-footer-bg-default: var(--cre8-bg-brand-xstrong);
  --cre8-color-footer-bg-default: var(--cre8-footer-bg-default);
  --cre8-footer-bg-secondary: var(--cre8-bg-default-hover);
  --cre8-color-footer-bg-secondary: var(--cre8-footer-bg-secondary);
  --cre8-footer-content-secondary: var(--cre8-content-knockout);
  --cre8-color-footer-content-secondary: var(--cre8-footer-content-secondary);
  --cre8-footer-link-hover: var(--cre8-content-inverse-link-hover);
  --cre8-color-footer-link-hover: var(--cre8-footer-link-hover);
  --cre8-footer-link-default: var(--cre8-content-inverse-link-hover);
  --cre8-color-footer-link-default: var(--cre8-footer-link-default);

  /* button */
  --cre8-button-primary-bg: var(--cre8-bg-brand-strong);
  --cre8-color-button-primary-bg: var(--cre8-button-primary-bg);
  --cre8-button-primary-inverse-bg: var(--cre8-bg-brand-active);
  --cre8-color-button-primary-inverse-bg: var(--cre8-button-primary-inverse-bg);
  --cre8-button-primary-bg-hover: var(--cre8-bg-brand-strong-hover);
  --cre8-color-button-primary-bg-hover: var(--cre8-button-primary-bg-hover);
  --cre8-button-primary-inverse-bg-hover: var(--cre8-primary-300);
  --cre8-color-button-primary-inverse-bg-hover: var(--cre8-button-primary-inverse-bg-hover);
  --cre8-button-primary-bg-active: var(--cre8-bg-brand-strong-active);
  --cre8-color-button-primary-bg-active: var(--cre8-button-primary-bg-active);
  --cre8-button-primary-inverse-bg-active: var(--cre8-bg-attention-strong);
  --cre8-color-button-primary-inverse-bg-active: var(--cre8-button-primary-inverse-bg-active);
  --cre8-button-primary-bg-disabled: var(--cre8-bg-disabled);
  --cre8-color-button-primary-bg-disabled: var(--cre8-button-primary-bg-disabled);
  --cre8-button-primary-inverse-bg-disabled: var(--cre8-bg-inverse-moderate);
  --cre8-color-button-primary-inverse-bg-disabled: var(--cre8-button-primary-inverse-bg-disabled);
  --cre8-button-primary-content: var(--cre8-content-knockout);
  --cre8-color-button-primary-content: var(--cre8-button-primary-content);
  --cre8-button-primary-inverse-content: var(--cre8-primary-800);
  --cre8-color-button-primary-inverse-content: var(--cre8-button-primary-inverse-content);
  --cre8-button-primary-content-hover: var(--cre8-content-knockout);
  --cre8-color-button-primary-content-hover: var(--cre8-button-primary-content-hover);
  --cre8-button-primary-inverse-content-hover: var(--cre8-primary-800);
  --cre8-color-button-primary-inverse-content-hover: var(--cre8-button-primary-inverse-content-hover);
  --cre8-button-primary-content-active: var(--cre8-content-knockout);
  --cre8-color-button-primary-content-active: var(--cre8-button-primary-content-active);
  --cre8-button-primary-inverse-content-active: var(--cre8-primary-800);
  --cre8-color-button-primary-inverse-content-active: var(--cre8-button-primary-inverse-content-active);
  --cre8-button-primary-content-disabled: var(--cre8-content-link-disabled);
  --cre8-color-button-primary-content-disabled: var(--cre8-button-primary-content-disabled);
  --cre8-button-primary-inverse-content-disabled: var(--cre8-neutral-800);
  --cre8-color-button-primary-inverse-content-disabled: var(--cre8-button-primary-inverse-content-disabled);
  --cre8-button-primary-border: var(--cre8-border-brand);
  --cre8-color-button-primary-border: var(--cre8-button-primary-border);
  --cre8-button-primary-inverse-border: var(--cre8-border-inverse-active-outline);
  --cre8-color-button-primary-inverse-border: var(--cre8-button-primary-inverse-border);
  --cre8-button-primary-border-hover: var(--cre8-border-brand-strong);
  --cre8-color-button-primary-border-hover: var(--cre8-button-primary-border-hover);
  --cre8-button-primary-inverse-border-hover: var(--cre8-border-brand-subtle);
  --cre8-color-button-primary-inverse-border-hover: var(--cre8-button-primary-inverse-border-hover);
  --cre8-button-primary-border-active: var(--cre8-primary-700);
  --cre8-color-button-primary-border-active: var(--cre8-button-primary-border-active);
  --cre8-button-primary-inverse-border-active: var(--cre8-border-attention);
  --cre8-color-button-primary-inverse-border-active: var(--cre8-button-primary-inverse-border-active);
  --cre8-button-primary-border-disabled: var(--cre8-border-default);
  --cre8-color-button-primary-border-disabled: var(--cre8-button-primary-border-disabled);
  --cre8-button-primary-inverse-border-disabled: var(--cre8-border-strong);
  --cre8-color-button-primary-inverse-border-disabled: var(--cre8-button-primary-inverse-border-disabled);
  --cre8-button-primary-outline: var(--cre8-primary-700);
  --cre8-color-button-primary-outline: var(--cre8-button-primary-outline);
  --cre8-button-primary-inverse-outline: var(--cre8-border-inverse-active-outline);
  --cre8-color-button-primary-inverse-outline: var(--cre8-button-primary-inverse-outline);
  --cre8-button-primary-danger-bg: var(--cre8-bg-error-strong);
  --cre8-color-button-primary-danger-bg: var(--cre8-button-primary-danger-bg);
  --cre8-button-primary-danger-inverse-bg: var(--cre8-error-300);
  --cre8-color-button-primary-danger-inverse-bg: var(--cre8-button-primary-danger-inverse-bg);
  --cre8-button-primary-danger-bg-hover: var(--cre8-error-600);
  --cre8-color-button-primary-danger-bg-hover: var(--cre8-button-primary-danger-bg-hover);
  --cre8-button-primary-danger-inverse-bg-hover: var(--cre8-error-200);
  --cre8-color-button-primary-danger-inverse-bg-hover: var(--cre8-button-primary-danger-inverse-bg-hover);
  --cre8-button-primary-danger-bg-active: var(--cre8-error-700);
  --cre8-color-button-primary-danger-bg-active: var(--cre8-button-primary-danger-bg-active);
  --cre8-button-primary-danger-inverse-bg-active: var(--cre8-error-100);
  --cre8-color-button-primary-danger-inverse-bg-active: var(--cre8-button-primary-danger-inverse-bg-active);
  --cre8-button-primary-danger-bg-disabled: var(--cre8-bg-disabled);
  --cre8-color-button-primary-danger-bg-disabled: var(--cre8-button-primary-danger-bg-disabled);
  --cre8-button-primary-danger-inverse-bg-disabled: var(--cre8-bg-inverse-moderate);
  --cre8-color-button-primary-danger-inverse-bg-disabled: var(--cre8-button-primary-danger-inverse-bg-disabled);
  --cre8-button-primary-danger-content: var(--cre8-content-knockout);
  --cre8-color-button-primary-danger-content: var(--cre8-button-primary-danger-content);
  --cre8-button-primary-danger-inverse-content: var(--cre8-content-default);
  --cre8-color-button-primary-danger-inverse-content: var(--cre8-button-primary-danger-inverse-content);
  --cre8-button-primary-danger-content-hover: var(--cre8-content-knockout);
  --cre8-color-button-primary-danger-content-hover: var(--cre8-button-primary-danger-content-hover);
  --cre8-button-primary-danger-inverse-content-hover: var(--cre8-content-default);
  --cre8-color-button-primary-danger-inverse-content-hover: var(--cre8-button-primary-danger-inverse-content-hover);
  --cre8-button-primary-danger-content-active: var(--cre8-content-knockout);
  --cre8-color-button-primary-danger-content-active: var(--cre8-button-primary-danger-content-active);
  --cre8-button-primary-danger-inverse-content-active: var(--cre8-content-default);
  --cre8-color-button-primary-danger-inverse-content-active: var(--cre8-button-primary-danger-inverse-content-active);
  --cre8-button-primary-danger-content-disabled: var(--cre8-content-link-disabled);
  --cre8-color-button-primary-danger-content-disabled: var(--cre8-button-primary-danger-content-disabled);
  --cre8-button-primary-danger-inverse-content-disabled: var(--cre8-neutral-800);
  --cre8-color-button-primary-danger-inverse-content-disabled: var(--cre8-button-primary-danger-inverse-content-disabled);
  --cre8-button-primary-danger-border: var(--cre8-error-500);
  --cre8-color-button-primary-danger-border: var(--cre8-button-primary-danger-border);
  --cre8-button-primary-danger-inverse-border: var(--cre8-error-300);
  --cre8-color-button-primary-danger-inverse-border: var(--cre8-button-primary-danger-inverse-border);
  --cre8-button-primary-danger-border-hover: var(--cre8-error-600);
  --cre8-color-button-primary-danger-border-hover: var(--cre8-button-primary-danger-border-hover);
  --cre8-button-primary-danger-inverse-border-hover: var(--cre8-error-200);
  --cre8-color-button-primary-danger-inverse-border-hover: var(--cre8-button-primary-danger-inverse-border-hover);
  --cre8-button-primary-danger-border-active: var(--cre8-error-700);
  --cre8-color-button-primary-danger-border-active: var(--cre8-button-primary-danger-border-active);
  --cre8-button-primary-danger-inverse-border-active: var(--cre8-error-100);
  --cre8-color-button-primary-danger-inverse-border-active: var(--cre8-button-primary-danger-inverse-border-active);
  --cre8-button-primary-danger-border-disabled: var(--cre8-border-default);
  --cre8-color-button-primary-danger-border-disabled: var(--cre8-button-primary-danger-border-disabled);
  --cre8-button-primary-danger-inverse-border-disabled: var(--cre8-border-strong);
  --cre8-color-button-primary-danger-inverse-border-disabled: var(--cre8-button-primary-danger-inverse-border-disabled);
  --cre8-button-primary-danger-outline: var(--cre8-primary-700);
  --cre8-color-button-primary-danger-outline: var(--cre8-button-primary-danger-outline);
  --cre8-button-primary-danger-inverse-outline: var(--cre8-border-inverse-active-outline);
  --cre8-color-button-primary-danger-inverse-outline: var(--cre8-button-primary-danger-inverse-outline);
  --cre8-button-secondary-neutral-bg: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-secondary-neutral-bg: var(--cre8-button-secondary-neutral-bg);
  --cre8-button-secondary-neutral-inverse-bg: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-secondary-neutral-inverse-bg: var(--cre8-button-secondary-neutral-inverse-bg);
  --cre8-button-secondary-neutral-content: var(--cre8-content-default);
  --cre8-color-button-secondary-neutral-content: var(--cre8-button-secondary-neutral-content);
  --cre8-button-secondary-neutral-inverse-content: var(--cre8-content-knockout);
  --cre8-color-button-secondary-neutral-inverse-content: var(--cre8-button-secondary-neutral-inverse-content);
  --cre8-button-secondary-neutral-border: var(--cre8-neutral-900);
  --cre8-color-button-secondary-neutral-border: var(--cre8-button-secondary-neutral-border);
  --cre8-button-secondary-neutral-inverse-border: var(--cre8-border-knockout);
  --cre8-color-button-secondary-neutral-inverse-border: var(--cre8-button-secondary-neutral-inverse-border);
  --cre8-button-secondary-neutral-bg-hover: var(--cre8-overlay-10);
  --cre8-color-button-secondary-neutral-bg-hover: var(--cre8-button-secondary-neutral-bg-hover);
  --cre8-button-secondary-neutral-inverse-bg-hover: var(--cre8-overlay-20);
  --cre8-color-button-secondary-neutral-inverse-bg-hover: var(--cre8-button-secondary-neutral-inverse-bg-hover);
  --cre8-button-secondary-neutral-content-hover: var(--cre8-content-default);
  --cre8-color-button-secondary-neutral-content-hover: var(--cre8-button-secondary-neutral-content-hover);
  --cre8-button-secondary-neutral-inverse-content-hover: var(--cre8-content-knockout);
  --cre8-color-button-secondary-neutral-inverse-content-hover: var(--cre8-button-secondary-neutral-inverse-content-hover);
  --cre8-button-secondary-neutral-border-hover: var(--cre8-neutral-900);
  --cre8-color-button-secondary-neutral-border-hover: var(--cre8-button-secondary-neutral-border-hover);
  --cre8-button-secondary-neutral-inverse-border-hover: var(--cre8-border-knockout);
  --cre8-color-button-secondary-neutral-inverse-border-hover: var(--cre8-button-secondary-neutral-inverse-border-hover);
  --cre8-button-secondary-neutral-border-active: var(--cre8-neutral-900);
  --cre8-color-button-secondary-neutral-border-active: var(--cre8-button-secondary-neutral-border-active);
  --cre8-button-secondary-neutral-inverse-border-active: var(--cre8-border-knockout);
  --cre8-color-button-secondary-neutral-inverse-border-active: var(--cre8-button-secondary-neutral-inverse-border-active);
  --cre8-button-secondary-neutral-bg-active: var(--cre8-overlay-20);
  --cre8-color-button-secondary-neutral-bg-active: var(--cre8-button-secondary-neutral-bg-active);
  --cre8-button-secondary-neutral-inverse-bg-active: var(--cre8-bg-opacity-default);
  --cre8-color-button-secondary-neutral-inverse-bg-active: var(--cre8-button-secondary-neutral-inverse-bg-active);
  --cre8-button-secondary-neutral-content-active: var(--cre8-content-default);
  --cre8-color-button-secondary-neutral-content-active: var(--cre8-button-secondary-neutral-content-active);
  --cre8-button-secondary-neutral-inverse-content-active: var(--cre8-content-knockout);
  --cre8-color-button-secondary-neutral-inverse-content-active: var(--cre8-button-secondary-neutral-inverse-content-active);
  --cre8-button-secondary-neutral-bg-disabled: var(--cre8-bg-disabled);
  --cre8-color-button-secondary-neutral-bg-disabled: var(--cre8-button-secondary-neutral-bg-disabled);
  --cre8-button-secondary-neutral-inverse-bg-disabled: var(--cre8-bg-inverse-moderate);
  --cre8-color-button-secondary-neutral-inverse-bg-disabled: var(--cre8-button-secondary-neutral-inverse-bg-disabled);
  --cre8-button-secondary-neutral-border-disabled: var(--cre8-border-default);
  --cre8-color-button-secondary-neutral-border-disabled: var(--cre8-button-secondary-neutral-border-disabled);
  --cre8-button-secondary-neutral-inverse-border-disabled: var(--cre8-border-strong);
  --cre8-color-button-secondary-neutral-inverse-border-disabled: var(--cre8-button-secondary-neutral-inverse-border-disabled);
  --cre8-button-secondary-neutral-content-disabled: var(--cre8-content-link-disabled);
  --cre8-color-button-secondary-neutral-content-disabled: var(--cre8-button-secondary-neutral-content-disabled);
  --cre8-button-secondary-neutral-inverse-content-disabled: var(--cre8-neutral-800);
  --cre8-color-button-secondary-neutral-inverse-content-disabled: var(--cre8-button-secondary-neutral-inverse-content-disabled);
  --cre8-button-secondary-neutral-outline: var(--cre8-primary-900);
  --cre8-color-button-secondary-neutral-outline: var(--cre8-button-secondary-neutral-outline);
  --cre8-button-secondary-neutral-inverse-outline: var(--cre8-border-inverse-active-outline);
  --cre8-color-button-secondary-neutral-inverse-outline: var(--cre8-button-secondary-neutral-inverse-outline);
  --cre8-button-secondary-bg: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-secondary-bg: var(--cre8-button-secondary-bg);
  --cre8-button-secondary-inverse-bg: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-secondary-inverse-bg: var(--cre8-button-secondary-inverse-bg);
  --cre8-button-secondary-bg-hover: var(--cre8-bg-info);
  --cre8-color-button-secondary-bg-hover: var(--cre8-button-secondary-bg-hover);
  --cre8-button-secondary-inverse-bg-hover: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-secondary-inverse-bg-hover: var(--cre8-button-secondary-inverse-bg-hover);
  --cre8-button-secondary-bg-active: var(--cre8-bg-brand-hover);
  --cre8-color-button-secondary-bg-active: var(--cre8-button-secondary-bg-active);
  --cre8-button-secondary-inverse-bg-active: var(--cre8-bg-brand-xstrong-active);
  --cre8-color-button-secondary-inverse-bg-active: var(--cre8-button-secondary-inverse-bg-active);
  --cre8-button-secondary-bg-disabled: var(--cre8-bg-disabled);
  --cre8-color-button-secondary-bg-disabled: var(--cre8-button-secondary-bg-disabled);
  --cre8-button-secondary-inverse-bg-disabled: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-secondary-inverse-bg-disabled: var(--cre8-button-secondary-inverse-bg-disabled);
  --cre8-button-secondary-content: var(--cre8-content-brand);
  --cre8-color-button-secondary-content: var(--cre8-button-secondary-content);
  --cre8-button-secondary-inverse-content: var(--cre8-content-inverse-link);
  --cre8-color-button-secondary-inverse-content: var(--cre8-button-secondary-inverse-content);
  --cre8-button-secondary-content-hover: var(--cre8-content-link-hover);
  --cre8-color-button-secondary-content-hover: var(--cre8-button-secondary-content-hover);
  --cre8-button-secondary-inverse-content-hover: var(--cre8-content-inverse-link-hover);
  --cre8-color-button-secondary-inverse-content-hover: var(--cre8-button-secondary-inverse-content-hover);
  --cre8-button-secondary-content-active: var(--cre8-content-link-active);
  --cre8-color-button-secondary-content-active: var(--cre8-button-secondary-content-active);
  --cre8-button-secondary-inverse-content-active: var(--cre8-content-attention-icon);
  --cre8-color-button-secondary-inverse-content-active: var(--cre8-button-secondary-inverse-content-active);
  --cre8-button-secondary-content-disabled: var(--cre8-content-link-disabled);
  --cre8-color-button-secondary-content-disabled: var(--cre8-button-secondary-content-disabled);
  --cre8-button-secondary-inverse-content-disabled: var(--cre8-content-subtle);
  --cre8-color-button-secondary-inverse-content-disabled: var(--cre8-button-secondary-inverse-content-disabled);
  --cre8-button-secondary-border: var(--cre8-border-brand);
  --cre8-color-button-secondary-border: var(--cre8-button-secondary-border);
  --cre8-button-secondary-inverse-border: var(--cre8-border-inverse-active-outline);
  --cre8-color-button-secondary-inverse-border: var(--cre8-button-secondary-inverse-border);
  --cre8-button-secondary-border-hover: var(--cre8-border-brand-strong);
  --cre8-color-button-secondary-border-hover: var(--cre8-button-secondary-border-hover);
  --cre8-button-secondary-inverse-border-hover: var(--cre8-border-brand-subtle);
  --cre8-color-button-secondary-inverse-border-hover: var(--cre8-button-secondary-inverse-border-hover);
  --cre8-button-secondary-border-active: var(--cre8-primary-700);
  --cre8-color-button-secondary-border-active: var(--cre8-button-secondary-border-active);
  --cre8-button-secondary-inverse-border-active: var(--cre8-border-attention);
  --cre8-color-button-secondary-inverse-border-active: var(--cre8-button-secondary-inverse-border-active);
  --cre8-button-secondary-border-disabled: var(--cre8-border-strong);
  --cre8-color-button-secondary-border-disabled: var(--cre8-button-secondary-border-disabled);
  --cre8-button-secondary-inverse-border-disabled: var(--cre8-border-strong);
  --cre8-color-button-secondary-inverse-border-disabled: var(--cre8-button-secondary-inverse-border-disabled);
  --cre8-button-secondary-outline: var(--cre8-primary-700);
  --cre8-color-button-secondary-outline: var(--cre8-button-secondary-outline);
  --cre8-button-secondary-inverse-outline: var(--cre8-border-brand-subtle);
  --cre8-color-button-secondary-inverse-outline: var(--cre8-button-secondary-inverse-outline);
  --cre8-button-secondary-danger-bg: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-secondary-danger-bg: var(--cre8-button-secondary-danger-bg);
  --cre8-button-secondary-danger-inverse-bg: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-secondary-danger-inverse-bg: var(--cre8-button-secondary-danger-inverse-bg);
  --cre8-button-secondary-danger-bg-hover: var(--cre8-error-600);
  --cre8-color-button-secondary-danger-bg-hover: var(--cre8-button-secondary-danger-bg-hover);
  --cre8-button-secondary-danger-inverse-bg-hover: var(--cre8-error-200);
  --cre8-color-button-secondary-danger-inverse-bg-hover: var(--cre8-button-secondary-danger-inverse-bg-hover);
  --cre8-button-secondary-danger-bg-active: var(--cre8-error-700);
  --cre8-color-button-secondary-danger-bg-active: var(--cre8-button-secondary-danger-bg-active);
  --cre8-button-secondary-danger-inverse-bg-active: var(--cre8-error-100);
  --cre8-color-button-secondary-danger-inverse-bg-active: var(--cre8-button-secondary-danger-inverse-bg-active);
  --cre8-button-secondary-danger-bg-disabled: var(--cre8-bg-disabled);
  --cre8-color-button-secondary-danger-bg-disabled: var(--cre8-button-secondary-danger-bg-disabled);
  --cre8-button-secondary-danger-inverse-bg-disabled: var(--cre8-bg-inverse-moderate);
  --cre8-color-button-secondary-danger-inverse-bg-disabled: var(--cre8-button-secondary-danger-inverse-bg-disabled);
  --cre8-button-secondary-danger-content: var(--cre8-error-500);
  --cre8-color-button-secondary-danger-content: var(--cre8-button-secondary-danger-content);
  --cre8-button-secondary-danger-inverse-content: var(--cre8-error-400);
  --cre8-color-button-secondary-danger-inverse-content: var(--cre8-button-secondary-danger-inverse-content);
  --cre8-button-secondary-danger-content-hover: var(--cre8-content-knockout);
  --cre8-color-button-secondary-danger-content-hover: var(--cre8-button-secondary-danger-content-hover);
  --cre8-button-secondary-danger-inverse-content-hover: var(--cre8-content-default);
  --cre8-color-button-secondary-danger-inverse-content-hover: var(--cre8-button-secondary-danger-inverse-content-hover);
  --cre8-button-secondary-danger-content-active: var(--cre8-content-knockout);
  --cre8-color-button-secondary-danger-content-active: var(--cre8-button-secondary-danger-content-active);
  --cre8-button-secondary-danger-inverse-content-active: var(--cre8-content-default);
  --cre8-color-button-secondary-danger-inverse-content-active: var(--cre8-button-secondary-danger-inverse-content-active);
  --cre8-button-secondary-danger-content-disabled: var(--cre8-content-link-disabled);
  --cre8-color-button-secondary-danger-content-disabled: var(--cre8-button-secondary-danger-content-disabled);
  --cre8-button-secondary-danger-inverse-content-disabled: var(--cre8-neutral-800);
  --cre8-color-button-secondary-danger-inverse-content-disabled: var(--cre8-button-secondary-danger-inverse-content-disabled);
  --cre8-button-secondary-danger-border: var(--cre8-error-500);
  --cre8-color-button-secondary-danger-border: var(--cre8-button-secondary-danger-border);
  --cre8-button-secondary-danger-inverse-border: var(--cre8-border-error);
  --cre8-color-button-secondary-danger-inverse-border: var(--cre8-button-secondary-danger-inverse-border);
  --cre8-button-secondary-danger-border-hover: var(--cre8-error-600);
  --cre8-color-button-secondary-danger-border-hover: var(--cre8-button-secondary-danger-border-hover);
  --cre8-button-secondary-danger-inverse-border-hover: var(--cre8-error-200);
  --cre8-color-button-secondary-danger-inverse-border-hover: var(--cre8-button-secondary-danger-inverse-border-hover);
  --cre8-button-secondary-danger-border-active: var(--cre8-error-700);
  --cre8-color-button-secondary-danger-border-active: var(--cre8-button-secondary-danger-border-active);
  --cre8-button-secondary-danger-inverse-border-active: var(--cre8-error-100);
  --cre8-color-button-secondary-danger-inverse-border-active: var(--cre8-button-secondary-danger-inverse-border-active);
  --cre8-button-secondary-danger-border-disabled: var(--cre8-border-default);
  --cre8-color-button-secondary-danger-border-disabled: var(--cre8-button-secondary-danger-border-disabled);
  --cre8-button-secondary-danger-inverse-border-disabled: var(--cre8-border-strong);
  --cre8-color-button-secondary-danger-inverse-border-disabled: var(--cre8-button-secondary-danger-inverse-border-disabled);
  --cre8-button-secondary-danger-outline: var(--cre8-primary-700);
  --cre8-color-button-secondary-danger-outline: var(--cre8-button-secondary-danger-outline);
  --cre8-button-secondary-danger-inverse-outline: var(--cre8-border-inverse-active-outline);
  --cre8-color-button-secondary-danger-inverse-outline: var(--cre8-button-secondary-danger-inverse-outline);
  --cre8-button-tertiary-bg: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-tertiary-bg: var(--cre8-button-tertiary-bg);
  --cre8-button-tertiary-inverse-bg: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-tertiary-inverse-bg: var(--cre8-button-tertiary-inverse-bg);
  --cre8-button-tertiary-bg-hover: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-tertiary-bg-hover: var(--cre8-button-tertiary-bg-hover);
  --cre8-button-tertiary-inverse-bg-hover: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-tertiary-inverse-bg-hover: var(--cre8-button-tertiary-inverse-bg-hover);
  --cre8-button-tertiary-bg-active: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-tertiary-bg-active: var(--cre8-button-tertiary-bg-active);
  --cre8-button-tertiary-inverse-bg-active: var(--cre8-primary-950);
  --cre8-color-button-tertiary-inverse-bg-active: var(--cre8-button-tertiary-inverse-bg-active);
  --cre8-button-tertiary-bg-disabled: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-tertiary-bg-disabled: var(--cre8-button-tertiary-bg-disabled);
  --cre8-button-tertiary-inverse-bg-disabled: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-tertiary-inverse-bg-disabled: var(--cre8-button-tertiary-inverse-bg-disabled);
  --cre8-button-tertiary-content: var(--cre8-content-brand);
  --cre8-color-button-tertiary-content: var(--cre8-button-tertiary-content);
  --cre8-button-tertiary-inverse-content: var(--cre8-content-inverse-link);
  --cre8-color-button-tertiary-inverse-content: var(--cre8-button-tertiary-inverse-content);
  --cre8-button-tertiary-content-hover: var(--cre8-content-link-hover);
  --cre8-color-button-tertiary-content-hover: var(--cre8-button-tertiary-content-hover);
  --cre8-button-tertiary-inverse-content-hover: var(--cre8-content-inverse-link-hover);
  --cre8-color-button-tertiary-inverse-content-hover: var(--cre8-button-tertiary-inverse-content-hover);
  --cre8-button-tertiary-content-active: var(--cre8-content-link-active);
  --cre8-color-button-tertiary-content-active: var(--cre8-button-tertiary-content-active);
  --cre8-button-tertiary-inverse-content-active: var(--cre8-content-attention-icon);
  --cre8-color-button-tertiary-inverse-content-active: var(--cre8-button-tertiary-inverse-content-active);
  --cre8-button-tertiary-content-disabled: var(--cre8-content-link-disabled);
  --cre8-color-button-tertiary-content-disabled: var(--cre8-button-tertiary-content-disabled);
  --cre8-button-tertiary-inverse-content-disabled: var(--cre8-content-subtle);
  --cre8-color-button-tertiary-inverse-content-disabled: var(--cre8-button-tertiary-inverse-content-disabled);
  --cre8-button-tertiary-border: var(--cre8-border-transparent);
  --cre8-color-button-tertiary-border: var(--cre8-button-tertiary-border);
  --cre8-button-tertiary-inverse-border: var(--cre8-border-transparent);
  --cre8-color-button-tertiary-inverse-border: var(--cre8-button-tertiary-inverse-border);
  --cre8-button-tertiary-border-hover: var(--cre8-border-brand-strong);
  --cre8-color-button-tertiary-border-hover: var(--cre8-button-tertiary-border-hover);
  --cre8-button-tertiary-inverse-border-hover: var(--cre8-border-brand-subtle);
  --cre8-color-button-tertiary-inverse-border-hover: var(--cre8-button-tertiary-inverse-border-hover);
  --cre8-button-tertiary-border-active: var(--cre8-primary-700);
  --cre8-color-button-tertiary-border-active: var(--cre8-button-tertiary-border-active);
  --cre8-button-tertiary-inverse-border-active: var(--cre8-border-attention);
  --cre8-color-button-tertiary-inverse-border-active: var(--cre8-button-tertiary-inverse-border-active);
  --cre8-button-tertiary-border-disabled: var(--cre8-border-transparent);
  --cre8-color-button-tertiary-border-disabled: var(--cre8-button-tertiary-border-disabled);
  --cre8-button-tertiary-inverse-border-disabled: var(--cre8-border-transparent);
  --cre8-color-button-tertiary-inverse-border-disabled: var(--cre8-button-tertiary-inverse-border-disabled);
  --cre8-button-tertiary-outline: var(--cre8-primary-700);
  --cre8-color-button-tertiary-outline: var(--cre8-button-tertiary-outline);
  --cre8-button-tertiary-inverse-outline: var(--cre8-border-brand-subtle);
  --cre8-color-button-tertiary-inverse-outline: var(--cre8-button-tertiary-inverse-outline);
  --cre8-button-tertiary-neutral-bg: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-tertiary-neutral-bg: var(--cre8-button-tertiary-neutral-bg);
  --cre8-button-tertiary-neutral-inverse-bg: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-tertiary-neutral-inverse-bg: var(--cre8-button-tertiary-neutral-inverse-bg);
  --cre8-button-tertiary-neutral-content: var(--cre8-content-default);
  --cre8-color-button-tertiary-neutral-content: var(--cre8-button-tertiary-neutral-content);
  --cre8-button-tertiary-neutral-inverse-content: var(--cre8-content-knockout);
  --cre8-color-button-tertiary-neutral-inverse-content: var(--cre8-button-tertiary-neutral-inverse-content);
  --cre8-button-tertiary-neutral-border: var(--cre8-border-transparent);
  --cre8-color-button-tertiary-neutral-border: var(--cre8-button-tertiary-neutral-border);
  --cre8-button-tertiary-neutral-inverse-border: var(--cre8-border-transparent);
  --cre8-color-button-tertiary-neutral-inverse-border: var(--cre8-button-tertiary-neutral-inverse-border);
  --cre8-button-tertiary-neutral-bg-hover: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-tertiary-neutral-bg-hover: var(--cre8-button-tertiary-neutral-bg-hover);
  --cre8-button-tertiary-neutral-inverse-bg-hover: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-tertiary-neutral-inverse-bg-hover: var(--cre8-button-tertiary-neutral-inverse-bg-hover);
  --cre8-button-tertiary-neutral-content-hover: var(--cre8-content-default);
  --cre8-color-button-tertiary-neutral-content-hover: var(--cre8-button-tertiary-neutral-content-hover);
  --cre8-button-tertiary-neutral-inverse-content-hover: var(--cre8-content-knockout);
  --cre8-color-button-tertiary-neutral-inverse-content-hover: var(--cre8-button-tertiary-neutral-inverse-content-hover);
  --cre8-button-tertiary-neutral-border-hover: var(--cre8-neutral-900);
  --cre8-color-button-tertiary-neutral-border-hover: var(--cre8-button-tertiary-neutral-border-hover);
  --cre8-button-tertiary-neutral-inverse-border-hover: var(--cre8-border-knockout);
  --cre8-color-button-tertiary-neutral-inverse-border-hover: var(--cre8-button-tertiary-neutral-inverse-border-hover);
  --cre8-button-tertiary-neutral-border-active: var(--cre8-neutral-900);
  --cre8-color-button-tertiary-neutral-border-active: var(--cre8-button-tertiary-neutral-border-active);
  --cre8-button-tertiary-neutral-inverse-border-active: var(--cre8-border-knockout);
  --cre8-color-button-tertiary-neutral-inverse-border-active: var(--cre8-button-tertiary-neutral-inverse-border-active);
  --cre8-button-tertiary-neutral-bg-active: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-tertiary-neutral-bg-active: var(--cre8-button-tertiary-neutral-bg-active);
  --cre8-button-tertiary-neutral-inverse-bg-active: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-tertiary-neutral-inverse-bg-active: var(--cre8-button-tertiary-neutral-inverse-bg-active);
  --cre8-button-tertiary-neutral-content-active: var(--cre8-content-default);
  --cre8-color-button-tertiary-neutral-content-active: var(--cre8-button-tertiary-neutral-content-active);
  --cre8-button-tertiary-neutral-inverse-content-active: var(--cre8-content-knockout);
  --cre8-color-button-tertiary-neutral-inverse-content-active: var(--cre8-button-tertiary-neutral-inverse-content-active);
  --cre8-button-tertiary-neutral-bg-disabled: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-tertiary-neutral-bg-disabled: var(--cre8-button-tertiary-neutral-bg-disabled);
  --cre8-button-tertiary-neutral-inverse-bg-disabled: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-tertiary-neutral-inverse-bg-disabled: var(--cre8-button-tertiary-neutral-inverse-bg-disabled);
  --cre8-button-tertiary-neutral-border-disabled: var(--cre8-border-transparent);
  --cre8-color-button-tertiary-neutral-border-disabled: var(--cre8-button-tertiary-neutral-border-disabled);
  --cre8-button-tertiary-neutral-inverse-border-disabled: var(--cre8-border-transparent);
  --cre8-color-button-tertiary-neutral-inverse-border-disabled: var(--cre8-button-tertiary-neutral-inverse-border-disabled);
  --cre8-button-tertiary-neutral-content-disabled: var(--cre8-content-link-disabled);
  --cre8-color-button-tertiary-neutral-content-disabled: var(--cre8-button-tertiary-neutral-content-disabled);
  --cre8-button-tertiary-neutral-inverse-content-disabled: var(--cre8-neutral-800);
  --cre8-color-button-tertiary-neutral-inverse-content-disabled: var(--cre8-button-tertiary-neutral-inverse-content-disabled);
  --cre8-button-tertiary-neutral-outline: var(--cre8-primary-900);
  --cre8-color-button-tertiary-neutral-outline: var(--cre8-button-tertiary-neutral-outline);
  --cre8-button-tertiary-neutral-inverse-outline: var(--cre8-border-inverse-active-outline);
  --cre8-color-button-tertiary-neutral-inverse-outline: var(--cre8-button-tertiary-neutral-inverse-outline);
  --cre8-button-tertiary-danger-bg: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-tertiary-danger-bg: var(--cre8-button-tertiary-danger-bg);
  --cre8-button-tertiary-danger-inverse-bg: var(--cre8-bg-opacity-transparent);
  --cre8-color-button-tertiary-danger-inverse-bg: var(--cre8-button-tertiary-danger-inverse-bg);
  --cre8-button-tertiary-danger-bg-hover: var(--cre8-error-600);
  --cre8-color-button-tertiary-danger-bg-hover: var(--cre8-button-tertiary-danger-bg-hover);
  --cre8-button-tertiary-danger-inverse-bg-hover: var(--cre8-error-200);
  --cre8-color-button-tertiary-danger-inverse-bg-hover: var(--cre8-button-tertiary-danger-inverse-bg-hover);
  --cre8-button-tertiary-danger-bg-active: var(--cre8-error-700);
  --cre8-color-button-tertiary-danger-bg-active: var(--cre8-button-tertiary-danger-bg-active);
  --cre8-button-tertiary-danger-inverse-bg-active: var(--cre8-error-100);
  --cre8-color-button-tertiary-danger-inverse-bg-active: var(--cre8-button-tertiary-danger-inverse-bg-active);
  --cre8-button-tertiary-danger-bg-disabled: var(--cre8-bg-disabled);
  --cre8-color-button-tertiary-danger-bg-disabled: var(--cre8-button-tertiary-danger-bg-disabled);
  --cre8-button-tertiary-danger-inverse-bg-disabled: var(--cre8-bg-inverse-moderate);
  --cre8-color-button-tertiary-danger-inverse-bg-disabled: var(--cre8-button-tertiary-danger-inverse-bg-disabled);
  --cre8-button-tertiary-danger-content: var(--cre8-error-500);
  --cre8-color-button-tertiary-danger-content: var(--cre8-button-tertiary-danger-content);
  --cre8-button-tertiary-danger-inverse-content: var(--cre8-error-400);
  --cre8-color-button-tertiary-danger-inverse-content: var(--cre8-button-tertiary-danger-inverse-content);
  --cre8-button-tertiary-danger-content-hover: var(--cre8-content-knockout);
  --cre8-color-button-tertiary-danger-content-hover: var(--cre8-button-tertiary-danger-content-hover);
  --cre8-button-tertiary-danger-inverse-content-hover: var(--cre8-content-default);
  --cre8-color-button-tertiary-danger-inverse-content-hover: var(--cre8-button-tertiary-danger-inverse-content-hover);
  --cre8-button-tertiary-danger-content-active: var(--cre8-content-knockout);
  --cre8-color-button-tertiary-danger-content-active: var(--cre8-button-tertiary-danger-content-active);
  --cre8-button-tertiary-danger-inverse-content-active: var(--cre8-content-default);
  --cre8-color-button-tertiary-danger-inverse-content-active: var(--cre8-button-tertiary-danger-inverse-content-active);
  --cre8-button-tertiary-danger-content-disabled: var(--cre8-content-link-disabled);
  --cre8-color-button-tertiary-danger-content-disabled: var(--cre8-button-tertiary-danger-content-disabled);
  --cre8-button-tertiary-danger-inverse-content-disabled: var(--cre8-neutral-800);
  --cre8-color-button-tertiary-danger-inverse-content-disabled: var(--cre8-button-tertiary-danger-inverse-content-disabled);
  --cre8-button-tertiary-danger-border: var(--cre8-border-transparent);
  --cre8-color-button-tertiary-danger-border: var(--cre8-button-tertiary-danger-border);
  --cre8-button-tertiary-danger-inverse-border: var(--cre8-border-transparent);
  --cre8-color-button-tertiary-danger-inverse-border: var(--cre8-button-tertiary-danger-inverse-border);
  --cre8-button-tertiary-danger-border-hover: var(--cre8-error-600);
  --cre8-color-button-tertiary-danger-border-hover: var(--cre8-button-tertiary-danger-border-hover);
  --cre8-button-tertiary-danger-inverse-border-hover: var(--cre8-error-200);
  --cre8-color-button-tertiary-danger-inverse-border-hover: var(--cre8-button-tertiary-danger-inverse-border-hover);
  --cre8-button-tertiary-danger-border-active: var(--cre8-error-700);
  --cre8-color-button-tertiary-danger-border-active: var(--cre8-button-tertiary-danger-border-active);
  --cre8-button-tertiary-danger-inverse-border-active: var(--cre8-error-100);
  --cre8-color-button-tertiary-danger-inverse-border-active: var(--cre8-button-tertiary-danger-inverse-border-active);
  --cre8-button-tertiary-danger-border-disabled: var(--cre8-border-default);
  --cre8-color-button-tertiary-danger-border-disabled: var(--cre8-button-tertiary-danger-border-disabled);
  --cre8-button-tertiary-danger-inverse-border-disabled: var(--cre8-border-strong);
  --cre8-color-button-tertiary-danger-inverse-border-disabled: var(--cre8-button-tertiary-danger-inverse-border-disabled);
  --cre8-button-tertiary-danger-outline: var(--cre8-primary-700);
  --cre8-color-button-tertiary-danger-outline: var(--cre8-button-tertiary-danger-outline);
  --cre8-button-tertiary-danger-inverse-outline: var(--cre8-border-inverse-active-outline);
  --cre8-color-button-tertiary-danger-inverse-outline: var(--cre8-button-tertiary-danger-inverse-outline);

  /* Component sizing — multiples of the spacing scale */
  --cre8-desktop-menu-padding-vertical-padding: calc(var(--cre8-seed-space) * 4);
  --cre8-desktop-menu-padding-horizontal-padding: calc(var(--cre8-seed-space) * 2);
  --cre8-input-padding: calc(var(--cre8-seed-space) * 2.5) calc(var(--cre8-seed-space) * 3.5);
  --cre8-input-label-margin-left: 0;
  --cre8-button-padding-vertical-small: calc(var(--cre8-seed-space) * 2);
  --cre8-button-padding-vertical-medium: calc(var(--cre8-seed-space) * 3);
  --cre8-button-padding-vertical-large: calc(var(--cre8-seed-space) * 4);
  --cre8-button-padding-vertical-icon-only: calc(var(--cre8-seed-space) * 2);
  --cre8-button-padding-vertical-small-icon-only: calc(var(--cre8-seed-space) * 2);
  --cre8-button-padding-vertical-medium-icon-only: calc(var(--cre8-seed-space) * 4);
  --cre8-button-padding-vertical-large-icon-only: calc(var(--cre8-seed-space) * 4);
  --cre8-button-padding-horizontal-small: calc(var(--cre8-seed-space) * 4);
  --cre8-button-padding-horizontal-medium: calc(var(--cre8-seed-space) * 6);
  --cre8-button-padding-horizontal-large: calc(var(--cre8-seed-space) * 8);
  --cre8-button-padding-horizontal-icon-only: calc(var(--cre8-seed-space) * 2);
  --cre8-button-padding-horizontal-small-icon-only: calc(var(--cre8-seed-space) * 2);
  --cre8-button-padding-horizontal-medium-icon-only: calc(var(--cre8-seed-space) * 4);
  --cre8-button-padding-horizontal-large-icon-only: calc(var(--cre8-seed-space) * 4);
  --cre8-icon-size-small: calc(var(--cre8-seed-space) * 3.5);
  --cre8-icon-size-default: calc(var(--cre8-seed-space) * 4);
  --cre8-icon-size-large: calc(var(--cre8-seed-space) * 4.5);
  --cre8-badge-padding-horizontal: calc(var(--cre8-seed-space) * 1.5);
  --cre8-badge-padding-vertical: calc(var(--cre8-seed-space) * 0.5);
  --cre8-progress-meter-height: calc(var(--cre8-seed-space) * 2);

/* ===========================================================================
   TIER 3b · LEGACY ALIASES — names that describe a vendor or an index
   Kept so nothing breaks. Prefer the role names in tier 1.
   =========================================================================== */
  --cre8-font-families-inter: var(--cre8-font-family-base);
  --cre8-font-weights-inter-0: var(--cre8-font-weight-regular);
  --cre8-font-weights-inter-1: var(--cre8-font-weight-medium);
  --cre8-font-weights-inter-2: var(--cre8-font-weight-bold);
  --cre8-font-weights-inter-3: var(--cre8-font-weight-semibold);
  --cre8-line-heights-0: var(--cre8-line-height-snug);
  --cre8-line-heights-1: var(--cre8-line-height-tight);
  --cre8-line-heights-2: 1.14;
  --cre8-line-heights-3: 1.2;
  --cre8-line-heights-4: 1.3;
  --cre8-line-heights-5: var(--cre8-line-height-normal);
  --cre8-line-heights-6: var(--cre8-line-height-relaxed);
  --cre8-line-heights-7: var(--cre8-line-height-loose);
  --cre8-line-heights-8: 1.43;
  --cre8-line-heights-9: 1.11;
  --cre8-line-heights-10: 1.13;
  --cre8-line-heights-11: 1.16;
  --cre8-line-heights-12: 0.48;
  --cre8-line-heights-13: 0.4;
  --cre8-line-heights-14: 0.32;
  --cre8-line-heights-15: 0.28;
  --cre8-line-heights-16: 0.24;
  --cre8-line-heights-17: 0.2;
  --cre8-line-heights-18: 0.16;
  --cre8-border-radius-default: var(--cre8-radius-field);
  --cre8-border-radius-round: var(--cre8-radius-pill);
  --cre8-border-radius-button: var(--cre8-radius-button);
  --cre8-border-radius-badge: var(--cre8-radius-pill);
  --cre8-border-radius-brand: var(--cre8-radius-pill);
  --cre8-border-radius-none: var(--cre8-radius-none);
  --cre8-border-radius-checkbox: var(--cre8-radius-checkbox);
  --cre8-border-radius-small: var(--cre8-radius-small);
  --cre8-border-radius-field: var(--cre8-radius-field);
  --cre8-border-radius-field-brand: var(--cre8-radius-field-brand);
  --cre8-border-radius-tabs: var(--cre8-radius-tabs);
  --cre8-border-radius-large: var(--cre8-radius-large);
  --cre8-border-radius-container: var(--cre8-radius-container);
  --cre8-border-radius-pill: var(--cre8-radius-pill);
  --cre8-border-width-button-tertiary-outline-focus: var(--cre8-border-width-focus);
  --cre8-border-width-button-default: var(--cre8-border-width-focus);
  --cre8-border-width-tab-selected: var(--cre8-border-width-focus);
  --cre8-border-width-tab-default: var(--cre8-border-width-focus);

  /* Verbatim — no brand meaning */
  --cre8-letter-spacing-0: -1.5;
  --cre8-letter-spacing-1: -1;
  --cre8-letter-spacing-2: -0.5;
  --cre8-letter-spacing-3: 0;
  --cre8-letter-spacing-4: 2;
  --cre8-letter-spacing-5: 1;
  --cre8-letter-spacing-6: 1.5;
  --cre8-paragraph-spacing-0: 0;
  --cre8-text-case-none: none;
  --cre8-text-case-uppercase: uppercase;
  --cre8-text-decoration-none: none;
  --cre8-text-decoration-underline: underline;
  --cre8-paragraph-indent-0: 0px;
  --cre8-border-style-button-tertiary-outline-focus: solid;
  --cre8-border-style-default: solid;
  --cre8-breakpoint-xsm: 375px;
  --cre8-breakpoint-sm: 560px;
  --cre8-breakpoint-md: 768px;
  --cre8-breakpoint-lg: 960px;
  --cre8-breakpoint-xl: 1200px;
  --cre8-breakpoint-xxl: 1400px;

  /* Elevation — neutral-tinted, driven by the overlay primitives */
  --cre8-shadow-none: none;
  --cre8-shadow-button: none;
  --cre8-shadow-small: 0 1px 3px 0 oklch(from var(--cre8-neutral-900) l c h / 0.06);
  --cre8-shadow-default: 0 4px 12px 0 oklch(from var(--cre8-neutral-900) l c h / 0.08);
  --cre8-shadow-large: 0 8px 24px 0 oklch(from var(--cre8-neutral-900) l c h / 0.12);
}

/* ===========================================================================
   MODE — the 152 hand-maintained inverse tokens collapse to this block.
   Only the mode indirection is remapped; the semantic and component tiers
   re-resolve through it, so every component follows with no per-component
   work. The legacy --cre8-color-*-inverse-* names are still emitted above
   and still resolve to their original values.

   Put [data-mode] on <html> for the whole document, or pair it with
   [data-cre8-theme] on any element to scope the mode to that subtree.
   =========================================================================== */
[data-mode="inverse"] {
  --cre8-mode-bg-default: var(--cre8-neutral-800);
  --cre8-mode-bg-default-hover: var(--cre8-neutral-700);
  --cre8-mode-bg-subtle: var(--cre8-neutral-900);
  --cre8-mode-bg-strong: var(--cre8-neutral-50);
  --cre8-mode-bg-disabled: var(--cre8-neutral-700);
  --cre8-mode-bg-brand: var(--cre8-primary-900);
  --cre8-mode-bg-brand-hover: var(--cre8-primary-800);
  --cre8-mode-bg-brand-strong: var(--cre8-primary-300);
  --cre8-mode-bg-brand-strong-hover: var(--cre8-primary-200);
  --cre8-mode-content-default: var(--cre8-neutral-50);
  --cre8-mode-content-subtle: var(--cre8-neutral-400);
  --cre8-mode-content-disabled: var(--cre8-neutral-600);
  --cre8-mode-content-knockout: var(--cre8-neutral-900);
  --cre8-mode-content-brand: var(--cre8-primary-300);
  --cre8-mode-content-brand-strong: var(--cre8-primary-200);
  --cre8-mode-content-link: var(--cre8-primary-300);
  --cre8-mode-content-link-hover: var(--cre8-primary-200);
  --cre8-mode-border-default: var(--cre8-neutral-700);
  --cre8-mode-border-strong: var(--cre8-neutral-500);
  --cre8-mode-border-brand: var(--cre8-primary-300);
}

@media (prefers-color-scheme: dark) {
  [data-mode="auto"] {
    --cre8-mode-bg-default: var(--cre8-neutral-800);
    --cre8-mode-bg-default-hover: var(--cre8-neutral-700);
    --cre8-mode-bg-subtle: var(--cre8-neutral-900);
    --cre8-mode-bg-strong: var(--cre8-neutral-50);
    --cre8-mode-bg-disabled: var(--cre8-neutral-700);
    --cre8-mode-bg-brand: var(--cre8-primary-900);
    --cre8-mode-bg-brand-hover: var(--cre8-primary-800);
    --cre8-mode-bg-brand-strong: var(--cre8-primary-300);
    --cre8-mode-bg-brand-strong-hover: var(--cre8-primary-200);
    --cre8-mode-content-default: var(--cre8-neutral-50);
    --cre8-mode-content-subtle: var(--cre8-neutral-400);
    --cre8-mode-content-disabled: var(--cre8-neutral-600);
    --cre8-mode-content-knockout: var(--cre8-neutral-900);
    --cre8-mode-content-brand: var(--cre8-primary-300);
    --cre8-mode-content-brand-strong: var(--cre8-primary-200);
    --cre8-mode-content-link: var(--cre8-primary-300);
    --cre8-mode-content-link-hover: var(--cre8-primary-200);
    --cre8-mode-border-default: var(--cre8-neutral-700);
    --cre8-mode-border-strong: var(--cre8-neutral-500);
    --cre8-mode-border-brand: var(--cre8-primary-300);
  }
}
