.badge{--badge-bg:var(--color-action-soft);--badge-text:var(--color-action-strong);--badge-border:color-mix(in srgb,var(--badge-text) 22%,transparent);--badge-radius:var(--radius-pill);--badge-py:calc(var(--sp-1) - var(--border-w-sm));--badge-px:var(--control-px-sm);--badge-fs:var(--fs-xs);--badge-fw:var(--fw-medium);display:inline-flex;align-items:center;gap:var(--sp-1);font-family:var(--font-sans);font-size:var(--badge-fs);font-weight:var(--badge-fw);padding:var(--badge-py) var(--badge-px);border-radius:var(--badge-radius);background:var(--badge-bg);color:var(--badge-text);border:var(--border-w-sm) solid var(--badge-border);letter-spacing:var(--tracking-normal);text-transform:none;line-height:1.6}.badge-success{--badge-bg:var(--state-success-bg);--badge-text:var(--state-success-text)}.badge-warning{--badge-bg:var(--state-warning-bg);--badge-text:var(--state-warning-text)}.badge-error{--badge-bg:var(--state-error-bg);--badge-text:var(--state-error-text)}.badge-info{--badge-bg:var(--state-info-bg);--badge-text:var(--state-info-text)}.badge-action{--badge-bg:var(--color-action-soft);--badge-text:var(--color-action-strong)}.badge-base{--badge-bg:var(--surface-2);--badge-text:var(--text-primary)}.badge-neutral{--badge-bg:var(--surface-2);--badge-text:var(--text-secondary)}.badge-md{--badge-py:var(--sp-1);--badge-px:var(--sp-3);--badge-fs:var(--fs-sm);--badge-radius:var(--radius-sm)}.badge-lg,.badge-md{text-transform:none;letter-spacing:var(--tracking-normal)}.badge-lg{--badge-py:var(--sp-2);--badge-px:var(--sp-4);--badge-fs:var(--fs-body);--badge-radius:var(--radius-md)}.tag{--badge-bg:var(--surface-2);--badge-text:var(--text-secondary);--badge-radius:var(--radius-sm);--badge-py:var(--sp-1);--badge-px:var(--control-px-sm);--badge-fs:var(--fs-sm);--badge-fw:var(--fw-medium);display:inline-flex;align-items:center;gap:var(--sp-1);font-family:var(--font-sans);font-size:var(--badge-fs);font-weight:var(--badge-fw);padding:var(--badge-py) var(--badge-px);border-radius:var(--badge-radius);background:var(--badge-bg);color:var(--badge-text);border:var(--border-w-sm) solid var(--border-subtle)}