:root {
    --primary-orange: #ff8c00;
    --deep-orange: #e67e22;
    --bg-black: #100b0b;
    --orange-glow-soft: rgba(255, 140, 0, 0.3);
    --orange-glow-strong: rgba(255, 140, 0, 0.8); /* Сделаем его еще интенсивнее */
    --text-gray: #a0a0a0;         /* Вторичный текст (вот это значение) */
    --text-main: #ffffff;
}

header,
.backgound_header{
    display: flex;
    background:#100b0b;
    min-height: 105vh;
    width: 100%;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.backgound_header{
    background-image: url("../image/background/line.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.header_oval{
    width: 300px;
    height: 300px;
    background: #fff;
    border-radius: 50%;
    filter: blur(12rem);
    opacity: 0.2;
    position: absolute;
}


.top_header{
    position: absolute;
    top: 0;
    left:0;
    width: 1200px;
    height: auto;
    padding: 10px;
    margin-top: 30px;
    transition: all .3s ease;
    top: 20px;
    left:50%;
    transform:translate(-50%, -50%);
    z-index: 5;
}

.out {
    position: fixed !important;
    margin-top: 20px;
    background-color: #1b1525;
    border-bottom: 1px solid #49382f;
    transition: all .2s ease-in-out;
    z-index: 1;
    width: 100%;
}

.grid_header {
    display: grid;
    align-items: center;
    /* Улучшаем распределение: 
       1fr для логотипа, auto для меню (которое само определит ширину), 
       1fr для кнопок (чтобы занять оставшееся пространство справа) 
    */
    grid-template-columns: 1fr auto 1fr; 
    gap: 1.5em; /* Увеличим зазор между колонками */
    
    /* Добавим внутренние отступы для всего хедера */
    padding: 15px 40px; 
    background-color: none; /* Цвет фона шапки из переменных */
    border-bottom: 1px solid var(--bg-card); /* Легкий разделитель снизу */
}

/* --- Адаптация для мобильных устройств (экраны до 768px) --- */
@media (max-width: 768px) {
    .grid_header {
        /* На мобильных устройствах мы, вероятно, захотим изменить макет.
           Например, меню может переместиться в бургер-меню или вниз.
           В этом случае можно переключиться на 2 колонки или на stacking:
        */
        grid-template-columns: 1fr 1fr; /* Например, логотип слева, кнопки справа */
        gap: 1em;
        padding: 15px 20px;
    }

    /* Дополнительные стили для скрытия/перемещения меню на мобильных */
    .main_menu {
        /* Здесь нужно добавить логику для скрытия меню на мобилках */
        display: none; 
    }
}

.logo {
    display: grid;
    grid-template-columns: auto 1fr; /* 1fr позволит тексту занять доступное место */
    align-items: center;
    text-decoration: none;
    transition: .5s ease-in-out;
    /* Убрали фиксированную ширину и margin-left: 30px; 
       Теперь адаптивность управляется родительским контейнером .grid_header */
    gap: 1em; 
}

.favicon {
    width: 64px;
    height: 64px;
    /* Убедитесь, что путь к логотипу корректен */
    background-image: url(../../logo.png); 
    background-repeat: no-repeat;
    background-size: cover;
    /* Улучшаем эффект тени, используя нашу переменную */
    filter: drop-shadow(0 0 10px var(--orange-glow-soft)); 
    transition: 0.5s ease-in-out;
}

.logo:hover .favicon {
    transform: rotate(-14deg) scale(1.05); /* Добавим легкое увеличение при вращении */
    filter: drop-shadow(0 0 15px var(--orange-glow-strong)); /* Усилим свечение при ховере */
}

.logo:hover .text_logo p {
    transform: rotate(3deg) scale(1.02);
    color: var(--primary-orange); /* Текст тоже становится оранжевым */
}

.logo:hover {
    transform: scale(1.02);
}

.text_logo {
    display: grid;
    grid-template-rows: auto auto;
    margin-bottom: 0; /* Убираем магические числа */
    transition: .5s ease-in-out;
    line-height: 1.1; /* Улучшаем интерлиньяж */
}

.text_logo p {
    font-size: 28px; /* Округлили до 28px для чистоты */
    color: var(--primary-orange); /* Используем нашу переменную */
    font-weight: 800; /* Делаем жирнее */
    text-shadow: 0 0 8px var(--orange-glow-soft); /* Улучшаем тень */
    margin-top: 0; /* Убираем магические числа */
    transition: 0.5s ease-in-out;
}

.text_logo span {
    color: var(--text-gray); /* Используем нашу переменную серого цвета */
    opacity: 0.8; /* Делаем чуть менее прозрачным для читаемости */
    font-size: 13px; /* Чуть крупнее */
}

.main_menu {
    display: flex;
    justify-content: center;
    align-items: center;
    /* Убедимся, что меню не слишком широкое на больших экранах */
    max-width: 1000px;
    margin: 0 auto;
}

.main_menu a {
    text-decoration: none;
    color: var(--text-gray); /* Используем серый для ненавязчивости */
    margin: 0 20px; /* Убираем вертикальный margin */
    opacity: 0.8; /* Чуть менее прозрачный для лучшей читаемости по умолчанию */
    letter-spacing: 0.5px;
    transition: all 0.5s ease-in-out; /* Плавный переход для всех свойств */
    position: relative; /* Обязательно для позиционирования :after */
    font-weight: 600;
}

/* Эффект подчеркивания */
.main_menu a:after {
    content: "";
    display: block;
    position: absolute;
    bottom: -8px; /* Опустим чуть ниже, чтобы не сливаться с текстом */
    left: 50%; /* Начинаем из центра */
    transform: translateX(-50%);
    width: 0;
    height: 3px; /* Сделаем чуть толще */
    background-color: var(--primary-orange);
    transition: width 0.5s ease-in-out;
    /* Добавим свечение к подчеркиванию */
    box-shadow: 0 0 10px var(--orange-glow-soft);
}

.main_menu a:hover {
    opacity: 1;
    color: var(--primary-orange); /* Текст тоже становится оранжевым при наведении */
    text-shadow: 0 0 5px var(--orange-glow-soft);
}

.main_menu a:hover:after {
    width: 100%; /* Растягиваем подчеркивание на всю ширину при ховере */
}

/* Добавим стиль для активной страницы (если ты на Главной) */
.main_menu a.active {
    color: var(--primary-orange);
    opacity: 1;
    font-weight: 700;
}

.main_menu a.active:after {
    width: 100%; /* Активное подчеркивание всегда на 100% ширины */
    box-shadow: 0 0 15px var(--orange-glow-strong);
}

.main_menu a[href="/forum"]::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: var(--primary-orange);
    border-radius: 50%;
    margin-right: 8px;
    vertical-align: middle;
    box-shadow: 0 0 8px var(--primary-orange);
    animation: pulse-orange 2s infinite;
}

@keyframes pulse-orange {
    0% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.3); opacity: 0.5; }
    100% { transform: scale(1); opacity: 1; }
}

