.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s var(--ease), transform .7s var(--ease); }.reveal.is-visible { opacity: 1; transform: none; }.reveal-stagger > * { opacity: 0; transform: translateY(18px); transition: opacity .6s var(--ease), transform .6s var(--ease); }.reveal-stagger.is-visible > * { opacity: 1; transform: none; }.reveal-stagger.is-visible > *:nth-child(2) { transition-delay: .07s; }.reveal-stagger.is-visible > *:nth-child(3) { transition-delay: .14s; }.reveal-stagger.is-visible > *:nth-child(4) { transition-delay: .21s; }.reveal-stagger.is-visible > *:nth-child(5) { transition-delay: .28s; }
@keyframes pulse { 50% { opacity: .35; } }
.konami-unlocked .bg-grid { opacity: .55; animation: grid-shift 4s linear infinite; }
@keyframes grid-shift { to { background-position: 52px 52px; } }
.has-custom-cursor, .has-custom-cursor * { cursor: none !important; }
.cursor-glow, .cursor-smoke { position: fixed; z-index: 100; top: 0; left: 0; pointer-events: none; }
.cursor-glow { width: 18px; height: 18px; margin: -9px 0 0 -9px; border: 1px solid color-mix(in srgb, var(--accent) 75%, transparent); border-radius: 50%; opacity: 0; background: radial-gradient(circle, color-mix(in srgb, var(--accent) 65%, transparent), transparent 68%); box-shadow: 0 0 24px color-mix(in srgb, var(--accent) 55%, transparent); transition: opacity .2s ease, width .25s var(--ease), height .25s var(--ease); }
.cursor-glow.is-visible { opacity: .9; }
.cursor-smoke { inset: 0; overflow: hidden; }
.cursor-smoke__particle { position: absolute; width: var(--smoke-size); height: var(--smoke-size); margin: calc(var(--smoke-size) / -2) 0 0 calc(var(--smoke-size) / -2); border-radius: 50%; background: radial-gradient(circle at 38% 38%, color-mix(in srgb, var(--accent) 72%, transparent), color-mix(in srgb, var(--accent) 28%, transparent) 46%, transparent 74%); filter: blur(8px); opacity: .38; animation: cursor-smoke-drift var(--smoke-duration) var(--ease) forwards; }
@keyframes cursor-smoke-drift { 0% { opacity: 0; transform: translate3d(0, 0, 0) scale(.65); } 16% { opacity: .42; } 72% { opacity: .2; } 100% { opacity: 0; transform: translate3d(var(--smoke-drift-x), var(--smoke-drift-y), 0) scale(2.8); } }
@media (prefers-reduced-motion: reduce), (pointer: coarse) { .cursor-glow, .cursor-smoke { display: none; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }.reveal, .reveal-stagger > * { opacity: 1; transform: none; } }
