/* Слой витрины lab.farabi.tech поверх двойника (14.11.2026): убраны «Прогулка» и правая панель, добавлены датчики, лента событий и «Авторы».
   Движок не меняется: всё здесь и в lab.js. */

/* ── что убрано по слову заказчика */
.tw-page:not(.lab-op) .tw-walk { display: none !important; }      /* в закрытой версии «Прогулка» остаётся */
.tw-page > aside.tw-panel { display: none !important; }
.tw-page .tw-foot { right: 104px; }
@media (max-width: 760px) { .tw-page .tw-foot { left: 10px; right: 92px; bottom: 10px; } }

/* ── датчики на макете */
.lab-layer { position: absolute; inset: 0; z-index: 2; pointer-events: none; overflow: hidden; font-family: inherit; font-weight: 600; font-size: 12px; line-height: 1.15; }
.lab-s { position: absolute; left: 0; top: 0; display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 4px 9px 4px 6px; border: 0; border-radius: 999px;
  background: rgba(255,255,255,.92); color: #17142e; box-shadow: 0 1px 2px rgba(23,20,46,.14), 0 6px 18px rgba(23,20,46,.16); white-space: nowrap;
  pointer-events: auto; cursor: default; font: inherit; font-variant-numeric: tabular-nums; will-change: transform; }
