html {
  box-sizing: border-box;
}
*, *:before, *:after {
  box-sizing: inherit;
}

.screen {
display: none;
}	

.pwa-mode .mobile-hidden {
  display: none !important; /* Скрываем элемент */
}	

/* По умолчанию скрыто */
#installButton {
  display: none;
}

@media screen and (max-width: 1000px) {
  h1 { font-size: 26px; margin: 20px 10px; }
  #volume-display { font-size: 50px; margin-bottom: 50px; }
  .controls-container { gap: 60px; }
  .tx { margin-top: 100px; padding: 0 10px; }
}

        .play-pause-container {
            display: flex;
            justify-content: center;
            margin: 20px 0;
        }

        #playPauseBtn {
            width: 130px;
            height: 130px;
            border-radius: 50%;
            border: 7px solid #ece5e4;
            background-color: rgba(255, 255, 255, 0.1);
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s ease;
            outline: none;
            box-shadow: 0 10px 20px rgba(0,0,0,0.2);
            position: relative;
        }

        #playPauseBtn:hover {
            transform: scale(1.05);
            background-color: rgba(255, 255, 255, 0.4);
        }

        /* Отрисовка символа Play (треугольник) */
        .icon-play {
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 30px 0 30px 60px;
            border-color: transparent transparent transparent #ece5e4;
            margin-left: 15px; /* Смещение для центровки визуально */
        }

        /* Отрисовка символа Pause (две полоски) */
        .icon-pause {
            display: none;
            width: 50px;
            height: 80px;
            justify-content: space-between;
        }

        .icon-pause::before, .icon-pause::after {
            content: '';
            width: 20px;
            height: 80px;
            background-color: rgba(255, 255, 255, 0.9);
            border-radius: 5px;
        }

        /* Класс, который будет добавляться при проигрывании */
        #playPauseBtn.playing .icon-play {
            display: none;
        }

        #playPauseBtn.playing .icon-pause {
            display: flex;
        }

        #playPauseBtn.playing {
            background-color: rgba(46, 72, 157, 0.1);
        }

.play-pause-container {
    position: relative;
    z-index: 1;
}

.music-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 140px;
    height: 100px;
    background: conic-gradient(from 0deg, #ff0055, #0099ff, #00ff88, #ffcc00, #ff0055);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    filter: blur(25px);
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
    z-index: -1;

}
.music-glow.active {
    opacity: 0.8;
}

.vizualiz {
position: fixed; /* Фиксируем элемент относительно окна браузера */
z-index: -1; /* Устанавливаем высокий z-index, чтобы элемент был поверх других */	
}		
				
body {
margin: 0;
font-family: sans-serif;
min-height: 100vh; /* Занимает всю высоту экрана */
display: flex;
flex-direction: column;
align-items: center; /* Центрирование по горизонтали */
background-color: #000;
background-image: url("img/fon17.jpg");
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
background-attachment: fixed;
}

img, video, button {
  max-width: 100%;
  height: auto; /* Важно для сохранения пропорций */
}

a {
text-decoration: none;
color: #fff;
}

h1 {
font-size: 28px;
text-align: center;
font-weight: 500;
color: #fff;
text-shadow: 1px 1px 1px #000;
}	

h2 {
font-size: 20px;
text-align: center;
font-weight: 400;
color: #ccc;
text-shadow: 1px 1px 1px #000;
}	

h3 {
font-size: 20px;
text-align: center;
font-weight: 400;
color: #fff;
text-shadow: 1px 1px 1px #000;
}

h4 {
font-size: 20px;
text-align: center;
font-weight: 400;
margin: 25px 0 10px 0;
color: #fff;
text-shadow: 1px 1px 1px #000;
}

p {
font-size: 18px;
color: #ccc;
text-shadow: 1px 1px 1px #000;
}

/* Сам слайдер регулятора громкости (input[type="range"]) */
input[type="range"] {
  -webkit-appearance: none; /* Убираем стандартное оформление в Chrome/Safari */
  width: 60%; /* Занимает всю ширину контейнера */
  height: 4px; /* Толщина дорожки слайдера */
  background: #ddd; /* Серый цвет дорожки */
  border-radius: 5px;
  border-color: #2c2c2c;
  outline: none; /* Убираем обводку при фокусировке */
  margin: 0; /* Убираем стандартные отступы */
  padding: 0; /* Убираем стандартные отступы */
  margin-left: 20%; /* Отступ слева */
  margin-right: 20%; /* Отступ справа */
}

/* Для Firefox */
input[type="range"]::-moz-range-track {
  width: 60%;
  height: 4px;
  background: #ddd;
  border: 1px solid;
  border-radius: 5px;
  border-color: #2c2c2c;
  border: none; /* Убираем возможную рамку */
}

