/* Шапка забирает свою высоту сверху, карточка центрируется в остатке — иначе
   100vh у .landing плюс шапка дали бы лишнюю прокрутку на ровном месте. */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.site-bar {
  display: flex;
  align-items: center;
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--border);
}

.landing {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-5);
}

.landing-card {
  width: 380px;
  max-width: 100%;
  border: 1px solid var(--border);
  background: var(--bg-elevated);
  border-radius: var(--radius);
  padding: var(--space-5);
}

.brand {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.tagline {
  margin: var(--space-2) 0 var(--space-5);
  font-size: 13px;
}

.landing section {
  margin-bottom: var(--space-4);
}

.landing label {
  display: block;
  margin-bottom: var(--space-2);
}

.nickname-row,
.join-row {
  display: flex;
  gap: var(--space-2);
}

.nickname-row input,
.join-row input {
  flex: 1;
  min-width: 0;
}

#create-session {
  width: 100%;
  padding: 10px;
}

.divider {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--fg-muted);
  font-size: 11px;
  margin: var(--space-4) 0;
}

.divider::before,
.divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--border);
}

.error-text {
  color: var(--danger);
  font-size: 12px;
  margin-top: var(--space-2);
  margin-bottom: 0;
}
