/* Premium Launch Page Theme */

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Elegant Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.15);
  border-radius: 9999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.25);
  border: 2px solid transparent;
  background-clip: padding-box;
}

/* Glassmorphism Cards */
.glass-card {
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.8);
  box-shadow: 0 8px 32px -8px rgba(0, 0, 0, 0.05), inset 0 0 0 1px rgba(255, 255, 255, 0.5);
  border-radius: 20px;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.glass-card-hover:hover {
  transform: translateY(-6px) scale(1.01);
  box-shadow: 0 16px 48px -12px rgba(0, 0, 0, 0.12), inset 0 0 0 1px rgba(255, 255, 255, 0.8);
  background: rgba(255, 255, 255, 0.85);
}

/* Floating Animation */
@keyframes float {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
  100% { transform: translateY(0px); }
}
.animate-float {
  animation: float 6s ease-in-out infinite;
}

/* Nav Tab Styling (Dark Mode) */
.nav-tab {
  color: rgba(255, 255, 255, 0.6);
  transition: color 0.2s;
}

.nav-tab:hover {
  color: rgba(255, 255, 255, 0.9);
}

.nav-tab.active {
  color: #ffffff;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
}

/* Standard Tags */
.tag-base {
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  display: inline-flex;
  align-items: center;
}

.tag-status-prototype { background: #fffbeb; color: #b45309; border: 1px solid #fde68a; }
.tag-status-production { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; }

.tag-agent-antigravity { background: #faf5ff; color: #4a2076; border: 1px solid #e9d5ff; }
.tag-agent-cursor { background: #f0fdfa; color: #0f766e; border: 1px solid #99f6e4; }
.tag-agent-copilot { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; }
.tag-agent-other { background: #f8fafc; color: #475569; border: 1px solid #e2e8f0; }

.wizard-step.hidden { display: none; }
.page-section.hidden { display: none; }

/* Digital Lifeline Animations */
@keyframes travel-x {
  0% { transform: translateX(-100%); opacity: 0; }
  20% { opacity: 0.3; }
  80% { opacity: 0.3; }
  100% { transform: translateX(100%); opacity: 0; }
}

@keyframes travel-y {
  0% { transform: translateY(-100%); opacity: 0; }
  20% { opacity: 0.3; }
  80% { opacity: 0.3; }
  100% { transform: translateY(100%); opacity: 0; }
}

.animate-travel-x {
  animation: travel-x 15s linear infinite;
}
.animate-travel-x-slow {
  animation: travel-x 25s linear infinite;
  animation-delay: 5s;
}
.animate-travel-y {
  animation: travel-y 20s linear infinite;
  animation-delay: 2s;
}
.animate-travel-y-slow {
  animation: travel-y 30s linear infinite;
  animation-delay: 8s;
}
/* --- THEME & ACCESSIBILITY VARIABLES --- */
:root {
  /* Base Brand Theme (Dark by default) */
  --bg-main: #1b1534; /* SE Dark Purple */
  --bg-card: rgba(255, 255, 255, 0.05);
  --bg-card-hover: rgba(255, 255, 255, 0.1);
  --text-main: #ffffff; /* Forced White */
  --text-muted: rgba(255, 255, 255, 0.7); /* Forced White */
  --border-line: rgba(255, 255, 255, 0.1);
  --border-hover: rgba(255, 255, 255, 0.2);
  --glass-bg: rgba(27, 21, 52, 0.7);
}

/* High Contrast Mode */
html[data-contrast="high"] {
  --text-muted: #000000;
  --border-line: #000000;
  --bg-main: #ffffff;
}
html.dark[data-contrast="high"] {
  --text-muted: rgba(255, 255, 255, 0.7);
  --border-line: #ffffff;
  --bg-main: #000000;
  --bg-card: #111111;
}

/* Reduce Motion */
html[data-reduce-motion="true"] * {
  animation: none !important;
  transition: none !important;
}

/* Text Size Adjustments */
html { font-size: 16px; }
html[data-text-size="large"] { font-size: 18px; }
html[data-text-size="xlarge"] { font-size: 20px; }

/* Readable Font Accessibility */
html[data-readable-font="true"] * {
  font-family: Arial, Helvetica, sans-serif !important;
  letter-spacing: 0.01em !important;
}

/* Focus Highlighting Accessibility */
html[data-focus-highlight="true"] *:focus-visible {
  outline: 3px solid #009999 !important;
  outline-offset: 3px !important;
}
html[data-focus-highlight="true"] *:focus {
  outline: 3px solid #009999 !important;
  outline-offset: 3px !important;
}
