/* Disable all animations but preserve hover transitions, except for specific effects */
*:not(.grand-effect):not(.entrance) {
  animation-name: none !important;
}
/* Modern Reset and Base Styles */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background-color: #0a0a0a;
  color: #e5e5e5;
  line-height: 1.6;
  font-display: swap;
}

/* Custom Font Loading - Removed BryFal font as it is no longer used */

/* Core Typography */
.font-orbitron {
  font-family: 'Orbitron', monospace;
}

.font-cinzel-decorative {
  font-family: 'Cinzel Decorative', serif;
}

.font-slayers {
  font-family: 'Orbitron', 'Arial Black', sans-serif;
  font-weight: normal;
  letter-spacing: 2px;
  font-display: swap;
}

/* Utility Classes */
.text-glow {
  text-shadow: 0 0 5px rgba(0, 191, 255, 0.7), 0 0 10px rgba(0, 191, 255, 0.5), 0 0 15px rgba(0, 191, 255, 0.3);
}

.btn-primary {
  background-color: #00BFFF;
  color: #0a0a0a;
  transition: all 0.3s ease;
  box-shadow: 0 0 10px rgba(0, 191, 255, 0.5);
  border: none;
  cursor: pointer;
}

.btn-primary:hover {
  background-color: #fff;
  color: #00BFFF;
  box-shadow: 0 0 20px rgba(0, 191, 255, 0.8);
  transform: translateY(-2px);
}

/* Hero Section */
.hero-bg {
  background-image: url('https://images.unsplash.com/photo-1518770660439-4636190af475?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  position: relative;
}

.hero-overlay {
  background: linear-gradient(135deg, rgba(10, 10, 10, 0.9) 0%, rgba(0, 191, 255, 0.1) 100%);
}

#hero video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#bryce-falcon-text {
  position: relative;
  z-index: 10;
  margin-bottom: 20px !important;
}

@media (max-width: 768px) {
  #hero video {
    object-fit: contain;
  }
}

/* Glitch Effect */
.glitch {
    position: relative;
    transition: all 0.3s ease;
}
.glitch:hover {
    animation: glitch 0.3s;
}
@keyframes glitch {
    0% { transform: translate(0); }
    20% { transform: translate(-2px, 2px); }
    40% { transform: translate(-2px, -2px); }
    60% { transform: translate(2px, 2px); }
    80% { transform: translate(2px, -2px); }
    100% { transform: translate(0); }
}

/* Hologram Effect */
.hologram {
    position: relative;
}

.hologram::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(0, 191, 255, 0.1),
        transparent
    );
    animation: hologram-sweep 2s ease-in-out infinite;
}

@keyframes hologram-sweep {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

/* Screen Glitch Effects */
.screen-glitch {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 2;
    opacity: 0;
    background: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 2px,
        rgba(0, 191, 255, 0.03) 2px,
        rgba(0, 191, 255, 0.03) 4px
    );
    animation: screen-flicker 8s infinite;
}

@keyframes screen-flicker {
    0%, 94%, 100% { opacity: 0; }
    95%, 97% { opacity: 1; }
}

/* Digital Artifacts */
.digital-artifact {
    position: fixed;
    background: rgba(0, 191, 255, 0.8);
    z-index: 998;
    opacity: 0;
    animation: artifact-flash 0.1s ease-in-out;
}

@keyframes artifact-flash {
    0%, 100% { opacity: 0; }
    50% { opacity: 1; }
}

/* System Monitor Overlay */
.system-monitor {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.9);
    border: 2px solid #00BFFF;
    border-radius: 10px;
    padding: 20px;
    font-family: 'Courier New', monospace;
    color: #00BFFF;
    z-index: 1001;
    opacity: 0;
    font-size: 12px;
    max-width: 400px;
}

.system-monitor.active {
    opacity: 1;
    animation: monitor-popup 5s ease-in-out;
}

@keyframes monitor-popup {
    0%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(0.8); }
    15%, 85% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

/* Neural Network Background */
.neural-network {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 20% 50%, rgba(0, 191, 255, 0.1) 0%, transparent 50%),
                radial-gradient(circle at 80% 20%, rgba(0, 191, 255, 0.1) 0%, transparent 50%),
                radial-gradient(circle at 40% 80%, rgba(0, 191, 255, 0.1) 0%, transparent 50%);
    animation: pulse-network 8s ease-in-out infinite;
}

@keyframes pulse-network {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 0.7; }
}

