/*
 * V74 / СЦЕНЫ И БЛОКИ (правки шефа, второй заход)
 *  A. Дверь 01: сцена разгружена - без окантовок, без нагромождения
 *  B. Дверь 02: волна раскатки по парку вместо абстрактного чип-поля
 *  C. Майнер в ONE MINER FIRST: живые вентиляторы и золотой контур корпуса
 *  D. Start small: пять ворот вместо ряда карточек
 *  E. Run a thousand: волна команды поверх кадра, кадр компактнее
 */

/* ================= A · ПЕРВАЯ ДВЕРЬ: ВОЗДУХ ВМЕСТО НАГРОМОЖДЕНИЯ ========= */
/* приказ: окантовки убрать, сцена не должна выглядеть заваленной */
.miner-identity--a08 .a08-root .slab {
  border: 0 !important;
  box-shadow: 0 30px 60px rgba(0, 0, 0, .5) !important;
  background: linear-gradient(155deg, rgba(18, 22, 24, .58), rgba(8, 10, 12, .66)) !important;
  backdrop-filter: blur(14px) !important;
}
.miner-identity--a08 .a08-root .slab-fleet,
.miner-identity--a08 .a08-root .slab-hosting {
  border: 0 !important;
  background:
    linear-gradient(135deg, rgba(231, 199, 125, .2), rgba(143, 105, 47, .14)) !important,
    linear-gradient(155deg, rgba(14, 17, 19, .7), rgba(8, 10, 12, .74)) !important;
  box-shadow: 0 30px 60px rgba(0, 0, 0, .5), 0 0 40px rgba(231, 199, 125, .1) !important;
}
/* в кадре двери живут две мысли, а не четыре: машина и её выигрыш */
.miner-identity--a08 .a08-root .slab-hosting,
.miner-identity--a08 .a08-root .slab-control { opacity: 0 !important; }
.miner-identity--a08 .a08-root .slab-one { left: 12% !important; top: 24% !important; width: 30% !important; }
.miner-identity--a08 .a08-root .slab-fleet { right: 21% !important; top: 30% !important; width: 29% !important; }
.miner-identity--a08 .a08-root .giant-word { opacity: .3 !important; }
.miner-identity--a08 .a08-root .miner-wrap { width: min(500px, 30cqw) !important; }

