/* ═══════════════════════════════════════════
   PAGE LOADER
═══════════════════════════════════════════ */
#loader {
  position:fixed; inset:0; z-index:99999;
  background:var(--bg);
  display:flex; align-items:center; justify-content:center;
  flex-direction:column; gap:20px;
  transition:opacity .5s ease, visibility .5s ease;
}
#loader.hidden { opacity:0; visibility:hidden; }
.loader-logo {
  font-family:'Bebas Neue',sans-serif; font-size:36px; letter-spacing:6px;
  color:var(--text); animation:loader-pulse 1s ease-in-out infinite alternate;
}
.loader-logo span { color:var(--amber); }
.loader-bar {
  width:180px; height:1px; background:var(--border); position:relative; overflow:hidden;
}
.loader-bar-fill {
  position:absolute; top:0; left:0; height:100%; background:var(--amber);
  animation:loader-fill .9s cubic-bezier(.4,0,.2,1) forwards;
}
.loader-num {
  font-family:'DM Mono',monospace; font-size:10px; color:var(--muted);
  letter-spacing:3px; animation:loader-count .9s ease forwards;
}
@keyframes loader-fill { from{width:0;} to{width:100%;} }
@keyframes loader-pulse { from{opacity:.5;} to{opacity:1;} }
@keyframes loader-count {
  0%  { content:'000'; }
  100%{ content:'100'; }
}
