:root{--ice: #8fe3ff;--sky: #5fc8ff;--glacier: #b9f1ff;--deep: #2a6bff;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:#000;color:#fff;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#root{position:relative;min-height:100%}.aurora{position:fixed;top:-20%;right:-20%;bottom:-20%;left:-20%;filter:blur(50px) saturate(115%);opacity:1;pointer-events:none}.ribbon{position:absolute;border-radius:50%;mix-blend-mode:screen;will-change:transform}.ribbon-1{width:70vmax;height:22vmax;left:5%;top:18%;background:radial-gradient(closest-side,rgba(140,205,255,.85),transparent);animation:drift-a 18s ease-in-out infinite alternate}.ribbon-2{width:60vmax;height:18vmax;right:0;top:30%;background:radial-gradient(closest-side,rgba(100,170,255,.75),transparent);animation:drift-b 23s ease-in-out infinite alternate}.ribbon-3{width:55vmax;height:26vmax;left:20%;top:5%;background:radial-gradient(closest-side,rgba(190,225,255,.6),transparent);animation:drift-c 29s ease-in-out infinite alternate}.ribbon-4{width:45vmax;height:16vmax;left:30%;top:45%;background:radial-gradient(closest-side,rgba(80,120,255,.5),transparent);animation:drift-a 35s ease-in-out infinite alternate-reverse}@keyframes drift-a{0%{transform:translate3d(-8%,0,0) rotate(-12deg) scaleY(.8)}50%{transform:translate3d(6%,4%,0) rotate(-4deg) scaleY(1.15)}to{transform:translate3d(12%,-3%,0) rotate(-16deg) scaleY(.9)}}@keyframes drift-b{0%{transform:translate3d(10%,-4%,0) rotate(14deg) scaleX(1.1)}to{transform:translate3d(-14%,6%,0) rotate(4deg) scaleX(.85)}}@keyframes drift-c{0%{transform:translateZ(0) rotate(-6deg)}50%{transform:translate3d(-10%,8%,0) rotate(8deg) scale(1.1)}to{transform:translate3d(8%,2%,0) rotate(-2deg) scale(.95)}}.stars{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}.cursor-glow{position:fixed;left:0;top:0;width:42rem;height:42rem;transform:translate(calc(var(--x, 50vw) - 50%),calc(var(--y, 50vh) - 50%));background:radial-gradient(closest-side,rgba(143,227,255,.16),transparent 70%);opacity:0;transition:opacity .6s ease;pointer-events:none}.grain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.stage{position:relative;z-index:1;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;padding:1.5rem;text-align:center}.logo{width:clamp(72px,14vw,112px);height:auto;border-radius:24%;box-shadow:0 0 40px #8fe3ff73,0 0 120px #5fc8ff40;animation:float 6s ease-in-out infinite,appear 1.2s cubic-bezier(.2,.8,.2,1) both}.title{margin:0;font-size:clamp(3rem,12vw,7.5rem);font-weight:800;letter-spacing:-.04em;line-height:1;color:#fff;text-shadow:0 0 24px rgba(140,205,255,.85),0 0 64px rgba(95,200,255,.35);animation:appear 1.2s .15s cubic-bezier(.2,.8,.2,1) both}@supports (background-clip: text){.title{background:linear-gradient(110deg,#fff 35%,var(--glacier) 48%,#fff 52%,#fff 65%) 0 0 / 250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 22px rgba(143,227,255,.45));text-shadow:none;animation:appear 1.2s .15s cubic-bezier(.2,.8,.2,1) both,sheen 6s 1.5s ease-in-out infinite}}.subtitle{margin:0;font-size:clamp(1rem,3.2vw,1.4rem);font-weight:500;letter-spacing:.35em;text-transform:uppercase;color:#fff;opacity:.9;animation:appear 1.2s .35s cubic-bezier(.2,.8,.2,1) both}.dots i{font-style:normal;animation:blink 1.4s infinite both}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes appear{0%{opacity:0;transform:translateY(14px) scale(.98);filter:blur(6px)}}@keyframes sheen{0%,to{background-position:100% 0}50%{background-position:0% 0}}@keyframes blink{0%,80%,to{opacity:.2}40%{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
