/* ══════════════════════════════════════
   ATMOSPHERE — grid-bg, orbs, cursor-glow, accent-glow
══════════════════════════════════════ */

/* grid background */
.grid-bg {
  position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background-image:
    linear-gradient(var(--grid-color) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-color) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, black 20%, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, black 20%, transparent 70%);
}

/* floating orbs */
.orb { position: fixed; border-radius: 50%; pointer-events: none; z-index: 0; filter: blur(80px); will-change: transform; }
.orb-1 { width: 500px; height: 500px; top: -10%; left: -5%; background: radial-gradient(circle, rgba(212,136,74,0.15) 0%, transparent 70%); animation: orbFloat1 22s ease-in-out infinite; }
.orb-2 { width: 400px; height: 400px; top: 15%; right: -8%; background: radial-gradient(circle, rgba(90,154,181,0.10) 0%, transparent 70%); animation: orbFloat2 26s ease-in-out infinite; }
.orb-3 { width: 450px; height: 450px; bottom: 5%; left: 20%; background: radial-gradient(circle, rgba(212,136,74,0.08) 0%, transparent 70%); animation: orbFloat3 30s ease-in-out infinite; }
[data-theme="light"] .orb-1 { background: radial-gradient(circle, rgba(181,105,46,0.10) 0%, transparent 70%); }
[data-theme="light"] .orb-2 { background: radial-gradient(circle, rgba(61,122,149,0.08) 0%, transparent 70%); }
[data-theme="light"] .orb-3 { background: radial-gradient(circle, rgba(181,105,46,0.06) 0%, transparent 70%); }
@keyframes orbFloat1 { 0%,100%{transform:translate(0,0) scale(1);} 33%{transform:translate(40px,30px) scale(1.05);} 66%{transform:translate(-20px,-15px) scale(0.97);} }
@keyframes orbFloat2 { 0%,100%{transform:translate(0,0) scale(1);} 33%{transform:translate(-35px,25px) scale(0.96);} 66%{transform:translate(25px,-20px) scale(1.04);} }
@keyframes orbFloat3 { 0%,100%{transform:translate(0,0) scale(1);} 33%{transform:translate(30px,-25px) scale(1.03);} 66%{transform:translate(-15px,30px) scale(0.98);} }

/* cursor glow */
.cursor-glow {
  position: fixed; width: 400px; height: 400px; border-radius: 50%;
  background: radial-gradient(circle, var(--amber-glow) 0%, transparent 65%);
  pointer-events: none; z-index: 0;
  transform: translate(-50%, -50%);
  opacity: 0; transition: opacity 0.6s;
  will-change: transform;
}
body:hover .cursor-glow { opacity: 0.4; }
[data-theme="light"] body:hover .cursor-glow { opacity: 0.2; }

/* accent glow — about page uses this instead of orbs */
.accent-glow {
  position: fixed; top: -300px; left: 50%; transform: translateX(-50%);
  width: 900px; height: 600px; pointer-events: none; z-index: 0;
  background: radial-gradient(ellipse, var(--amber-glow) 0%, transparent 60%);
  opacity: 0.5;
}
