/* Пасхалка за занавесом (blocks/egg.html) + сам занавес (blocks/curtain.js). С 03.11.2026 сцена тёмная.
   Язык orangelabel.com: PF DinText, #221603, контейнер сайта, .about-title / .about-description / .project-subtitle.
   Фон — жёлтый с текстурой из orange-26/credits, как сцена под поднятым занавесом. */

/* ── занавес (curtain.js, 04.11.2026): сдвиг ставит скрипт прямо в style.translate детям body и .pin-spacer
   (раньше — переменная на body, она пересчитывала стили всего документа на каждое событие колеса). ── */

/* тень от нижнего края занавеса — висит сразу под экраном и уезжает вверх вместе с сайтом */
.v69c-hem { position: fixed; left: 0; right: 0; top: 100%; height: 120px; pointer-events: none; z-index: 1; display: none;
  background: linear-gradient(rgba(0,0,0,.6), rgba(0,0,0,.22) 28%, rgba(0,0,0,.06) 60%, rgba(0,0,0,0)); }
body.v69c-armed .v69c-hem { display: block; }
/* 04.11 (вечер, Денис): пока занавес приподнят, город слева ехал плавно с запозданием — у .location сайта transition: all .2s,
   и сдвиг занавеса он догонял с задержкой, а меню справа шло вместе со всеми. На время сдвига переход у него выключен. */
body.v69c-move .location { transition: none; }

/* пока край тянут вниз при открытой сцене — сцена под сайтом, чтобы край было видно */
body.v69c-open.v69c-pull #v69-egg { z-index: -1; }

/* подсказка на сцене: лежит под сайтом у нижнего края, видна в щели, когда занавес приподнят */
.v69c-cue { position: fixed; left: 50%; bottom: 14px; z-index: -1; translate: -50% 0; display: none;
  flex-direction: column; align-items: center; gap: 7px; padding: 6px 10px; margin: 0; border: 0; background: none;
  font: 12px/1 "PF DinText Regular", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.55);
  cursor: pointer; transition: color .3s; -webkit-tap-highlight-color: transparent; }
body.v69c-armed:not(.v69c-open):not(.v69c-anim) .v69c-cue { display: flex; }
.v69c-cue i { display: block; width: 56px; height: 1px; background: rgba(255,255,255,.18); position: relative; overflow: hidden; }
.v69c-cue i::after { content: ""; position: absolute; inset: 0; background: #fff; transform-origin: 0 50%;
  transform: scaleX(var(--v69c-p, 0)); }
body.v69c-cue-on .v69c-cue, .v69c-cue:hover, .v69c-cue:focus-visible { color: #fff; }
.v69c-cue:focus-visible { outline: 1px solid rgba(255,255,255,.6); outline-offset: 4px; }

/* «свет на сцене»: пока занавес внизу, сцена в полутени, при подъёме свет набирается */
/* 04.11 (вечер, Денис): в щели под занавесом сцена яркая, без затемнения; затемнение приходит само чуть позже, вместе с титрами
   (у .container появление .7s с задержкой .25s — затемнение идёт тем же темпом) */
#v69-egg > .v69egg-dim { position: fixed; inset: 0; z-index: 1;   /* 04.11 (вечер): только над фоном (::before, z 0), под рамкой (z 2) и титрами — иначе рамка серела */ pointer-events: none; background: #000; opacity: 0;
  transition: opacity .9s ease .25s; }
body.v69c-up #v69-egg > .v69egg-dim { opacity: .38; }
body.v69-solo #v69-egg > .v69egg-dim { opacity: .38; transition: none; }

/* в щели под занавесом — пустая тёмная сцена и надпись; титры загораются, когда занавес пошёл вверх */
#v69-egg > .container { transition: opacity .7s ease .25s; }
body:not(.v69c-up):not(.v69-solo) #v69-egg > .container { opacity: 0; transition: none; }

@media (prefers-reduced-motion: reduce) {
  .v69egg-dim, .v69c-cue, #v69-egg > .container { transition: none !important; }
}

/* ── сцена: почти чёрная, матовая (лёгкий шум поверх), текст белый — как чёрный блок orangelabel-history (03.11.2026) ── */
#v69-egg { position: fixed; inset: 0; z-index: -1; visibility: hidden; overflow-y: auto; overscroll-behavior: contain;
  scrollbar-width: none; outline: none; color: #fff; background: #111111; }   /* 792: нейтральный, без коричневого */
