/**
 * Themen-Zuordnung — nur Farbe + Icon (kein Label).
 * Optik wie OfficeForge Mail-Markierung (`.of-mail__theme-chip`).
 * Token `--sw` = Themenfarbe. Name in title / aria-label.
 *
 * Markup: .hub-theme-tags > label.hub-theme-tag > input.hub-theme-tag__input + .hub-theme-tag__icon
 * Ohne Checkbox: button.hub-theme-tag.is-on
 */
.hub-theme-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
}

.hub-theme-tag {
  --_sw: var(--sw, var(--hub-tile-color, var(--of-work-accent, var(--accent, #428bbe))));
  appearance: none;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin: 0;
  min-width: 1.7rem;
  min-height: 1.7rem;
  padding: 0.2rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--_sw) 55%, transparent);
  background: color-mix(in srgb, var(--_sw) 12%, var(--surface, var(--of-surface, var(--bg, #1b1f27))));
  color: var(--_sw);
  cursor: pointer;
  opacity: 0.55;
  filter: grayscale(0.35);
  line-height: 0;
}

.hub-theme-tag__input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 1;
}

.hub-theme-tag__icon {
  display: inline-flex;
  width: 0.95rem;
  height: 0.95rem;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  pointer-events: none;
}

.hub-theme-tag__icon svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: currentColor;
}

.hub-theme-tag:hover {
  opacity: 0.85;
  filter: none;
}

.hub-theme-tag:has(:checked),
.hub-theme-tag.is-on,
.hub-theme-tag[aria-pressed="true"] {
  opacity: 1;
  filter: none;
  border-color: color-mix(in srgb, var(--_sw) 70%, transparent);
  background: color-mix(in srgb, var(--_sw) 28%, var(--surface, var(--of-surface, var(--bg, #1b1f27))));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--_sw) 35%, transparent);
}

.hub-theme-tag:has(:focus-visible),
.hub-theme-tag:focus-visible {
  outline: 2px solid var(--_sw);
  outline-offset: 2px;
}
