@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@700&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Poppins', sans-serif;
    background-color: #000000;
    min-height: 100vh;
    position: relative;
    overflow-x: hidden;
    /* Гарантируем, что fixed элементы работают правильно */
    transform: none !important;
    will-change: auto !important;
    /* Убираем артефакты и улучшаем качество изображения */
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    image-rendering: high-quality;
    image-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* Фон: темный градиент от черного к темно-красному/бордовому с зернистой текстурой и крипто-элементами */
body::before {
    content: '';
    position: fixed;
    inset: 0;
    background: 
        /* Зернистая текстура (film grain) */
        url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23noise)' opacity='0.12'/%3E%3C/svg%3E"),
        /* Крипто-символы и цифры (₿, Ξ, числа) - БОЛЬШЕ символов */
        url("data:image/svg+xml,%3Csvg width='8000' height='1750' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='500' y='300' font-size='200' fill='%234a0000' opacity='0.15' font-weight='700'%3E₿%3C/text%3E%3Ctext x='1500' y='500' font-size='150' fill='%234a0000' opacity='0.12' font-weight='700'%3EΞ%3C/text%3E%3Ctext x='2500' y='200' font-size='180' fill='%234a0000' opacity='0.13' font-weight='700'%3E₿%3C/text%3E%3Ctext x='3500' y='600' font-size='160' fill='%234a0000' opacity='0.11' font-weight='700'%3EBNB%3C/text%3E%3Ctext x='4500' y='300' font-size='140' fill='%234a0000' opacity='0.14' font-weight='700'%3EADA%3C/text%3E%3Ctext x='5500' y='500' font-size='170' fill='%234a0000' opacity='0.12' font-weight='700'%3ESOL%3C/text%3E%3Ctext x='6500' y='250' font-size='190' fill='%234a0000' opacity='0.13' font-weight='700'%3E₿%3C/text%3E%3Ctext x='7500' y='550' font-size='155' fill='%234a0000' opacity='0.11' font-weight='700'%3EΞ%3C/text%3E%3Ctext x='1000' y='800' font-size='145' fill='%234a0000' opacity='0.12' font-weight='700'%3E₿%3C/text%3E%3Ctext x='4000' y='200' font-size='165' fill='%234a0000' opacity='0.13' font-weight='700'%3EΞ%3C/text%3E%3Ctext x='6800' y='700' font-size='155' fill='%234a0000' opacity='0.11' font-weight='700'%3E₿%3C/text%3E%3Ctext x='1000' y='1200' font-size='120' fill='%234a0000' opacity='0.1' font-family='monospace'%3E0x1a2b...%3C/text%3E%3Ctext x='3000' y='1400' font-size='110' fill='%234a0000' opacity='0.1' font-family='monospace'%3E0x3c4d...%3C/text%3E%3Ctext x='5000' y='1300' font-size='125' fill='%234a0000' opacity='0.1' font-family='monospace'%3E0x5e6f...%3C/text%3E%3Ctext x='7000' y='1500' font-size='115' fill='%234a0000' opacity='0.1' font-family='monospace'%3E0x7g8h...%3C/text%3E%3Ctext x='2000' y='1000' font-size='118' fill='%234a0000' opacity='0.1' font-family='monospace'%3E0x9a0b...%3C/text%3E%3Ctext x='6000' y='1100' font-size='122' fill='%234a0000' opacity='0.1' font-family='monospace'%3E0x1c2d...%3C/text%3E%3C/svg%3E"),
        /* Градиент: почти черный (верхний левый) к темно-красному/бордовому (правый и нижний правый) */
        radial-gradient(ellipse at 0% 0%, #000000 0%, #0a0000 20%, #1a0000 40%, #2a0000 60%, #3a0000 80%, #4a0000 100%),
        linear-gradient(135deg, #000000 0%, #0a0000 15%, #1a0000 30%, #2a0000 50%, #3a0000 70%, #4a0000 85%, #5a0000 100%);
    background-size: 
        100px 100px,
        8000px 1750px,
        8000px 1750px,
        100% 100%;
    background-position: 
        0 0,
        center center,
        center center,
        0 0;
    background-attachment: fixed, fixed, fixed, fixed;
    background-repeat: repeat, no-repeat, no-repeat, no-repeat;
    z-index: 0;
    pointer-events: none;
}

/* Тонкие темно-красные линии - плавные волны слева и сложная сетка справа + крипто-элементы */
body::after {
    content: '';
    position: fixed;
    inset: 0;
    background-image: 
        /* ЛЕВЫЙ ПАТТЕРН: Плавные волнистые линии (волны данных/блокчейн) */
        url("data:image/svg+xml,%3Csvg width='8000' height='1750' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpath id='dataWave' d='M 0,1600 Q 150,1500 300,1550 Q 450,1600 600,1550 Q 750,1500 900,1550 Q 1050,1600 1200,1550 Q 1350,1500 1500,1550 Q 1650,1600 1800,1550' stroke='%234a0000' stroke-width='1.2' fill='none' opacity='0.7'/%3E%3C/defs%3E%3Cg%3E%3Cuse href='%23dataWave' x='0' y='0'/%3E%3Cuse href='%23dataWave' x='0' y='-25'/%3E%3Cuse href='%23dataWave' x='0' y='-50'/%3E%3Cuse href='%23dataWave' x='0' y='-75'/%3E%3Cuse href='%23dataWave' x='0' y='-100'/%3E%3Cuse href='%23dataWave' x='0' y='-125'/%3E%3Cuse href='%23dataWave' x='0' y='-150'/%3E%3Cuse href='%23dataWave' x='0' y='-175'/%3E%3Cuse href='%23dataWave' x='0' y='-200'/%3E%3Cuse href='%23dataWave' x='0' y='-225'/%3E%3Cuse href='%23dataWave' x='0' y='-250'/%3E%3Cuse href='%23dataWave' x='0' y='-275'/%3E%3Cuse href='%23dataWave' x='0' y='-300'/%3E%3Cuse href='%23dataWave' x='0' y='-325'/%3E%3Cuse href='%23dataWave' x='0' y='-350'/%3E%3Cuse href='%23dataWave' x='0' y='-375'/%3E%3Cuse href='%23dataWave' x='0' y='-400'/%3E%3Cuse href='%23dataWave' x='0' y='-425'/%3E%3Cuse href='%23dataWave' x='0' y='-450'/%3E%3Cuse href='%23dataWave' x='0' y='-475'/%3E%3Cuse href='%23dataWave' x='0' y='-500'/%3E%3Cuse href='%23dataWave' x='0' y='-525'/%3E%3Cuse href='%23dataWave' x='0' y='-550'/%3E%3Cuse href='%23dataWave' x='0' y='-575'/%3E%3Cuse href='%23dataWave' x='0' y='-600'/%3E%3Cuse href='%23dataWave' x='0' y='-625'/%3E%3Cuse href='%23dataWave' x='0' y='-650'/%3E%3Cuse href='%23dataWave' x='0' y='-675'/%3E%3Cuse href='%23dataWave' x='0' y='-700'/%3E%3Cuse href='%23dataWave' x='0' y='-725'/%3E%3Cuse href='%23dataWave' x='0' y='-750'/%3E%3Cuse href='%23dataWave' x='0' y='-775'/%3E%3Cuse href='%23dataWave' x='0' y='-800'/%3E%3Cuse href='%23dataWave' x='0' y='-825'/%3E%3Cuse href='%23dataWave' x='0' y='-850'/%3E%3Cuse href='%23dataWave' x='0' y='-875'/%3E%3Cuse href='%23dataWave' x='0' y='-900'/%3E%3Cuse href='%23dataWave' x='0' y='-925'/%3E%3Cuse href='%23dataWave' x='0' y='-950'/%3E%3Cuse href='%23dataWave' x='0' y='-975'/%3E%3Cuse href='%23dataWave' x='0' y='-1000'/%3E%3Cuse href='%23dataWave' x='0' y='-1025'/%3E%3Cuse href='%23dataWave' x='0' y='-1050'/%3E%3Cuse href='%23dataWave' x='0' y='-1075'/%3E%3Cuse href='%23dataWave' x='0' y='-1100'/%3E%3Cuse href='%23dataWave' x='0' y='-1125'/%3E%3Cuse href='%23dataWave' x='0' y='-1150'/%3E%3Cuse href='%23dataWave' x='0' y='-1175'/%3E%3Cuse href='%23dataWave' x='0' y='-1200'/%3E%3Cuse href='%23dataWave' x='0' y='-1225'/%3E%3Cuse href='%23dataWave' x='0' y='-1250'/%3E%3Cuse href='%23dataWave' x='0' y='-1275'/%3E%3Cuse href='%23dataWave' x='0' y='-1300'/%3E%3Cuse href='%23dataWave' x='0' y='-1325'/%3E%3Cuse href='%23dataWave' x='0' y='-1350'/%3E%3Cuse href='%23dataWave' x='0' y='-1375'/%3E%3Cuse href='%23dataWave' x='0' y='-1400'/%3E%3Cuse href='%23dataWave' x='0' y='-1425'/%3E%3Cuse href='%23dataWave' x='0' y='-1450'/%3E%3Cuse href='%23dataWave' x='0' y='-1475'/%3E%3Cuse href='%23dataWave' x='0' y='-1500'/%3E%3Cuse href='%23dataWave' x='0' y='-1525'/%3E%3Cuse href='%23dataWave' x='0' y='-1550'/%3E%3C/g%3E%3C/svg%3E"),
        /* ПРАВЫЙ ПАТТЕРН: Сложная сетка/воронка (блокчейн-сеть) */
        url("data:image/svg+xml,%3Csvg width='8000' height='1750' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.6' stroke='%234a0000' stroke-width='1' fill='none'%3E%3Cpath d='M 5500,0 Q 6000,500 6500,1000 Q 7000,1200 7500,1400 T 8000,1600'/%3E%3Cpath d='M 5400,0 Q 5900,550 6400,1050 Q 6900,1250 7400,1450 T 7900,1650'/%3E%3Cpath d='M 5300,0 Q 5800,600 6300,1100 Q 6800,1300 7300,1500 T 7800,1700'/%3E%3Cpath d='M 5200,0 Q 5700,650 6200,1150 Q 6700,1350 7200,1550 T 7700,1750'/%3E%3Cpath d='M 5100,100 Q 5600,700 6100,1200 Q 6600,1400 7100,1600 T 7600,1750'/%3E%3Cpath d='M 5000,200 Q 5500,750 6000,1250 Q 6500,1450 7000,1650 T 7500,1750'/%3E%3Cpath d='M 4900,300 Q 5400,800 5900,1300 Q 6400,1500 6900,1700 T 7400,1750'/%3E%3Cpath d='M 4800,400 Q 5300,850 5800,1350 Q 6300,1550 6800,1750'/%3E%3Cpath d='M 4700,500 Q 5200,900 5700,1400 Q 6200,1600 6700,1750'/%3E%3Cpath d='M 4600,600 Q 5100,950 5600,1450 Q 6100,1650 6600,1750'/%3E%3Cpath d='M 5600,0 Q 6100,450 6600,900 Q 7100,1100 7600,1300 T 8000,1500'/%3E%3Cpath d='M 5700,0 Q 6200,400 6700,850 Q 7200,1050 7700,1250 T 8000,1450'/%3E%3Cpath d='M 5800,0 Q 6300,350 6800,800 Q 7300,1000 7800,1200 T 8000,1400'/%3E%3Cpath d='M 5900,0 Q 6400,300 6900,750 Q 7400,950 7900,1150 T 8000,1350'/%3E%3Cpath d='M 6000,0 Q 6500,250 7000,700 Q 7500,900 8000,1100'/%3E%3Cpath d='M 6100,0 Q 6600,200 7100,650 Q 7600,850 8000,1050'/%3E%3Cpath d='M 6200,0 Q 6700,150 7200,600 Q 7700,800 8000,1000'/%3E%3Cpath d='M 6300,0 Q 6800,100 7300,550 Q 7800,750 8000,950'/%3E%3Cpath d='M 6400,0 Q 6900,50 7400,500 Q 7900,700 8000,900'/%3E%3Cpath d='M 6500,0 Q 7000,0 7500,450 Q 8000,650 8000,850'/%3E%3Cpath d='M 6600,0 Q 7100,-50 7600,400 Q 8000,600 8000,800'/%3E%3Cpath d='M 6700,0 Q 7200,-100 7700,350 Q 8000,550 8000,750'/%3E%3Cpath d='M 6800,0 Q 7300,-150 7800,300 Q 8000,500 8000,700'/%3E%3Cpath d='M 6900,0 Q 7400,-200 7900,250 Q 8000,450 8000,650'/%3E%3Cpath d='M 7000,0 Q 7500,-250 8000,200 Q 8000,400 8000,600'/%3E%3Cpath d='M 7100,0 Q 7600,-300 8000,150 Q 8000,350 8000,550'/%3E%3Cpath d='M 7200,0 Q 7700,-350 8000,100 Q 8000,300 8000,500'/%3E%3Cpath d='M 7300,0 Q 7800,-400 8000,50 Q 8000,250 8000,450'/%3E%3Cpath d='M 7400,0 Q 7900,-450 8000,0 Q 8000,200 8000,400'/%3E%3C/g%3E%3C/svg%3E"),
        /* Блокчейн-блоки (обучение) */
        url("data:image/svg+xml,%3Csvg width='8000' height='1750' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.2'%3E%3Crect x='2000' y='400' width='80' height='80' stroke='%234a0000' stroke-width='1.5' fill='none' rx='4'/%3E%3Crect x='2200' y='500' width='80' height='80' stroke='%234a0000' stroke-width='1.5' fill='none' rx='4'/%3E%3Crect x='2400' y='600' width='80' height='80' stroke='%234a0000' stroke-width='1.5' fill='none' rx='4'/%3E%3Cline x1='2080' y1='440' x2='2200' y2='540' stroke='%234a0000' stroke-width='1'/%3E%3Cline x1='2280' y1='540' x2='2400' y2='640' stroke='%234a0000' stroke-width='1'/%3E%3Crect x='6000' y='300' width='80' height='80' stroke='%234a0000' stroke-width='1.5' fill='none' rx='4'/%3E%3Crect x='6200' y='400' width='80' height='80' stroke='%234a0000' stroke-width='1.5' fill='none' rx='4'/%3E%3Cline x1='6080' y1='340' x2='6200' y2='440' stroke='%234a0000' stroke-width='1'/%3E%3C/g%3E%3C/svg%3E"),
        /* График цен (обучение) */
        url("data:image/svg+xml,%3Csvg width='8000' height='1750' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.25' stroke='%234a0000' stroke-width='1.5' fill='none'%3E%3Cpolyline points='1000,1200 1100,1150 1200,1100 1300,1050 1400,1000 1500,950 1600,1000 1700,1050 1800,1100'/%3E%3Cpolyline points='3000,1400 3100,1350 3200,1300 3300,1250 3400,1200 3500,1150 3600,1200 3700,1250'/%3E%3Cpolyline points='5000,1300 5100,1250 5200,1200 5300,1150 5400,1100 5500,1050 5600,1100 5700,1150'/%3E%3C/g%3E%3C/svg%3E");
    background-size: 
        8000px 1750px,
        8000px 1750px,
        8000px 1750px,
        8000px 1750px;
    background-position: 
        center center,
        center center,
        center center,
        center center;
    background-attachment: fixed, fixed, fixed, fixed;
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
    z-index: 0;
    pointer-events: none;
    opacity: 0.8;
}

.page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    position: relative;
    z-index: 1;
    /* Гарантируем, что fixed элементы вне .page работают правильно */
    transform: none !important;
}

