.ds-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: var(--ds-radius-full);
    font-size: var(--ds-text-xs);
    font-weight: var(--ds-font-bold);
    line-height: 1;
    white-space: nowrap;
    letter-spacing: var(--ds-tracking-wide);
    border: 1px solid transparent;
    -webkit-font-smoothing: antialiased;
}

.ds-badge--primary {
    background: var(--ds-color-primary-muted);
    color: var(--ds-color-primary);
    border-color: var(--ds-color-primary-border);
}

.ds-badge--success {
    background: var(--ds-color-success-muted);
    color: var(--ds-color-success);
    border-color: var(--ds-color-success-border);
}

.ds-badge--warning {
    background: var(--ds-color-warning-muted);
    color: var(--ds-color-warning);
    border-color: var(--ds-color-warning-border);
}

.ds-badge--danger {
    background: var(--ds-color-danger-muted);
    color: var(--ds-color-danger);
    border-color: var(--ds-color-danger-border);
}

.ds-badge--neutral {
    background: var(--ds-color-surface-sunken);
    color: var(--ds-color-text-tertiary);
    border-color: var(--ds-color-border-strong);
}

.ds-badge--solid-primary {
    background: var(--ds-color-primary);
    color: var(--ds-color-text-inverse);
}

.ds-badge--solid-success {
    background: var(--ds-color-success);
    color: var(--ds-color-text-inverse);
}

.ds-badge--solid-danger {
    background: var(--ds-color-danger);
    color: var(--ds-color-text-inverse);
}

.ds-badge--solid-warning {
    background: var(--ds-color-warning);
    color: var(--ds-color-text-inverse);
}

.ds-badge--gradient {
    background: linear-gradient(45deg, #f39c12, #e67e22);
    color: var(--ds-color-text-inverse);
}

.ds-badge--live {
    background: var(--ds-color-danger);
    color: var(--ds-color-text-inverse);
    animation: ds-pulse 2s ease-in-out infinite;
}

.ds-badge--circle {
    width: 28px;
    height: 28px;
    padding: 0;
    border-radius: 50%;
}

.ds-badge--sm {
    padding: 2px 7px;
    font-size: 0.65rem;
}

.ds-badge--lg {
    padding: 5px 14px;
    font-size: var(--ds-text-sm);
}

.ds-pos-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 8px;
    border-radius: var(--ds-radius-sm);
    color: var(--ds-color-text-inverse);
    font-size: var(--ds-text-xs);
    font-weight: var(--ds-font-bold);
    text-transform: uppercase;
    letter-spacing: var(--ds-tracking-wide);
    line-height: 1;
    -webkit-font-smoothing: antialiased;
}

.ds-pos-badge--forward {
    background: var(--ds-color-pos-forward);
}

.ds-pos-badge--midfielder {
    background: var(--ds-color-pos-midfielder);
}

.ds-pos-badge--defender {
    background: var(--ds-color-pos-defender);
}

.ds-pos-badge--goalkeeper {
    background: var(--ds-color-pos-goalkeeper);
}

.ds-meta-chip {
    background: var(--ds-color-surface-raised);
    border: 1px solid var(--ds-color-border);
    border-radius: var(--ds-radius-full);
    padding: 5px 14px;
    font-size: var(--ds-text-sm);
    color: var(--ds-color-text-secondary);
}

.ds-meta-chip strong {
    color: var(--ds-color-text-primary);
}