/* v22 — телефон (до 899 px): сцена сверху, стол гостей под ней, нижний док с КП. */
.layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 4px 16px calc(96px + env(safe-area-inset-bottom)); }
.kin { font-size: clamp(27px, 8.2vw, 38px); }
.lead { font-size: 15px; margin-top: 8px; }
.side { display: block; }
.stage { height: min(46vh, 400px); min-height: 270px; }
.proof-d { display: none; }
.panel { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; min-width: 0; }
.seats { --cols: 3; }
.tent { font-size: 15px; }
@media (max-width: 340px) {
  .seats { --cols: 2; }
}
.hint-d { display: none; }

.dock {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 20; display: flex; gap: 8px; align-items: center;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: var(--card);
  border-top: 1px solid var(--line); box-shadow: 0 -8px 20px -14px rgb(0 0 0 / 0.4);
}
/* полоса прогресса проверки по верху дока */
.dock::before { content: ""; position: absolute; left: 0; top: -1px; height: 3px; width: calc(var(--done, 0) * 100%); background: var(--ok); transition: width 0.5s; }
.dock-proof {
  flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 6px 12px;
  border-radius: 99px; border: 1px solid var(--line); background: var(--card); font-size: 14px; font-weight: 600;
}
.dock-proof b { font-variant-numeric: tabular-nums; }
.dock-proof[data-state="ok"] .pill-dot { background: var(--ok); }
.dock-proof[data-state="bad"] .pill-dot { background: var(--bad); }
.dock-proof[data-state="off"] .pill-dot { background: var(--ink2); }
.dock-proof[data-state="building"] .pill-dot { animation: blink 1s ease-in-out infinite; }
.dock .cta { flex: 1; min-width: 0; padding: 8px 12px; font-size: 15px; line-height: 1.2; }

.sheet { width: 100%; max-width: 100%; margin: auto 0 0; border-radius: 18px 18px 0 0; padding-bottom: calc(16px + env(safe-area-inset-bottom)); }
.sheet[open] { animation: up 0.32s cubic-bezier(.2,.75,.15,1); }
@keyframes up { from { transform: translateY(100%); } }
