.badge{border:none;border-radius:var(--radius-full);font-family:var(--font-sans);font-weight:var(--body-weight);line-height:1;letter-spacing:var(--ls-sm,.02em);text-transform:none;white-space:nowrap;vertical-align:middle}.badge,.badge-icon{display:inline-flex;align-items:center}.badge-icon{justify-content:center}.badge-label{display:inline-block}.badge-label i{width:16px;height:16px;padding:0}.badge-sm{padding:var(--space-2) 10px}.badge-md,.badge-sm{gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--body-weight)}.badge-md{padding:6px 12px}.badge-neutral{background-color:var(--background);color:var(--primary)}.badge-primary{background-color:var(--primary);color:var(--primary-foreground)}.badge-secondary{background-color:var(--secondary);color:var(--secondary-foreground)}.badge-success{background-color:var(--success);color:var(--success-foreground)}.badge-warning{background-color:var(--warning);color:var(--warning-foreground)}.badge-danger{background-color:var(--danger);color:var(--danger-foreground)}.badge-outline{background-color:transparent;color:var(--foreground);border-color:var(--border)}.tag{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-family:var(--font-base);font-weight:var(--font-weight-semibold);letter-spacing:var(--heading-letter-spacing);text-transform:uppercase;line-height:1;white-space:nowrap;border:var(--stroke-sm) solid transparent}.tag-sm{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2)}.tag-md{font-size:var(--font-size-sm);padding:var(--space-1) var(--space-3)}.tag-icon{display:inline-flex;align-items:center;justify-content:center}.tag-icon>svg{width:1em;height:1em}.tag-label{display:inline-block}.tag-neutral{background:var(--muted);color:var(--foreground);border-color:var(--border)}.tag-primary{background:color-mix(in oklab,var(--primary) 15%,transparent);color:var(--primary);border-color:color-mix(in oklab,var(--primary) 42%,transparent)}.tag-secondary{background:color-mix(in oklab,var(--secondary) 16%,transparent);color:var(--secondary);border-color:color-mix(in oklab,var(--secondary) 42%,transparent)}.tag-outline{background:transparent;border:var(--stroke-sm) solid var(--border);color:var(--muted-foreground)}