/* Notse Web Design Tokens & Custom Styles */
:root {
  --bg-canvas: #0F0F0F;
  --bg-surface: #181818;
  --bg-surface-elevated: #222222;
  --border-subtle: #272727;
  --border-light: #383838;
  --text-primary: #F3F4F6;
  --text-secondary: #9CA3AF;
  --text-muted: #6B7280;
  --accent-blue: #2563EB;
  --accent-blue-hover: #1D4ED8;
  --accent-crimson: #FE2C55;
  --accent-green: #10B981;
}

body {
  background-color: var(--bg-canvas);
  color: var(--text-primary);
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  overflow-x: hidden;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #0F0F0F;
}
::-webkit-scrollbar-thumb {
  background: #272727;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #3B82F6;
}

/* Glowing Gradients */
.glow-blue {
  background: radial-gradient(circle, rgba(37, 99, 235, 0.18) 0%, rgba(15, 15, 15, 0) 70%);
}
.glow-crimson {
  background: radial-gradient(circle, rgba(254, 44, 85, 0.15) 0%, rgba(15, 15, 15, 0) 70%);
}

/* Glassmorphism */
.glass-nav {
  background: rgba(15, 15, 15, 0.82);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border-subtle);
}

.glass-card {
  background: rgba(24, 24, 24, 0.7);
  backdrop-filter: blur(12px);
  border: 1px solid var(--border-subtle);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.glass-card:hover {
  border-color: rgba(37, 99, 235, 0.5);
  transform: translateY(-3px);
  box-shadow: 0 12px 30px -10px rgba(0, 0, 0, 0.7), 0 0 20px -5px rgba(37, 99, 235, 0.2);
}

/* Phone Mockup Frame */
.phone-mockup {
  border: 10px solid #222222;
  border-radius: 42px;
  overflow: hidden;
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.9), 0 0 40px -10px rgba(37, 99, 235, 0.25);
  background: #000000;
}

/* Shimmer animation */
@keyframes shimmer {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}
.animate-shimmer {
  animation: shimmer 2.5s infinite;
}

/* Badge pulse */
@keyframes badgePulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.85; transform: scale(1.04); }
}
.badge-live {
  animation: badgePulse 2s infinite ease-in-out;
}