.content {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 0;
    text-align: center;
    position: relative;
    z-index: 1;
    min-height: 100vh;
    padding-top: calc(50vh - 60px - 4cm); /* Центрируем заголовок по вертикали при загрузке, поднимаем на 4 см выше */
}

/* Заголовок Crypto Coach */
.crypto-coach-container {
    text-align: center;
    position: relative;
    margin: 0 auto;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 90%;
}

.crypto-coach-container h1 {
    font-size: 140px;
    color: #ffffff;
    font-weight: 700;
    margin: 0;
    text-shadow: 0 0 8px #ca0000, 0 0 12px rgba(202, 0, 0, 0.5);
    font-family: 'Telegraf', Arial, sans-serif;
    line-height: 1.3;
    text-align: center;
}

/* Новый текстовый блок (10 см ниже заголовка) */
.crypto-text-block {
    position: relative !important;
    margin-top: 10cm !important;
    margin-left: auto !important;
    margin-right: auto !important;
    z-index: 2 !important;
    text-align: left !important;
    width: 100% !important;
    max-width: calc(1200px + 8cm) !important; /* Было 1200px + 6cm, теперь +8cm (расширено на 1 см справа и слева) */
    color: #ffffff !important;
    padding: 40px 20px !important;
    /* Уникальный дизайн с эффектом прокачки */
    background: linear-gradient(135deg, rgba(202, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(202, 0, 0, 0.05) 100%) !important;
    border: 2px solid transparent !important;
    border-radius: 20px !important;
    box-shadow: 
        0 0 30px rgba(202, 0, 0, 0.2),
        inset 0 0 50px rgba(202, 0, 0, 0.05) !important;
    /* Анимированная граница */
    background-clip: padding-box !important;
    overflow: hidden !important;
    /* Оптимизация для плавности */
    will-change: transform !important;
    transform: translateZ(0) !important;
    backface-visibility: hidden !important;
}

/* Анимированная граница (эффект прокачки) */
.crypto-text-block::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(202, 0, 0, 0.3),
        transparent
    );
    animation: progressScan 8s ease-in-out infinite;
    pointer-events: none;
    z-index: 0;
}

