:root[data-theme="dark"] #global-preloader {
  background:
    radial-gradient(circle at 50% 43%, rgba(66, 180, 143, .14), transparent 30%),
    radial-gradient(circle at 10% 90%, rgba(170, 140, 255, .08), transparent 26%),
    radial-gradient(circle at 94% 6%, rgba(255, 173, 92, .07), transparent 25%),
    linear-gradient(145deg, #0d1522, #172337);
}

.dplr-stage {
  position: absolute;
  inset: 0;
  display: none;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  color: #fff8e9;
}

:root[data-theme="dark"] #plr-root { display: none; }
:root[data-theme="dark"] .dplr-stage { display: grid; }

.dplr-grid {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .22;
  background-image:
    linear-gradient(rgba(105, 225, 180, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(105, 225, 180, .08) 1px, transparent 1px);
  background-size: 54px 54px;
  -webkit-mask-image: radial-gradient(circle at center, black, transparent 68%);
  mask-image: radial-gradient(circle at center, black, transparent 68%);
  animation: dplr-grid 3.2s ease-in-out infinite;
}

.dplr-burst {
  position: absolute;
  left: 50%;
  top: 42%;
  width: 260px;
  height: 260px;
  transform: translate(-50%, -50%);
}

.dplr-burst::before,
.dplr-burst::after {
  content: "";
  position: absolute;
  inset: 28px;
  border: 1px solid rgba(105, 225, 180, .18);
  border-radius: 50%;
  animation: dplr-ring 1.55s ease-out infinite;
}

.dplr-burst::after { inset: 5px; animation-delay: -.72s; }

.dplr-core {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 116px;
  height: 116px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 34px;
  background: linear-gradient(145deg, #243a45, #19322f);
  box-shadow: 0 24px 55px rgba(2,8,14,.5), 0 0 45px rgba(105,225,180,.13), inset 0 1px rgba(255,255,255,.1);
  animation: dplr-core 3.2s cubic-bezier(.2,.8,.25,1) infinite;
}

.dplr-basket {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 72px;
  height: 54px;
  transform: translate(-50%, -43%);
  animation: dplr-float 1.4s ease-in-out infinite;
}

.dplr-basket-body {
  position: absolute;
  left: 6px;
  right: 6px;
  bottom: 0;
  height: 37px;
  overflow: hidden;
  border-radius: 6px 6px 19px 19px;
  background: linear-gradient(145deg, #f3b663, #ce773c);
  box-shadow: inset 0 -8px rgba(112,56,25,.15), 0 8px 20px rgba(5,12,13,.25);
}

.dplr-basket-body::before,
.dplr-basket-body::after { content:""; position:absolute; background:rgba(111,54,25,.3); }
.dplr-basket-body::before { left:0; right:0; top:11px; height:3px; box-shadow:0 10px rgba(111,54,25,.3); }
.dplr-basket-body::after { top:0; bottom:0; left:20px; width:3px; box-shadow:25px 0 rgba(111,54,25,.3); }

.dplr-handle {
  position: absolute;
  left: 17px;
  top: 1px;
  width: 38px;
  height: 34px;
  border: 5px solid #efaa5e;
  border-bottom: 0;
  border-radius: 26px 26px 0 0;
}

.dplr-leaf {
  position: absolute;
  left: 29px;
  top: -8px;
  width: 22px;
  height: 30px;
  border-radius: 90% 8% 80% 15%;
  background: linear-gradient(145deg, #a9ee78, #43ba83);
  box-shadow: 0 5px 12px rgba(49,181,126,.3);
  transform: rotate(38deg);
}

.dplr-leaf::after { content:""; position:absolute; left:9px; top:3px; width:2px; height:22px; border-radius:2px; background:rgba(24,103,70,.48); }

.dplr-produce {
  position: absolute;
  left: 50%;
  top: 50%;
  display: grid;
  place-items: center;
  width: 43px;
  height: 43px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 15px;
  background: #1c2b3d;
  box-shadow: 0 10px 22px rgba(3,8,15,.38);
  animation: dplr-burst 3.2s cubic-bezier(.22,.8,.3,1) infinite;
}

.dplr-produce i { position: relative; display: block; }
.dplr-p1 { --dplr-x:-114px; --dplr-y:-73px; }
.dplr-p2 { --dplr-x:114px; --dplr-y:-73px; animation-delay:.08s; }
.dplr-p3 { --dplr-x:126px; --dplr-y:72px; animation-delay:.16s; }
.dplr-p4 { --dplr-x:-126px; --dplr-y:72px; animation-delay:.24s; }
.dplr-p5 { --dplr-x:0px; --dplr-y:-139px; animation-delay:.32s; }

.dplr-tomato i { width:22px; height:20px; border-radius:50% 50% 46% 46%; background:#ff716c; box-shadow:inset -4px -3px rgba(153,47,47,.25); }
.dplr-tomato i::before { content:""; position:absolute; left:7px; top:-5px; width:9px; height:8px; background:#68ce72; clip-path:polygon(50% 0,62% 35%,100% 25%,72% 55%,90% 90%,52% 67%,20% 92%,32% 55%,0 30%,40% 36%); }
.dplr-lemon i { width:23px; height:18px; border-radius:65% 35% 65% 35%; background:#c7eb66; box-shadow:inset -4px -3px rgba(104,124,25,.2); transform:rotate(-15deg); }
.dplr-eggplant i { width:17px; height:25px; border-radius:65% 40% 60% 38%; background:#aa8cff; transform:rotate(20deg); }
.dplr-eggplant i::before { content:""; position:absolute; left:4px; top:-4px; width:10px; height:7px; border-radius:50%; background:#62c77b; }
.dplr-carrot i { width:15px; height:26px; background:#ffad5c; clip-path:polygon(0 0,100% 0,50% 100%); transform:rotate(17deg); }
.dplr-carrot i::before { content:""; position:absolute; left:2px; top:-9px; width:11px; height:12px; background:#67cc79; clip-path:polygon(45% 100%,0 0,45% 35%,60% 0,65% 42%,100% 10%); }
.dplr-greens i { width:24px; height:24px; border-radius:70% 30% 68% 32%; background:#69e1b4; transform:rotate(35deg); }
.dplr-greens i::after { content:""; position:absolute; left:11px; top:2px; width:2px; height:20px; background:rgba(23,112,81,.55); }

.dplr-copy {
  position: absolute;
  left: 12px;
  right: 12px;
  top: calc(42% + 190px);
  text-align: center;
}

.dplr-brand { color:#fff8e9; font-size:clamp(2rem,8vw,3.35rem); font-weight:900; letter-spacing:-.055em; line-height:1; text-shadow:0 12px 32px rgba(2,8,14,.42); }
.dplr-brand span { color:#69e1b4; }
.dplr-copy p { margin:10px 0 15px; color:#a9b6c3; font-size:.82rem; font-weight:600; }
.dplr-line { position:relative; width:min(220px,62vw); height:3px; margin:auto; overflow:hidden; border-radius:99px; background:rgba(169,182,195,.15); }
.dplr-line span { position:absolute; top:0; bottom:0; width:45%; border-radius:inherit; background:linear-gradient(90deg,#69e1b4,#c7eb66,#ffad5c); box-shadow:0 0 12px rgba(105,225,180,.55); animation:dplr-line 1.1s ease-in-out infinite; }

.dplr-spark { position:absolute; left:50%; top:50%; width:5px; height:5px; border-radius:50%; background:#fff8e9; box-shadow:0 0 9px currentColor; animation:dplr-spark 3.2s ease-out infinite; }
.dplr-s1 { --dplr-sx:-155px; --dplr-sy:-28px; color:#69e1b4; animation-delay:.1s; }
.dplr-s2 { --dplr-sx:146px; --dplr-sy:12px; color:#ffad5c; animation-delay:.25s; }
.dplr-s3 { --dplr-sx:-78px; --dplr-sy:135px; color:#aa8cff; animation-delay:.4s; }
.dplr-s4 { --dplr-sx:78px; --dplr-sy:132px; color:#c7eb66; animation-delay:.55s; }

@keyframes dplr-grid { 50% { transform:scale(1.07); opacity:.3; } }
@keyframes dplr-ring { 0% { transform:scale(.55); opacity:0; } 35% { opacity:1; } 100% { transform:scale(1.2); opacity:0; } }
@keyframes dplr-core { 0%,8% { transform:translate(-50%,-50%) rotate(35deg) scale(.65); } 28%,78% { transform:translate(-50%,-50%) rotate(45deg) scale(1); } 92%,100% { transform:translate(-50%,-50%) rotate(55deg) scale(.82); } }
@keyframes dplr-float { 50% { transform:translate(-50%,-49%) scale(1.04); } }
@keyframes dplr-burst { 0%,7% { transform:translate(-50%,-50%) scale(.2) rotate(-35deg); opacity:0; } 28%,78% { transform:translate(calc(-50% + var(--dplr-x)),calc(-50% + var(--dplr-y))) scale(1); opacity:1; } 92%,100% { transform:translate(-50%,-50%) scale(.2) rotate(30deg); opacity:0; } }
@keyframes dplr-spark { 0%,12% { transform:translate(-50%,-50%) scale(0); opacity:0; } 38% { transform:translate(calc(-50% + var(--dplr-sx)),calc(-50% + var(--dplr-sy))) scale(1); opacity:1; } 68%,100% { transform:translate(calc(-50% + var(--dplr-sx)),calc(-50% + var(--dplr-sy))) scale(0); opacity:0; } }
@keyframes dplr-line { from { left:-50%; } to { left:110%; } }

@media (max-width:480px) {
  .dplr-burst { top:40%; transform:translate(-50%,-50%) scale(.88); }
  .dplr-copy { top:calc(40% + 170px); }
}

@media (prefers-reduced-motion:reduce) {
  .dplr-stage *, .dplr-stage *::before, .dplr-stage *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}
