/* {space} v6.4 – separated scrollytelling, solar cycle and readable mobile flow, 2026-08-30 */

:root {
  --v64-purple: #69429a;
  --v64-purple-soft: rgba(105, 66, 154, .1);
  --v64-ochre: #ca922f;
  --v64-sun-wash: rgba(202, 146, 47, .12);
  --v64-paper: #ffffff;
  --v64-surface: #f6f4ef;
  --v64-ink: #111111;
  --v64-muted: #66635d;
  --v64-line: rgba(17, 17, 17, .2);
  --v64-line-soft: rgba(17, 17, 17, .08);
  --story-aside: clamp(390px, 31vw, 500px);
}

/* Type and evidence marks are large enough to survive real laptop and phone widths. */
.kicker,
.eyebrow,
.hero-hud,
.space-story__identity,
.session-tape__preview small,
.session-tape__preview b,
.season-phase__step small,
.season-precedent small,
.media-tile > span b,
.fit-row__copy small {
  font-size: clamp(9px, .68vw, 12px);
  line-height: 1.35;
}

.section__head > p,
.field-guide__intro,
.faq-intro {
  font-size: clamp(15px, 1.1vw, 19px);
  line-height: 1.55;
}

.display { letter-spacing: -.065em; }

/* Keep the opening reactive, remove the autonomous shader/canvas loop. */
#voxel-field { display: none !important; }
.hero-wash img,
.field-loop__stem,
.field-loop__twig,
.field-loop__bud,
.human-system__routes path,
.season-signal::after { animation: none !important; }
.hero-stage {
  min-height: min(940px, calc(100svh - 62px));
  background:
    radial-gradient(circle at var(--mx) var(--my), rgba(105, 66, 154, .13), transparent 22%),
    linear-gradient(122deg, #fff 0 56%, #f2efe8 56% 78%, #fff 78%);
}
.hero-stage::after {
  opacity: .68;
  background:
    linear-gradient(90deg, rgba(255,255,255,.96) 0 32%, rgba(255,255,255,.54) 56%, rgba(255,255,255,.08) 100%),
    repeating-linear-gradient(135deg, transparent 0 31px, rgba(105,66,154,.05) 32px 33px);
}
.people-shuffle { border-color: var(--v64-ink); background: var(--v64-ink); }
.hero-proof-v2 > div strong { font-size: clamp(31px, 3vw, 52px); }

/* Code-art bridge: one readable state line and a restrained signal trace. */
.wild-signal-field { min-height: 158px; background: var(--v64-paper); }
.wild-signal-field::after { inset: 18px 0 auto 0; width: 100%; height: 1px; border: 0; background: var(--v64-purple); }
.wild-signal-field__glyphs { opacity: .48; }
.wild-signal-field__states { inset: 26px clamp(20px, 6vw, 112px) auto; }
.wild-signal-field__meta { inset: auto clamp(20px, 6vw, 112px) 16px; }

/* The stage owns the graph; the right rail belongs exclusively to the story. */
.space-story { min-height: calc(100vh * 7 + 100vh); }
.space-story__stage {
  grid-template-columns: minmax(0, 1fr) var(--story-aside);
  grid-template-rows: 42px 82px minmax(420px, 1fr) 132px 122px;
  min-height: 760px;
  isolation: isolate;
}
.space-story__stage::after {
  content: "сюжет / текущая глава";
  position: relative;
  z-index: 1;
  grid-column: 2;
  grid-row: 3 / 6;
  padding: 18px 22px;
  border-left: 1px solid var(--v64-line);
  background:
    linear-gradient(var(--v64-line-soft) 1px, transparent 1px),
    linear-gradient(90deg, var(--v64-line-soft) 1px, transparent 1px),
    var(--v64-surface);
  background-size: 54px 54px, 54px 54px, auto;
  color: var(--v64-muted);
  font: 700 9px/1.3 var(--mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.space-story__identity,
.space-story .version-switcher { grid-column: 1 / -1; }
.space-story__identity { grid-row: 1; }
.space-story .version-switcher { grid-row: 2; }
.space-story .space-field {
  grid-column: 1;
  grid-row: 3;
  min-width: 0;
  min-height: 420px;
  border-right: 0;
}
.space-story .space-field__topline { display: none; }
.space-story .space-field__ledger { top: 18px; right: 18px; left: 18px; }
.space-story .space-field__axis { right: 20px; bottom: 12px; left: 20px; }
.space-story .space-field__legend { right: auto; bottom: 12px; left: 20px; }

.space-story .space-field__card {
  position: relative;
  z-index: 5;
  grid-column: 1;
  grid-row: 4;
  right: auto;
  bottom: auto;
  width: 100%;
  max-width: none;
  min-height: 132px;
  display: grid;
  grid-template-columns: 92px minmax(170px, .7fr) minmax(200px, 1fr) auto;
  grid-template-rows: auto auto;
  align-items: center;
  gap: 7px 18px;
  padding: 14px 20px;
  border: 0;
  border-top: 1px solid var(--v64-line);
  box-shadow: inset 4px 0 0 var(--v64-purple);
  background: var(--v64-paper);
}
.space-story .space-field__card[hidden] { display: none; }
.space-story .space-field__card-image {
  grid-column: 1;
  grid-row: 1 / 3;
  width: 92px;
  height: 92px;
  object-fit: cover;
  filter: grayscale(1) contrast(1.07);
}
.space-story .space-field__card-index { grid-column: 2 / 4; grid-row: 1; align-self: end; }
.space-story .space-field__card h3 { grid-column: 2; grid-row: 2; align-self: start; margin: 0; font-size: clamp(19px, 1.65vw, 30px); line-height: 1; }
.space-story .space-field__card p { grid-column: 3; grid-row: 2; align-self: start; margin: 0; font-size: 12px; line-height: 1.45; }
.space-story .space-field__card-meta { grid-column: 3; grid-row: 1; align-self: end; }
.space-story .space-field__card-route {
  grid-column: 4 !important;
  grid-row: 1 / 3;
  align-self: stretch;
  min-width: 166px;
  display: grid;
  place-items: center;
  padding: 14px;
  border: 1px solid var(--v64-line) !important;
  background: var(--v64-surface) !important;
}
.space-story .space-field__card-route[hidden] { display: none; }

.session-tape {
  grid-column: 1;
  grid-row: 5;
  min-width: 0;
  min-height: 122px;
  grid-template-columns: minmax(270px, 38%) 1fr;
  border-right: 0;
}
.session-tape__preview { grid-template-columns: auto 1fr; column-gap: 10px; padding: 13px 20px; }
.session-tape__preview small { grid-column: 1; }
.session-tape__preview b { grid-column: 2; color: var(--v64-muted); text-transform: uppercase; }
.session-tape__preview strong,
.session-tape__preview span,
.session-tape__preview a { grid-column: 1 / -1; }
.session-tape__preview strong { font-size: clamp(15px, 1.15vw, 20px); }
.session-tape__preview span { white-space: normal; }
.session-tape__dots { grid-template-columns: repeat(14, minmax(12px, 1fr)); gap: 5px; padding: 12px; }
.session-dot { min-width: 24px; height: 24px; }
.session-dot:hover::after { background: var(--v64-purple); }

.space-story__chapters {
  width: var(--story-aside);
  margin: calc(-100svh + 62px) 0 0 auto;
  padding: 25vh 22px 65vh;
  gap: 32vh;
}
.story-chapter {
  width: 100%;
  min-height: min(520px, 60vh);
  padding: clamp(24px, 2.3vw, 38px);
  border: 1px solid var(--v64-line);
  border-left: 4px solid transparent;
  background: rgba(255,255,255,.985);
  box-shadow: none;
  transform: translateY(18px);
  backdrop-filter: none;
}
.story-chapter.is-current {
  border-left-color: var(--v64-purple);
  box-shadow: 10px 10px 0 var(--v64-purple-soft);
}
.story-chapter h3 { font-size: clamp(32px, 3vw, 52px); }
.story-chapter p { font-size: clamp(15px, 1.05vw, 18px); }

/* Solar cycle is a light instrument with one ochre support color. */
.season,
.season h2 { background: var(--v64-paper) !important; color: var(--v64-ink) !important; }
.season .kicker { color: #8d5d08 !important; }
.season .section__head > p { color: var(--v64-muted) !important; }
.season-phase { background: var(--v64-paper); }
.season-phase__step.is-current { background: var(--v64-ochre); }
.season-phase__step.is-current small,
.season-phase__step.is-current strong { color: var(--v64-ink) !important; }
.season-board {
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  grid-template-rows: auto auto;
  min-height: 0;
  overflow: visible;
  background: var(--v64-paper) !important;
}
.season-orbit {
  min-height: 650px;
  border-color: var(--v64-line) !important;
  background:
    radial-gradient(circle at 50% 50%, var(--v64-sun-wash) 0 4%, transparent 4.3% 22%, rgba(202,146,47,.08) 22.3% 22.6%, transparent 23% 38%, rgba(202,146,47,.06) 38.3% 38.6%, transparent 39%),
    linear-gradient(var(--v64-line-soft) 1px, transparent 1px),
    linear-gradient(90deg, var(--v64-line-soft) 1px, transparent 1px),
    #fff !important;
  background-size: auto, 64px 64px, 64px 64px, auto !important;
}
.season-orbit svg path,
.season-orbit svg circle { stroke: var(--v64-ochre) !important; }
.season-orbit circle,
.season-signal { background: var(--v64-paper) !important; }
.season-signal {
  border: 2px solid var(--v64-ochre);
  box-shadow: 0 0 0 9px var(--v64-sun-wash);
}
.season-sun,
.season-marker b {
  border-color: var(--v64-ochre);
  background: var(--v64-paper);
  color: var(--v64-ink);
}
.season-sun { box-shadow: 0 0 72px rgba(202,146,47,.18); }
.season-sun span,
.season-sun small { color: var(--v64-muted) !important; }
.season-marker { color: var(--v64-muted) !important; }
.season-orbit__mode {
  border-color: rgba(202,146,47,.58) !important;
  background: rgba(255,255,255,.92) !important;
  color: #8d5d08 !important;
}
.season-places { background: var(--v64-paper); }
.season-places__head b,
.season-place > b { border-color: rgba(202,146,47,.58); color: #8d5d08; }
.season-place[aria-pressed="true"] {
  background: var(--v64-sun-wash);
  box-shadow: inset 5px 0 0 var(--v64-ochre);
}
.season-place[aria-pressed="true"] > b {
  border-color: var(--v64-ochre);
  background: var(--v64-ochre) !important;
  color: var(--v64-ink);
}
.season-place[aria-pressed="true"] strong { color: #8d5d08; }
.season-journey {
  position: relative;
  z-index: 2;
  right: auto;
  bottom: auto;
  left: auto;
  grid-column: 1 / -1;
  grid-row: 2;
  border: 0;
  border-top: 1px solid var(--v64-line) !important;
  background: var(--v64-paper) !important;
  backdrop-filter: none;
}
.season-journey__step {
  min-height: 142px;
  padding: 24px clamp(20px, 3vw, 48px);
  border-color: var(--v64-line) !important;
  color: var(--v64-ink);
}
.season-journey__step small { color: #8d5d08; font-size: 10px; }
.season-journey__step strong { font-size: clamp(20px, 1.8vw, 31px); }
.season-journey__step span { font-size: 12px; color: var(--v64-muted); }
.season-precedent:first-child { background: var(--v64-sun-wash); }
.season-precedent small { color: #8d5d08; }

/* Application and FAQ lose the duplicated sticky billboard. */
.application__copy h2 { font-size: clamp(48px, 5.2vw, 86px); }
.faq-grid { grid-template-columns: minmax(250px, .55fr) minmax(0, 1.45fr); gap: clamp(48px, 7vw, 120px); }
.faq h2 {
  position: relative;
  top: auto;
  max-width: 520px;
  font-size: clamp(48px, 5.8vw, 94px);
  line-height: .9;
  overflow-wrap: normal;
}
.faq-intro { margin-top: 26px; }
summary { font-size: clamp(18px, 1.45vw, 23px); }

/* Twenty people become a sparse constellation around the final action. */
.final { min-height: 860px; }
.final::before { animation: none; }
.final-person { width: clamp(48px, 5vw, 78px); opacity: .2; }
.final-person--a { left: 5%; top: 13%; }
.final-person--b { right: 5%; top: 10%; }
.final-person--c { left: 10%; bottom: 12%; }
.final-person--d { right: 10%; bottom: 15%; }
.final-person--e { left: 28%; top: 7%; }
.final-person--f { right: 29%; bottom: 7%; }
.final-person--g { left: 2%; top: 45%; }
.final-person--h { right: 2%; top: 45%; }
.final-person--i { left: 16%; top: 29%; }
.final-person--j { right: 16%; top: 27%; }
.final-person--k { left: 22%; bottom: 27%; }
.final-person--l { right: 21%; bottom: 30%; }
.final-person--m { left: 40%; top: 5%; }
.final-person--n { right: 40%; bottom: 4%; }
.final-person--o { left: 38%; bottom: 16%; }
.final-person--p { right: 37%; top: 16%; }
.final-person--q { left: 7%; top: 66%; }
.final-person--r { right: 7%; top: 68%; }
.final-person--s { left: 48%; top: 13%; }
.final-person--t { right: 48%; bottom: 13%; }
.final__inner { max-width: 940px; }
.final h2 { font-size: clamp(64px, 8.4vw, 132px); }

/* Local review controls stay reachable without covering the page under review. */
.space-review-bar {
  width: 48px;
  max-width: calc(100vw - 16px);
  overflow: hidden;
  opacity: .16;
  transition: width .18s ease, opacity .18s ease;
}
.space-review-bar:hover,
.space-review-bar:focus-within,
body.space-review-editing .space-review-bar {
  width: min(520px, calc(100vw - 16px));
  opacity: 1;
}
.space-review-bar__status { min-width: 170px; }

@media (max-width: 1180px) {
  :root { --story-aside: clamp(350px, 34vw, 420px); }
  .space-story .space-field__card { grid-template-columns: 78px minmax(130px, .7fr) minmax(160px, 1fr) 138px; }
  .space-story .space-field__card-image { width: 78px; height: 78px; }
  .space-story .space-field__card-route { min-width: 138px; }
  .space-story .space-field__card p { grid-column: 3; }
}

@media (max-width: 900px) {
  .hero-stage { min-height: 980px; }
  .hero-hud b,
  .hero-ledger { display: none; }
  .wild-signal-field { min-height: 140px; }

  .artifact-section { padding-bottom: 80px; }
  .space-story { min-height: 0; }
  .space-story__stage {
    position: relative;
    top: auto;
    height: auto;
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 38px 74px 540px auto auto;
    overflow: visible;
  }
  .space-story__stage::after { display: none; }
  .space-story__identity,
  .space-story .version-switcher,
  .space-story .space-field,
  .space-story .space-field__card,
  .session-tape { grid-column: 1; }
  .space-story .space-field { min-height: 540px; border-bottom: 1px solid var(--v64-line); }
  .space-story .space-field__ledger { grid-template-columns: repeat(3, minmax(120px, 1fr)); overflow-x: auto; }
  .space-story .space-field__card {
    min-height: 208px;
    grid-template-columns: 88px minmax(0, 1fr);
    grid-template-rows: auto auto auto 48px;
    gap: 6px 14px;
    padding: 16px;
    box-shadow: inset 4px 0 0 var(--v64-purple);
  }
  .space-story .space-field__card-image { width: 88px; height: 88px; grid-row: 1 / 4; }
  .space-story .space-field__card-index,
  .space-story .space-field__card-meta { grid-column: 2; grid-row: 1; }
  .space-story .space-field__card h3 { grid-column: 2; grid-row: 2; font-size: 24px; }
  .space-story .space-field__card p { grid-column: 2; grid-row: 3; }
  .space-story .space-field__card-meta { display: none; }
  .space-story .space-field__card-route {
    grid-column: 1 / -1 !important;
    grid-row: 4;
    min-width: 0;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 14px;
  }
  .session-tape { min-height: 190px; grid-template-columns: 1fr; }
  .session-tape__preview { min-height: 92px; border-right: 0; border-bottom: 1px solid var(--v64-line); }
  .session-tape__dots { grid-template-columns: repeat(13, minmax(14px, 1fr)); }

  .space-story__chapters {
    width: 100%;
    margin: 0;
    padding: 1px;
    gap: 1px;
    background: var(--v64-line);
    pointer-events: auto;
  }
  .story-chapter,
  .story-chapter:nth-child(even) {
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: clamp(28px, 7vw, 52px) 20px;
    border: 0;
    border-left: 4px solid transparent;
    background: var(--v64-paper);
    box-shadow: none;
    opacity: 1;
    transform: none;
  }
  .story-chapter.is-current { border-left-color: var(--v64-purple); box-shadow: none; }
  .story-chapter h3 { font-size: clamp(34px, 8.2vw, 58px); }

  .season-board { grid-template-columns: 1fr; grid-template-rows: auto auto auto; }
  .season-orbit { min-height: 580px; border-right: 0; border-bottom: 1px solid var(--v64-line); }
  .season-places { grid-row: 2; }
  .season-journey { grid-row: 3; }
  .season-journey__step { min-height: 128px; }

  .faq-grid { grid-template-columns: 1fr; gap: 36px; }
  .faq h2 { max-width: 620px; }
  .final { min-height: 760px; }
  .final-person { width: 52px; }
  .final-person--m,
  .final-person--n,
  .final-person--o,
  .final-person--p { display: none; }
}

@media (max-width: 600px) {
  .hero-stage { min-height: 900px; }
  .wild-signal-field__glyphs,
  .wild-signal-field__trace { opacity: .22; }
  .wild-signal-field__states { grid-template-columns: repeat(2, 1fr); }

  .space-story__stage { grid-template-rows: 38px 68px 470px auto auto; }
  .space-story .space-field { min-height: 470px; }
  .space-story .space-field__ledger { display: none; }
  .space-story .space-field__axis { font-size: 6px; }
  .space-story .space-field__legend { max-width: calc(100% - 40px); white-space: normal; font-size: 6px; }
  .session-tape__dots { grid-template-columns: repeat(10, minmax(15px, 1fr)); }
  .session-dot { min-width: 44px; height: 44px; }
  .session-tape { min-height: 230px; }

  .season .display { font-size: clamp(39px, 10.5vw, 48px); overflow-wrap: normal; word-break: normal; }
  .season-orbit { min-height: 500px; }
  .season-orbit svg { inset: 12%; width: 76%; height: 76%; }
  .season-marker small { font-size: 7px; }
  .season-journey { grid-template-columns: 1fr; }
  .season-journey__step { min-height: 0; border-right: 0; border-bottom: 1px solid var(--v64-line); }
  .season-journey__step:last-child { border-bottom: 0; }

  .application__copy h2 { font-size: clamp(43px, 13vw, 68px); overflow-wrap: normal; }
  .faq h2 { font-size: clamp(46px, 14vw, 72px); }
  .final { min-height: 720px; }
  .final-person { width: 44px; opacity: .22; }
  .final-person--q,
  .final-person--r,
  .final-person--s,
  .final-person--t { display: none; }
  .final h2 { font-size: clamp(58px, 17vw, 88px); }
  .space-review-bar {
    left: auto;
    right: 8px;
    bottom: calc(76px + env(safe-area-inset-bottom));
    flex-wrap: nowrap;
  }
  .space-review-bar:hover,
  .space-review-bar:focus-within,
  body.space-review-editing .space-review-bar { width: calc(100vw - 16px); }
  .space-review-bar__status { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-stage,
  .story-chapter,
  .session-dot,
  .season-signal,
  .final-person { transition: none !important; animation: none !important; }
}
