.fg-splash{background:radial-gradient(circle at 50% 34%, hsl(var(--primary) / .22), transparent 33%), #050507;color:#fff;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.fg-stage{flex-direction:column;justify-content:center;align-items:center;gap:clamp(1rem,4vh,2rem);width:min(92vw,620px);max-height:92vh;display:flex;position:relative}.fg-emblem-stage{aspect-ratio:1;width:clamp(220px,55vw,390px);position:relative}.fg-target{transform-origin:50%;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.fg-target svg{width:100%;height:100%;filter:drop-shadow(0 0 10px hsl(var(--primary-glow) / .8));overflow:visible}.fg-target circle{fill:none;stroke:hsl(var(--primary));stroke-width:7px;stroke-linecap:round;stroke-dasharray:74 26;stroke-dashoffset:430px;animation:.75s cubic-bezier(.2,.75,.2,1) .28s forwards fgRingDraw,1.9s ease-in-out 1.6s infinite fgRingPulse}.fg-tick{background:hsl(var(--primary));box-shadow:0 0 10px hsl(var(--primary) / .9), 0 0 24px hsl(var(--primary-glow) / .72);opacity:0;border-radius:4px;animation:.32s cubic-bezier(.2,.8,.2,1) forwards fgTickOn;position:absolute;transform:scale(.25)}.fg-t1,.fg-t2{width:8px;height:31px;margin-left:-4px;left:50%}.fg-t1{animation-delay:.1s;top:-16px}.fg-t2{animation-delay:.19s;bottom:-16px}.fg-t3,.fg-t4{width:31px;height:8px;margin-top:-4px;top:50%}.fg-t3{animation-delay:.28s;left:-16px}.fg-t4{animation-delay:.37s;right:-16px}.fg-logo-wrap{opacity:0;transform-origin:50%;justify-content:center;align-items:center;width:100%;height:100%;animation:.62s cubic-bezier(.18,.88,.26,1.18) .72s forwards fgLogoLock;display:flex;position:absolute;inset:0}.fg-logo{width:72%;height:auto;filter:drop-shadow(0 0 12px hsl(var(--primary-glow) / .24));display:block}.fg-impact{border:2px solid hsl(var(--primary));opacity:0;width:58px;height:58px;filter:drop-shadow(0 0 10px hsl(var(--primary)));border-radius:50%;animation:.45s ease-out 1.05s forwards fgImpact;position:absolute;top:28%}.fg-impact-l{left:10%}.fg-impact-r{right:10%}.fg-shine{opacity:0;background:linear-gradient(90deg, transparent, #ffffffbf, hsl(var(--primary) / .4), transparent);filter:blur(2px);mix-blend-mode:screen;width:20%;height:17%;animation:1s ease-in-out 1.35s forwards fgShine;position:absolute;top:67%;left:-26%;transform:skew(-18deg)}.fg-loader{opacity:0;width:min(62%,320px);animation:.3s 1.02s forwards fgFadeIn}.fg-track{background:#ffffff29;border-radius:999px;height:5px;overflow:hidden}.fg-fill{border-radius:inherit;background:linear-gradient(90deg, hsl(var(--primary)), hsl(var(--primary-glow)));width:0;height:100%;box-shadow:0 0 12px hsl(var(--primary) / .78);animation:2s cubic-bezier(.25,.7,.2,1) 1.05s infinite fgLoad}.fg-loading{text-align:center;letter-spacing:.27em;color:#fffc;margin-top:14px;font-size:15px}.fg-beam{background:linear-gradient(transparent, hsl(var(--primary) / .5), transparent);opacity:.4;width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}[data-accent=gray] .fg-target svg,[data-accent=gray] .fg-tick,[data-accent=gray] .fg-fill,[data-accent=gray] .fg-shine,[data-accent=gray] .fg-impact{filter:brightness(1.25)saturate(.25)}@keyframes fgTickOn{to{opacity:1;transform:scale(1)}}@keyframes fgRingDraw{to{stroke-dashoffset:0}}@keyframes fgRingPulse{0%,to{opacity:.82}50%{opacity:1}}@keyframes fgLogoLock{0%{opacity:0;transform:scale(.86)}72%{opacity:1;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes fgImpact{0%{opacity:.8;transform:scale(.5)}to{opacity:0;transform:scale(1.55)}}@keyframes fgShine{0%{opacity:0;left:-26%}12%{opacity:.85}88%{opacity:.65}to{opacity:0;left:112%}}@keyframes fgFadeIn{to{opacity:1}}@keyframes fgLoad{0%{width:0}68%{width:92%}88%{width:96%}to{width:92%}}.fg-splash.fg-exit{animation:.25s forwards fgSplashOut}@keyframes fgSplashOut{to{opacity:0}}@media (prefers-reduced-motion:reduce){.fg-splash *{animation:none!important}.fg-target circle{stroke-dashoffset:0}.fg-tick,.fg-logo-wrap,.fg-loader{opacity:1}.fg-fill{width:92%}.fg-splash.fg-exit{animation:.25s forwards fgSplashOut}}
