#desktop-splash {
  position: fixed; inset: 0; z-index: 99999;
  background: #0f0a06;
  display: flex; align-items: center; justify-content: center;
  flex-direction: column;
  font-family: 'DM Sans', 'Segoe UI', system-ui, sans-serif;
  overflow: hidden;
  opacity: 1;
  transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
#desktop-splash.ds-hide {
  opacity: 0;
  pointer-events: none;
}
/* Ambient glows */
.ds-glow-tr {
  position: absolute; top: -160px; right: -120px;
  width: 480px; height: 480px; border-radius: 50%;
  background: radial-gradient(circle, rgba(217,119,6,0.18) 0%, rgba(217,119,6,0.04) 50%, transparent 70%);
  filter: blur(60px);
  animation: dsGlowDrift 8s ease-in-out infinite;
}
.ds-glow-bl {
  position: absolute; bottom: -140px; left: -100px;
  width: 420px; height: 420px; border-radius: 50%;
  background: radial-gradient(circle, rgba(245,158,11,0.12) 0%, rgba(245,158,11,0.03) 50%, transparent 70%);
  filter: blur(50px);
  animation: dsGlowDrift2 10s ease-in-out infinite;
}
@keyframes dsGlowDrift {
  0%, 100% { transform: translate(0,0) scale(1); opacity: 0.35; }
  50% { transform: translate(20px,-10px) scale(1.15); opacity: 0.55; }
}
@keyframes dsGlowDrift2 {
  0%, 100% { transform: translate(0,0) scale(1); opacity: 0.25; }
  50% { transform: translate(-15px,12px) scale(1.1); opacity: 0.4; }
}
/* Grain */
.ds-grain {
  position: absolute; inset: 0; opacity: 0.03; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat: repeat; background-size: 128px;
}
/* Content */
.ds-content {
  position: relative; z-index: 1;
  display: flex; flex-direction: column; align-items: center;
  opacity: 0; transform: translateY(12px);
  animation: dsFadeIn 0.7s cubic-bezier(0.16,1,0.3,1) 0.1s forwards;
}
@keyframes dsFadeIn {
  to { opacity: 1; transform: translateY(0); }
}
/* Logo */
.ds-logo {
  width: 260px; margin-bottom: 32px;
  transform: translateX(-8%);
}
/* Spinning cashew */
.ds-cashew-wrap {
  width: 28px; height: 28px; margin-bottom: 20px;
  opacity: 0;
  animation: dsFadeIn 0.4s ease 0.6s forwards;
}
.ds-cashew-wrap svg {
  width: 100%; height: 100%;
  animation: dsSpin 2.5s linear infinite;
}
@keyframes dsSpin { to { transform: rotate(360deg); } }
/* Progress bar */
.ds-bar-track {
  width: 200px; height: 3px; border-radius: 2px;
  background: rgba(168,149,128,0.12);
  overflow: hidden; margin-bottom: 18px;
  opacity: 0;
  animation: dsFadeIn 0.3s ease 0.5s forwards;
}
.ds-bar-fill {
  height: 100%; border-radius: 2px; width: 0;
  background: linear-gradient(90deg, #b45309, #d97706, #f59e0b);
  position: relative; overflow: hidden;
  animation: dsBarFill 3.5s ease-out 0.7s forwards;
}
@keyframes dsBarFill {
  0% { width: 0; }
  20% { width: 30%; }
  50% { width: 60%; }
  75% { width: 82%; }
  90% { width: 92%; }
  100% { width: 100%; }
}
.ds-bar-shimmer {
  position: absolute; top: 0; left: 0; width: 50%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent);
  animation: dsShimmer 1.5s ease-in-out infinite;
}
@keyframes dsShimmer {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(300%); }
}
/* Text */
.ds-msg {
  font-size: 14px; color: #8a7a6a; margin: 0;
  letter-spacing: 0.02em; font-weight: 500;
  opacity: 0;
  animation: dsFadeIn 0.4s ease 0.8s forwards;
}
.ds-footer {
  position: absolute; bottom: -80px;
  font-size: 11px; color: #3d3225; margin: 0;
  letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600;
  opacity: 0;
  animation: dsFadeIn 0.4s ease 1s forwards;
}