@keyframes progressScan {
    0% {
        left: -100%;
    }
    50% {
        left: 100%;
    }
    100% {
        left: 100%;
    }
}

/* Светящиеся углы */
.crypto-text-block::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 20px;
    padding: 2px;
    background: linear-gradient(
        135deg,
        rgba(202, 0, 0, 0.5) 0%,
        transparent 25%,
        transparent 75%,
        rgba(202, 0, 0, 0.5) 100%
    );
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    animation: borderGlow 4s ease-in-out infinite;
    pointer-events: none;
    z-index: 1;
}

@keyframes borderGlow {
    0%, 100% {
        opacity: 0.3;
    }
    50% {
        opacity: 0.8;
    }
}

/* Специальный стиль для предупреждения */
.crypto-text-block .highlight.warning-notice {
    animation: warningPulse 2s ease-in-out infinite;
    display: inline-block;
}

@keyframes warningPulse {
    0%, 100% {
        text-shadow: 0 0 4px rgba(202, 0, 0, 0.3), 0 0 8px rgba(255, 0, 0, 0.25);
    }
    50% {
        text-shadow: 0 0 8px rgba(202, 0, 0, 0.3), 0 0 12px rgba(255, 0, 0, 0.25), 0 0 18px rgba(255, 51, 51, 0.2);
    }
}

.crypto-text-block .intro-text {
    font-size: 67px;
    line-height: 1.6;
    color: #ffffff;
    margin: 0;
    font-family: 'Telegraf', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-weight: bold;
    /* Анимация появления текста */
    opacity: 0;
    transform: translateY(30px);
    animation: textFadeIn 1.2s ease-out forwards;
    animation-delay: 0.3s;
    position: relative;
    z-index: 2;
    /* Эффект глубины текста */
    text-shadow: 
        0 2px 10px rgba(0, 0, 0, 0.5),
        0 0 20px rgba(202, 0, 0, 0.2);
}

/* Анимация появления текста */
@keyframes textFadeIn {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.crypto-text-block .highlight {
    color: #ca0000;
    font-weight: bold;
    animation: flicker 4s infinite;
    position: relative;
    display: inline-block;
    /* Эффект свечения при наведении */
    transition: all 0.3s ease;
    cursor: default;
    /* Эффект прокачки - индикатор уровня (яркость уменьшена в 2 раза) */
    padding: 2px 8px;
    border-radius: 4px;
    background: linear-gradient(
        135deg,
        rgba(202, 0, 0, 0.025) 0%,
        rgba(202, 0, 0, 0.075) 50%,
        rgba(202, 0, 0, 0.025) 100%
    );
    /* Оптимизация */
    will-change: transform, text-shadow;
    transform: translateZ(0);
}

.crypto-text-block .highlight:hover {
    text-shadow: 0 0 4px rgba(202, 0, 0, 0.3), 0 0 6px rgba(255, 0, 0, 0.2), 0 0 9px rgba(255, 51, 51, 0.15);
    transform: scale(1.05) translateZ(0);
    background: linear-gradient(
        135deg,
        rgba(202, 0, 0, 0.075) 0%,
        rgba(202, 0, 0, 0.175) 50%,
        rgba(202, 0, 0, 0.075) 100%
    );
    box-shadow: 0 0 8px rgba(202, 0, 0, 0.2);
}

/* Эффект "прокачки" - полоска прогресса под словом (яркость уменьшена в 2 раза) */
.crypto-text-block .highlight::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 3px;
    background: linear-gradient(90deg, rgba(202, 0, 0, 0.35), rgba(255, 51, 51, 0.35), rgba(202, 0, 0, 0.35));
    border-radius: 2px;
    animation: skillProgress 3s ease-in-out infinite;
    box-shadow: 0 0 4px rgba(202, 0, 0, 0.3);
}

@keyframes skillProgress {
    0% {
        width: 0;
        opacity: 0;
    }
    50% {
        width: 100%;
        opacity: 0.5; /* Уменьшена яркость в 2 раза */
    }
    100% {
        width: 100%;
        opacity: 0;
    }
}

/* Пульсирующая анимация для важных слов (яркость уменьшена в 2 раза) */
.crypto-text-block .highlight::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle, rgba(202, 0, 0, 0.125) 0%, transparent 70%);
    border-radius: 4px;
    opacity: 0;
    animation: pulseGlow 3s ease-in-out infinite;
    pointer-events: none;
}

@keyframes pulseGlow {
    0%, 100% {
        opacity: 0;
        transform: scale(1);
    }
    50% {
        opacity: 0.3;
        transform: scale(1.1);
    }
}

/* Эффект "прокачки навыка" - уровень повышается (уменьшена яркость на 5%) */
.crypto-text-block .highlight.skill-level-up {
    animation: skillLevelUp 1s ease-out;
}

@keyframes skillLevelUp {
    0% {
        transform: scale(1) translateZ(0);
        text-shadow: 0 0 4px rgba(202, 0, 0, 0.3);
    }
    50% {
        transform: scale(1.15) translateZ(0);
        text-shadow: 0 0 10px rgba(202, 0, 0, 0.25), 0 0 18px rgba(255, 0, 0, 0.2), 0 0 25px rgba(255, 51, 51, 0.15);
        background: linear-gradient(
            135deg,
            rgba(202, 0, 0, 0.175) 0%,
            rgba(255, 0, 0, 0.275) 50%,
            rgba(202, 0, 0, 0.175) 100%
        );
    }
    100% {
        transform: scale(1) translateZ(0);
        text-shadow: 0 0 6px rgba(202, 0, 0, 0.25), 0 0 10px rgba(255, 0, 0, 0.2);
    }
}

