/* =========================================
   Идеальная фиолетовая пыль (плавный спуск вниз) + Шапка
   ========================================= */

/* 1. ПЫЛЬ (Видимая, пульсирующая, падает мягко вниз) */
body::before, body::after {
    content: "";
    position: fixed;
    top: 0; 
    left: 0;
    width: 0px;
    height: 0px;
    background: transparent;
    border-radius: 50%;
    z-index: 999;
    pointer-events: none;
}

body::before {
    box-shadow: 54.08vw 38.19vh 13px 2px rgba(180, 100, 255, 0.81),
        54.08vw -61.81vh 13px 2px rgba(180, 100, 255, 0.81),
        77.6vw 50.5vh 12px 1px rgba(180, 100, 255, 0.72),
        77.6vw -49.5vh 12px 1px rgba(180, 100, 255, 0.72),
        5.71vw 35.89vh 9px 0px rgba(180, 100, 255, 0.62),
        5.71vw -64.11vh 9px 0px rgba(180, 100, 255, 0.62),
        36.31vw 24.67vh 16px 0px rgba(180, 100, 255, 0.88),
        36.31vw -75.33vh 16px 0px rgba(180, 100, 255, 0.88),
        52.84vw 13.96vh 9px 1px rgba(180, 100, 255, 0.83),
        52.84vw -86.03999999999999vh 9px 1px rgba(180, 100, 255, 0.83),
        87.42vw 62.44vh 11px 2px rgba(180, 100, 255, 0.65),
        87.42vw -37.56vh 11px 2px rgba(180, 100, 255, 0.65),
        21.74vw 10.71vh 16px 0px rgba(180, 100, 255, 0.72),
        21.74vw -89.28999999999999vh 16px 0px rgba(180, 100, 255, 0.72),
        86.93vw 13.04vh 12px 0px rgba(180, 100, 255, 0.75),
        86.93vw -86.96000000000001vh 12px 0px rgba(180, 100, 255, 0.75),
        79.36vw 5.39vh 15px 2px rgba(180, 100, 255, 0.81),
        79.36vw -94.61vh 15px 2px rgba(180, 100, 255, 0.81),
        55.94vw 66.94vh 13px 1px rgba(180, 100, 255, 0.73),
        55.94vw -33.06vh 13px 1px rgba(180, 100, 255, 0.73),
        46.27vw 38.43vh 10px 2px rgba(180, 100, 255, 0.76),
        46.27vw -61.57vh 10px 2px rgba(180, 100, 255, 0.76),
        33.06vw 3.61vh 16px 1px rgba(180, 100, 255, 0.61),
        33.06vw -96.39vh 16px 1px rgba(180, 100, 255, 0.61),
        73.16vw 33.36vh 11px 2px rgba(180, 100, 255, 0.68),
        73.16vw -66.64vh 11px 2px rgba(180, 100, 255, 0.68),
        1.88vw 18.8vh 10px 2px rgba(180, 100, 255, 0.56),
        1.88vw -81.2vh 10px 2px rgba(180, 100, 255, 0.56),
        13.63vw 11.6vh 16px 0px rgba(180, 100, 255, 0.78),
        13.63vw -88.4vh 16px 0px rgba(180, 100, 255, 0.78),
        91.35vw 56.96vh 9px 1px rgba(180, 100, 255, 0.54),
        91.35vw -43.04vh 9px 1px rgba(180, 100, 255, 0.54),
        73.49vw 21.66vh 9px 0px rgba(180, 100, 255, 0.73),
        73.49vw -78.34vh 9px 0px rgba(180, 100, 255, 0.73),
        21.44vw 44.36vh 14px 1px rgba(180, 100, 255, 0.52),
        21.44vw -55.64vh 14px 1px rgba(180, 100, 255, 0.52),
        83.17vw 43.53vh 11px 1px rgba(180, 100, 255, 0.63),
        83.17vw -56.47vh 11px 1px rgba(180, 100, 255, 0.63),
        87.94vw 29.66vh 10px 0px rgba(180, 100, 255, 0.71),
        87.94vw -70.34vh 10px 0px rgba(180, 100, 255, 0.71),
        59.07vw 33.65vh 8px 0px rgba(180, 100, 255, 0.59),
        59.07vw -66.35vh 8px 0px rgba(180, 100, 255, 0.59),
        94.27vw 13.92vh 11px 0px rgba(180, 100, 255, 0.67),
        94.27vw -86.08vh 11px 0px rgba(180, 100, 255, 0.67),
        76.64vw 95.38vh 14px 1px rgba(180, 100, 255, 0.83),
        76.64vw -4.6200000000000045vh 14px 1px rgba(180, 100, 255, 0.83),
        84.46vw 91.07vh 13px 0px rgba(180, 100, 255, 0.53),
        84.46vw -8.930000000000007vh 13px 0px rgba(180, 100, 255, 0.53),
        25.72vw 55.87vh 11px 1px rgba(180, 100, 255, 0.77),
        25.72vw -44.13vh 11px 1px rgba(180, 100, 255, 0.77),
        4.1vw 18.08vh 10px 1px rgba(180, 100, 255, 0.83),
        4.1vw -81.92vh 10px 1px rgba(180, 100, 255, 0.83),
        12.01vw 79.04vh 13px 1px rgba(180, 100, 255, 0.71),
        12.01vw -20.959999999999994vh 13px 1px rgba(180, 100, 255, 0.71),
        90.26vw 5.89vh 8px 0px rgba(180, 100, 255, 0.72),
        90.26vw -94.11vh 8px 0px rgba(180, 100, 255, 0.72),
        64.93vw 16.1vh 16px 1px rgba(180, 100, 255, 0.82),
        64.93vw -83.9vh 16px 1px rgba(180, 100, 255, 0.82),
        3.32vw 47.52vh 9px 2px rgba(180, 100, 255, 0.79),
        3.32vw -52.48vh 9px 2px rgba(180, 100, 255, 0.79);
    animation: floatDustDiag 18s linear infinite, pulseDust 3s ease-in-out infinite alternate;
}

