.blux-order-confirmation{
  position:fixed;inset:0;z-index:1000003;display:grid;place-items:center;overflow:hidden;
  width:100%;height:100dvh;padding:24px;background:#f6efe5;color:#2a1b13;
  font-family:Inter,Arial,sans-serif;isolation:isolate;animation:blux-confirm-overlay 3.8s ease both
}
.blux-confirmation-open{overflow:hidden!important;touch-action:none}
.blux-confirm-backdrop{
  position:absolute;inset:0;z-index:-1;background:
    radial-gradient(circle at 16% 12%,#fff 0,transparent 29%),
    radial-gradient(circle at 85% 82%,#d6a55838 0,transparent 35%),
    linear-gradient(145deg,#fffaf2,#f4eadb 55%,#ecdcc4)
}
.blux-confirm-backdrop::after{
  content:"";position:absolute;inset:0;opacity:.24;background:
    radial-gradient(circle at 25% 20%,#9e754733 0 1px,transparent 1.5px),
    radial-gradient(circle at 72% 63%,#fff8 0 1px,transparent 1.5px);background-size:19px 19px,23px 23px
}
.blux-confirm-stage{
  position:relative;width:min(100%,430px);min-height:min(650px,88dvh);display:grid;
  grid-template-rows:1fr auto auto 1fr;place-items:center;padding:34px 24px 28px;text-align:center
}
.blux-confirm-logo-shell{
  position:relative;width:min(58vw,230px);height:min(58vw,230px);display:grid;place-items:center;
  border-radius:50%;background:radial-gradient(circle at 34% 24%,#fff,#fff8ed 52%,#eddbbe);
  box-shadow:0 24px 60px #7748162e,inset 0 0 0 1px #cb974646;
  animation:blux-confirm-logo-arrive 1.05s cubic-bezier(.16,1,.3,1) both
}
.blux-confirm-logo-shell::before{
  content:"";position:absolute;inset:-12px;border:1px solid #c2884547;border-radius:inherit;
  animation:blux-confirm-halo 1.7s ease-out .35s both
}
.blux-confirm-logo{width:86%;height:auto;filter:drop-shadow(0 10px 14px #074c9c26)}
.blux-confirm-check{position:absolute;right:2px;bottom:7px;width:64px;height:64px;overflow:visible;filter:drop-shadow(0 9px 14px #2b845633)}
.blux-confirm-check circle{fill:#2f9b62;stroke:#ecfff5;stroke-width:2;transform-origin:50% 50%;animation:blux-confirm-check-pop .58s cubic-bezier(.16,1.35,.4,1) 1.02s both}
.blux-confirm-check path{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:34;stroke-dashoffset:34;animation:blux-confirm-check-draw .48s ease-out 1.31s forwards}
.blux-confirm-copy{opacity:0;transform:translateY(18px);animation:blux-confirm-copy-arrive .72s cubic-bezier(.16,1,.3,1) 1.43s forwards}
.blux-confirm-copy>span{display:block;margin-bottom:8px;color:#a56b15;font-size:12px;font-weight:800;letter-spacing:.18em}
.blux-confirm-copy h2{margin:0;color:#2a1b13;font-size:clamp(32px,9vw,43px);line-height:1.03;font-weight:900;letter-spacing:-.045em}
.blux-confirm-copy p{max-width:320px;margin:14px auto 0;color:#6c594c;font-size:15px;line-height:1.5}
.blux-confirm-copy p strong{color:#9b6518}
.blux-confirm-route{align-self:end;display:grid;grid-template-columns:repeat(3,7px);justify-content:center;gap:7px;opacity:0;animation:blux-confirm-route-arrive .45s ease 2.18s forwards}
.blux-confirm-route i{width:7px;height:7px;border-radius:50%;background:#c18b37;animation:blux-confirm-dot 1s ease-in-out infinite}
.blux-confirm-route i:nth-child(2){animation-delay:.14s}.blux-confirm-route i:nth-child(3){animation-delay:.28s}
.blux-confirm-route small{grid-column:1/-1;margin-top:3px;color:#7e6a5b;font-size:12px}
.blux-confirm-orbit,.blux-confirm-spark{position:absolute;pointer-events:none}
.blux-confirm-orbit{top:4%;left:50%;border:1px solid #c288453d;border-radius:50%;transform:translateX(-50%) scale(.6);opacity:0;animation:blux-confirm-orbit-expand 1.9s ease-out .42s both}
.blux-confirm-orbit.one{width:min(68vw,270px);height:min(68vw,270px)}
.blux-confirm-orbit.two{width:min(79vw,315px);height:min(79vw,315px);animation-delay:.72s}
.blux-confirm-spark{width:8px;height:8px;border-radius:50%;background:#d8a64f;opacity:0;animation:blux-confirm-spark 1.45s ease-out .72s both}
.blux-confirm-spark.one{top:12%;left:8%}.blux-confirm-spark.two{top:43%;right:4%;animation-delay:.92s}.blux-confirm-spark.three{top:36%;left:1%;animation-delay:1.07s}
@keyframes blux-confirm-overlay{0%{opacity:0}7%,92%{opacity:1}100%{opacity:0;visibility:hidden}}
@keyframes blux-confirm-logo-arrive{0%{opacity:0;transform:translateY(28px) scale(.72) rotate(-5deg);filter:blur(8px)}70%{opacity:1;transform:translateY(-4px) scale(1.035) rotate(.8deg);filter:blur(0)}100%{opacity:1;transform:none;filter:blur(0)}}
@keyframes blux-confirm-halo{0%{opacity:0;transform:scale(.7)}45%{opacity:1}100%{opacity:0;transform:scale(1.32)}}
@keyframes blux-confirm-check-pop{0%{opacity:0;transform:scale(.2) rotate(-20deg)}100%{opacity:1;transform:none}}
@keyframes blux-confirm-check-draw{to{stroke-dashoffset:0}}
@keyframes blux-confirm-copy-arrive{to{opacity:1;transform:none}}
@keyframes blux-confirm-route-arrive{to{opacity:1}}
@keyframes blux-confirm-dot{0%,70%,100%{transform:translateY(0);opacity:.45}35%{transform:translateY(-5px);opacity:1}}
@keyframes blux-confirm-orbit-expand{0%{opacity:0;transform:translateX(-50%) scale(.58)}35%{opacity:.8}100%{opacity:0;transform:translateX(-50%) scale(1.08)}}
@keyframes blux-confirm-spark{0%{opacity:0;transform:scale(.1)}35%{opacity:1;transform:scale(1)}100%{opacity:0;transform:translateY(-28px) scale(.25)}}
@media(max-width:420px){
  .blux-order-confirmation{padding:10px}.blux-confirm-stage{min-height:620px;padding:28px 18px 22px}
  .blux-confirm-logo-shell{width:202px;height:202px}.blux-confirm-check{width:57px;height:57px}
  .blux-confirm-orbit{top:8%}.blux-confirm-orbit.one{width:238px;height:238px}.blux-confirm-orbit.two{width:278px;height:278px}
}
@media(prefers-reduced-motion:reduce){
  .blux-order-confirmation{animation-duration:.9s}.blux-confirm-orbit,.blux-confirm-spark,.blux-confirm-route{display:none}
  .blux-confirm-logo-shell,.blux-confirm-logo-shell::before,.blux-confirm-check circle,.blux-confirm-check path,.blux-confirm-copy{animation:none;opacity:1;transform:none;filter:none}
  .blux-confirm-check path{stroke-dashoffset:0}
}