/* Индикатор уровня навыка */
.skill-level-indicator {
    margin-bottom: 30px;
    padding: 20px;
    background: rgba(0, 0, 0, 0.4);
    border-radius: 12px;
    border: 1px solid rgba(202, 0, 0, 0.3);
}

.skill-level-label {
    color: #ffffff;
    font-size: 0.9rem;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: 0.8;
}

.skill-level-bar {
    position: relative;
    width: 100%;
    height: 30px;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 15px;
    overflow: hidden;
    border: 2px solid rgba(202, 0, 0, 0.3);
}

.skill-level-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, rgba(202, 0, 0, 0.6), rgba(255, 0, 0, 0.8), rgba(202, 0, 0, 0.6));
    border-radius: 15px;
    animation: skillProgressFill 3s ease-in-out infinite;
    box-shadow: 0 0 15px rgba(202, 0, 0, 0.5);
    transition: width 0.5s ease;
}

@keyframes skillProgressFill {
    0%, 100% {
        box-shadow: 0 0 15px rgba(202, 0, 0, 0.5);
    }
    50% {
        box-shadow: 0 0 25px rgba(202, 0, 0, 0.7), 0 0 35px rgba(255, 0, 0, 0.5);
    }
}

.skill-level-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #ffffff;
    font-weight: bold;
    font-size: 0.85rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
    z-index: 2;
    white-space: nowrap;
}

/* Скрываем блок статистики, если он где-то остался - АГРЕССИВНОЕ СКРЫТИЕ */
.learning-stats,
.stat-item,
.stat-icon,
.stat-value,
.stat-label,
div[class*="learning-stats"],
div[class*="stat-item"],
div[class*="stat-icon"],
div[class*="stat-value"],
div[class*="stat-label"],
/* Скрываем ВСЕ элементы, содержащие текст статистики */
div:has-text("Lessons Read"),
div:has-text("SKILLS LEARNED"),
div:has-text("EXPERIENCE POINTS"),
div:has-text("Lessons Read"),
div:has-text("Skills Learned"),
div:has-text("Experience Points") {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
    z-index: -9999 !important;
    pointer-events: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

/* Скрываем родительский контейнер статистики */
.crypto-text-block > .learning-stats,
.crypto-text-block > div:has(.stat-item),
.crypto-text-block > div:has(.stat-icon),
.crypto-text-block > div:has-text("Lessons Read"),
.crypto-text-block > div:has-text("SKILLS LEARNED"),
.crypto-text-block > div:has-text("EXPERIENCE POINTS") {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* Скрываем ВСЕ div после intro-text, которые содержат статистику */
.crypto-text-block > div:not(.skill-level-indicator):not(.intro-text) {
    display: none !important;
}

/* Эффект "накопления опыта" при клике на ключевые слова */
.crypto-text-block .highlight[data-skill] {
    position: relative;
    cursor: pointer;
}

.crypto-text-block .highlight[data-skill]::before {
    content: '+10 XP';
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%) translateY(0);
    color: #ffd700;
    font-size: 0.7rem;
    font-weight: bold;
    opacity: 0;
    pointer-events: none;
    text-shadow: 0 0 10px rgba(255, 215, 0, 0.8);
    transition: all 0.6s ease-out;
    z-index: 10;
}

.crypto-text-block .highlight[data-skill].xp-gained::before {
    opacity: 1;
    transform: translateX(-50%) translateY(-20px);
    animation: xpFloat 1s ease-out forwards;
}

@keyframes xpFloat {
    0% {
        opacity: 1;
        transform: translateX(-50%) translateY(-20px) scale(1);
    }
    100% {
        opacity: 0;
        transform: translateX(-50%) translateY(-50px) scale(1.2);
    }
}

@keyframes flicker {
    0% {
        text-shadow: 0 0 0px rgba(202, 0, 0, 0.25);
    }
    50% {
        text-shadow: 0 0 4px rgba(202, 0, 0, 0.25), 0 0 8px rgba(202, 0, 0, 0.2);
    }
    100% {
        text-shadow: 0 0 0px rgba(202, 0, 0, 0.25);
    }
}

@media (max-width: 768px) {
    .crypto-text-block .intro-text {
        font-size: 40px;
    }
}

@media (max-width: 480px) {
    .crypto-text-block .intro-text {
        font-size: 28px;
    }
}

/* Таблица (5 см ниже текста) */
.crypto-table-block {
    position: relative;
    margin-top: 5cm;
    margin-left: auto;
    margin-right: auto;
    z-index: 2;
    width: 100%;
    max-width: calc(1200px + 6cm);
    padding: 0 20px;
}

@keyframes floatTitle {
    0% {
        transform: translate(0, 0);
    }
    25% {
        transform: translate(15px, -20px);
    }
    50% {
        transform: translate(-10px, 10px);
    }
    75% {
        transform: translate(20px, 15px);
    }
    100% {
        transform: translate(0, 0);
    }
}

.placeholder {
    padding: 50px;
    color: #ffffff;
    font-size: 24px;
    text-align: center;
    position: relative;
    z-index: 2;
}

/* ============================================
   КРИПТО-ЭЛЕМЕНТЫ ФОНА (анимированные)
   ============================================ */

.crypto-elements {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}

/* Блокчейн-блоки (обучение) */
.blockchain-block {
    position: absolute;
    width: 60px;
    height: 60px;
    border: 2px solid rgba(74, 0, 0, 0.4);
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.3);
    animation: blockFloat 15s ease-in-out infinite;
    box-shadow: 0 0 20px rgba(74, 0, 0, 0.3);
}

.blockchain-block::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 8px;
    right: 8px;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(74, 0, 0, 0.5), transparent);
    animation: blockGlow 3s ease-in-out infinite;
}

.blockchain-block::after {
    content: '₿';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 24px;
    color: rgba(74, 0, 0, 0.5);
    font-weight: 700;
}

.blockchain-block.block-1 {
    top: 20%;
    left: 15%;
    animation-delay: 0s;
}

.blockchain-block.block-2 {
    top: 50%;
    left: 25%;
    animation-delay: 5s;
}

.blockchain-block.block-3 {
    bottom: 30%;
    left: 35%;
    animation-delay: 10s;
}

@keyframes blockFloat {
    0%, 100% {
        transform: translate(0, 0) rotate(0deg);
        opacity: 0.6;
    }
    33% {
        transform: translate(15px, -10px) rotate(3deg);
        opacity: 0.8;
    }
    66% {
        transform: translate(-10px, 15px) rotate(-3deg);
        opacity: 0.7;
    }
}

@keyframes blockGlow {
    0%, 100% {
        opacity: 0.3;
    }
    50% {
        opacity: 0.7;
    }
}

/* Частицы данных */
.data-particle {
    position: absolute;
    width: 4px;
    height: 4px;
    background: radial-gradient(circle, rgba(74, 0, 0, 0.8), rgba(74, 0, 0, 0.3));
    border-radius: 50%;
    box-shadow: 0 0 10px rgba(74, 0, 0, 0.5);
    animation: particleFloat 12s ease-in-out infinite;
}

.data-particle.particle-1 {
    top: 15%;
    left: 20%;
    animation-delay: 0s;
}

.data-particle.particle-2 {
    top: 35%;
    right: 30%;
    animation-delay: 2s;
    width: 6px;
    height: 6px;
}

