/* ============================================
   KeyVox — Animated Logo Component
   Pixel-perfect port of KeyVoxLogo.swift
   ============================================ */

.keyvox-logo {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 0, 0, 1);
    border-radius: 50%;
}

.keyvox-logo__ring {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 2px solid rgba(231, 210, 0, 0.8);
    box-shadow: 0 0 4px rgba(231, 210, 0, 0.3);
}

.keyvox-logo__bars {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    height: 100%;
}

.keyvox-logo__bar {
    width: 3.5px;
    border-radius: 2px;
    background: linear-gradient(to top, #5856D6, rgba(88, 86, 214, 0.7));
    box-shadow: 0 0 2px rgba(231, 210, 0, 0.5);
    will-change: height;
    transition: height 0.016s linear;
}

/* ---- Size variants ---- */

.keyvox-logo--sm {
    width: 32px;
    height: 32px;
}
.keyvox-logo--sm .keyvox-logo__ring {
    border-width: calc(2px * (32 / 44));
    box-shadow: 0 0 calc(4px * (32 / 44)) rgba(231, 210, 0, 0.3);
}
.keyvox-logo--sm .keyvox-logo__bars {
    gap: calc(3px * (32 / 44));
}
.keyvox-logo--sm .keyvox-logo__bar {
    width: calc(3.5px * (32 / 44));
    border-radius: calc(2px * (32 / 44));
}

.keyvox-logo--md {
    width: 44px;
    height: 44px;
}

.keyvox-logo--lg {
    width: 88px;
    height: 88px;
}
.keyvox-logo--lg .keyvox-logo__ring {
    border-width: 4px;
    box-shadow: 0 0 8px rgba(231, 210, 0, 0.3);
}
.keyvox-logo--lg .keyvox-logo__bars {
    gap: 6px;
}
.keyvox-logo--lg .keyvox-logo__bar {
    width: 7px;
    border-radius: 4px;
    box-shadow: 0 0 4px rgba(231, 210, 0, 0.5);
}

.keyvox-logo--xl {
    width: 128px;
    height: 128px;
}
.keyvox-logo--xl .keyvox-logo__ring {
    border-width: calc(2px * (128 / 44));
    box-shadow: 0 0 calc(4px * (128 / 44)) rgba(231, 210, 0, 0.3);
}
.keyvox-logo--xl .keyvox-logo__bars {
    gap: calc(3px * (128 / 44));
}
.keyvox-logo--xl .keyvox-logo__bar {
    width: calc(3.5px * (128 / 44));
    border-radius: calc(2px * (128 / 44));
    box-shadow: 0 0 calc(2px * (128 / 44)) rgba(231, 210, 0, 0.5);
}
