/* The one label voice. Everything that speaks it composes from here — see
   HANSHI.md (Type). Selectors from boards.css 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, record attribute names, table headers,
     section heads on the record sheet, the comments heading, the board's intake
     tray. 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,
  .attributes > dt,
  .records th,
  .comments > h2,
  .board__intake > header h2,
  .board__column:not([open]) summary h3,
  .record-layout__attributes h2,
  .record-layout__timeline > h2 {
    font-size: var(--text-x-small);
    font-weight: 400;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-ink-subtle);
  }
}