.data-particle.particle-3 {
    bottom: 25%;
    left: 40%;
    animation-delay: 4s;
}

.data-particle.particle-4 {
    top: 60%;
    right: 20%;
    animation-delay: 6s;
    width: 5px;
    height: 5px;
}

.data-particle.particle-5 {
    top: 45%;
    left: 50%;
    animation-delay: 8s;
}

@keyframes particleFloat {
    0%, 100% {
        transform: translate(0, 0) scale(1);
        opacity: 0.5;
    }
    25% {
        transform: translate(30px, -20px) scale(1.2);
        opacity: 0.8;
    }
    50% {
        transform: translate(-20px, 30px) scale(0.8);
        opacity: 0.6;
    }
    75% {
        transform: translate(25px, 25px) scale(1.1);
        opacity: 0.7;
    }
}

/* Светящиеся точки (ноды сети) */
.network-node {
    position: absolute;
    width: 8px;
    height: 8px;
    background: radial-gradient(circle, rgba(74, 0, 0, 0.9), rgba(74, 0, 0, 0.3));
    border-radius: 50%;
    box-shadow: 0 0 15px rgba(74, 0, 0, 0.6), 0 0 30px rgba(74, 0, 0, 0.3);
    animation: nodePulse 3s ease-in-out infinite;
}

.network-node.node-1 {
    top: 25%;
    left: 30%;
    animation-delay: 0s;
}

.network-node.node-2 {
    top: 55%;
    right: 35%;
    animation-delay: 0.75s;
}

.network-node.node-3 {
    bottom: 35%;
    left: 45%;
    animation-delay: 1.5s;
}

.network-node.node-4 {
    top: 70%;
    right: 25%;
    animation-delay: 2.25s;
}

@keyframes nodePulse {
    0%, 100% {
        transform: scale(1);
        opacity: 0.7;
    }
    50% {
        transform: scale(1.3);
        opacity: 1;
    }
}

/* ============================================
   CHAT WIDGET STYLES - Synchronized with main site
   Always in bottom right corner of the screen
   ============================================ */

.chat-widget {
    position: fixed !important;
    bottom: 20px !important;
    right: 20px !important;
    top: auto !important;
    left: auto !important;
    z-index: 2147483647 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    will-change: auto !important;
    contain: none !important;
}

.chat-button {
    width: 62px !important;
    height: 62px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 100%) !important;
    border: 2px solid #3a3a3a !important;
    cursor: pointer !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.6) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    animation: chat-float 3s ease-in-out infinite !important;
    visibility: visible !important;
    opacity: 1 !important;
}

@keyframes chat-float {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

.chat-button:hover {
    transform: scale(1.15) translateY(-5px);
    box-shadow: 0 6px 25px rgba(255, 255, 255, 0.2);
    border-color: #4a4a4a;
}

.chat-button:active {
    transform: scale(0.95);
}

.chat-button svg {
    width: 31px;
    height: 31px;
    fill: #FFFFFF;
}

.chat-button::before {
    content: '';
    position: absolute;
    top: -5px;
    right: -5px;
    width: 12px;
    height: 12px;
    background: #888888;
    border-radius: 50%;
    border: 2px solid #1a1a1a;
    animation: pulse-dot 2s ease-in-out infinite;
}

@keyframes pulse-dot {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.2);
        opacity: 0.6;
    }
}

.chat-container {
    position: fixed !important;
    bottom: 90px !important;
    right: 20px !important;
    width: 420px !important;
    height: 600px !important;
    background: #1a1a1a !important;
    border: 1px solid #2a2a2a !important;
    border-radius: 15px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.8) !important;
    display: none !important;
    flex-direction: column !important;
    overflow: hidden !important;
    animation: chat-slide-up 0.3s ease !important;
    z-index: 10001 !important;
    pointer-events: auto !important;
}

.chat-container.active {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

@keyframes chat-slide-up {
    0% {
        opacity: 0;
        transform: translateY(30px) scale(0.8);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.chat-header {
    background: linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 100%);
    color: #cccccc;
    padding: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #3a3a3a;
}

.chat-header h3 {
    font-size: 1.3em;
    display: flex;
    align-items: center;
    gap: 10px;
}

.chat-header-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    background: #f59e0b;
    border-radius: 6px;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cline x1='5' y1='5' x2='19' y2='19' stroke='black' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center;
    mask-size: 14px 14px;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cline x1='5' y1='5' x2='19' y2='19' stroke='black' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center;
    -webkit-mask-size: 14px 14px;
}

.status-dot {
    width: 8px;
    height: 8px;
    background: #888888;
    border-radius: 50%;
    animation: chat-pulse 2s infinite;
}

@keyframes chat-pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}

.close-chat {
    background: none;
    border: none;
    color: #FFFFFF;
    font-size: 26px;
    cursor: pointer;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    transition: background 0.3s ease;
}

.close-chat:hover {
    background: rgba(255, 255, 255, 0.2);
}

.chat-messages {
    flex: 1;
    padding: 22px;
    overflow-y: auto;
    background: #0a0a0a;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    box-sizing: border-box;
}

.message {
    margin-bottom: 16px;
    display: flex !important;
    gap: 9px;
    animation: chat-fade-in 0.3s ease;
    align-items: flex-start;
    width: 100% !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
}

@keyframes chat-fade-in {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.message.bot {
    flex-direction: row;
    justify-content: flex-start;
}

.message.user {
    flex-direction: row-reverse;
    justify-content: flex-end;
}

.message-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
    background: transparent;
    border: none;
}

.message-content {
    max-width: 70% !important;
    min-width: 0;
    padding: 13px 17px;
    border-radius: 15px;
    line-height: 1.55;
    font-size: 14.5px;
    word-wrap: break-word;
    display: block !important;
    color: #cccccc;
    flex-shrink: 1;
    box-sizing: border-box;
}

.message.bot .message-content {
    background: #2a2a2a;
    border: 1px solid #3a3a3a;
    border-bottom-left-radius: 5px;
}

.message.user .message-content {
    background: #1a1a1a;
    border: 1px solid #3a3a3a;
    border-bottom-right-radius: 5px;
}

.chat-input-container {
    padding: 22px !important;
    background: #1a1a1a !important;
    border-top: 1px solid #3a3a3a !important;
    pointer-events: auto !important;
    z-index: 10002 !important;
    position: relative !important;
}

.chat-input-wrapper {
    display: flex !important;
    gap: 10px !important;
    pointer-events: auto !important;
    z-index: 10002 !important;
    position: relative !important;
}

.chat-input {
    flex: 1 !important;
    padding: 13px 17px !important;
    border: 2px solid #3a3a3a !important;
    border-radius: 25px !important;
    font-size: 14.5px !important;
    outline: none !important;
    background: #0a0a0a !important;
    color: #cccccc !important;
    transition: border-color 0.3s ease !important;
    pointer-events: auto !important;
    z-index: 10002 !important;
    position: relative !important;
}

.chat-input::placeholder {
    color: #666666;
}

.chat-input:focus {
    border-color: #5a5a5a;
}

.send-button {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 100%);
    border: 2px solid #3a3a3a;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.send-button:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 15px rgba(255, 255, 255, 0.1);
    border-color: #4a4a4a;
}

.send-button:active {
    transform: scale(0.95);
}

.send-button svg {
    width: 21px;
    height: 21px;
    fill: #FFFFFF;
}

.quick-questions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.quick-question-btn {
    padding: 9px 15px;
    background: #2a2a2a;
    border: 1px solid #3a3a3a;
    border-radius: 20px;
    font-size: 12.5px;
    cursor: pointer;
    transition: all 0.3s ease;
    color: #888888;
    font-weight: 500;
}

