/* css/landing.css */
body {
    font-family: 'Arial', sans-serif;
    overflow-x: hidden;
    position: relative;
}

/* Gradient Background */
body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, #0a0a0a, #1f1f1f, #2d1547);
    background-size: 200% 200%;
    animation: gradientShift 40s ease infinite;
    z-index: -2;
}

/* PNG Overlay */
body::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('../assets/images/bg-nt-01.png') center/cover no-repeat;
    opacity: 0.2;
    z-index: -1;
}

/* Particles */
.particles {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}

.particle {
    position: absolute;
    width: 2px;
    height: 2px;
    background: rgba(96, 165, 250, 0.5);
    border-radius: 50%;
    animation: float 20s infinite linear;
    will-change: transform, opacity;
}

@keyframes float {
    0% { transform: translateY(100vh) translateX(0); opacity: 0; }
    10% { opacity: 0.8; }
    90% { opacity: 0.8; }
    100% { transform: translateY(-100vh) translateX(-50px); opacity: 0; }
}

/* Falling Characters */
.falling-slogans {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 20;
}

.falling-group {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    animation: fall 15s linear infinite;
}

.falling-char {
    font-size: 1rem;
    color: white;
    opacity: 0.7;
    margin: 0.5rem 0;
    line-height: 1.5;
}

@keyframes fall {
    0% { transform: translate(-100px, -100px); opacity: 0; }
    10% { opacity: 0.7; }
    90% { opacity: 0.7; }
    100% { transform: translate(100px, calc(100vh + 100px)); opacity: 0; }
}

/* Text Animations */
@keyframes fadeScale {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

.animate-fade-scale { opacity: 0; animation: fadeScale 0.8s ease-out forwards; }

.delay-1 { animation-delay: 2s; }
.delay-2 { animation-delay: 5s; }
.delay-3 { animation-delay: 10s; }
.delay-4 { animation-delay: 15s; }
.delay-5 { animation-delay: 20s; }
.delay-6 { animation-delay: 22s; }
.delay-7 { animation-delay: 20s; }
.delay-8 { animation-delay: 1s; }

/* Glow Effect */
.glow-text {
    text-shadow: 0 0 20px rgba(96, 165, 250, 1),
                 0 0 40px rgba(96, 165, 250, 0.7);
}

/* Neon Button Effect */
.shadow-neon {
    box-shadow: 0 0 12px rgba(96, 165, 250, 0.7),
                0 0 24px rgba(96, 165, 250, 0.4);
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.03); }
    100% { transform: scale(1); }
}

.animate-pulse { animation: pulse 0.4s ease; }

/* Footer */
footer { backdrop-filter: blur(5px); z-index: 20; }

/* Responsive */
@media (max-width: 640px) {
    h1 { font-size: 2rem; }
    p { font-size: 0.75rem; }
    .container { padding: 1rem; max-width: 90%; }
    a { padding: 0.5rem 1rem; font-size: 0.75rem; }
    .particle { width: 2px; height: 2px; }
    .falling-char { font-size: 0.7rem; margin: 0.3rem 0; }
    .falling-group { flex-direction: row; writing-mode: horizontal-tb; }
}

/* Lightning */
.lightning-container {
    position: fixed; top: 0; left: 0;
    width: 100%; height: 100%;
    overflow: hidden; pointer-events: none;
    z-index: 9999;
}

.lightning-path {
    position: absolute;
    width: 2px;
    background: rgba(255,255,255,0.95);
    box-shadow: 0 0 12px 4px rgba(150,200,255,0.7);
    filter: drop-shadow(0 0 6px rgba(255,255,255,0.5));
    transform-origin: top left;
    animation: lightning-strike 0.25s ease-out forwards;
}

@keyframes lightning-strike {
    0% { opacity: 0; transform: scaleY(0); }
    20% { opacity: 1; transform: scaleY(1.05); }
    50% { opacity: 1; transform: scaleY(1); }
    100% { opacity: 0; transform: scaleY(1); }
}

.lightning-flash {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: radial-gradient(circle, rgba(255,255,255,0.3), transparent 70%);
    opacity: 0;
    animation: flash-glow 0.5s ease-out forwards;
    z-index: 9998;
}

@keyframes flash-glow { 0% { opacity: 0.7; } 100% { opacity: 0; } }

.warning-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.warning-box {
  background: linear-gradient(180deg, #0a0a0a, #111827);
  border: 2px solid #00ffff;
  border-radius: 12px;
  padding: 30px 40px;
  text-align: center;
  color: #fff;
  max-width: 400px;
  box-shadow: 0 0 30px rgba(0,255,255,0.3);
  opacity: 0;
  transform: scale(0.95);
  transition: all 0.5s ease-out;
}

.warning-box.show {
  opacity: 1;
  transform: scale(1);
}

.warning-buttons {
  margin-top: 25px;
  display: flex;
  justify-content: space-around;
}

.warning-buttons button {
  padding: 10px 25px;
  border: none;
  font-weight: bold;
  border-radius: 8px;
  cursor: pointer;
  transition: 0.3s;
}

.warning-buttons button#decline-btn { background: #991b1b; color: #fff; }
.warning-buttons button#decline-btn:hover { background: #b91c1c; }

.warning-buttons button.agree { background: #0284c7; color: #fff; }
.warning-buttons button.agree:hover { background: #0ea5e9; box-shadow: 0 0 20px #00ffff; }

.fade-out { animation: fadeOut 0.8s forwards ease-in-out; }
@keyframes fadeOut { to { opacity: 0; visibility: hidden; } }

