/*
 * V79 · правки шефа 30.07 (просмотр кандидата v78)
 *  A. Печать: снята полоса света, голубой обод ярче
 *  B. Акт путей: подсветка вросла в фон, ядро массивное и по центру, цепи
 *  C. Дверь 01 (ANIM08): задняя надпись убрана, плашки без рамок и крупнее
 *  D. Стек 02: девять сборок вместо трёх, лого в колесе крупнее
 *  E. Стек 03: подъём 200 -> 240 подписан прошивкой VNISH
 *  F. Стек 05: слово VNISH в сцене волн
 *  G. Кокпит: только яркость и сочность кадра
 *  H. Ритуал: майнер в языке карты «Power without thermal blindness»
 *  I. Каталог: менюшки семейств -30%
 *  J. Флот: третий дальний майнер ожил, текст перестроен
 *  K. Экосистема: эмблемы на подложках
 *  L. FAQ: три буквы вписаны в проём
 *  M. Кнопки вдвое меньше по площади
 *  N. Чёрные дыры: воздух между разделами подрезан
 */

/* ================= A0 · ТЕКСТЫ ВОКРУГ ПЕЧАТИ (r3) ================= */
/* рваная выключка после печати: строки собираются в ровные блоки */
.vault-head p,
.vault-foot p,
.kit-head p,
.kit-col p,
.kit-link small {
  text-wrap: pretty;
}
.vault-head p { max-width: 74ch; }
.kit-col p { max-width: none; }
.vault-foot {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
}
.vault-foot p { max-width: 92ch; }

/* ================= A · ПЕЧАТЬ ================= */
/* r7: возврат к исторической версии (r1). Печать снова со своим телом,
   гранями, канавками, глубиной и орбитами - как было до моих чисток.
   Держим только две правки, которые шеф принял тогда:
   1) полоса света наискосок убрана (это грань facet-a и линейная полоса в glare),
   2) голубой обод ярче и выразительнее. */
.seal-glare {
  opacity: .3;
  background: radial-gradient(circle at var(--light-x, 42%) var(--light-y, 30%), rgba(255, 255, 255, .28), transparent 15%);
}
.seal-face .facet-a { display: none !important; }

.seal-wrap::after {
  inset: 3.4%;
  box-shadow:
    0 0 0 1.6px rgba(168, 226, 246, .9),
    0 0 12px 1px rgba(140, 214, 240, .55),
    0 0 34px 4px rgba(98, 184, 210, .5),
    0 0 84px 16px rgba(98, 184, 210, .26),
    inset 0 0 44px rgba(98, 184, 210, .2);
  animation-name: sealAtmos79;
}
@keyframes sealAtmos79 {
  0%, 100% {
    box-shadow:
      0 0 0 1.4px rgba(150, 218, 242, .78),
      0 0 12px 1px rgba(140, 214, 240, .44),
      0 0 30px 4px rgba(98, 184, 210, .4),
      0 0 74px 14px rgba(98, 184, 210, .2),
      inset 0 0 40px rgba(98, 184, 210, .16);
  }
  50% {
    box-shadow:
      0 0 0 1.8px rgba(186, 236, 252, 1),
      0 0 16px 2px rgba(150, 220, 246, .68),
      0 0 44px 6px rgba(98, 184, 210, .58),
      0 0 104px 22px rgba(98, 184, 210, .3),
      inset 0 0 52px rgba(98, 184, 210, .24);
  }
}

/* ================= B · АКТ ПУТЕЙ ================= */
/* подсветка врастает в фон сайта: одна мягкая линза, без краёв и углов */
.cinema-stage--paths::before {
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 39%;
  width: 132%;
  height: 108%;
  translate: -50% -50%;
  background:
    radial-gradient(52% 44% at 50% 50%, rgba(242, 195, 106, .16), rgba(242, 195, 106, .06) 42%, transparent 72%),
    radial-gradient(76% 58% at 50% 52%, rgba(126, 173, 196, .07), transparent 70%);
  content: "";
  filter: blur(28px);
  pointer-events: none;
}

/* корпус корридора растворяется в фоне сверху и снизу: острых кромок нет */
/* r2: маску сняли с самих майнеров - гасила их. Растворяется только коридор стоек.
   Одна эллиптическая маска: две маски этот Chrome складывает, а не пересекает */