.buttons_reg_login{
    display: flex;
    justify-content: center;
    gap:2em;
    align-items: center;
}
.reg_btn {
    position: relative; /* Чтобы линия позиционировалась относительно текста */
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    font-size: 18px;
    color: #fff;
    letter-spacing: 0.5px;
    transition: transform 0.3s ease; /* Ускорили до 0.3s для отзывчивости */
}

.show_reg_btn {
    display: block; /* Больше не скрываем через none */
    width: 60px;    /* Уменьшили ширину для изящности */
    height: 3px;
    background: #d08004;
    border-radius: 10px; /* Скругление лучше, чем 50% для линии */
    margin-top: 5px;
    
    /* Начальное состояние для анимации */
    opacity: 0;
    transform: scaleX(0); 
    transition: opacity 0.3s ease, transform 0.3s ease;
    
    filter: blur(1px); /* Уменьшили блюр, чтобы линия была видна */
    box-shadow: 0 0 8px #d08004; /* Добавили свечение вместо сильного блюра */
}

/* Ховер эффект */
.reg_btn:hover {
    transform: translateY(-3px); /* Легкий подъем текста */
}

.reg_btn:hover .show_reg_btn {
    opacity: 1;
    transform: scaleX(1); /* Линия плавно «вырастает» из центра */
}