/* AI Processing Indicator */
.ai-processing {
    position: fixed;
    background: rgba(0, 0, 0, 0.9);
    border: 2px solid rgba(0, 191, 255, 0.3);
    border-radius: 12px;
    padding: 16px 20px;
    font-family: 'Courier New', monospace;
    font-size: 14px;
    color: #00BFFF;
    z-index: 1000;
    opacity: 0;
    transform: scale(0.8);
    transition: all 0.3s ease;
    box-shadow: 0 0 20px rgba(0, 191, 255, 0.3);
    backdrop-filter: blur(10px);
}

.ai-processing.active {
    opacity: 1;
    transform: scale(1);
}

/* Random AI Notifications */
.ai-notification {
    position: fixed;
    background: rgba(0, 0, 0, 0.85);
    border: 1px solid #00BFFF;
    border-radius: 8px;
    padding: 12px 16px;
    font-family: 'Courier New', monospace;
    font-size: 12px;
    color: #00BFFF;
    z-index: 999;
    opacity: 0;
    transform: translateY(20px);
    animation: notification-popup 4s ease-in-out;
    max-width: 300px;
    box-shadow: 0 0 15px rgba(0, 191, 255, 0.2);
}

@keyframes notification-popup {
    0% { opacity: 0; transform: translateY(20px); }
    15%, 85% { opacity: 1; transform: translateY(0); }
    100% { opacity: 0; transform: translateY(-20px); }
}

/* Larger Data Streams */
.data-stream {
    position: absolute;
    font-family: 'Courier New', monospace;
    font-size: 16px;
    color: #00BFFF;
    white-space: pre;
    animation: stream 12s linear infinite;
    text-shadow: 0 0 5px rgba(0, 191, 255, 0.5);
}

.data-stream.large {
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    text-shadow: 0 0 10px rgba(0, 191, 255, 0.8);
}

.processing-dots::after {
    content: '';
    animation: processing-dots 2s infinite;
}

@keyframes processing-dots {
    0% { content: ''; }
    25% { content: '.'; }
    50% { content: '..'; }
    75% { content: '...'; }
    100% { content: ''; }
}

/* Binary Code Background */
.binary-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    opacity: 0.05;
    font-family: 'Courier New', monospace;
    font-size: 14px;
    line-height: 1.2;
    color: #00BFFF;
    z-index: 1;
}

/* Circuit Pattern */
.circuit-pattern {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image:
        linear-gradient(90deg, transparent 98%, rgba(0, 191, 255, 0.1) 100%),
        linear-gradient(0deg, transparent 98%, rgba(0, 191, 255, 0.1) 100%);
    background-size: 50px 50px;
    animation: circuit-pulse 4s ease-in-out infinite;
}

@keyframes circuit-pulse {
    0%, 100% { opacity: 0.1; }
    50% { opacity: 0.3; }
}

/* Scanning Line Effect */
.scan-line {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent, #00BFFF, transparent);
    animation: scan 3s linear infinite;
    opacity: 0.7;
}

@keyframes scan {
    0% { transform: translateY(-100vh); }
    100% { transform: translateY(100vh); }
}

/* AI Face Formation in Header */
.ai-face-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 5;
}

/* AI Flashing Text Effect */
.ai-flash-text {
    position: fixed;
    background: rgba(0, 0, 0, 0.9);
    border: 2px solid rgba(0, 191, 255, 0.3);
    border-radius: 12px;
    padding: 16px 20px;
    font-family: 'Courier New', monospace;
    font-size: 14px;
    z-index: 1000;
    pointer-events: none;
    box-shadow: 0 0 20px rgba(0, 191, 255, 0.3);
    backdrop-filter: blur(10px);
}

.ai-flash-positive {
    color: #00FF00; /* Green for positive/optimal */
}

.ai-flash-neutral {
    color: #00BFFF; /* Blue for neutral/processing */
}

.ai-flash-negative {
    color: #FF0000; /* Red for negative/warning/error */
}

.ai-flash-glitch {
    display: inline-block;
    transform: translateX(-2px);
}

/* Book Cover Effects */
.book-cover {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.7), -5px -5px 15px rgba(50, 50, 93, 0.1) inset;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border-radius: 12px;
  overflow: hidden;
}

.book-cover:hover {
  transform: translateY(-10px) scale(1.03);
  box-shadow: 0 20px 40px rgba(0, 191, 255, 0.3), -5px -5px 20px rgba(50, 50, 93, 0.1) inset;
}

