{
  "$schema": "https://transtyle.dev/schemas/report/v0.json",
  "target": "bootstrap",
  "options": {},
  "generatedBy": "transtyle 0.1.0 (walking skeleton)",
  "coverage": {
    "counts": {
      "native": 62,
      "derived": 489,
      "approximated": 41,
      "dropped": 73,
      "unsupported": 56
    },
    "items": [
      {
        "variable": "$primary",
        "slot": "semantic.color.primary.solid",
        "class": "native"
      },
      {
        "variable": "$theme-colors-text.primary",
        "slot": "semantic.color.primary.on-tint",
        "class": "derived"
      },
      {
        "variable": "$theme-colors-bg-subtle.primary",
        "slot": "semantic.color.primary.tint",
        "class": "derived"
      },
      {
        "variable": "$theme-colors-border-subtle.primary",
        "slot": "semantic.color.primary.outline",
        "class": "derived",
        "note": "promoted from a private mix to a first-class grid cell (F10)"
      },
      {
        "variable": "$secondary",
        "slot": "semantic.color.secondary.solid",
        "class": "derived"
      },
      {
        "variable": "$theme-colors-text.secondary",
        "slot": "semantic.color.secondary.on-tint",
        "class": "derived"
      },
      {
        "variable": "$theme-colors-bg-subtle.secondary",
        "slot": "semantic.color.secondary.tint",
        "class": "derived"
      },
      {
        "variable": "$theme-colors-border-subtle.secondary",
        "slot": "semantic.color.secondary.outline",
        "class": "derived",
        "note": "promoted from a private mix to a first-class grid cell (F10)"
      },
      {
        "variable": "$success",
        "slot": "semantic.color.success.solid",
        "class": "derived"
      },
      {
        "variable": "$theme-colors-text.success",
        "slot": "semantic.color.success.on-tint",
        "class": "derived"
      },
      {
        "variable": "$theme-colors-bg-subtle.success",
        "slot": "semantic.color.success.tint",
        "class": "derived"
      },
      {
        "variable": "$theme-colors-border-subtle.success",
        "slot": "semantic.color.success.outline",
        "class": "derived",
        "note": "promoted from a private mix to a first-class grid cell (F10)"
      },
      {
        "variable": "$info",
        "slot": "semantic.color.info.solid",
        "class": "approximated",
        "note": "sRGB gamut clamp during oklch → hex"
      },
      {
        "variable": "$theme-colors-text.info",
        "slot": "semantic.color.info.on-tint",
        "class": "approximated",
        "note": "sRGB gamut clamp during oklch → hex"
      },
      {
        "variable": "$theme-colors-bg-subtle.info",
        "slot": "semantic.color.info.tint",
        "class": "derived"
      },
      {
        "variable": "$theme-colors-border-subtle.info",
        "slot": "semantic.color.info.outline",
        "class": "derived",
        "note": "promoted from a private mix to a first-class grid cell (F10)"
      },
      {
        "variable": "$warning",
        "slot": "semantic.color.warning.solid",
        "class": "derived"
      },
      {
        "variable": "$theme-colors-text.warning",
        "slot": "semantic.color.warning.on-tint",
        "class": "approximated",
        "note": "sRGB gamut clamp during oklch → hex"
      },
      {
        "variable": "$theme-colors-bg-subtle.warning",
        "slot": "semantic.color.warning.tint",
        "class": "derived"
      },
      {
        "variable": "$theme-colors-border-subtle.warning",
        "slot": "semantic.color.warning.outline",
        "class": "derived",
        "note": "promoted from a private mix to a first-class grid cell (F10)"
      },
      {
        "variable": "$danger",
        "slot": "semantic.color.danger.solid",
        "class": "derived"
      },
      {
        "variable": "$theme-colors-text.danger",
        "slot": "semantic.color.danger.on-tint",
        "class": "derived"
      },
      {
        "variable": "$theme-colors-bg-subtle.danger",
        "slot": "semantic.color.danger.tint",
        "class": "derived"
      },
      {
        "variable": "$theme-colors-border-subtle.danger",
        "slot": "semantic.color.danger.outline",
        "class": "derived",
        "note": "promoted from a private mix to a first-class grid cell (F10)"
      },
      {
        "variable": "$light",
        "slot": "semantic.color.neutral.tint",
        "class": "derived",
        "note": "exporter convention: $light/$dark map from the neutral role (F12)"
      },
      {
        "variable": "$dark",
        "slot": "semantic.color.neutral.text-strong",
        "class": "derived",
        "note": "exporter convention (F12)"
      },
      {
        "variable": "$body-bg",
        "slot": "semantic.color.elevation.0.surface",
        "class": "native"
      },
      {
        "variable": "$body-color",
        "slot": "semantic.color.text.base",
        "class": "native"
      },
      {
        "variable": "$body-emphasis-color",
        "slot": "semantic.color.neutral.text-strong",
        "class": "derived"
      },
      {
        "variable": "$body-secondary-color",
        "slot": "semantic.color.text.muted",
        "class": "native"
      },
      {
        "variable": "$body-secondary-bg",
        "slot": "semantic.color.neutral.tint",
        "class": "derived"
      },
      {
        "variable": "$body-tertiary-bg",
        "slot": "semantic.color.elevation.1.surface",
        "class": "native"
      },
      {
        "variable": "$border-color",
        "slot": "semantic.color.border.base",
        "class": "native"
      },
      {
        "variable": "$link-color",
        "slot": "semantic.color.primary.solid",
        "class": "native",
        "note": "exporter convention: link ← primary.solid (matches Bootstrap default)"
      },
      {
        "variable": "$link-hover-color",
        "slot": "semantic.color.primary.solid-hover",
        "class": "approximated",
        "note": "replaces Bootstrap sRGB shade-color(20%); sRGB gamut clamp during oklch → hex"
      },
      {
        "variable": "$focus-ring-color",
        "slot": "semantic.color.ring",
        "class": "derived",
        "note": "ring ← primary (F3) at Bootstrap conventional alpha .25"
      },
      {
        "variable": "$focus-ring-width",
        "slot": "semantic.ring.width",
        "class": "dropped",
        "note": "not authored: Bootstrap's own .25rem spread stands — author semantic.ring.width (or border-width.medium, which it defaults from) and it is driven"
      },
      {
        "variable": "(focus ring offset)",
        "slot": "semantic.ring.offset",
        "class": "dropped",
        "note": "Bootstrap's ring is a box-shadow spread with no gap between the element and the halo: there is no offset to set"
      },
      {
        "variable": "$box-shadow-sm",
        "slot": "semantic.color.scrim",
        "class": "derived",
        "note": "composed from scrim alpha ramp (F2)"
      },
      {
        "variable": "$box-shadow",
        "slot": "semantic.color.scrim",
        "class": "derived",
        "note": "composed from scrim alpha ramp (F2)"
      },
      {
        "variable": "$box-shadow-lg",
        "slot": "semantic.color.scrim",
        "class": "derived",
        "note": "composed from scrim alpha ramp (F2)"
      },
      {
        "variable": "$box-shadow-inset",
        "slot": "—",
        "class": "unsupported",
        "note": "no IR inset-shadow concept; Bootstrap default kept",
        "meaning": "shadow.inset"
      },
      {
        "variable": "$border-radius",
        "slot": "semantic.radius.md",
        "class": "native"
      },
      {
        "variable": "$border-radius-sm",
        "slot": "semantic.radius.sm",
        "class": "derived"
      },
      {
        "variable": "$border-radius-lg",
        "slot": "semantic.radius.lg",
        "class": "derived"
      },
      {
        "variable": "$border-radius-xl",
        "slot": "semantic.radius.xl",
        "class": "derived"
      },
      {
        "variable": "$border-radius-xxl",
        "slot": "semantic.radius.xl",
        "class": "approximated",
        "note": "exporter convention: xl × 2 — no IR 2xl slot (F8 watch item)"
      },
      {
        "variable": "$border-radius-pill",
        "slot": "semantic.radius.full",
        "class": "approximated",
        "note": "meaning maps exactly (fully rounded); the value is Bootstrap's own 50rem idiom, emitted unconditionally rather than read from the slot"
      },
      {
        "variable": "$font-family-sans-serif",
        "slot": "semantic.font.sans",
        "class": "native"
      },
      {
        "variable": "$font-family-monospace",
        "slot": "semantic.font.mono",
        "class": "native"
      },
      {
        "variable": "$font-size-base",
        "slot": "semantic.type.size.md",
        "class": "derived",
        "note": "defaulted modular scale (base 1rem, ratio 1.25) — no authored type tokens"
      },
      {
        "variable": "$line-height-base",
        "slot": "semantic.type.leading.normal",
        "class": "derived",
        "note": "defaulted line height (1.5) — no authored leading token"
      },
      {
        "variable": "$h1-font-size…$h6-font-size",
        "slot": "semantic.type.size.{4xl…md}",
        "slots": [
          "semantic.type.size.4xl",
          "semantic.type.size.3xl",
          "semantic.type.size.2xl",
          "semantic.type.size.xl",
          "semantic.type.size.lg",
          "semantic.type.size.md"
        ],
        "class": "derived",
        "note": "defaulted modular scale (base 1rem, ratio 1.25) — no authored type tokens"
      },
      {
        "variable": "$display-font-sizes",
        "slot": "—",
        "class": "unsupported",
        "note": "the IR does have this concept — `semantic.type.role.display.{sm,md,lg}` — but the two ladders disagree: Bootstrap runs 6 rungs from 2.5rem to 5rem, the type-role scale 3 from 1.953rem to 3.052rem, so mapping either onto the other invents rungs or drops them. Same shape as AL2's size-ladder deferral; Bootstrap defaults kept",
        "meaning": "type.display-ladder"
      },
      {
        "variable": "$spacer",
        "slot": "semantic.space.4",
        "class": "native"
      },
      {
        "variable": "$spacers",
        "slot": "semantic.space.{0,1,2,4,6,12}",
        "slots": [
          "semantic.space.0",
          "semantic.space.1",
          "semantic.space.2",
          "semantic.space.4",
          "semantic.space.6",
          "semantic.space.12"
        ],
        "class": "native"
      },
      {
        "variable": "$grid-breakpoints/$container-max-widths",
        "slot": "—",
        "class": "unsupported",
        "note": "`semantic.breakpoint.*` ships (6 rungs), but only `md` (768px) agrees: Bootstrap's sm/lg/xl/xxl are 576/992/1200/1400 against the catalog's 640/1024/1280/1536, and its `xs` is `0` — the unqueried mobile-first base, not a boundary at all, where the catalog's is 480px. Rebinding would move every responsive boundary in the framework: a behavioral change, not a theming one. `$container-max-widths` has no IR counterpart at all. Bootstrap defaults kept",
        "meaning": "breakpoint.ladder"
      },
      {
        "variable": "motion ($transition-*)",
        "slot": "—",
        "class": "dropped",
        "note": "the global $transition-base/-fade stay Bootstrap defaults; per-component transitions are driven — see the component-tier rows"
      },
      {
        "variable": "$component-active-color",
        "slot": "semantic.color.primary.on-solid",
        "class": "derived",
        "note": "review pickup (AL1.2 findings): Bootstrap hardcodes $white; $component-active-bg already chains from $primary"
      },
      {
        "variable": "$caret-width",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value. (caret glyph geometry)"
      },
      {
        "variable": "$caret-vertical-align",
        "slot": "via driven roots",
        "via": [
          "$caret-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$caret-spacing",
        "slot": "via driven roots",
        "via": [
          "$caret-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$blockquote-margin-y",
        "slot": "via driven roots",
        "via": [
          "$spacer"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$blockquote-font-size",
        "slot": "via driven roots",
        "via": [
          "$font-size-base"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$blockquote-footer-color",
        "slot": "via driven roots",
        "via": [
          "$gray-600"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$blockquote-footer-font-size",
        "slot": "via driven roots",
        "via": [
          "$small-font-size"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$hr-margin-y",
        "slot": "via driven roots",
        "via": [
          "$spacer"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$hr-color",
        "slot": "via the cascade",
        "class": "derived",
        "note": "left at Bootstrap's cascade no-op so the value reaches it by inheritance from the body text color (driven) — the divider is currentColor at $hr-opacity"
      },
      {
        "variable": "$hr-bg-color",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap cascade no-op marker (null/inherit/transparent/currentcolor) left untouched — overriding would change inheritance behavior, not theme values"
      },
      {
        "variable": "$hr-height",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap cascade no-op marker (null/inherit/transparent/currentcolor) left untouched — overriding would change inheritance behavior, not theme values"
      },
      {
        "variable": "$hr-border-color",
        "slot": "via the cascade",
        "class": "derived",
        "note": "left at Bootstrap's cascade no-op so the value reaches it by inheritance from currentColor via $hr-color, so it follows the driven body color per mode"
      },
      {
        "variable": "$hr-border-width",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-width"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$hr-opacity",
        "slot": "—",
        "class": "unsupported",
        "note": "opacity value with no shared meaning: AL2 promoted `semantic.opacity.disabled` (the one both reference targets needed) but this slot is a different concept — a veil strength, a shimmer range, or a glyph-specific alpha. Growth signal only if a second target needs the identical one.",
        "meaning": "opacity.component"
      },
      {
        "variable": "$legend-margin-bottom",
        "slot": "semantic.space.2",
        "class": "native"
      },
      {
        "variable": "$legend-font-size",
        "slot": "semantic.type.size.xl",
        "class": "approximated",
        "note": "1.5rem vs the 1.563rem scale rung — nearest meaning"
      },
      {
        "variable": "$legend-font-weight",
        "slot": "semantic.type.role.title.md (fontWeight)",
        "slots": [
          "semantic.type.role.title.md"
        ],
        "class": "derived"
      },
      {
        "variable": "$dt-font-weight",
        "slot": "via driven roots",
        "via": [
          "$font-weight-bold"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$mark-padding",
        "slot": "semantic.space.1",
        "class": "approximated",
        "note": "em-relative in Bootstrap (proportional to local font size); bound to the nearest rem rung — proportional intent is approximated, not preserved."
      },
      {
        "variable": "$mark-color",
        "slot": "via driven roots",
        "via": [
          "$body-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$mark-bg",
        "slot": "via driven roots",
        "via": [
          "$yellow-100"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$table-cell-padding-y",
        "slot": "semantic.space.2",
        "class": "native"
      },
      {
        "variable": "$table-cell-padding-x",
        "slot": "semantic.space.2",
        "class": "native"
      },
      {
        "variable": "$table-cell-padding-y-sm",
        "slot": "semantic.space.1",
        "class": "native"
      },
      {
        "variable": "$table-cell-padding-x-sm",
        "slot": "semantic.space.1",
        "class": "native"
      },
      {
        "variable": "$table-cell-vertical-align",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value."
      },
      {
        "variable": "$table-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-emphasis-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$table-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$table-accent-bg",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap cascade no-op marker (null/inherit/transparent/currentcolor) left untouched — overriding would change inheritance behavior, not theme values"
      },
      {
        "variable": "$table-th-font-weight",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap null marker with no non-null meaning to bind"
      },
      {
        "variable": "$table-striped-color",
        "slot": "via driven roots",
        "via": [
          "$table-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$table-striped-bg-factor",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap state/subtle-color derivation knob (shade/tint/scale %). Transtyle derives those result colors directly (grid -hover/-active cells, tint/outline prominences); the percentage itself has no token meaning — the derived colors reach the target via the CSS-variable path (AL1.4)."
      },
      {
        "variable": "$table-striped-bg",
        "slot": "via driven roots",
        "via": [
          "$table-striped-bg-factor"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$table-active-color",
        "slot": "via driven roots",
        "via": [
          "$table-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$table-active-bg-factor",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap state/subtle-color derivation knob (shade/tint/scale %). Transtyle derives those result colors directly (grid -hover/-active cells, tint/outline prominences); the percentage itself has no token meaning — the derived colors reach the target via the CSS-variable path (AL1.4)."
      },
      {
        "variable": "$table-active-bg",
        "slot": "via driven roots",
        "via": [
          "$table-active-bg-factor"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$table-hover-color",
        "slot": "via driven roots",
        "via": [
          "$table-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$table-hover-bg-factor",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap state/subtle-color derivation knob (shade/tint/scale %). Transtyle derives those result colors directly (grid -hover/-active cells, tint/outline prominences); the percentage itself has no token meaning — the derived colors reach the target via the CSS-variable path (AL1.4)."
      },
      {
        "variable": "$table-hover-bg",
        "slot": "via driven roots",
        "via": [
          "$table-hover-bg-factor"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$table-border-factor",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap state/subtle-color derivation knob (shade/tint/scale %). Transtyle derives those result colors directly (grid -hover/-active cells, tint/outline prominences); the percentage itself has no token meaning — the derived colors reach the target via the CSS-variable path (AL1.4)."
      },
      {
        "variable": "$table-border-width",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-width"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$table-border-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$table-striped-order",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value."
      },
      {
        "variable": "$table-striped-columns-order",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value."
      },
      {
        "variable": "$table-group-separator-color",
        "slot": "via the cascade",
        "class": "derived",
        "note": "left at Bootstrap's cascade no-op so the value reaches it by inheritance from currentColor — the driven table text color"
      },
      {
        "variable": "$table-caption-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-secondary-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$table-bg-scale",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap state/subtle-color derivation knob (shade/tint/scale %). Transtyle derives those result colors directly (grid -hover/-active cells, tint/outline prominences); the percentage itself has no token meaning — the derived colors reach the target via the CSS-variable path (AL1.4)."
      },
      {
        "variable": "$table-variants",
        "slot": "via driven roots",
        "via": [
          "$primary",
          "$table-bg-scale",
          "$secondary",
          "$success",
          "$info",
          "$warning",
          "$danger",
          "$light",
          "$dark"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-btn-padding-y",
        "slot": "component.control.padding-y",
        "class": "derived"
      },
      {
        "variable": "$input-btn-padding-x",
        "slot": "component.control.padding-x",
        "class": "derived"
      },
      {
        "variable": "$input-btn-font-family",
        "slot": "via the cascade",
        "class": "derived",
        "note": "left at Bootstrap's cascade no-op so the value reaches it by inheritance from the driven body font stack"
      },
      {
        "variable": "$input-btn-font-size",
        "slot": "via driven roots",
        "via": [
          "$font-size-base"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-btn-line-height",
        "slot": "via driven roots",
        "via": [
          "$line-height-base"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-btn-focus-width",
        "slot": "via driven roots",
        "via": [
          "$focus-ring-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-btn-focus-color-opacity",
        "slot": "via driven roots",
        "via": [
          "$focus-ring-opacity"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-btn-focus-color",
        "slot": "via driven roots",
        "via": [
          "$focus-ring-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-btn-focus-blur",
        "slot": "via driven roots",
        "via": [
          "$focus-ring-blur"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-btn-focus-box-shadow",
        "slot": "via driven roots",
        "via": [
          "$focus-ring-box-shadow"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-btn-padding-y-sm",
        "slot": "semantic.space.1",
        "class": "native"
      },
      {
        "variable": "$input-btn-padding-x-sm",
        "slot": "semantic.space.2",
        "class": "native"
      },
      {
        "variable": "$input-btn-font-size-sm",
        "slot": "via driven roots",
        "via": [
          "$font-size-sm"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-btn-padding-y-lg",
        "slot": "semantic.space.2",
        "class": "native"
      },
      {
        "variable": "$input-btn-padding-x-lg",
        "slot": "semantic.space.4",
        "class": "native"
      },
      {
        "variable": "$input-btn-font-size-lg",
        "slot": "via driven roots",
        "via": [
          "$font-size-lg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-btn-border-width",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-width"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$btn-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$btn-padding-y",
        "slot": "component.button.padding-y",
        "class": "native"
      },
      {
        "variable": "$btn-padding-x",
        "slot": "component.button.padding-x",
        "class": "native"
      },
      {
        "variable": "$btn-font-family",
        "slot": "via driven roots",
        "via": [
          "$input-btn-font-family"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$btn-font-size",
        "slot": "via driven roots",
        "via": [
          "$input-btn-font-size"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$btn-line-height",
        "slot": "via driven roots",
        "via": [
          "$input-btn-line-height"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$btn-white-space",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap cascade no-op marker (null/inherit/transparent/currentcolor) left untouched — overriding would change inheritance behavior, not theme values"
      },
      {
        "variable": "$btn-padding-y-sm",
        "slot": "via driven roots",
        "via": [
          "$input-btn-padding-y-sm"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$btn-padding-x-sm",
        "slot": "via driven roots",
        "via": [
          "$input-btn-padding-x-sm"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$btn-font-size-sm",
        "slot": "via driven roots",
        "via": [
          "$input-btn-font-size-sm"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$btn-padding-y-lg",
        "slot": "via driven roots",
        "via": [
          "$input-btn-padding-y-lg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$btn-padding-x-lg",
        "slot": "via driven roots",
        "via": [
          "$input-btn-padding-x-lg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$btn-font-size-lg",
        "slot": "via driven roots",
        "via": [
          "$input-btn-font-size-lg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$btn-border-width",
        "slot": "via driven roots",
        "via": [
          "$input-btn-border-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$btn-font-weight",
        "slot": "via driven roots",
        "via": [
          "$font-weight-normal"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$btn-box-shadow",
        "slot": "via driven roots",
        "via": [
          "$white",
          "$black"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$btn-focus-width",
        "slot": "via driven roots",
        "via": [
          "$input-btn-focus-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$btn-focus-box-shadow",
        "slot": "via driven roots",
        "via": [
          "$input-btn-focus-box-shadow"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$btn-disabled-opacity",
        "slot": "semantic.opacity.disabled",
        "class": "approximated",
        "note": "Bootstrap's own default is .65; the promoted catalog slot is the shared disabled-state opacity (AL2)"
      },
      {
        "variable": "$btn-active-box-shadow",
        "slot": "via driven roots",
        "via": [
          "$black"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$btn-link-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$link-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$btn-link-hover-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$link-hover-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$btn-link-disabled-color",
        "slot": "via driven roots",
        "via": [
          "$gray-600"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$btn-link-focus-shadow-rgb",
        "slot": "via driven roots",
        "via": [
          "$link-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$btn-border-radius",
        "slot": "component.button.radius",
        "class": "native"
      },
      {
        "variable": "$btn-border-radius-sm",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-radius-sm"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$btn-border-radius-lg",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-radius-lg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$btn-transition",
        "slot": "semantic.duration.fast + easing.standard",
        "slots": [
          "semantic.duration.fast",
          "semantic.easing.standard"
        ],
        "class": "approximated",
        "note": "timing from the motion scale; property list kept from Bootstrap's default"
      },
      {
        "variable": "$btn-hover-bg-shade-amount",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap state/subtle-color derivation knob (shade/tint/scale %). Transtyle derives those result colors directly (grid -hover/-active cells, tint/outline prominences); the percentage itself has no token meaning — the derived colors reach the target via the CSS-variable path (AL1.4)."
      },
      {
        "variable": "$btn-hover-bg-tint-amount",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap state/subtle-color derivation knob (shade/tint/scale %). Transtyle derives those result colors directly (grid -hover/-active cells, tint/outline prominences); the percentage itself has no token meaning — the derived colors reach the target via the CSS-variable path (AL1.4)."
      },
      {
        "variable": "$btn-hover-border-shade-amount",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap state/subtle-color derivation knob (shade/tint/scale %). Transtyle derives those result colors directly (grid -hover/-active cells, tint/outline prominences); the percentage itself has no token meaning — the derived colors reach the target via the CSS-variable path (AL1.4)."
      },
      {
        "variable": "$btn-hover-border-tint-amount",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap state/subtle-color derivation knob (shade/tint/scale %). Transtyle derives those result colors directly (grid -hover/-active cells, tint/outline prominences); the percentage itself has no token meaning — the derived colors reach the target via the CSS-variable path (AL1.4)."
      },
      {
        "variable": "$btn-active-bg-shade-amount",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap state/subtle-color derivation knob (shade/tint/scale %). Transtyle derives those result colors directly (grid -hover/-active cells, tint/outline prominences); the percentage itself has no token meaning — the derived colors reach the target via the CSS-variable path (AL1.4)."
      },
      {
        "variable": "$btn-active-bg-tint-amount",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap state/subtle-color derivation knob (shade/tint/scale %). Transtyle derives those result colors directly (grid -hover/-active cells, tint/outline prominences); the percentage itself has no token meaning — the derived colors reach the target via the CSS-variable path (AL1.4)."
      },
      {
        "variable": "$btn-active-border-shade-amount",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap state/subtle-color derivation knob (shade/tint/scale %). Transtyle derives those result colors directly (grid -hover/-active cells, tint/outline prominences); the percentage itself has no token meaning — the derived colors reach the target via the CSS-variable path (AL1.4)."
      },
      {
        "variable": "$btn-active-border-tint-amount",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap state/subtle-color derivation knob (shade/tint/scale %). Transtyle derives those result colors directly (grid -hover/-active cells, tint/outline prominences); the percentage itself has no token meaning — the derived colors reach the target via the CSS-variable path (AL1.4)."
      },
      {
        "variable": "$form-text-margin-top",
        "slot": "semantic.space.1",
        "class": "native"
      },
      {
        "variable": "$form-text-font-size",
        "slot": "via driven roots",
        "via": [
          "$small-font-size"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-text-font-style",
        "slot": "via the cascade",
        "class": "derived",
        "note": "left at Bootstrap's cascade no-op so the value reaches it by inheritance from the driven body type"
      },
      {
        "variable": "$form-text-font-weight",
        "slot": "via the cascade",
        "class": "derived",
        "note": "left at Bootstrap's cascade no-op so the value reaches it by inheritance from the driven body type"
      },
      {
        "variable": "$form-text-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-secondary-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$form-label-margin-bottom",
        "slot": "semantic.space.2",
        "class": "native"
      },
      {
        "variable": "$form-label-font-size",
        "slot": "semantic.type.role.label.md (fontSize)",
        "slots": [
          "semantic.type.role.label.md"
        ],
        "class": "derived"
      },
      {
        "variable": "$form-label-font-style",
        "slot": "via the cascade",
        "class": "derived",
        "note": "left at Bootstrap's cascade no-op so the value reaches it by inheritance from the driven body type"
      },
      {
        "variable": "$form-label-font-weight",
        "slot": "semantic.type.role.label.md (fontWeight)",
        "slots": [
          "semantic.type.role.label.md"
        ],
        "class": "derived"
      },
      {
        "variable": "$form-label-color",
        "slot": "via the cascade",
        "class": "derived",
        "note": "left at Bootstrap's cascade no-op so the value reaches it by inheritance from the driven body text color"
      },
      {
        "variable": "$input-padding-y",
        "slot": "via driven roots",
        "via": [
          "$input-btn-padding-y"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-padding-x",
        "slot": "via driven roots",
        "via": [
          "$input-btn-padding-x"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-font-family",
        "slot": "via driven roots",
        "via": [
          "$input-btn-font-family"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-font-size",
        "slot": "via driven roots",
        "via": [
          "$input-btn-font-size"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-font-weight",
        "slot": "via driven roots",
        "via": [
          "$font-weight-base"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-line-height",
        "slot": "via driven roots",
        "via": [
          "$input-btn-line-height"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-padding-y-sm",
        "slot": "via driven roots",
        "via": [
          "$input-btn-padding-y-sm"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-padding-x-sm",
        "slot": "via driven roots",
        "via": [
          "$input-btn-padding-x-sm"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-font-size-sm",
        "slot": "via driven roots",
        "via": [
          "$input-btn-font-size-sm"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-padding-y-lg",
        "slot": "via driven roots",
        "via": [
          "$input-btn-padding-y-lg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-padding-x-lg",
        "slot": "via driven roots",
        "via": [
          "$input-btn-padding-x-lg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-font-size-lg",
        "slot": "via driven roots",
        "via": [
          "$input-btn-font-size-lg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$input-disabled-color",
        "slot": "via the cascade",
        "class": "derived",
        "note": "left at Bootstrap's cascade no-op so the value reaches it by inheritance from the driven $input-color (Bootstrap keeps the enabled color when disabled)"
      },
      {
        "variable": "$input-disabled-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-secondary-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$input-disabled-border-color",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap cascade no-op marker (null/inherit/transparent/currentcolor) left untouched — overriding would change inheritance behavior, not theme values"
      },
      {
        "variable": "$input-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$input-border-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$input-border-width",
        "slot": "via driven roots",
        "via": [
          "$input-btn-border-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-box-shadow",
        "slot": "via global --bs-* vars",
        "via": [
          "$box-shadow-inset"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$input-border-radius",
        "slot": "component.control.radius",
        "class": "derived"
      },
      {
        "variable": "$input-border-radius-sm",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-radius-sm"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$input-border-radius-lg",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-radius-lg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$input-focus-bg",
        "slot": "via driven roots",
        "via": [
          "$input-bg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-focus-border-color",
        "slot": "via driven roots",
        "via": [
          "$component-active-bg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-focus-color",
        "slot": "via driven roots",
        "via": [
          "$input-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-focus-width",
        "slot": "via driven roots",
        "via": [
          "$input-btn-focus-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-focus-box-shadow",
        "slot": "via driven roots",
        "via": [
          "$input-btn-focus-box-shadow"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-placeholder-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-secondary-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$input-plaintext-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$input-height-border",
        "slot": "via driven roots",
        "via": [
          "$input-border-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-height-inner",
        "slot": "via driven roots",
        "via": [
          "$input-line-height",
          "$input-padding-y"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-height-inner-half",
        "slot": "via driven roots",
        "via": [
          "$input-line-height",
          "$input-padding-y"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-height-inner-quarter",
        "slot": "via driven roots",
        "via": [
          "$input-line-height",
          "$input-padding-y"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-height",
        "slot": "via driven roots",
        "via": [
          "$input-line-height",
          "$input-padding-y",
          "$input-height-border"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-height-sm",
        "slot": "via driven roots",
        "via": [
          "$input-line-height",
          "$input-padding-y-sm",
          "$input-height-border"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-height-lg",
        "slot": "via driven roots",
        "via": [
          "$input-line-height",
          "$input-padding-y-lg",
          "$input-height-border"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-transition",
        "slot": "semantic.duration.fast + easing.standard",
        "slots": [
          "semantic.duration.fast",
          "semantic.easing.standard"
        ],
        "class": "approximated",
        "note": "timing from the motion scale; property list kept from Bootstrap's default"
      },
      {
        "variable": "$form-color-width",
        "slot": "—",
        "class": "unsupported",
        "note": "bespoke component geometry with no shared meaning — measured against the second reference target (proposal 0004), this is a slot PrimeNG either hard-codes or models differently, not a gap in the IR. Not a growth signal.",
        "meaning": "geometry.component"
      },
      {
        "variable": "$form-check-input-width",
        "slot": "—",
        "class": "unsupported",
        "note": "both reference targets have this concept and model it differently, so no single authored value satisfies both: Bootstrap sizes it in `em` (proportional to local font size, one dimension), PrimeNG in absolute `rem` with independent width/height and an sm/md/lg ladder. The disagreement is the finding (proposal 0004) — same shape as the size ladder AL2 rejected. (checkbox/radio box)",
        "meaning": "geometry.indicator"
      },
      {
        "variable": "$form-check-min-height",
        "slot": "via driven roots",
        "via": [
          "$font-size-base",
          "$line-height-base"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-check-padding-start",
        "slot": "via driven roots",
        "via": [
          "$form-check-input-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-check-margin-bottom",
        "slot": "semantic.space.1",
        "class": "approximated",
        "note": ".125rem — sub-rung; nearest meaning"
      },
      {
        "variable": "$form-check-label-color",
        "slot": "via the cascade",
        "class": "derived",
        "note": "left at Bootstrap's cascade no-op so the value reaches it by inheritance from the driven body text color"
      },
      {
        "variable": "$form-check-label-cursor",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap cascade no-op marker (null/inherit/transparent/currentcolor) left untouched — overriding would change inheritance behavior, not theme values"
      },
      {
        "variable": "$form-check-transition",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap cascade no-op marker (null/inherit/transparent/currentcolor) left untouched — overriding would change inheritance behavior, not theme values"
      },
      {
        "variable": "$form-check-input-active-filter",
        "slot": "—",
        "class": "dropped",
        "note": "CSS filter trick — presentation mechanics, not a token meaning."
      },
      {
        "variable": "$form-check-input-bg",
        "slot": "via driven roots",
        "via": [
          "$input-bg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-check-input-border",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-width",
          "$border-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$form-check-input-border-radius",
        "slot": "semantic.radius.sm",
        "class": "approximated",
        "note": "em-relative in Bootstrap (proportional to local font size); bound to the nearest rem rung — proportional intent is approximated, not preserved."
      },
      {
        "variable": "$form-check-radio-border-radius",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value. (50% is the radio shape identity, not a radius token)"
      },
      {
        "variable": "$form-check-input-focus-border",
        "slot": "via driven roots",
        "via": [
          "$input-focus-border-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-check-input-focus-box-shadow",
        "slot": "via driven roots",
        "via": [
          "$focus-ring-box-shadow"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-check-input-checked-color",
        "slot": "via driven roots",
        "via": [
          "$component-active-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-check-input-checked-bg-color",
        "slot": "via driven roots",
        "via": [
          "$component-active-bg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-check-input-checked-border-color",
        "slot": "via driven roots",
        "via": [
          "$form-check-input-checked-bg-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-check-input-checked-bg-image",
        "slot": "—",
        "class": "unsupported",
        "note": "embedded SVG asset (icon/glyph) — the IR has no asset/icon vocabulary yet. AL2 growth signal: component icon slots.",
        "meaning": "icon.asset"
      },
      {
        "variable": "$form-check-radio-checked-bg-image",
        "slot": "—",
        "class": "unsupported",
        "note": "embedded SVG asset (icon/glyph) — the IR has no asset/icon vocabulary yet. AL2 growth signal: component icon slots.",
        "meaning": "icon.asset"
      },
      {
        "variable": "$form-check-input-indeterminate-color",
        "slot": "via driven roots",
        "via": [
          "$component-active-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-check-input-indeterminate-bg-color",
        "slot": "via driven roots",
        "via": [
          "$component-active-bg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-check-input-indeterminate-border-color",
        "slot": "via driven roots",
        "via": [
          "$form-check-input-indeterminate-bg-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-check-input-indeterminate-bg-image",
        "slot": "—",
        "class": "unsupported",
        "note": "embedded SVG asset (icon/glyph) — the IR has no asset/icon vocabulary yet. AL2 growth signal: component icon slots.",
        "meaning": "icon.asset"
      },
      {
        "variable": "$form-check-input-disabled-opacity",
        "slot": "semantic.opacity.disabled",
        "class": "approximated",
        "note": "Bootstrap's own default is .5; unified onto the shared disabled-state opacity (AL2)"
      },
      {
        "variable": "$form-check-label-disabled-opacity",
        "slot": "via driven roots",
        "via": [
          "$form-check-input-disabled-opacity"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-check-btn-check-disabled-opacity",
        "slot": "via driven roots",
        "via": [
          "$btn-disabled-opacity"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-check-inline-margin-end",
        "slot": "semantic.space.4",
        "class": "native"
      },
      {
        "variable": "$form-switch-color",
        "slot": "via driven roots",
        "via": [
          "$black"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-switch-width",
        "slot": "—",
        "class": "unsupported",
        "note": "both reference targets have this concept and model it differently, so no single authored value satisfies both: Bootstrap sizes it in `em` (proportional to local font size, one dimension), PrimeNG in absolute `rem` with independent width/height and an sm/md/lg ladder. The disagreement is the finding (proposal 0004) — same shape as the size ladder AL2 rejected. (switch track)",
        "meaning": "geometry.indicator"
      },
      {
        "variable": "$form-switch-padding-start",
        "slot": "via driven roots",
        "via": [
          "$form-switch-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-switch-bg-image",
        "slot": "—",
        "class": "unsupported",
        "note": "embedded SVG asset (icon/glyph) — the IR has no asset/icon vocabulary yet. AL2 growth signal: component icon slots.",
        "meaning": "icon.asset"
      },
      {
        "variable": "$form-switch-border-radius",
        "slot": "via driven roots",
        "via": [
          "$form-switch-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-switch-transition",
        "slot": "semantic.duration.fast + easing.standard",
        "slots": [
          "semantic.duration.fast",
          "semantic.easing.standard"
        ],
        "class": "approximated",
        "note": "timing from the motion scale; property list kept from Bootstrap's default"
      },
      {
        "variable": "$form-switch-focus-color",
        "slot": "via driven roots",
        "via": [
          "$input-focus-border-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-switch-focus-bg-image",
        "slot": "—",
        "class": "unsupported",
        "note": "embedded SVG asset (icon/glyph) — the IR has no asset/icon vocabulary yet. AL2 growth signal: component icon slots.",
        "meaning": "icon.asset"
      },
      {
        "variable": "$form-switch-checked-color",
        "slot": "via driven roots",
        "via": [
          "$component-active-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-switch-checked-bg-image",
        "slot": "—",
        "class": "unsupported",
        "note": "embedded SVG asset (icon/glyph) — the IR has no asset/icon vocabulary yet. AL2 growth signal: component icon slots.",
        "meaning": "icon.asset"
      },
      {
        "variable": "$form-switch-checked-bg-position",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value."
      },
      {
        "variable": "$input-group-addon-padding-y",
        "slot": "via driven roots",
        "via": [
          "$input-padding-y"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-group-addon-padding-x",
        "slot": "via driven roots",
        "via": [
          "$input-padding-x"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-group-addon-font-weight",
        "slot": "via driven roots",
        "via": [
          "$input-font-weight"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-group-addon-color",
        "slot": "via driven roots",
        "via": [
          "$input-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$input-group-addon-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-tertiary-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$input-group-addon-border-color",
        "slot": "via driven roots",
        "via": [
          "$input-border-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-padding-y",
        "slot": "via driven roots",
        "via": [
          "$input-padding-y"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-padding-x",
        "slot": "via driven roots",
        "via": [
          "$input-padding-x"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-font-family",
        "slot": "via driven roots",
        "via": [
          "$input-font-family"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-font-size",
        "slot": "via driven roots",
        "via": [
          "$input-font-size"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-indicator-padding",
        "slot": "via driven roots",
        "via": [
          "$form-select-padding-x"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-font-weight",
        "slot": "via driven roots",
        "via": [
          "$input-font-weight"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-line-height",
        "slot": "via driven roots",
        "via": [
          "$input-line-height"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-color",
        "slot": "via driven roots",
        "via": [
          "$input-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-bg",
        "slot": "via driven roots",
        "via": [
          "$input-bg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-disabled-color",
        "slot": "via the cascade",
        "class": "derived",
        "note": "left at Bootstrap's cascade no-op so the value reaches it by inheritance from the driven $form-select-color"
      },
      {
        "variable": "$form-select-disabled-bg",
        "slot": "via driven roots",
        "via": [
          "$input-disabled-bg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-disabled-border-color",
        "slot": "via driven roots",
        "via": [
          "$input-disabled-border-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-bg-position",
        "slot": "via driven roots",
        "via": [
          "$form-select-padding-x"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-bg-size",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value. (indicator geometry)"
      },
      {
        "variable": "$form-select-indicator-color",
        "slot": "semantic.color.text.base (opaque)",
        "slots": [
          "semantic.color.text.base"
        ],
        "class": "native",
        "note": "Sass path only (baked into the indicator's SVG data URI); the dark chevron follows the driven $body-color-dark through Bootstrap's own default"
      },
      {
        "variable": "$form-select-indicator",
        "slot": "—",
        "class": "unsupported",
        "note": "embedded SVG asset (icon/glyph) — the IR has no asset/icon vocabulary yet. AL2 growth signal: component icon slots.",
        "meaning": "icon.asset"
      },
      {
        "variable": "$form-select-feedback-icon-padding-end",
        "slot": "via driven roots",
        "via": [
          "$form-select-padding-x",
          "$form-select-indicator-padding"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-feedback-icon-position",
        "slot": "via driven roots",
        "via": [
          "$form-select-indicator-padding"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-feedback-icon-size",
        "slot": "via driven roots",
        "via": [
          "$input-height-inner-half"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-border-width",
        "slot": "via driven roots",
        "via": [
          "$input-border-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-border-color",
        "slot": "via driven roots",
        "via": [
          "$input-border-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-border-radius",
        "slot": "via driven roots",
        "via": [
          "$input-border-radius"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-box-shadow",
        "slot": "via global --bs-* vars",
        "via": [
          "$box-shadow-inset"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$form-select-focus-border-color",
        "slot": "via driven roots",
        "via": [
          "$input-focus-border-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-focus-width",
        "slot": "via driven roots",
        "via": [
          "$input-focus-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-focus-box-shadow",
        "slot": "via driven roots",
        "via": [
          "$form-select-focus-width",
          "$input-btn-focus-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-padding-y-sm",
        "slot": "via driven roots",
        "via": [
          "$input-padding-y-sm"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-padding-x-sm",
        "slot": "via driven roots",
        "via": [
          "$input-padding-x-sm"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-font-size-sm",
        "slot": "via driven roots",
        "via": [
          "$input-font-size-sm"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-border-radius-sm",
        "slot": "via driven roots",
        "via": [
          "$input-border-radius-sm"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-padding-y-lg",
        "slot": "via driven roots",
        "via": [
          "$input-padding-y-lg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-padding-x-lg",
        "slot": "via driven roots",
        "via": [
          "$input-padding-x-lg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-font-size-lg",
        "slot": "via driven roots",
        "via": [
          "$input-font-size-lg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-border-radius-lg",
        "slot": "via driven roots",
        "via": [
          "$input-border-radius-lg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-select-transition",
        "slot": "via driven roots",
        "via": [
          "$input-transition"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-range-track-width",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value."
      },
      {
        "variable": "$form-range-track-height",
        "slot": "semantic.space.2",
        "class": "native"
      },
      {
        "variable": "$form-range-track-cursor",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value."
      },
      {
        "variable": "$form-range-track-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-secondary-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$form-range-track-border-radius",
        "slot": "semantic.radius.full",
        "class": "approximated",
        "note": "Bootstrap says 1rem; the intent (pill track) maps to radius.full"
      },
      {
        "variable": "$form-range-track-box-shadow",
        "slot": "via global --bs-* vars",
        "via": [
          "$box-shadow-inset"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$form-range-thumb-width",
        "slot": "—",
        "class": "unsupported",
        "note": "bespoke component geometry with no shared meaning — measured against the second reference target (proposal 0004), this is a slot PrimeNG either hard-codes or models differently, not a gap in the IR. Not a growth signal. (thumb size)",
        "meaning": "geometry.component"
      },
      {
        "variable": "$form-range-thumb-height",
        "slot": "via driven roots",
        "via": [
          "$form-range-thumb-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-range-thumb-bg",
        "slot": "via driven roots",
        "via": [
          "$component-active-bg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-range-thumb-border",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value."
      },
      {
        "variable": "$form-range-thumb-border-radius",
        "slot": "semantic.radius.full",
        "class": "approximated",
        "note": "pill/circular thumb intent"
      },
      {
        "variable": "$form-range-thumb-box-shadow",
        "slot": "via driven roots",
        "via": [
          "$black"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-range-thumb-focus-box-shadow",
        "slot": "via driven roots",
        "via": [
          "$body-bg",
          "$input-focus-box-shadow"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-range-thumb-focus-box-shadow-width",
        "slot": "via driven roots",
        "via": [
          "$input-focus-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-range-thumb-active-bg",
        "slot": "via driven roots",
        "via": [
          "$component-active-bg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-range-thumb-disabled-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-secondary-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$form-range-thumb-transition",
        "slot": "semantic.duration.fast + easing.standard",
        "slots": [
          "semantic.duration.fast",
          "semantic.easing.standard"
        ],
        "class": "approximated",
        "note": "timing from the motion scale; property list kept from Bootstrap's default"
      },
      {
        "variable": "$form-file-button-color",
        "slot": "via driven roots",
        "via": [
          "$input-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-file-button-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-tertiary-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$form-file-button-hover-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-secondary-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$form-floating-height",
        "slot": "via driven roots",
        "via": [
          "$input-height-border"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-floating-line-height",
        "slot": "semantic.type.leading.tight",
        "class": "derived"
      },
      {
        "variable": "$form-floating-padding-x",
        "slot": "via driven roots",
        "via": [
          "$input-padding-x"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-floating-padding-y",
        "slot": "semantic.space.4",
        "class": "native"
      },
      {
        "variable": "$form-floating-input-padding-t",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value. (float-label mechanics: padding split is coupled to the transform math)"
      },
      {
        "variable": "$form-floating-input-padding-b",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value. (float-label mechanics)"
      },
      {
        "variable": "$form-floating-label-height",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value. (float-label mechanics)"
      },
      {
        "variable": "$form-floating-label-opacity",
        "slot": "—",
        "class": "unsupported",
        "note": "opacity value with no shared meaning: AL2 promoted `semantic.opacity.disabled` (the one both reference targets needed) but this slot is a different concept — a veil strength, a shimmer range, or a glyph-specific alpha. Growth signal only if a second target needs the identical one.",
        "meaning": "opacity.component"
      },
      {
        "variable": "$form-floating-label-transform",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value."
      },
      {
        "variable": "$form-floating-label-disabled-color",
        "slot": "via driven roots",
        "via": [
          "$gray-600"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-floating-transition",
        "slot": "semantic.duration.fast + easing.standard",
        "slots": [
          "semantic.duration.fast",
          "semantic.easing.standard"
        ],
        "class": "approximated",
        "note": "timing from the motion scale; property list kept from Bootstrap's default"
      },
      {
        "variable": "$form-feedback-margin-top",
        "slot": "via driven roots",
        "via": [
          "$form-text-margin-top"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-feedback-font-size",
        "slot": "via driven roots",
        "via": [
          "$form-text-font-size"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-feedback-font-style",
        "slot": "via driven roots",
        "via": [
          "$form-text-font-style"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-feedback-valid-color",
        "slot": "via driven roots",
        "via": [
          "$success"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-feedback-invalid-color",
        "slot": "via driven roots",
        "via": [
          "$danger"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-feedback-icon-valid-color",
        "slot": "via driven roots",
        "via": [
          "$form-feedback-valid-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-feedback-icon-valid",
        "slot": "—",
        "class": "unsupported",
        "note": "embedded SVG asset (icon/glyph) — the IR has no asset/icon vocabulary yet. AL2 growth signal: component icon slots.",
        "meaning": "icon.asset"
      },
      {
        "variable": "$form-feedback-icon-invalid-color",
        "slot": "via driven roots",
        "via": [
          "$form-feedback-invalid-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-feedback-icon-invalid",
        "slot": "—",
        "class": "unsupported",
        "note": "embedded SVG asset (icon/glyph) — the IR has no asset/icon vocabulary yet. AL2 growth signal: component icon slots.",
        "meaning": "icon.asset"
      },
      {
        "variable": "$form-valid-color",
        "slot": "via driven roots",
        "via": [
          "$form-feedback-valid-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-valid-border-color",
        "slot": "via driven roots",
        "via": [
          "$form-feedback-valid-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-invalid-color",
        "slot": "via driven roots",
        "via": [
          "$form-feedback-invalid-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-invalid-border-color",
        "slot": "via driven roots",
        "via": [
          "$form-feedback-invalid-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-validation-states",
        "slot": "via driven roots",
        "via": [
          "$form-feedback-icon-valid",
          "$input-btn-focus-blur",
          "$input-focus-width",
          "$input-btn-focus-color-opacity",
          "$form-feedback-icon-invalid"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$nav-link-padding-y",
        "slot": "semantic.space.2",
        "class": "native"
      },
      {
        "variable": "$nav-link-padding-x",
        "slot": "semantic.space.4",
        "class": "native"
      },
      {
        "variable": "$nav-link-font-size",
        "slot": "via the cascade",
        "class": "derived",
        "note": "left at Bootstrap's cascade no-op so the value reaches it by inheritance from the driven body type"
      },
      {
        "variable": "$nav-link-font-weight",
        "slot": "via the cascade",
        "class": "derived",
        "note": "left at Bootstrap's cascade no-op so the value reaches it by inheritance from the driven body type"
      },
      {
        "variable": "$nav-link-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$link-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$nav-link-hover-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$link-hover-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$nav-link-transition",
        "slot": "semantic.duration.fast + easing.standard",
        "slots": [
          "semantic.duration.fast",
          "semantic.easing.standard"
        ],
        "class": "approximated",
        "note": "timing from the motion scale; property list kept from Bootstrap's default"
      },
      {
        "variable": "$nav-link-disabled-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-secondary-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$nav-link-focus-box-shadow",
        "slot": "via driven roots",
        "via": [
          "$focus-ring-box-shadow"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$nav-tabs-border-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$nav-tabs-border-width",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-width"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$nav-tabs-border-radius",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-radius"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$nav-tabs-link-hover-border-color",
        "slot": "via driven roots",
        "via": [
          "$nav-tabs-border-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$nav-tabs-link-active-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-emphasis-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$nav-tabs-link-active-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$nav-tabs-link-active-border-color",
        "slot": "via driven roots",
        "via": [
          "$nav-tabs-link-active-bg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$nav-pills-border-radius",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-radius"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$nav-pills-link-active-color",
        "slot": "via driven roots",
        "via": [
          "$component-active-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$nav-pills-link-active-bg",
        "slot": "via driven roots",
        "via": [
          "$component-active-bg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$nav-underline-gap",
        "slot": "semantic.space.4",
        "class": "native"
      },
      {
        "variable": "$nav-underline-border-width",
        "slot": "semantic.border-width.medium",
        "class": "approximated",
        "note": "medium rung (2px) ≡ Bootstrap’s .125rem at a 16px root; unit semantics differ (px vs rem-relative)"
      },
      {
        "variable": "$nav-underline-link-active-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-emphasis-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$navbar-padding-y",
        "slot": "via driven roots",
        "via": [
          "$spacer"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$navbar-padding-x",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap cascade no-op marker (null/inherit/transparent/currentcolor) left untouched — overriding would change inheritance behavior, not theme values"
      },
      {
        "variable": "$navbar-nav-link-padding-x",
        "slot": "semantic.space.2",
        "class": "native"
      },
      {
        "variable": "$navbar-brand-font-size",
        "slot": "via driven roots",
        "via": [
          "$font-size-lg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$nav-link-height",
        "slot": "via driven roots",
        "via": [
          "$font-size-base",
          "$line-height-base",
          "$nav-link-padding-y"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$navbar-brand-height",
        "slot": "via driven roots",
        "via": [
          "$navbar-brand-font-size",
          "$line-height-base"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$navbar-brand-padding-y",
        "slot": "via driven roots",
        "via": [
          "$nav-link-height",
          "$navbar-brand-height"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$navbar-brand-margin-end",
        "slot": "semantic.space.4",
        "class": "native"
      },
      {
        "variable": "$navbar-toggler-padding-y",
        "slot": "semantic.space.1",
        "class": "native"
      },
      {
        "variable": "$navbar-toggler-padding-x",
        "slot": "semantic.space.3",
        "class": "native"
      },
      {
        "variable": "$navbar-toggler-font-size",
        "slot": "via driven roots",
        "via": [
          "$font-size-lg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$navbar-toggler-border-radius",
        "slot": "via driven roots",
        "via": [
          "$btn-border-radius"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$navbar-toggler-focus-width",
        "slot": "via driven roots",
        "via": [
          "$btn-focus-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$navbar-toggler-transition",
        "slot": "semantic.duration.fast + easing.standard",
        "slots": [
          "semantic.duration.fast",
          "semantic.easing.standard"
        ],
        "class": "approximated",
        "note": "timing from the motion scale; property list kept from Bootstrap's default"
      },
      {
        "variable": "$navbar-light-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-emphasis-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$navbar-light-hover-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-emphasis-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$navbar-light-active-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-emphasis-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$navbar-light-disabled-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-emphasis-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$navbar-light-icon-color",
        "slot": "via driven roots",
        "via": [
          "$body-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$navbar-light-toggler-icon-bg",
        "slot": "—",
        "class": "unsupported",
        "note": "embedded SVG asset (icon/glyph) — the IR has no asset/icon vocabulary yet. AL2 growth signal: component icon slots.",
        "meaning": "icon.asset"
      },
      {
        "variable": "$navbar-light-toggler-border-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-emphasis-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$navbar-light-brand-color",
        "slot": "via driven roots",
        "via": [
          "$navbar-light-active-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$navbar-light-brand-hover-color",
        "slot": "via driven roots",
        "via": [
          "$navbar-light-active-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$navbar-dark-color",
        "slot": "via driven roots",
        "via": [
          "$white"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$navbar-dark-hover-color",
        "slot": "via driven roots",
        "via": [
          "$white"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$navbar-dark-active-color",
        "slot": "via driven roots",
        "via": [
          "$white"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$navbar-dark-disabled-color",
        "slot": "via driven roots",
        "via": [
          "$white"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$navbar-dark-icon-color",
        "slot": "via driven roots",
        "via": [
          "$navbar-dark-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$navbar-dark-toggler-icon-bg",
        "slot": "—",
        "class": "unsupported",
        "note": "embedded SVG asset (icon/glyph) — the IR has no asset/icon vocabulary yet. AL2 growth signal: component icon slots.",
        "meaning": "icon.asset"
      },
      {
        "variable": "$navbar-dark-toggler-border-color",
        "slot": "via driven roots",
        "via": [
          "$white"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$navbar-dark-brand-color",
        "slot": "via driven roots",
        "via": [
          "$navbar-dark-active-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$navbar-dark-brand-hover-color",
        "slot": "via driven roots",
        "via": [
          "$navbar-dark-active-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-min-width",
        "slot": "—",
        "class": "unsupported",
        "note": "bespoke component geometry with no shared meaning — measured against the second reference target (proposal 0004), this is a slot PrimeNG either hard-codes or models differently, not a gap in the IR. Not a growth signal.",
        "meaning": "geometry.component"
      },
      {
        "variable": "$dropdown-padding-x",
        "slot": "semantic.space.0",
        "class": "native"
      },
      {
        "variable": "$dropdown-padding-y",
        "slot": "semantic.space.2",
        "class": "native"
      },
      {
        "variable": "$dropdown-spacer",
        "slot": "semantic.space.1",
        "class": "approximated",
        "note": ".125rem — sub-rung; nearest meaning"
      },
      {
        "variable": "$dropdown-font-size",
        "slot": "via driven roots",
        "via": [
          "$font-size-base"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$dropdown-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$dropdown-border-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-color-translucent"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$dropdown-border-radius",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-radius"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$dropdown-border-width",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-width"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$dropdown-inner-border-radius",
        "slot": "via driven roots",
        "via": [
          "$dropdown-border-radius",
          "$dropdown-border-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-divider-bg",
        "slot": "via driven roots",
        "via": [
          "$dropdown-border-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-divider-margin-y",
        "slot": "via driven roots",
        "via": [
          "$spacer"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-box-shadow",
        "slot": "via global --bs-* vars",
        "via": [
          "$box-shadow"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$dropdown-link-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$dropdown-link-hover-color",
        "slot": "via driven roots",
        "via": [
          "$dropdown-link-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-link-hover-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-tertiary-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$dropdown-link-active-color",
        "slot": "via driven roots",
        "via": [
          "$component-active-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-link-active-bg",
        "slot": "via driven roots",
        "via": [
          "$component-active-bg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-link-disabled-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-tertiary-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$dropdown-item-padding-y",
        "slot": "via driven roots",
        "via": [
          "$spacer"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-item-padding-x",
        "slot": "via driven roots",
        "via": [
          "$spacer"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-header-color",
        "slot": "via driven roots",
        "via": [
          "$gray-600"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-header-padding-x",
        "slot": "via driven roots",
        "via": [
          "$dropdown-item-padding-x"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-header-padding-y",
        "slot": "via driven roots",
        "via": [
          "$dropdown-padding-y"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-header-padding",
        "slot": "via driven roots",
        "via": [
          "$dropdown-header-padding-y",
          "$dropdown-header-padding-x"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-dark-color",
        "slot": "via driven roots",
        "via": [
          "$gray-300"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-dark-bg",
        "slot": "via driven roots",
        "via": [
          "$gray-800"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-dark-border-color",
        "slot": "via driven roots",
        "via": [
          "$dropdown-border-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-dark-divider-bg",
        "slot": "via driven roots",
        "via": [
          "$dropdown-divider-bg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-dark-box-shadow",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap cascade no-op marker (null/inherit/transparent/currentcolor) left untouched — overriding would change inheritance behavior, not theme values"
      },
      {
        "variable": "$dropdown-dark-link-color",
        "slot": "via driven roots",
        "via": [
          "$dropdown-dark-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-dark-link-hover-color",
        "slot": "via driven roots",
        "via": [
          "$white"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-dark-link-hover-bg",
        "slot": "via driven roots",
        "via": [
          "$white"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-dark-link-active-color",
        "slot": "via driven roots",
        "via": [
          "$dropdown-link-active-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-dark-link-active-bg",
        "slot": "via driven roots",
        "via": [
          "$dropdown-link-active-bg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-dark-link-disabled-color",
        "slot": "via driven roots",
        "via": [
          "$gray-500"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$dropdown-dark-header-color",
        "slot": "via driven roots",
        "via": [
          "$gray-500"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$pagination-padding-y",
        "slot": "semantic.space.2",
        "class": "approximated",
        "note": ".375rem — between rungs; matches the button/field padding intent"
      },
      {
        "variable": "$pagination-padding-x",
        "slot": "semantic.space.3",
        "class": "native"
      },
      {
        "variable": "$pagination-padding-y-sm",
        "slot": "semantic.space.1",
        "class": "native"
      },
      {
        "variable": "$pagination-padding-x-sm",
        "slot": "semantic.space.2",
        "class": "native"
      },
      {
        "variable": "$pagination-padding-y-lg",
        "slot": "semantic.space.3",
        "class": "native"
      },
      {
        "variable": "$pagination-padding-x-lg",
        "slot": "semantic.space.6",
        "class": "native"
      },
      {
        "variable": "$pagination-font-size",
        "slot": "via driven roots",
        "via": [
          "$font-size-base"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$pagination-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$link-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$pagination-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$pagination-border-radius",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-radius"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$pagination-border-width",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-width"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$pagination-margin-start",
        "slot": "via driven roots",
        "via": [
          "$pagination-border-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$pagination-border-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$pagination-focus-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$link-hover-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$pagination-focus-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-secondary-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$pagination-focus-box-shadow",
        "slot": "via driven roots",
        "via": [
          "$focus-ring-box-shadow"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$pagination-focus-outline",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value. (focus handled by focus-ring, driven semantically)"
      },
      {
        "variable": "$pagination-hover-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$link-hover-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$pagination-hover-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-tertiary-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$pagination-hover-border-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$pagination-active-color",
        "slot": "via driven roots",
        "via": [
          "$component-active-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$pagination-active-bg",
        "slot": "via driven roots",
        "via": [
          "$component-active-bg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$pagination-active-border-color",
        "slot": "via driven roots",
        "via": [
          "$component-active-bg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$pagination-disabled-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-secondary-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$pagination-disabled-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-secondary-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$pagination-disabled-border-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$pagination-transition",
        "slot": "semantic.duration.fast + easing.standard",
        "slots": [
          "semantic.duration.fast",
          "semantic.easing.standard"
        ],
        "class": "approximated",
        "note": "timing from the motion scale; property list kept from Bootstrap's default"
      },
      {
        "variable": "$pagination-border-radius-sm",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-radius-sm"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$pagination-border-radius-lg",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-radius-lg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$placeholder-opacity-max",
        "slot": "—",
        "class": "unsupported",
        "note": "opacity value with no shared meaning: AL2 promoted `semantic.opacity.disabled` (the one both reference targets needed) but this slot is a different concept — a veil strength, a shimmer range, or a glyph-specific alpha. Growth signal only if a second target needs the identical one.",
        "meaning": "opacity.component"
      },
      {
        "variable": "$placeholder-opacity-min",
        "slot": "—",
        "class": "unsupported",
        "note": "opacity value with no shared meaning: AL2 promoted `semantic.opacity.disabled` (the one both reference targets needed) but this slot is a different concept — a veil strength, a shimmer range, or a glyph-specific alpha. Growth signal only if a second target needs the identical one.",
        "meaning": "opacity.component"
      },
      {
        "variable": "$card-spacer-y",
        "slot": "via driven roots",
        "via": [
          "$spacer"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$card-spacer-x",
        "slot": "via driven roots",
        "via": [
          "$spacer"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$card-title-spacer-y",
        "slot": "via driven roots",
        "via": [
          "$spacer"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$card-title-color",
        "slot": "via the cascade",
        "class": "derived",
        "note": "left at Bootstrap's cascade no-op so the value reaches it by inheritance from the driven card/body text color"
      },
      {
        "variable": "$card-subtitle-color",
        "slot": "via the cascade",
        "class": "derived",
        "note": "left at Bootstrap's cascade no-op so the value reaches it by inheritance from the driven card/body text color"
      },
      {
        "variable": "$card-border-width",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-width"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$card-border-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-color-translucent"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$card-border-radius",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-radius"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$card-box-shadow",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap cascade no-op marker (null/inherit/transparent/currentcolor) left untouched — overriding would change inheritance behavior, not theme values"
      },
      {
        "variable": "$card-inner-border-radius",
        "slot": "via driven roots",
        "via": [
          "$card-border-radius",
          "$card-border-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$card-cap-padding-y",
        "slot": "via driven roots",
        "via": [
          "$card-spacer-y"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$card-cap-padding-x",
        "slot": "via driven roots",
        "via": [
          "$card-spacer-x"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$card-cap-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$card-cap-color",
        "slot": "via the cascade",
        "class": "derived",
        "note": "left at Bootstrap's cascade no-op so the value reaches it by inheritance from the driven card/body text color"
      },
      {
        "variable": "$card-height",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap cascade no-op marker (null/inherit/transparent/currentcolor) left untouched — overriding would change inheritance behavior, not theme values"
      },
      {
        "variable": "$card-color",
        "slot": "via the cascade",
        "class": "derived",
        "note": "left at Bootstrap's cascade no-op so the value reaches it by inheritance from the driven body text color"
      },
      {
        "variable": "$card-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$card-img-overlay-padding",
        "slot": "via driven roots",
        "via": [
          "$spacer"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$card-group-margin",
        "slot": "via driven roots",
        "via": [
          "$grid-gutter-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$accordion-padding-y",
        "slot": "semantic.space.4",
        "class": "native"
      },
      {
        "variable": "$accordion-padding-x",
        "slot": "semantic.space.5",
        "class": "native"
      },
      {
        "variable": "$accordion-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$accordion-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$accordion-border-width",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-width"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$accordion-border-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$accordion-border-radius",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-radius"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$accordion-inner-border-radius",
        "slot": "via driven roots",
        "via": [
          "$accordion-border-radius",
          "$accordion-border-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$accordion-body-padding-y",
        "slot": "via driven roots",
        "via": [
          "$accordion-padding-y"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$accordion-body-padding-x",
        "slot": "via driven roots",
        "via": [
          "$accordion-padding-x"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$accordion-button-padding-y",
        "slot": "via driven roots",
        "via": [
          "$accordion-padding-y"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$accordion-button-padding-x",
        "slot": "via driven roots",
        "via": [
          "$accordion-padding-x"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$accordion-button-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$accordion-button-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$accordion-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$accordion-transition",
        "slot": "via driven roots",
        "via": [
          "$btn-transition"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$accordion-button-active-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$primary-bg-subtle"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$accordion-button-active-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$primary-text-emphasis"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$accordion-button-focus-border-color",
        "slot": "via driven roots",
        "via": [
          "$input-focus-border-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$accordion-button-focus-box-shadow",
        "slot": "via driven roots",
        "via": [
          "$btn-focus-box-shadow"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$accordion-icon-width",
        "slot": "—",
        "class": "unsupported",
        "note": "component icon size. The strongest open catalog-growth signal, and still one-sided: PrimeNG models this systematically (50 `icon.size` slots across 31 families, with a shared value set), Bootstrap has three ad-hoc ones with no common root. Promoting today would export one target’s architecture into the catalog — revisit when a third target arrives with a systematic icon-size concept (proposal 0004). (chevron)",
        "meaning": "icon.size"
      },
      {
        "variable": "$accordion-icon-color",
        "slot": "via driven roots",
        "via": [
          "$body-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$accordion-icon-active-color",
        "slot": "via driven roots",
        "via": [
          "$primary-text-emphasis"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$accordion-icon-transition",
        "slot": "semantic.duration.normal + easing.standard",
        "slots": [
          "semantic.duration.normal",
          "semantic.easing.standard"
        ],
        "class": "approximated",
        "note": "timing from the motion scale; property list kept from Bootstrap's default"
      },
      {
        "variable": "$accordion-icon-transform",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value."
      },
      {
        "variable": "$accordion-button-icon",
        "slot": "—",
        "class": "unsupported",
        "note": "embedded SVG asset (icon/glyph) — the IR has no asset/icon vocabulary yet. AL2 growth signal: component icon slots.",
        "meaning": "icon.asset"
      },
      {
        "variable": "$accordion-button-active-icon",
        "slot": "—",
        "class": "unsupported",
        "note": "embedded SVG asset (icon/glyph) — the IR has no asset/icon vocabulary yet. AL2 growth signal: component icon slots.",
        "meaning": "icon.asset"
      },
      {
        "variable": "$tooltip-font-size",
        "slot": "via driven roots",
        "via": [
          "$font-size-sm"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$tooltip-max-width",
        "slot": "component.tooltip.max-width",
        "class": "native"
      },
      {
        "variable": "$tooltip-color",
        "slot": "semantic.color.inverse.text",
        "class": "derived",
        "note": "nothing emitted: Bootstrap's own var(--bs-body-bg (elevation.0.surface)) already carries this slot's default in each mode"
      },
      {
        "variable": "$tooltip-bg",
        "slot": "semantic.color.inverse.surface",
        "class": "derived",
        "note": "nothing emitted: Bootstrap's own var(--bs-emphasis-color (neutral.text-strong)) already carries this slot's default in each mode"
      },
      {
        "variable": "$tooltip-border-radius",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-radius"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$tooltip-opacity",
        "slot": "—",
        "class": "unsupported",
        "note": "opacity value with no shared meaning: AL2 promoted `semantic.opacity.disabled` (the one both reference targets needed) but this slot is a different concept — a veil strength, a shimmer range, or a glyph-specific alpha. Growth signal only if a second target needs the identical one.",
        "meaning": "opacity.component"
      },
      {
        "variable": "$tooltip-padding-y",
        "slot": "via driven roots",
        "via": [
          "$spacer"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$tooltip-padding-x",
        "slot": "via driven roots",
        "via": [
          "$spacer"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$tooltip-margin",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap cascade no-op marker (null/inherit/transparent/currentcolor) left untouched — overriding would change inheritance behavior, not theme values"
      },
      {
        "variable": "$tooltip-arrow-width",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value. (arrow geometry)"
      },
      {
        "variable": "$tooltip-arrow-height",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value. (arrow geometry)"
      },
      {
        "variable": "$tooltip-arrow-color",
        "slot": "via the cascade",
        "class": "derived",
        "note": "left at Bootstrap's cascade no-op so the value reaches it by inheritance from the driven --bs-tooltip-bg (Bootstrap points the arrow at the bubble color)"
      },
      {
        "variable": "$form-feedback-tooltip-padding-y",
        "slot": "via driven roots",
        "via": [
          "$tooltip-padding-y"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-feedback-tooltip-padding-x",
        "slot": "via driven roots",
        "via": [
          "$tooltip-padding-x"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-feedback-tooltip-font-size",
        "slot": "via driven roots",
        "via": [
          "$tooltip-font-size"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-feedback-tooltip-line-height",
        "slot": "via the cascade",
        "class": "derived",
        "note": "left at Bootstrap's cascade no-op so the value reaches it by inheritance from the driven body line height"
      },
      {
        "variable": "$form-feedback-tooltip-opacity",
        "slot": "via driven roots",
        "via": [
          "$tooltip-opacity"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$form-feedback-tooltip-border-radius",
        "slot": "via driven roots",
        "via": [
          "$tooltip-border-radius"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$popover-font-size",
        "slot": "via driven roots",
        "via": [
          "$font-size-sm"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$popover-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$popover-max-width",
        "slot": "—",
        "class": "unsupported",
        "note": "bespoke component geometry with no shared meaning — measured against the second reference target (proposal 0004), this is a slot PrimeNG either hard-codes or models differently, not a gap in the IR. Not a growth signal.",
        "meaning": "geometry.component"
      },
      {
        "variable": "$popover-border-width",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-width"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$popover-border-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-color-translucent"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$popover-border-radius",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-radius-lg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$popover-inner-border-radius",
        "slot": "via driven roots",
        "via": [
          "$popover-border-radius",
          "$popover-border-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$popover-box-shadow",
        "slot": "via global --bs-* vars",
        "via": [
          "$box-shadow"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$popover-header-font-size",
        "slot": "via driven roots",
        "via": [
          "$font-size-base"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$popover-header-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-secondary-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$popover-header-color",
        "slot": "via driven roots",
        "via": [
          "$headings-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$popover-header-padding-y",
        "slot": "semantic.space.2",
        "class": "native"
      },
      {
        "variable": "$popover-header-padding-x",
        "slot": "via driven roots",
        "via": [
          "$spacer"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$popover-body-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$popover-body-padding-y",
        "slot": "via driven roots",
        "via": [
          "$spacer"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$popover-body-padding-x",
        "slot": "via driven roots",
        "via": [
          "$spacer"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$popover-arrow-width",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value. (arrow geometry)"
      },
      {
        "variable": "$popover-arrow-height",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value. (arrow geometry)"
      },
      {
        "variable": "$popover-arrow-color",
        "slot": "via driven roots",
        "via": [
          "$popover-bg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$popover-arrow-outer-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-color-translucent"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$toast-max-width",
        "slot": "—",
        "class": "unsupported",
        "note": "bespoke component geometry with no shared meaning — measured against the second reference target (proposal 0004), this is a slot PrimeNG either hard-codes or models differently, not a gap in the IR. Not a growth signal.",
        "meaning": "geometry.component"
      },
      {
        "variable": "$toast-padding-x",
        "slot": "semantic.space.3",
        "class": "native"
      },
      {
        "variable": "$toast-padding-y",
        "slot": "semantic.space.2",
        "class": "native"
      },
      {
        "variable": "$toast-font-size",
        "slot": "semantic.type.size.sm",
        "class": "approximated",
        "note": ".875rem vs the 0.8rem scale rung — nearest meaning"
      },
      {
        "variable": "$toast-color",
        "slot": "via the cascade",
        "class": "derived",
        "note": "left at Bootstrap's cascade no-op so the value reaches it by inheritance from the driven body text color"
      },
      {
        "variable": "$toast-background-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$toast-border-width",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-width"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$toast-border-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-color-translucent"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$toast-border-radius",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-radius"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$toast-box-shadow",
        "slot": "via global --bs-* vars",
        "via": [
          "$box-shadow"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$toast-spacing",
        "slot": "via driven roots",
        "via": [
          "$container-padding-x"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$toast-header-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-secondary-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$toast-header-background-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$toast-header-border-color",
        "slot": "via driven roots",
        "via": [
          "$toast-border-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$badge-font-size",
        "slot": "semantic.type.size.xs",
        "class": "approximated",
        "note": "em-relative in Bootstrap (proportional to local font size); bound to the nearest rem rung — proportional intent is approximated, not preserved."
      },
      {
        "variable": "$badge-font-weight",
        "slot": "via driven roots",
        "via": [
          "$font-weight-bold"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$badge-color",
        "slot": "via driven roots",
        "via": [
          "$white"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$badge-padding-y",
        "slot": "semantic.space.1",
        "class": "approximated",
        "note": "em-relative in Bootstrap (proportional to local font size); bound to the nearest rem rung — proportional intent is approximated, not preserved."
      },
      {
        "variable": "$badge-padding-x",
        "slot": "semantic.space.2",
        "class": "approximated",
        "note": "em-relative in Bootstrap (proportional to local font size); bound to the nearest rem rung — proportional intent is approximated, not preserved."
      },
      {
        "variable": "$badge-border-radius",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-radius"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$modal-inner-padding",
        "slot": "via driven roots",
        "via": [
          "$spacer"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$modal-footer-margin-between",
        "slot": "semantic.space.2",
        "class": "native"
      },
      {
        "variable": "$modal-dialog-margin",
        "slot": "semantic.space.2",
        "class": "native"
      },
      {
        "variable": "$modal-dialog-margin-y-sm-up",
        "slot": "semantic.space.6",
        "class": "approximated",
        "note": "1.75rem — between rungs; nearest meaning"
      },
      {
        "variable": "$modal-title-line-height",
        "slot": "via driven roots",
        "via": [
          "$line-height-base"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$modal-content-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$modal-content-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$modal-content-border-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-color-translucent"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$modal-content-border-width",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-width"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$modal-content-border-radius",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-radius-lg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$modal-content-inner-border-radius",
        "slot": "via driven roots",
        "via": [
          "$modal-content-border-radius",
          "$modal-content-border-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$modal-content-box-shadow-xs",
        "slot": "via global --bs-* vars",
        "via": [
          "$box-shadow-sm"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$modal-content-box-shadow-sm-up",
        "slot": "via global --bs-* vars",
        "via": [
          "$box-shadow"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$modal-backdrop-bg",
        "slot": "semantic.color.scrim (opaque)",
        "slots": [
          "semantic.color.scrim"
        ],
        "class": "derived"
      },
      {
        "variable": "$modal-backdrop-opacity",
        "slot": "semantic.color.scrim (alpha)",
        "slots": [
          "semantic.color.scrim"
        ],
        "class": "derived"
      },
      {
        "variable": "$modal-header-border-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$modal-header-border-width",
        "slot": "via driven roots",
        "via": [
          "$modal-content-border-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$modal-header-padding-y",
        "slot": "via driven roots",
        "via": [
          "$modal-inner-padding"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$modal-header-padding-x",
        "slot": "via driven roots",
        "via": [
          "$modal-inner-padding"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$modal-header-padding",
        "slot": "via driven roots",
        "via": [
          "$modal-header-padding-y",
          "$modal-header-padding-x"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$modal-footer-bg",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap cascade no-op marker (null/inherit/transparent/currentcolor) left untouched — overriding would change inheritance behavior, not theme values"
      },
      {
        "variable": "$modal-footer-border-color",
        "slot": "via driven roots",
        "via": [
          "$modal-header-border-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$modal-footer-border-width",
        "slot": "via driven roots",
        "via": [
          "$modal-header-border-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$modal-sm",
        "slot": "—",
        "class": "unsupported",
        "note": "bespoke component geometry with no shared meaning — measured against the second reference target (proposal 0004), this is a slot PrimeNG either hard-codes or models differently, not a gap in the IR. Not a growth signal. (dialog width steps)",
        "meaning": "geometry.component"
      },
      {
        "variable": "$modal-md",
        "slot": "—",
        "class": "unsupported",
        "note": "bespoke component geometry with no shared meaning — measured against the second reference target (proposal 0004), this is a slot PrimeNG either hard-codes or models differently, not a gap in the IR. Not a growth signal. (dialog width steps)",
        "meaning": "geometry.component"
      },
      {
        "variable": "$modal-lg",
        "slot": "—",
        "class": "unsupported",
        "note": "bespoke component geometry with no shared meaning — measured against the second reference target (proposal 0004), this is a slot PrimeNG either hard-codes or models differently, not a gap in the IR. Not a growth signal. (dialog width steps)",
        "meaning": "geometry.component"
      },
      {
        "variable": "$modal-xl",
        "slot": "—",
        "class": "unsupported",
        "note": "bespoke component geometry with no shared meaning — measured against the second reference target (proposal 0004), this is a slot PrimeNG either hard-codes or models differently, not a gap in the IR. Not a growth signal. (dialog width steps)",
        "meaning": "geometry.component"
      },
      {
        "variable": "$modal-fade-transform",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value."
      },
      {
        "variable": "$modal-show-transform",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value."
      },
      {
        "variable": "$modal-transition",
        "slot": "semantic.duration.normal + easing.enter",
        "slots": [
          "semantic.duration.normal",
          "semantic.easing.enter"
        ],
        "class": "approximated",
        "note": "timing from the motion scale; property list kept from Bootstrap's default"
      },
      {
        "variable": "$modal-scale-transform",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value."
      },
      {
        "variable": "$alert-padding-y",
        "slot": "via driven roots",
        "via": [
          "$spacer"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$alert-padding-x",
        "slot": "via driven roots",
        "via": [
          "$spacer"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$alert-margin-bottom",
        "slot": "semantic.space.4",
        "class": "native"
      },
      {
        "variable": "$alert-border-radius",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-radius"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$alert-link-font-weight",
        "slot": "via driven roots",
        "via": [
          "$font-weight-bold"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$alert-border-width",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-width"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$alert-dismissible-padding-r",
        "slot": "via driven roots",
        "via": [
          "$alert-padding-x"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$alert-bg-scale",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap state/subtle-color derivation knob (shade/tint/scale %). Transtyle derives those result colors directly (grid -hover/-active cells, tint/outline prominences); the percentage itself has no token meaning — the derived colors reach the target via the CSS-variable path (AL1.4)."
      },
      {
        "variable": "$alert-border-scale",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap state/subtle-color derivation knob (shade/tint/scale %). Transtyle derives those result colors directly (grid -hover/-active cells, tint/outline prominences); the percentage itself has no token meaning — the derived colors reach the target via the CSS-variable path (AL1.4)."
      },
      {
        "variable": "$alert-color-scale",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap state/subtle-color derivation knob (shade/tint/scale %). Transtyle derives those result colors directly (grid -hover/-active cells, tint/outline prominences); the percentage itself has no token meaning — the derived colors reach the target via the CSS-variable path (AL1.4)."
      },
      {
        "variable": "$progress-height",
        "slot": "semantic.space.4",
        "class": "native"
      },
      {
        "variable": "$progress-font-size",
        "slot": "via driven roots",
        "via": [
          "$font-size-base"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$progress-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-secondary-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$progress-border-radius",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-radius"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$progress-box-shadow",
        "slot": "via global --bs-* vars",
        "via": [
          "$box-shadow-inset"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$progress-bar-color",
        "slot": "via driven roots",
        "via": [
          "$white"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$progress-bar-bg",
        "slot": "via driven roots",
        "via": [
          "$primary"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$progress-bar-animation-timing",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value. (stripe animation mechanics)"
      },
      {
        "variable": "$progress-bar-transition",
        "slot": "semantic.duration.slower + easing.standard",
        "slots": [
          "semantic.duration.slower",
          "semantic.easing.standard"
        ],
        "class": "approximated",
        "note": "timing from the motion scale; property list kept from Bootstrap's default"
      },
      {
        "variable": "$list-group-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$list-group-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$list-group-border-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$list-group-border-width",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-width"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$list-group-border-radius",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-radius"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$list-group-item-padding-y",
        "slot": "via driven roots",
        "via": [
          "$spacer"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$list-group-item-padding-x",
        "slot": "via driven roots",
        "via": [
          "$spacer"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$list-group-item-bg-scale",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap state/subtle-color derivation knob (shade/tint/scale %). Transtyle derives those result colors directly (grid -hover/-active cells, tint/outline prominences); the percentage itself has no token meaning — the derived colors reach the target via the CSS-variable path (AL1.4)."
      },
      {
        "variable": "$list-group-item-color-scale",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap state/subtle-color derivation knob (shade/tint/scale %). Transtyle derives those result colors directly (grid -hover/-active cells, tint/outline prominences); the percentage itself has no token meaning — the derived colors reach the target via the CSS-variable path (AL1.4)."
      },
      {
        "variable": "$list-group-hover-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-tertiary-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$list-group-active-color",
        "slot": "via driven roots",
        "via": [
          "$component-active-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$list-group-active-bg",
        "slot": "via driven roots",
        "via": [
          "$component-active-bg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$list-group-active-border-color",
        "slot": "via driven roots",
        "via": [
          "$list-group-active-bg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$list-group-disabled-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-secondary-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$list-group-disabled-bg",
        "slot": "via driven roots",
        "via": [
          "$list-group-bg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$list-group-action-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-secondary-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$list-group-action-hover-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-emphasis-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$list-group-action-active-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$list-group-action-active-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-secondary-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$thumbnail-padding",
        "slot": "semantic.space.1",
        "class": "native"
      },
      {
        "variable": "$thumbnail-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$thumbnail-border-width",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-width"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$thumbnail-border-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$thumbnail-border-radius",
        "slot": "via global --bs-* vars",
        "via": [
          "$border-radius"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$thumbnail-box-shadow",
        "slot": "via global --bs-* vars",
        "via": [
          "$box-shadow-sm"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$figure-caption-font-size",
        "slot": "via driven roots",
        "via": [
          "$small-font-size"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$figure-caption-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-secondary-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$breadcrumb-font-size",
        "slot": "via the cascade",
        "class": "derived",
        "note": "left at Bootstrap's cascade no-op so the value reaches it by inheritance from the driven body type"
      },
      {
        "variable": "$breadcrumb-padding-y",
        "slot": "semantic.space.0",
        "class": "native"
      },
      {
        "variable": "$breadcrumb-padding-x",
        "slot": "semantic.space.0",
        "class": "native"
      },
      {
        "variable": "$breadcrumb-item-padding-x",
        "slot": "semantic.space.2",
        "class": "native"
      },
      {
        "variable": "$breadcrumb-margin-bottom",
        "slot": "semantic.space.4",
        "class": "native"
      },
      {
        "variable": "$breadcrumb-bg",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap cascade no-op marker (null/inherit/transparent/currentcolor) left untouched — overriding would change inheritance behavior, not theme values"
      },
      {
        "variable": "$breadcrumb-divider-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-secondary-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$breadcrumb-active-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-secondary-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$breadcrumb-divider",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value. (divider glyph)"
      },
      {
        "variable": "$breadcrumb-divider-flipped",
        "slot": "via driven roots",
        "via": [
          "$breadcrumb-divider"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$breadcrumb-border-radius",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap cascade no-op marker (null/inherit/transparent/currentcolor) left untouched — overriding would change inheritance behavior, not theme values"
      },
      {
        "variable": "$carousel-control-color",
        "slot": "via driven roots",
        "via": [
          "$white"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$carousel-control-width",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value."
      },
      {
        "variable": "$carousel-control-opacity",
        "slot": "—",
        "class": "unsupported",
        "note": "opacity value with no shared meaning: AL2 promoted `semantic.opacity.disabled` (the one both reference targets needed) but this slot is a different concept — a veil strength, a shimmer range, or a glyph-specific alpha. Growth signal only if a second target needs the identical one.",
        "meaning": "opacity.component"
      },
      {
        "variable": "$carousel-control-hover-opacity",
        "slot": "—",
        "class": "unsupported",
        "note": "opacity value with no shared meaning: AL2 promoted `semantic.opacity.disabled` (the one both reference targets needed) but this slot is a different concept — a veil strength, a shimmer range, or a glyph-specific alpha. Growth signal only if a second target needs the identical one.",
        "meaning": "opacity.component"
      },
      {
        "variable": "$carousel-control-transition",
        "slot": "semantic.duration.fast + easing.standard",
        "slots": [
          "semantic.duration.fast",
          "semantic.easing.standard"
        ],
        "class": "approximated",
        "note": "timing from the motion scale; property list kept from Bootstrap's default"
      },
      {
        "variable": "$carousel-control-icon-filter",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap cascade no-op marker (null/inherit/transparent/currentcolor) left untouched — overriding would change inheritance behavior, not theme values"
      },
      {
        "variable": "$carousel-indicator-width",
        "slot": "—",
        "class": "unsupported",
        "note": "both reference targets have this concept and model it differently, so no single authored value satisfies both: Bootstrap sizes it in `em` (proportional to local font size, one dimension), PrimeNG in absolute `rem` with independent width/height and an sm/md/lg ladder. The disagreement is the finding (proposal 0004) — same shape as the size ladder AL2 rejected. (PrimeNG has indicator width+height too, but 28x8 rounded vs Bootstrap 30x3 hairline — one value would give two differently-wrong carousels)",
        "meaning": "geometry.indicator"
      },
      {
        "variable": "$carousel-indicator-height",
        "slot": "—",
        "class": "unsupported",
        "note": "both reference targets have this concept and model it differently, so no single authored value satisfies both: Bootstrap sizes it in `em` (proportional to local font size, one dimension), PrimeNG in absolute `rem` with independent width/height and an sm/md/lg ladder. The disagreement is the finding (proposal 0004) — same shape as the size ladder AL2 rejected. (indicator, height axis)",
        "meaning": "geometry.indicator"
      },
      {
        "variable": "$carousel-indicator-hit-area-height",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value. (touch target mechanics)"
      },
      {
        "variable": "$carousel-indicator-spacer",
        "slot": "—",
        "class": "unsupported",
        "note": "bespoke component geometry with no shared meaning — measured against the second reference target (proposal 0004), this is a slot PrimeNG either hard-codes or models differently, not a gap in the IR. Not a growth signal. (gap between indicators — PrimeNG has no counterpart at all)",
        "meaning": "geometry.component"
      },
      {
        "variable": "$carousel-indicator-opacity",
        "slot": "—",
        "class": "unsupported",
        "note": "opacity value with no shared meaning: AL2 promoted `semantic.opacity.disabled` (the one both reference targets needed) but this slot is a different concept — a veil strength, a shimmer range, or a glyph-specific alpha. Growth signal only if a second target needs the identical one.",
        "meaning": "opacity.component"
      },
      {
        "variable": "$carousel-indicator-active-bg",
        "slot": "via driven roots",
        "via": [
          "$white"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$carousel-indicator-active-opacity",
        "slot": "—",
        "class": "unsupported",
        "note": "opacity value with no shared meaning: AL2 promoted `semantic.opacity.disabled` (the one both reference targets needed) but this slot is a different concept — a veil strength, a shimmer range, or a glyph-specific alpha. Growth signal only if a second target needs the identical one.",
        "meaning": "opacity.component"
      },
      {
        "variable": "$carousel-indicator-transition",
        "slot": "semantic.duration.slower + easing.standard",
        "slots": [
          "semantic.duration.slower",
          "semantic.easing.standard"
        ],
        "class": "approximated",
        "note": "timing from the motion scale; property list kept from Bootstrap's default"
      },
      {
        "variable": "$carousel-caption-width",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value."
      },
      {
        "variable": "$carousel-caption-color",
        "slot": "via driven roots",
        "via": [
          "$white"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$carousel-caption-padding-y",
        "slot": "semantic.space.5",
        "class": "native"
      },
      {
        "variable": "$carousel-caption-spacer",
        "slot": "semantic.space.5",
        "class": "native"
      },
      {
        "variable": "$carousel-control-icon-width",
        "slot": "—",
        "class": "unsupported",
        "note": "component icon size. The strongest open catalog-growth signal, and still one-sided: PrimeNG models this systematically (50 `icon.size` slots across 31 families, with a shared value set), Bootstrap has three ad-hoc ones with no common root. Promoting today would export one target’s architecture into the catalog — revisit when a third target arrives with a systematic icon-size concept (proposal 0004). (prev/next control)",
        "meaning": "icon.size"
      },
      {
        "variable": "$carousel-control-prev-icon-bg",
        "slot": "—",
        "class": "unsupported",
        "note": "embedded SVG asset (icon/glyph) — the IR has no asset/icon vocabulary yet. AL2 growth signal: component icon slots.",
        "meaning": "icon.asset"
      },
      {
        "variable": "$carousel-control-next-icon-bg",
        "slot": "—",
        "class": "unsupported",
        "note": "embedded SVG asset (icon/glyph) — the IR has no asset/icon vocabulary yet. AL2 growth signal: component icon slots.",
        "meaning": "icon.asset"
      },
      {
        "variable": "$carousel-transition-duration",
        "slot": "semantic.duration.slower",
        "class": "derived"
      },
      {
        "variable": "$carousel-transition",
        "slot": "via driven roots",
        "via": [
          "$carousel-transition-duration"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$carousel-dark-indicator-active-bg",
        "slot": "via driven roots",
        "via": [
          "$black"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$carousel-dark-caption-color",
        "slot": "via driven roots",
        "via": [
          "$black"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$carousel-dark-control-icon-filter",
        "slot": "—",
        "class": "dropped",
        "note": "CSS filter trick — presentation mechanics, not a token meaning."
      },
      {
        "variable": "$spinner-width",
        "slot": "—",
        "class": "unsupported",
        "note": "bespoke component geometry with no shared meaning — measured against the second reference target (proposal 0004), this is a slot PrimeNG either hard-codes or models differently, not a gap in the IR. Not a growth signal.",
        "meaning": "geometry.component"
      },
      {
        "variable": "$spinner-height",
        "slot": "via driven roots",
        "via": [
          "$spinner-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$spinner-vertical-align",
        "slot": "—",
        "class": "dropped",
        "note": "structural/behavioral option (layout, cursor, transform, ordering, animation mechanics), not a theme value."
      },
      {
        "variable": "$spinner-border-width",
        "slot": "—",
        "class": "unsupported",
        "note": "bespoke component geometry with no shared meaning — measured against the second reference target (proposal 0004), this is a slot PrimeNG either hard-codes or models differently, not a gap in the IR. Not a growth signal. (em-relative ring thickness)",
        "meaning": "geometry.component"
      },
      {
        "variable": "$spinner-animation-speed",
        "slot": "semantic.duration.slower",
        "class": "approximated",
        "note": ".75s rotation period vs 600ms — nearest rung"
      },
      {
        "variable": "$spinner-width-sm",
        "slot": "—",
        "class": "unsupported",
        "note": "bespoke component geometry with no shared meaning — measured against the second reference target (proposal 0004), this is a slot PrimeNG either hard-codes or models differently, not a gap in the IR. Not a growth signal.",
        "meaning": "geometry.component"
      },
      {
        "variable": "$spinner-height-sm",
        "slot": "via driven roots",
        "via": [
          "$spinner-width-sm"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$spinner-border-width-sm",
        "slot": "—",
        "class": "unsupported",
        "note": "bespoke component geometry with no shared meaning — measured against the second reference target (proposal 0004), this is a slot PrimeNG either hard-codes or models differently, not a gap in the IR. Not a growth signal. (em-relative ring thickness)",
        "meaning": "geometry.component"
      },
      {
        "variable": "$btn-close-width",
        "slot": "—",
        "class": "unsupported",
        "note": "component icon size. The strongest open catalog-growth signal, and still one-sided: PrimeNG models this systematically (50 `icon.size` slots across 31 families, with a shared value set), Bootstrap has three ad-hoc ones with no common root. Promoting today would export one target’s architecture into the catalog — revisit when a third target arrives with a systematic icon-size concept (proposal 0004). (close glyph)",
        "meaning": "icon.size"
      },
      {
        "variable": "$btn-close-height",
        "slot": "via driven roots",
        "via": [
          "$btn-close-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$btn-close-padding-x",
        "slot": "—",
        "class": "unsupported",
        "note": "bespoke component geometry with no shared meaning — measured against the second reference target (proposal 0004), this is a slot PrimeNG either hard-codes or models differently, not a gap in the IR. Not a growth signal. em-relative in Bootstrap (proportional to local font size); bound to the nearest rem rung — proportional intent is approximated, not preserved.",
        "meaning": "geometry.component"
      },
      {
        "variable": "$btn-close-padding-y",
        "slot": "via driven roots",
        "via": [
          "$btn-close-padding-x"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$btn-close-color",
        "slot": "semantic.color.text.base (opaque)",
        "slots": [
          "semantic.color.text.base"
        ],
        "class": "approximated",
        "note": "Sass path only (baked into the glyph's SVG data URI); in dark mode Bootstrap inverts the light glyph with $btn-close-filter-dark instead of reading a dark colour"
      },
      {
        "variable": "$btn-close-bg",
        "slot": "—",
        "class": "unsupported",
        "note": "embedded SVG asset (icon/glyph) — the IR has no asset/icon vocabulary yet. AL2 growth signal: component icon slots.",
        "meaning": "icon.asset"
      },
      {
        "variable": "$btn-close-focus-shadow",
        "slot": "via driven roots",
        "via": [
          "$focus-ring-box-shadow"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$btn-close-opacity",
        "slot": "—",
        "class": "unsupported",
        "note": "opacity value with no shared meaning: AL2 promoted `semantic.opacity.disabled` (the one both reference targets needed) but this slot is a different concept — a veil strength, a shimmer range, or a glyph-specific alpha. Growth signal only if a second target needs the identical one.",
        "meaning": "opacity.component"
      },
      {
        "variable": "$btn-close-hover-opacity",
        "slot": "—",
        "class": "unsupported",
        "note": "opacity value with no shared meaning: AL2 promoted `semantic.opacity.disabled` (the one both reference targets needed) but this slot is a different concept — a veil strength, a shimmer range, or a glyph-specific alpha. Growth signal only if a second target needs the identical one.",
        "meaning": "opacity.component"
      },
      {
        "variable": "$btn-close-focus-opacity",
        "slot": "—",
        "class": "unsupported",
        "note": "opacity value with no shared meaning: AL2 promoted `semantic.opacity.disabled` (the one both reference targets needed) but this slot is a different concept — a veil strength, a shimmer range, or a glyph-specific alpha. Growth signal only if a second target needs the identical one.",
        "meaning": "opacity.component"
      },
      {
        "variable": "$btn-close-disabled-opacity",
        "slot": "—",
        "class": "unsupported",
        "note": "the same concept as `semantic.opacity.disabled`, but not bindable to it: Bootstrap composes this against the glyph's own resting alpha ($btn-close-opacity: .5), so writing the catalog value (0.6) here would make the disabled close button MORE visible than the enabled one. Needs a compositional recipe (catalog factor x the target's resting alpha) the cross-walk has no form for yet — a real AL2-style growth signal, unlike the other -opacity rows in this family.",
        "meaning": "opacity.compositional"
      },
      {
        "variable": "$btn-close-filter",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap cascade no-op marker (null/inherit/transparent/currentcolor) left untouched — overriding would change inheritance behavior, not theme values"
      },
      {
        "variable": "$btn-close-white-filter",
        "slot": "—",
        "class": "dropped",
        "note": "CSS filter trick — presentation mechanics, not a token meaning."
      },
      {
        "variable": "$offcanvas-padding-y",
        "slot": "via driven roots",
        "via": [
          "$modal-inner-padding"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$offcanvas-padding-x",
        "slot": "via driven roots",
        "via": [
          "$modal-inner-padding"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$offcanvas-horizontal-width",
        "slot": "—",
        "class": "unsupported",
        "note": "bespoke component geometry with no shared meaning — measured against the second reference target (proposal 0004), this is a slot PrimeNG either hard-codes or models differently, not a gap in the IR. Not a growth signal. (panel width)",
        "meaning": "geometry.component"
      },
      {
        "variable": "$offcanvas-vertical-height",
        "slot": "—",
        "class": "unsupported",
        "note": "bespoke component geometry with no shared meaning — measured against the second reference target (proposal 0004), this is a slot PrimeNG either hard-codes or models differently, not a gap in the IR. Not a growth signal. (panel height)",
        "meaning": "geometry.component"
      },
      {
        "variable": "$offcanvas-transition-duration",
        "slot": "semantic.duration.normal",
        "class": "approximated",
        "note": ".3s vs 250ms — nearest rung"
      },
      {
        "variable": "$offcanvas-border-color",
        "slot": "via driven roots",
        "via": [
          "$modal-content-border-color"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$offcanvas-border-width",
        "slot": "via driven roots",
        "via": [
          "$modal-content-border-width"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$offcanvas-title-line-height",
        "slot": "via driven roots",
        "via": [
          "$modal-title-line-height"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$offcanvas-bg-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$offcanvas-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$offcanvas-box-shadow",
        "slot": "via driven roots",
        "via": [
          "$modal-content-box-shadow-xs"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$offcanvas-backdrop-bg",
        "slot": "via driven roots",
        "via": [
          "$modal-backdrop-bg"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$offcanvas-backdrop-opacity",
        "slot": "via driven roots",
        "via": [
          "$modal-backdrop-opacity"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$code-font-size",
        "slot": "via driven roots",
        "via": [
          "$small-font-size"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$code-color",
        "slot": "via driven roots",
        "via": [
          "$pink"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$kbd-padding-y",
        "slot": "semantic.space.1",
        "class": "approximated",
        "note": ".1875rem — sub-rung; nearest meaning"
      },
      {
        "variable": "$kbd-padding-x",
        "slot": "semantic.space.1",
        "class": "approximated",
        "note": ".375rem — between rungs; nearest meaning"
      },
      {
        "variable": "$kbd-font-size",
        "slot": "via driven roots",
        "via": [
          "$code-font-size"
        ],
        "class": "derived",
        "note": "follows Bootstrap's own !default chain from roots this exporter drives (refs recorded in surface-inventory.json)"
      },
      {
        "variable": "$kbd-color",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-bg"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$kbd-bg",
        "slot": "via global --bs-* vars",
        "via": [
          "$body-color"
        ],
        "class": "derived",
        "note": "aliases a global custom property the semantic tier drives"
      },
      {
        "variable": "$nested-kbd-font-weight",
        "slot": "—",
        "class": "dropped",
        "note": "Bootstrap cascade no-op marker (null/inherit/transparent/currentcolor) left untouched — overriding would change inheritance behavior, not theme values"
      },
      {
        "variable": "$pre-color",
        "slot": "via the cascade",
        "class": "derived",
        "note": "left at Bootstrap's cascade no-op so the value reaches it by inheritance from the driven body text color"
      },
      {
        "variable": "--bs-* component structure (37 slots, CSS path)",
        "slot": "see the per-$variable rows",
        "class": "derived",
        "note": "selector-scoped overrides of the values Bootstrap baked into component rules — reaches part of what F13 said the token tier alone could not"
      },
      {
        "variable": "--bs-btn-* variant state colors (CSS path)",
        "slot": "semantic.color.<role>.{solid,solid-hover,solid-active,on-solid}",
        "slots": [
          "semantic.color.primary.solid",
          "semantic.color.primary.solid-hover",
          "semantic.color.primary.solid-active",
          "semantic.color.primary.on-solid",
          "semantic.color.secondary.solid",
          "semantic.color.secondary.solid-hover",
          "semantic.color.secondary.solid-active",
          "semantic.color.secondary.on-solid",
          "semantic.color.success.solid",
          "semantic.color.success.solid-hover",
          "semantic.color.success.solid-active",
          "semantic.color.success.on-solid",
          "semantic.color.info.solid",
          "semantic.color.info.solid-hover",
          "semantic.color.info.solid-active",
          "semantic.color.info.on-solid",
          "semantic.color.warning.solid",
          "semantic.color.warning.solid-hover",
          "semantic.color.warning.solid-active",
          "semantic.color.warning.on-solid",
          "semantic.color.danger.solid",
          "semantic.color.danger.solid-hover",
          "semantic.color.danger.solid-active",
          "semantic.color.danger.on-solid"
        ],
        "class": "derived",
        "note": "grid state cells replace Bootstrap's shade/tint derivation for stock-CSS users; .btn-light/.btn-dark keep defaults (pseudo-roles have no grid)"
      },
      {
        "variable": "(mode:density)",
        "slot": "—",
        "class": "dropped",
        "note": "density mode dimension not expressed by this target"
      },
      {
        "variable": "(mode:contrast)",
        "slot": "—",
        "class": "approximated",
        "note": "the CSS path (bootstrap-theme.css) carries the contrast blocks; the Sass path compiles the standard-contrast values, so load bootstrap-theme.css after a Sass build to get them"
      },
      {
        "variable": "(mode:motion)",
        "slot": "semantic.duration.*",
        "class": "native",
        "note": "Bootstrap's own $enable-reduced-motion turns every transition off under prefers-reduced-motion: reduce, which is what this design system's reduced durations (all 0ms) ask for"
      }
    ]
  },
  "reads": [
    "component.button.padding-x",
    "component.button.padding-y",
    "component.button.radius",
    "component.control.padding-x",
    "component.control.padding-y",
    "component.control.radius",
    "component.tooltip.max-width",
    "semantic.border-width.medium",
    "semantic.color.border.base",
    "semantic.color.danger.on-solid",
    "semantic.color.danger.on-tint",
    "semantic.color.danger.outline",
    "semantic.color.danger.solid",
    "semantic.color.danger.solid-active",
    "semantic.color.danger.solid-hover",
    "semantic.color.danger.tint",
    "semantic.color.elevation.0.surface",
    "semantic.color.elevation.1.surface",
    "semantic.color.info.on-solid",
    "semantic.color.info.on-tint",
    "semantic.color.info.outline",
    "semantic.color.info.solid",
    "semantic.color.info.solid-active",
    "semantic.color.info.solid-hover",
    "semantic.color.info.tint",
    "semantic.color.inverse.surface",
    "semantic.color.inverse.text",
    "semantic.color.neutral.on-tint",
    "semantic.color.neutral.outline",
    "semantic.color.neutral.text-strong",
    "semantic.color.neutral.tint",
    "semantic.color.primary.on-solid",
    "semantic.color.primary.on-tint",
    "semantic.color.primary.outline",
    "semantic.color.primary.solid",
    "semantic.color.primary.solid-active",
    "semantic.color.primary.solid-hover",
    "semantic.color.primary.tint",
    "semantic.color.ring",
    "semantic.color.scrim",
    "semantic.color.secondary.on-solid",
    "semantic.color.secondary.on-tint",
    "semantic.color.secondary.outline",
    "semantic.color.secondary.solid",
    "semantic.color.secondary.solid-active",
    "semantic.color.secondary.solid-hover",
    "semantic.color.secondary.tint",
    "semantic.color.success.on-solid",
    "semantic.color.success.on-tint",
    "semantic.color.success.outline",
    "semantic.color.success.solid",
    "semantic.color.success.solid-active",
    "semantic.color.success.solid-hover",
    "semantic.color.success.tint",
    "semantic.color.text.base",
    "semantic.color.text.muted",
    "semantic.color.warning.on-solid",
    "semantic.color.warning.on-tint",
    "semantic.color.warning.outline",
    "semantic.color.warning.solid",
    "semantic.color.warning.solid-active",
    "semantic.color.warning.solid-hover",
    "semantic.color.warning.tint",
    "semantic.duration.fast",
    "semantic.duration.instant",
    "semantic.duration.normal",
    "semantic.duration.slow",
    "semantic.duration.slower",
    "semantic.easing.enter",
    "semantic.easing.standard",
    "semantic.font.mono",
    "semantic.font.sans",
    "semantic.opacity.disabled",
    "semantic.radius.full",
    "semantic.radius.lg",
    "semantic.radius.md",
    "semantic.radius.sm",
    "semantic.radius.xl",
    "semantic.ring.width",
    "semantic.space.0",
    "semantic.space.1",
    "semantic.space.12",
    "semantic.space.2",
    "semantic.space.3",
    "semantic.space.4",
    "semantic.space.5",
    "semantic.space.6",
    "semantic.type.leading.normal",
    "semantic.type.leading.tight",
    "semantic.type.role.label.md",
    "semantic.type.role.title.md",
    "semantic.type.size.2xl",
    "semantic.type.size.3xl",
    "semantic.type.size.4xl",
    "semantic.type.size.lg",
    "semantic.type.size.md",
    "semantic.type.size.sm",
    "semantic.type.size.xl",
    "semantic.type.size.xs"
  ],
  "diagnostics": [
    {
      "severity": "info",
      "code": "TST1204",
      "message": "semantic.color.primary.solid has no authored value for color-scheme=dark — the light-mode value carries over unchanged, and so does its whole derived grid",
      "path": "semantic.color.primary.solid",
      "hint": "Author semantic.color.primary.solid for color-scheme=dark if this role should differ in that mode. This is default behavior — nothing is broken.",
      "file": "tokens/semantic.tokens.json",
      "line": 6,
      "column": 9
    },
    {
      "severity": "info",
      "code": "TST1114",
      "message": "4 option tokens are never referenced: option.color.blue.500, option.color.blue.700, option.color.gray.100, …",
      "hint": "Alias them from a semantic or component token, or delete them. Nothing reads an option token directly.",
      "paths": [
        "option.color.blue.500",
        "option.color.blue.700",
        "option.color.gray.100",
        "option.color.gray.300"
      ]
    },
    {
      "severity": "warning",
      "code": "TST2101",
      "message": "primary.on-solid vs primary.solid is 4.9:1 in light+comfortable+more+full, light+comfortable+more+reduced, light+compact+more+full, light+compact+more+reduced, dark+comfortable+more+full, dark+comfortable+more+reduced, dark+compact+more+full and dark+compact+more+reduced modes (< 7:1 wcag21-aaa, contrast: more)",
      "path": "semantic.color.primary.on-solid",
      "hint": "primary.on-solid is already the better of white and near-black, so only a darker (light scheme) or lighter (dark scheme) primary.solid reaches it: author primary.solid for contrast: more."
    },
    {
      "severity": "warning",
      "code": "TST2101",
      "message": "secondary.on-solid vs secondary.solid is 4.6:1 in light+comfortable+more+full, light+comfortable+more+reduced, light+compact+more+full, light+compact+more+reduced, dark+comfortable+more+full, dark+comfortable+more+reduced, dark+compact+more+full and dark+compact+more+reduced modes (< 7:1 wcag21-aaa, contrast: more)",
      "path": "semantic.color.secondary.on-solid",
      "hint": "secondary.on-solid is already the better of white and near-black, so only a darker (light scheme) or lighter (dark scheme) secondary.solid reaches it: author secondary.solid for contrast: more."
    },
    {
      "severity": "warning",
      "code": "TST2101",
      "message": "accent.on-solid vs accent.solid is 4.9:1 in light+comfortable+more+full, light+comfortable+more+reduced, light+compact+more+full, light+compact+more+reduced, dark+comfortable+more+full, dark+comfortable+more+reduced, dark+compact+more+full and dark+compact+more+reduced modes (< 7:1 wcag21-aaa, contrast: more)",
      "path": "semantic.color.accent.on-solid",
      "hint": "accent.on-solid is already the better of white and near-black, so only a darker (light scheme) or lighter (dark scheme) accent.solid reaches it: author accent.solid for contrast: more."
    },
    {
      "severity": "warning",
      "code": "TST2101",
      "message": "success.on-solid vs success.solid is 5.3:1 in light+comfortable+more+full, light+comfortable+more+reduced, light+compact+more+full, light+compact+more+reduced, dark+comfortable+more+full, dark+comfortable+more+reduced, dark+compact+more+full and dark+compact+more+reduced modes (< 7:1 wcag21-aaa, contrast: more)",
      "path": "semantic.color.success.on-solid",
      "hint": "success.on-solid is already the better of white and near-black, so only a darker (light scheme) or lighter (dark scheme) success.solid reaches it: author success.solid for contrast: more."
    },
    {
      "severity": "warning",
      "code": "TST2101",
      "message": "danger.on-solid vs danger.solid is 5.3:1 in light+comfortable+more+full, light+comfortable+more+reduced, light+compact+more+full, light+compact+more+reduced, dark+comfortable+more+full, dark+comfortable+more+reduced, dark+compact+more+full and dark+compact+more+reduced modes (< 7:1 wcag21-aaa, contrast: more)",
      "path": "semantic.color.danger.on-solid",
      "hint": "danger.on-solid is already the better of white and near-black, so only a darker (light scheme) or lighter (dark scheme) danger.solid reaches it: author danger.solid for contrast: more."
    },
    {
      "severity": "warning",
      "code": "TST2101",
      "message": "info.on-solid vs info.solid is 4.9:1 in light+comfortable+more+full, light+comfortable+more+reduced, light+compact+more+full, light+compact+more+reduced, dark+comfortable+more+full, dark+comfortable+more+reduced, dark+compact+more+full and dark+compact+more+reduced modes (< 7:1 wcag21-aaa, contrast: more)",
      "path": "semantic.color.info.on-solid",
      "hint": "info.on-solid is already the better of white and near-black, so only a darker (light scheme) or lighter (dark scheme) info.solid reaches it: author info.solid for contrast: more."
    },
    {
      "severity": "warning",
      "code": "TST2101",
      "message": "neutral.on-solid vs neutral.solid is 4.8:1 in light+comfortable+more+full, light+comfortable+more+reduced, light+compact+more+full, light+compact+more+reduced, dark+comfortable+more+full, dark+comfortable+more+reduced, dark+compact+more+full and dark+compact+more+reduced modes (< 7:1 wcag21-aaa, contrast: more)",
      "path": "semantic.color.neutral.on-solid",
      "hint": "neutral.on-solid is already the better of white and near-black, so only a darker (light scheme) or lighter (dark scheme) neutral.solid reaches it: author neutral.solid for contrast: more."
    }
  ],
  "suppressed": [],
  "files": [
    "dist/bootstrap/_variables.transtyle.scss",
    "dist/bootstrap/_maps.transtyle.scss",
    "dist/bootstrap/bootstrap-theme.css",
    "dist/bootstrap/usage.md"
  ]
}