.login_btn {
    display: inline-flex; /* inline-flex лучше для кнопок, чтобы они не занимали всю ширину */
    justify-content: center;
    align-items: center;
    gap: 0.5em;
    font-size: 18px;
    text-decoration: none;
    color: #1a1a1a; /* Чуть мягче, чем чисто черный */
    padding: 12px 32px;
    background: #fff;
    border-radius: 50px; /* Полностью скругленные края */
    font-weight: 600;
    overflow: hidden;
    position: relative;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); /* Более естественная кривая анимации */
    border: 1px solid transparent; /* Задел под границу, если понадобится */
}

.login_btn:hover {
    transform: translateY(-4px); /* Поднимаем кнопку */
    box-shadow: 0 8px 20px rgba(240, 122, 25, 0.4); /* Мягкая полупрозрачная тень */
    border-color: #f07a19; /* Опционально: подсвечиваем контур */
    color: #f07a19; /* Опционально: меняем цвет текста при наведении */
}

/* Эффект при нажатии */
.login_btn:active {
    transform: translateY(-1px); /* Кнопка немного опускается при клике */
    box-shadow: 0 4px 10px rgba(240, 122, 25, 0.3);
}

/* Если внутри есть иконка, можно анимировать и её */
.login_btn i {
    transition: transform 0.3s ease;
}

.login_btn:hover i {
    transform: scale(1.1);
}


.header_main {
    position: relative;
    margin-top: 100px;
    z-index: 3;
    display: grid;
    /* Убрал grid-template-rows, так как auto справляется с этим, 1fr можно оставить если нужно растянуть контейнер */
    gap: 1.5em; /* Чуть больше отступа между элементами */
    color: var(--text-main);
    justify-content: center;
    align-items: center;
    
    width: 50%; /* Ширина по умолчанию для больших экранов */
    max-width: 800px; /* Ограничим максимальный размер блока, чтобы он не был слишком широким на огромных мониторах */
    
    letter-spacing: 0.7px;
    transition: .5s ease;
    padding: 0 15px; /* Добавим небольшие отступы по бокам */
}

/* --- Адаптация для планшетов (экраны до 768px) --- */
@media (max-width: 768px) {
    .header_main {
        width: 80%; /* На планшетах делаем шире */
        gap: 1em;
    }
}

/* --- Адаптация для мобильных телефонов (экраны до 576px) --- */
@media (max-width: 576px) {
    .header_main {
        width: 95%; /* На телефонах делаем почти во всю ширину */
        padding: 0 10px;
    }

    /* Уменьшим размер шрифтов для мобильных */
    .header_main h1 {
        font-size: 32px;
    }

    .header_main span {
        font-size: 14px;
    }
}

.header_main .top_text {
    font-family: 'Russo One', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--primary-orange); /* Используем нашу переменную оранжевого цвета */
    display: flex;
    justify-content: center;
    align-items: center;
    text-transform: uppercase;
    animation: ani 1.5s forwards;
    text-align: center;
    letter-spacing: 1px; /* Добавим немного интервала для стиля */
    /* Легкое, едва заметное свечение для "глубины" */
    text-shadow: 0 0 5px var(--orange-glow-soft); 
}

@keyframes ani {
    0% {transform: translate(-20px, 0px) rotate(0deg); opacity: 0;}
    50% {transform: translate(-20px, 0px) rotate(0deg); opacity: 0;}
    100% {transform: translate(0, 0px) rotate(0deg); opacity: 1;}
}

