/* Index CSS */
html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility; /* Improved text rendering */
}

body {
  overflow-x: hidden;
  background-color: #020202; /* RESTORED: Solid black for overscroll areas, transparency no longer needed due to App.tsx architecture fix */
}

/* 
  REMOVED: Global Noise Texture 
  Reason: Visual clean-up for Phase 1 (OLED Black Theme)
*/

/* Selection Color - High Contrast */
::selection {
  background: rgba(0, 191, 108, 0.3); /* Slightly more visible */
  color: #ffffff;
}

/* Custom Scrollbar - Minimalist & Dark */
::-webkit-scrollbar {
  width: 8px; /* Slightly wider for usability */
}

::-webkit-scrollbar-track {
  background: #020202;
}

::-webkit-scrollbar-thumb {
  background: #262626; /* Dark Gray */
  border-radius: 4px;
  border: 2px solid #020202; /* Creates padding effect */
}

::-webkit-scrollbar-thumb:hover {
  background: #404040; /* Lighter on hover */
}

/* Utility for glass panels - Cleaner, Less Hazy */
.glass-panel {
  background: rgba(10, 10, 10, 0.8); /* Darker, less milky */
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* Animations for Global Background */
@keyframes blob {
  0% { transform: translate(0px, 0px) scale(1); }
  33% { transform: translate(30px, -50px) scale(1.1); }
  66% { transform: translate(-20px, 20px) scale(0.9); }
  100% { transform: translate(0px, 0px) scale(1); }
}

.animate-blob {
  animation: blob 15s infinite ease-in-out alternate;
}

.animation-delay-2000 {
  animation-delay: 2s;
}

.animation-delay-4000 {
  animation-delay: 4s;
}

/* PHASE 3: Micro-interaction Animations */
@keyframes sheen {
  0% { left: -100%; opacity: 0; }
  50% { opacity: 0.5; }
  100% { left: 100%; opacity: 0; }
}

.group:hover .animate-sheen {
  animation: sheen 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 10px rgba(0, 191, 108, 0.2); }
  50% { box-shadow: 0 0 20px rgba(0, 191, 108, 0.5); }
}

.animate-pulse-glow {
  animation: pulse-glow 3s infinite;
}

/* 還原原代碼的 bg-radial-gradient */
.bg-radial-gradient {
  background: radial-gradient(circle at center, var(--tw-gradient-from), var(--tw-gradient-to));
}

/* 還原 Receipt Style 的分隔線效果（虛線） */
.border-dashed {
  border-style: dashed;
}

@keyframes scroll-left {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); } /* 捲動到一半時重置實現無縫 */
}

.animate-scroll-left {
  display: flex;
  animation: scroll-left 40s linear infinite;
}

/* 暫停效果 */
#marquee-content:hover {
  animation-play-state: paused;
}

/* Features */
@keyframes pipeline-flow {
  0% {left: -20%; opacity: 0;}
  10% {opacity: 1;}
  90% {opacity: 1;}
  100% {left: 120%; opacity: 0;}
}

.monitor-scroll {
  -webkit-overflow-scrolling: touch;
  overflow-x: auto;
  padding-bottom: 1rem;
}

.monitor-scroll::-webkit-scrollbar {
  height: 12px;
}

.monitor-scroll::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
}

/* Timeline */
@keyframes flow-beam {
  0% { left: -100%; opacity: 0; }
  50% { opacity: 1; }
  100% { left: 100%; opacity: 0; }
}
@keyframes pulse-slow {
  0%, 100% { transform: scale(1); opacity: 0.2; }
  50% { transform: scale(1.5); opacity: 0.4; }
}
.animate-pulse-slow {
  animation: pulse-slow 3s ease-in-out infinite;
}

/* Architecture */
@keyframes sheen {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}
.group:hover .group-hover\:animate-sheen {
  animation: sheen 1.5s infinite;
}
@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 20px rgba(0, 191, 108, 0.4); }
  50% { box-shadow: 0 0 35px rgba(0, 191, 108, 0.7); }
}
.animate-pulse-glow {
  animation: pulse-glow 2s infinite;
}