body::after {
    box-shadow: 64.06vw 45.59vh 9px 1px rgba(180, 100, 255, 0.85),
        64.06vw -54.41vh 9px 1px rgba(180, 100, 255, 0.85),
        64.31vw 47.75vh 9px 1px rgba(180, 100, 255, 0.58),
        64.31vw -52.25vh 9px 1px rgba(180, 100, 255, 0.58),
        46.88vw 71.47vh 9px 1px rgba(180, 100, 255, 0.68),
        46.88vw -28.53vh 9px 1px rgba(180, 100, 255, 0.68),
        96.62vw 67.15vh 5px 0px rgba(180, 100, 255, 0.9),
        96.62vw -32.849999999999994vh 5px 0px rgba(180, 100, 255, 0.9),
        68.52vw 32.32vh 9px 0px rgba(180, 100, 255, 0.77),
        68.52vw -67.68vh 9px 0px rgba(180, 100, 255, 0.77),
        65.33vw 51.97vh 4px 0px rgba(180, 100, 255, 0.57),
        65.33vw -48.03vh 4px 0px rgba(180, 100, 255, 0.57),
        40.21vw 63.85vh 5px 0px rgba(180, 100, 255, 0.89),
        40.21vw -36.15vh 5px 0px rgba(180, 100, 255, 0.89),
        47.45vw 16.48vh 8px 1px rgba(180, 100, 255, 0.7),
        47.45vw -83.52vh 8px 1px rgba(180, 100, 255, 0.7),
        54.81vw 59.71vh 7px 0px rgba(180, 100, 255, 0.55),
        54.81vw -40.29vh 7px 0px rgba(180, 100, 255, 0.55),
        89.24vw 94.69vh 9px 0px rgba(180, 100, 255, 0.79),
        89.24vw -5.310000000000002vh 9px 0px rgba(180, 100, 255, 0.79),
        26.48vw 79.78vh 6px 0px rgba(180, 100, 255, 0.84),
        26.48vw -20.22vh 6px 0px rgba(180, 100, 255, 0.84),
        89.97vw 31.62vh 8px 1px rgba(180, 100, 255, 0.52),
        89.97vw -68.38vh 8px 1px rgba(180, 100, 255, 0.52),
        97.05vw 84.27vh 6px 1px rgba(180, 100, 255, 0.54),
        97.05vw -15.730000000000004vh 6px 1px rgba(180, 100, 255, 0.54),
        67.16vw 56.22vh 9px 1px rgba(180, 100, 255, 0.56),
        67.16vw -43.78vh 9px 1px rgba(180, 100, 255, 0.56),
        6.46vw 6.31vh 9px 0px rgba(180, 100, 255, 0.79),
        6.46vw -93.69vh 9px 0px rgba(180, 100, 255, 0.79),
        72.1vw 26.16vh 8px 0px rgba(180, 100, 255, 0.81),
        72.1vw -73.84vh 8px 0px rgba(180, 100, 255, 0.81),
        8.14vw 32.62vh 5px 0px rgba(180, 100, 255, 0.54),
        8.14vw -67.38vh 5px 0px rgba(180, 100, 255, 0.54),
        86.17vw 81.6vh 6px 1px rgba(180, 100, 255, 0.63),
        86.17vw -18.400000000000006vh 6px 1px rgba(180, 100, 255, 0.63),
        50.21vw 24.48vh 6px 1px rgba(180, 100, 255, 0.62),
        50.21vw -75.52vh 6px 1px rgba(180, 100, 255, 0.62),
        82.29vw 6.05vh 10px 1px rgba(180, 100, 255, 0.71),
        82.29vw -93.95vh 10px 1px rgba(180, 100, 255, 0.71),
        4.32vw 50.17vh 6px 0px rgba(180, 100, 255, 0.73),
        4.32vw -49.83vh 6px 0px rgba(180, 100, 255, 0.73),
        74.51vw 88.78vh 7px 0px rgba(180, 100, 255, 0.63),
        74.51vw -11.219999999999999vh 7px 0px rgba(180, 100, 255, 0.63),
        62.08vw 41.17vh 8px 0px rgba(180, 100, 255, 0.67),
        62.08vw -58.83vh 8px 0px rgba(180, 100, 255, 0.67),
        64.98vw 3.47vh 4px 0px rgba(180, 100, 255, 0.59),
        64.98vw -96.53vh 4px 0px rgba(180, 100, 255, 0.59),
        9.92vw 79.35vh 10px 0px rgba(180, 100, 255, 0.81),
        9.92vw -20.650000000000006vh 10px 0px rgba(180, 100, 255, 0.81),
        81.33vw 47.22vh 6px 0px rgba(180, 100, 255, 0.88),
        81.33vw -52.78vh 6px 0px rgba(180, 100, 255, 0.88),
        44.76vw 66.47vh 10px 1px rgba(180, 100, 255, 0.83),
        44.76vw -33.53vh 10px 1px rgba(180, 100, 255, 0.83),
        91.77vw 33.17vh 6px 1px rgba(180, 100, 255, 0.8),
        91.77vw -66.83vh 6px 1px rgba(180, 100, 255, 0.8),
        9.59vw 97.67vh 4px 0px rgba(180, 100, 255, 0.71),
        9.59vw -2.3299999999999983vh 4px 0px rgba(180, 100, 255, 0.71),
        14.17vw 90.58vh 8px 0px rgba(180, 100, 255, 0.53),
        14.17vw -9.420000000000002vh 8px 0px rgba(180, 100, 255, 0.53),
        67.93vw 31.65vh 9px 1px rgba(180, 100, 255, 0.6),
        67.93vw -68.35vh 9px 1px rgba(180, 100, 255, 0.6),
        12.7vw 56.22vh 10px 1px rgba(180, 100, 255, 0.51),
        12.7vw -43.78vh 10px 1px rgba(180, 100, 255, 0.51),
        20.71vw 30.06vh 6px 0px rgba(180, 100, 255, 0.83),
        20.71vw -69.94vh 6px 0px rgba(180, 100, 255, 0.83),
        69.95vw 75.93vh 5px 1px rgba(180, 100, 255, 0.78),
        69.95vw -24.069999999999993vh 5px 1px rgba(180, 100, 255, 0.78),
        54.21vw 7.94vh 7px 1px rgba(180, 100, 255, 0.54),
        54.21vw -92.06vh 7px 1px rgba(180, 100, 255, 0.54),
        96.45vw 54.45vh 10px 0px rgba(180, 100, 255, 0.67),
        96.45vw -45.55vh 10px 0px rgba(180, 100, 255, 0.67),
        76.82vw 52.93vh 4px 1px rgba(180, 100, 255, 0.81),
        76.82vw -47.07vh 4px 1px rgba(180, 100, 255, 0.81),
        49.75vw 18.78vh 9px 1px rgba(180, 100, 255, 0.56),
        49.75vw -81.22vh 9px 1px rgba(180, 100, 255, 0.56),
        64.95vw 41.71vh 4px 0px rgba(180, 100, 255, 0.69),
        64.95vw -58.29vh 4px 0px rgba(180, 100, 255, 0.69),
        32.44vw 77.26vh 6px 0px rgba(180, 100, 255, 0.75),
        32.44vw -22.739999999999995vh 6px 0px rgba(180, 100, 255, 0.75),
        84.85vw 87.11vh 10px 1px rgba(180, 100, 255, 0.67),
        84.85vw -12.89vh 10px 1px rgba(180, 100, 255, 0.67),
        33.13vw 15.38vh 10px 0px rgba(180, 100, 255, 0.75),
        33.13vw -84.62vh 10px 0px rgba(180, 100, 255, 0.75),
        51.81vw 12.47vh 6px 0px rgba(180, 100, 255, 0.66),
        51.81vw -87.53vh 6px 0px rgba(180, 100, 255, 0.66),
        66.51vw 57.44vh 7px 0px rgba(180, 100, 255, 0.51),
        66.51vw -42.56vh 7px 0px rgba(180, 100, 255, 0.51),
        23.82vw 33.71vh 7px 1px rgba(180, 100, 255, 0.77),
        23.82vw -66.28999999999999vh 7px 1px rgba(180, 100, 255, 0.77);
    animation: floatDustDiag 28s linear infinite, pulseDust 4s ease-in-out infinite alternate;
}

/* Мягкий спуск вниз с минимальным наклоном */
@keyframes floatDustDiag {
    0% { transform: translate(0, 0); }
    100% { transform: translate(3vw, 100vh); }
}

/* Пульсация яркости и размера */
@keyframes pulseDust {
    0% { transform: scale(0.85); opacity: 0.3; }
    100% { transform: scale(1.15); opacity: 0.9; }
}

/* 2. ШАПКА САЙТА (Закреплена сверху, видима) */
.top-header, header, nav, .navbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    background: rgba(15, 15, 25, 0.9) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(180, 100, 255, 0.2);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.6);
    padding: 15px 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
}