.header_main h1 {
    /* Делаем заголовок больше и выразительнее */
    font-size: 42px; 
    font-family: 'Russo One', sans-serif; /* Применяем наш заголовочный шрифт */
    color: var(--text-main); /* Используем белый цвет из переменных */
    
    display: flex;
    justify-content: center; /* Центрируем, если это необходимо по макету */
    text-align: center;
    line-height: 1.2; /* Улучшаем интерлиньяж для читаемости больших заголовков */
    text-transform: uppercase; /* Добавим заглавные буквы для стиля */

    animation: ani2 2.5s forwards;
    /* Добавим легкое свечение тексту */
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.2);
}

@keyframes ani2 {
    0% {transform: translate(20px, 0px) rotate(0deg); opacity: 0;}
    50% {transform: translate(20px, 0px) rotate(0deg); opacity: 0;}
    100% {transform: translate(0, 0px) rotate(0deg); opacity: 1;}
}

.logout{
    opacity: 0.7;
    color: var(--primary-orange);
    transition: .5s;
    font-weight: 600;
    letter-spacing: .5px;
}

.logout:hover{
    opacity: 1;
}

.profile_menu {
    display: grid;
    /* Упрощенная иконка: автоматический размер для аватара, текста и стрелки */
    grid-template-columns: auto 1fr auto; 
    padding: 10px;
    background: #161616;
    border-radius: 10px;
    gap: 0.8em; /* Немного увеличен зазор между элементами */
    justify-content: space-between;
    align-items: center;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
    /* Плавный переход для тени */
    transition: box-shadow 0.3s ease-out; 
    cursor: pointer;
    min-width: 180px;
}

.profile_menu:hover {
    /* Более выраженная, но все еще мягкая тень при наведении */
    box-shadow: rgba(0, 0, 0, 0.3) 0px 10px 25px -5px, rgba(0, 0, 0, 0.1) 0px 6px 10px -3px;
}

.user_avatar_menu{
    width: 32px;
    height: 32px;
    background-size: cover;
    background-position: center;
    border-radius: 4px;
    box-shadow: rgb(0 0 0 / 20%) 0px 2px 4px 0px;
}

.username_status{
    font-size: 12px;
    color: #fff;
    opacity: 0.3;
}

.user_menu_icon{
    color: #fff;
    opacity: 0.4;
    font-size: 11px;
    transition: .5s;
}

.username_menu{
    color: #fff;
    opacity: 0.8;
}

.open_menu_user {
    display: grid;
    /* Убрано grid-auto-rows: auto; оно избыточно */
    position: relative;
}

.open_menu_show {
    height: auto;
    width: 100%;
    background: #161616;
    position: absolute;
    margin-top: 60px;
    padding: 10px;
    font-size: 12px;
    display: none; /* Это свойство должно переключаться JS-ом на 'block' */
    color: #fff;
    border-radius: 10px;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
    /* transition: .5s; Убрано, так как используется @keyframes animation */
    animation: show_menu 0.3s forwards ease-out; /* Ускорена анимация */
    will-change: opacity, transform; /* Подсказка браузеру для производительности */
}

@keyframes show_menu {
    0% {
        opacity: 0;
        transform: translateY(-20px); /* Используем translateY */
    }

    100% {
        opacity: 1;
        transform: translateY(0px);
  }
}

.open_menu_show:hover {
    /* Более мягкая и глубокая тень при наведении */
    box-shadow: rgba(0, 0, 0, 0.4) 0px 10px 25px -5px, rgba(0, 0, 0, 0.1) 0px 6px 10px -3px;
}

.profile_menu:hover .user_menu_icon {
    opacity: 1;
}

.open_menu_show a {
    color: #fff;
    opacity: 0.7;
    padding: 8px;
    text-decoration: none;
    transition: opacity 0.3s ease-out, transform 0.3s ease-out; /* Ускорен переход */
    display: flex; /* Добавлено для лучшего контроля над transform */
    align-items: center;
    gap: 8px;
}

.open_menu_show a:hover {
    opacity: 1;
    transform: translateX(5px); /* Уменьшено смещение для плавности */
}


