@layer components {
    .badge {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        border-radius: var(--radius-badge);
        font-weight: 600;
    }

    .badge--md {
        padding: 3px 10px;
        font-size: 13px;
    }

    .badge--sm {
        padding: 1px 8px;
        border-radius: 6px;
        font-size: 12px;
    }

    .badge--mint {
        background: var(--color-mint);
        color: var(--color-accent-dark);
    }

    .dark .badge--mint {
        background: var(--color-slate);
        color: var(--color-aqua);
    }

    .badge--ink {
        background: var(--color-ink);
        color: var(--color-aqua);
    }

    .badge--neutral {
        background: var(--color-neutral);
        color: var(--color-muted);
    }

    .badge--outline {
        border: 1px solid var(--color-muted);
        color: var(--color-muted);
    }

    .badge--outline.badge--md {
        padding: 2px 9px;
    }

    .num-badge {
        display: flex;
        flex: none;
        align-items: center;
        justify-content: center;
        font-weight: 600;
    }

    .num-badge--sm {
        width: 32px;
        height: 32px;
        border-radius: var(--radius-control);
        font-size: 15px;
    }

    .num-badge--md {
        width: 36px;
        height: 36px;
        border-radius: var(--radius-control);
    }

    .num-badge--lg {
        width: 40px;
        height: 40px;
        border-radius: var(--radius-button);
        font-size: 17px;
    }

    .num-badge--xl {
        width: 44px;
        height: 44px;
        border-radius: var(--radius-button);
        font-size: 18px;
    }

    .num-badge--ink {
        background: var(--color-ink);
        color: var(--color-aqua);
    }

    .num-badge--mint {
        background: var(--color-mint);
        color: var(--color-accent-dark);
    }

    .num-badge--slate {
        background: var(--color-slate);
        color: var(--color-aqua);
    }

    .icon-tile {
        display: flex;
        flex: none;
        align-items: center;
        justify-content: center;
    }

    .icon-tile--40 {
        width: 40px;
        height: 40px;
        border-radius: var(--radius-control);
    }

    .icon-tile--48 {
        width: 48px;
        height: 48px;
        border-radius: var(--radius-button);
    }

    .icon-tile--52 {
        width: 52px;
        height: 52px;
        border-radius: var(--radius-frame);
    }

    .icon-tile--64 {
        width: 64px;
        height: 64px;
        border-radius: var(--radius-card);
    }

    .icon-tile--mint {
        background: var(--color-mint);
        color: var(--color-accent);
    }

    .dark .icon-tile--mint {
        background: var(--color-slate);
        color: var(--color-aqua);
    }

    .icon-tile--ink {
        background: var(--color-ink);
        color: var(--color-aqua);
    }

    .icon-tile--aqua {
        background: var(--color-aqua);
        color: var(--color-ink);
    }

    .icon-tile--white {
        background: var(--color-white);
        color: var(--color-ink);
    }
}
