/* scene.css — стиль x-wall (№ 09 «Стена мнений», префикс u09-, тема «бумага»). Только раскладка и хореография:
   цвета, шрифты, рамки, тени, кривые и длительности — из site_kit/scenes/_kit/tokens.css и components.css. Путь камеры —
   ключевые кадры конкретной сцены (css из style.py), финальная точка — переменные корня; время — --at у узлов. */
.nx-scene--x-wall .u09-cam { width: 150cqw; height: 93.75cqw; --nxs-cx: var(--u09-cx); --nxs-cy: var(--u09-cy); --nxs-cz: var(--u09-cz); }
.nx-scene--x-wall:is(.is-armed, .is-playing) .u09-cam { animation-duration: var(--nxs-dur); animation-timing-function: linear; animation-fill-mode: both; }
.nx-scene--x-wall .u09-src { position: absolute; left: var(--nxs-safe); top: var(--nxs-safe); z-index: 4; }

/* стена: карточки ответов набора, наклеены с поворотом; без аватарок — это фон мнений */
.nx-scene--x-wall .u09-others { position: absolute; inset: 0; filter: blur(.32cqw); opacity: var(--nxs-dim); }
.nx-scene--x-wall .u09-card { position: absolute; display: block; transform: rotate(var(--r)); box-shadow: var(--nxs-shadow-sm); }
.nx-scene--x-wall .u09-card .nxs-reply__head { margin-bottom: var(--nxs-sp-2); }
.nx-scene--x-wall .u09-card .nxs-reply__head > span { overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.nx-scene--x-wall .u09-clamp { display: -webkit-box; -webkit-line-clamp: 5; line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; white-space: pre-line; }
.nx-scene--x-wall:is(.is-armed, .is-playing) .u09-card { animation: u09-in var(--nxs-t-in) var(--nxs-ease) var(--at) both; }
.nx-scene--x-wall:is(.is-armed, .is-playing) .u09-card.u09-scan {
  animation: u09-in var(--nxs-t-in) var(--nxs-ease) var(--at) both, u09-scan var(--nxs-t-in) var(--nxs-ease-io) var(--h) both; }
.nx-scene--x-wall:is(.is-armed, .is-playing) .u09-others { animation: u09-blur var(--nxs-t-cam) var(--nxs-ease-io) var(--at) both; }
@keyframes u09-in { from { opacity: 0; transform: translateY(1.6cqw) rotate(var(--r)) scale(.94); } }
@keyframes u09-scan { 0%, 100% { border-color: var(--nxs-line); box-shadow: var(--nxs-shadow-sm); }
  40% { border-color: var(--nxs-accent-line); box-shadow: 0 0 0 var(--nxs-rule) var(--nxs-accent), var(--nxs-shadow); } }
@keyframes u09-blur { from { filter: blur(0); opacity: 1; } }

/* пост в центре стены — с первого кадра */
.nx-scene--x-wall .u09-post { position: absolute; z-index: 2; box-shadow: var(--nxs-shadow); }
.nx-scene--x-wall .u09-post .nxs-post__head { align-items: flex-start; }
.nx-scene--x-wall .u09-date { margin-left: auto; padding-top: .45cqw; white-space: nowrap; }
.nx-scene--x-wall .u09-rep { color: var(--nxs-accent); }
.nx-scene--x-wall .u09-rep b { font-weight: 700; color: var(--nxs-accent); }

/* выбранный ответ: наклеен вместе со стеной, при выборе выпрямляется и выходит вперёд (фокус набора).
   Без постоянного will-change (25.09.2026, Ф-Э-9): без слоя у обоих финал ≠ конец игры 0,17–0,19 (со слоями было до 0,44);
   слой только у одного из пары ломает проверку (1,01) — убирать или ставить только вместе */
.nx-scene--x-wall .u09-pickwrap { position: absolute; z-index: 3; }
.nx-scene--x-wall .u09-pick { transform: scale(1.1); transform-origin: 50% 40%; }
.nx-scene--x-wall .u09-chip { margin-left: auto; }
.nx-scene--x-wall .u09-en { color: var(--nxs-ink-3); }
.nx-scene--x-wall .u09-tr { display: grid; grid-template-rows: 1fr; }
.nx-scene--x-wall .u09-tr > div { min-height: 0; overflow: hidden; }
.nx-scene--x-wall .u09-ru { margin: var(--nxs-sp-2) 0 .3cqw; padding-left: var(--nxs-sp-2); border-left: var(--nxs-rule) solid var(--nxs-accent);
  font-size: var(--nxs-fs-lead); line-height: 1.3; }
.nx-scene--x-wall:is(.is-armed, .is-playing) .u09-pickwrap { animation: u09-pin var(--nxs-t-in) var(--nxs-ease) var(--at) both; }
.nx-scene--x-wall:is(.is-armed, .is-playing) .u09-pick {
  animation: nxs-focus var(--nxs-t-in) var(--nxs-ease) var(--at) both, u09-lift var(--nxs-t-cam) var(--nxs-ease-io) var(--at) both; }
.nx-scene--x-wall:is(.is-armed, .is-playing) .u09-en { animation: nxs-ink2 var(--nxs-t-fast) ease var(--at) both; }
.nx-scene--x-wall:is(.is-armed, .is-playing) .u09-tr { animation: nxs-open var(--nxs-t-in) var(--nxs-ease) var(--at) both; }
@keyframes u09-pin { from { opacity: 0; transform: translateY(1.6cqw) scale(.94); } }
@keyframes u09-lift { from { transform: rotate(var(--r)); box-shadow: var(--nxs-shadow-sm); } }
