/* VNISH GLOBAL · DECK R2 · новые блоки сведённого дека
   Обложка с землёй, столбики Cambridge, майнер с плашками, лестница пилота,
   карточки масштаба. Всё остальное берёт стили из deck.css. */

/* ---------- 01 обложка ---------- */
.cover--earth { position: relative; overflow: hidden; }

.cover-earth {
  position: absolute;
  top: 58%;
  right: -12%;
  z-index: 0;
  width: min(48%, 720px);
  height: auto;
  transform: translateY(-42%);
  opacity: .5;
  -webkit-mask-image: radial-gradient(ellipse 62% 62% at 50% 50%, #000 46%, transparent 78%);
  mask-image: radial-gradient(ellipse 62% 62% at 50% 50%, #000 46%, transparent 78%);
  pointer-events: none;
}

.cover--earth > *:not(.cover-earth) { position: relative; z-index: 1; }

.cover--earth h1 { max-width: 15ch; }

.cover-note {
  margin: 14px 0 0;
  color: #6f6c66;
  font-size: 11px;
  letter-spacing: .04em;
}

/* ---------- 02 столбики Cambridge ---------- */
.bars {
  display: grid;
  gap: 14px;
  margin: 26px 0 22px;
}

.bar-row {
  display: grid;
  grid-template-columns: minmax(0, 210px) minmax(0, 1fr);
  gap: 20px;
  align-items: center;
}

.bar-row > span {
  color: #cfcbc2;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .02em;
}

.bar-row > i {
  position: relative;
  display: block;
  height: 44px;
  border-radius: 6px;
  background: linear-gradient(90deg, rgba(241, 238, 231, .16), rgba(241, 238, 231, .07));
  width: calc(var(--v) * 1.9%);
  min-width: 90px;
}

.bar-row > i em {
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  color: #efe9dc;
  font-size: 17px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: -.01em;
}

.bar-row.is-vnish > i {
  background: linear-gradient(90deg, #e7c77d, #c99b45);
  box-shadow: 0 10px 30px rgba(231, 199, 125, .22);
}

.bar-row.is-vnish > i em { color: #1b1206; }
.bar-row.is-vnish > span { color: #f4dda4; font-weight: 800; }
.bar-row.is-mute > i { opacity: .45; }

/* ---------- 04 майнер с плашками ---------- */
.mm-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(20px, 3vw, 56px);
  align-items: center;
  margin-top: 18px;
}

.mm-stage {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 0;
}

.mm-stage img {
  width: min(100%, 460px);
  height: auto;
  filter: drop-shadow(0 30px 50px rgba(0, 0, 0, .6));
}

.mm-marks {
  position: absolute;
  inset: 18% 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  pointer-events: none;
}

.mm-mark {
  display: grid;
  gap: 2px;
  text-shadow: 0 6px 26px rgba(0, 0, 0, .85);
}

.mm-mark span {
  color: #b9a071;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .22em;
}

.mm-mark b {
  color: #f4dda4;
  font-size: clamp(30px, 3.4vw, 54px);
  font-weight: 870;
  line-height: .86;
}

.mm-mark i {
  color: #d8be86;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .18em;
}

.mm-mark--cold b { color: #cfe4f7; }
.mm-mark--cold i, .mm-mark--cold span { color: #9db4c8; }

.mm-facts { display: grid; gap: 12px; }

.mm-fact {
  padding: 16px 20px;
  border: 1px solid rgba(241, 238, 231, .1);
  border-radius: 14px;
  background: linear-gradient(160deg, rgba(20, 22, 23, .8), rgba(9, 11, 12, .92));
}

.mm-fact small {
  display: block;
  margin-bottom: 6px;
  color: #8d8a83;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .2em;
}

.mm-fact b {
  color: #f1eee7;
  font-size: clamp(26px, 2.6vw, 40px);
  font-weight: 800;
  line-height: 1;
}

.mm-fact b em {
  color: #8d8a83;
  font-size: .42em;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .04em;
}

.mm-fact span {
  display: block;
  margin-top: 6px;
  color: #96938d;
  font-size: 12px;
}

.mm-fact--gold {
  border-color: rgba(231, 199, 125, .38);
  background: linear-gradient(160deg, rgba(38, 31, 18, .78), rgba(12, 10, 8, .94));
}

.mm-fact--gold b { color: #f4dda4; }

.mm-arrow {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #6f6c66;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .2em;
}

.mm-arrow i {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(231, 199, 125, .45), transparent);
}

.mm-delta {
  margin: 4px 0 0;
  color: #a09d95;
  font-size: 12.5px;
  line-height: 1.6;
}

.mm-delta b { color: #f4dda4; font-size: 17px; font-weight: 800; }

/* ---------- 06 масштаб ---------- */
.scale-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
  margin: 22px 0 16px;
}

.scale-card {
  padding: 26px 28px;
  border: 1px solid rgba(241, 238, 231, .1);
  border-radius: 18px;
  background: linear-gradient(160deg, rgba(20, 22, 23, .8), rgba(9, 11, 12, .92));
}

.scale-card small {
  display: block;
  margin-bottom: 12px;
  color: #8d8a83;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .2em;
}

.scale-card b {
  display: block;
  color: #f1eee7;
  font-size: clamp(36px, 4vw, 64px);
  font-weight: 850;
  line-height: 1;
  letter-spacing: -.03em;
}

.scale-card span {
  display: block;
  margin-top: 10px;
  color: #96938d;
  font-size: 13.5px;
}

.scale-card--gold {
  border-color: rgba(231, 199, 125, .4);
  background: radial-gradient(circle at 15% 30%, rgba(231, 199, 125, .12), transparent 55%), linear-gradient(160deg, rgba(30, 25, 15, .82), rgba(10, 9, 7, .94));
}

.scale-card--gold b { color: #f4dda4; }

/* ---------- 08 лестница пилота ---------- */
.ladder {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
  margin-top: 22px;
  align-items: end;
}

.ladder-step {
  position: relative;
  padding: 26px 26px 24px;
  border: 1px solid rgba(241, 238, 231, .1);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(20, 22, 23, .82), rgba(9, 11, 12, .94));
}

.ladder-step:nth-child(2) { padding-bottom: 40px; }
.ladder-step:nth-child(3) { padding-bottom: 56px; }

.ladder-step i {
  display: block;
  margin-bottom: 12px;
  color: #e7c77d;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .2em;
}

.ladder-step b {
  display: block;
  margin-bottom: 6px;
  color: #f4f1ea;
  font-size: clamp(20px, 1.9vw, 30px);
  font-weight: 800;
  letter-spacing: -.02em;
}

.ladder-step small {
  display: block;
  margin-bottom: 12px;
  color: #8d8a83;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .18em;
}

.ladder-step p {
  margin: 0;
  color: #96938d;
  font-size: 13px;
  line-height: 1.6;
}

.ladder-step--gold {
  border-color: rgba(231, 199, 125, .42);
  background: radial-gradient(circle at 20% 0%, rgba(231, 199, 125, .14), transparent 60%), linear-gradient(180deg, rgba(30, 25, 15, .84), rgba(10, 9, 7, .95));
}

.ladder-step--gold b { color: #f4dda4; }

/* ---------- 13 кубок ---------- */
.trophy-layout {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr);
  gap: clamp(24px, 3vw, 64px);
  align-items: center;
}

.trophy-layout .trophy-side img {
  width: min(100%, 340px);
  height: auto;
  filter: drop-shadow(0 30px 60px rgba(0, 0, 0, .7));
}

.trophy-copy .stat-row { margin-top: 22px; }

@media (max-width: 900px) {
  .mm-layout,
  .trophy-layout { grid-template-columns: minmax(0, 1fr); }
  .bar-row { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .bar-row > i { height: 34px; }
  .cover-earth { width: 92%; right: -18%; opacity: .5; }
}

/* ---------- печать: карта зумов старого дека больше не действует ---------- */
@media print {
  #s03 .slide-inner, #s05 .slide-inner, #s06 .slide-inner, #s07 .slide-inner,
  #s08 .slide-inner, #s11 .slide-inner, #s12 .slide-inner, #s14 .slide-inner { zoom: 1; }
  .cover-earth { opacity: .42; }
}

/* ---------- слайд 10: скриншот панели не должен растить страницу ----------
   .shot-frame img шёл width:100%/height:auto, и на 16:9 слайд вырастал до
   1296px: в PDF он разъезжался на две страницы. Кадр держим по высоте. */
.shot-frame { max-height: 50vh; }
.shot-frame img { max-height: 50vh; object-fit: contain; }

/* ---------- PDF: ровно 15 страниц 16:9 ----------
   page-break-after на последнем слайде давал пустую страницу в хвосте */
@media print {
  .slide { break-inside: avoid; overflow: hidden; }
  .slide:last-of-type { page-break-after: auto; break-after: auto; }
}