.lab-s i { flex: none; width: 9px; height: 9px; border-radius: 50%; background: #1d9a6c; box-shadow: 0 0 0 3px rgba(29,154,108,.2); }
.lab-s b { font-weight: 700; }
.lab-s em { font-style: normal; font-weight: 500; color: #55516f; }
.lab-s[data-state="warn"] i { background: #d98a0b; box-shadow: 0 0 0 3px rgba(217,138,11,.24); }
.lab-s[data-state="alarm"] i { background: #e5484d; box-shadow: 0 0 0 3px rgba(229,72,77,.28); }
.lab-s[data-state="warn"] { background: #fff6e2; }
.lab-s[data-state="alarm"] { background: #ffe9e8; color: #8f1d22; }
.lab-s[data-state="alarm"] em { color: #8f1d22; }
.lab-s.dot { padding: 4px; gap: 0; background: rgba(255,255,255,.86); }
.lab-s.dot b, .lab-s.dot em { display: none; }
.lab-s[data-state="alarm"]::after { content: ""; position: absolute; inset: -5px; border-radius: 999px; border: 2px solid rgba(229,72,77,.7); animation: lab-pulse 1.4s ease-out infinite; }
@keyframes lab-pulse { from { opacity: .9; transform: scale(.92); } to { opacity: 0; transform: scale(1.35); } }
.lab-s { transition: opacity .2s; }
.lab-s.lab-under { opacity: 0; pointer-events: none; }
.lab-off .lab-s { display: none; }
.twin-root[data-dark="1"] ~ .lab-layer .lab-s { background: rgba(30,27,58,.9); color: #f1eefc; }
.twin-root[data-dark="1"] ~ .lab-layer .lab-s em { color: #c9c4e6; }
.twin-root[data-dark="1"] ~ .lab-layer .lab-s[data-state="warn"] { background: rgba(84,58,10,.94); }
.twin-root[data-dark="1"] ~ .lab-layer .lab-s[data-state="alarm"] { background: rgba(110,24,28,.95); color: #ffe9e8; }
.twin-root[data-dark="1"] ~ .lab-layer .lab-s[data-state="alarm"] em { color: #ffd0cd; }

/* ── кнопка «Датчики» в верхней строке */
.tw-btn.lab-pill { display: inline-flex; align-items: center; gap: 8px; }
.tw-btn.lab-pill i { width: 9px; height: 9px; border-radius: 50%; background: #1d9a6c; flex: none; }
.tw-btn.lab-pill[data-state="warn"] i { background: #d98a0b; }
.tw-btn.lab-pill[data-state="alarm"] i { background: #e5484d; animation: lab-blink 1s steps(2, start) infinite; }
.tw-btn.lab-pill[aria-pressed="false"] { opacity: .62; }
.tw-btn.lab-pill[aria-pressed="false"] i { background: #9a97ad; animation: none; }
@keyframes lab-blink { to { opacity: .35; } }

/* ── лента событий: слева внизу, над подписью */
.lab-feed { position: absolute; left: 14px; bottom: 52px; z-index: 2; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; max-width: min(460px, calc(100% - 28px)); pointer-events: none; }
.lab-feed p { margin: 0; padding: 8px 12px; border-radius: 12px; background: rgba(255,255,255,.94); color: #17142e; font-family: inherit; font-weight: 500; font-size: 13px; line-height: 1.3;
  box-shadow: 0 1px 2px rgba(23,20,46,.14), 0 8px 22px rgba(23,20,46,.16); border-left: 4px solid #1d9a6c; animation: lab-in .35s cubic-bezier(.22,1,.36,1); transition: opacity .5s; }
.lab-feed p[data-state="warn"] { border-left-color: #d98a0b; }
.lab-feed p[data-state="alarm"] { border-left-color: #e5484d; }
.lab-feed p[data-state="info"] { border-left-color: #6d5efc; }
.lab-feed p.out { opacity: 0; }
.lab-feed p.go { pointer-events: auto; cursor: pointer; }
.lab-feed p.go:hover { filter: brightness(.97); }
.lab-feed time { color: #6b6787; font-variant-numeric: tabular-nums; margin-right: 6px; }
@keyframes lab-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.twin-root[data-dark="1"] ~ .lab-feed p { background: rgba(30,27,58,.92); color: #f1eefc; }
.twin-root[data-dark="1"] ~ .lab-feed time { color: #b9b4d8; }
@media (max-width: 760px) { .lab-feed { left: 10px; bottom: 72px; max-width: calc(100% - 20px); } .lab-feed p { font-size: 12px; padding: 7px 10px; } }

/* ── «Авторы»: справа внизу, вместо ссылки из убранной панели */
.lab-credits { position: absolute; right: 14px; bottom: 14px; z-index: 3; padding: 7px 12px; border: 0; border-radius: 999px; background: rgba(255,255,255,.88); color: #3a3660;
  font-family: inherit; font-weight: 600; font-size: 12px; line-height: 1; cursor: pointer; box-shadow: 0 1px 2px rgba(23,20,46,.14), 0 6px 18px rgba(23,20,46,.14); }
.lab-credits:hover { background: #fff; }
.lab-credits:focus-visible, .lab-modal button:focus-visible, .lab-modal a:focus-visible, .lab-s:focus-visible { outline: 2px solid #6d5efc; outline-offset: 2px; }
.twin-root[data-dark="1"] ~ .lab-credits { background: rgba(30,27,58,.88); color: #e9e6fb; }
@media (max-width: 760px) { .lab-credits { right: 10px; bottom: 12px; } }
.lab-modal { position: absolute; inset: 0; z-index: 30; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(15,13,32,.46); }
.lab-modal[hidden] { display: none; }
.lab-modal > div { width: min(640px, 100%); max-height: min(78vh, 720px); overflow: auto; padding: 22px 22px 18px; border-radius: 20px; background: #fff; color: #17142e; box-shadow: 0 24px 80px rgba(15,13,32,.4); }
.lab-modal h2 { margin: 0 0 4px; font-family: inherit; font-weight: 700; font-size: 20px; line-height: 1.2; }
.lab-modal p { margin: 0 0 12px; color: #55516f; font-family: inherit; font-weight: 400; font-size: 13px; line-height: 1.45; }
.lab-modal ul { margin: 0 0 14px; padding: 0; list-style: none; display: grid; gap: 8px; }
.lab-modal li { font-family: inherit; font-weight: 400; font-size: 13px; line-height: 1.4; padding: 9px 12px; border-radius: 12px; background: #f5f4fb; overflow-wrap: anywhere; }
.lab-modal li b { font-weight: 600; }
.lab-modal a { color: #4b3fd6; }
.lab-modal .lab-x { display: block; margin-left: auto; padding: 9px 16px; border: 0; border-radius: 12px; background: #17142e; color: #fff; font-family: inherit; font-weight: 600; font-size: 13px; line-height: 1; cursor: pointer; }

/* ── когда слой прячем: «Любоваться», экскурсия, прогулка, кадр «как фото» */
.tw-page.clean .lab-layer, .tw-page.clean .lab-feed, .tw-page.clean .lab-credits,
.tw-page.walking .lab-layer, .tw-page.walking .lab-feed, .tw-page.walking .lab-credits,
.tw-page.touring .lab-layer, .tw-page.touring .lab-feed,
.twin-photo .lab-layer, .twin-photo .lab-feed, .twin-photo .lab-credits { display: none !important; }
@media (prefers-reduced-motion: reduce) { .lab-s[data-state="alarm"]::after, .tw-btn.lab-pill[data-state="alarm"] i, .lab-feed p { animation: none; } }

/* ── пульт закрытой версии (in.lab.farabi.tech): op.js */
.lab-s { cursor: pointer; }
.lab-op-card { position: absolute; top: 64px; right: 14px; z-index: 4; width: min(330px, calc(100% - 28px)); max-height: calc(100% - 140px); display: flex; flex-direction: column;
  border-radius: 20px; background: rgba(255,255,255,.95); color: #17142e; box-shadow: 0 1px 2px rgba(23,20,46,.14), 0 14px 40px rgba(23,20,46,.2); font-family: inherit; font-weight: 400; font-size: 13px; line-height: 1.4; overflow: hidden; }
.lab-op-card header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 12px 12px 16px; }
.lab-op-card header b { font-family: inherit; font-weight: 700; font-size: 15px; line-height: 1.2; }
.lab-op-card header button { flex: none; width: 32px; height: 32px; border: 0; border-radius: 10px; background: #efedf8; color: #17142e; font-family: inherit; font-weight: 700; font-size: 16px; line-height: 1; cursor: pointer; }
.lab-op-body { padding: 0 16px 16px; overflow: auto; display: grid; gap: 10px; }
.lab-op-card.shut .lab-op-body { display: none; }
.lab-op-body p { margin: 0; color: #55516f; }
.lab-op-body h3 { margin: 4px 0 0; font-family: inherit; font-weight: 700; font-size: 11px; line-height: 1.2; letter-spacing: .08em; text-transform: uppercase; color: #6b6787; }
.lab-op-fire { display: grid; gap: 6px; }
.lab-op-fire button, .lab-op-now button { border: 0; border-radius: 12px; padding: 9px 12px; font-family: inherit; font-weight: 600; font-size: 13px; line-height: 1.25; cursor: pointer; text-align: left; }
.lab-op-fire button { background: #f1eefc; color: #2d2a55; }
.lab-op-fire button:hover:not(:disabled) { background: #e6e1fb; }
.lab-op-fire button:disabled { opacity: .45; cursor: default; }
.lab-op-now { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.lab-op-now li { padding: 10px 12px; border-radius: 12px; background: #fff6e2; display: grid; gap: 8px; }
.lab-op-now li[data-state="alarm"] { background: #ffe9e8; }
.lab-op-now li b { font-weight: 600; }
.lab-op-now li span { color: #55516f; }
.lab-op-now .lab-op-acts { display: flex; flex-wrap: wrap; gap: 6px; }
.lab-op-now button { background: #17142e; color: #fff; text-align: center; }
.lab-op-now button.ghost { background: #fff; color: #17142e; box-shadow: inset 0 0 0 1px rgba(23,20,46,.18); }
.lab-op-auto { display: flex; align-items: flex-start; gap: 8px; color: #55516f; cursor: pointer; }
.lab-op-auto input { margin-top: 2px; }
.lab-op-card button:focus-visible, .lab-op-auto input:focus-visible { outline: 2px solid #6d5efc; outline-offset: 2px; }
.twin-root[data-dark="1"] ~ .lab-op-card { background: rgba(30,27,58,.95); color: #f1eefc; }
.twin-root[data-dark="1"] ~ .lab-op-card .lab-op-body p, .twin-root[data-dark="1"] ~ .lab-op-card .lab-op-auto, .twin-root[data-dark="1"] ~ .lab-op-card .lab-op-body h3 { color: #c9c4e6; }
.twin-root[data-dark="1"] ~ .lab-op-card header button, .twin-root[data-dark="1"] ~ .lab-op-card .lab-op-fire button { background: rgba(255,255,255,.12); color: #f1eefc; }
.twin-root[data-dark="1"] ~ .lab-op-card .lab-op-now li { background: rgba(84,58,10,.9); }
.twin-root[data-dark="1"] ~ .lab-op-card .lab-op-now li[data-state="alarm"] { background: rgba(110,24,28,.92); }
.twin-root[data-dark="1"] ~ .lab-op-card .lab-op-now li span { color: #e3dffa; }
@media (max-width: 760px) {
  .lab-op-card { top: auto; right: 10px; left: 10px; bottom: 58px; width: auto; max-height: 56%; }
  .tw-page.lab-op .lab-feed { bottom: calc(66px + var(--lab-op-h, 56px)); }
}
.tw-page.clean .lab-op-card, .tw-page.walking .lab-op-card, .tw-page.touring .lab-op-card, .twin-photo .lab-op-card { display: none !important; }