.header_main span {
    /* Используем сероватый цвет из переменных */
    color: var(--text-gray); 
    
    /* Оставляем размер 16px для хорошей читаемости */
    font-size: 16px; 
    
    /* Можно немного снизить непрозрачность, чтобы он был мягче */
    opacity: 0.85; 
    
    display: flex;
    justify-content: center; /* Центрируем */
    text-align: center;
    max-width: 700px; /* Ограничиваем ширину */
    margin: 0 auto; /* Центрируем блок */
    
    animation: ani3 2.0s forwards;
    line-height: 1.5; /* Улучшаем интерлиньяж */
    
    /* Убираем text-shadow, чтобы текст был менее акцентным */
    text-shadow: none;
}

@keyframes ani3 {
    0% {transform: translate(20px, 0px) rotate(0deg); opacity: 0;}
    50% {transform: translate(20px, 0px) rotate(0deg); opacity: 0;}
    100% {transform: translate(0, 0px) rotate(0deg); opacity: 1;}
}

.buttons_launc{
    display: flex;
    gap: 2em;
    justify-content: center;
    align-items: center;
    margin-top: 30px;
}


.buttons_launc .start_game {
    text-decoration: none;
    color: var(--bg-black); /* Черный текст лучше читается на ярком оранжевом */
    padding: 12px 40px;
    /* Используем градиент для большей глубины */
    background: linear-gradient(135deg, var(--primary-orange), var(--deep-orange)); 
    border-radius: 50px;
    font-weight: 800; /* Сделаем жирнее */
    box-shadow: 0 10px 20px var(--orange-glow-soft); /* Мягкое свечение по умолчанию */
    transition: all .5s ease-in-out; /* Плавный переход для всех свойств */
    animation: ani4 2.75s forwards;
    cursor: pointer; /* Улучшаем UX */
}

@keyframes ani4 {
    0% {transform: translate(-20px, 0px) rotate(0deg); opacity: 0;}
    50% {transform: translate(-20px, 0px) rotate(0deg); opacity: 0;}
    100% {transform: translate(0, 0px) rotate(0deg); opacity: 1;}
}

.buttons_launc .start_game:hover {
    transform: scale(1.05) translateY(-2px); /* Добавим легкий подъем и масштабирование */
    /* Сделаем тень намного интенсивнее, как неоновое свечение */
    box-shadow: 
        0 0 10px var(--orange-glow-strong), 
        0 0 30px var(--orange-glow-strong), 
        0 10px 20px var(--orange-glow-strong);
}


.buttons_launc .save_launc {
    text-decoration: none;
    color: var(--text-gray); /* Используем серый для вторичного текста по умолчанию */
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5em; /* Немного увеличим зазор для читаемости */
    animation: ani5 2.5s forwards;
    transition: all .5s ease; /* all для плавного перехода всех свойств */
    /* Добавим оранжевую обводку, чтобы она выглядела как контурная кнопка */
    border: 1px solid transparent; 
    padding: 11px 20px; /* Чтобы соответствовать размеру основной кнопки */
    border-radius: 50px;
}

.buttons_launc .save_launc i{
    font-size: 22px;
    color: var(--primary-orange); /* Иконка всегда оранжевая */
}

@keyframes ani5 {
    0% {transform: translate(20px, 0px) rotate(0deg); opacity: 0;}
    50% {transform: translate(20px, 0px) rotate(0deg); opacity: 0;}
    100% {transform: translate(0, 0px) rotate(0deg); opacity: 1;}
}

.buttons_launc .save_launc:hover {
    color: var(--primary-orange); /* Цвет текста становится оранжевым при наведении */
    /* Используем text-shadow для эффекта свечения */
    text-shadow: 0 0 10px var(--orange-glow-soft);
    /* Добавим легкий скейл при наведении */
    transform: scale(1.02);
    /* Добавим видимую оранжевую рамку при наведении */
    border-color: var(--primary-orange);
}

