/* Единый логотип приложения — только /logo/logo.png, без текстового fallback.
   Все слоты получают aspect-ratio 2/1 (натуральный размер PNG 600×300) —
   чтобы место под лого было зарезервировано ДО загрузки картинки и не было
   «прыжка» 0×0 → natural при первом рендере. */
.bar-app-logo,
#splash-logo-img,
#join-logo-img {
  display: block;
  max-width: min(240px, 78vw);
  max-height: 80px;
  width: auto;
  height: auto;
  aspect-ratio: 2 / 1;
  object-fit: contain;
  object-position: center center;
  margin-left: auto;
  margin-right: auto;
  opacity: 1;
  transition: opacity 0.28s ease;
}
/* На splash и экране входа лого фиксируется в точные пиксели */
#splash-logo-img,
#join-logo-img {
  width: 160px;
  height: 80px;
  max-width: 78vw;
  max-height: 80px;
}
.bar-app-logo.bar-logo-loading {
  opacity: 0.35;
}
.bar-app-logo.bar-logo-missing {
  display: none !important;
}
.bar-logo-slot {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 52px;
}
#splash .bar-logo-slot {
  width: min(160px, 78vw);
  height: 80px;
  min-height: 80px;
  max-height: 80px;
  flex-shrink: 0;
}
.bar-logo-wordmark {
  display: none;
  font-size: clamp(22px, 7vw, 32px);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
  background: linear-gradient(135deg, #ffb347 0%, #ff6a00 45%, #ff2800 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 12px rgba(255, 100, 0, 0.35));
}
.bar-logo-slot.show-wordmark .bar-logo-wordmark {
  display: block;
}
.bar-logo-slot.show-wordmark .bar-app-logo {
  display: none !important;
}
#ban-logo-img {
  max-width: 160px;
  max-height: 80px;
}
#hdr-logo-img,
#login-logo-img,
#admin-hdr-logo-img {
  max-width: 200px;
  max-height: 56px;
  margin: 0;
}
#nav-swipe-brand-img {
  max-width: min(280px, 72vw);
  max-height: 100px;
  margin: 0 auto;
}
.bar-logo-notif {
  max-width: 120px;
  max-height: 28px;
  margin-bottom: 4px;
}
#splash-logo-text,
#ban-logo-text,
#nav-swipe-brand-txt,
.bar-logo-text-fallback,
#logo .lv,
#logo #chat-word {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}