.quick-question-btn:hover {
    background: #3a3a3a;
    color: #cccccc;
    border-color: #4a4a4a;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 255, 255, 0.05);
}

.quick-question-btn:active {
    transform: translateY(0);
}

/* Chat Subscription Section */
.chat-subscription-section {
    padding: 15px 20px;
    background: transparent;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.chat-subscription-section.hidden {
    display: none;
}

.chat-timer-display {
    font-size: 20px;
    font-weight: 700;
    color: #FFFFFF;
    font-family: 'Raleway', sans-serif;
    letter-spacing: 2px;
    margin: 0;
    text-align: center;
    width: 100%;
}

/* Chat Expired Overlay - Black screen inside chat */
.chat-expired-overlay {
    pointer-events: none; /* Allow clicks to pass through to chat */
    position: absolute;
    inset: 0;
    background: #000000;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    z-index: 10;
    padding: 40px 20px 40px;
    padding-top: 127px;
}

.chat-expired-overlay.hidden {
    display: none;
}

.chat-expired-content {
    text-align: center;
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    padding: 0 20px;
    pointer-events: auto !important; /* Allow clicks on payment buttons */
    position: relative;
    z-index: 10001;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    margin-top: 0;
}

.chat-expired-text {
    font-size: 22px;
    font-weight: 700;
    color: #FFFFFF;
    font-family: 'Raleway', sans-serif;
    margin-bottom: 40px;
    line-height: 1.5;
    text-align: center;
    width: 100%;
}

.chat-expired-btn {
    padding: 12px 28px;
    border-radius: 8px;
    border: none;
    font-size: 16px;
    font-weight: 700;
    font-family: 'Raleway', sans-serif;
    cursor: pointer;
    background: #2a2a2a;
    color: #FFFFFF;
    border: 1px solid #3a3a3a;
    transition: all 0.2s ease;
    width: 100%;
    max-width: 300px;
}

.chat-expired-btn:hover {
    background: #3a3a3a;
    border-color: #4a4a4a;
    transform: translateY(-2px);
}

.chat-expired-btn:active {
    transform: translateY(0);
}

.chat-expired-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.payment-method-buttons {
    display: flex;
    flex-direction: column;
    gap: 35px;
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
    align-items: center;
    justify-content: center;
}

.payment-method-btn {
    padding: 12px 28px;
    border-radius: 8px;
    border: none;
    font-size: 16px;
    font-weight: 700;
    pointer-events: auto !important;
    cursor: pointer !important;
    font-family: 'Raleway', sans-serif;
    cursor: pointer;
    pointer-events: auto !important;
    position: relative;
    z-index: 10004;
    background: #2a2a2a;
    color: #FFFFFF;
    border: 1px solid #3a3a3a;
    transition: all 0.2s ease;
    width: 100%;
}

.payment-method-btn:hover:not(:disabled) {
    background: #3a3a3a;
    border-color: #4a4a4a;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 255, 255, 0.1);
}

.payment-method-btn:active:not(:disabled) {
    transform: translateY(0);
}

.payment-method-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

@media (max-width: 480px) {
    .chat-container {
        width: calc(100vw - 40px);
        height: calc(100vh - 120px);
        right: 20px;
    }
}


/* ========== MODULES STYLES ========== */
.modules-container {
    max-width: 1400px;
    margin: 0 auto;
}

.main-title {
    text-align: center;
    font-size: 2.5rem;
    font-weight: bold;
    color: #ffffff;
    margin-bottom: 50px;
    text-shadow: 0 0 20px rgba(255, 255, 255, 0.5);
    position: relative;
    z-index: 100 !important; /* Заголовок всегда поверх открытых блоков */
    pointer-events: none; /* Позволяет кликам проходить сквозь заголовок */
}

/* Drawer Module Styles */
.drawer-container {
    margin-bottom: 60px;
    perspective: 1000px;
    position: relative;
    z-index: 1; /* Блоки ниже заголовка */
}

.drawer {
    background: rgba(0, 0, 0, 0.6);
    border: 2px solid rgba(255, 0, 0, 0.3);
    border-radius: 15px;
    overflow: hidden;
    transition: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
    position: relative;
}

/* Уникальный дизайн для FREE блока (drawerA) - ЗОЛОТОЙ когда закрыт */
#drawerA {
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.7) 0%, rgba(20, 10, 0, 0.8) 100%);
    border: 3px solid rgba(255, 215, 0, 0.6);
    box-shadow: 
        0 10px 40px rgba(0, 0, 0, 0.5),
        0 0 30px rgba(255, 215, 0, 0.3),
        inset 0 0 20px rgba(255, 215, 0, 0.1);
    position: relative;
    transition: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

#drawerA::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(45deg, 
        rgba(255, 215, 0, 0.8) 0%,
        rgba(255, 255, 0, 0.6) 25%,
        rgba(255, 215, 0, 0.8) 50%,
        rgba(255, 255, 0, 0.6) 75%,
        rgba(255, 215, 0, 0.8) 100%);
    background-size: 200% 200%;
    border-radius: 15px;
    z-index: -1;
    animation: goldShimmer 3s ease-in-out infinite;
    opacity: 0.7;
    transition: opacity 0.5s ease;
}

#drawerA::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 50% 0%, rgba(255, 215, 0, 0.2) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
    transition: opacity 0.5s ease;
}

@keyframes goldShimmer {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Когда блок открыт - становится КРАСНЫМ как другие блоки */
#drawerA.open {
    transform: scale(1.02);
    background: rgba(0, 0, 0, 0.6); /* Стандартный фон как у других блоков */
    border: 2px solid rgba(255, 0, 0, 0.3); /* Красная рамка как у других */
    box-shadow: 0 25px 70px rgba(255, 0, 0, 0.5); /* Красное свечение */
    margin-top: 20px;
    transition: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* Скрываем золотые эффекты когда блок открыт */
#drawerA.open::before {
    opacity: 0;
    animation: none;
}

#drawerA.open::after {
    opacity: 0;
}

.drawer.open {
    transform: scale(1.02);
    box-shadow: 0 25px 70px rgba(255, 0, 0, 0.5);
    margin-top: 20px;
}

.drawer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(255, 0, 0, 0.1) 0%, transparent 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.drawer.open::before {
    opacity: 1;
}

.drawer-header {
    background: rgba(255, 0, 0, 0.2);
    padding: 25px 30px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid rgba(255, 0, 0, 0.3);
    transition: all 0.3s ease;
    position: relative;
    z-index: 2;
}

/* Уникальный дизайн заголовка для FREE блока - ЗОЛОТОЙ когда закрыт */
#drawerA .drawer-header {
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.15) 0%, rgba(255, 200, 0, 0.25) 100%);
    border-bottom: 3px solid rgba(255, 215, 0, 0.5);
    box-shadow: 0 2px 15px rgba(255, 215, 0, 0.3);
    position: relative;
    overflow: hidden;
    transition: all 0.5s ease;
}

#drawerA .drawer-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    animation: headerShine 3s infinite;
    transition: opacity 0.5s ease;
}

@keyframes headerShine {
    0% { left: -100%; }
    100% { left: 100%; }
}

#drawerA .drawer-header:hover {
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.25) 0%, rgba(255, 200, 0, 0.35) 100%);
    box-shadow: 0 4px 20px rgba(255, 215, 0, 0.5);
    transform: translateY(0);
}

/* Когда блок открыт - заголовок становится КРАСНЫМ как у других блоков */
#drawerA.open .drawer-header {
    background: rgba(255, 0, 0, 0.2); /* Стандартный красный фон */
    border-bottom: 2px solid rgba(255, 0, 0, 0.3); /* Красная граница */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    transition: all 0.5s ease;
}

#drawerA.open .drawer-header::before {
    opacity: 0;
    animation: none;
}

