/* ════════════════════════════════════════════════════════════════════════════
 * LOADER
 * Intro loader screen
 * ════════════════════════════════════════════════════════════════════════════
 */

/* ──────────────────────────  INTRO LOADER  ────────────────────────── */
.loader{position:fixed;inset:0;z-index:9000;background:var(--deep);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:32px;animation:loader-out .6s cubic-bezier(.16,1,.3,1) 1.5s forwards;pointer-events:none;}
@keyframes loader-out{to{opacity:0;visibility:hidden;}}
.loader::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(124,58,237,.25),transparent 50%);}
.loader-name{font-weight:900;font-size:clamp(40px,7.5vw,128px);line-height:.85;letter-spacing:-.05em;text-transform:uppercase;text-align:center;position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.05em;}
.loader-name .line{display:inline-flex;}
.loader-name .ln-it{
  font-family:'Inter',sans-serif;font-style:italic;font-weight:900;letter-spacing:-.05em;
  color:var(--periwinkle);
  text-shadow:0 0 32px rgba(94,106,210,.7), 0 0 12px rgba(184,175,232,.5);
}
.loader-name .ll{display:inline-block;opacity:0;transform:translateY(48px) scale(.4) rotate(var(--r,0deg));filter:blur(12px);animation:loader-letter 1s cubic-bezier(.16,1,.3,1) both;}
.loader-name .sp{display:inline-block;width:.3em;}
@keyframes loader-letter{60%{transform:translateY(-6px) scale(1.05) rotate(0);filter:blur(0);opacity:1;}100%{opacity:1;transform:none;filter:blur(0);}}
.loader-line{position:absolute;left:50%;bottom:18%;transform:translateX(-50%);width:240px;height:2px;background:linear-gradient(90deg,transparent,var(--periwinkle),var(--violet),transparent);opacity:0;animation:loader-line 2.2s cubic-bezier(.16,1,.3,1) .5s forwards;z-index:2;}
@keyframes loader-line{from{opacity:0;width:0;}50%{opacity:1;}to{opacity:0;width:240px;}}
.loader-tag{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);position:relative;z-index:2;opacity:0;animation:fade-up-soft .7s 1.9s both;}
.loader-tag b{color:var(--periwinkle);font-weight:500;}
