/* 
 * AURA // Clinical Light Mode + Dark Navy Design System
 * Engineered for iPhone Safe-Area ergonomics & Executive Biometric Aesthetics
 */

:root {
  --bg-canvas: #F8FAFC;
  --bg-card: #FFFFFF;
  --bg-subtle: #F1F5F9;
  --navy-950: #06101E;
  --navy-900: #0A192F;
  --navy-800: #112240;
  --navy-700: #1E3A5F;
  --navy-600: #2A4D7C;
  --cyan-500: #00B4D8;
  --cyan-600: #0096C7;
  --cyan-100: #E0F7FA;
  --border-light: #E2E8F0;
  --text-primary: #0A192F;
  --text-secondary: #475569;
  --text-muted: #64748B;
}

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html, body {
  margin: 0;
  padding: 0;
  background-color: var(--bg-canvas);
  color: var(--text-primary);
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.font-mono-tech {
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, monospace;
}

/* Custom Sleek Scrollbar */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: #F1F5F9;
}
::-webkit-scrollbar-thumb {
  background: #CBD5E1;
  border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
  background: #94A3B8;
}

/* Elevated Clinical Card */
.aura-card {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 20px;
  box-shadow: 0 4px 20px -2px rgba(10, 25, 47, 0.05), 0 1px 3px -1px rgba(10, 25, 47, 0.03);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.aura-card-interactive:hover {
  border-color: #CBD5E1;
  box-shadow: 0 10px 28px -4px rgba(10, 25, 47, 0.08);
}

/* Deep Navy Hero Card */
.aura-navy-panel {
  background: linear-gradient(145deg, #0A192F 0%, #112240 55%, #1E3A5F 100%);
  color: #FFFFFF;
  border-radius: 22px;
  box-shadow: 0 14px 34px -6px rgba(10, 25, 47, 0.28);
}

/* 3D Avatar Studio Viewport Backdrop */
.avatar-viewport-bg {
  background:
    radial-gradient(circle at 50% 32%, rgba(0, 180, 216, 0.14) 0%, rgba(30, 58, 95, 0.05) 48%, rgba(248, 250, 252, 0.95) 100%),
    linear-gradient(180deg, #F1F5F9 0%, #FFFFFF 100%);
  position: relative;
  overflow: hidden;
}

.avatar-grid-overlay {
  background-image:
    linear-gradient(to right, rgba(10, 25, 47, 0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(10, 25, 47, 0.04) 1px, transparent 1px);
  background-size: 24px 24px;
}

/* Primary Navy CTA Button */
.btn-navy {
  background: linear-gradient(135deg, #0A192F 0%, #1E3A5F 100%);
  color: #FFFFFF;
  font-weight: 600;
  border-radius: 14px;
  transition: all 0.18s ease;
  box-shadow: 0 4px 14px rgba(10, 25, 47, 0.18);
}
.btn-navy:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(10, 25, 47, 0.26);
}
.btn-navy:active {
  transform: translateY(0);
}

/* Holographic Cyan Button */
.btn-cyan {
  background: linear-gradient(135deg, #0096C7 0%, #00B4D8 100%);
  color: #FFFFFF;
  font-weight: 600;
  border-radius: 14px;
  transition: all 0.18s ease;
  box-shadow: 0 4px 14px rgba(0, 180, 216, 0.25);
}
.btn-cyan:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0, 180, 216, 0.35);
}

/* Custom Range Sliders for 3D Avatar Morphing */
input[type="range"].aura-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  background: #E2E8F0;
  border-radius: 999px;
  outline: none;
}
input[type="range"].aura-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #0A192F;
  border: 2px solid #00B4D8;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(10, 25, 47, 0.25);
}

/* Pulse animation for holographic status indicator */
@keyframes holoPulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(0, 180, 216, 0.55);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(0, 180, 216, 0);
  }
}
.holo-dot {
  animation: holoPulse 2.2s infinite;
}

/* Safe area padding for iPhone home indicator */
.pb-safe {
  padding-bottom: calc(env(safe-area-inset-bottom, 16px) + 5rem);
}
