.amurweb-icon-text-shell {
    display: flex;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.amurweb-icon-text {
    --amurweb-status-speed: 1.5s;
    --amurweb-status-scale: 2.1;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    width: fit-content;
    max-width: 100%;
    color: inherit;
    text-decoration: none;
    transition-property: background-color, border-color, box-shadow, transform;
    transition-timing-function: ease;
}

.amurweb-icon-text:hover,
.amurweb-icon-text:focus,
.amurweb-icon-text:active {
    text-decoration: none;
}

.amurweb-icon-text__visual {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    line-height: 1;
    overflow: hidden;
}

.amurweb-icon-text__visual i,
.amurweb-icon-text__visual svg,
.amurweb-icon-text__visual img {
    display: block;
    flex: 0 0 auto;
}

.amurweb-icon-text__visual svg,
.amurweb-icon-text__visual img {
    width: 22px;
    height: 22px;
}

.amurweb-icon-text__visual img {
    max-width: none;
    object-fit: contain;
}

.amurweb-icon-text__text {
    margin: 0;
    padding: 0;
    min-width: 0;
    transition-property: color;
    transition-timing-function: ease;
}


.amurweb-icon-text--online {
    flex-direction: row;
}

.amurweb-icon-text__status-dot {
    position: relative;
    display: inline-block;
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #22c55e;
    color: #22c55e;
    transform: translateZ(0);
}

.amurweb-icon-text__status-dot::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: currentColor;
    opacity: 0;
    pointer-events: none;
}

.amurweb-status-animation-pulse .amurweb-icon-text__status-dot::after,
.amurweb-status-animation-pulse-blink .amurweb-icon-text__status-dot::after {
    animation: amurweb-status-pulse var(--amurweb-status-speed) ease-out infinite;
}

.amurweb-status-animation-blink .amurweb-icon-text__status-dot,
.amurweb-status-animation-pulse-blink .amurweb-icon-text__status-dot {
    animation: amurweb-status-blink var(--amurweb-status-speed) ease-in-out infinite;
}

.amurweb-status-animation-pulse-blink .amurweb-icon-text__status-dot::after {
    animation-duration: calc(var(--amurweb-status-speed) * 1.15);
}

@keyframes amurweb-status-pulse {
    0% {
        transform: scale(1);
        opacity: 0.45;
    }
    70%, 100% {
        transform: scale(var(--amurweb-status-scale));
        opacity: 0;
    }
}

@keyframes amurweb-status-blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.42; }
}

@media (prefers-reduced-motion: reduce) {
    .amurweb-icon-text__status-dot,
    .amurweb-icon-text__status-dot::after {
        animation: none !important;
    }
}