#v69-egg::-webkit-scrollbar { display: none; }
#v69-egg::before { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 0; opacity: .055;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1.4 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
#v69-egg > * { position: relative; z-index: 1; }
body.v69c-move #v69-egg, body.v69c-up #v69-egg, body.v69-solo #v69-egg { visibility: visible; }   /* 11.11 (iPhone): сцена видна, только когда занавес пошёл, а не просто «у пола» — иначе отскок Safari показывал её как дыру под страницей */
/* 11.11.2026, Денис: рамка сайта в титрах — родная (шапка, город, меню, футер из init.css), копии больше нет.
   Открытая сцена лежит над секциями (они уехали вверх вместе с занавесом), но под фиксированной рамкой сайта:
   .location/.page-nav z 2, .header/.footer z 10, cookies z 11. Цвет рамки даёт body.dark — его ставит curtain.js при подъёме,
   как сайт ставит над тёмными проектами (белый, прозрачность .6, слоган скрыт); брейкпоинты рамки — тоже сайта. */
body.v69c-open #v69-egg { z-index: 1; }
/* пока сцена открыта: «back to top» футера и меню секций (секции под занавесом) не нужны; копирайт футера — см. egg-ad.css (фраза и ©) */
body.v69c-open .footer .back-to-top, body.v69c-open .page-nav,
body.v69-solo .footer .back-to-top, body.v69-solo .page-nav { opacity: 0; visibility: hidden; }


/* слой нижней строки титров (794: раньше здесь была копия рамки сайта; с 11.11.2026 рамка — родная) */
.v69egg-frame { position: fixed !important; inset: 0; z-index: 2 !important; pointer-events: none; font-family: "PF DinText Regular", sans-serif;
  font-size: 16px; line-height: 1.25; text-transform: uppercase; color: #fff; }
.v69egg-frame a, .v69egg-frame > div { pointer-events: auto; color: inherit; }
/* текст сцены уходит под рамку плавно: сверху и снизу затемнение цветом фона */
.v69egg-frame::before, .v69egg-frame::after { content: ""; position: absolute; left: 0; right: 0; pointer-events: none; z-index: 0; }
.v69egg-frame > * { z-index: 1; }
.v69egg-frame::before, .v69egg-frame::after { display: none; }   /* 04.11 (вечер, Денис): без затенений сверху и снизу */
.v69egg-frame a { text-decoration: none; }
body:not(.v69c-open):not(.v69-solo) .v69egg-frame { opacity: 0; }   /* под занавесом рамка появляется, когда сцена открыта */
.v69egg-frame { transition: opacity .6s ease .4s; }

/* шапка: TIMELINE, заголовок в строку, справа мелкие белые логотипы эпох */
.v69egg-head { padding-top: 100px; }   /* 11.11.2026, Денис: как у секций сайта (.section-content: padding 100px 0) */
.v69egg-kicker { font-family: "PF DinText Regular", sans-serif; font-size: 14px; letter-spacing: .02em; text-transform: uppercase; }
.v69egg-kicker b { font-family: "PF DinText Thin", sans-serif; font-weight: 100; margin: 0 6px; }
.v69egg-hrow { display: flex; align-items: center; flex-wrap: wrap; column-gap: 40px; row-gap: 16px; margin-top: 18px; }
.v69egg-title { font-family: "PF DinText ExtraThin", "PF DinText Thin", sans-serif; font-weight: 200; font-size: 56px; line-height: 1.05;
  text-transform: uppercase; letter-spacing: -.005em; margin: 0; color: inherit; }
/* ряд версий: 4 компьютера ровно по ширине контейнера сайта; соотношение размеров — как на странице истории */
.v69h-row { list-style: none; margin: 56px 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); }   /* 08.11: пять версий */
.v69h-ver { position: relative; z-index: 0; display: flex; flex-direction: column; align-items: center; min-width: 0; margin: 0; }
.v69h-dev { width: 100%; aspect-ratio: 1 / var(--stage); display: flex; align-items: flex-end; justify-content: center; }
.v69h-dev { position: relative; }
.v69h-dev::before { content: ""; position: absolute; left: -6%; right: -6%; bottom: -9%; height: 26%; pointer-events: none;   /* пятно прожектора на полу */
  background: radial-gradient(50% 50% at 50% 50%, rgba(255,255,255,.2), rgba(255,255,255,.08) 42%, rgba(255,255,255,0) 72%); }
.v69h-dev img { position: relative; height: auto; display: block; filter: drop-shadow(0 6px 6px rgba(0,0,0,.55)); transition: transform .35s cubic-bezier(.2,.7,.2,1); transform-origin: 50% 100%; }
/* какое-то правило сайта (в @media) прячет ссылки с картинками — пока сцена видна, компьютеры видны всегда */
body.v69c-armed .v69h-dev, body.v69c-armed .v69h-dev img { visibility: visible !important; }
a.v69h-dev:hover img { transform: translateY(-6px); }

