.startup-layer{display:none}
html[data-startup] body{background:#100e0b}
html[data-startup] .startup-layer{position:fixed;inset:0;z-index:40;display:grid;place-items:center;color:#fff6e9;pointer-events:none}
html[data-startup="loading"] .transition-scroll{visibility:hidden;opacity:0}
.startup-identity{display:flex;flex-direction:column;align-items:center;gap:19px;opacity:0;animation:startup-identity-in .2s ease .22s forwards}
.startup-identity>span{font-size:18px;letter-spacing:-.035em}
.startup-mark{position:relative;width:52px;height:52px;perspective:180px}
.startup-mark img{width:100%;height:100%;animation:startup-fallback-spin 1.8s linear infinite}
.startup-mark canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0}
.startup-mark.is-ready img{visibility:hidden}
.startup-mark.is-ready canvas{opacity:1}
.startup-line{position:absolute;left:50%;top:50%;height:2px;width:94vw;background:#fff3d7;box-shadow:0 0 10px #ffe8b7,0 0 25px #ffb46e80;opacity:0;transform:translate(-50%,-50%) scaleX(.015)}
html[data-startup="opening"] .transition-scroll{visibility:visible;animation:room-power-on .68s cubic-bezier(.16,1,.3,1) both}
html[data-startup="opening"] .startup-identity{animation:none;opacity:0}
html[data-startup="opening"] .startup-line{animation:startup-line .68s ease-out both}
@keyframes startup-identity-in{to{opacity:1}}
@keyframes startup-fallback-spin{to{transform:rotateY(360deg)}}
@keyframes room-power-on{
 0%,14%{clip-path:inset(calc(50% - 1px) 50%);opacity:.6}
 35%{clip-path:inset(calc(50% - 1px) 0);opacity:.9}
 100%{clip-path:inset(0);opacity:1}
}
@keyframes startup-line{
 0%{opacity:0;transform:translate(-50%,-50%) scaleX(.015)}
 12%{opacity:.85;transform:translate(-50%,-50%) scaleX(.04)}
 33%{opacity:.8;transform:translate(-50%,-50%) scaleX(1)}
 60%,100%{opacity:0;transform:translate(-50%,-50%) scaleX(1)}
}
@media(prefers-reduced-motion:reduce){
 .startup-mark img{animation:none}
 .startup-identity{animation:none;opacity:1}
 html[data-startup="opening"] .transition-scroll{animation:none}
 html[data-startup="opening"] .startup-line{animation:none}
}
