:root { --accent: #d4af37; }
html { scroll-behavior: smooth; scrollbar-color: #3a3325 #060607; }
html, body { margin: 0; padding: 0; background: #060607; }
body { overflow-x: hidden; }
::selection { background: #d4af37; color: #0a0a0b; }

@keyframes shimmer { 0% { background-position: 200% center; } 100% { background-position: -200% center; } }
@keyframes nebulaA { 0%,100% { transform: translate(-50%,0) rotate(0deg) scale(1); opacity: .85; } 50% { transform: translate(-46%,-4%) rotate(8deg) scale(1.12); opacity: 1; } }
@keyframes nebulaB { 0%,100% { transform: translate(0,0) rotate(0deg) scale(1); } 50% { transform: translate(-5%,6%) rotate(-10deg) scale(1.15); } }
@keyframes nebulaC { 0%,100% { transform: translate(0,0) scale(1); opacity: .5; } 50% { transform: translate(6%,-5%) scale(1.2); opacity: .8; } }
@keyframes riseP { 0% { transform: translateY(0); opacity: 0; } 12% { opacity: .9; } 88% { opacity: .9; } 100% { transform: translateY(-110vh); opacity: 0; } }
@keyframes bob { 0%,100% { transform: translateY(0); opacity: .9; } 50% { transform: translateY(10px); opacity: .4; } }
@keyframes floaty { 0%,100% { transform: translateY(0px); } 50% { transform: translateY(-14px); } }
@keyframes nodePulse { 0%,100% { box-shadow: 0 0 0 0 rgba(212,175,55,.45); } 70% { box-shadow: 0 0 0 14px rgba(212,175,55,0); } }
@keyframes twinkle { 0%,100% { opacity: .14; } 50% { opacity: .65; } }
@keyframes flyIn { 0% { opacity: 0; transform: translate(var(--dx), var(--dy)) rotate(var(--rot)) scale(1.5); filter: blur(8px); } 65% { opacity: 1; } 100% { opacity: 1; transform: translate(0,0) rotate(0deg) scale(1); filter: blur(0); } }
@keyframes introBloom { 0% { filter: drop-shadow(0 0 0 rgba(255,235,170,0)); transform: scale(1); } 38% { filter: drop-shadow(0 0 26px rgba(255,240,190,.8)) drop-shadow(0 0 80px rgba(212,175,55,.45)); transform: scale(1.025); } 100% { filter: drop-shadow(0 0 10px rgba(212,175,55,.28)); transform: scale(1); } }
@keyframes textSheen { 0% { background-position: 150% 0; } 100% { background-position: -50% 0; } }
@keyframes flareX { 0% { width: 0; opacity: 0; } 30% { opacity: 1; } 100% { width: min(92vw,1250px); opacity: 0; } }
@keyframes flareCore { 0% { transform: translate(-50%,-50%) scale(0); opacity: 0; } 32% { transform: translate(-50%,-50%) scale(1.5); opacity: 1; } 100% { transform: translate(-50%,-50%) scale(2.6); opacity: 0; } }
@keyframes fadeUp { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
@keyframes pinPulse { 0% { transform: translate(-50%,-50%) scale(.6); opacity: .8; } 100% { transform: translate(-50%,-50%) scale(2.6); opacity: 0; } }
@keyframes arcDraw { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
