/* =============================================================
   Trustlinked Preloader  –  preloader.css  v1.3.0
   Mobile-first. Animated icon. No external dependencies.
============================================================= */
#tlpl {
  position:fixed; inset:0; z-index:2147483647;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden; background:var(--tlbg,#050815);
  opacity:1; visibility:visible;
  transition:opacity .75s cubic-bezier(.4,0,.2,1),visibility .75s;
}
#tlpl.tlpl-out { opacity:0; visibility:hidden; pointer-events:none; }

.tlpl-orb { position:absolute; border-radius:50%; pointer-events:none; filter:blur(80px); will-change:transform; }
.tlpl-orb-a { width:clamp(220px,65vw,560px);height:clamp(160px,50vw,420px);top:-10%;left:50%;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(192,66,122,.28) 0%,transparent 70%);animation:tlpl-float-a 8s ease-in-out infinite; }
.tlpl-orb-b { width:clamp(150px,40vw,340px);height:clamp(110px,30vw,260px);bottom:-8%;right:-6%;background:radial-gradient(ellipse,rgba(120,40,180,.22) 0%,transparent 70%);animation:tlpl-float-b 10s ease-in-out infinite; }
.tlpl-orb-c { width:clamp(110px,26vw,220px);height:clamp(80px,20vw,180px);bottom:12%;left:-4%;background:radial-gradient(ellipse,rgba(255,82,196,.14) 0%,transparent 70%);animation:tlpl-float-b 12s 1.5s ease-in-out infinite; }

.tlpl-grid { position:absolute;inset:0;pointer-events:none;opacity:.07;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:52px 52px;mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,black 20%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,black 20%,transparent 80%); }

.tlpl-inner { position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;width:min(88vw,420px);gap:clamp(18px,4vw,28px);padding:24px 20px; }

