#splash-screen{
  position:fixed;
  inset:0;
  z-index:1200;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:12px;
  background:
    radial-gradient(circle at 50% 24%,rgba(124,58,237,.16),transparent 32%),
    radial-gradient(circle at 50% 75%,rgba(232,25,44,.08),transparent 36%),
    #04030d;
  transition:opacity .52s ease,visibility .52s ease;
  --splash-red:#e8192c;
  --splash-red-rgb:232,25,44;
  --splash-red2:#ff3344;
  --splash-orange:#ff6535;
  --splash-purple:#7c3aed;
  --splash-purple2:#a855f7;
  --splash-gold:#f4c94a;
  --splash-teal:#00d4c8;
  --splash-bg:#080612;
}

#splash-screen .phone{
  width:min(375px,calc(100vw - 24px),calc((100svh - 24px) * .462));
  aspect-ratio:375 / 812;
  background:var(--splash-bg);
  border-radius:44px;
  overflow:hidden;
  position:relative;
  box-shadow:
    0 0 0 1px rgba(160,90,255,.18),
    0 0 0 2px rgba(160,90,255,.06),
    0 50px 120px rgba(0,0,0,.95),
    0 0 80px rgba(120,40,220,.08);
  transition:transform .52s cubic-bezier(.2,.9,.2,1),opacity .52s ease,filter .52s ease;
}

#splash-screen canvas{position:absolute;top:0;left:0;width:100%;height:100%}
#splash-cnv-net{opacity:.7}
#splash-cnv-wave{opacity:.85}

#splash-screen .scan{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent 0,transparent 2px,rgba(0,0,0,.08) 2px,rgba(0,0,0,.08) 4px);
}

#splash-screen .vign{
  position:absolute;inset:0;z-index:3;pointer-events:none;
  background:radial-gradient(ellipse 80% 90% at 50% 50%,transparent 40%,rgba(4,3,12,.8) 100%);
}

#splash-screen .top-bar{
  position:absolute;top:0;left:0;right:0;z-index:20;
  padding:18px 24px 10px;
  display:flex;align-items:center;justify-content:space-between;
  opacity:0;animation:splashRefFup .5s .08s ease forwards;
}

#splash-screen .tb-left,#splash-screen .tb-right{display:flex;align-items:center}
#splash-screen .tb-left{gap:6px}
#splash-screen .tb-right{gap:5px}

#splash-screen .tb-live{
  display:flex;align-items:center;gap:4px;
  font:700 8px/1 'Share Tech Mono',monospace;
  color:var(--splash-red);letter-spacing:2px;text-transform:uppercase;
}

#splash-screen .tb-dot{
  width:5px;height:5px;border-radius:50%;background:var(--splash-red);
  animation:splashRefBlink 1.2s ease infinite;
}

#splash-screen .tb-sep{width:1px;height:10px;background:rgba(255,255,255,.1)}
#splash-screen .tb-sys{
  font:400 8px/1 'Share Tech Mono',monospace;
  color:rgba(255,255,255,.25);letter-spacing:1.5px;
}

#splash-screen .tb-badge{
  padding:2px 6px;border:1px solid rgba(255,255,255,.08);border-radius:4px;
  font:600 8px/1 'Share Tech Mono',monospace;
  color:rgba(255,255,255,.3);letter-spacing:1px;
}

#splash-screen .stage{
  position:absolute;inset:0;z-index:10;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}

#splash-screen .icon-shell{
  position:relative;width:110px;height:110px;margin-bottom:28px;
  opacity:0;animation:splashRefIconPop .6s .18s cubic-bezier(.34,1.56,.64,1) forwards;
}

#splash-screen .orbit1,
#splash-screen .orbit2{
  position:absolute;border-radius:50%;opacity:0;transition:opacity .4s;
}

#splash-screen .orbit1{
  inset:-2px;border:1.5px solid transparent;
  background:
    linear-gradient(var(--splash-bg),var(--splash-bg)) padding-box,
    conic-gradient(from 0deg,#e8192c 0%,#ff6535 20%,transparent 40%,#a855f7 60%,transparent 80%,#e8192c 100%) border-box;
  animation:splashRefOrbitSpin 2s .6s linear infinite;
}

