/* style.css */

/* 1. Загальні стилі та фон */
body {
    margin: 0;
    padding: 0;
    background-color: #000; /* Чорний фон, як у кіно */
    color: #fff; /* Білий текст */
    font-family: 'Arial', sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
}

/* 2. Контейнер, який обмежує видиму область */
.credits-container {
    width: 80%; /* Ширина титрів */
    height: 80vh; /* Висота видимої області */
    overflow: hidden; 
    position: relative;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.1);
}

/* 3. Градієнтна маска для плавного зникання тексту біля країв */
.credits-container {
    -webkit-mask-image: linear-gradient(
        to bottom, 
        rgba(0,0,0,0) 0%,   
        rgba(0,0,0,1) 15%,  
        rgba(0,0,0,1) 85%,  
        rgba(0,0,0,0) 100%  
    );
    mask-image: linear-gradient(
        to bottom, 
        rgba(0,0,0,0) 0%, 
        rgba(0,0,0,1) 15%, 
        rgba(0,0,0,1) 85%, 
        rgba(0,0,0,0) 100%
    );
}

/* 4. Стилі для самого тексту титрів */
.credits-text {
    position: absolute;
    width: 100%;
    
    /* **ПОЧАТКОВА ПОЗИЦІЯ:** Гарантовано за межами контейнера знизу (100% від висоти контейнера) */
    transform: translateY(100%); 
    
    text-align: center;
    line-height: 1.4;
    font-size: 30px;
}

/* 5. Запуск анімації після завантаження тексту (додається JS) */
.credits-text.start-scrolling {
    /* **КЛЮЧ:** infinite гарантує нескінченне повторення */
    animation: scroll-up 360s linear 1 forwards;
}

/* 6. Стилі для елементів тексту */
.credits-text h1 {
    font-size: 2.5em;
    margin-bottom: 20px;
}
.credit-item {
    margin: 20px 0;
}
.credit-title {
    font-size: 1.1em;
    margin: 0;
    color: #ccc;
}
.credit-name {
    font-size: 1.5em;
    margin: 5px 0 0 0;
    color: #fff;
}

/* 7. Визначення CSS-анімації (Keyframes) */
@keyframes scroll-up {
  0% {
    /* Початок: текст знаходиться внизу */
    transform: translateY(100vh); /* Використовуємо 100vh для надійності */
  }
  100% {
    /* Кінець: текст прокручується вгору і виходить за межі контейнера */
    transform: translateY(-15000px); /* Використовуємо велике фіксоване значення, щоб гарантувати вихід усього тексту */
  }
}