/* ================= B · ВТОРАЯ ДВЕРЬ: ВОЛНА ПО ПАРКУ ================= */
.fleet-orchestration--wave {
  position: relative !important;
  display: grid;
  place-items: center;
  background:
    radial-gradient(ellipse at 50% 62%, rgba(231, 199, 125, .1), transparent 62%) !important;
}
.fw-grid {
  display: grid;
  width: 92%;
  grid-template-columns: repeat(12, 1fr);
  gap: 9px 11px;
  transform: perspective(1200px) rotateX(50deg) rotateZ(-12deg) scale(1.02);
  transform-style: preserve-3d;
}
.fw-grid i {
  position: relative;
  display: block;
  height: 22px;
  border-radius: 3px;
  background: linear-gradient(180deg, rgba(150, 158, 160, .5), rgba(60, 66, 68, .5));
  box-shadow: 0 2px 0 rgba(0, 0, 0, .5);
  animation: fwWave 5.2s ease-in-out infinite;
  animation-delay: var(--delay, 0s);
}
@keyframes fwWave {
  0%, 62%, 100% {
    background: linear-gradient(180deg, rgba(150, 158, 160, .42), rgba(60, 66, 68, .42));
    box-shadow: 0 2px 0 rgba(0, 0, 0, .5);
    transform: translateZ(0);
  }
  18% {
    background: linear-gradient(180deg, #f4dda4, #c8a052);
    box-shadow: 0 0 16px rgba(231, 199, 125, .75), 0 2px 0 rgba(0, 0, 0, .5);
    transform: translateZ(10px);
  }
  38% {
    background: linear-gradient(180deg, rgba(231, 199, 125, .7), rgba(143, 105, 47, .6));
    box-shadow: 0 0 8px rgba(231, 199, 125, .35), 0 2px 0 rgba(0, 0, 0, .5);
    transform: translateZ(3px);
  }
}
.fw-front {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 58%, transparent 42%, rgba(6, 8, 8, .55) 82%);
  pointer-events: none;
}
.fw-labels {
  position: absolute;
  right: 8%;
  bottom: 12%;
  display: grid;
  gap: 6px;
  text-align: right;
}
.fw-labels span {
  color: rgba(231, 199, 125, .55);
  font-size: 7.5px;
  font-weight: 700;
  letter-spacing: .2em;
}
.fw-labels span:first-child { color: #f4dda4; }
@media (prefers-reduced-motion: reduce) { .fw-grid i { animation: none; } }

/* ================= C · МАЙНЕР РИТУАЛА: ФАНЫ И ЗОЛОТОЙ КОНТУР ============ */
.oneminer-unit { position: absolute; }
.oneminer-unit img {
  /* контур корпуса в языке карты «Power without thermal blindness» */
  filter:
    drop-shadow(1.4px 0 0 rgba(231, 199, 125, .75))
    drop-shadow(-1.4px 0 0 rgba(231, 199, 125, .75))
    drop-shadow(0 1.4px 0 rgba(231, 199, 125, .75))
    drop-shadow(0 -1.4px 0 rgba(231, 199, 125, .75))
    drop-shadow(0 0 30px rgba(231, 199, 125, .28))
    drop-shadow(0 42px 62px rgba(0, 0, 0, .62));
}
.oneminer-unit .fan-layer { position: absolute; inset: 0 0 auto; aspect-ratio: 564 / 626; }
.oneminer-unit .fan-layer .fan { mix-blend-mode: normal; opacity: calc(var(--opacity, .3) * 1.5); }
.oneminer-unit .fan-layer .fan path { fill: rgba(0, 0, 0, .82); }
.oneminer-unit .fan-layer .fan circle { fill: rgba(8, 8, 8, .9); stroke: rgba(231, 199, 125, .3); }

/* ================= G · КАРТА МОДЕЛЕЙ: КНОПКА «ПОКАЗАТЬ ВСЕ» ============= */
.coverage-toggle {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid rgba(231, 199, 125, .22);
  border-top: 0;
  padding: 15px 20px;
  background: linear-gradient(180deg, rgba(231, 199, 125, .05), transparent);
  color: #cfc7b6;
  cursor: pointer;
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.coverage-toggle:hover {
  border-color: rgba(231, 199, 125, .5);
  background: linear-gradient(180deg, rgba(231, 199, 125, .12), transparent);
  color: #fff;
}
.coverage-toggle i {
  color: var(--gold, #e7c77d);
  font-size: 10px;
  font-style: normal;
  letter-spacing: .1em;
}
/* под катом последний ряд плавно уходит в темноту */
.coverage-grid[data-collapsed="true"] {
  -webkit-mask: linear-gradient(180deg, #000 62%, rgba(0, 0, 0, .35) 100%);
  mask: linear-gradient(180deg, #000 62%, rgba(0, 0, 0, .35) 100%);
}

/* ================= F · СТЕКЛЯННАЯ НАГРАДА ВМЕСТО ПЛИТЫ ================= */
/* приказ: заднюю дугу орбиты убрать, объект обыграть как премию сообщества.
   осталась только передняя дуга - она идёт под наградой, как след света */
.authority .artifact-orbit {
  inset: auto 12% 14% 12% !important;
  height: 42% !important;
  -webkit-mask: linear-gradient(180deg, transparent 47%, #000 53%);
  mask: linear-gradient(180deg, transparent 47%, #000 53%);
}

.artifact--award { width: 300px; height: 392px; }
.artifact--award .artifact-face--front {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  border: 1px solid rgba(240, 214, 155, .55);
  border-radius: 20px 20px 8px 8px;
  padding: 34px 26px 30px;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, .2), transparent 26%),
    linear-gradient(200deg, rgba(151, 210, 222, .09), transparent 40%),
    radial-gradient(ellipse at 50% 8%, rgba(244, 221, 164, .3), transparent 46%),
    linear-gradient(170deg, rgba(30, 32, 30, .5), rgba(9, 12, 12, .72));
  box-shadow:
    inset 0 0 70px rgba(232, 194, 107, .12),
    inset 0 1px 0 rgba(255, 255, 255, .3),
    0 0 70px rgba(231, 199, 125, .14);
  backdrop-filter: blur(3px);
  text-align: center;
}
.artifact--award .aw-year {
  position: absolute;
  top: 14px;
  right: 16px;
  color: rgba(244, 221, 164, .5);
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 13px;
  font-style: normal;
  letter-spacing: .1em;
}
.artifact--award .artifact-face--front img {
  width: 74px;
  margin: 0 0 18px;
  filter: drop-shadow(0 0 20px rgba(231, 199, 125, .45));
}
.artifact--award .artifact-face--front b {
  color: #f7e9c4;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.35;
}
.artifact--award .artifact-face--front small {
  margin-top: 9px;
  color: rgba(231, 199, 125, .7);
  font-size: 7.5px;
  letter-spacing: .22em;
}
.artifact--award .aw-rule {
  display: block;
  width: 54px;
  height: 1px;
  margin: 16px auto 14px;
  border: 0;
  background: linear-gradient(90deg, transparent, rgba(231, 199, 125, .8), transparent);
}
.artifact--award .aw-quote {
  max-width: 22ch;
  color: rgba(214, 208, 194, .72);
  font-size: 10px;
  font-style: italic;
  line-height: 1.6;
  letter-spacing: .01em;
}
/* подставка: премия стоит, а не висит */
.aw-base {
  position: absolute;
  bottom: 12%;
  left: 50%;
  width: 200px;
  height: 26px;
  translate: -50% 0;
  border-radius: 50%;
  background:
    radial-gradient(ellipse at 50% 40%, rgba(231, 199, 125, .32), transparent 68%);
  filter: blur(5px);
  pointer-events: none;
}
.authority .artifact-hint { bottom: 5%; letter-spacing: .22em; }

/* ================= D · START SMALL: ПЯТЬ ВОРОТ ================= */
.safe-install {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 50% 120%, rgba(231, 199, 125, .07), transparent 58%),
    #0a0c0c;
}
.safe-path {
  position: relative;
  grid-template-columns: repeat(5, 1fr);
  margin-top: 90px;
  gap: 18px;
  background: none;
}
/* луч, который проходит все ворота */
.safe-path::before {
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, rgba(231, 199, 125, .05), rgba(231, 199, 125, .45) 22%, rgba(231, 199, 125, .45) 78%, rgba(231, 199, 125, .05));
  content: "";
}
.safe-path::after {
  position: absolute;
  z-index: 1;
  top: calc(50% - 3px);
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #f4dda4;
  box-shadow: 0 0 18px rgba(244, 221, 164, .9);
  content: "";
  animation: safeBeam 9s linear infinite;
}
@keyframes safeBeam {
  0% { left: 2%; opacity: 0; }
  8% { opacity: 1; }
  92% { opacity: 1; }
  100% { left: 98%; opacity: 0; }
}
.safe-install .safe-path li {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: 206px;
  flex-direction: column;
  border: 1px solid rgba(231, 199, 125, .16);
  border-radius: 120px 120px 16px 16px;
  padding: 0;
  background:
    linear-gradient(180deg, rgba(231, 199, 125, .07), transparent 42%),
    linear-gradient(180deg, rgba(12, 15, 15, .9), rgba(8, 10, 10, .96));
  transition: border-color .3s ease, transform .35s var(--ease, cubic-bezier(.16, 1, .3, 1));
}
.safe-install .safe-path li:hover {
  border-color: rgba(231, 199, 125, .5);
  transform: translateY(-4px);
}
.safe-install .safe-path li > b {
  padding: 26px 0 0;
  color: var(--gold, #e7c77d);
  font-size: 15px;
  letter-spacing: .18em;
  text-align: center;
}
.safe-path .safe-step-link {
  display: flex;
  height: auto;
  flex: 1;
  flex-direction: column;
  padding: 12px 22px 26px;
  gap: 12px;
  text-align: center;
}
.safe-install .safe-path li strong { margin-bottom: 8px; font-size: 17px; }
.safe-install .safe-path li span { color: #85847e; font-size: 12.5px; line-height: 1.55; }
.safe-path .safe-step-link em {
  margin: auto auto 0;
  color: var(--gold, #e7c77d);
  font-size: 16px;
}
.safe-gatehint {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 26px;
  gap: 10px 22px;
  color: #6f6e68;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.safe-gatehint b { color: var(--gold, #e7c77d); font-weight: 700; }

@media (max-width: 1040px) {
  .safe-path { grid-template-columns: 1fr 1fr; }
  .safe-install .safe-path li { min-height: 210px; border-radius: 90px 90px 14px 14px; }
  .safe-path::before, .safe-path::after { display: none; }
}
@media (max-width: 700px) { .safe-path { grid-template-columns: 1fr; } }

/* ================= E · RUN A THOUSAND: ВОЛНА ПОВЕРХ КАДРА ============== */
.vgo-array .vgo-scenecrop { position: relative; }
.fleet-wavefield {
  position: absolute;
  z-index: 4;
  inset: auto 0 6% 0;
  display: grid;
  width: 74%;
  margin: 0 auto;
  grid-template-columns: repeat(16, 1fr);
  gap: 5px 6px;
  transform: perspective(1000px) rotateX(64deg);
  pointer-events: none;
}
.fleet-wavefield i {
  display: block;
  height: 13px;
  border-radius: 3px;
  background: rgba(231, 199, 125, .22);
  box-shadow: 0 0 0 1px rgba(231, 199, 125, .12);
  animation: fleetWave 6s ease-in-out infinite;
  animation-delay: var(--delay, 0s);
}
@keyframes fleetWave {
  0%, 70%, 100% { background: rgba(231, 199, 125, .16); box-shadow: none; }
  16% { background: #f4dda4; box-shadow: 0 0 14px rgba(244, 221, 164, .8); }
  40% { background: rgba(231, 199, 125, .5); box-shadow: 0 0 6px rgba(231, 199, 125, .3); }
}
.fleet-waveband {
  position: absolute;
  z-index: 5;
  right: 4%;
  bottom: 6%;
  display: flex;
  align-items: center;
  gap: 14px;
  color: #cfc7b6;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .2em;
}
.fleet-waveband i {
  width: 26px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold, #e7c77d));
}
@media (prefers-reduced-motion: reduce) { .fleet-wavefield i { animation: none; } }
@media (max-width: 900px) { .fleet-wavefield, .fleet-waveband { display: none; } }