#splash-screen .orbit2{
  inset:8px;border:1px solid transparent;
  background:
    linear-gradient(var(--splash-bg),var(--splash-bg)) padding-box,
    conic-gradient(from 180deg,var(--splash-teal) 0%,transparent 30%,var(--splash-gold) 60%,transparent 90%,var(--splash-teal) 100%) border-box;
  animation:splashRefOrbitSpin 3s .72s linear infinite reverse;
}

#splash-screen .icon-shell.orbits-on .orbit1,
#splash-screen .icon-shell.orbits-on .orbit2{opacity:1}

#splash-screen .icon-brackets{position:absolute;inset:0}
#splash-screen .ib{
  position:absolute;width:14px;height:14px;border-style:solid;border-color:rgba(var(--splash-red-rgb),.4)
}
#splash-screen .ib.tl{top:2px;left:2px;border-width:1.5px 0 0 1.5px;animation:splashRefIbPop .3s .7s ease both}
#splash-screen .ib.tr{top:2px;right:2px;border-width:1.5px 1.5px 0 0;animation:splashRefIbPop .3s .75s ease both}
#splash-screen .ib.bl{bottom:2px;left:2px;border-width:0 0 1.5px 1.5px;animation:splashRefIbPop .3s .8s ease both}
#splash-screen .ib.br{bottom:2px;right:2px;border-width:0 1.5px 1.5px 0;animation:splashRefIbPop .3s .85s ease both}

#splash-screen .icon-core{
  position:absolute;inset:16px;border-radius:24px;
  background:linear-gradient(135deg,#c8101f,#e8192c,#ff3d50);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 0 rgba(232,25,44,.5),0 8px 30px rgba(232,25,44,.4);
  animation:splashRefCorePulse 2s .8s ease infinite;
}

#splash-screen .icon-core svg{
  width:34px;height:34px;fill:#fff;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.3));
  animation:splashRefSvgPop .45s .35s cubic-bezier(.34,1.56,.64,1) both;
}

#splash-screen .logo-shell{position:relative;margin-bottom:6px}
#splash-screen .logo-row{display:flex;align-items:center;gap:0;position:relative}

#splash-screen .lc{
  display:inline-block;position:relative;
  font:900 clamp(56px,18vw,68px)/1 'Outfit',sans-serif;
  color:#fff;opacity:0;transform:translateY(40px);
  animation:splashRefCharUp .55s ease forwards;
}

#splash-screen .lc:nth-child(1){animation-delay:.45s}
#splash-screen .lc:nth-child(2){animation-delay:.53s}
#splash-screen .lc:nth-child(3){animation-delay:.61s}
#splash-screen .lc:nth-child(4){animation-delay:.69s}
#splash-screen .lc.is-accent{color:var(--splash-red);text-shadow:0 0 30px rgba(var(--splash-red-rgb),.5)}

#splash-screen .logo-under{
  width:0;height:2px;margin:4px auto 0;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--splash-red) 30%,var(--splash-orange) 70%,transparent);
  animation:splashRefUnderExpand .6s .82s ease forwards;
}

#splash-screen .tagline{
  margin-bottom:44px;
  font:400 9.5px/1 'Share Tech Mono',monospace;
  color:rgba(255,255,255,.35);
  letter-spacing:5px;text-transform:uppercase;
  opacity:0;animation:splashRefFadeUp .45s .92s ease forwards;
}

#splash-screen .load-system{
  width:min(280px,calc(100% - 64px));
  display:flex;flex-direction:column;gap:12px;
  opacity:0;animation:splashRefFadeUp .45s 1.02s ease forwards;
}

#splash-screen .steps{display:flex;gap:6px;justify-content:center;margin-bottom:4px}
#splash-screen .step{
  display:flex;align-items:center;gap:4px;
  font:600 8px/1 'Share Tech Mono',monospace;
  color:rgba(255,255,255,.18);
  letter-spacing:.5px;text-transform:uppercase;
  transition:color .4s;
}

#splash-screen .step::before{
  content:'';width:5px;height:5px;border-radius:50%;
  background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.12);
  flex-shrink:0;transition:all .4s;
}

#splash-screen .step.done{color:var(--splash-teal)}
#splash-screen .step.done::before{
  background:var(--splash-teal);border-color:var(--splash-teal);box-shadow:0 0 6px rgba(0,212,200,.5)
}

#splash-screen .step.active{color:#fff}
#splash-screen .step.active::before{
  background:var(--splash-red);border-color:var(--splash-red);box-shadow:0 0 6px rgba(var(--splash-red-rgb),.5);
  animation:splashRefStepPulse .8s ease infinite;
}

