/* ============================================================================
   Delta Executor — gate.css   (funnel: /skan/, /fajl/, /get-delta/)
   ========================================================================== */

.loader { max-width: 640px; margin: 0 auto; }
.loader__panel {
  background: var(--plate); border: 1px solid var(--edge); border-top: 3px solid var(--volt);
  border-radius: var(--rad-lg); padding: 32px; text-align: center;
}
.loader__step {
  display: inline-block; font-family: var(--ff-code); font-size: 12px; text-transform: uppercase;
  letter-spacing: .08em; color: var(--volt); background: var(--volt-lo);
  padding: 5px 12px; border-radius: var(--rad-sm); margin: 0 0 16px;
}
.loader__title { font-size: clamp(21px, 4vw, 29px); text-transform: uppercase; margin: 0 0 10px; }
.loader__text { color: var(--faint); margin: 0 auto 22px; max-width: 48ch; }
.loader__text .loader__mono { color: var(--fore); }

.loader__meter { height: 8px; background: var(--pit); border: 1px solid var(--edge); border-radius: 999px; overflow: hidden; margin: 0 0 10px; }
.loader__meter-fill { display: block; height: 100%; width: 0; background: var(--volt); transition: width 1s linear; }
.loader__timer { font-family: var(--ff-code); font-size: 14px; color: var(--faint); margin: 0 0 20px; }
.loader__timer span { color: var(--volt); font-weight: 700; }

.loader__go { min-width: 240px; }
/* Sealed until the 15s timer completes; JS removes .is-sealed to reveal the link. */
.is-sealed { opacity: .4; pointer-events: none; filter: grayscale(.5); }

/* Empty state when downloadUrl is null (the required "link is updating" scenario). */
.loader__hold { color: var(--faint); margin: 0 auto; max-width: 48ch; }
.loader__hold a { color: var(--volt); }
.loader__hold a:hover { text-decoration: underline; }

.loader__info {
  margin: 24px 0 0; text-align: left; border-top: 1px solid var(--edge); padding-top: 16px;
  display: grid; gap: 10px;
}
.loader__row { display: flex; gap: 12px; justify-content: space-between; flex-wrap: wrap; }
.loader__row dt { color: var(--faint); font-size: 14px; margin: 0; }
.loader__row dd { margin: 0; font-weight: 600; font-size: 14px; }
.loader__mono { font-family: var(--ff-code); }

.loader__subhead { font-size: 17px; text-transform: uppercase; margin: 28px 0 12px; text-align: left; }
.loader__perks { list-style: none; padding: 0; margin: 0; text-align: left; display: grid; gap: 6px; }
.loader__perks li { position: relative; padding-left: 22px; color: var(--faint); }
.loader__perks li::before { content: '>_'; position: absolute; left: 0; color: var(--volt); font-family: var(--ff-code); }
.loader__faq { margin-top: 24px; text-align: left; }

/* Ad slots — reserve height to avoid layout shift when the network fills them. */
.adzone { margin: 24px auto 0; min-height: 90px; max-width: 640px; }
.adzone:empty { min-height: 90px; }
