/* AqiNode — Reset & Design Tokens */
/* @import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&family=JetBrains+Mono:wght@400;500;600&display=swap'); */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  /* Colors */
  --bg-primary:    #04050a;
  --bg-secondary:  #080b12;
  --bg-card:       #0c1018;
  --bg-card-hover: #101520;
  --accent:        #26fffa;
  --accent-bright: #00b4ff;
  --accent-glow:   rgba(26, 140, 255, 0.18);
  --accent-glow2:  rgba(0, 180, 255, 0.08);
  --violet:        #0e623a;
  --coral:         #ff5c3a;
  --text-primary:  #eef2ff;
  --text-secondary:#8b96b0;
  --text-muted:    #3d4a5c;
  --border:        rgba(255,255,255,0.06);
  --border-accent: rgba(26, 140, 255, 0.3);
  --glass:         rgba(255,255,255,0.03);

  /* Typography */
  --font-display: 'Syne', sans-serif;
  --font-body:    'DM Sans', sans-serif;
  --font-mono:    'JetBrains Mono', monospace;

  /* Spacing */
  --nav-h: 72px;
  --max-w: 1200px;
  --section-py: clamp(80px, 10vw, 140px);

  /* Transitions */
  --t-fast:   150ms cubic-bezier(0.4,0,0.2,1);
  --t-med:    300ms cubic-bezier(0.4,0,0.2,1);
  --t-slow:   600ms cubic-bezier(0.4,0,0.2,1);

  /* Shadows */
  --shadow-sm:  0 2px 8px rgba(0,0,0,0.4);
  --shadow-md:  0 8px 32px rgba(0,0,0,0.5);
  --shadow-lg:  0 24px 64px rgba(0,0,0,0.6);
  --glow-blue:  0 0 40px rgba(26,140,255,0.25), 0 0 80px rgba(26,140,255,0.1);
}

[data-theme="light"] {
  --bg-primary:    #f4f6fb;
  --bg-secondary:  #eaecf4;
  --bg-card:       #ffffff;
  --bg-card-hover: #f0f2fa;
  --accent:        #1a6fd4;
  --accent-bright: #0099e6;
  --accent-glow:   rgba(26, 111, 212, 0.12);
  --accent-glow2:  rgba(0, 153, 230, 0.07);
  --text-primary:  #0d1117;
  --text-secondary:#3d4a5e;
  --text-muted:    #8899aa;
  --border:        rgba(0,0,0,0.08);
  --border-accent: rgba(26, 111, 212, 0.3);
  --glass:         rgba(0,0,0,0.04);
}

html { scroll-behavior: smooth; font-size: 16px; }

@media (hover: hover) and (min-width: 1025px) {
  body { cursor: none; }
}

body {
  font-family: var(--font-body);
  background: var(--bg-primary);
  color: var(--text-primary);
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* Custom cursor */
#cursor {
  position: fixed; top: 0; left: 0; z-index: 9999;
  pointer-events: none;
  mix-blend-mode: screen;
}
#cursor .dot {
  position: absolute; transform: translate(-50%,-50%);
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--accent-bright);
  transition: transform var(--t-fast), opacity var(--t-fast);
}
#cursor .ring {
  position: absolute; transform: translate(-50%,-50%);
  width: 32px; height: 32px; border-radius: 50%;
  border: 1.5px solid rgba(0,180,255,0.5);
  transition: width 0.3s, height 0.3s, border-color 0.3s, transform 0.12s;
}

/* Scrollbar */
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: var(--bg-primary); }
::-webkit-scrollbar-thumb { background: var(--accent); border-radius: 2px; }

/* Selection */
::selection { background: rgba(26,140,255,0.3); color: #fff; }

/* Base elements */
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
ul { list-style: none; }
button { cursor: none; border: none; background: none; font-family: inherit; }

/* Utility */
.container { max-width: var(--max-w); margin: 0 auto; padding: 0 clamp(20px, 5vw, 60px); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

/* Reveal animations */
.reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.7s cubic-bezier(0.4,0,0.2,1), transform 0.7s cubic-bezier(0.4,0,0.2,1);
}
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-left { opacity: 0; transform: translateX(-32px); transition: opacity 0.7s, transform 0.7s; }
.reveal-left.visible { opacity: 1; transform: translateX(0); }
.reveal-right { opacity: 0; transform: translateX(32px); transition: opacity 0.7s, transform 0.7s; }
.reveal-right.visible { opacity: 1; transform: translateX(0); }

.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.delay-4 { transition-delay: 0.4s; }
.delay-5 { transition-delay: 0.5s; }
.delay-6 { transition-delay: 0.6s; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
  .reveal, .reveal-left, .reveal-right { opacity: 1 !important; transform: none !important; }
}

@media (hover: none), (max-width: 1024px) {
  body { cursor: auto; }
  #cursor { display: none; }
}



.ripple {
  position: fixed;
  border-radius: 50%;
  background: rgba(0, 150, 255, 0.4);
  transform: scale(0);
  pointer-events: none;
  animation: ripple-animation 600ms ease-out;
  z-index: 9999;
}

@keyframes ripple-animation {
  to {
    transform: scale(6);
    opacity: 0;
  }
}