#splash-screen .step-sep{width:16px;height:1px;background:rgba(255,255,255,.1);align-self:center;margin:0 1px}
#splash-screen .track-wrap{position:relative}
#splash-screen .track-labels{display:flex;justify-content:space-between;margin-bottom:6px}
#splash-screen .track-label{
  font:400 8px/1 'Share Tech Mono',monospace;
  color:rgba(255,255,255,.25);letter-spacing:1px;
}

#splash-screen .track{
  height:4px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.04);
  border-radius:4px;overflow:hidden;position:relative;
}

#splash-screen .track-fill{
  width:0;height:100%;border-radius:4px;position:relative;
  background:linear-gradient(90deg,var(--splash-red),var(--splash-orange),var(--splash-purple2));
  transition:width .36s cubic-bezier(.4,0,.2,1);
}

#splash-screen .track-fill::after{
  content:'';position:absolute;top:0;right:0;bottom:0;width:60px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5));
  animation:splashRefShim 1s ease infinite;
}

#splash-screen .ticks{display:flex;justify-content:space-between;margin-top:4px;padding:0 1px}
#splash-screen .tick{width:1px;height:3px;background:rgba(255,255,255,.08)}

#splash-screen .info-row{display:flex;align-items:center;justify-content:space-between}
#splash-screen .info-msg{
  font:400 10px/1.3 'Noto Sans Bengali',sans-serif;
  color:rgba(255,255,255,.4);transition:opacity .3s;
}

#splash-screen .info-pct{
  font:700 13px/1 'Share Tech Mono',monospace;
  color:var(--splash-red);letter-spacing:.5px;transition:color .4s;
}

#splash-screen .dots{display:flex;gap:5px;justify-content:center;margin-top:2px}
#splash-screen .dot{
  width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.12);
  animation:splashRefDotBeat .9s ease infinite;
}
#splash-screen .dot:nth-child(1){animation-delay:1.08s}
#splash-screen .dot:nth-child(2){animation-delay:1.21s}
#splash-screen .dot:nth-child(3){animation-delay:1.34s}

#splash-screen .wave-bars{
  display:flex;align-items:flex-end;justify-content:center;gap:2.5px;height:28px;margin-top:2px;
  opacity:0;animation:splashRefFadeUp .4s 1.12s ease forwards;
}

#splash-screen .wb{
  width:3px;border-radius:2px 2px 0 0;opacity:.6;
  background:linear-gradient(180deg,var(--splash-red),var(--splash-purple2));
  animation:splashRefWaveBar linear infinite;
}

#splash-screen .bracket{position:absolute;z-index:11;opacity:0}
#splash-screen .bracket svg{display:block;stroke:rgba(var(--splash-red-rgb),.25);fill:none;stroke-width:1.5;stroke-linecap:round;transform-origin:50% 50%}
#splash-screen .br-tl{top:28px;left:28px;animation:splashRefBracketIn .35s 1.1s ease forwards}
#splash-screen .br-tr{top:28px;right:28px;animation:splashRefBracketIn .35s 1.15s ease forwards}
#splash-screen .br-tr svg{transform:scaleX(-1)}
#splash-screen .br-bl{bottom:30px;left:28px;animation:splashRefBracketIn .35s 1.2s ease forwards}
#splash-screen .br-bl svg{transform:scaleY(-1)}
#splash-screen .br-br{bottom:30px;right:28px;animation:splashRefBracketIn .35s 1.25s ease forwards}
#splash-screen .br-br svg{transform:scale(-1)}

#splash-screen .check-wrap{
  position:absolute;inset:0;z-index:15;display:grid;place-items:center;
  opacity:0;pointer-events:none;
}
#splash-screen .check-wrap.show{animation:splashRefCheckPop .5s cubic-bezier(.34,1.56,.64,1) forwards}

#splash-screen .check-circle{
  width:56px;height:56px;border-radius:50%;
  background:linear-gradient(135deg,#16a34a,#22c55e);
  display:grid;place-items:center;
  box-shadow:0 0 0 8px rgba(34,197,94,.12),0 8px 24px rgba(34,197,94,.3);
}

#splash-screen .check-circle svg{
  width:28px;height:28px;stroke:#fff;fill:none;stroke-width:2.5;
  stroke-linecap:round;stroke-linejoin:round;
}

