/* The one label voice. Everything that speaks it composes from here — see
   HANSHI.md (Type). Selectors from other files are listed here on purpose:
   layers only decide who wins a conflict, and nothing here conflicts; what
   matters is that the voice has a single definition to change. */
@layer components {
  /* ====================================================================
     Forms — the three treatments
     ==================================================================== */
  /* ——— The label voice ———
     "Labels are x-small tracked caps in ink-subtle" (HANSHI, Type) is spoken by
     eight different things: form labels, table headers, section heads on the
     record sheet, the comments heading, the board's intake tray. A record's
     attribute names left it for the property list's quieter voice (crm-v2, the
     record page; attributes.css). Said once, in one rule, because when it was said eight times the
     trackings, weights and sizes had already drifted apart.

     Selectors from crm.css (@layer modules) are listed here on purpose. Layers
     only decide who wins a conflict, and nothing here conflicts — what matters
     is that the voice has a single definition to change.

     Two deliberate non-members: .day-divider whispers at wider tracking, and
     .badge is a chip rather than a label. */
  .label,
  .records th,
  .comments > h2 {
    font-size: var(--text-x-small);
    font-weight: 400;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-ink-subtle);
  }
}
