:root { --cvet: #7b5cff; --fon: #0d1117; --tekst: #e6edf3; --tiho: #8b949e; --karta: #161b22; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--fon); color: var(--tekst);
  font: 15px/1.5 -apple-system, "Segoe UI", Roboto, sans-serif; }
.skryt { display: none !important; }
.rastyanut { flex: 1; }
.tiho { color: var(--tiho); }
.malo { font-size: 12px; }
a { color: var(--cvet); }

.ekran { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px; }
.karta { background: var(--karta); border: 1px solid #30363d; border-radius: 16px; padding: 32px;
  width: min(460px, 100%); text-align: center; }
.karta h1, .karta h2 { margin: 8px 0 4px; font-size: 22px; }
input { width: 100%; margin: 8px 0; padding: 12px 14px; border-radius: 10px;
  border: 1px solid #30363d; background: #0d1117; color: var(--tekst); font-size: 15px; }
button { cursor: pointer; border: 1px solid #30363d; background: #21262d; color: var(--tekst);
  border-radius: 10px; padding: 10px 14px; font-size: 14px; }
button:hover { border-color: var(--cvet); }
button.glavnaya { width: 100%; background: var(--cvet); border-color: var(--cvet);
  color: #fff; font-weight: 600; padding: 13px; margin-top: 8px; }
button.opasno { border-color: #7d2b2b; color: #ff9a9a; }
button.aktivna { background: var(--cvet); border-color: var(--cvet); color: #fff; }
button.vykl { background: #7d2b2b; }
button.malaya { padding: 5px 9px; font-size: 12px; margin-left: 6px; }
.podpis { margin-top: 18px; font-size: 12px; color: var(--tiho); }
.podpis a { color: var(--tiho); }
.logo img { max-height: 34px; margin-bottom: 6px; }
.predprosmotr { width: 100%; border-radius: 12px; margin-top: 16px; background: #000; transform: scaleX(-1); }
.tochki { display: flex; gap: 6px; justify-content: center; margin-bottom: 10px; }
.tochki span { width: 8px; height: 8px; border-radius: 50%; background: var(--cvet); opacity: .3;
  animation: p 1.2s infinite; }
.tochki span:nth-child(2) { animation-delay: .2s } .tochki span:nth-child(3) { animation-delay: .4s }
@keyframes p { 50% { opacity: 1 } }

.komnata { flex-direction: column; align-items: stretch; padding: 0; min-height: 100vh; }
.komnata header { display: flex; align-items: center; gap: 12px; padding: 10px 16px;
  border-bottom: 1px solid #30363d; }
.komnata main { flex: 1; display: flex; overflow: hidden; }
.setka { flex: 1; display: grid; gap: 8px; padding: 12px; align-content: start;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.setka.dokladchik { grid-template-columns: 1fr 200px; }
.setka.dokladchik .glavnaya-plitka { grid-row: span 4; }
.plitka { position: relative; background: #000; border-radius: 12px; overflow: hidden;
  aspect-ratio: 16/9; border: 2px solid transparent; }
.plitka video { width: 100%; height: 100%; object-fit: cover; }
.plitka.govorit { border-color: var(--cvet); }
.plitka.ruka::after { content: "✋"; position: absolute; top: 8px; right: 10px; font-size: 22px; }
.plitka .imya { position: absolute; left: 8px; bottom: 6px; background: #000a; padding: 2px 8px;
  border-radius: 6px; font-size: 12px; }
aside { width: 320px; border-left: 1px solid #30363d; display: flex; flex-direction: column; }
.vkladki { display: flex; border-bottom: 1px solid #30363d; }
.vkladki button { flex: 1; border: 0; border-radius: 0; background: transparent; }
.vkladki button.aktivna { border-bottom: 2px solid var(--cvet); background: transparent; color: #fff; }
.vkl { flex: 1; overflow: auto; padding: 10px; }
.stroka { display: flex; align-items: center; padding: 7px 4px; border-bottom: 1px solid #21262d; }
.stroka .imya { flex: 1; font-size: 13px; }
.znachok { background: var(--cvet); color: #fff; border-radius: 10px; padding: 0 6px; font-size: 11px; }
#lenta { height: calc(100% - 46px); overflow: auto; }
.soobshchenie { margin: 6px 0; font-size: 13px; }
#forma-chata { display: flex; gap: 6px; }
#forma-chata input { margin: 0; }
.komnata footer { display: flex; align-items: center; gap: 8px; padding: 10px 16px;
  border-top: 1px solid #30363d; flex-wrap: wrap; }
.krug { width: 44px; height: 44px; border-radius: 50%; font-size: 18px; padding: 0; }
.razdelitel { width: 1px; height: 26px; background: #30363d; margin: 0 6px; }

table { border-collapse: collapse; width: 100%; font-size: 14px; }
th, td { text-align: left; padding: 8px 10px; border-bottom: 1px solid #21262d; }
th { color: var(--tiho); font-weight: 600; }
.obolochka { max-width: 980px; margin: 0 auto; padding: 28px 20px 60px; }
.znak { display: inline-block; font-size: 11px; padding: 2px 8px; border-radius: 20px;
  border: 1px solid #30363d; color: var(--tiho); }
.znak.gotova { border-color: #2ea043; color: #7ee787; }
.znak.idet { border-color: var(--cvet); color: var(--cvet); }

.shtora { position: fixed; inset: 0; background: #000b; display: flex; align-items: center;
  justify-content: center; z-index: 50; padding: 20px; }
.shtora .karta { width: min(460px, 100%); }
#ssylka-vstrechi { font-size: 13px; }

/* ------------------------------------------------------------------ фирменный старт
   🔴 Первый экран — это обещание продукта. До 30.08.2026 он выглядел как форма из
   админки: карточка, два поля, кнопка. Человек, которому прислали ссылку на переговоры
   о сделке, по такому экрану судит, можно ли доверить встречу этому сервису.
   Оформление держим на CSS: ни одной внешней картинки и шрифта — страница обязана
   открыться на плохой сети и в закрытом контуре клиента. */
/* 🔴 align-items и padding перекрывают .ekran: там flex с центрированием, и правая
   колонка схлопывалась в нулевую высоту — картинка просто не появлялась. */
.start { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch; padding: 0; }
.start-levo { display: flex; align-items: center; padding: 6vh clamp(24px, 6vw, 80px); }
.start-vnutri { width: min(520px, 100%); }
.start-pravo { position: relative; overflow: hidden; background: #07090c; }

/* Знак продукта: имя портала слева, наш знак создателя рядом — как «сделано на». */
.znak { display: flex; align-items: center; gap: 12px; margin-bottom: 40px; }
.znak-imya { font-weight: 700; letter-spacing: .2px; font-size: 15px; }
.znak-razdel { width: 1px; height: 16px; background: #30363d; }
.sozdatel { display: inline-flex; align-items: center; gap: 6px; color: var(--tiho);
  font-size: 12px; text-decoration: none; }
.sozdatel:hover { color: var(--tekst); }
.sozdatel svg { opacity: .85; }

.start h1 { font-size: clamp(30px, 4.2vw, 46px); line-height: 1.08; margin: 0 0 6px;
  font-weight: 650; letter-spacing: -.02em; }
.start h1 .vydelenie { display: block; color: var(--cvet); }
.start-opisanie { color: var(--tiho); margin: 0 0 30px; max-width: 46ch; }
.polya label { display: block; font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--tiho); margin: 16px 0 6px; }
.polya input { margin: 0; padding: 14px 16px; border-radius: 12px; background: #0b0f14; }
.polya input:focus { outline: none; border-color: var(--cvet); }
.start .glavnaya { margin-top: 22px; border-radius: 12px; padding: 15px; font-size: 15px; }
.start-snoska { margin-top: 22px; font-size: 12px; color: var(--tiho); max-width: 52ch; }
.start-snoska b { color: var(--tekst); font-weight: 600; }
.start-oshibka { margin-top: 12px; color: #ff9a9a; font-size: 13px; min-height: 18px; }

/* Правая половина: две плиты и свет между ними. Чистый CSS, без картинок. */
.plity { position: absolute; inset: 0; display: grid; place-items: center; }
.plita { position: absolute; width: 26%; height: 46%; border-radius: 4px;
  background: linear-gradient(160deg, #2b3138, #171b20); box-shadow: 0 40px 80px rgba(0,0,0,.55); }
.plita.levaya { transform: translate(-52%, 6%) skewY(-9deg); }
.plita.pravaya { transform: translate(52%, -6%) skewY(-9deg); }
.shchel { position: absolute; width: 6px; height: 44%; border-radius: 4px;
  background: var(--cvet); box-shadow: 0 0 60px 14px var(--cvet), 0 0 160px 40px var(--cvet); opacity: .9; }
@media (max-width: 900px) {
  .start { grid-template-columns: 1fr; }
  .start-pravo { display: none; }
  .start-levo { padding: 8vh 22px; }
}

/* подвал со знаком создателя — на всех страницах, где нет левой колонки */
.podval-sozdatelya { display: flex; justify-content: center; padding: 22px 16px 30px; }

/* ------------------------------------------------------------------ показ экрана как в Zoom
   Режим «Показ»: демонстрация экрана занимает всё, участники — лентой справа.
   Экран не обрезаем (object-fit: contain) — на демонстрации важнее прочитать, чем заполнить. */
.setka.pokaz { grid-template-columns: 1fr 220px; }
.setka.pokaz .glavnaya-plitka { grid-row: 1 / 99; grid-column: 1; }
.setka.pokaz .plitka:not(.glavnaya-plitka) { grid-column: 2; height: 150px; }
.setka.pokaz .ekran-plitka video,
.setka.dokladchik .ekran-plitka video { object-fit: contain; background: #000; }
.plitka .na-ves { position: absolute; top: 8px; right: 8px; opacity: 0; transition: .15s;
  background: #000a; border: none; color: #fff; border-radius: 8px; padding: 4px 8px;
  font-size: 15px; cursor: pointer; }
.plitka:hover .na-ves { opacity: 1; }
.plitka video:fullscreen { object-fit: contain; background: #000; }
