/* Shared WebLaunch orbit mark — load on main layout and auth pages */
:root {
    --wl-bg: #0a0a0b;
}

.wl-orbit-logo {
    --orbit-a: #007cf0;
    --orbit-b: #00dfd8;
    --orbit-c: #71ffaf;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: var(--orbit-size);
    height: var(--orbit-size);
    vertical-align: middle;
}
.wl-orbit-logo--sm { --orbit-size: 24px; --orbit-icon: 11px; --orbit-ring: 2px; }
.wl-orbit-logo--md { --orbit-size: 42px; --orbit-icon: 18px; --orbit-ring: 3px; }
.wl-orbit-logo--lg { --orbit-size: 56px; --orbit-icon: 24px; --orbit-ring: 4px; }
.wl-orbit-logo__glow {
    position: absolute;
    inset: -20%;
    border-radius: 50%;
    background: radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--orbit-b) 38%, transparent), transparent 70%);
    filter: blur(9px);
    opacity: 0.88;
    animation: wl-orbit-glow-pulse 3.2s ease-in-out infinite;
    pointer-events: none;
}
.wl-orbit-logo__track {
    position: absolute;
    inset: 0;
    animation: wl-orbit-spin 22s linear infinite;
    will-change: transform;
}
.wl-orbit-logo__ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: conic-gradient(
        from 200deg at 50% 50%,
        var(--orbit-a) 0%,
        var(--orbit-b) 30%,
        var(--orbit-c) 58%,
        color-mix(in srgb, var(--orbit-a) 72%, #1e1b4b) 82%,
        var(--orbit-a) 100%
    );
    box-shadow:
        0 0 16px color-mix(in srgb, var(--orbit-b) 42%, transparent),
        0 0 32px color-mix(in srgb, var(--orbit-a) 20%, transparent),
        inset 0 0 0 1px color-mix(in srgb, #fff 14%, transparent);
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - var(--orbit-ring)), #000 calc(100% - var(--orbit-ring) + 0.5px));
    mask: radial-gradient(farthest-side, transparent calc(100% - var(--orbit-ring)), #000 calc(100% - var(--orbit-ring) + 0.5px));
}
.wl-orbit-logo__core {
    position: relative;
    z-index: 2;
    width: calc(100% - var(--orbit-ring) * 2.4);
    height: calc(100% - var(--orbit-ring) * 2.4);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--wl-bg, #0a0a0b);
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, #fff 9%, transparent),
        inset 0 -1px 0 color-mix(in srgb, #000 50%, transparent),
        0 0 0 1px color-mix(in srgb, var(--orbit-b) 24%, transparent);
}
.wl-orbit-logo__core i {
    font-size: var(--orbit-icon);
    line-height: 1;
    background: linear-gradient(125deg, #7dd3fc 0%, var(--orbit-b) 45%, var(--orbit-c) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 0 10px color-mix(in srgb, var(--orbit-b) 38%, transparent));
    animation: wl-orbit-rocket 2.8s ease-in-out infinite;
}
@supports not (background-clip: text) {
    .wl-orbit-logo__core i {
        color: var(--orbit-b);
        background: none;
        -webkit-text-fill-color: unset;
        filter: drop-shadow(0 0 6px color-mix(in srgb, var(--orbit-b) 45%, transparent));
    }
}
@keyframes wl-orbit-spin { to { transform: rotate(360deg); } }
@keyframes wl-orbit-glow-pulse {
    0%, 100% { opacity: 0.52; transform: scale(0.96); }
    50% { opacity: 0.95; transform: scale(1.05); }
}
@keyframes wl-orbit-rocket {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-1.5px); }
}
@media (prefers-reduced-motion: reduce) {
    .wl-orbit-logo__track, .wl-orbit-logo__glow, .wl-orbit-logo__core i { animation: none !important; }
    .wl-orbit-logo__glow { opacity: 0.5; transform: none; }
}
