/* ============================================================================
   vein-descent-lock.css · 2026-09-02
   1) THE STRIKE (was The Hunt) — grey lock veil + re-open countdown on the
      board, and a dead look for every entry control.
   2) THE DESCENT (was Lucky Vein) — the live board is hidden and replaced by
      the lobby still, greyed, with IN DEVELOPMENT over it.
   Loaded AFTER vein-bundle-*.css so it wins on equal specificity.
   Class prefix vxd- : checked against the motion engine substrings
   (-card / -tile / -stat / -panel / -rail / -slab) — no match.
   ============================================================================ */

/* ---------- 1 · THE STRIKE BOARD LOCK -------------------------------------- */

.vx-view[data-view="hunt"] .vx-stagewrap{position:relative}

.vxd-lock{
  position:absolute; inset:0; z-index:40;
  display:flex; align-items:center; justify-content:center;
  padding:16px; border-radius:inherit;
  /* Frosted, not painted out: most of the flattening is blur + desaturation,
     and the tint is thin enough that the quarry still reads underneath. */
  background:linear-gradient(180deg,rgba(16,14,12,.30),rgba(9,8,7,.44));
  -webkit-backdrop-filter:blur(7px) grayscale(.55) saturate(.5) brightness(.86);
  backdrop-filter:blur(7px) grayscale(.55) saturate(.5) brightness(.86);
  animation:vxd-fade .42s ease both;
}
@keyframes vxd-fade{from{opacity:0}to{opacity:1}}

.vxd-lockbox{
  display:flex; flex-direction:column; align-items:center; gap:8px;
  text-align:center; padding:20px 26px; max-width:min(560px,92%);
  border:1px solid rgba(255,255,255,.10); border-radius:16px;
  background:rgba(10,9,8,.40);
  -webkit-backdrop-filter:blur(10px) saturate(.7);
  backdrop-filter:blur(10px) saturate(.7);
  box-shadow:0 24px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.055);
}
.vxd-locklbl{
  font:600 10px/1 var(--mono,'Geist Mono',monospace);
  letter-spacing:.22em; text-transform:uppercase; color:var(--muted,#B8A58C);
}
.vxd-lockclock{
  font:700 clamp(30px,6.2vw,58px)/1 var(--mono,'Geist Mono',monospace);
  letter-spacing:.02em; color:var(--ink,#F5E7D0);
  font-variant-numeric:tabular-nums;
  text-shadow:0 2px 26px rgba(0,0,0,.55);
}
.vxd-locknote{
  font:500 11.5px/1.45 var(--sans,'Geist',system-ui,sans-serif);
  color:var(--dim,#8a7d6c); max-width:38ch;
}
@media (max-width:760px){
  .vxd-lockbox{padding:14px 16px;gap:6px;border-radius:13px}
  .vxd-locknote{font-size:10.5px}
}

/* Entry controls, visibly out of service. pointer-events is belt; the capture
   click blocker in vein-descent-lock.js is braces. */
.vxd-off,
.vxd-off:hover{
  opacity:.42 !important;
  filter:grayscale(.7) !important;
  cursor:not-allowed !important;
  pointer-events:none !important;
  box-shadow:none !important;
  transform:none !important;
}
.vxd-offnote{color:var(--muted,#B8A58C) !important}

/* ---------- 2 · THE DESCENT, IN DEVELOPMENT -------------------------------- */

/* The live Lucky board and its round history stay in the DOM (the engine still
   queries their ids) but never paint. */
.vx-view[data-view="lucky"] .vx-lwrap,
.vx-view[data-view="lucky"] .vx-hist{display:none !important}

/* One escape hatch: a wallet that still has an armed auto strategy has to be
   able to end it and take its prepaid balance back. */
body.vxd-lucky-armed .vx-view[data-view="lucky"] .vx-lwrap{display:block !important}
body.vxd-lucky-armed .vx-view[data-view="lucky"] .vx-lstage,
body.vxd-lucky-armed .vx-view[data-view="lucky"] .vx-lhud{display:none !important}

/* The timer chip in the top economy bar has nothing to count while the game
   is down. */
.vxp-econ-lucky{display:none !important}

.vxd-dev{
  position:relative; display:block; overflow:hidden;
  border-radius:18px; margin:0 0 14px;
  border:1px solid rgba(255,255,255,.08);
  background:#0b0a09;
  box-shadow:0 30px 85px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.035);
}
.vxd-dev>img{
  display:block; width:100%; height:auto;
  filter:grayscale(.62) brightness(.68) saturate(.6) blur(2.5px) contrast(1.02);
  transform:scale(1.015);          /* hides the blur's soft edge */
}
.vxd-devveil{
  position:absolute; inset:0;
  background:
    radial-gradient(120% 80% at 50% 50%,rgba(10,9,8,.14),rgba(8,7,6,.56)),
    linear-gradient(180deg,rgba(8,7,6,.30),rgba(8,7,6,.50));
}
.vxd-devcopy{
  position:absolute; inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:10px; text-align:center; padding:20px;
}
.vxd-devtag{
  font:600 10px/1 var(--mono,'Geist Mono',monospace);
  letter-spacing:.26em; text-transform:uppercase; color:var(--muted,#B8A58C);
  padding:5px 11px; border-radius:999px;
  border:1px solid rgba(255,255,255,.12); background:rgba(10,9,8,.5);
}
.vxd-devcopy h2{
  margin:0;
  font:800 clamp(22px,4.6vw,56px)/1.05 var(--display,'Unbounded',system-ui,sans-serif);
  letter-spacing:.06em; color:var(--ink,#F5E7D0);
  text-shadow:0 4px 34px rgba(0,0,0,.6);
}
.vxd-devcopy p{
  margin:0; max-width:56ch;
  font:500 clamp(11px,1.25vw,14px)/1.55 var(--sans,'Geist',system-ui,sans-serif);
  color:var(--muted,#B8A58C);
}
@media (max-width:760px){
  .vxd-dev{border-radius:13px;margin-bottom:10px}
  .vxd-devcopy{gap:7px;padding:12px}
  .vxd-devcopy p{font-size:10.5px;line-height:1.45}
  .vxd-devtag{font-size:8px;padding:4px 9px}
}

/* ---------- 3 · ETH MARK ON THE DESCENT LAST-HIT STRIP --------------------- */

.v68-hit-icon-eth .vx-ethmark{width:30px;height:30px;color:#C1CCF7;
  filter:drop-shadow(0 7px 13px rgba(0,0,0,.42))}
.v68-last-hit-lucky .v68-hit-icon-eth{
  border-color:rgba(193,204,247,.20);
  background:radial-gradient(circle,rgba(171,159,242,.16),rgba(255,255,255,.015))}
@media (max-width:760px){ .v68-hit-icon-eth .vx-ethmark{width:26px;height:26px} }

@media (prefers-reduced-motion:reduce){
  .vxd-lock{animation:none}
}