/* Form Styles */
.form-input {
  background-color: rgba(255, 255, 255, 0.05);
  border: 2px solid rgba(255, 255, 255, 0.2);
  color: #e5e5e5;
  transition: all 0.3s ease;
  border-radius: 8px;
}

.form-input:focus {
  background-color: rgba(255, 255, 255, 0.1);
  border-color: #00BFFF;
  box-shadow: 0 0 10px rgba(0, 191, 255, 0.5);
  outline: none;
}

/* Grand Effect for Bryce Falcon Text in Hero Section */
.grand-effect {
  animation: grandEntrance 4s ease-out 2s forwards, pulseEffect 2.5s ease-in-out 6s infinite;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.5), 0 0 20px rgba(255, 255, 255, 0.3), 0 0 30px rgba(255, 255, 255, 0.2);
}

@keyframes grandEntrance {
  0% { transform: scale(0.1); opacity: 0; }
  50% { transform: scale(1.2); opacity: 0.6; }
  100% { transform: scale(1); opacity: 1; }
}

@keyframes pulseEffect {
  0%, 60%, 100% { transform: scale(1); text-shadow: 0 0 10px rgba(255, 255, 255, 0.5), 0 0 20px rgba(255, 255, 255, 0.3), 0 0 30px rgba(255, 255, 255, 0.2); }
  30% { transform: scale(1.08); text-shadow: 0 0 20px rgba(255, 255, 255, 0.8), 0 0 30px rgba(255, 255, 255, 0.6), 0 0 40px rgba(255, 255, 255, 0.4); }
}

/* Aether Arrival Entrance Animation */
#aether-arrival {
  opacity: 1;
  visibility: visible;
}

/* Mobile Optimizations */
@media (max-width: 480px) {
  /* Hide Bryce Falcon text in hero section on mobile */
  #bryce-falcon-text {
    display: none;
  }
  
  /* Reduce header logo size significantly on mobile to prevent overlap */
  header a.font-cinzel-decorative {
    font-size: 1rem;
  }
  
  /* Adjust hero section text sizes and spacing */
  #aether-arrival h2 {
    font-size: 1.25rem;
    margin-bottom: 0.3rem;
  }
  
  #aether-arrival p {
    font-size: 0.8rem;
  }
  
  /* Adjust hero section container to prevent overlap */
  #hero .container {
    padding-top: 5rem;
    padding-bottom: 1.5rem;
  }
  
  /* Adjust hero section height for smaller screens */
  #hero {
    height: 70vh;
  }
  
  /* Adjust section padding for better mobile spacing */
  section {
    padding: 1.5rem 0;
  }
  
  /* Reduce font sizes in book section for better readability */
  #book h2 {
    font-size: 1.5rem;
  }
  
  #book p {
    font-size: 0.8rem;
  }
  
  /* Stack reviews in a single column with proper spacing */
  #reviews .grid {
    grid-template-columns: 1fr;
  }
  
  /* Adjust footer layout for mobile */
  footer .grid {
    grid-template-columns: 1fr;
    text-align: center;
  }
}

#aether-arrival.entrance {
  visibility: visible;
  animation: aetherEntrance 2s ease-out forwards;
}

@keyframes aetherEntrance {
  0% { transform: translateY(-30px) scale(0.8); text-shadow: 0 0 5px rgba(255, 0, 0, 0.3); color: #ff0000; }
  50% { transform: translateY(0) scale(1.1); text-shadow: 0 0 15px rgba(255, 0, 0, 0.8), 0 0 25px rgba(255, 0, 0, 0.6); color: #ff0000; }
  100% { transform: translateY(0) scale(1); text-shadow: 0 0 5px rgba(0, 191, 255, 0.7), 0 0 10px rgba(0, 191, 255, 0.5); color: #00bfff; }
}

#aether-arrival.entrance {
  visibility: visible;
  animation: aetherEntrance 2s ease-out forwards, aetherPulse 4s ease-in-out 2s infinite;
}

@keyframes aetherPulse {
  0%, 100% { transform: scale(1); text-shadow: 0 0 5px rgba(0, 191, 255, 0.7), 0 0 10px rgba(0, 191, 255, 0.5); color: #00bfff; }
  50% { transform: scale(1.05); text-shadow: 0 0 15px rgba(255, 0, 0, 0.8), 0 0 25px rgba(255, 0, 0, 0.6); color: #ff0000; }
}
