.tsf-opening-scene{display:none}.tsf-opening .tsf-opening-scene{display:flex;position:fixed;inset:0;z-index:200;align-items:center;justify-content:center;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 50% 60%,#102343 0,#080c13 65%);animation:tsf-curtain 1.35s both}.tsf-opening-logo{position:relative;width:min(66vw,620px);aspect-ratio:3;z-index:2}.tsf-opening-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.tsf-logo-trace{filter:brightness(0) saturate(100%) invert(46%) sepia(98%) saturate(3486%) hue-rotate(205deg) brightness(108%) contrast(105%) drop-shadow(0 0 9px #2878ff);animation:tsf-trace 1.35s both}.tsf-logo-color{animation:tsf-color 1.35s both}.tsf-opening-halo{position:absolute;left:15%;right:15%;height:20%;top:57%;background:radial-gradient(ellipse,#2878ff35,transparent 66%);filter:blur(14px);animation:tsf-halo 1.35s both}.tsf-opening-road{position:absolute;width:110%;height:100px;left:-115%;top:calc(50% + min(12vw,110px));border-top:2px solid #bbdfff;border-radius:50%;box-shadow:0 -3px 8px #2878ff,0 -7px 24px #2878ff65;transform:rotate(-4deg);animation:tsf-road 1.15s .12s both}.tsf-opening-road:after{content:'';position:absolute;inset:-7px 0 0;border-top:1px solid #4c98ff;border-radius:50%;filter:blur(1px)}@keyframes tsf-curtain{0%,72%{opacity:1;visibility:visible}99%{visibility:visible}100%{opacity:0;visibility:hidden}}@keyframes tsf-trace{0%{opacity:0;clip-path:inset(0 100% 0 0)}12%{opacity:1}48%{opacity:1;clip-path:inset(0 0 0 0)}65%{opacity:.7;clip-path:inset(0 0 0 0)}100%{opacity:0;clip-path:inset(0 0 0 0)}}@keyframes tsf-color{0%,35%{opacity:0;transform:scale(.99)}58%,76%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.04)}}@keyframes tsf-road{0%{opacity:0;translate:0 0}18%{opacity:1}75%{opacity:1}100%{opacity:0;translate:220% 0}}@keyframes tsf-halo{0%{opacity:0}45%,75%{opacity:1}100%{opacity:0}}@media(max-width:600px){.tsf-opening-logo{width:83vw}.tsf-opening-road{height:65px}}@media(prefers-reduced-motion:reduce){.tsf-opening .tsf-opening-scene{display:none!important;animation:none}.tsf-opening-scene *{animation:none!important}}