#splash-screen .btm-tag{
  position:absolute;left:50%;bottom:36px;z-index:12;
  display:flex;flex-direction:column;align-items:center;gap:5px;
  transform:translateX(-50%);
  opacity:0;animation:splashRefFadeUp .45s 1.25s ease forwards;
}

#splash-screen .btm-rule{width:32px;height:1px;background:rgba(255,255,255,.08)}
#splash-screen .btm-txt{
  font:400 8.5px/1 'Share Tech Mono',monospace;
  color:rgba(255,255,255,.18);letter-spacing:2px;text-transform:uppercase;white-space:nowrap;
}

#splash-screen .flash{
  position:absolute;inset:0;z-index:99;
  background:radial-gradient(ellipse at 50% 50%,rgba(232,25,44,.15),transparent 70%);
  opacity:0;pointer-events:none;
}
#splash-screen .flash.show{animation:splashRefFlashIn .4s ease forwards}

#splash-screen .splash-status-a11y{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

#splash-screen.is-exiting .phone{transform:scale(.985);filter:saturate(1.08)}
#splash-screen.fade-out{opacity:0;visibility:hidden}
#splash-screen.fade-out .phone{transform:translateY(-10px) scale(.96);opacity:0}

@keyframes splashRefFup{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@keyframes splashRefBlink{0%,100%{opacity:1}50%{opacity:.2}}
@keyframes splashRefIconPop{from{opacity:0;transform:scale(.2) rotate(-30deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes splashRefOrbitSpin{to{transform:rotate(360deg)}}
@keyframes splashRefIbPop{from{opacity:0;transform:scale(1.4)}to{opacity:1;transform:scale(1)}}
@keyframes splashRefCorePulse{0%,100%{box-shadow:0 0 0 0 rgba(var(--splash-red-rgb),.4),0 8px 30px rgba(var(--splash-red-rgb),.4)}50%{box-shadow:0 0 0 14px rgba(var(--splash-red-rgb),0),0 8px 30px rgba(var(--splash-red-rgb),.5)}}
@keyframes splashRefSvgPop{from{transform:scale(0) rotate(180deg)}to{transform:scale(1) rotate(0)}}
@keyframes splashRefCharUp{from{opacity:0;transform:translateY(40px) scaleY(1.3)}60%{transform:translateY(-4px) scaleY(.95)}to{opacity:1;transform:translateY(0) scaleY(1)}}
@keyframes splashRefUnderExpand{to{width:120%}}
@keyframes splashRefFadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes splashRefStepPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.3)}}
@keyframes splashRefShim{0%{opacity:0;transform:translateX(-40px)}60%{opacity:1}100%{opacity:0;transform:translateX(10px)}}
@keyframes splashRefDotBeat{0%,60%,100%{transform:scale(1);background:rgba(255,255,255,.12)}30%{transform:scale(1.6);background:var(--splash-red)}}
@keyframes splashRefWaveBar{0%,100%{transform:scaleY(.15)}50%{transform:scaleY(1)}}
@keyframes splashRefBracketIn{from{opacity:0;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}
@keyframes splashRefFlashIn{0%{opacity:0}50%{opacity:1}100%{opacity:0}}
@keyframes splashRefCheckPop{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}

@media (max-width:360px),(max-height:760px){
  #splash-screen .top-bar{padding:16px 18px 8px}
  #splash-screen .icon-shell{width:100px;height:100px;margin-bottom:22px}
  #splash-screen .tagline{margin-bottom:34px}
  #splash-screen .br-tl,#splash-screen .br-tr{top:22px}
  #splash-screen .br-bl,#splash-screen .br-br{bottom:24px}
  #splash-screen .btm-tag{bottom:28px}
}

@media (prefers-reduced-motion:reduce){
  #splash-screen .top-bar,
  #splash-screen .icon-shell,
  #splash-screen .icon-core,
  #splash-screen .icon-core svg,
  #splash-screen .lc,
  #splash-screen .logo-under,
  #splash-screen .tagline,
  #splash-screen .load-system,
  #splash-screen .wave-bars,
  #splash-screen .bracket,
  #splash-screen .btm-tag,
  #splash-screen .tb-dot,
  #splash-screen .dot,
  #splash-screen .wb,
  #splash-screen .step.active::before,
  #splash-screen .track-fill::after{
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
  }

  #splash-screen,#splash-screen .phone{transition-duration:.2s}
}
