/* 3. Glass panel reveal — pre-blurred plate, no live backdrop-filter */
.loader-glass{background:transparent}
.panel{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:28px;overflow:hidden;will-change:transform;transform:translate3d(0,0,0);backface-visibility:hidden}
.frost{position:absolute;inset:-8%;width:116%;height:116%;max-width:none;object-fit:cover;pointer-events:none;z-index:0}
.tint{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,10,18,.28),rgba(8,10,18,.4) 50%,rgba(8,10,18,.5));z-index:1;pointer-events:none}
.panel::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(235,234,100,.7),transparent);z-index:2}
.sweep{position:absolute;top:-10%;bottom:-10%;left:0;width:40vw;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),rgba(235,234,100,.12),transparent);transform:translateX(-120%);pointer-events:none;will-change:transform;z-index:2}
.loader-glass.is-running .sweep{animation:sweep 2.15s var(--ease) .1s forwards}
@keyframes sweep{to{transform:translateX(320%)}}
.etch{position:relative;width:min(58vw,340px);opacity:0;transform:scale(.96);will-change:opacity,transform;z-index:3}
.loader-glass.is-running .etch{animation:etchIn .7s var(--ease) .2s forwards}
@keyframes etchIn{to{opacity:.96;transform:scale(1)}}
 .etch img{width:100%;height:auto}
.meter{position:relative;width:min(52vw,280px);display:grid;gap:10px;justify-items:center;z-index:3}
.meter .track{width:100%;height:1px;background:rgba(244,244,239,.28);overflow:hidden}
.meter .track>i{display:block;height:100%;width:100%;background:var(--yellow);transform:scaleX(0);transform-origin:left;will-change:transform}
.loader-glass.is-running .meter .track>i{transform:scaleX(var(--p,0))}
.meter [data-pct]{font:800 italic clamp(20px,3vw,28px)/1 var(--display);color:var(--yellow);letter-spacing:.1em;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.loader-glass.is-done .panel{transform:translate3d(0,-110%,0);transition:transform .9s var(--ease-out)}
.loader-glass.is-done{transition:opacity .2s linear .75s}

@media (orientation:landscape) and (max-height:500px){
  .panel{gap:16px}
  .etch{width:min(32vw,220px)}
}
@media (prefers-reduced-motion:reduce){
  .loader-glass.is-running .sweep{animation:none;transform:none}
  .loader-glass.is-running .etch{opacity:.96;transform:none;animation:none}
  .loader-glass.is-done .panel{transition-duration:.4s}
}