#drawerA.open .drawer-header:hover {
    background: rgba(255, 0, 0, 0.3); /* Красный hover */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.drawer-header:hover {
    background: rgba(255, 0, 0, 0.3);
    transform: translateY(2px);
}

.drawer.open .drawer-header {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.drawer.open .drawer-header:hover {
    transform: translateY(0);
}

/* Анимация пульсации для FREE бейджа */
@keyframes badgePulse {
    0%, 100% {
        box-shadow: 0 0 15px rgba(255, 215, 0, 0.6), inset 0 0 10px rgba(255, 255, 255, 0.3);
        transform: scale(1);
    }
    50% {
        box-shadow: 0 0 25px rgba(255, 215, 0, 0.9), inset 0 0 15px rgba(255, 255, 255, 0.5);
        transform: scale(1.05);
    }
}

.drawer-header h2 {
    color: #ffffff;
    font-size: 1.8rem;
    font-weight: bold;
}

.drawer-icon {
    font-size: 2rem;
    color: #ffffff;
    transition: transform 0.4s ease;
}

.drawer.open .drawer-icon {
    transform: rotate(180deg);
}

.drawer-content {
    max-height: 0;
    overflow: hidden;
    transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
    background: rgba(0, 0, 0, 0.4);
    transform: translateY(-20px);
    opacity: 0;
    position: relative;
    z-index: 1;
}

.drawer.open .drawer-content {
    max-height: 5000px;
    padding: 30px;
    transform: translateY(0);
    opacity: 1;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    color: #ff6666;
    margin-bottom: 8px;
    font-weight: bold;
}

.form-group select, .form-group input, .form-group textarea {
    width: 100%;
    padding: 12px;
    background: rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(255, 0, 0, 0.3);
    border-radius: 5px;
    color: #ffffff;
    font-size: 0.9rem;
}

.form-group input:focus, .form-group select:focus, .form-group textarea:focus {
    outline: none;
    border-color: #ff0000;
    box-shadow: 0 0 10px rgba(255, 0, 0, 0.3);
}

.form-group input[type="range"] {
    padding: 0;
}

.section-box {
    background: rgba(255, 0, 0, 0.1);
    border: 1px solid rgba(255, 0, 0, 0.3);
    border-radius: 10px;
    padding: 25px;
    margin-bottom: 20px;
}

.section-box h4 {
    color: #ffffff;
    margin-bottom: 20px;
    font-size: 1.3rem;
}

/* Module C: ALL headers STRICTLY centered */
.module-c-content .section-box h4,
.module-c-content .section-box-header,
.section-box-header {
    text-align: center !important;
}

.module-c-content .section-title {
    text-align: center !important;
}

.module-c-content .form-group label {
    text-align: center !important;
    display: block;
}

.assignment-3-box label {
    text-align: center !important;
    display: block;
}

.module-c-content .form-group small {
    text-align: center;
    display: block;
}

.assignment-3-box {
    background: rgba(255, 165, 0, 0.08);
    border: 2px solid rgba(255, 165, 0, 0.3);
    border-radius: 12px;
    padding: 25px;
    margin-bottom: 20px;
}

.assignment-3-box .section-box-header {
    color: #ffa500;
    font-size: 1.4rem;
    margin-bottom: 20px;
}

.mini-summary-card {
    background: rgba(0, 0, 0, 0.5);
    border: 2px solid rgba(255, 165, 0, 0.3);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 15px;
    text-align: center;
}

.mini-summary-card h5 {
    color: #ffa500 !important;
}

.mini-summary-card > div {
    color: #ffffff;
    line-height: 1.7;
    font-size: 1rem;
}

/* Assignment 4: Strategy in numbers */
.assignment-4-box {
    background: linear-gradient(135deg, rgba(0, 100, 0, 0.08) 0%, rgba(255, 165, 0, 0.08) 50%, rgba(255, 0, 0, 0.05) 100%);
    border: 2px solid rgba(255, 165, 0, 0.4);
    border-radius: 16px;
    padding: 25px;
    margin: 25px 0;
    box-shadow: 0 0 30px rgba(255, 165, 0, 0.15);
}

.assignment-4-card {
    background: rgba(0, 0, 0, 0.5);
    border: 2px solid rgba(255, 255, 255, 0.15);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
    transition: all 0.3s ease;
}

.assignment-4-card:hover {
    border-color: rgba(255, 165, 0, 0.4);
    box-shadow: 0 0 20px rgba(255, 165, 0, 0.1);
}

.assignment-4-card:last-child {
    margin-bottom: 0;
}

@media (max-width: 600px) {
    .money-sim-grid {
        grid-template-columns: 1fr !important;
    }
}

/* aiScenarioResult - header centered via parent, content left for readability */

.module-c-content .result-box,
.module-c-content #experimentAnalysis,
.module-c-content #aiAdviceBox {
    text-align: center;
}

.btn {
    padding: 12px 30px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1rem;
    font-weight: bold;
    transition: all 0.3s ease;
    margin-top: 10px;
}

