/* ==========================================================================
   COMPONENTS · CHIP — the whispering badge: a band ink tinted to ~12% over
   paper with a full-ink hairline keyline, so it whispers rather than glows.
   Used for tags, filters and category markers. Band variants via data-band; a
   neutral variant for non-scored tags. Selectable chips use aria-pressed.
   ========================================================================== */

.op-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  padding: 0.22em 0.7em;
  background: var(--bk-fill, var(--surface-sunken));
  border: 1px solid var(--bk-line, var(--rule-strong));
  border-radius: var(--radius-pill);
  color: var(--bk-ink, var(--text));
  font-family: var(--font-furniture);
  font-size: var(--text-2xs);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  line-height: 1.4;
  white-space: nowrap;
}

/* Neutral tag (no band) */
.op-chip--neutral {
  --bk-fill: var(--surface-sunken);
  --bk-line: var(--rule-strong);
  --bk-ink: var(--text-secondary);
}

/* A mono count appended to a chip */
.op-chip__count {
  font-family: var(--font-data);
  font-variant-numeric: tabular-nums lining-nums;
  color: var(--text-muted);
}

/* Selectable / filter chips */
.op-chip--selectable { cursor: pointer; transition: var(--transition-ink); border-radius: var(--radius-xs); }
.op-chip--selectable:hover { border-color: var(--text); }
.op-chip--selectable[aria-pressed="true"] {
  background: var(--surface-inverse);
  border-color: var(--surface-inverse);
  color: var(--text-inverse);
}
.op-chip--selectable:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }

/* A removable chip's dismiss affordance */
.op-chip__dismiss {
  font-family: var(--font-data);
  color: var(--text-muted);
  line-height: 1;
}
.op-chip__dismiss:hover { color: var(--accent); }