/* линия времени через годы */
.v69h-yr { align-self: stretch; height: 40px; margin-top: 20px; display: flex; align-items: center; gap: 14px; }
.v69h-yr::before, .v69h-yr::after { content: ""; flex: 1; height: 1px; background: rgba(255,255,255,.32); }
.v69h-ver:first-child .v69h-yr::before { background: none; }
.v69h-ver:last-child .v69h-yr::after { background: linear-gradient(90deg, rgba(255,255,255,.32), rgba(255,255,255,0)); }
.v69h-yr span { font-family: "PF DinText Light", sans-serif; font-size: 22px; letter-spacing: .02em; white-space: nowrap; text-transform: uppercase; }
.v69h-yr b { font-family: "PF DinText Thin", sans-serif; font-weight: 100; margin: 0 4px; }

/* благодарности: без линии сверху; имена и фамилии тонкие, категории — плотнее и крупнее, с воздухом */
.v69egg-thanks { margin-top: 160px; }
.v69egg-thanks .intro { margin-bottom: 72px; display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; align-items: end; }
.v69egg-thanks .intro p, .v69egg-thanks .outro p { font-family: "PF DinText Light", sans-serif; font-size: 20px; line-height: 1.35; margin: 0; }
.v69egg-thanks .cols { display: grid; grid-template-columns: repeat(4, 1fr); column-gap: 24px; row-gap: 64px; align-items: start; }
.v69egg-thanks .grp + .grp { margin-top: 64px; }
.v69egg-thanks .grp h3 { display: grid; grid-template-columns: 88px 1fr; column-gap: 8px; font-family: "PF DinText Regular", sans-serif; font-weight: 400;
  font-size: 17px; line-height: 1.2; letter-spacing: .05em; text-transform: uppercase; margin: 0 0 28px; color: inherit; }
.v69egg-thanks .grp h3 span:first-child { text-align: right; }
.v69egg-thanks .grp.cont h3 { visibility: hidden; }
.v69egg-thanks .names { list-style: none; margin: 0; padding: 0;
  font-family: "PF DinText Thin", "PF DinText Light", sans-serif; font-weight: 200; font-size: 16px; line-height: 1.25; text-transform: uppercase; letter-spacing: .02em; }
.v69egg-thanks .names li { display: grid; grid-template-columns: 88px 1fr; column-gap: 8px; margin: 0; padding-bottom: 8px; break-inside: avoid; font: inherit; }  /* у сайта li — 24px Thin */
.v69egg-thanks .names .fn { text-align: right; }
.v69egg-thanks .names .ln { text-align: left; }
.v69egg-thanks .muse .note { font-family: "PF DinText Light", sans-serif; font-size: 16px; line-height: 1.35; margin: 16px 0 0; text-align: center; white-space: nowrap; margin-left: -12px; margin-right: -12px; }
.v69egg-thanks .outro { margin-top: 96px; }

.v69egg-end { padding: 96px 24px 64px; display: flex; justify-content: flex-end; }
.v69egg-back { appearance: none; border: 0; background: none; padding: 0; cursor: pointer; color: inherit; display: flex; align-items: center; gap: 8px;
  font-family: "PF DinText Regular", sans-serif; font-size: 16px; text-transform: uppercase; }
.v69egg-back span { border-bottom: 1px solid currentColor; }
.v69egg-back i { font-size: 24px; }
.v69-solo .v69egg-thanks { padding-bottom: 120px; }

/* телефон и узкие окна */
@media (max-width: 900px) {
  .v69egg-title { font-size: 36px; }
  .v69h-row { grid-template-columns: repeat(2, 1fr); row-gap: 32px; }
  .v69h-yr span { font-size: 18px; }
  .v69h-ver:nth-child(2) .v69h-yr::after, .v69h-ver:nth-child(3) .v69h-yr::before, .v69h-ver:nth-child(4) .v69h-yr::after, .v69h-ver:nth-child(5) .v69h-yr::before { background: none; }
  .v69h-ver:nth-child(5) { grid-column: 1 / -1; width: 50%; justify-self: center; }   /* 08.11: пятая — одна в своём ряду, по центру */
  .v69egg-thanks { margin-top: 96px; }
  .v69egg-thanks .intro { grid-template-columns: 1fr; row-gap: 24px; }
  .v69egg-thanks .cols { grid-template-columns: 1fr; }
  .v69egg-thanks .grp.cont h3 { display: none; }
  .v69egg-thanks .grp.cont { margin-top: 8px; }
  .v69egg-thanks .names li { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); }
}

/* 04.11 (вечер, Денис): подсказки «Backstage» с полоской в щели занавеса нет; кнопка остаётся только для клавиатуры (невидима) */
.v69c-cue { opacity: 0 !important; pointer-events: none !important; }