.cinema-stage--paths .paths-ambient::before {
  -webkit-mask-image: radial-gradient(ellipse 60% 74% at 50% 50%, #000 34%, rgba(0, 0, 0, .5) 76%, transparent 100%) !important;
  mask-image: radial-gradient(ellipse 60% 74% at 50% 50%, #000 34%, rgba(0, 0, 0, .5) 76%, transparent 100%) !important;
}

/* r2: множество майнеров надо ВЫДЕЛИТЬ, а не спрятать: тёплый задний свет
   под кластером и чуть больше жизни в самих корпусах */
.paths-fleet::before {
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 46%;
  width: 168%;
  height: 190%;
  translate: -50% -50%;
  background:
    radial-gradient(52% 46% at 50% 50%, rgba(242, 195, 106, .3), rgba(242, 195, 106, .1) 46%, transparent 76%),
    radial-gradient(78% 62% at 50% 54%, rgba(214, 152, 40, .12), transparent 74%);
  content: "";
  filter: blur(22px);
  pointer-events: none;
}
.paths-fleet .paths-unit img {
  filter:
    brightness(1.28) saturate(1.18)
    drop-shadow(0 0 18px rgba(242, 195, 106, .32));
}
.paths-fleet__caption { color: rgba(242, 195, 106, .68) !important; }

/* ---- ядро: массивное, основательное, строго по центру сцены ---- */
.paths-node {
  z-index: 6;
  top: 39%;
  width: 300px;
  height: 300px;
  display: grid;
  place-items: center;
}
.paths-node::before {
  position: absolute;
  inset: 8%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 34%, rgba(38, 33, 24, .96), rgba(10, 10, 11, .98) 62%),
    #070708;
  box-shadow:
    0 0 0 1px rgba(242, 195, 106, .5),
    0 0 0 9px rgba(242, 195, 106, .07),
    0 26px 60px rgba(0, 0, 0, .7),
    inset 0 2px 0 rgba(255, 226, 165, .18),
    inset 0 -18px 40px rgba(0, 0, 0, .6);
  content: "";
}
/* обод-шестерня: тяжёлое кольцо с насечкой */
.paths-node::after {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background:
    repeating-conic-gradient(from 0deg, rgba(242, 195, 106, .5) 0deg 1.1deg, transparent 1.1deg 6deg);
  -webkit-mask: radial-gradient(circle, transparent 0 45.5%, #000 45.5% 50%, transparent 50%);
  mask: radial-gradient(circle, transparent 0 45.5%, #000 45.5% 50%, transparent 50%);
  content: "";
  opacity: calc(.5 + var(--pulse, 0) * .5);
  animation: pathsCore79 26s linear infinite;
}
@keyframes pathsCore79 { to { rotate: 360deg; } }

.paths-node__ring { display: none; }

/* r2: лого и подписи собраны в один оптически выровненный локап */
.paths-node img {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 41%;
  width: 104px;
  height: auto;
  transform: none;
  translate: -50% -50%;
  filter: drop-shadow(0 0 calc(10px + var(--pulse, 0) * 18px) rgba(244, 205, 112, .6));
}
/* ГРАБЛЯ r3: v70 держит на этих узлах transform: translateX(-50%).
   Мой translate складывался с ним и уводил подписи влево на полширины. */
.paths-node b {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 55.5%;
  transform: translateX(-50%);
  translate: none;
  color: #f0d79a;
  font-size: 12px;
  letter-spacing: .3em;
  padding-left: .3em;
}
.paths-node small {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 64%;
  bottom: auto;
  transform: translateX(-50%);
  translate: none;
  color: rgba(247, 243, 234, .42);
  font-size: 9px;
  letter-spacing: .28em;
  padding-left: .28em;
}

/* ---- r4: цепи и импульс убраны целиком по приказу ---- */
.paths-chain { display: none !important; }
.paths-route .route-path { stroke-width: 1.6 !important; opacity: .5; }
.paths-route .route-path--flow { display: none; }

/* ================= C · ДВЕРЬ 01 (ANIM08) ================= */
/* задняя надпись vnish убрана по приказу */
.miner-identity--a08 .a08-root .giant-word { display: none !important; }

/* плашки становятся свободными надписями: без рамок, крупнее, дальше от майнера */
.miner-identity--a08 .a08-root .slab {
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding: 0 !important;
  overflow: visible !important;
}
.miner-identity--a08 .a08-root .slab::before,
.miner-identity--a08 .a08-root .slab::after { display: none !important; }
.miner-identity--a08 .a08-root .slab > span {
  color: rgba(242, 195, 106, .8) !important;
  font-size: clamp(9px, 1.35cqw, 15px) !important;
  font-weight: 780 !important;
  letter-spacing: .3em !important;
}
.miner-identity--a08 .a08-root .slab > b {
  font-size: clamp(26px, 5.4cqw, 74px) !important;
  line-height: .9 !important;
  text-shadow: 0 8px 34px rgba(0, 0, 0, .85);
}
.miner-identity--a08 .a08-root .slab b strong {
  font-size: clamp(34px, 7.4cqw, 104px) !important;
  line-height: .86 !important;
}
.miner-identity--a08 .a08-root .slab b > span {
  font-size: clamp(9px, 1.3cqw, 14px) !important;
  letter-spacing: .28em !important;
}
/* r2: все четыре разведены резко по углам, максимально далеко друг от друга */
.miner-identity--a08 .a08-root .slab-one { left: 1.5% !important; right: auto !important; top: 2% !important; bottom: auto !important; width: 30% !important; }
.miner-identity--a08 .a08-root .slab-fleet { right: 1.5% !important; left: auto !important; top: 1% !important; bottom: auto !important; width: 32% !important; text-align: right; }
.miner-identity--a08 .a08-root .slab-hosting { left: 1.5% !important; right: auto !important; bottom: 1% !important; top: auto !important; width: 32% !important; }
.miner-identity--a08 .a08-root .slab-control { right: 1.5% !important; left: auto !important; bottom: 2% !important; top: auto !important; width: 24% !important; }
.miner-identity--a08 .a08-root .slab-fleet b,
.miner-identity--a08 .a08-root .slab-fleet span { text-align: right; justify-items: end; }
.miner-identity--a08 .a08-root .slab-control img {
  width: 100% !important;
  filter: drop-shadow(0 10px 26px rgba(0, 0, 0, .7));
}

/* r3: S21 и лого втрое мельче, две цифры не трогаем и выводим вперёд.
   ГРАБЛЯ: у .slab стоит min-width: 230px - без min-width:0 ширина не уменьшается */
.miner-identity--a08 .a08-root .slab { min-width: 0 !important; }
.miner-identity--a08 .a08-root .slab-one { width: 10% !important; }
.miner-identity--a08 .a08-root .slab-one > span { font-size: clamp(6px, .5cqw, 7px) !important; letter-spacing: .22em !important; }
.miner-identity--a08 .a08-root .slab-one > b { font-size: clamp(10px, 1.8cqw, 25px) !important; }
.miner-identity--a08 .a08-root .slab-control { width: 8% !important; }
/* две цифры остаются в прежнем размере: min-width им возвращаем */
.miner-identity--a08 .a08-root .slab-fleet,
.miner-identity--a08 .a08-root .slab-hosting { min-width: 230px !important; }
.miner-identity--a08 .a08-root .slab-fleet,
.miner-identity--a08 .a08-root .slab-hosting { z-index: 6 !important; }
.miner-identity--a08 .a08-root .slab-one,
.miner-identity--a08 .a08-root .slab-control { z-index: 3 !important; opacity: .9; }

/* ================= D · СТЕК 02: ДЕВЯТЬ СБОРОК ================= */
.sg-file--s1 { top: 15%; }
.sg-file--s2 { top: 42%; }
.sg-file--s3 { top: 69%; }
.sg-file--s1 { animation: sgEject79a 15s cubic-bezier(.22, .68, .28, 1) infinite; }
.sg-file--s2 { animation: sgEject79b 15s cubic-bezier(.22, .68, .28, 1) infinite; }
.sg-file--s3 { animation: sgEject79c 15s cubic-bezier(.22, .68, .28, 1) infinite; }
.sg-file--w1 { animation-delay: 0s; }
.sg-file--w2 { animation-delay: -10s; }
.sg-file--w3 { animation-delay: -5s; }

@keyframes sgEject79a {
  0% { opacity: 0; transform: translate(124%, 22%) scale(.6); }
  2% { opacity: 1; border-color: rgba(255, 214, 130, .9); box-shadow: 0 0 30px rgba(255, 206, 110, .5); }
  9% { transform: translate(0, 0) scale(1); border-color: rgba(247, 243, 234, .16); box-shadow: 0 14px 30px rgba(0, 0, 0, .5); }
  27% { opacity: 1; transform: translate(0, 0) scale(1); }
  32%, 100% { opacity: 0; transform: translate(0, 0) scale(1); }
}
@keyframes sgEject79b {
  0% { opacity: 0; transform: translate(124%, -4%) scale(.6); }
  2% { opacity: 1; border-color: rgba(255, 214, 130, .9); box-shadow: 0 0 30px rgba(255, 206, 110, .5); }
  9% { transform: translate(0, 0) scale(1); border-color: rgba(247, 243, 234, .16); box-shadow: 0 14px 30px rgba(0, 0, 0, .5); }
  27% { opacity: 1; transform: translate(0, 0) scale(1); }
  32%, 100% { opacity: 0; transform: translate(0, 0) scale(1); }
}
@keyframes sgEject79c {
  0% { opacity: 0; transform: translate(124%, -30%) scale(.6); }
  2% { opacity: 1; border-color: rgba(255, 214, 130, .9); box-shadow: 0 0 30px rgba(255, 206, 110, .5); }
  9% { transform: translate(0, 0) scale(1); border-color: rgba(247, 243, 234, .16); box-shadow: 0 14px 30px rgba(0, 0, 0, .5); }
  27% { opacity: 1; transform: translate(0, 0) scale(1); }
  32%, 100% { opacity: 0; transform: translate(0, 0) scale(1); }
}

/* лого в колесе: крупнее и сочнее */
.sg-core7-mark {
  width: 40%;
  filter:
    drop-shadow(0 0 22px rgba(255, 206, 110, .55))
    drop-shadow(0 0 60px rgba(255, 186, 80, .3))
    saturate(1.25) brightness(1.16);
}

/* ================= E · СТЕК 03: ПОДЪЁМ ДАЁТ ПРОШИВКА ================= */
.sg-arc-lift {
  fill: none;
  stroke: url(#sgArcLift);
  stroke-width: 13;
  stroke-linecap: round;
  /* дуга 628.3: от стока (.52) до максимума (.9) */
  stroke-dasharray: 238.8 628.4;
  stroke-dashoffset: -326.7;
  opacity: 0;
  transition: opacity .5s ease;
}
.sg-gauge.is-lift .sg-arc-lift { opacity: .95; animation: sgLiftBreath79 2.6s ease-in-out infinite alternate; }
@keyframes sgLiftBreath79 { from { opacity: .55; } to { opacity: 1; } }

.sg-lift {
  position: absolute;
  left: 50%;
  top: 8%;
  translate: -50% 0;
  display: grid;
  justify-items: center;
  gap: 5px;
  text-align: center;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .45s ease, transform .45s ease;
  pointer-events: none;
}
.sg-gauge.is-lift .sg-lift { opacity: 1; transform: translateY(0); }
.sg-lift b {
  color: #ffd487;
  font-size: 12px;
  font-weight: 820;
  letter-spacing: .32em;
  padding-left: .32em;
  text-shadow: 0 0 24px rgba(255, 190, 90, .5);
}
.sg-lift span {
  color: rgba(247, 243, 234, .62);
  font-size: 10px;
  font-weight: 640;
  letter-spacing: .12em;
}
.sg-lift i { font-style: normal; color: #ffd487; }

/* ================= F · СТЕК 05: СЛОВО VNISH ================= */
.sg-scale-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}
.sg-scale-brand i {
  width: 44px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(242, 195, 106, .6));
}
.sg-scale-brand b {
  color: #f2c36a;
  font-size: 13px;
  font-weight: 840;
  letter-spacing: .34em;
  padding-left: .34em;
}
.sg-scale-brand span {
  color: rgba(247, 243, 234, .44);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .12em;
}

/* ================= G · КОКПИТ: ЯРЧЕ И СОЧНЕЕ ================= */
/* только тон кадра, ни данных, ни вёрстки */
.vgo-cockpit .vgo-master {
  filter: brightness(1.22) contrast(1.08) saturate(1.3);
}
/* r2: золотая полоса-пробег по кадру снята */
.vgo-cockpit-light { display: none !important; }
/* r2: за кадром живой цветной фон вместо чёрного */
.vgo-cockpit { position: relative; isolation: isolate; overflow: clip; }
.vgo-cockpit::before {
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 52%;
  width: 116%;
  height: 122%;
  translate: -50% -50%;
  background:
    radial-gradient(46% 44% at 27% 40%, rgba(96, 168, 214, .16), transparent 72%),
    radial-gradient(48% 46% at 74% 58%, rgba(242, 168, 76, .15), transparent 72%),
    radial-gradient(90% 80% at 50% 50%, rgba(9, 12, 16, .9), transparent 88%);
  content: "";
  filter: blur(60px);
  pointer-events: none;
  animation: cockpitAmbient79 16s ease-in-out infinite alternate;
}
@keyframes cockpitAmbient79 {
  from { opacity: .72; transform: translate(-1%, 0) scale(1); }
  to { opacity: 1; transform: translate(1%, 0) scale(1.04); }
}
@media (prefers-reduced-motion: reduce) { .vgo-cockpit::before { animation: none; } }

/* ================= H · РИТУАЛ: МАЙНЕР В КАНОНЕ КАРТЫ 04 ================= */
.oneminer-unit--fanwall {
  bottom: 15%;
  width: min(78%, 470px);
  aspect-ratio: 1026 / 1017;
}
.oneminer-unit--fanwall .sg-fanwall {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
  opacity: 1;
  animation: none;
}
/* v73 задаёт .oneminer-unit img { width:100% } - возвращаем канонные размеры */
.oneminer-unit--fanwall .sg-fanbase,
.oneminer-unit--fanwall .sg-fanhalo { width: 100%; height: 100%; }
.oneminer-unit--fanwall .sg-fandisc { width: 34.1%; height: auto; }
.oneminer-unit--fanwall .sg-fandisc--top { left: 30.4%; top: 14.7%; }
.oneminer-unit--fanwall .sg-fandisc--bottom { left: 30.4%; top: 53.6%; }
.oneminer-unit--fanwall .sg-fanbase { filter: none; }
.oneminer-unit--fanwall figcaption {
  position: absolute;
  left: 50%;
  bottom: -34px;
  width: 100%;
  translate: -50% 0;
  margin: 0;
}
/* мусор прежней сцены: осевой луч и ленты убраны, тень мягкая */
.oneminer-scene .gold-axis { display: none; }
.oneminer-scene .light-ribbon { opacity: .22; }

/* ================= I · КАТАЛОГ: МЕНЮ СЕМЕЙСТВ -30% ================= */
/* площадь: ширину держит сетка, значит режем высоту и типографику.
   r3: ещё -35% сверху прошлого захода */
.finder-resolver-panel .resolver-option {
  min-height: 48px;
  gap: 3px 14px;
  padding: 9px 15px;
}
.finder-resolver-panel .resolver-option b { font-size: 13.5px; }
.finder-resolver-panel .resolver-option small { font-size: 8.6px; line-height: 1.3; }
.finder-resolver-panel .resolver-option em { font-size: 15px; }

/* ================= J · ФЛОТ ================= */
/* третий дальний майнер: свои вентиляторы, геометрия снята с кадра */
.mf-geo-array-11 { --x: 29.48%; --y: 32.04%; --w: 4.58%; --h: 11.9%; --angle: 0deg; --speed: 3.05s; --delay: -2.4s; --direction: normal; --opacity: .62; }
.mf-geo-array-12 { --x: 29.48%; --y: 46.36%; --w: 4.58%; --h: 11.9%; --angle: 0deg; --speed: 3.36s; --delay: -5.1s; --direction: reverse; --opacity: .6; }
.mf-geo-array-13 { --x: 35.12%; --y: 28.83%; --w: 1.92%; --h: 4.7%; --angle: 0deg; --speed: 2.94s; --delay: -1.3s; --direction: reverse; --opacity: .5; }
.mf-geo-array-14 { --x: 35.12%; --y: 36.31%; --w: 1.92%; --h: 4.7%; --angle: 0deg; --speed: 3.22s; --delay: -3.7s; --direction: normal; --opacity: .48; }
.mf-geo-array-15 { --x: 35.12%; --y: 43.88%; --w: 1.92%; --h: 4.7%; --angle: 0deg; --speed: 3.11s; --delay: -6.2s; --direction: reverse; --opacity: .49; }

/* текст флота: структура вместо простыни */
.fleet-lede { max-width: 46ch; }
.fleet-story article { display: grid; align-content: start; gap: 10px; }
.fleet-story article p { margin: 0; max-width: 34ch; }
.fleet-story article b {
  color: rgba(242, 195, 106, .78);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .24em;
}

/* ================= K · ЭКОСИСТЕМА: ЭМБЛЕМЫ ================= */
.eco-card { position: relative; overflow: hidden; }
.eco-emblem {
  position: absolute;
  right: 4%;
  top: 8%;
  display: block;
  width: min(34%, 190px);
  aspect-ratio: 1;
  opacity: .5;
  pointer-events: none;
  transition: opacity .4s ease, transform .5s ease;
}
.eco-emblem svg { width: 100%; height: 100%; display: block; overflow: visible; }
.eco-emblem img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 44%;
  height: auto;
  translate: -50% -50%;
}
.eco-card:hover .eco-emblem { opacity: .82; transform: translateY(-4px); }

.eco-emblem .eco-ring { fill: none; stroke: rgba(242, 195, 106, .5); stroke-width: 1.6; }
.eco-emblem .eco-orbit { fill: none; stroke: rgba(242, 195, 106, .34); stroke-width: 1.2; }
.eco-emblem .eco-lat { fill: none; stroke: rgba(242, 195, 106, .16); stroke-width: 1; }
.eco-emblem .eco-board { fill: rgba(242, 195, 106, .05); stroke: rgba(242, 195, 106, .5); stroke-width: 1.6; }
.eco-emblem .eco-pins { stroke: rgba(242, 195, 106, .38); stroke-width: 1.6; }
.eco-emblem .eco-chip { fill: rgba(242, 195, 106, .16); stroke: rgba(242, 195, 106, .5); stroke-width: 1.2; }
.eco-emblem .eco-rise { fill: none; stroke: rgba(255, 214, 130, .9); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.eco-emblem .eco-arrow { fill: none; stroke: rgba(255, 214, 130, .9); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.eco-emblem .eco-star { fill: rgba(242, 195, 106, .1); stroke: rgba(242, 195, 106, .62); stroke-width: 1.6; stroke-linejoin: round; }
.eco-emblem .eco-hub { fill: #0a0a0b; stroke: rgba(242, 195, 106, .6); stroke-width: 1.4; }
.eco-emblem .eco-slash { stroke: rgba(255, 226, 165, .5); stroke-width: 1.4; }
.eco-emblem--ninja .eco-star { animation: ecoSpin79 34s linear infinite; transform-origin: 60px 60px; }
@keyframes ecoSpin79 { to { rotate: 360deg; } }
@media (prefers-reduced-motion: reduce) { .eco-emblem--ninja .eco-star { animation: none; } }

.eco-domain {
  color: rgba(247, 243, 234, .34);
  font-family: "SF Mono", Menlo, monospace;
  font-size: 10.5px;
  letter-spacing: .06em;
  text-decoration: none;
}

/* ================= L · FAQ: ТРИ БУКВЫ В ПРОЁМЕ ================= */
.faq-portal-frame { container-type: inline-size; }
.faq-mark {
  top: 19%;
  font-family: "Onest", "Inter", system-ui, sans-serif;
  font-size: 13.4cqw;
  font-weight: 600;
  letter-spacing: .07em;
  text-indent: .07em;
  line-height: 1;
  background: linear-gradient(180deg, #fff5df 0%, #f2c36a 42%, #b9832f 74%, #f7e2b0 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  filter:
    drop-shadow(0 1px 0 rgba(255, 236, 196, .5))
    drop-shadow(0 -1px 0 rgba(90, 58, 16, .6))
    drop-shadow(0 10px 34px rgba(0, 0, 0, .85))
    drop-shadow(0 0 calc(18px + var(--faq-open, 0) * 26px) rgba(255, 190, 90, calc(.3 + var(--faq-open, 0) * .4)));
  text-shadow: none;
}
/* тонкие засечки-направляющие в проёме */
.faq-portal-frame::after {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: calc(19% + 14cqw);
  width: 15cqw;
  height: 1px;
  translate: -50% 0;
  background: linear-gradient(90deg, transparent, rgba(242, 195, 106, calc(.35 + var(--faq-open, 0) * .45)), transparent);
  content: "";
  pointer-events: none;
}

/* ================= M · КНОПКИ ВДВОЕ МЕНЬШЕ ПО ПЛОЩАДИ ================= */
/* площадь /2 = стороны /1.41: пропорции кнопки сохраняются целиком */
.paths-slot--one .button--gold,
.oneminer-actions .button--gold {
  zoom: .71;
}
/* r3: бриф возвращён в стопку карточек - не отваливается, но остаётся низким */
.fleet-command { align-self: start; }
.fleet-command .button--gold {
  align-self: stretch;
  justify-self: stretch;
  width: 100%;
  margin-top: 0;
  padding: 9px 18px;
  font-size: 9.5px;
  letter-spacing: .16em;
  zoom: 1;
}

/* ================= N · ВОЗДУХ: ЧЁРНЫЕ ДЫРЫ ================= */
/* r2: ритм карточек стека - пять провалов по 540px подряд */
.stack-card--02,
.stack-card--03,
.stack-card--04,
.stack-card--05,
.stack-card--06 { margin-top: min(14vh, 120px); }
/* r2: холостой скролл кино-пина актов (сам пин и сцену не трогаем) */
.cinema-pin { height: 150vh; }
/* r2: хвост финдера перед safe-install */
.finder { padding-bottom: 70px; }
.safe-install { padding-top: 70px; }

/* акт путей -> вход */
.route-choice { padding-top: 64px; }
/* вход -> стек: линия контракта удалена, воздух за ней тоже */
.route-guides { padding-bottom: 0; }
.control-stack { padding-top: 70px; }
.stack-intro { display: grid; gap: 22px; }
.stack-intro .eyebrow { margin-bottom: 0; }
.stack-intro h2 { margin-top: 0; }
.stack-intro > p { margin-top: 0; }
/* r3: дашборд возвращён к принятой версии - высоту секции и сцены не трогаем */
.vgo-cockpit { padding-top: 46px; padding-bottom: 40px; }
/* кокпит -> ритуал: у вьюпорта висел top:220px от кино-пина */
.cinema-act--ritual .cinema-viewport { top: 0; }
.cinema-act--ritual .cinema-stage { padding-top: 40px; padding-bottom: 60px; }
/* флот -> proof */
.fleet { padding-bottom: 70px; }
.authority { min-height: 0; padding-bottom: 70px; }
/* sitemap -> supported hardware -> 45 exact models */
.models { padding-top: 64px; padding-bottom: 70px; }
.models-intro { gap: 16px; }
.models-intro .eyebrow { margin-bottom: 4px; }
/* no approximate match -> ecosystem */
.ecosystem { padding-top: 66px; padding-bottom: 66px; }
/* ecosystem -> presentations */
.briefings { padding-top: 66px; padding-bottom: 66px; }
/* FAQ -> your next decision */
.vgo-threshold.faq { padding-bottom: 40px; }
.final-cta { padding-top: 64px; padding-bottom: 56px; }
/* после кубка */
.follow-band { padding-top: 34px; }

/* ================= O · ЛОГО В ФУТЕРЕ (r2) ================= */
/* r3: большие интерактивные буквы VNISH GLOBAL перед футером возвращены как были */
/* в самом футере: знак и обе строки идут одним блоком, без разрывов */
.footer-brand {
  display: grid;
  gap: 6px;
  justify-items: start;
}
.footer-brand img { width: 40px; height: 40px; margin-bottom: 4px; }
.footer-brand-name { margin: 0; font-size: 12px; letter-spacing: .15em; white-space: nowrap; }
.footer-brand span { font-size: 6.5px; letter-spacing: .2em; white-space: nowrap; }

@media (max-width: 1024px) {
  .paths-node { width: 210px; height: 210px; }
  .paths-node img { width: 76px; }
  .eco-emblem { width: 128px; top: 6%; }
  .sg-lift b { font-size: 10px; }
}

/* на узком эмблема встаёт в поток над ролью: на заголовок не наезжает */
@media (max-width: 900px) {
  .eco-emblem {
    position: static;
    width: 58px;
    margin-bottom: 12px;
    opacity: .62;
  }
  .eco-card:hover .eco-emblem { transform: none; }
}

/* ================= R4 · ЧЕТВЁРТЫЙ ЗАХОД ПО ЗАМЕЧАНИЯМ ШЕФА ================= */

/* --- дверь 01: остаются только две цифры, ровно по горизонтали --- */
.miner-identity--a08 .a08-root .slab-one,
.miner-identity--a08 .a08-root .slab-control { display: none !important; }
.miner-identity--a08 .a08-root .route,
.miner-identity--a08 .a08-root .signal { display: none !important; }
.miner-identity--a08 .a08-root .slab-fleet,
.miner-identity--a08 .a08-root .slab-hosting {
  top: 12% !important;
  bottom: auto !important;
  width: 30% !important;
  min-width: 0 !important;
}
.miner-identity--a08 .a08-root .slab-hosting { left: 2% !important; right: auto !important; text-align: left; }
.miner-identity--a08 .a08-root .slab-fleet { right: 2% !important; left: auto !important; text-align: right; }

/* --- плашка CATALOG LOCKED убрана --- */
.catalog-lock { display: none !important; }

/* --- LinkedIn: умеренный голубой контраст против остальных соцсетей --- */
.li-fea {
  border-color: rgba(96, 168, 214, .34) !important;
  background:
    radial-gradient(62% 120% at 12% 0%, rgba(72, 148, 200, .2), transparent 68%),
    linear-gradient(135deg, rgba(28, 74, 110, .34), rgba(10, 20, 29, .6)) !important;
}
.li-fea h3 { color: #dceaf5; }
.li-fea small { color: rgba(140, 196, 232, .82) !important; }

/* --- большие буквы перед футером: без своей подложки, прямо на фоне сайта --- */
.footer-word.footer-word--approved {
  background: transparent !important;
}

/* --- safe-install: меню больше не наезжает на лозунг выше --- */
.safe-install { padding-top: 96px; }
.safe-layout { row-gap: 42px; }
.safe-head { margin-bottom: 8px; }
.safe-path { margin-top: 0; }

/* --- authority: блок выровнен по шеллу, камень вдвое больше по площади --- */
.authority-copy {
  margin-left: max(4vw, calc(50vw - 1280px)) !important;
  margin-right: 0 !important;
}

/* --- дашборд: сцена больше не жмётся к левому краю, панель целиком в кадре,
       пустая высота под ней убрана. Саму разметку панели не трогаем. --- */
@media (min-width: 1500px) {
  .telemetry[data-telemetry-v53] {
    min-height: min(150vh, 1180px) !important;
  }
  .telemetry[data-telemetry-v53] .telemetry-stage {
    width: min(2560px, calc(100vw - 80px)) !important;
    min-height: min(100vh, 1180px);
    height: min(100vh, 1180px);
    margin-inline: auto !important;
  }
  .telemetry[data-telemetry-v53] .telemetry-copy {
    left: max(4vw, calc(50% - 1280px));
  }
  .vg-roidash {
    left: 24% !important;
    width: min(1400px, 55%) !important;
  }
}

/* ================= R5 · ПЯТЫЙ ЗАХОД ================= */

/* --- дверь 01: сцена ниже, пустоты до и после ушли --- */
.route-door--miner .miner-identity--a08 { aspect-ratio: 16 / 7.6 !important; margin-block: 0; }
.miner-identity--a08 .a08-root .slab-fleet,
.miner-identity--a08 .a08-root .slab-hosting {
  top: 50% !important;
  bottom: auto !important;
  translate: 0 -50%;
  width: 26% !important;
}

/* --- кокпит: кадр не растягивается выше своего разрешения --- */
.vgo-cockpit .vgo-frame {
  max-width: 1720px;
  margin-inline: auto;
}

/* --- каталог r6: четыре пункта -30% по площади, задняя плашка с острыми
       углами из-под них убрана. Длинные внутренние списки ещё компактнее --- */
.finder-resolver-panel .resolver-options {
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  gap: 10px;
}
.finder-resolver-panel .resolver-option {
  min-height: 73px;
  gap: 5px 16px;
  padding: 16px 18px;
  border-radius: 14px;
}
.finder-resolver-panel .resolver-option b { font-size: 15.5px; }
.finder-resolver-panel .resolver-option small { font-size: 9.5px; line-height: 1.35; }
.finder-resolver-panel .resolver-option em { font-size: 17px; }
.finder-resolver-panel .resolver-options:has(> *:nth-child(5)) { gap: 6px; }
.finder-resolver-panel .resolver-options:has(> *:nth-child(5)) .resolver-option {
  min-height: 52px;
  gap: 3px 14px;
  padding: 10px 15px;
}
.finder-resolver-panel .resolver-options:has(> *:nth-child(5)) .resolver-option b { font-size: 13.5px; }
.finder-resolver-panel .resolver-options:has(> *:nth-child(5)) .resolver-option small { font-size: 8.6px; line-height: 1.3; }
.finder-resolver-panel .resolver-options:has(> *:nth-child(5)) .resolver-option em { font-size: 15px; }


/* ================= R7 ================= */
/* парк: мелкие тройки вентиляторов сняты - накладки не садятся на место */
.mf-geo-array-3, .mf-geo-array-4, .mf-geo-array-5,
.mf-geo-array-8, .mf-geo-array-9, .mf-geo-array-10,
.mf-geo-array-13, .mf-geo-array-14, .mf-geo-array-15 { display: none !important; }

/* ================= R8 · ВОСЬМОЙ ЗАХОД ================= */

/* --- 1. ANIM10: полностью прозрачный фон, ничего своего вокруг машины --- */
.oneminer-scene .anim10--component,
.oneminer-scene .anim10--component .anim10-stage,
.oneminer-scene .anim10--component canvas {
  background: transparent !important;
}
.oneminer-scene .anim10--component {
  overflow: visible !important;
  isolation: auto !important;
  border-radius: 0 !important;
}
/* среда вместо коробки: холодный контровой слева, тёплый ключевой справа */
.oneminer-scene .anim10--component::before {
  background:
    radial-gradient(38% 34% at 63% 46%, rgba(255, 176, 74, .26), transparent 72%),
    radial-gradient(30% 30% at 30% 40%, rgba(112, 186, 226, .14), transparent 74%),
    radial-gradient(80% 64% at 50% 56%, rgba(214, 122, 30, .06), transparent 78%) !important;
}

/* --- 2. FAQ: створки чуть приоткрываются, свет в проёме растёт, буквы читаются --- */
.faq-portal-frame { --faq-ajar: 0; }
.faq-portal-frame .faq-door {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  /* r9: створки - только внешние поля кадра. Центр с майнером неподвижен */
  width: 34%;
  background-image: var(--vgo-door-core, url('/assets/oldmine/10-threshold-core.webp'));
  background-size: 294.1% 100%;
  background-repeat: no-repeat;
  filter: brightness(calc(.78 + var(--faq-open) * .3)) saturate(calc(1.02 + var(--faq-open) * .12));
  pointer-events: none;
  transform-origin: 50% 50%;
  transition: transform 1.1s cubic-bezier(.2, .75, .2, 1), filter 1s ease;
  animation: faqAjar 9s ease-in-out infinite;
}
.faq-portal-frame .faq-door--l { left: 0; background-position: left center; transform-origin: 0% 50%; }
.faq-portal-frame .faq-door--r { right: 0; background-position: right center; transform-origin: 100% 50%; }
.faq-portal-frame .faq-door--r { animation-name: faqAjarR; }
@keyframes faqAjar {
  0%, 100% { transform: perspective(1400px) rotateY(0deg) translateX(0); }
  50% { transform: perspective(1400px) rotateY(2.6deg) translateX(-1.6%); }
}
@keyframes faqAjarR {
  0%, 100% { transform: perspective(1400px) rotateY(0deg) translateX(0); }
  50% { transform: perspective(1400px) rotateY(-2.6deg) translateX(1.6%); }
}
/* свет, который выходит из проёма между створками */
.faq-portal-frame .faq-slit {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 6%;
  width: 26%;
  height: 88%;
  translate: -50% 0;
  background:
    radial-gradient(52% 46% at 50% 34%, rgba(255, 214, 140, .5), transparent 72%),
    linear-gradient(180deg, rgba(255, 198, 108, .32), rgba(255, 176, 74, .16) 58%, transparent 92%);
  filter: blur(16px);
  pointer-events: none;
  animation: faqSlit 9s ease-in-out infinite;
}
@keyframes faqSlit {
  0%, 100% { opacity: .42; width: 22%; }
  50% { opacity: 1; width: 30%; }
}
/* буквы всплывают вместе с открытием */
.faq-mark { animation: faqMarkLift 9s ease-in-out infinite; }
@keyframes faqMarkLift {
  0%, 100% { filter:
      drop-shadow(0 1px 0 rgba(255, 236, 196, .5))
      drop-shadow(0 -1px 0 rgba(90, 58, 16, .6))
      drop-shadow(0 10px 34px rgba(0, 0, 0, .85))
      drop-shadow(0 0 20px rgba(255, 190, 90, .35)); }
  50% { filter:
      drop-shadow(0 1px 0 rgba(255, 244, 214, .7))
      drop-shadow(0 -1px 0 rgba(90, 58, 16, .6))
      drop-shadow(0 10px 34px rgba(0, 0, 0, .85))
      drop-shadow(0 0 42px rgba(255, 200, 110, .7)); }
}
@media (prefers-reduced-motion: reduce) {
  .faq-portal-frame .faq-door,
  .faq-portal-frame .faq-slit,
  .faq-mark { animation: none; }
}

/* --- 3. Парк: кадр растворяется в фоне сайта, тёмных углов и рамки нет --- */
.vgo-array .vgo-scenecrop {
  overflow: visible !important;
  border-radius: 0 !important;
}
.vgo-array .vgo-frame {
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.vgo-array .mf--sovereign-array {
  -webkit-mask-image: radial-gradient(ellipse 62% 66% at 50% 52%, #000 42%, rgba(0, 0, 0, .72) 72%, transparent 100%);
  mask-image: radial-gradient(ellipse 62% 66% at 50% 52%, #000 42%, rgba(0, 0, 0, .72) 72%, transparent 100%);
}
/* верхние тёмные углы кадра больше не читаются как углы */
.vgo-array .vgo-scenecrop::after {
  background:
    radial-gradient(ellipse at 50% 58%, transparent 46%, rgba(4, 5, 6, .34) 92%) !important;
}
.vgo-array .fleet-waveband,
.vgo-array .fleet-wavefield {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
}

/* ================= R9 ================= */
/* ANIM10: золотое свечение в языке карты Power without thermal blindness.
   Канвас прозрачный, поэтому drop-shadow обводит сам силуэт машины. */
.oneminer-scene .anim10--component canvas {
  filter:
    drop-shadow(0 0 14px rgba(255, 196, 104, .5))
    drop-shadow(0 0 46px rgba(255, 168, 62, .34))
    drop-shadow(0 0 110px rgba(214, 122, 30, .2));
  animation: a10Halo 3.8s ease-in-out infinite alternate;
}
@keyframes a10Halo {
  from {
    filter:
      drop-shadow(0 0 10px rgba(255, 196, 104, .34))
      drop-shadow(0 0 34px rgba(255, 168, 62, .22))
      drop-shadow(0 0 86px rgba(214, 122, 30, .14));
  }
  to {
    filter:
      drop-shadow(0 0 18px rgba(255, 210, 132, .62))
      drop-shadow(0 0 58px rgba(255, 168, 62, .42))
      drop-shadow(0 0 130px rgba(214, 122, 30, .26));
  }
}
@media (prefers-reduced-motion: reduce) {
  .oneminer-scene .anim10--component canvas { animation: none; }
}

/* Парк: кадр больше не прямоугольник - фон вырезан в самом файле,
   остаются машины и золотая энергия прямо на фоне сайта */
.vgo-array .mf--sovereign-array {
  -webkit-mask-image: none !important;
  mask-image: none !important;
}
.vgo-array .vgo-scenecrop::after { display: none !important; }
.vgo-array .vgo-array-fx { opacity: .85; }

/* r9: у сцены парка была своя заливка #050506 - именно она и читалась прямоугольником */
.vgo-array .mf__scene {
  background: none !important;
  overflow: visible !important;
  isolation: auto !important;
}
.vgo-array .vgo-frame,
.vgo-array .vgo-shell { background: none !important; }
/* полоса волнового поля больше не рубит кадр светлым брусом */
.vgo-array .fleet-wavefield { opacity: .38; mix-blend-mode: screen; }
.vgo-array .fleet-waveband { opacity: .7; }