/* Для Chrome/Safari */
input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none; /* Убираем стандартное оформление */
  width: 20px; /* Ширина картинки бегунка */
  height: 20px; /* Высота картинки бегунка */
  background: url('img/beg.png') no-repeat center center; /* Заменяем URL на путь к вашей картинке */
  background-size: cover; /* Масштабируем картинку, чтобы она занимала всю площадь бегунка */
  border: none; /* Убираем возможную рамку */
  cursor: pointer; /* Меняем курсор на указатель */
  margin-top: -7px; /* Выравниваем картинку по центру дорожки (половина разницы между высотой картинки и высотой дорожки) */
}

/* Для Firefox */
input[type="range"]::-moz-range-thumb {
  width: 20px;
  height: 20px;
  background: url('img/beg.png') no-repeat center center;
  background-size: cover;
  border: none;
  cursor: pointer;
}

/* Цвет заполненной части дорожки (слева от бегунка) - опционально */
input[type="range"]::-webkit-slider-runnable-track {
  background: linear-gradient(to right, #6d6d6d, #ddd); /* Пример градиента, замените на нужный цвет */
  height: 4px;
  border-radius: 5px;
}

/* Цвет заполненной части дорожки в Firefox */
input[type="range"]::-moz-range-progress {
  background: #b1b1b1; /* Пример цвета, замените на нужный */
  height: 4px;
  border-radius: 5px;
}

.container {
width: 90%; /* Занимает 90% ширины экрана */
max-width: 600px; /* Максимальная ширина для больших экранов */
margin: 20px 0; /* Отступы сверху и снизу */
}

.row {
display: flex;
flex-wrap: wrap; /* Перенос элементов на новую строку при необходимости */
}

/*Верхняя первая и вторая секция */
.col-1 {
position: relative;
width: 100%;
text-align: center;
padding: 0 5%;
color: white; /* Цвет текста (для лучшей видимости на градиенте) */ 		
}

/*Секция кнопок */
.knopki {
position: relative;
width: 100%;
text-align: center;
padding: 25% 0 5% 0;		
}

/*Картинка только для apple и mi-браузера */
.zastavka {
  position: absolute;
  left: 15%;
  top: -5%;
  width: 70%;
}

/*Секция текста внизу */
.txt {
text-align: justify;
width:60%;
margin: 0 20% 0 20%;
}

.tx {
width:80%;
margin: 0 10% 0 10%;
}

/* Адаптивность: для экранов шире 600px */
@media (min-width: 601px) {
width: 600px; /* Фиксированная ширина для больших экранов */
}
	
/*Панель индикаторов стрелки*/
.pi-left {
  position: absolute;
  top: 5%;
  left: 16.5%;
  width: 29%;
}

.pi-right {
  position: absolute;
  top: 5%;
  left: 53.5%;
  width: 29%;
}

.indikator1 {
  position: absolute;
  left: 14%;
  top: 1%;
  width: 35%;
}

.indikator2 {
  position: absolute;
  left: 51%;
  top: 1%;
  width: 35%;
}

/*аудио визуализация*/
.vizual {
position: absolute;
font-size: 12px;
text-align: center;
color: #4e4f4e;
left: 4%;
top: 5%;
width: 10%;
z-index: 10; 
}

.vizua {
cursor: pointer;
padding: 2px;
}

.zindex {
position: relative;	
z-index: 11;
}

.screen {
width: 100%;
height: 50px;
border-radius: 5px;
margin: 0 0 20px 0;
display: flex;
justify-content: center;
align-items: center;
font-size: 1.2em;
color: #fff;
text-shadow: 0 0 5px #0f0;
}

/*Бегущая строка*/
.moving-text {
  width: 100%; /* Ширина контейнера */
  overflow: hidden; /* Скрывает текст, выходящий за границы */
  white-space: nowrap; /* Запрещает перенос текста на новую строку */
}

.moving-text span {
  display: inline-block; /* Позволяет анимировать текст */
  padding-left: 100%; /* Начальная позиция - справа */
  animation: moveText 12s linear infinite; /* Анимация */
}

@keyframes moveText {
  0% {
    transform: translateX(25%); /* Начальное положение */
  }
  100% {
    transform: translateX(-100%); /* Конечное положение (слева) */
  }
}

footer {
text-align: center;
}

@media screen and (max-width: 760px) {
.zastavka {
  top: -1%;
}	
	
/*аудио визуализация*/
.vizual {
left: 0;
  top: 1%;
  width: 18%;
}

/*Панель индикаторов стрелки*/
.pi-left {
  top: 4%;
}


.pi-right {
  position: absolute;
  top: 4%;
  left: 53.5%;
  width: 29%;
}

/*Секция текста внизу */
.txt {
width:96%;
margin: 0 2% 0 2%;
}

.tx {
width:96%;
margin: 0 2% 0 2%;
}

}
