.splash{position:fixed;inset:0;z-index:9999;
  background:#0B0B0C;
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:32px;
  transition:opacity .6s ease,visibility .6s ease}
.splash.hide{opacity:0;visibility:hidden;pointer-events:none}

.splash-logo{
  font-family:'Inter',system-ui,sans-serif;
  font-size:42px;font-weight:900;letter-spacing:-.03em;
  color:#fff;position:relative;
  display:flex;align-items:baseline;gap:8px;
  animation:logoFloat 3s ease-in-out infinite}
.splash-logo b{
  background:linear-gradient(135deg,#fff 0%,#a0a0a8 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:0 0 40px rgba(255,255,255,.15)}
.splash-logo span{
  font-weight:300;color:#6b6b70;font-size:42px;
  letter-spacing:-.02em}

.splash-loader{
  position:relative;width:64px;height:64px}
.splash-loader::before,.splash-loader::after{
  content:'';position:absolute;inset:0;
  border-radius:50%;
  border:2px solid transparent}
.splash-loader::before{
  border-top-color:#fff;
  animation:spin 1s linear infinite}
.splash-loader::after{
  inset:8px;
  border-right-color:rgba(255,255,255,.4);
  animation:spin 1.5s linear infinite reverse}

.splash-loader-core{
  position:absolute;inset:50%;
  width:8px;height:8px;margin:-4px 0 0 -4px;
  border-radius:50%;background:#fff;
  box-shadow:0 0 20px rgba(255,255,255,.6);
  animation:pulse 2s ease-in-out infinite}

.splash-txt{
  font-size:12px;font-weight:500;
  color:#6b6b70;letter-spacing:.12em;
  text-transform:uppercase;
  animation:txtFade 2s ease-in-out infinite}

.splash-dots{display:flex;gap:6px;margin-top:8px}
.splash-dots span{
  width:4px;height:4px;border-radius:50%;
  background:#3a3a3e;animation:dotsPulse 1.4s ease-in-out infinite}
.splash-dots span:nth-child(2){animation-delay:.2s}
.splash-dots span:nth-child(3){animation-delay:.4s}

@keyframes logoFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}
@keyframes spin{
  to{transform:rotate(360deg)}
}
@keyframes pulse{
  0%,100%{transform:scale(1);opacity:.6}
  50%{transform:scale(1.4);opacity:1}
}
@keyframes txtFade{
  0%,100%{opacity:.5}
  50%{opacity:1}
}
@keyframes dotsPulse{
  0%,80%,100%{opacity:.3;transform:scale(.8)}
  40%{opacity:1;transform:scale(1.2)}
}