::-webkit-scrollbar {
  width: 10px;
}
::-webkit-scrollbar-track {
  box-shadow: inset 0 0 8px grey;
  border-radius: 2px;
}
::-webkit-scrollbar-thumb {
  background-image: linear-gradient(
    to bottom,
    rgba(255, 0, 0, 0.55),
    rgba(0, 128, 0, 0.55),
    rgba(0, 0, 255, 0.55)
  );
  border-radius: 2px;
}
::-webkit-scrollbar-thumb:hover {
  background-image: linear-gradient(to bottom, red, green, blue);
}

body {
  font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
  margin: 0;
  padding: 0;
  color: #333;
}

/* Logo */
#logo {
  width: 100%;
  margin: 15px auto;
  text-align: center;
}
#logo img {
  width: 100%;
  max-width: 180px;
  border: 2.5px ridge crimson;
  border-radius: 50%;
  height: auto;
}

/* ============================= */
/* BACKGROUND VIDEO (FIXED) */
/* ============================= */
#background {
  width: 100%;
  height: 100%;
  position: fixed;
  inset: 0;
  overflow: hidden;
  z-index: -2;

  /* Fallback if video fails */
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

#background video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Container */
.container {
  max-width: 900px;
  margin: 0 auto;
  padding: 20px;
}

/* Header */
.header {
  text-align: center;
  margin-bottom: 8px;
}
.header h1 {
  font-size: 32px;
  margin-bottom: 10px;
  margin-top: 0;
  font-weight: lighter;
  color: #fff;
  text-shadow: 0 0 5px #ff005e, 0 0 10px #ff005e, 0 0 20px #ff005e,
               0 0 40px #ff005e, 0 0 80px #ff005e;
  animation: glow 1.5s infinite alternate;
}
.header p {
  font-size: 18px;
  color: #ffdf12;
  text-shadow: 0 0 3px #FF0000, 0 0 5px #0000FF;
}

@keyframes glow {
  0% {
    text-shadow: 0 0 5px #ff005e, 0 0 10px #ff005e, 0 0 20px #ff005e,
                 0 0 40px #ff005e, 0 0 80px #ff005e;
  }
  100% {
    text-shadow: 0 0 10px #00d4ff, 0 0 20px #00d4ff, 0 0 40px #00d4ff,
                 0 0 80px #00d4ff, 0 0 160px #00d4ff;
  }
}

/* Form container */
.form-container {
  background: #fff;
  padding: 30px;
  border: 2.5px ridge crimson;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Form groups */
.form-group {
  margin-bottom: 20px;
}
.form-group label {
  display: block;
  font-weight: bold;
  margin-bottom: 8px;
  color: #333;
}
.form-group input[type="text"],
.form-group input[type="date"],
.form-group input[type="file"],
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 16px;
  box-sizing: border-box;
}
.form-group textarea {
  resize: vertical;
  min-height: 80px;
}

/* Opacity slider */
.opacity-slider {
  width: 100%;
}

/* Button group */
.button-group {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 30px;
}
.btn {
  padding: 12px 24px;
  border: none;
  border-radius: 6px;
  font-size: 16px;
  cursor: pointer;
  transition: background 0.3s ease;
}
.btn-preview {
  background: #3949ab;
  color: #fff;
}
.btn-preview:hover {
  background: #303f9f;
}
.btn-generate {
  background: #ff6b9d;
  color: #fff;
}
.btn-generate:hover {
  background: #e91e63;
}

/* Loading indicator */
.loading {
  display: none;
  text-align: center;
  font-size: 18px;
  color: #3949ab;
  margin-top: 20px;
}
.loading.active {
  display: block;
}

/* Status message */
.status-message {
  margin-top: 20px;
  text-align: center;
  font-weight: bold;
  font-size: 16px;
  color: #3949ab;
  display: none;
}
.status-message.active {
  display: block;
}

/* Countdown styles */
.countdown {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 20px;
}
.countdown-item {
  text-align: center;
}
.countdown-value {
  font-size: 48px;
  font-weight: bold;
  display: block;
  color: #3949ab;
}
.countdown-label {
  font-size: 16px;
  color: #555;
}

/* End screen overlay */
.end-screen {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.9);
  color: white;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  z-index: 999;
}
.end-screen.active {
  display: flex;
}
.end-message {
  font-size: 48px;
  font-weight: bold;
  text-align: center;
}
.end-image {
  max-width: 80%;
  max-height: 80%;
}

/* Expired message */
.expired {
  font-size: 32px;
  font-weight: bold;
  color: #e91e63;
  margin-top: 20px;
}

/* Animations (UNCHANGED) */
.animate-fade { animation: fadeInOut 2s infinite; }
@keyframes fadeInOut { 0%,100%{opacity:0} 50%{opacity:1} }

.animate-scale { animation: scaleBounce 2s infinite; }
@keyframes scaleBounce { 0%,100%{transform:scale(1)} 50%{transform:scale(1.2)} }

.animate-slide { animation: slideDown 2s infinite; }
@keyframes slideDown {
  0%{transform:translateY(-20px);opacity:0}
  50%{transform:translateY(0);opacity:1}
  100%{transform:translateY(20px);opacity:0}
}

.animate-pulse { animation: pulse 2s infinite; }
@keyframes pulse {
  0%{transform:scale(1);opacity:1}
  50%{transform:scale(1.1);opacity:.7}
  100%{transform:scale(1);opacity:1}
}

.animate-flip { animation: flip 2s infinite; }
@keyframes flip {
  0%{transform:rotateY(0)}
  50%{transform:rotateY(180deg)}
  100%{transform:rotateY(360deg)}
}

.animate-zoom { animation: zoom 2s infinite; }
@keyframes zoom { 0%{transform:scale(1)} 50%{transform:scale(1.3)} 100%{transform:scale(1)} }

.animate-rotate { animation: rotate 2s infinite linear; }
@keyframes rotate { from{transform:rotate(0)} to{transform:rotate(360deg)} }

#footer-section {
  margin: 20px auto;
  font-size: 25px;
  font-family: Tahoma;
  text-align: center;
  text-decoration: none;
  color: rgb(255, 251, 5);
}

#footer-section > p {
  margin: 10px auto;
  font-weight: 500;
}

#footer-section > a > button {
  font-size: 20px;
  outline: none;
  border: none;
  padding: 10px;
  border-radius: 25px;
  font-family: Tahoma;
  cursor: pointer;
  background-color: #333;
  color: white;
}

#footer-section > a > button:hover {
  background-color: crimson;
}