:root{--wcl-coral:#fb4556;--wcl-red:#e72f43;--wcl-ink:#211d25;--wcl-ease:cubic-bezier(.22,1,.36,1)}
.wcl-loader{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;padding:28px;background:linear-gradient(145deg,#fff 0%,#fff8fa 52%,#f9eef2 100%);color:var(--wcl-ink);opacity:0;visibility:hidden;overflow:hidden;transition:opacity .5s ease,visibility .5s ease}
.wcl-loader.is-active,.wcl-loader.is-leaving{display:flex;opacity:1;visibility:visible}
.wcl-loader.is-hiding{opacity:0;visibility:hidden;pointer-events:none}
.wcl-ambient{position:absolute;inset:0;pointer-events:none}.wcl-ambient span{position:absolute;border-radius:50%;filter:blur(2px);opacity:.55;animation:wcl-float 7s ease-in-out infinite}.wcl-ambient span:nth-child(1){width:340px;height:340px;left:-170px;top:-120px;background:radial-gradient(circle,#ffd5dc,transparent 68%)}.wcl-ambient span:nth-child(2){width:290px;height:290px;right:-130px;bottom:-90px;background:radial-gradient(circle,#ffc6d0,transparent 68%);animation-delay:-2.4s}.wcl-ambient span:nth-child(3){width:190px;height:190px;right:12%;top:10%;background:radial-gradient(circle,#ffe6eb,transparent 70%);animation-delay:-4.5s}
.wcl-stage{position:relative;width:min(360px,100%);display:flex;flex-direction:column;align-items:center;text-align:center;transform:translateY(4px)}
.wcl-connection{position:relative;width:154px;height:124px;margin-bottom:22px}.wcl-orbit{position:absolute;top:12px;width:54px;height:54px;border:1px solid rgba(251,69,86,.16);border-radius:50%;display:grid;place-items:center}.wcl-orbit-one{left:10px;animation:wcl-meet-left 2.2s var(--wcl-ease) infinite}.wcl-orbit-two{right:10px;animation:wcl-meet-right 2.2s var(--wcl-ease) infinite}.wcl-person{position:relative;width:43px;height:43px;border-radius:50%;background:linear-gradient(145deg,#fff,#f3e8ec);border:3px solid #fff;box-shadow:0 9px 25px rgba(54,31,42,.14)}.wcl-person:before{content:"";position:absolute;left:50%;top:8px;width:11px;height:11px;border-radius:50%;background:#b7aeb4;transform:translateX(-50%)}.wcl-person:after{content:"";position:absolute;left:50%;bottom:6px;width:22px;height:12px;border-radius:15px 15px 9px 9px;background:#b7aeb4;transform:translateX(-50%)}.wcl-orbit-two .wcl-person{background:linear-gradient(145deg,#fff0f3,#ffe1e6)}.wcl-orbit-two .wcl-person:before,.wcl-orbit-two .wcl-person:after{background:#fb6675}.wcl-person i{position:absolute;right:-2px;bottom:1px;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:#58c88d}
.wcl-line{position:absolute;left:50%;top:38px;width:68px;height:1px;background:linear-gradient(90deg,transparent,var(--wcl-coral),transparent);transform:translateX(-50%) scaleX(.2);opacity:0;animation:wcl-connect 2.2s ease-in-out infinite}.wcl-heart{position:absolute;left:50%;bottom:0;width:54px;height:54px;border:5px solid rgba(255,255,255,.96);border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#ff7483,var(--wcl-red));box-shadow:0 13px 32px rgba(251,69,86,.35);transform:translateX(-50%);animation:wcl-heartbeat 1.15s ease-in-out infinite}.wcl-heart svg{width:26px;height:26px;filter:drop-shadow(0 2px 4px rgba(120,15,30,.15))}
.wcl-brand{font-size:25px;font-weight:720;letter-spacing:-.9px}.wcl-brand strong{color:var(--wcl-coral);font-weight:850}.wcl-message{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:8px;color:#898087;font-size:12px;font-weight:620;letter-spacing:.1px}.wcl-message i{width:3px;height:3px;border-radius:50%;background:var(--wcl-coral);animation:wcl-dot 1.3s ease-in-out infinite}.wcl-message i:nth-of-type(2){animation-delay:.15s}.wcl-message i:nth-of-type(3){animation-delay:.3s}.wcl-progress{width:138px;height:3px;margin-top:24px;border-radius:20px;background:#ede4e8;overflow:hidden}.wcl-progress span{display:block;width:48%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff8793,var(--wcl-coral));animation:wcl-progress 1.35s var(--wcl-ease) infinite}
.wcl-loader.is-leaving .wcl-stage{animation:wcl-stage-in .45s var(--wcl-ease) both}.wcl-loader.is-hiding .wcl-stage{transform:translateY(-8px) scale(.97);opacity:0;transition:transform .42s var(--wcl-ease),opacity .3s ease}
@keyframes wcl-meet-left{0%,100%{transform:translateX(-7px)}45%,60%{transform:translateX(8px)}}@keyframes wcl-meet-right{0%,100%{transform:translateX(7px)}45%,60%{transform:translateX(-8px)}}@keyframes wcl-connect{0%,20%,100%{opacity:0;transform:translateX(-50%) scaleX(.2)}42%,65%{opacity:1;transform:translateX(-50%) scaleX(1)}}@keyframes wcl-heartbeat{0%,100%{transform:translateX(-50%) scale(1)}18%{transform:translateX(-50%) scale(1.1)}32%{transform:translateX(-50%) scale(.98)}46%{transform:translateX(-50%) scale(1.06)}65%{transform:translateX(-50%) scale(1)}}@keyframes wcl-dot{0%,65%,100%{opacity:.25;transform:translateY(0)}32%{opacity:1;transform:translateY(-3px)}}@keyframes wcl-progress{0%{transform:translateX(-110%)}100%{transform:translateX(320%)}}@keyframes wcl-float{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(12px,-18px,0) scale(1.06)}}@keyframes wcl-stage-in{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(4px) scale(1)}}
@media(max-width:600px){.wcl-loader{padding:20px}.wcl-stage{transform:translateY(-2vh)}.wcl-connection{transform:scale(.94);margin-bottom:17px}.wcl-brand{font-size:23px}.wcl-message{font-size:11px}.wcl-progress{margin-top:20px}}
@media(prefers-color-scheme:dark){.wcl-loader{background:linear-gradient(145deg,#201b1f,#171417 58%,#25191e);color:#fff}.wcl-person{border-color:#332a2f;background:linear-gradient(145deg,#3a3035,#272126)}.wcl-orbit-two .wcl-person{background:linear-gradient(145deg,#4a2930,#2b2024)}.wcl-message{color:#b7aeb4}.wcl-progress{background:#3a3035}.wcl-heart{border-color:#30252a}}
@media(prefers-reduced-motion:reduce){.wcl-loader *{animation-duration:1.8s!important;animation-iteration-count:1!important}.wcl-loader{transition-duration:.15s!important}.wcl-orbit-one{transform:translateX(8px)}.wcl-orbit-two{transform:translateX(-8px)}.wcl-line{opacity:1;transform:translateX(-50%) scaleX(1)}}