.btn-red {
    background: linear-gradient(135deg, #ff0000, #cc0000);
    color: white;
}

.btn-red:hover {
    background: linear-gradient(135deg, #ff3333, #ff0000);
    transform: scale(1.05);
}

.btn-black {
    background: linear-gradient(135deg, #000000, #333333);
    color: white;
    border: 1px solid rgba(255, 0, 0, 0.3);
}

.btn-black:hover {
    background: linear-gradient(135deg, #1a1a1a, #000000);
    transform: scale(1.05);
}

.result-box {
    background: rgba(0, 0, 0, 0.5);
    padding: 20px;
    border-radius: 8px;
    margin-top: 15px;
    border-left: 4px solid #ffffff;
}

.chart-container {
    width: 100%;
    height: 300px;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 8px;
    margin-top: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
}

.strategy-card {
    background: rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(255, 0, 0, 0.3);
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 15px;
}

.strategy-card h5 {
    color: #ffffff;
    margin-bottom: 10px;
    font-size: 1.2rem;
}

.experiment-item {
    background: rgba(255, 0, 0, 0.1);
    border: 1px solid rgba(255, 0, 0, 0.3);
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.experiment-item:hover {
    background: rgba(255, 0, 0, 0.2);
    transform: translateX(5px);
}

.section-title {
    color: #ffffff;
    font-size: 1.2rem;
    margin-bottom: 15px;
    border-bottom: 2px solid rgba(255, 255, 255, 0.3);
    padding-bottom: 5px;
}

/* Module A - Trading Simulator Styles */
.trading-interface {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 25px;
}

.portfolio-section {
    background: rgba(255, 0, 0, 0.1);
    padding: 20px;
    border-radius: 10px;
    border: 1px solid rgba(255, 0, 0, 0.3);
    line-height: 1.6; /* Улучшенное расстояние между строчками */
}

.portfolio-section h3 {
    color: #ffffff;
    margin-bottom: 20px; /* Увеличен отступ */
    line-height: 1.5;
}

.portfolio-input-wrapper {
    margin-bottom: 15px;
    line-height: 1.6;
}

.portfolio-input {
    width: 100%;
    max-width: 300px;
    padding: 12px 15px;
    font-size: 1.1rem;
    font-weight: bold;
    color: #ffffff;
    background: rgba(0, 0, 0, 0.4);
    border: 2px solid rgba(255, 0, 0, 0.3);
    border-radius: 8px;
    margin-bottom: 12px;
    transition: all 0.3s ease;
    line-height: 1.5;
}

.portfolio-input:focus {
    outline: none;
    border-color: #ff0000;
    box-shadow: 0 0 10px rgba(255, 0, 0, 0.5);
    background: rgba(0, 0, 0, 0.6);
}

.portfolio-input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.portfolio-value {
    font-size: 2rem;
    font-weight: bold;
    color: #ff0000;
    margin-top: 10px;
    line-height: 1.4;
}

.profit-loss {
    line-height: 1.6;
    color: #ffffff;
}

.profit-loss {
    margin-top: 10px;
    padding: 10px;
    border-radius: 5px;
    font-weight: bold;
}

.positive {
    background: rgba(255, 0, 0, 0.2);
    color: #ff0000;
}

.negative {
    background: rgba(255, 0, 0, 0.2);
    color: #ff6666;
}

.coins-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 15px;
    margin-top: 15px;
}

.coin-card {
    background: rgba(0, 0, 0, 0.6);
    border: 2px solid rgba(255, 0, 0, 0.3);
    border-radius: 12px;
    padding: 20px;
    transition: all 0.3s ease;
    text-align: left;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.coin-card:hover {
    background: rgba(255, 0, 0, 0.15);
    transform: translateY(-5px);
    border-color: rgba(255, 0, 0, 0.6);
    box-shadow: 0 8px 25px rgba(255, 0, 0, 0.3);
}

.coin-card h4 {
    color: #ffffff;
    margin-bottom: 10px;
    text-align: center;
}

.percentage-slider {
    width: 100%;
    margin-top: 10px;
    -webkit-appearance: none;
    appearance: none;
    height: 8px;
    background: rgba(255, 0, 0, 0.2);
    border-radius: 5px;
    outline: none;
}

.percentage-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #ff0000;
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(255, 0, 0, 0.5);
}

.percentage-slider::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #ff0000;
    cursor: pointer;
    border: none;
    box-shadow: 0 2px 5px rgba(255, 0, 0, 0.5);
}

.selected-coins-list {
    margin-top: 15px;
}

.selected-coin-item {
    background: rgba(255, 0, 0, 0.1);
    border: 1px solid rgba(255, 0, 0, 0.3);
    border-radius: 8px;
    padding: 10px;
    margin-bottom: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ai-recommendations {
    background: rgba(255, 0, 0, 0.1);
    border: 1px solid rgba(255, 0, 0, 0.3);
    border-radius: 10px;
    padding: 30px;
    margin-top: 20px;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.ai-recommendations h4 {
    color: #ffffff;
    margin-bottom: 15px;
}

.recommendation-item {
    background: rgba(0, 0, 0, 0.6);
    padding: 25px;
    border-radius: 12px;
    margin-bottom: 10px;
    border-left: 4px solid #ffd700;
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.2);
    min-height: auto;
    max-height: none;
    height: auto;
    overflow-y: visible;
    overflow-x: hidden;
    width: 100%;
    box-sizing: border-box;
    word-wrap: break-word; /* Перенос длинных слов */
    word-break: break-word; /* Перенос при необходимости */
}

.recommendation-item p {
    color: #ffffff !important;
    font-weight: bold !important;
    line-height: 1.9;
    margin: 10px 0;
    font-size: 1.05em !important;
    text-align: left !important;
}

.recommendation-item h3,
.recommendation-item h4,
.recommendation-item h5 {
    color: #ffd700 !important;
    font-weight: bold !important;
    margin-top: 20px;
    margin-bottom: 15px;
    text-align: left !important;
}

.recommendation-item h3 {
    font-size: 1.4em !important;
}

.recommendation-item h4 {
    font-size: 1.3em !important;
}

.recommendation-item h5 {
    font-size: 1.2em !important;
}

.recommendation-item strong {
    color: #ffd700 !important;
    font-weight: bold !important;
    font-size: 1.1em !important;
}

.recommendation-item em {
    color: #ffaaaa !important;
    font-style: italic !important;
}

.recommendation-item div {
    margin: 10px 0;
    padding: 8px 0;
    text-align: left !important;
}

.ai-recommendations p {
    color: #ffffff !important;
    font-weight: bold !important;
    text-align: left !important;
}

#recommendationsContent {
    min-height: 100px;
    max-height: 1500px; /* Максимальная высота для скролла */
    height: auto;
    overflow-y: auto !important; /* Включаем скролл */
    overflow-x: hidden;
    width: 100%;
    text-align: left !important;
    padding-right: 10px; /* Отступ для скроллбара */
    /* Стилизация скроллбара */
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 0, 0, 0.6) rgba(0, 0, 0, 0.2);
}

/* Стилизация скроллбара для WebKit браузеров (Chrome, Safari) */
#recommendationsContent::-webkit-scrollbar {
    width: 14px;
}

#recommendationsContent::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    margin: 5px 0;
}

#recommendationsContent::-webkit-scrollbar-thumb {
    background: rgba(255, 0, 0, 0.6);
    border-radius: 10px;
    border: 2px solid rgba(0, 0, 0, 0.2);
}

#recommendationsContent::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 0, 0, 0.8);
}

#recommendationsContent p {
    color: #ffffff !important;
    font-weight: bold !important;
    text-align: left !important;
}

.leaderboard {
    background: rgba(255, 0, 0, 0.1);
    border: 1px solid rgba(255, 0, 0, 0.3);
    border-radius: 10px;
    padding: 20px;
    margin-top: 20px;
}

.leaderboard h4 {
    color: #ffffff;
    margin-bottom: 15px;
}

.leaderboard-item {
    background: rgba(0, 0, 0, 0.5);
    padding: 10px;
    border-radius: 5px;
    margin-bottom: 5px;
    display: flex;
    justify-content: space-between;
}

/* Portfolio Graph Styles */
#portfolioGraphContainer {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 0, 0, 0.3);
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
}

#portfolioGraph {
    max-height: 400px;
}

#portfolioSelector input[type="text"],
#portfolioSelector select {
    color: #ffffff;
}

#portfolioSelector input[type="text"]::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

/* Module B - Mentor Panel Styles */
.profile-section {
    background: rgba(255, 0, 0, 0.1);
    border: 1px solid rgba(255, 0, 0, 0.3);
    border-radius: 10px;
    padding: 25px;
    margin-bottom: 20px;
}

.profile-section h4 {
    color: #ffffff;
    margin-bottom: 20px;
    font-size: 1.3rem;
}

.daily-advice {
    background: rgba(255, 0, 0, 0.1);
    border: 1px solid rgba(255, 0, 0, 0.3);
    border-radius: 10px;
    padding: 25px;
    margin-bottom: 20px;
}

.daily-advice h4 {
    color: #ffffff;
    margin-bottom: 15px;
    font-size: 1.3rem;
}

.advice-text {
    background: rgba(0, 0, 0, 0.5);
    padding: 15px;
    border-radius: 8px;
    line-height: 1.6;
    font-style: italic;
}

.mood-section {
    background: rgba(255, 0, 0, 0.1);
    border: 1px solid rgba(255, 0, 0, 0.3);
    border-radius: 10px;
    padding: 25px;
}

.mood-section h4 {
    color: #ffffff;
    margin-bottom: 15px;
    font-size: 1.3rem;
}

.mood-result {
    background: rgba(0, 0, 0, 0.5);
    padding: 15px;
    border-radius: 8px;
    margin-top: 15px;
    border-left: 4px solid #ffffff;
}

/* Payment status indicator animation */
@keyframes pulseGlow {
    0% {
        box-shadow: 0 0 5px #ff0000;
    }
    50% {
        box-shadow: 0 0 15px #ff0000, 0 0 20px #ff0000;
    }
    100% {
        box-shadow: 0 0 5px #ff0000;
    }
}

@media (max-width: 768px) {
    .main-title {
        font-size: 1.5rem;
    }

    .drawer-header h2 {
        font-size: 1.2rem;
    }

    .trading-interface {
        grid-template-columns: 1fr;
    }

    .coins-grid {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    }
}