/* Icon stage */
.tlpl-icon-stage { position:relative;width:clamp(100px,28vw,148px);height:clamp(100px,28vw,148px);display:flex;align-items:center;justify-content:center;animation:tlpl-icon-in .9s .06s cubic-bezier(.34,1.52,.64,1) both; }
.tlpl-icon-halo { position:absolute;inset:-28%;border-radius:50%;background:radial-gradient(ellipse,rgba(192,66,122,.22) 0%,transparent 65%);filter:blur(22px);z-index:0;animation:tlpl-halo-pulse 3.2s ease-in-out infinite; }
.tlpl-pr { position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(192,66,122,.5);animation:tlpl-pulse-out 2.8s ease-out infinite;z-index:1; }
.tlpl-pr:nth-child(3){animation-delay:.95s;border-color:rgba(120,40,180,.4);}
.tlpl-pr:nth-child(4){animation-delay:1.9s;border-color:rgba(255,82,196,.28);}
.tlpl-ring { position:absolute;border-radius:50%;border:2px solid transparent; }
.tlpl-ring-1 { inset:-16px;border-top-color:rgba(192,66,122,.6);border-right-color:rgba(192,66,122,.18);animation:tlpl-spin-cw 3.4s linear infinite; }
.tlpl-ring-1::before { content:'';position:absolute;top:3px;left:50%;transform:translateX(-50%);width:7px;height:7px;border-radius:50%;background:#c0427a;box-shadow:0 0 12px 5px rgba(192,66,122,.75); }
.tlpl-ring-2 { inset:-6px;border-bottom-color:rgba(120,40,180,.65);border-left-color:rgba(120,40,180,.18);animation:tlpl-spin-ccw 2.2s linear infinite; }
.tlpl-ring-2::before { content:'';position:absolute;bottom:3px;left:50%;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background:#7828b4;box-shadow:0 0 10px 4px rgba(120,40,180,.75); }
.tlpl-ring-3 { inset:4px;border-top-color:rgba(255,138,101,.4);border-right-color:rgba(255,138,101,.12);animation:tlpl-spin-cw 1.5s linear infinite; }
.tlpl-icon-img { mix-blend-mode:screen; width:68%;height:68%;object-fit:contain;position:relative;z-index:4;animation:tlpl-breathe 3.8s 1s ease-in-out infinite,tlpl-icon-glow 3.8s 1s ease-in-out infinite; }
.tlpl-icon-shim { position:absolute;inset:-2px;border-radius:50%;background:linear-gradient(135deg,transparent 30%,rgba(255,255,255,.14) 50%,transparent 70%);background-size:200% 200%;animation:tlpl-shim-sweep 2.4s ease-in-out infinite;z-index:5;pointer-events:none; }

/* Logo */
.tlpl-logo-wrap { position:relative;display:flex;justify-content:center;width:100%; }
.tlpl-logo { mix-blend-mode:screen; width:clamp(140px,48vw,230px);height:auto;display:block;position:relative;z-index:1;opacity:0;transform:translateY(10px);animation:tlpl-fade-up .6s .6s ease forwards;filter:drop-shadow(0 0 14px rgba(192,66,122,.3)); }

/* Bar */
.tlpl-bar-wrap { width:100%;display:flex;flex-direction:column;align-items:flex-end;gap:7px;opacity:0;animation:tlpl-fade-up .55s .75s ease forwards; }
.tlpl-track { width:100%;height:3px;border-radius:999px;background:rgba(255,255,255,.09);overflow:hidden;position:relative; }
.tlpl-track::before { content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);background-size:260% 100%;animation:tlpl-bar-shim 2.2s linear infinite; }
.tlpl-fill { position:relative;z-index:1;height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#c0427a,#7828b4,#ff8a65);box-shadow:0 0 10px rgba(192,66,122,.5);transition:width .1s linear; }
.tlpl-fill::after { content:'';position:absolute;right:-1px;top:50%;transform:translateY(-50%);width:7px;height:7px;border-radius:50%;background:#ff8a65;box-shadow:0 0 8px 3px rgba(255,138,101,.8); }
.tlpl-pct { font-family:'Poppins',ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:600;letter-spacing:.09em;color:rgba(255,255,255,.38); }
.tlpl-tagline { margin:0;font-family:'Poppins',ui-sans-serif,system-ui,sans-serif;font-size:clamp(10px,2.6vw,12px);font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.26);opacity:0;animation:tlpl-fade-up .55s .92s ease forwards,tlpl-tag-pulse 3.2s 1.5s ease-in-out infinite; }

@keyframes tlpl-icon-in { from{opacity:0;transform:scale(.55) rotate(-18deg);}to{opacity:1;transform:scale(1) rotate(0deg);} }
@keyframes tlpl-breathe { 0%,100%{transform:scale(1);}50%{transform:scale(1.08);} }
@keyframes tlpl-icon-glow { 0%,100%{filter:drop-shadow(0 0 14px rgba(192,66,122,.5));}50%{filter:drop-shadow(0 0 30px rgba(192,66,122,.9)) drop-shadow(0 0 50px rgba(120,40,180,.45));} }
@keyframes tlpl-pulse-out { 0%{transform:scale(.88);opacity:.65;}100%{transform:scale(2.3);opacity:0;} }
@keyframes tlpl-halo-pulse { 0%,100%{opacity:.5;transform:scale(1);}50%{opacity:.95;transform:scale(1.14);} }
@keyframes tlpl-shim-sweep { 0%{background-position:200% 200%;opacity:.3;}50%{background-position:-50% -50%;opacity:.9;}100%{background-position:-200% -200%;opacity:.3;} }
@keyframes tlpl-spin-cw  { to{transform:rotate( 360deg);} }
@keyframes tlpl-spin-ccw { to{transform:rotate(-360deg);} }
@keyframes tlpl-fade-up { from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);} }
@keyframes tlpl-tag-pulse { 0%,100%{opacity:.26;}50%{opacity:.52;} }
@keyframes tlpl-float-a { 0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(-22px);} }
@keyframes tlpl-float-b { 0%,100%{transform:translateY(0);}50%{transform:translateY(-16px);} }
@keyframes tlpl-bar-shim { from{background-position:260% 0;}to{background-position:-260% 0;} }

@media(prefers-reduced-motion:reduce){
  .tlpl-orb,.tlpl-ring,.tlpl-pr,.tlpl-icon-shim,.tlpl-icon-halo,.tlpl-tagline{animation-duration:.01ms!important;animation-iteration-count:1!important;}
  .tlpl-icon-img{animation:tlpl-fade-up .3s ease forwards;}
}
@supports(padding:env(safe-area-inset-bottom)){
  .tlpl-inner{padding-bottom:calc(20px + env(safe-area-inset-bottom));}
}