/*-------------*/
.img_love{
    width: 80px;
    height: 50px;
    background-image: url(../image/background/love.png);
    position: absolute;
    background-size: cover;
    margin-left: 800px;
    margin-top: -340px;
    filter: drop-shadow(0 0px 10px #cc5d31);
    animation: scale 5s infinite; transition: .5s ease;
}

@keyframes scale {
    0% {
        transform: translate(0px, 0px) rotate(0deg);
      }
    50% {
        transform: translate(0px, -10px) rotate(5deg);
    }
    100% {
        transform: translate(0px, 0px) rotate(0deg);
    }
}

.img_apple {
    width: 60px;
    height: 90px;
    background-image: url(../image/background/apple.png);
    position: absolute;
    background-size: 100%;
    margin-left: 930px;
    margin-top: 20px;
    filter: drop-shadow(0 0px 10px #ccb031);
    animation: scale2 6s infinite; transition: .5s ease;
}

@keyframes scale2 {
    0% {
        transform: translate(0px, 0px) rotate(10deg);
        filter: drop-shadow(0 0px 10px #ccb031);
        }
    50% {
        transform: translate(-5px, 0px) rotate(5deg);
        filter: drop-shadow(0 0px 12px #f7e07b);
    }
    100% {
        transform: translate(0px, 0px) rotate(10deg);
        filter: drop-shadow(0 0px 10px #ccb031);
    }
}


.img_redstone {
    width: 60px;
    height: 60px;
    background-image: url(../image/background/redstone.png);
    background-repeat: no-repeat;
    position: absolute;
    background-size: 100%;
    margin-left: 647px;
    margin-top: 413px;
    filter: blur(5px) drop-shadow(0 0px 10px #ff3b3bab);
    animation: scale3 6s infinite; transition: .5s ease;
}


@keyframes scale3 {
    0% {
        transform: translate(0px, 0px) rotate(-5deg);
        }
    50% {
        transform: translate(0, -5px) rotate(5deg);
    }
    100% {
        transform: translate(0px, 0px) rotate(-5deg);
    }
}

.img_fackel {
    width: 60px;
    height: 60px;
    background-image: url(../image/background/fackel.png);
    background-repeat: no-repeat;
    position: absolute;
    background-size: contain;
    margin-left: -700px;
    margin-top: 413px;
    filter: blur(2px) drop-shadow(-15px -20px 15px #fcff3be1);
    transition: 2s;
    animation: scale3 4s infinite; transition: .5s ease;
}

.img_iron {
    width: 60px;
    height: 45px;
    background-image: url(../image/background/iron.png);
    position: absolute;
    background-size: cover;
    margin-left: -930px;
    margin-top: 20px;
    filter: drop-shadow(0 0px 10px #b9b9b9c2);
    animation: scale6 5s infinite; transition: .5s ease;
}

@keyframes scale6 {
    0% {
        transform: translate(0px, 0px) rotate(-5deg);
        filter: drop-shadow(0 0px 10px #b9b9b9c2);
        }
    50% {
        transform: translate(0, -5px) rotate(5deg);
        filter: drop-shadow(0 0px 10px rgba(255, 255, 255, 0.918)c2);
    }
    100% {
        transform: translate(0px, 0px) rotate(-5deg);
        filter: drop-shadow(0 0px 10px #b9b9b9c2);
    }
}

.img_book{
    width: 180px;
    height: 180px;
    background-image: url(../image/background/book.gif);
    position: absolute;
    background-size: cover;
    margin-left: -840px;
    margin-top: -340px;
    filter: drop-shadow(0 0px 10px #cc5d31);
    animation: scale5 6s infinite;
}

@keyframes scale5 {
    0% {
        transform: translate(0px, 0px) rotate(-5deg);
        filter: drop-shadow(0 0px 10px #cc31c4);
        }
    50% {
        transform: translate(0, -5px) rotate(5deg);
        filter: drop-shadow(0 0px 10px #3140cc);
    }
    100% {
        transform: translate(0px, 0px) rotate(-5deg);
        filter: drop-shadow(0 0px 10px #cc31c4);
    }
}

.menu_mobile{
    display: none;
    justify-content: center;
    align-items: center;
    gap: 0.5em;
    font-size: 30px;
    text-decoration: none;
    color: black;
    padding: 10px 14px;
    background: #fff;
    border-radius: 10px;
    font-weight: 600;
    overflow: hidden;
    transition: .5s ease;
    position: fixed;
    z-index:7;
    top: 20px;
    right: 20px;
    cursor: pointer;
    
}

.icon_list_message {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 50px;
    gap: 2em;
}

.icon_list_message i {
    font-size: 28px;
    opacity: 0.5;
    color: #fff;
    text-decoration: none;
    /* Улучшенный переход: трансформация и прозрачность */
    transition: transform 0.3s ease, opacity 0.3s ease;
    /* Используем forwards, чтобы иконка не исчезала после анимации */
    animation: vk_ds_tk 1.2s cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

/* Эффект поочередного появления (Stagger) */
.icon_list_message i:nth-child(1) { animation-delay: 0.1s; }
.icon_list_message i:nth-child(2) { animation-delay: 0.2s; }
.icon_list_message i:nth-child(3) { animation-delay: 0.3s; }
.icon_list_message i:nth-child(4) { animation-delay: 0.4s; }

@keyframes vk_ds_tk {
    0% {
        transform: translateY(30px);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 0.5;
    }
}

.icon_list_message i:hover {
    opacity: 1;
    transform: translateY(-5px) scale(1.1); /* Иконка немного подпрыгивает и увеличивается */
}



/*Стили кнопки*/

  .btn__hamb {
    position: relative;
    display: block;
    width: 100%;
    height: 4px;
    background: #0E7318;
    cursor: pointer; }
    .btn__hamb div {
      width: 100%;
      height: 100%; }
    .btn__hamb:before, .btn__hamb:after {
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      background: #0E7318; }
    .btn__hamb:before {
      top: -8px; }
    .btn__hamb:after {
      top: 8px; }
  
  /*Стили мобильного меню*/
  .mobile-menu {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 100; }
    @media (min-width: 768px) {
      .mobile-menu {
        padding-top: 0; } }
    /*получпрозрачный фон*/
    .mobile-menu .mm__bg {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background: rgba(20, 20, 20, 0.8);
      z-index: 100; }
  /*Контейнер мобильного меню, именно он выезжает слева*/
    .mobile-menu .mm__wrapper {
      visibility: hidden;
      -webkit-transform: translateX(-100%);
      transform: translateX(-100%);
      transition: all .4s ease-in-out;
      overflow-y: auto;
      position: relative;
      width: 300px;
      height: 100%;
      z-index: 200;
      touch-action: auto;
      -ms-touch-action: auto;
      background: #151515f5;
      border-right: 1px solid #222222c7;
     }
      @media (min-width: 768px) {
        .mobile-menu .mm__wrapper {
          width: 35%; } }
      @media (min-width: 1200px) {
        .mobile-menu .mm__wrapper {
          width: 25%; } }
  /*Стили логотипа в меню (опционально)*/
    .mobile-menu .h__logo {
      padding-left: 40px;
      font-size: 2rem;
      font-weight: 700;
      color: #333;
      line-height: 1.25;
      margin-left: 20px;
      margin-top: 15px; }
  
  /*Стили крестика закрытия меню*/
  .mm__header .close-btn {
    position: absolute;
    top: 0;
    right: 0;
    margin-right: 15px;
    margin-top: 15px; }
  
  .close-btn {
    position: relative;
    width: 20px;
    height: 20px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    cursor: pointer; }
    .close-btn:before {
      width: 2px;
      height: 18px;
      left: 8px;
      top: 0; }
    .close-btn:after {
      height: 2px;
      width: 18px;
      top: 8px;
      left: 0; }
    .close-btn:before, .close-btn:after {
      content: "";
      background: #ffffff;
      position: absolute; }
  .close-btn--red:before, .close-btn--red:after {
    background: #ffffff; }


.mobile_menu_a{
    width: 100%;
    display: grid;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 1.5em;
}

.mobile_menu_a a{
    text-decoration: none;
    color: #fff;
    font-size: 18px;
    font-weight: 500;
}

.mobile_lends{
    min-height: 80vh;
    display: grid;
    justify-content: center;
    align-items: center;
}

.mobile_prof{
    display: grid;
    justify-content: center;
    align-items: center;
    height: auto;
}

.mobile_logout{
    display: grid !important;
    margin-top: 140px;
    text-align: center;
}

.mobile_favicon{
    margin-left: 10px;
    margin-top: 10px;
}

.mobile_reg{
    display: grid !important;
}


/*-------MOBILE-----------*/
@media(max-width: 1200px) {
    .top_header{
        width: 100%;
        transition: .5s ease;
    }
}

@media(max-width: 1080px) {
    .header_main {
        width: 70%;
        transition: .5s ease;
    }
    .img_love {
        margin-left: 680px; transition: .5s ease;
    }
    .img_apple {
        margin-left: 820px; transition: .5s ease;
    }
    .img_book {
        margin-left: -702px; transition: .5s ease;
    }
    .img_iron {
        margin-left: -822px; transition: .5s ease;
    }

}

@media(min-width: 1600px) {
    .header_main {
        width: 38%;
    }
}

@media(max-width: 1000px) {
    .text_logo {
        display: none; transition: .5s ease;
    }
    .logo {
        width: auto;
        margin-left: 10px;
        transition: .5s ease;
    }
}

@media(max-width: 900px) {
    .img_book {
        margin-left: -572px;
        transition: .5s ease;
    }
    .img_iron {
        margin-left: -652px;
        transition: .5s ease;
    }
    .img_fackel {
        margin-left: -571px;
        transition: .5s ease;
    }
    .img_love {
        margin-left: 581px;
        transition: .5s ease;
    }
    .img_apple {
        margin-left: 634px;
        transition: .5s ease;
    }
    .img_redstone {
        margin-left: 601px;
        transition: .5s ease;
    }
}

@media(max-width: 800px) {
    .reg_btn {
        display: none;
    }
    .header_main {
        width: 80%;
        transition: .5s ease;
    }
    .img_apple {
        opacity: 0.2;
        filter: blur(4px) drop-shadow(0 0px 10px orange) !important;
        transition: .5s ease;
    }
    .img_iron {
        opacity: 0.2;
        filter: blur(3px) drop-shadow(0 0px 10px silver) !important;
        transition: .5s ease;
    }
}

@media(max-width: 700px) {
    .img_redstone {
        margin-left: 493px;
        margin-top: 500px;
        opacity: 0.7;
        transition: .5s ease;
    }
    .img_love {
        margin-top: -480px;
        margin-left: 502px;
        transition: .5s ease;
    }
    .img_book {
        margin-left: -508px;
        opacity: 0.5;
        margin-top: -500px;
        transition: .5s ease;
    }
}

@media(max-width: 670px) {
    .header_main {
        width: 90%;
        transition: .5s ease;
    }
    .main_menu {
        display: none;
        transition: .5s ease;
    }
    .grid_header {
        grid-template-columns: 1fr 1fr;
        transition: .5s ease;
    }
    .buttons_reg_login {
        justify-content: end;
        transition: .5s ease;
    }
    .logo {
        justify-content: start;
        transition: .5s ease;
        width: 30%;
    }
}

@media(max-width: 620px) {
    .img_love {
        margin-top: -542px;
        margin-left: 313px;
        transition: .5s ease;
    }
    .img_book {
        margin-left: -287px;
        opacity: 0.1;
        margin-top: -500px;
        transition: .5s ease;
    }
    .login_btn{
        display:none;
    }
    .menu_mobile{
        display: flex;
    }
    .header_main {
        width: 100%;
        transition: .5s ease;
        padding: 5px;
        margin-top: 100px;
    }
    .profile_menu{
        display: none;
    }
}

@media(max-width: 440px) {
    .buttons_launc {
        gap: 1em;
        transition: .5s ease;
    }
    .img_redstone {
        margin-left: 270px;
        margin-top: 591px;
        opacity: 0.2;
        transition: .5s ease;
    }
}

@media(max-width: 380px) {
    .header_main h1 {
        font-size: 34px;
        transition: .5s ease;
    }
    .buttons_launc {
        display: grid !important;
        gap: 2em !important;
    }
}


