.vsm-ai-image {
    position: relative;
}

.vsm-ai-image__media {
    display: block;
    position: relative;
    width: fit-content;
    max-width: 100%;
    line-height: 0;
}

.vsm-ai-image__media > a,
.vsm-ai-image__media > picture {
    display: block;
}

.vsm-ai-image-badge {
    --vsm-ai-badge-background-rgb: 17, 24, 39;
    --vsm-ai-badge-background-opacity: 0.72;
    --vsm-ai-badge-foreground: #fff;
    --vsm-ai-badge-icon: none;

    position: absolute;
    z-index: 5;
    bottom: 12px;
    right: 12px;
    display: inline-grid;
    width: 24px;
    height: 24px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    color: var(--vsm-ai-badge-foreground);
    background: rgba(
        var(--vsm-ai-badge-background-rgb),
        var(--vsm-ai-badge-background-opacity)
    );
    box-shadow: none;
    cursor: help;
    place-items: center;
    -webkit-appearance: none;
    appearance: none;
}

.vsm-ai-image-badge:focus {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.vsm-ai-image-badge:focus:not(:focus-visible) {
    outline: none;
}

.vsm-ai-image-badge:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.vsm-ai-image-badge__icon {
    width: 100%;
    height: 100%;
    background-color: currentColor;
    -webkit-mask-image: var(--vsm-ai-badge-icon);
    mask-image: var(--vsm-ai-badge-icon);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 88%;
    mask-size: 88%;
}

.vsm-ai-image-badge__tooltip {
    position: absolute;
    right: 0;
    bottom: calc(100% + 6px);
    width: max-content;
    max-width: min(208px, calc(100vw - 32px));
    padding: 5px 7px;
    border-radius: 4px;
    color: var(--vsm-ai-badge-foreground);
    background: rgba(var(--vsm-ai-badge-background-rgb), 0.9);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
    font: 500 11px/1.25 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    text-align: left;
    white-space: normal;
    opacity: 0;
    pointer-events: none;
    transform: translateY(3px);
    transition: opacity 140ms ease, transform 140ms ease, visibility 0s linear 140ms;
    visibility: hidden;
}

.vsm-ai-image-badge:hover .vsm-ai-image-badge__tooltip,
.vsm-ai-image-badge:focus .vsm-ai-image-badge__tooltip,
.vsm-ai-image-badge:focus-visible .vsm-ai-image-badge__tooltip {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0s;
    visibility: visible;
}

@media (prefers-reduced-motion: reduce) {
    .vsm-ai-image-badge__tooltip {
        transition: none;
    }
}

@media (forced-colors: active) {
    .vsm-ai-image-badge {
        border: 1px solid ButtonText;
        color: ButtonText;
        background: ButtonFace;
        forced-color-adjust: auto;
    }
}
