#soec-loader{position:fixed;inset:0;z-index:999999;background:radial-gradient(circle at 50% 48%,#16332e 0,#081513 42%,#030807 100%);display:flex;align-items:center;justify-content:center;overflow:hidden;opacity:1;pointer-events:auto}
#soec-loader.soec-done{animation:soecCurtain .7s ease forwards .1s;pointer-events:none}
.soec-scene{position:absolute;width:250px;height:190px;opacity:0;filter:drop-shadow(0 0 12px rgba(140,255,221,.12))}
.soec-left{top:2vh;left:2vw;animation:soecEnterLeft 1.05s cubic-bezier(.2,.8,.2,1) .15s forwards}
.soec-right{right:2vw;bottom:2vh;animation:soecEnterRight 1.05s cubic-bezier(.2,.8,.2,1) .4s forwards}
.soec-icon{position:absolute;width:110px;height:110px;opacity:0}
.soec-icon .soec-fill{fill:#dffaf0;stroke:none}
.soec-icon .soec-line{fill:none;stroke:#dffaf0;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.soec-icon .soec-hole{fill:#081513;stroke:none}
.soec-icon .soec-seam{fill:none;stroke:#081513;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.soec-left .soec-icon:first-child{left:0;top:0;animation:soecJitter 1.25s ease-in-out .3s forwards}
.soec-tent{left:105px;top:55px;animation:soecJitter 1.25s ease-in-out .45s forwards}
.soec-racket{right:95px;bottom:45px;animation:soecJitter 1.25s ease-in-out .58s forwards}
.soec-board{right:0;bottom:0;animation:soecJitter 1.25s ease-in-out .7s forwards}
.soec-loader-logo{text-align:center;color:#fff;opacity:0;transform:translateY(8px) scale(.96);animation:soecLogo 1.1s cubic-bezier(.18,.8,.2,1) 1.55s forwards}
.soec-loader-logo span{display:block;font:800 clamp(54px,10vw,120px)/.9 Arial,sans-serif;letter-spacing:.16em;text-shadow:0 0 30px rgba(180,255,230,.28)}
.soec-loader-logo small{display:block;margin-top:14px;font:600 10px/1 Arial,sans-serif;letter-spacing:.22em;opacity:.7}
@keyframes soecEnterLeft{0%{opacity:0;transform:translate(-90px,-55px) rotate(-10deg)}30%{opacity:1}65%{transform:translate(8px,5px) rotate(3deg)}100%{opacity:1;transform:none}}
@keyframes soecEnterRight{0%{opacity:0;transform:translate(90px,55px) rotate(10deg)}30%{opacity:1}65%{transform:translate(-8px,-5px) rotate(-3deg)}100%{opacity:1;transform:none}}
@keyframes soecJitter{0%{opacity:0;transform:scale(.65) rotate(-14deg)}15%{opacity:1}32%{transform:translate(6px,-4px) rotate(8deg)}47%{transform:translate(-6px,4px) rotate(-7deg)}62%{transform:translate(5px,1px) rotate(6deg)}77%{transform:translate(-4px,-2px) rotate(-4deg);opacity:1}100%{opacity:0;transform:scale(.9)}}
@keyframes soecLogo{0%{opacity:0;filter:blur(12px);transform:translateY(8px) scale(.94)}65%{opacity:1;filter:blur(0);transform:none}100%{opacity:1}}
@keyframes soecCurtain{0%{opacity:1}100%{opacity:0;visibility:hidden}}
@media (prefers-reduced-motion:reduce){#soec-loader{display:none!important}}
