:root {
  /* region coupling minimums — mode-invariant safety anchors */  --cem-coupling-zone-min: 3rem;
  --cem-coupling-guard-min: 0.5rem;
  --cem-coupling-halo: 0.25rem;

        
  /* endregion coupling minimums */
}

/* region coupling mode: forgiving — halo policy only (visuals owned by D2c Controls) */
:root[data-cem-coupling="forgiving"] {
  --cem-coupling-halo: 0.125rem;
}
/* endregion coupling mode: forgiving */

/* region coupling mode: compact — halo policy only (visuals owned by D2c Controls) */
:root[data-cem-coupling="compact"] {
  --cem-coupling-halo: 0.375rem;
}
/* endregion coupling mode: compact */

/* Restore the canonical minimums inside an inherited desktop density. */
:root[data-cem-density="normal"], :where([data-cem-density="normal"]) {
  --cem-coupling-zone-min: 3rem;
  --cem-coupling-guard-min: 0.5rem;
  --cem-coupling-halo: 0.25rem;
}

/* Compact desktop profile is independent of the unchanged coupling modes. */
@media (hover: hover) and (pointer: fine) and (not (any-pointer: coarse)) {
  :root[data-cem-density="compact"], :where([data-cem-density="compact"]) {
    --cem-coupling-zone-min: 1.5rem;
    --cem-coupling-guard-min: 0.5rem;
    --cem-coupling-halo: 0px;
  }
}

/* Explicit super-compact uses content bounds without a hidden modality fallback. */
:root[data-cem-density="super-compact"], :where([data-cem-density="super-compact"]) {
  --cem-coupling-zone-min: 0px;
  --cem-coupling-guard-min: 0px;
  --cem-coupling-halo: 0px;
}
