.backneosmooth-button {
    --bns-size: 60px;
    --bns-border: rgba(68, 68, 72, 0.62);
    --bns-bg: rgba(238, 241, 245, 0.62);
    --bns-icon: rgba(244, 204, 168, 0.92);
    --bns-ring: rgba(68, 68, 72, 0.72);
    position: fixed;
    left: 50%;
    bottom: 18px;
    transform: translate(-50%, 16px);
    width: var(--bns-size);
    height: var(--bns-size);
    border: 0;
    border-radius: 999px;
    background: var(--bns-bg);
    box-shadow: inset 0 0 0 1.8px var(--bns-border), 0 6px 18px rgba(0, 0, 0, .06);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    z-index: 9999;
    cursor: pointer;
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease, box-shadow .2s ease, background .2s ease;
    -webkit-tap-highlight-color: transparent;
}

.backneosmooth-button.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

.backneosmooth-button:hover,
.backneosmooth-button:focus-visible {
    outline: none;
    background: rgba(238, 241, 245, 0.76);
    box-shadow: inset 0 0 0 1.8px var(--bns-border), 0 8px 22px rgba(0, 0, 0, .08);
}

.backneosmooth-progress {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
    pointer-events: none;
}

.backneosmooth-progress-track,
.backneosmooth-progress-ring {
    fill: none;
    stroke-width: 2.2;
}

.backneosmooth-progress-track {
    stroke: transparent;
}

.backneosmooth-progress-ring {
    stroke: var(--bns-ring);
    stroke-linecap: round;
    transition: stroke-dashoffset .16s linear;
}

.backneosmooth-icon {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
}

.backneosmooth-icon svg {
    width: 100%;
    height: 100%;
}

.backneosmooth-icon path {
    fill: none;
    stroke: var(--bns-icon);
    stroke-width: 2.3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (prefers-reduced-motion: reduce) {
    .backneosmooth-button,
    .backneosmooth-progress-ring {
        transition: none;
    }
}
