
/* Base Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  background: #111827;
  color: #f9fafb;
  line-height: 1.6;
}
/* Scrollytelling Layout */
.scene {
  opacity: 0.3;
  transform: translateY(20px);
  transition: all 0.6s ease;
  scroll-snap-align: start;
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.scene.active {
  opacity: 1;
  transform: translateY(0);
}

/* System Architecture Visualization */
.system-diagram {
  width: 100%;
  height: auto;
}

.good-cell {
  fill: #10b981;
  transition: fill 0.3s ease;
}

.cheater-cell {
  fill: #ef4444;
  transition: fill 0.3s ease;
}

.sensor-active {
  fill: #f59e0b;
}

.gate-active {
  fill: #8b5cf6;
}

.latch-flipped {
  fill: #dc2626;
}

.certificate-issued {
  fill: #059669;
}

.antidote-active {
  fill: #3b82f6;
}
/* Progress Bar */
.progress-container {
  transition: all 0.3s ease;
}

.progress-bar {
  transition: width 0.3s ease;
}

/* Navigation */
custom-navbar {
  display: block;
}

/* Footer */
custom-footer {
  display: block;
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
  .scene {
    transition: opacity 0.3s ease;
    transform: none !important;
  }
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .grid {
    grid-template-columns: 1fr;
  }
  
  .sticky {
    position: relative;
    top: auto;
  }
}

/* Focus Styles for Accessibility */
a:focus, button:focus, summary:focus {
  outline: 2px solid #60a5fa;
  outline-offset: 2px;
}

/* Print Styles */
@media print {
  .progress-container, custom-navbar {
    display: none;
  }
  
  .scene {
    opacity: 1;
    transform: none;
    page-break-inside: avoid;
  }
}
