@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@400;500;600;700&display=swap'); :root { /* Основные цвета */ --primary-color: #0a0c1b; /* Глубокий темно-синий фон */ --secondary-color: #151933; /* Темно-синий вторичный */ --accent-color: #7b5dfa; /* Яркий фиолетовый акцент */ --accent-hover: #6344e8; /* Фиолетовый при наведении */ /* Текст */ --text-color: #e2e4f3; /* Светлый текст */ --text-muted: #8f94b6; /* Приглушенный текст */ /* Редкости предметов */ --common-color: #8892b0; /* Обычный */ --rare-color: #4d9fff; /* Редкий */ --epic-color: #c26eff; /* Эпический */ --legendary-color: #ffd056; /* Легендарный */ --divine-color: #36d1dc; /* Божественный */ /* Кнопки и интерактивные элементы */ --button-color: #1f2342; /* Цвет кнопок */ --button-hover: #272b4e; /* Кнопки при наведении */ --button-active: #2f345a; /* Кнопки при нажатии */ /* Градиенты */ --gradient-primary: linear-gradient(135deg, #151933, #0a0c1b); --gradient-accent: linear-gradient(135deg, #7b5dfa, #6344e8); --gradient-rare: linear-gradient(135deg, #4d9fff, #3d7fe6); --gradient-epic: linear-gradient(135deg, #c26eff, #a44dff); --gradient-legendary: linear-gradient(135deg, #ffd056, #ffbd1f); --gradient-divine: linear-gradient(135deg, #36d1dc, #5b86e5); /* Тени и свечение */ --neon-shadow: 0 0 10px rgba(123, 93, 250, 0.3), 0 0 20px rgba(123, 93, 250, 0.2); --box-shadow: 0 4px 6px rgba(0, 0, 0, 0.25); --hover-shadow: 0 6px 8px rgba(0, 0, 0, 0.35); /* Дополнительные цвета */ --success-color: #5cd6ff; /* Успех - голубой */ --warning-color: #ffb84d; /* Предупреждение */ --error-color: #ff5d6c; /* Ошибка */ --info-color: #4d9fff; /* Информация */ /* Границы */ --border-color: #1f2342; /* Цвет границ */ --border-radius: 10px; /* Скругление углов */ /* Прозрачности */ --overlay-bg: rgba(10, 12, 27, 0.85); /* Фон оверлея */ --modal-bg: rgba(21, 25, 51, 0.95); /* Фон модального окна */ /* Дополнительные акценты */ --highlight-color: #9d85ff; /* Цвет выделения */ --link-color: #7b5dfa; /* Цвет ссылок */ --link-hover: #6344e8; /* Цвет ссылок при наведении */ } * { margin: 0; padding: 0; box-sizing: border-box; } body { margin: 0; padding: 0; background: var(--primary-color); background-image: radial-gradient(circle at 10% 20%, rgba(0, 255, 163, 0.05) 0%, transparent 50%), radial-gradient(circle at 90% 80%, rgba(0, 149, 255, 0.05) 0%, transparent 50%); color: var(--text-color); font-family: 'Rajdhani', sans-serif; min-height: 100vh; padding-bottom: 60px; line-height: 1.6; } #loading-screen { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: var(--primary-color); display: flex; flex-direction: column; justify-content: center; align-items: center; z-index: 1000; } .loader { width: 60px; height: 60px; border: 3px solid transparent; border-top: 3px solid var(--accent-color); border-right: 3px solid var(--accent-color); border-radius: 50%; animation: spin 1s linear infinite; box-shadow: var(--neon-shadow); } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .rarity-btn.divine { background: var(--gradient-divine); box-shadow: 0 0 15px rgba(255, 61, 135, 0.4); animation: divine-pulse 2s infinite; } .rarity-btn.divine i { animation: divine-rotate 3s infinite; } @keyframes divine-pulse { 0% { box-shadow: 0 0 15px rgba(255, 61, 135, 0.4); } 50% { box-shadow: 0 0 25px rgba(255, 61, 135, 0.6); } 100% { box-shadow: 0 0 15px rgba(255, 61, 135, 0.4); } } @keyframes divine-rotate { 0% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(180deg) scale(1.2); } 100% { transform: rotate(360deg) scale(1); } } /* Стиль для карточек божественных видеокарт */ .gpu-card.divine { background: var(--gradient-divine); border: 2px solid #36d1dc; box-shadow: 0 0 20px rgba(54, 209, 220, 0.3); } .gpu-card.divine:hover { transform: translateY(-5px) scale(1.02); box-shadow: 0 0 30px rgba(54, 209, 220, 0.4); } .gpu-card.divine::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent); animation: divine-shine 2s infinite; } @keyframes divine-shine { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } } .loading-text { margin-top: 20px; color: var(--accent-color); font-size: 20px; text-transform: uppercase; letter-spacing: 2px; animation: pulse 1.5s infinite; } .modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); z-index: 1000; justify-content: center; align-items: center; backdrop-filter: blur(5px); } .modal-content { background: var(--gradient-primary); padding: 30px; border-radius: 15px; text-align: center; max-width: 500px; position: relative; border: 1px solid var(--accent-color); box-shadow: var(--neon-shadow); backdrop-filter: blur(10px); } .gift-animation { position: relative; height: 200px; margin: 20px 0; } .confetti { position: absolute; width: 100%; height: 100%; pointer-events: none; } .gift-card { background: var(--gradient-primary); padding: 20px; border-radius: 15px; display: inline-block; animation: bounce 1s ease infinite; border: 1px solid var(--accent-color); box-shadow: var(--neon-shadow); } @keyframes bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } } .header { display: flex; justify-content: space-between; align-items: center; padding: 20px; background: var(--gradient-primary); border-bottom: 1px solid rgba(0, 255, 163, 0.2); box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2); } .logo { font-size: 28px; font-weight: 700; background: var(--gradient-accent); -webkit-background-clip: text; -webkit-text-fill-color: transparent; text-shadow: var(--neon-shadow); } .info-button { background: var(--gradient-primary); color: var(--text-color); border: 1px solid var(--accent-color); padding: 12px 24px; border-radius: 8px; cursor: pointer; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; transition: all 0.3s ease; } .info-button:hover { background: var(--gradient-accent); color: var(--primary-color); transform: translateY(-2px); box-shadow: var(--neon-shadow); } .notification { display: none; position: fixed; top: 20px; right: 20px; background: rgba(10, 14, 23, 0.95); color: var(--text-color); padding: 15px 25px; border-radius: 10px; z-index: 1000; animation: slideIn 0.3s ease-out; border: 1px solid var(--accent-color); box-shadow: var(--neon-shadow); backdrop-filter: blur(10px); } .notification-content { transition: all 0.3s ease; will-change: transform, opacity; } `; @keyframes slideIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } } .tabs { display: flex; background: var(--gradient-primary); padding: 15px; position: sticky; top: 0; z-index: 100; border-bottom: 1px solid rgba(0, 255, 163, 0.2); justify-content: center; gap: 10px; } .tab-button { background: var(--gradient-primary); color: var(--text-color); border: 1px solid var(--accent-color); padding: 12px 24px; border-radius: 8px; cursor: pointer; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; transition: all 0.3s ease; min-width: 120px; } .tab-button:hover, .tab-button.active { background: var(--gradient-accent); color: var(--primary-color); transform: translateY(-2px); box-shadow: var(--neon-shadow); } #bitcoin-chart { width: 100%; max-width: 800px; height: 400px; background: var(--gradient-primary); border-radius: 15px; padding: 20px; box-shadow: var(--neon-shadow); margin: 40px auto; } .tab-content { display: none; padding: 20px; animation: fadeIn 0.5s ease; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .tab-content.active { display: block; } .stats-container { display: flex; justify-content: space-around; margin: 20px auto; background: var(--gradient-primary); padding: 25px; border-radius: 15px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); border: 1px solid rgba(0, 255, 163, 0.1); backdrop-filter: blur(4px); max-width: 800px; } .balance, .hashrate { font-size: 24px; font-weight: 600; text-shadow: 0 0 10px rgba(0, 255, 163, 0.5); display: flex; align-items: center; gap: 10px; } .btc-icon { width: 24px; height: 24px; filter: drop-shadow(0 0 5px var(--accent-color)); } .mining-area { display: flex; flex-direction: column; align-items: center; gap: 20px; margin-top: 30px; } #mining-animation-container { width: 300px; height: 200px; position: relative; overflow: hidden; background: rgba(0, 255, 163, 0.05); border-radius: 15px; border: 1px solid rgba(0, 255, 163, 0.2); box-shadow: var(--neon-shadow); } #mine-button { background: var(--gradient-primary); color: var(--text-color); border: 1px solid var(--accent-color); padding: 15px 30px; border-radius: 8px; cursor: pointer; font-size: 20px; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; transition: all 0.3s ease; } #mine-button:hover { background: var(--gradient-accent); color: var(--primary-color); transform: translateY(-2px) scale(1.05); box-shadow: var(--neon-shadow); } .bitcoin-particle { position: fixed; width: 25px; height: 25px; color: #f7931a; font-size: 24px; display: flex; align-items: center; justify-content: center; z-index: 1000; pointer-events: none; text-shadow: 0 0 10px rgba(247, 147, 26, 0.5); background: radial-gradient(circle, rgba(247, 147, 26, 0.2) 0%, transparent 70%); border-radius: 50%; user-select: none; } .bitcoin-particle::before { content: '₿'; position: absolute; animation: coinRotate 1s linear infinite; } #mining-animation-container { width: 300px; height: 200px; position: relative; overflow: visible; background: rgba(0, 255, 163, 0.05); border-radius: 15px; border: 1px solid rgba(0, 255, 163, 0.2); box-shadow: var(--neon-shadow); margin: 0 auto 20px auto; } @keyframes coinRotate { 0% { transform: rotateY(0deg); } 100% { transform: rotateY(360deg); } } .bitcoin-particle::after { content: ''; position: absolute; width: 100%; height: 100%; background: radial-gradient(circle, rgba(247, 147, 26, 0.4) 0%, transparent 70%); border-radius: 50%; animation: glowPulse 1s ease-in-out infinite; } @keyframes glowPulse { 0% { transform: scale(1); opacity: 0.5; } 50% { transform: scale(1.5); opacity: 0.2; } 100% { transform: scale(1); opacity: 0.5; } } @keyframes float { 0% { transform: translateY(200px) scale(0.5) rotate(0deg); opacity: 0; } 20% { opacity: 1; transform: translateY(150px) scale(1) rotate(90deg); } 80% { opacity: 1; } 100% { transform: translateY(-100px) scale(0.5) rotate(360deg); opacity: 0; } } /* Улучшенные стили для магазина GPU */ .rarity-selector { display: flex; justify-content: center; gap: 10px; margin: 20px 0; flex-wrap: wrap; } .rarity-btn { background: var(--gradient-primary); padding: 12px 24px; border-radius: 8px; cursor: pointer; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; transition: all 0.3s ease; min-width: 140px; } .rarity-btn.common { color: var(--common-color); border: 1px solid var(--common-color); box-shadow: 0 0 10px rgba(125, 125, 125, 0.3); } .rarity-btn.rare { color: var(--rare-color); border: 1px solid var(--rare-color); box-shadow: 0 0 10px rgba(0, 149, 255, 0.3); } .rarity-btn.epic { color: var(--epic-color); border: 1px solid var(--epic-color); box-shadow: 0 0 10px rgba(187, 0, 255, 0.3); } .rarity-btn.legendary { color: var(--legendary-color); border: 1px solid var(--legendary-color); box-shadow: 0 0 10px rgba(255, 215, 0, 0.3); } .rarity-btn:hover { transform: translateY(-2px); } .rarity-btn.common:hover { background: linear-gradient(135deg, rgba(125, 125, 125, 0.2), transparent); box-shadow: 0 0 20px rgba(125, 125, 125, 0.5); } .rarity-btn.rare:hover { background: linear-gradient(135deg, rgba(0, 149, 255, 0.2), transparent); box-shadow: 0 0 20px rgba(0, 149, 255, 0.5); } .rarity-btn.epic:hover { background: linear-gradient(135deg, rgba(187, 0, 255, 0.2), transparent); box-shadow: 0 0 20px rgba(187, 0, 255, 0.5); } .rarity-btn.legendary:hover { background: linear-gradient(135deg, rgba(255, 215, 0, 0.2), transparent); box-shadow: 0 0 20px rgba(255, 215, 0, 0.5); } .gpu-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; padding: 20px; max-width: 1200px; margin: 0 auto; } .gpu-card { background: var(--gradient-primary); border-radius: 15px; padding: 20px; display: flex; flex-direction: column; gap: 15px; transition: all 0.3s ease; position: relative; overflow: hidden; } .gpu-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), transparent); opacity: 0; transition: opacity 0.3s ease; } .gpu-card:hover::before { opacity: 1; } .gpu-card.common { border: 1px solid var(--common-color); animation: common-pulse 2s infinite; } .gpu-card.rare { border: 1px solid var(--rare-color); animation: rare-pulse 2s infinite; } .gpu-card.epic { border: 1px solid var(--epic-color); animation: epic-pulse 2s infinite; } .gpu-card.legendary { border: 1px solid var(--legendary-color); animation: legendary-pulse 2s infinite; } @keyframes common-pulse { 0% { box-shadow: 0 0 10px var(--common-color); } 50% { box-shadow: 0 0 20px var(--common-color), 0 0 30px var(--common-color); } 100% { box-shadow: 0 0 10px var(--common-color); } } @keyframes rare-pulse { 0% { box-shadow: 0 0 10px var(--rare-color); } 50% { box-shadow: 0 0 20px var(--rare-color), 0 0 30px var(--rare-color); } 100% { box-shadow: 0 0 10px var(--rare-color); } } @keyframes epic-pulse { 0% { box-shadow: 0 0 10px var(--epic-color); } 50% { box-shadow: 0 0 20px var(--epic-color), 0 0 30px var(--epic-color); } 100% { box-shadow: 0 0 10px var(--epic-color); } } @keyframes legendary-pulse { 0% { box-shadow: 0 0 10px var(--legendary-color); } 50% { box-shadow: 0 0 20px var(--legendary-color), 0 0 30px var(--legendary-color); } 100% { box-shadow: 0 0 10px var(--legendary-color); } } .gpu-name { font-size: 20px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; } .gpu-card.common .gpu-name { color: var(--common-color); } .gpu-card.rare .gpu-name { color: var(--rare-color); } .gpu-card.epic .gpu-name { color: var(--epic-color); } .gpu-card.legendary .gpu-name { color: var(--legendary-color); } .gpu-stats { font-size: 16px; line-height: 1.6; } .buy-button { background: var(--gradient-primary); color: var(--text-color); border: 1px solid var(--accent-color); padding: 12px 24px; border-radius: 8px; cursor: pointer; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; transition: all 0.3s ease; margin-top: auto; } .buy-button:hover { background: var(--gradient-accent); color: var(--primary-color); transform: translateY(-2px); box-shadow: var(--neon-shadow); } /* Стили для ферм */ .farms-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; padding: 20px; max-width: 1200px; margin: 0 auto; } .farm-card { background: var(--gradient-primary); border-radius: 15px; padding: 25px; transition: all 0.3s ease; border: 1px solid var(--accent-color); box-shadow: var(--neon-shadow); position: relative; overflow: hidden; } .farm-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), transparent); opacity: 0; transition: opacity 0.3s ease; } .farm-card:hover::before { opacity: 1; } .farm-card:hover { transform: translateY(-5px) scale(1.02); } .farm-name { font-size: 24px; font-weight: 700; color: var(--accent-color); margin-bottom: 15px; text-transform: uppercase; letter-spacing: 1px; text-shadow: 0 0 10px rgba(0, 255, 163, 0.5); } .farm-stats { margin: 15px 0; font-size: 16px; line-height: 1.6; } /* Настройки */ .settings-container { max-width: 800px; margin: 20px auto; padding: 20px; } .settings-card { background: var(--gradient-primary); border-radius: 15px; padding: 20px; margin-bottom: 20px; border: 1px solid var(--accent-color); box-shadow: var(--neon-shadow); } .settings-title { font-size: 24px; color: var(--accent-color); margin-bottom: 20px; text-transform: uppercase; letter-spacing: 1px; } .settings-option { display: flex; align-items: center; margin-bottom: 15px; gap: 10px; } .settings-label { font-size: 16px; font-weight: 500; } .color-picker { width: 50px; height: 50px; border: none; border-radius: 8px; cursor: pointer; background: none; } .color-picker::-webkit-color-swatch-wrapper { padding: 0; } .color-picker::-webkit-color-swatch { border: 2px solid var(--accent-color); border-radius: 6px; box-shadow: var(--neon-shadow); } /* Снежинки */ .snowflake { position: fixed; top: -10px; color: white; font-size: 1em; text-shadow: 0 0 5px rgba(255, 255, 255, 0.8); z-index: 1000; pointer-events: none; animation: snowfall linear infinite; opacity: 0; } @keyframes snowfall { 0% { transform: translateY(-10px) rotate(0deg); opacity: 1; } 100% { transform: translateY(100vh) rotate(360deg); opacity: 0; } } /* Футер */ footer { text-align: center; padding: 20px; background: var(--gradient-primary); color: var(--text-color); position: fixed; bottom: 0; width: 100%; z-index: 100; border-top: 1px solid rgba(0, 255, 163, 0.2); font-size: 14px; letter-spacing: 1px; backdrop-filter: blur(10px); } /* Медиа-запросы */ @media (max-width: 768px) { .tabs { flex-wrap: wrap; justify-content: center; gap: 10px; } .tab-button { width: calc(50% - 10px); min-width: unset; } .stats-container { flex-direction: column; gap: 15px; align-items: center; margin: 20px; } .gpu-grid, .farms-grid { grid-template-columns: 1fr; padding: 10px; } .modal-content { margin: 20px; max-width: calc(100% - 40px); } .rarity-selector { flex-direction: column; align-items: stretch; } .rarity-btn { width: 100%; } .mining-area { margin: 20px 10px; } #mining-animation-container { width: 100%; max-width: 300px; } .settings-container { padding: 10px; } } /* Анимации для всех интерактивных элементов */ button, .gpu-card, .farm-card { transition: all 0.3s ease; } button:active, .gpu-card:active, .farm-card:active { transform: scale(0.98); } /* Дополнительные эффекты для достижений */ .achievement { background: var(--gradient-primary); padding: 15px; border-radius: 10px; margin: 10px 0; border: 1px solid var(--accent-color); display: flex; align-items: center; gap: 15px; transition: all 0.3s ease; } .achievement:hover { transform: translateX(10px); box-shadow: var(--neon-shadow); } .achievement.achieved { background: var(--gradient-success); border-color: var(--success-color); } .achievement.not-achieved { background: var(--gradient-error); border-color: var(--error-color); opacity: 0.5; } .achievement-icon { width: 40px; height: 40px; background: var(--gradient-accent); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; } .achievement-info { flex: 1; } .achievement-name { font-weight: 700; color: var(--accent-color); margin-bottom: 5px; } .achievement-description { font-size: 14px; opacity: 0.8; } /* Улучшенные эффекты для кнопок */ .button-glow { position: relative; overflow: hidden; } .button-glow::after { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%); transform: rotate(45deg); transition: all 0.3s ease; opacity: 0; } .button-glow:hover::after { opacity: 1; transform: rotate(45deg) translate(-50%, -50%); } /* Дополнительные стили для статистики */ .stats-details { background: var(--gradient-primary); border-radius: 15px; padding: 25px; margin: 20px auto; max-width: 800px; border: 1px solid var(--accent-color); box-shadow: var(--neon-shadow); } .stats-details h2 { color: var(--accent-color); margin-bottom: 20px; text-transform: uppercase; letter-spacing: 1px; text-align: center; } .stats-details p { margin: 10px 0; font-size: 18px; display: flex; justify-content: space-between; padding: 10px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .stats-details p:last-child { border-bottom: none; } /* Улучшенные эффекты для чисел */ .number-glow { text-shadow: 0 0 10px var(--accent-color); transition: all 0.3s ease; } .number-glow:hover { text-shadow: 0 0 20px var(--accent-color); } pulse-animation { animation: pulse 2s infinite; } .spin-animation { animation: spin 2s linear infinite; } .float-animation { animation: float 3s ease-in-out infinite; } .bounce-animation { animation: bounce 1s ease infinite; } .shine-animation { animation: shine 2s linear infinite; } .swing-animation { animation: swing 2s infinite; } .rotate-animation { animation: rotate 2s linear infinite; } .rotate-3d { animation: rotate3d 3s linear infinite; } .spin-slow { animation: spin 4s linear infinite; } .glow-animation { animation: glow 2s ease-in-out infinite; } @keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.2); } 100% { transform: scale(1); } } @keyframes spin { 100% { transform: rotate(360deg); } } @keyframes float { 0% { transform: translateY(0px); } 50% { transform: translateY(-10px); } 100% { transform: translateY(0px); } } @keyframes bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } } @keyframes shine { 0% { opacity: 1; } 50% { opacity: 0.5; } 100% { opacity: 1; } } @keyframes swing { 20% { transform: rotate(15deg); } 40% { transform: rotate(-10deg); } 60% { transform: rotate(5deg); } 80% { transform: rotate(-5deg); } 100% { transform: rotate(0deg); } } .bottom-navigation { position: fixed; bottom: 0; left: 0; right: 0; background: rgba(10, 14, 23, 0.95); display: flex; justify-content: space-around; padding: 10px; box-shadow: 0 -2px 10px rgba(0, 255, 163, 0.2); z-index: 1000; } .bottom-navigation button { display: flex; flex-direction: column; align-items: center; background: none; border: none; color: #fff; padding: 8px 16px; transition: 0.3s; } .bottom-navigation button i { font-size: 24px; margin-bottom: 4px; } .bottom-navigation button span { font-size: 12px; } .bottom-navigation button:hover { color: #00ffa3; transform: translateY(-2px); } .header { display: flex; justify-content: space-between; align-items: center; padding: 15px 20px; background: rgba(10, 14, 23, 0.95); box-shadow: 0 2px 10px rgba(0, 255, 163, 0.2); } footer { margin-bottom: 70px; /* Добавляем отступ для footer, чтобы он не перекрывался с навигацией */ } @keyframes rotate { 100% { transform: rotate(360deg); } } @keyframes rotate3d { 0% { transform: perspective(1000px) rotateY(0deg); } 100% { transform: perspective(1000px) rotateY(360deg); } } @keyframes glow { 0% { text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #ffffff; } 50% { text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #ffffff; } 100% { text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #ffffff; } } /* Дополнительные анимации */ @keyframes pulse { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.6; } } @keyframes float-up { 0% { transform: translateY(0); } 50% { transform: translateY(-10px); } 100% { transform: translateY(0); } } @keyframes glow { 0% { box-shadow: 0 0 5px var(--accent-color); } 50% { box-shadow: 0 0 20px var(--accent-color); } 100% { box-shadow: 0 0 5px var(--accent-color); } }