html.dksp-preloader-pending, html.dksp-preloader-pending body { overflow: hidden !important; }
.dksp-preloader { position:fixed; inset:0; z-index:999999; display:none; align-items:center; justify-content:center; overflow:hidden; background:#080910; color:#f8fafc; opacity:1; visibility:visible; transition:opacity .7s ease,visibility .7s ease; }
html.dksp-preloader-pending .dksp-preloader { display:flex; }
html.dksp-preloader-skip .dksp-preloader, html.dksp-preloader-done .dksp-preloader { opacity:0; visibility:hidden; pointer-events:none; }
.dksp-preloader__content { position:relative; z-index:2; width:min(92vw,440px); padding:30px 18px; text-align:center; animation:dksp-content-in .65s ease both; }
.dksp-preloader__name { font-family:inherit; font-size:clamp(28px,4.2vw,38px); font-weight:800; line-height:1.15; letter-spacing:.015em; }
.dksp-preloader__name span { color:#a855f7; }
.dksp-preloader__subtitle { display:flex; align-items:center; justify-content:center; gap:13px; margin-top:16px; color:#777483; font-size:11px; font-weight:700; letter-spacing:.28em; }
.dksp-preloader__subtitle i { display:block; width:30px; height:1px; background:rgba(168,85,247,.55); }
.dksp-preloader__progress { width:min(280px,76vw); height:4px; margin:42px auto 0; overflow:hidden; border-radius:99px; background:#1b1b24; }
.dksp-preloader__progress span { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#7c3aed,#c084fc); box-shadow:0 0 15px rgba(168,85,247,.45); animation:dksp-progress 2.45s cubic-bezier(.45,0,.25,1) forwards; }
.dksp-preloader__words { display:flex; justify-content:center; gap:clamp(12px,2.4vw,24px); margin-top:34px; color:#555361; font-size:11px; font-weight:800; letter-spacing:.16em; white-space:nowrap; }
.dksp-preloader__words span { animation:dksp-word-pulse 1.5s ease-in-out infinite; }
.dksp-preloader__words span:nth-child(2) { animation-delay:.25s; }
.dksp-preloader__words span:nth-child(3) { animation-delay:.5s; }
.dksp-preloader__particles { position:absolute; inset:0; pointer-events:none; }
.dksp-preloader__particles span { position:absolute; left:var(--x); top:var(--y); width:var(--s); height:var(--s); border-radius:50%; background:#a855f7; opacity:.65; animation:dksp-float var(--d) ease-in-out infinite alternate; }
.dksp-preloader__particles span:nth-child(1){--x:11%;--y:72%;--s:3px;--d:3.8s}
.dksp-preloader__particles span:nth-child(2){--x:22%;--y:54%;--s:2px;--d:4.5s}
.dksp-preloader__particles span:nth-child(3){--x:35%;--y:33%;--s:3px;--d:3.4s}
.dksp-preloader__particles span:nth-child(4){--x:44%;--y:78%;--s:5px;--d:4.1s}
.dksp-preloader__particles span:nth-child(5){--x:59%;--y:64%;--s:3px;--d:3.6s}
.dksp-preloader__particles span:nth-child(6){--x:71%;--y:44%;--s:4px;--d:4.4s}
.dksp-preloader__particles span:nth-child(7){--x:83%;--y:35%;--s:3px;--d:3.9s}
.dksp-preloader__particles span:nth-child(8){--x:93%;--y:66%;--s:4px;--d:4.7s}
.dksp-preloader__particles span:nth-child(9){--x:15%;--y:39%;--s:2px;--d:3.2s}
.dksp-preloader__particles span:nth-child(10){--x:29%;--y:82%;--s:3px;--d:4.2s}
.dksp-preloader__particles span:nth-child(11){--x:67%;--y:24%;--s:2px;--d:3.5s}
.dksp-preloader__particles span:nth-child(12){--x:78%;--y:76%;--s:5px;--d:4.6s}
.dksp-preloader__particles span:nth-child(13){--x:5%;--y:60%;--s:2px;--d:4.1s}
.dksp-preloader__particles span:nth-child(14){--x:51%;--y:19%;--s:3px;--d:3.7s}
.dksp-preloader__particles span:nth-child(15){--x:97%;--y:47%;--s:2px;--d:4.3s}
.dksp-preloader__particles span:nth-child(16){--x:39%;--y:58%;--s:2px;--d:3.3s}
.dksp-preloader__particles span:nth-child(17){--x:62%;--y:84%;--s:3px;--d:4.8s}
.dksp-preloader__particles span:nth-child(18){--x:88%;--y:22%;--s:2px;--d:3.6s}
.dksp-preloader__particles span:nth-child(19){--x:25%;--y:25%;--s:4px;--d:4.4s}
.dksp-preloader__particles span:nth-child(20){--x:75%;--y:58%;--s:2px;--d:3.9s}
@keyframes dksp-progress { to { width:100%; } }
@keyframes dksp-word-pulse { 0%,100% { color:#555361; } 35% { color:#b56cff; } }
@keyframes dksp-float { from { transform:translate3d(0,0,0); opacity:.25; } to { transform:translate3d(8px,-13px,0); opacity:.8; } }
@keyframes dksp-content-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:520px) { .dksp-preloader__subtitle { gap:8px; font-size:9px; letter-spacing:.18em; } .dksp-preloader__subtitle i { width:20px; } .dksp-preloader__words { font-size:9px; letter-spacing:.12em; } .dksp-preloader__progress { margin-top:34px; } }
@media(prefers-reduced-motion:reduce) { .dksp-preloader, .dksp-preloader *, .dksp-preloader *::before, .dksp-preloader *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } }
