@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

:root {
  --brand-yellow: #FFE500;
  --brand-yellow-light: #FFF9D2;
  --brand-yellow-hover: #E6CE00;
  --brand-yellow-glow: rgba(255, 229, 0, 0.45);
  --brand-yellow-subtle: rgba(255, 229, 0, 0.12);
  --brand-black: #0F1115;
  --brand-black-soft: #181B22;
  --brand-black-subtle: #242933;
  --brand-white: #FFFFFF;
  --brand-light-gray: #F8F9FA;
  --brand-border: #E5E7EB;
  --brand-text-dark: #111827;
  --brand-text-muted: #4B5563;
}

* {
  box-sizing: border-box;
  scroll-behavior: smooth;
}

body {
  font-family: 'Plus Jakarta Sans', sans-serif;
  color: var(--brand-text-dark);
  background-color: #FFFFFF;
  overflow-x: hidden;
}

h1, h2, h3, h4, .font-heading {
  font-family: 'Outfit', sans-serif;
  letter-spacing: -0.02em;
}

code, pre, .font-mono {
  font-family: 'JetBrains Mono', monospace;
}

/* Background Grids & Dots */
.bg-tech-grid {
  background-size: 36px 36px;
  background-image: 
    linear-gradient(to right, rgba(0, 0, 0, 0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0, 0, 0, 0.04) 1px, transparent 1px);
}

.bg-tech-grid-dark {
  background-size: 32px 32px;
  background-image: 
    linear-gradient(to right, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
}

.bg-tech-dots {
  background-image: radial-gradient(rgba(0, 0, 0, 0.08) 1.2px, transparent 1.2px);
  background-size: 20px 20px;
}

/* Yellow Glow & Shadows */
.yellow-glow {
  box-shadow: 0 0 25px rgba(255, 229, 0, 0.35);
}

.yellow-glow-sm {
  box-shadow: 0 0 12px rgba(255, 229, 0, 0.25);
}

.yellow-glow-lg {
  box-shadow: 0 10px 40px -10px rgba(255, 229, 0, 0.5);
}

.yellow-border-glow:hover {
  border-color: #FFE500;
  box-shadow: 0 0 20px rgba(255, 229, 0, 0.28);
}

.subtle-black-card {
  background: #0F1115;
  border: 1px solid #242933;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #F8F9FA;
}
::-webkit-scrollbar-thumb {
  background: #FFE500;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #E6CE00;
}

/* Animations */
@keyframes pulseSubtle {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.85;
    transform: scale(1.02);
  }
}

.animate-pulse-subtle {
  animation: pulseSubtle 3s ease-in-out infinite;
}

@keyframes floatSlow {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-8px);
  }
}

.animate-float {
  animation: floatSlow 5s ease-in-out infinite;
}

/* Terminal Styling */
.terminal-cursor {
  display: inline-block;
  width: 9px;
  height: 1.1em;
  background-color: #FFE500;
  vertical-align: middle;
  animation: blink 1s step-end infinite;
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

/* Interactive Accordions / Tabs */
.tab-active {
  background-color: #FFE500 !important;
  color: #0F1115 !important;
  font-weight: 700;
  border-color: #FFE500 !important;
}

/* Toast Notification */
#toast-notification {
  transform: translateY(120%);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
}

#toast-notification.show {
  transform: translateY(0);
}

/* Modal Backdrop */
.modal-overlay {
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

