/* v0.3.47.5 — news layout density and cover rendering fix. */
.news-lead-card-v0330 {
  min-height: unset;
}

/* v0.3.49.0: direct game-role assignments for LBmaster ChatConfig. */
.admin-status-game-role-v0490,
.admin-user-game-role-legacy-v0490 {
  display: grid;
  gap: 6px;
  padding: 10px;
  border: 1px solid rgba(245, 197, 66, .2);
  border-radius: 12px;
  background: rgba(245, 197, 66, .055);
}

.admin-status-game-role-v0490 code,
.admin-user-game-roles-v0490 code {
  color: #f5c542;
}

.admin-user-game-roles-v0490 {
  align-content: start;
}

.admin-user-game-role-list-v0490 {
  display: grid;
  gap: 8px;
}

.admin-user-game-role-item-v0490 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 12px;
  background: rgba(255, 255, 255, .035);
}

.admin-user-game-role-item-v0490 > div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.admin-user-game-role-item-v0490 form {
  flex: 0 0 auto;
  margin: 0;
}

.admin-user-game-role-grant-v0490 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .8fr) auto;
  align-items: end;
  gap: 8px;
}

.admin-user-game-role-grant-v0490 label {
  display: grid;
  gap: 5px;
}

@media (max-width: 760px) {
  .admin-user-game-role-item-v0490,
  .admin-user-game-role-item-v0490 > div {
    align-items: stretch;
  }

  .admin-user-game-role-item-v0490 {
    display: grid;
  }

  .admin-user-game-role-item-v0490 form,
  .admin-user-game-role-item-v0490 .btn {
    width: 100%;
  }

  .admin-user-game-role-grant-v0490 {
    grid-template-columns: 1fr;
  }
}

.news-lead-card-v0330.no-cover-v0475 {
  padding: 18px 20px;
  background:
    radial-gradient(circle at 18% 0%, rgba(225,25,45,.18), transparent 36%),
    radial-gradient(circle at 92% 22%, rgba(225,25,45,.08), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
}
.news-lead-card-v0330.no-cover-v0475 .news-lead-content-v0475 {
  max-width: none;
  justify-content: flex-start;
}
.news-lead-card-v0330.no-cover-v0475 h2 {
  max-width: 920px;
  font-size: clamp(26px, 2.25vw, 40px);
}
.news-lead-card-v0330.no-cover-v0475 p {
  max-width: 880px;
}
.news-lead-card-v0330.has-cover-v0475 {
  grid-template-columns: minmax(0, .98fr) minmax(300px, .72fr);
  min-height: 270px;
}
.news-lead-content-v0475 {
  max-width: none;
}
.news-lead-cover-v0475 {
  min-height: 238px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06), 0 14px 34px rgba(0,0,0,.24);
}
.news-lead-cover-v0475 img {
  display: block;
  min-height: 238px;
}
.news-card-v0330.has-cover-v0475 {
  min-height: 178px;
  padding: 14px;
  background:
    linear-gradient(90deg, rgba(9,9,13,.98) 0%, rgba(9,9,13,.9) 44%, rgba(9,9,13,.58) 70%, rgba(9,9,13,.26) 100%),
    var(--news-card-bg) right center / 58% 100% no-repeat,
    rgba(255,255,255,.035);
}
.news-card-v0330.has-cover-v0475::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.34)),
    radial-gradient(circle at 86% 18%, rgba(255,255,255,.11), transparent 22%);
  pointer-events: none;
}
.news-card-v0330.has-cover-v0475::after {
  display: none;
}
.news-card-v0330.has-cover-v0475 .channel-card-body {
  position: relative;
  z-index: 1;
  max-width: min(590px, 66%);
}
.news-card-v0330.no-cover-v0475 .channel-card-body {
  max-width: none;
}
.news-card-v0330 h3 {
  font-size: 18px;
}
.news-card-v0330 p {
  -webkit-line-clamp: 3;
}

.news-detail-layout-v0330 {
  align-items: start;
}
.news-side-v0330 {
  display: grid;
  gap: 10px;
}
.news-meta-box-v0330 {
  gap: 6px;
  padding: 12px;
}
.news-meta-box-v0330 .tag {
  justify-self: start;
}
.news-action-btn-v0330 {
  justify-content: center;
}
.news-favorite-box-v0330 {
  display: grid;
  gap: 8px;
  padding: 12px;
}
.news-favorite-box-v0330 p {
  margin: 0;
}
.news-article-v0330 {
  padding: 18px;
}
.news-back-link-mobile-v04725 {
  display: none;
}
@media (max-width: 980px) {
  /* В одноколоночном виде сначала идут возврат и публикация, затем — метаданные и действия. */
  .news-detail-layout-v0330 .news-back-link-mobile-v04725 {
    display: inline-flex;
    order: 0;
    align-self: start;
  }
  .news-detail-layout-v0330 .news-article-v0330 {
    order: 1;
  }
  .news-detail-layout-v0330 .news-side-v0330 {
    order: 2;
  }
  .news-detail-layout-v0330 .news-side-v0330 > .text-link {
    display: none;
  }
}
.news-title-block-v0330 h1 {
  margin-bottom: 10px;
}
.news-category-hint-v0330 {
  margin: 10px 0 0;
}
.news-content-v0330 {
  margin-top: 16px;
}
.news-inline-action-v0330 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin-top: 16px;
  padding: 12px;
  border-color: rgba(225,25,45,.22);
  background: rgba(225,25,45,.075);
}
.news-inline-action-v0330 strong {
  color: #fff;
}
.news-inline-action-v0330 .btn {
  margin-left: auto;
}
.news-reactions-v0330 {
  margin-top: 16px;
  padding: 14px;
}
.news-admin-flags-v0330 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
}
.news-admin-list-v0330 td {
  vertical-align: top;
}
.news-admin-list-v0330 .tag + .tag {
  margin-left: 5px;
}

/* v0.3.47 — Portal News Center. */
.news-banners-v047 {
  display: grid;
  gap: 8px;
  max-width: var(--max);
  margin: 12px auto 0;
  padding: 0 20px;
}
.news-banner-v047 {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(225,25,45,.32);
  border-radius: 12px;
  background: rgba(225,25,45,.14);
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
}
.news-banner-v047 strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.news-banner-v047 .btn {
  flex: 0 0 auto;
  margin-left: auto;
}
.news-banner-v047 button[data-news-banner-dismiss] {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background: rgba(255,255,255,.06);
  color: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.tag.muted {
  background: rgba(255,255,255,.08);
  color: var(--muted);
}
.news-update-label-v047 {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  margin-top: 6px;
  color: #fff;
  font-size: 13px;
  line-height: 1.25;
}
.news-active-filter-v047 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  padding: 10px 12px;
}
.news-active-filter-v047 .muted {
  min-width: 0;
  flex: 1 1 auto;
}
.news-side-actions-v047 {
  display: grid;
  gap: 8px;
}
.news-ack-box-v047 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 16px;
  padding: 12px;
  border-color: rgba(235,170,45,.28);
  background: rgba(235,170,45,.08);
}
.news-ack-box-v047 p {
  margin: 4px 0 0;
}
.news-inline-actions-v047 {
  justify-content: flex-start;
}
.news-inline-actions-v047 .btn {
  margin-left: 0;
}
.news-admin-toolbar-v047 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
  padding: 12px;
}
.news-admin-filter-row-v047 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.news-admin-filter-v047 {
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  background: rgba(255,255,255,.04);
  color: #ececf2;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}
.news-admin-filter-v047:hover,
.news-admin-filter-v047.active {
  border-color: rgba(225,25,45,.34);
  background: rgba(225,25,45,.14);
  color: #fff;
}
.news-admin-list-v047 table {
  min-width: 1120px;
}
.news-admin-tags-v047 {
  min-width: 130px;
}
.news-admin-tags-v047 .tag {
  margin: 0 4px 4px 0;
}
.news-admin-actions-v047 {
  min-width: 150px;
}
.news-admin-form-v047 {
  display: grid;
  gap: 14px;
}
.news-admin-fieldset-v047 {
  display: grid;
  gap: 10px;
  min-width: 0;
  margin: 0;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
}
.news-admin-fieldset-v047 legend {
  padding: 0 6px;
  color: #fff;
  font-weight: 900;
}
.news-admin-check-grid-v047 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
}
.news-action-buttons-v047 {
  display: grid;
  gap: 8px;
}
.news-action-row-v047 {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(220px, 1.4fr) minmax(120px, .7fr) auto;
  gap: 8px;
  align-items: end;
}
.news-action-row-v047 .btn {
  min-height: 38px;
}
.home-news-tags-v047 {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 6px;
}

@media (max-width: 1200px) {
  .news-priority-grid-v0330 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .news-layout-v03302 {
    grid-template-columns: minmax(200px, 240px) minmax(0, 1fr) minmax(220px, 280px);
  }
  .news-card-v0330.has-cover-v0475 .channel-card-body {
    max-width: min(660px, 78%);
  }
}


@media (max-width: 1040px) {
  .news-layout-v03302 {
    grid-template-columns: minmax(200px, 250px) minmax(0, 1fr);
  }
  .news-mod-updates-v0473 {
    grid-column: 2;
    position: static;
  }
  .news-layout-v03302 .news-lead-card-v0330 {
    grid-template-columns: 1fr;
  }
  .news-lead-cover-v0475 {
    order: -1;
    min-height: 190px;
  }
  .news-lead-cover-v0475 img {
    min-height: 190px;
  }
  .news-card-v0330.has-cover-v0475 .channel-card-body {
    max-width: min(650px, 82%);
  }
}

@media (max-width: 900px) {
  .news-layout-v03302 {
    grid-template-columns: 1fr;
  }
  .news-mod-updates-v0473 {
    grid-column: auto;
  }
  .news-sidebar-v03302 {
    position: static;
    order: -1;
  }
  .news-category-list-v03302 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* v0.3.48.15 — лимит клана и состав кланового канала. */
.clan-status-capacity-v04815 {
  display: block;
  margin-top: 7px;
}

.forum-clan-content-layout-v04815,
.forum-clan-content-main-v04815 {
  min-width: 0;
}

.forum-clan-content-layout-v04815.is-clan-v04815 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 280px);
  align-items: start;
  gap: 14px;
}

.forum-clan-content-main-v04815 {
  display: grid;
  gap: 0;
}

.forum-clan-roster-v04815 {
  position: sticky;
  top: 68px;
  display: grid;
  gap: 12px;
  max-height: calc(100dvh - 88px);
  margin: 0;
  padding: 14px;
  overflow: auto;
}

.forum-clan-roster-v04815 > header {
  display: grid;
  gap: 7px;
}

.forum-clan-roster-v04815 h2 {
  margin: 3px 0 0;
  font-size: 20px;
}

.forum-clan-online-summary-v04815 {
  color: var(--muted);
  font-size: 12px;
}

.forum-clan-online-summary-v04815 b {
  color: #74e7a2;
}

.forum-clan-roster-roles-v04815 {
  display: grid;
  gap: 5px;
}

.forum-clan-roster-roles-v04815 > span {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 9px;
  background: rgba(255,255,255,.035);
  color: #d7d7dc;
  font-size: 11px;
}

.forum-clan-roster-roles-v04815 b {
  margin-left: auto;
  color: #fff;
}

.forum-clan-member-list-v04815 {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.forum-clan-member-list-v04815 li {
  min-width: 0;
  border: 1px solid rgba(255,255,255,.065);
  border-radius: 10px;
  background: rgba(255,255,255,.028);
}

.forum-clan-member-list-v04815 li.is-online-v04815 {
  border-color: rgba(83,211,134,.2);
  background: rgba(83,211,134,.055);
}

.forum-clan-member-list-v04815 a {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 8px;
  color: #fff;
}

.forum-clan-member-list-v04815 img,
.forum-clan-member-avatar-v04815 {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(255,255,255,.07);
  object-fit: cover;
  font-size: 13px;
  font-weight: 900;
}

.forum-clan-member-copy-v04815 {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.forum-clan-member-copy-v04815 strong {
  overflow: hidden;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.forum-clan-member-copy-v04815 small {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #787883;
  font-size: 10px;
}

.forum-clan-member-copy-v04815 i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #666670;
}

.is-online-v04815 .forum-clan-member-copy-v04815 small {
  color: #74e7a2;
}

.is-online-v04815 .forum-clan-member-copy-v04815 i {
  background: #53d386;
  box-shadow: 0 0 0 3px rgba(83,211,134,.1);
}

.forum-clan-roster-empty-v04815 {
  margin: 0;
  padding: 12px;
  border: 1px dashed rgba(255,255,255,.09);
  border-radius: 10px;
  color: var(--muted);
  font-size: 12px;
}

@media (max-width: 980px) {
  .forum-clan-content-layout-v04815.is-clan-v04815 {
    grid-template-columns: minmax(0, 1fr);
  }

  .forum-clan-roster-v04815 {
    position: static;
    order: -1;
    max-height: none;
  }

  .forum-clan-member-list-v04815 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .forum-clan-member-list-v04815 {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 760px) {
  .news-center-stats-v0330 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .news-center-stats-v0330 div {
    min-height: auto;
  }
  .news-priority-grid-v0330 {
    grid-template-columns: 1fr;
  }
  .news-priority-card-v0330 {
    padding: 14px;
  }
  .news-layout-v03302 {
    grid-template-columns: 1fr;
  }
  .news-sidebar-v03302 {
    position: static;
    order: -1;
  }
  .news-category-list-v03302 {
    grid-template-columns: 1fr;
  }
  .news-lead-card-v0330 {
    grid-template-columns: 1fr;
    padding: 14px;
  }
  .news-lead-card-v0330.has-cover-v0475 {
    grid-template-columns: 1fr;
  }
  .news-lead-cover-v0475 {
    min-height: 168px;
  }
  .news-lead-cover-v0475 img {
    min-height: 168px;
  }
  .news-card-v0330.media-card {
    min-height: 148px;
  }
  .news-card-v0330.has-cover-v0475 {
    background:
      linear-gradient(180deg, rgba(11,11,16,.92) 0%, rgba(11,11,16,.84) 58%, rgba(11,11,16,.72) 100%),
      var(--news-card-bg) center / cover no-repeat,
      rgba(255,255,255,.035);
  }
  .news-card-v0330.has-cover-v0475 .channel-card-body {
    max-width: none;
  }
  .news-inline-action-v0330 {
    display: grid;
  }
  .news-inline-action-v0330 .btn {
    margin-left: 0;
  }
  .news-card-bottom-v0330 {
    align-items: flex-start;
  }
  .news-banners-v047 {
    padding: 0 12px;
  }
  .news-banner-v047,
  .news-ack-box-v047,
  .news-active-filter-v047 {
    display: grid;
  }
  .news-banner-v047 strong {
    white-space: normal;
  }
  .news-banner-v047 .btn {
    margin-left: 0;
  }
  .news-admin-check-grid-v047,
  .news-action-row-v047 {
    grid-template-columns: 1fr;
  }
}

/* v0.3.31 — Профиль игрока: быстрый центр, компактные карточки и действия. */
.profile-dashboard-v0331 {
  display: grid;
  gap: 14px;
  padding: 18px;
  overflow: hidden;
}

.profile-dashboard-head-v0331 {
  margin-bottom: 0;
  align-items: flex-start;
}

.profile-dashboard-grid-v0331 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.profile-dashboard-card-v0331 {
  min-width: 0;
  min-height: 82px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  grid-template-areas:
    "icon title"
    "icon meta";
  align-items: center;
  gap: 3px 10px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255,255,255,.045), rgba(0,0,0,.12));
  color: rgba(255,255,255,.92);
  text-decoration: none;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.profile-dashboard-card-v0331:hover,
.profile-dashboard-card-v0331:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(255,74,96,.34);
  background: linear-gradient(135deg, rgba(255,74,96,.095), rgba(255,255,255,.045));
  box-shadow: 0 18px 42px rgba(0,0,0,.18);
}

.profile-dashboard-icon-v0331 {
  grid-area: icon;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(0,0,0,.18);
  color: rgba(255,255,255,.95);
  font-size: 16px;
  line-height: 1;
  font-weight: 900;
}

.profile-dashboard-card-v0331 strong {
  grid-area: title;
  min-width: 0;
  display: block;
  font-size: 13.5px;
  line-height: 1.18;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.profile-dashboard-card-v0331 em {
  grid-area: meta;
  min-width: 0;
  display: block;
  color: var(--muted, rgba(255,255,255,.62));
  font-size: 11.5px;
  line-height: 1.25;
  font-style: normal;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.profile-quick-actions-v0331 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding-top: 2px;
}

.profile-quick-actions-v0331 .btn {
  min-height: 34px;
  padding: 7px 12px;
  font-size: 12px;
}

.profile-overview-panel-v0322 {
  gap: 18px;
}

.profile-overview-panel-v0322 .stats-grid {
  gap: 9px;
}

.profile-overview-panel-v0322 .stats-grid div {
  padding: 10px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 14px;
  background: rgba(255,255,255,.025);
}

.profile-overview-panel-v0322 .stats-grid strong {
  font-size: clamp(22px, 2.5vw, 30px);
  line-height: 1;
}

.profile-overview-panel-v0322 .stats-grid span {
  font-size: 11.5px;
  line-height: 1.2;
}

.profile-pwa-panel-v03201.profile-ui-app-panel-v03205 {
  gap: 12px;
}

.profile-ui-app-quick-v03205 {
  padding: 10px 12px;
  border-radius: 14px;
}

.profile-pwa-devices-v03215 {
  padding: 12px;
  border-radius: 14px;
}

.profile-pwa-grid-v03215 {
  gap: 9px;
}

.profile-pwa-card-v03201 {
  padding: 12px;
  border-radius: 14px;
}

.profile-pwa-card-v03201 h3 {
  margin-bottom: 5px;
  font-size: 15px;
}

.profile-pwa-card-v03201 p,
.profile-pwa-card-v03201 small {
  font-size: 12px;
  line-height: 1.35;
}

@media (max-width: 1380px) {
  .profile-dashboard-grid-v0331 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .profile-dashboard-v0331 {
    padding: 14px;
    gap: 12px;
  }

  .profile-dashboard-grid-v0331 {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .profile-dashboard-card-v0331 {
    min-height: 58px;
    padding: 10px;
    grid-template-columns: 30px minmax(0, 1fr);
  }

  .profile-dashboard-icon-v0331 {
    width: 30px;
    height: 30px;
    border-radius: 10px;
    font-size: 14px;
  }

  .profile-quick-actions-v0331 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .profile-quick-actions-v0331 .btn {
    width: 100%;
    justify-content: center;
  }

  .profile-overview-panel-v0322 .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* v0.3.47.41: structured mod updates and advanced content editor */
.news-mod-items-help-v04741 {
  margin: 0 0 10px;
}

.news-mod-items-admin-v04741 {
  display: grid;
  gap: 8px;
  margin-bottom: 10px;
}

.news-mod-item-row-v04741 {
  display: grid;
  grid-template-columns: minmax(180px, 1.2fr) minmax(110px, .55fr) minmax(220px, 1.4fr) auto;
  gap: 8px;
  align-items: end;
}

.news-mod-item-row-v04741 .btn {
  min-height: 38px;
}

.news-mod-structured-list-v04741 {
  display: grid;
  gap: 6px;
  margin: 2px 0 4px;
  padding: 0;
  list-style: none;
}

.news-mod-structured-list-v04741 li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 9px;
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 9px;
  background: rgba(255,255,255,.035);
}

.news-mod-structured-list-v04741 strong,
.news-mod-structured-list-v04741 a {
  min-width: 0;
  overflow-wrap: anywhere;
  color: #fff;
  font-size: 13px;
  line-height: 1.25;
  text-decoration: none;
}

.news-mod-structured-list-v04741 a:hover {
  color: var(--red-2);
}

.news-mod-structured-list-v04741 span {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 12px;
}

.news-mod-detail-v04741 {
  display: grid;
  gap: 8px;
  padding: 13px;
}

.rich-wrap-advanced-v04741 {
  position: relative;
}

.rich-toolbar-separator-v04741 {
  width: 1px;
  min-height: 28px;
  margin: 1px 2px;
  background: var(--line);
}

.rich-wrap-advanced-v04741 .rich-toolbar button.is-active {
  border-color: rgba(225,25,45,.62);
  background: rgba(225,25,45,.28);
}

.rich-preview-v04741 {
  min-height: 320px;
  padding: 16px;
  overflow: auto;
  color: #e9e9ec;
  line-height: 1.7;
}

.rich-status-v04741 {
  padding: 7px 12px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
  text-align: right;
}

.rich-wrap-advanced-v04741.is-dragover-v04741::after {
  content: 'Отпустите изображения, чтобы добавить';
  position: absolute;
  inset: 58px 12px 50px;
  z-index: 4;
  display: grid;
  place-items: center;
  border: 2px dashed rgba(255,75,94,.75);
  border-radius: 12px;
  background: rgba(15,15,20,.92);
  color: #fff;
  font-weight: 900;
  text-align: center;
  pointer-events: none;
}

body.rich-editor-fullscreen-open-v04741 {
  overflow: hidden;
}

.rich-wrap-advanced-v04741.is-fullscreen-v04741 {
  position: fixed;
  inset: 10px;
  z-index: 10020;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  border-color: rgba(225,25,45,.46);
  border-radius: 14px;
  box-shadow: 0 28px 90px rgba(0,0,0,.75);
}

.rich-wrap-advanced-v04741.is-fullscreen-v04741 .rich-editor,
.rich-wrap-advanced-v04741.is-fullscreen-v04741 .rich-preview-v04741 {
  min-height: 0;
  overflow: auto;
}

@media (max-width: 900px) {
  .news-mod-item-row-v04741 {
    grid-template-columns: minmax(150px, 1fr) minmax(100px, .55fr);
  }

  .news-mod-item-row-v04741 label:nth-child(3) {
    grid-column: 1 / -1;
  }

  .news-mod-item-row-v04741 .btn {
    justify-self: start;
  }
}

@media (max-width: 620px) {
  .news-mod-item-row-v04741 {
    grid-template-columns: 1fr;
  }

  .news-mod-item-row-v04741 label:nth-child(3) {
    grid-column: auto;
  }

  .rich-wrap-advanced-v04741.is-fullscreen-v04741 {
    inset: 0;
    border-radius: 0;
  }

  .rich-wrap-advanced-v04741 .rich-toolbar {
    max-height: 36vh;
    overflow-y: auto;
  }
}

/* v0.3.48.17 — iPad Pro 11 2025, единая тема форума и раскрываемые настройки ролей. */
.forum-channel-page-v03480 {
  grid-template-columns: minmax(0, 1fr);
  justify-items: stretch !important;
}

.forum-channel-page-v03480 > .forum-channel-head-v03480,
.forum-channel-page-v03480 > .forum-clan-content-layout-v04815,
.forum-channel-page-v03480 .forum-clan-content-main-v04815,
.forum-channel-page-v03480 .forum-clan-content-main-v04815 > .panel,
.forum-channel-page-v03480 .forum-clan-content-main-v04815 > .forum-channel-feed-head-v03480,
.forum-channel-page-v03480 .forum-clan-content-main-v04815 > .forum-channel-thread-v03480 {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  justify-self: stretch !important;
}

@media (min-width: 1450px) {
  .forum-channels-index-v04816 {
    width: min(1040px, calc(100vw - 508px));
  }
}

.admin-statuses-head-v04817,
.admin-status-create-v04817,
.admin-status-list-v04817 {
  box-sizing: border-box;
  width: min(1320px, calc(100% - 24px));
  margin-right: auto;
  margin-left: auto;
}

.admin-status-create-v04817 {
  margin-bottom: 14px;
  padding: 0;
  overflow: hidden;
}

.admin-status-create-v04817 > summary,
.admin-status-settings-v04817 > summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) 22px;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  list-style: none;
}

.admin-status-create-v04817 > summary {
  padding: 15px 17px;
}

.admin-status-create-v04817 > summary::-webkit-details-marker,
.admin-status-settings-v04817 > summary::-webkit-details-marker {
  display: none;
}

.admin-status-create-icon-v04817 {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(225,25,45,.3);
  border-radius: 11px;
  background: rgba(225,25,45,.1);
  color: #ff7180;
  font-size: 21px;
}

.admin-status-create-v04817 > summary > span:nth-child(2) {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.admin-status-create-v04817 > summary small {
  color: #ff6574;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
}

.admin-status-create-v04817 > summary strong {
  color: #fff;
  font-size: 16px;
}

.admin-status-create-v04817 > summary em {
  color: #777782;
  font-size: 11px;
  font-style: normal;
}

.admin-status-create-v04817 > summary > b,
.admin-status-settings-v04817 > summary > b {
  font-size: 17px;
  text-align: right;
  transition: transform .16s ease;
}

.admin-status-create-v04817[open] > summary > b,
.admin-status-settings-v04817[open] > summary > b {
  transform: rotate(180deg);
}

.admin-status-create-form-v04817 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
  border-top: 1px solid rgba(255,255,255,.07);
  background: rgba(4,4,7,.2);
}

.admin-status-create-form-v04817 > .admin-status-options-v04817 {
  grid-column: 1 / -1;
}

.admin-status-list-v04817 {
  display: grid;
  gap: 12px;
  margin-bottom: 56px;
}

.admin-status-row-v04817 {
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.admin-status-row-v04817.is-clan-v04817 {
  border-color: rgba(225,25,45,.22);
  background:
    radial-gradient(circle at 100% 0%, rgba(225,25,45,.08), transparent 34%),
    var(--panel);
}

.admin-status-row-head-v04817 {
  display: grid;
  grid-template-columns: minmax(240px, .8fr) minmax(560px, 2fr);
  align-items: center;
  gap: 16px;
  padding: 15px 17px;
}

.admin-status-identity-v04817 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.admin-status-identity-v04817 .user-status-badge {
  max-width: 100%;
  padding: 6px 9px;
  font-size: 12px;
}

.admin-status-identity-v04817 code {
  max-width: 160px;
  overflow: hidden;
  color: #777782;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-status-identity-v04817 > .tag:last-child {
  padding: 4px 7px;
  font-size: 9px;
}

.admin-status-facts-v04817 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.admin-status-facts-v04817 > span {
  display: grid;
  align-content: center;
  gap: 3px;
  min-width: 0;
  min-height: 48px;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 10px;
  background: rgba(0,0,0,.16);
}

.admin-status-facts-v04817 > span.is-clan-v04817 {
  border-color: rgba(225,25,45,.16);
  background: rgba(225,25,45,.04);
}

.admin-status-facts-v04817 small {
  color: #70707a;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

.admin-status-facts-v04817 strong {
  overflow: hidden;
  color: #e3e3e8;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-status-settings-v04817 {
  border-top: 1px solid rgba(255,255,255,.06);
}

.admin-status-settings-v04817 > summary {
  grid-template-columns: minmax(0, 1fr) minmax(250px, auto) 22px;
  padding: 12px 17px;
  background: rgba(5,5,8,.16);
  color: #b3b3bb;
  font-size: 12px;
}

.admin-status-settings-v04817 > summary small {
  color: #6f6f79;
  text-align: right;
}

.admin-status-settings-v04817[open] > summary {
  background: rgba(255,255,255,.025);
  color: #fff;
}

.admin-status-settings-grid-v04817 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
  background: rgba(4,4,7,.2);
}

.admin-status-settings-card-v04817 {
  display: grid;
  align-content: start;
  gap: 12px;
  min-width: 0;
  padding: 15px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 13px;
  background: rgba(255,255,255,.025);
}

.admin-status-settings-card-v04817 > header {
  display: grid;
  gap: 2px;
}

.admin-status-settings-card-v04817 > header span {
  color: #ff6574;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
}

.admin-status-settings-card-v04817 > header h3 {
  margin: 0;
  color: #fff;
  font-size: 16px;
}

.admin-status-fields-v04817 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.admin-status-fields-v04817 label,
.admin-status-clan-limit-v04817 label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: #b9b9c2;
  font-size: 11px;
  font-weight: 700;
}

.admin-status-fields-v04817 input,
.admin-status-clan-limit-v04817 input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 8px 10px;
  font-size: 13px;
}

.admin-status-fields-v04817 input[type="color"] {
  padding: 4px;
}

.admin-status-color-fields-v04817 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-status-options-v04817 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
}

.admin-status-options-v04817 legend {
  display: none;
}

.admin-status-options-v04817 .check-row {
  min-height: 38px;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 9px;
  background: rgba(0,0,0,.16);
  color: #d7d7dd;
  font-size: 11px;
}

.admin-status-clan-limit-v04817 {
  display: none;
  grid-column: 1 / -1;
  grid-template-columns: minmax(190px, 280px) minmax(0, 1fr);
  align-items: end;
  gap: 12px;
  padding: 11px;
  border: 1px solid rgba(225,25,45,.2);
  border-radius: 11px;
  background: rgba(225,25,45,.04);
}

.admin-status-create-form-v04817:has(input[name="isClan"]:checked) .admin-status-clan-limit-v04817 {
  display: grid;
}

.admin-status-clan-limit-v04817 small {
  align-self: center;
  color: var(--muted);
  font-size: 11px;
}

.admin-status-clan-field-v04817 {
  padding: 9px;
  border: 1px solid rgba(225,25,45,.18);
  border-radius: 10px;
  background: rgba(225,25,45,.035);
}

.admin-status-form-actions-v04817 {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
}

.admin-status-delete-v04817 {
  display: flex;
  justify-content: flex-end;
  margin: 0;
  padding: 0 14px 14px;
  background: rgba(4,4,7,.2);
}

@media (max-width: 1120px) {
  .admin-status-row-head-v04817 {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  .admin-statuses-head-v04817,
  .admin-status-create-v04817,
  .admin-status-list-v04817 {
    width: calc(100% - 12px);
  }

  .admin-status-create-form-v04817,
  .admin-status-settings-grid-v04817 {
    grid-template-columns: minmax(0, 1fr);
    padding: 10px;
  }

  .admin-status-row-head-v04817 {
    padding: 12px;
  }

  .admin-status-facts-v04817 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-status-settings-v04817 > summary {
    grid-template-columns: minmax(0, 1fr) 20px;
    padding: 11px 13px;
  }

  .admin-status-settings-v04817 > summary small {
    display: none;
  }

  .admin-status-settings-card-v04817 {
    padding: 12px;
  }
}

@media (max-width: 520px) {
  .admin-status-fields-v04817,
  .admin-status-color-fields-v04817,
  .admin-status-clan-limit-v04817 {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Safari fallback for the 11-inch iPad Pro 2025 landscape viewport.
   It is intentionally limited to this screen class and coarse touch input. */
@media (hover: none) and (pointer: coarse) and (orientation: landscape)
  and (min-width: 1200px) and (max-width: 1220px)
  and (min-height: 700px) and (max-height: 900px) {
  body {
    padding-bottom: 60px !important;
    background-attachment: scroll, scroll, scroll, scroll, scroll !important;
  }

  .page {
    width: min(100% - 20px, 1180px);
    padding-top: 14px;
    padding-bottom: 68px !important;
  }

  .topbar {
    gap: 8px;
    padding: calc(8px + env(safe-area-inset-top)) 10px 8px;
  }

  .topbar .brand {
    min-width: 0;
    flex: 1 1 auto;
  }

  .topbar .brand-mark,
  .topbar .topbar-avatar {
    width: 34px;
    height: 34px;
    border-radius: 9px;
  }

  .topbar .brand strong {
    display: block;
    max-width: 46vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .topbar .brand small,
  .topbar .nav,
  .topbar .nav-toggle,
  .topbar .topbar-donate,
  .topbar .topbar-ticket-action,
  .topbar .topbar-messages-action,
  .topbar .topbar-profile-action,
  .topbar .topbar-settings-v03206,
  .topbar .topbar-logout-form,
  .topbar .topbar-login-action,
  .topbar .topbar-user-name {
    display: none !important;
  }

  .topbar .userbox {
    flex: 0 0 auto;
    gap: 6px;
    overflow: visible;
  }

  body > .mobile-bottom-nav-v039 {
    position: fixed !important;
    top: auto !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    bottom: 0 !important;
    left: max(8px, env(safe-area-inset-left)) !important;
    z-index: 2147483000 !important;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: 4px;
    box-sizing: border-box !important;
    width: auto !important;
    max-width: none !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    margin: 0 !important;
    padding: 2px 4px !important;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 15px 15px 0 0 !important;
    background: rgba(12,12,16,.985);
    box-shadow: 0 18px 46px rgba(0,0,0,.48);
    transform: none !important;
    translate: none !important;
    contain: layout style;
    isolation: isolate;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  body > .mobile-bottom-nav-v039 .mobile-bottom-nav-item-v039 {
    position: relative;
    display: grid;
    box-sizing: border-box !important;
    height: 48px !important;
    min-width: 0;
    min-height: 48px !important;
    max-height: 48px !important;
    place-items: center;
    align-content: center;
    gap: 1px !important;
    padding: 2px 3px !important;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #c9c9cf;
    font: inherit;
    font-size: 10.5px;
    font-weight: 900;
    cursor: pointer;
  }

  body > .mobile-bottom-nav-v039 .mobile-bottom-nav-item-v039.is-active,
  body > .mobile-bottom-nav-v039 .mobile-bottom-nav-item-v039[aria-current="page"],
  body > .mobile-bottom-nav-v039 .mobile-bottom-nav-button-v039.is-open {
    background: rgba(225,25,45,.17);
    color: #fff;
  }

  body > .mobile-bottom-nav-v039 .mobile-bottom-nav-icon-v039 {
    display: grid;
    width: 18px !important;
    height: 18px !important;
    place-items: center;
    font-size: 14px !important;
    line-height: 1;
  }

  .mobile-bottom-nav-badge-v039 {
    position: absolute;
    top: 5px;
    right: 8px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 999px;
    background: var(--red);
    color: #fff;
    font-size: 10px;
    line-height: 16px;
  }

  .mobile-menu-v039:not([hidden]) {
    position: fixed;
    inset: 0;
    z-index: 2147483001;
    display: block;
  }

  .mobile-menu-backdrop-v039 {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(0,0,0,.58);
    cursor: pointer;
  }

  .mobile-menu-sheet-v039 {
    position: absolute;
    right: 8px;
    bottom: 8px;
    left: 8px;
    display: grid;
    gap: 10px;
    max-height: min(82dvh, 680px);
    overflow: auto;
    padding: 14px 14px calc(16px + env(safe-area-inset-bottom));
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 20px;
    background: rgba(18,18,24,.98);
    box-shadow: 0 22px 70px rgba(0,0,0,.58);
  }

  .mobile-menu-head-v039 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  .mobile-menu-head-v039 span {
    display: block;
    color: var(--red-2);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .15em;
  }

  .mobile-menu-head-v039 strong {
    display: block;
    margin-top: 2px;
    font-size: 22px;
  }

  .mobile-menu-close-v039 {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    background: rgba(255,255,255,.06);
    color: #fff;
    font-size: 24px;
    cursor: pointer;
  }

  .mobile-menu-group-v039 {
    display: grid;
    gap: 6px;
    padding: 10px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 14px;
    background: rgba(255,255,255,.035);
  }

  .mobile-menu-group-v039 h2 {
    margin: 0 0 2px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  .mobile-menu-group-v039 a,
  .mobile-menu-group-v039 button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-height: 42px;
    padding: 10px 11px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    background: rgba(255,255,255,.045);
    color: #fff;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
  }

  .mobile-menu-group-v039 b {
    display: inline-grid;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    place-items: center;
    border-radius: 999px;
    background: rgba(225,25,45,.24);
    color: #fff;
    font-size: 11px;
  }

  .mobile-menu-admin-v039 {
    border-color: rgba(225,25,45,.22);
    background: rgba(225,25,45,.07);
  }
}

/* v0.3.32 — Голосовые каналы: базовая система, клановый доступ и voice-online. */
.voice-hero-v0332 {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: stretch;
}
.voice-hero-status-v0332,
.voice-server-state-v0332 {
  min-width: 190px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  padding: 14px 16px;
  background: rgba(255,255,255,.035);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: right;
}
.voice-hero-status-v0332 strong {
  font-size: 34px;
  line-height: 1;
}
.voice-hero-status-v0332 span,
.voice-server-state-v0332 span {
  color: var(--muted);
  font-size: 13px;
}
.voice-privacy-panel-v0332,
.voice-create-panel-v0332 {
  margin-bottom: 18px;
}
.voice-privacy-panel-v0332 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 18px;
  align-items: stretch;
}
.voice-server-state-v0332.is-ready {
  border-color: rgba(48, 209, 88, .35);
  background: rgba(48, 209, 88, .08);
}
.voice-server-state-v0332.is-missing {
  border-color: rgba(255, 191, 0, .28);
  background: rgba(255, 191, 0, .06);
}
.voice-create-form-v0332 {
  display: grid;
  grid-template-columns: minmax(180px, 1.3fr) minmax(170px, .9fr) minmax(180px, 1fr) minmax(180px, 1.2fr) auto;
  gap: 12px;
  align-items: end;
}
.voice-create-form-v0332 label,
.voice-access-form-v0332 label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: var(--muted);
  font-size: 13px;
}
.voice-layout-v0332 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}
.voice-column-v0332 {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}
.voice-channel-card-v0332 {
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  border-color: rgba(255,255,255,.07);
}
.voice-channel-card-v0332.is-active {
  border-color: rgba(225, 25, 45, .42);
  box-shadow: 0 0 0 1px rgba(225, 25, 45, .12), 0 18px 45px rgba(225, 25, 45, .08);
}
.voice-channel-card-v0332.is-clan {
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.025));
}
.voice-channel-title-row-v0332 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}
.voice-channel-kicker-v0332 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}
.voice-channel-title-row-v0332 h3 {
  margin: 0 0 5px;
  line-height: 1.15;
  overflow-wrap: anywhere;
}
.voice-channel-title-row-v0332 p,
.voice-clan-note-v0332 {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}
.voice-channel-count-v0332 {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 8px 10px;
  min-width: 70px;
  text-align: center;
  background: rgba(0,0,0,.18);
}
.voice-channel-count-v0332 strong {
  display: block;
  line-height: 1;
}
.voice-channel-count-v0332 span {
  color: var(--muted);
  font-size: 11px;
}
.voice-member-list-v0332,
.voice-access-list-v0332 {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-height: 30px;
}
.voice-member-chip-v0332 {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 100%;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 999px;
  padding: 4px 8px 4px 4px;
  background: rgba(255,255,255,.04);
  font-size: 13px;
}
.voice-member-chip-v0332 img,
.voice-member-avatar-fallback-v0332 {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  flex: 0 0 auto;
}
.voice-member-avatar-fallback-v0332 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(225,25,45,.18);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
}
.voice-member-chip-v0332 span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.voice-member-action-form-v0332 {
  margin: 0;
}
.voice-member-action-v0332 {
  border: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(225,25,45,.2);
  color: #fff;
  cursor: pointer;
  line-height: 1;
}
.voice-channel-actions-v0332,
.voice-live-controls-v0332 {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.voice-channel-actions-v0332 form,
.voice-live-controls-v0332 form {
  margin: 0;
}
.voice-control-status-v0332,
.voice-deny-v0332,
.voice-empty-v0332 {
  font-size: 12px;
}
.voice-access-panel-v0332 {
  border-top: 1px solid rgba(255,255,255,.07);
  padding-top: 10px;
}
.voice-access-panel-v0332 summary {
  cursor: pointer;
  color: var(--muted);
  font-size: 13px;
}
.voice-access-form-v0332 {
  display: grid;
  grid-template-columns: minmax(170px, 1fr) minmax(140px, auto) auto;
  gap: 8px;
  align-items: center;
  margin: 10px 0;
}
.voice-access-row-v0332 {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px;
  padding: 7px 8px;
  font-size: 13px;
}
.voice-access-row-v0332 form {
  margin: 0;
}
@media (max-width: 1180px) {
  .voice-layout-v0332 {
    grid-template-columns: 1fr;
  }
  .voice-create-form-v0332 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .voice-hero-v0332,
  .voice-privacy-panel-v0332 {
    display: flex;
    flex-direction: column;
  }
  .voice-hero-status-v0332,
  .voice-server-state-v0332 {
    min-width: 0;
    text-align: left;
  }
  .voice-create-form-v0332,
  .voice-access-form-v0332 {
    grid-template-columns: 1fr;
  }
  .voice-channel-title-row-v0332 {
    grid-template-columns: 1fr;
  }
  .voice-channel-count-v0332 {
    width: fit-content;
  }
  .voice-channel-actions-v0332,
  .voice-live-controls-v0332 {
    align-items: stretch;
  }
  .voice-channel-actions-v0332 .btn,
  .voice-live-controls-v0332 .btn,
  .voice-channel-actions-v0332 form {
    width: 100%;
  }
  .voice-member-chip-v0332 {
    max-width: 100%;
  }
}

/* v0.3.32.1 — голосовые каналы: несколько общих каналов и строгая привязка клановых каналов к клану. */
.voice-clan-title-v0332 {
  margin: -2px 0 5px;
  color: var(--muted);
  font-size: 12px;
}
.voice-clan-title-v0332 strong {
  color: var(--text);
}
.voice-clan-badge-note-v0332 {
  align-self: end;
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
}
.voice-channel-card-v0332.is-clan .voice-channel-count-v0332 {
  border-color: rgba(225, 25, 45, .22);
}
@media (min-width: 1181px) {
  .voice-layout-v0332 {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, .95fr);
  }
}
@media (max-width: 1180px) {
  .voice-clan-badge-note-v0332 {
    grid-column: 1 / -1;
  }
}

/* v0.3.33.1 — голосовые каналы: исправленное меню участника и журнал в админ-панели. */
.voice-member-menu-v0333 {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-left: 2px;
}
.voice-member-menu-toggle-v0333 {
  list-style: none;
  width: 22px;
  height: 22px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--muted);
  background: rgba(0,0,0,.18);
  line-height: 1;
}
.voice-member-menu-v0333.is-open .voice-member-menu-toggle-v0333 {
  color: #fff;
  border-color: rgba(225,25,45,.38);
  background: rgba(225,25,45,.16);
}
.voice-member-menu-panel-v0333 {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 1200;
  width: min(282px, calc(100vw - 24px));
  max-height: min(78vh, 620px);
  overflow: auto;
  padding: 9px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 14px;
  background: rgba(22,25,34,.99);
  box-shadow: 0 20px 70px rgba(0,0,0,.68), 0 0 0 1px rgba(225,25,45,.14);
  display: grid;
  gap: 7px;
}
.voice-member-menu-panel-v0333.is-positioned-v0351 {
  position: fixed;
  right: auto;
  bottom: auto;
  z-index: 9999;
}
.voice-member-menu-panel-v0333[hidden] {
  display: none !important;
}
.voice-member-menu-panel-v0333 form {
  margin: 0;
  display: grid;
  gap: 6px;
}
.voice-member-menu-panel-v0333 button {
  width: 100%;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background: rgba(255,255,255,.075);
  color: var(--text);
  padding: 8px 9px;
  text-align: left;
  cursor: pointer;
  font-size: 12px;
}
.voice-member-menu-panel-v0333 button:hover {
  border-color: rgba(255,255,255,.22);
  background: rgba(255,255,255,.12);
}
.voice-member-menu-panel-v0333 button.danger {
  border-color: rgba(225,25,45,.42);
  background: rgba(225,25,45,.2);
}
.voice-ban-form-v0333 {
  padding-top: 6px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.voice-ban-form-v0333 label {
  color: var(--muted);
  font-size: 11px;
  display: grid;
  gap: 4px;
}
.voice-ban-form-v0333 select,
.voice-ban-form-v0333 input {
  width: 100%;
  min-height: 32px;
  padding: 6px 8px;
  border-radius: 9px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(0,0,0,.2);
  color: var(--text);
  font-size: 12px;
}
.voice-audit-panel-v0333 {
  margin-bottom: 18px;
}
.voice-audit-list-v0333 {
  display: grid;
  gap: 7px;
}
.voice-audit-row-v0333 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
}
.voice-audit-row-v0333 span,
.voice-audit-row-v0333 small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.voice-audit-row-v0333 small {
  color: var(--muted);
  font-size: 11px;
}
@media (max-width: 760px) {
  .voice-member-menu-panel-v0333 {
    position: fixed;
    left: 10px !important;
    right: 10px !important;
    top: auto !important;
    bottom: 12px !important;
    width: auto;
    max-height: 76vh;
  }
  .voice-member-menu-panel-v0333.is-positioned-v0351 {
    left: 10px !important;
    right: 10px !important;
    top: auto !important;
    bottom: 12px !important;
  }
  .voice-audit-row-v0333 {
    grid-template-columns: 1fr;
    gap: 3px;
  }
}


.voice-admin-filter-v03331 {
  margin-bottom: 14px;
}
.voice-admin-table-v03331 code {
  font-size: 12px;
}
.voice-admin-table-v03331 td {
  vertical-align: top;
}
@media (max-width: 760px) {
  .voice-admin-table-v03331 table {
    min-width: 760px;
  }
}

/* v0.3.33.2 — фильтр и поиск журнала голосовой модерации в админ-панели. */
.voice-admin-filter-v03332 {
  margin-bottom: 14px;
}
.voice-admin-filter-grid-v03332 {
  display: grid;
  grid-template-columns: minmax(220px, 1.6fr) repeat(2, minmax(150px, .9fr)) repeat(2, minmax(135px, .8fr)) minmax(100px, .55fr) auto;
  gap: 10px;
  align-items: end;
}
.voice-admin-filter-grid-v03332 label {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
}
.voice-admin-filter-grid-v03332 input,
.voice-admin-filter-grid-v03332 select {
  width: 100%;
  min-height: 36px;
}
.voice-admin-filter-actions-v03332 {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.voice-admin-filter-summary-v03332 {
  margin: 10px 0 0;
  font-size: 12px;
}
.voice-admin-table-v03332 th,
.voice-admin-table-v03332 td {
  white-space: normal;
}
@media (max-width: 1180px) {
  .voice-admin-filter-grid-v03332 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .voice-admin-filter-actions-v03332 {
    justify-content: flex-start;
  }
}
@media (max-width: 760px) {
  .voice-admin-filter-grid-v03332 {
    grid-template-columns: 1fr;
  }
  .voice-admin-filter-actions-v03332 .btn {
    width: 100%;
  }
}

/* v0.3.33.3 — голосовые каналы: жалобы с видеооткатом и явный фильтр журнала в админ-панели. */
.voice-member-menu-v03333 .voice-report-panel-v03333 {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  background: rgba(255,255,255,.035);
  overflow: hidden;
}
.voice-report-panel-v03333 summary {
  padding: 8px 9px;
  cursor: pointer;
  color: var(--text);
  font-size: 12px;
  list-style: none;
}
.voice-report-panel-v03333 summary::-webkit-details-marker {
  display: none;
}
.voice-report-panel-v03333[open] summary {
  border-bottom: 1px solid rgba(255,255,255,.08);
  color: #fff;
}
.voice-report-panel-v03333 form {
  padding: 8px;
}
.voice-report-panel-v03333 label {
  color: var(--muted);
  font-size: 11px;
  display: grid;
  gap: 4px;
}
.voice-report-panel-v03333 input,
.voice-report-panel-v03333 textarea {
  width: 100%;
  min-height: 32px;
  padding: 6px 8px;
  border-radius: 9px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(0,0,0,.2);
  color: var(--text);
  font-size: 12px;
  resize: vertical;
}
.voice-menu-separator-v03333 {
  height: 1px;
  background: rgba(255,255,255,.08);
  margin: 2px 0;
}
.voice-admin-filter-v03333 {
  border-color: rgba(225,25,45,.18);
}
.voice-admin-filter-head-v03333 {
  margin-bottom: 10px;
}
.voice-admin-filter-head-v03333 h2 {
  margin: 2px 0 4px;
}
.voice-admin-filter-head-v03333 p {
  margin: 0;
}

/* v0.3.33.4 — голосовые каналы: компактные комнаты, стабильное меню действий и создание каналов в левом столбце. */
.voice-create-sidebar-v0334 {
  margin-bottom: 0;
  padding: 10px;
}
.voice-create-head-v0334 {
  margin-bottom: 8px;
}
.voice-create-head-v0334 h2 {
  margin: 2px 0 3px;
  font-size: 18px;
}
.voice-create-head-v0334 p {
  margin: 0;
  font-size: 12px;
  line-height: 1.3;
}
.voice-create-form-v0334 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
}
.voice-create-form-v0334 label {
  gap: 3px;
  font-size: 12px;
}
.voice-create-form-v0334 input,
.voice-create-form-v0334 select {
  min-height: 32px;
  padding: 6px 8px;
  font-size: 12px;
}
.voice-create-form-v0334 .voice-clan-badge-note-v0332 {
  margin: 0;
}
.voice-channel-card-v0332 {
  padding: 8px 9px;
  gap: 7px;
  border-radius: 14px;
}
.voice-channel-card-v0332.is-active {
  box-shadow: 0 0 0 1px rgba(225, 25, 45, .1), 0 12px 30px rgba(225, 25, 45, .06);
}
.voice-channel-title-row-v0332 {
  gap: 8px;
}
.voice-channel-kicker-v0332 {
  gap: 4px;
  margin-bottom: 4px;
}
.voice-channel-kicker-v0332 .tag {
  padding: 2px 6px;
  font-size: 10px;
}
.voice-channel-title-row-v0332 h3 {
  margin: 0 0 2px;
  font-size: 16px;
  line-height: 1.1;
}
.voice-channel-title-row-v0332 p,
.voice-clan-note-v0332 {
  font-size: 12px;
  line-height: 1.25;
}
.voice-channel-title-row-v0332 p:not(.voice-clan-title-v0332) {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.voice-clan-title-v0332 {
  margin: 0 0 2px;
  font-size: 11px;
}
.voice-channel-count-v0332 {
  min-width: 54px;
  padding: 5px 7px;
  border-radius: 10px;
}
.voice-channel-count-v0332 strong {
  font-size: 14px;
}
.voice-channel-count-v0332 span {
  font-size: 9px;
}
.voice-member-list-v0332,
.voice-access-list-v0332 {
  gap: 5px;
  min-height: 24px;
}
.voice-member-chip-v0332 {
  gap: 5px;
  padding: 3px 6px 3px 3px;
  font-size: 12px;
}
.voice-member-chip-v0332 img,
.voice-member-avatar-fallback-v0332 {
  width: 18px;
  height: 18px;
}
.voice-member-avatar-fallback-v0332 {
  font-size: 8px;
}
.voice-member-menu-toggle-v0333 {
  width: 20px;
  height: 20px;
}
.voice-channel-actions-v0332,
.voice-live-controls-v0332 {
  gap: 5px;
}
.voice-channel-actions-v0332 .btn,
.voice-live-controls-v0332 .btn {
  min-height: 28px;
  padding: 5px 8px;
  font-size: 11px;
}
.voice-control-status-v0332,
.voice-deny-v0332,
.voice-empty-v0332 {
  font-size: 11px;
}
.voice-access-panel-v0332 {
  padding-top: 7px;
}
.voice-member-menu-link-v0334,
.voice-member-menu-panel-v0333 a.voice-member-menu-link-v0334 {
  display: block;
  width: 100%;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  background: rgba(255,255,255,.05);
  color: var(--text);
  padding: 8px 9px;
  text-align: left;
  cursor: pointer;
  font-size: 12px;
  text-decoration: none;
}
.voice-member-menu-link-v0334:hover {
  background: rgba(255,255,255,.08);
}
@media (max-width: 1180px) {
  .voice-create-form-v0334 {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .voice-create-sidebar-v0334 {
    padding: 10px;
  }
  .voice-channel-card-v0332 {
    padding: 9px;
  }
  .voice-channel-actions-v0332 .btn,
  .voice-live-controls-v0332 .btn,
  .voice-channel-actions-v0332 form {
    width: auto;
  }
  .voice-live-controls-v0332 {
    align-items: center;
  }
}

/* v0.3.33.5 — голосовые каналы: отдельная узкая колонка создания и меню управления голосом через ⋯. */
@media (min-width: 1181px) {
  .voice-layout-v0335 {
    grid-template-columns: 220px minmax(0, 1fr) minmax(0, 1fr) minmax(0, .95fr);
    gap: 10px;
  }
  .voice-create-column-v0335 {
    max-width: 220px;
  }
}
.voice-create-sidebar-v0335 {
  padding: 8px;
  border-radius: 12px;
}
.voice-create-head-v0335 {
  margin-bottom: 6px;
}
.voice-create-head-v0335 h2 {
  font-size: 16px;
  margin: 1px 0 2px;
}
.voice-create-head-v0335 p {
  font-size: 11px;
  line-height: 1.25;
}
.voice-create-form-v0335 {
  gap: 6px;
}
.voice-create-form-v0335 label {
  font-size: 11px;
  gap: 2px;
}
.voice-create-form-v0335 input,
.voice-create-form-v0335 select {
  min-height: 29px;
  padding: 5px 7px;
  font-size: 11px;
  border-radius: 8px;
}
.voice-create-form-v0335 .btn {
  min-height: 28px;
  padding: 5px 8px;
  font-size: 11px;
}
.voice-channel-card-v0332 {
  padding: 7px 8px;
  gap: 5px;
  border-radius: 12px;
}
.voice-channel-title-row-v0332 {
  gap: 6px;
}
.voice-channel-kicker-v0332 {
  gap: 3px;
  margin-bottom: 3px;
}
.voice-channel-title-row-v0332 h3 {
  font-size: 15px;
  line-height: 1.08;
}
.voice-channel-title-row-v0332 p,
.voice-clan-note-v0332 {
  font-size: 11px;
  line-height: 1.22;
}
.voice-channel-count-v0332 {
  min-width: 50px;
  padding: 4px 6px;
  border-radius: 9px;
}
.voice-channel-count-v0332 strong {
  font-size: 13px;
}
.voice-member-list-v0332,
.voice-access-list-v0332 {
  gap: 4px;
  min-height: 22px;
}
.voice-member-chip-v0332 {
  padding: 2px 5px 2px 2px;
  gap: 4px;
  font-size: 11px;
}
.voice-member-chip-v0332 img,
.voice-member-avatar-fallback-v0332 {
  width: 17px;
  height: 17px;
}
.voice-member-menu-toggle-v0333 {
  width: 18px;
  height: 18px;
  font-size: 13px;
}
.voice-channel-actions-v0335 {
  justify-content: flex-end;
  align-items: flex-end;
  margin-top: 1px;
}
.voice-room-footer-controls-v0335 {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 5px;
}
.voice-room-footer-controls-v0335 form {
  margin: 0;
}
.voice-room-menu-v0335 {
  position: relative;
  margin: 0;
}
.voice-room-menu-v0335 summary {
  list-style: none;
  width: 28px;
  min-width: 28px;
  padding-left: 0;
  padding-right: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.voice-room-menu-v0335 summary::-webkit-details-marker {
  display: none;
}
.voice-room-menu-v0335[open] summary {
  color: #fff;
  border-color: rgba(225,25,45,.35);
  background: rgba(225,25,45,.13);
}
.voice-live-controls-menu-v0335 {
  position: absolute;
  right: 0;
  bottom: calc(100% + 6px);
  z-index: 28;
  width: min(230px, calc(100vw - 28px));
  padding: 8px;
  display: grid;
  gap: 6px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  background: rgba(16,18,24,.98);
  box-shadow: 0 18px 45px rgba(0,0,0,.44);
}
.voice-live-controls-menu-v0335 .btn {
  width: 100%;
  justify-content: center;
  min-height: 29px;
  font-size: 11px;
}
.voice-live-controls-menu-v0335 .voice-control-status-v0332 {
  display: block;
  margin-top: 1px;
  font-size: 10px;
  text-align: center;
  line-height: 1.25;
}
@media (max-width: 1180px) {
  .voice-layout-v0335 {
    grid-template-columns: 1fr;
  }
  .voice-create-column-v0335 {
    max-width: none;
  }
}
@media (max-width: 760px) {
  .voice-create-sidebar-v0335 {
    padding: 9px;
  }
  .voice-room-footer-controls-v0335 {
    justify-content: flex-end;
  }
  .voice-live-controls-menu-v0335 {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 14px;
    width: auto;
  }
  .voice-channel-actions-v0335 .btn,
  .voice-channel-actions-v0335 form {
    width: auto;
  }
}


/* v0.3.34 — диагностика, лимиты и безопасность голосовых каналов. */
.voice-admin-security-v0334 {
  display: grid;
  gap: 12px;
}
.voice-admin-security-head-v0334 {
  margin-bottom: 0;
}
.voice-admin-security-grid-v0334 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 8px;
}
.voice-admin-security-card-v0334 {
  padding: 10px 11px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  background: rgba(255,255,255,.035);
}
.voice-admin-security-card-v0334 strong {
  display: block;
  margin-bottom: 4px;
  font-size: 13px;
}
.voice-admin-security-card-v0334 span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}
.voice-admin-security-card-v0334.is-good {
  border-color: rgba(62, 201, 124, .24);
}
.voice-admin-security-card-v0334.is-warn {
  border-color: rgba(255, 193, 92, .28);
}
.voice-admin-security-card-v0334.is-bad {
  border-color: rgba(225, 25, 45, .32);
}
.voice-admin-security-meta-v0334 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.voice-admin-security-meta-v0334 span {
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.055);
  color: var(--muted);
  font-size: 11px;
}
.voice-privacy-panel-v0332 p {
  line-height: 1.45;
}
@media (max-width: 760px) {
  .voice-admin-security-grid-v0334 {
    grid-template-columns: 1fr;
  }
}

/* v0.3.34.2 — служебный контейнер remote audio для LiveKit. */
.voice-live-audio-root-v0341 {
  position: fixed;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

/* v0.3.34.2 — активные блокировки голоса в админ-панели. */
.voice-admin-bans-v03342 .inline-form {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.voice-admin-bans-v03342 .inline-form input {
  min-width: 180px;
  max-width: 260px;
}
@media (max-width: 720px) {
  .voice-admin-bans-v03342 .inline-form {
    align-items: stretch;
    flex-direction: column;
  }
  .voice-admin-bans-v03342 .inline-form input,
  .voice-admin-bans-v03342 .inline-form button {
    width: 100%;
    max-width: none;
  }
}

/* v0.3.34.4 — голосовые каналы: компактная мобильная сетка и скрытие пользовательской privacy-панели. */
.voice-privacy-panel-v0332 {
  display: none;
}
@media (max-width: 760px) {
  .voice-layout-v0335,
  .voice-column-v0332 {
    gap: 6px;
  }
  .voice-column-v0332 > .section-head {
    margin: 6px 0 4px;
  }
  .voice-column-v0332 > .section-head h2 {
    font-size: 16px;
    margin: 0;
  }
  .voice-column-v0332 > .section-head .muted {
    margin-top: 2px;
    font-size: 11px;
    line-height: 1.25;
  }
  .voice-channel-card-v0332 {
    padding: 7px 8px;
    gap: 4px;
  }
  .voice-channel-title-row-v0332 h3 {
    font-size: 14px;
  }
  .voice-member-list-v0332,
  .voice-access-list-v0332 {
    gap: 3px;
    min-height: 20px;
  }
}


/* v0.3.34.4 — голос: ещё компактнее мобильные каналы и служебные состояния. */
.voice-channel-actions-v0332 form button[disabled],
.voice-channel-actions-v0332 button[disabled] {
  opacity: .65;
  cursor: wait;
}
@media (max-width: 760px) {
  .voice-layout-v0335 {
    gap: 4px;
  }
  .voice-column-v0332 {
    gap: 4px;
  }
  .voice-column-v0332 > .section-head {
    margin: 4px 0 2px;
  }
  .voice-channel-card-v0332 {
    margin: 0;
    padding: 6px 7px;
    gap: 3px;
  }
  .voice-channel-main-v0332 {
    gap: 3px;
  }
  .voice-channel-kicker-v0332,
  .voice-channel-title-row-v0332 p,
  .voice-clan-title-v0332,
  .voice-clan-note-v0332 {
    margin-top: 1px;
    margin-bottom: 1px;
  }
  .voice-member-chip-v0332 {
    padding: 3px 5px;
  }
}

/* v0.3.34.5 — голос: новая компоновка, настройки звука и громкости. */
@media (min-width: 1181px) {
  .voice-layout-v0335 {
    grid-template-columns: 210px minmax(420px, 1fr) 300px;
    align-items: start;
    gap: 10px;
  }
  .voice-create-column-v0335 {
    max-width: 210px;
    position: sticky;
    top: 80px;
  }
  .voice-active-column-v0345 {
    position: sticky;
    top: 80px;
  }
}
.voice-channels-center-v0345 {
  min-width: 0;
}
.voice-channel-group-v0345 {
  display: grid;
  gap: 6px;
  margin-bottom: 10px;
}
.voice-channel-group-title-v0345 {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  padding: 0 2px;
}
.voice-channel-group-title-v0345 h3 {
  margin: 0;
  font-size: 15px;
}
.voice-channel-group-title-v0345 .muted {
  max-width: 360px;
  margin: 0;
  font-size: 11px;
  text-align: right;
}
.voice-active-panel-v0345 {
  display: grid;
  gap: 8px;
  padding: 9px;
  border-radius: 14px;
}
.voice-active-head-v0345 {
  margin-bottom: 0;
}
.voice-active-head-v0345 h2 {
  margin: 1px 0 2px;
  font-size: 17px;
}
.voice-active-head-v0345 p {
  margin: 0;
  font-size: 12px;
}
.voice-active-participants-v0345 {
  display: grid;
  gap: 5px;
  max-height: 280px;
  overflow: auto;
  padding-right: 2px;
}
.voice-member-chip-active-v0345 {
  width: 100%;
}
.voice-active-controls-v0345 {
  display: grid;
  gap: 7px;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  background: rgba(255,255,255,.035);
}
.voice-active-main-actions-v0345,
.voice-active-extra-actions-v0345 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
.voice-setting-row-v0345,
.voice-user-volume-row-v0345 {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 11px;
}
.voice-setting-row-v0345 {
  grid-template-columns: minmax(88px, auto) 1fr auto;
  align-items: center;
}
.voice-setting-row-v0345 button {
  justify-self: end;
}
.voice-setting-row-v0345 input[type="range"],
.voice-user-volume-row-v0345 input[type="range"] {
  width: 100%;
  accent-color: var(--accent);
}
.voice-user-volume-row-v0345 {
  padding: 5px 0;
}
.voice-user-volume-row-v0345 span,
.voice-setting-row-v0345 span {
  font-size: 10px;
  color: var(--muted);
  text-align: right;
}
.voice-active-leave-v0345 {
  margin: 0;
}
.voice-active-leave-v0345 .btn {
  width: 100%;
}
.voice-active-empty-v0345,
.voice-active-hint-v0345 {
  font-size: 11px;
}
.voice-active-column-v0345 .voice-member-menu-panel-v0333 {
  right: 0;
  left: auto;
}
@media (max-width: 1180px) {
  .voice-layout-v0335 {
    grid-template-columns: 1fr;
  }
  .voice-active-panel-v0345 {
    order: -1;
  }
}
@media (max-width: 760px) {
  .voice-channel-group-v0345 {
    gap: 4px;
    margin-bottom: 7px;
  }
  .voice-channel-group-title-v0345 {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }
  .voice-channel-group-title-v0345 .muted {
    max-width: none;
    text-align: left;
  }
  .voice-active-panel-v0345 {
    padding: 7px;
    gap: 6px;
  }
  .voice-active-participants-v0345 {
    max-height: none;
    gap: 4px;
  }
  .voice-active-controls-v0345 {
    padding: 7px;
    gap: 6px;
  }
  .voice-setting-row-v0345 {
    grid-template-columns: 1fr auto;
  }
  .voice-setting-row-v0345 input[type="range"] {
    grid-column: 1 / -1;
  }
  .voice-active-main-actions-v0345,
  .voice-active-extra-actions-v0345 {
    grid-template-columns: 1fr;
  }
}


/* v0.3.35.1 — голосовые каналы: стабильное меню участника и корректные звуки подключения. */
.voice-member-menu-panel-v0333 a.voice-member-menu-link-v0334 {
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
}
.voice-member-menu-panel-v0333 a.voice-member-menu-link-v0334:hover {
  background: rgba(255,255,255,.13);
}
.voice-member-menu-panel-v0333 .voice-report-panel-v03333 {
  border-color: rgba(255,255,255,.14);
  background: rgba(0,0,0,.16);
}
@media (min-width: 761px) and (max-width: 1180px) {
  .voice-member-menu-panel-v0333 {
    width: min(300px, calc(100vw - 28px));
    max-height: 70vh;
  }
}

/* v0.3.36 — мобильная версия голосового раздела: вкладки, компактные каналы и стабильные панели. */
.voice-mobile-tabs-v036 {
  display: none;
}
@media (max-width: 980px) {
  .voice-hero-v0332 {
    gap: 8px;
    margin-bottom: 8px;
  }
  .voice-hero-v0332 h1 {
    font-size: clamp(22px, 6vw, 30px);
  }
  .voice-hero-v0332 p {
    max-width: none;
    font-size: 12px;
    line-height: 1.35;
  }
  .voice-hero-status-v0332 {
    padding: 7px 9px;
    min-width: 88px;
  }
  .voice-mobile-tabs-v036 {
    position: sticky;
    top: 58px;
    z-index: 25;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5px;
    margin: 6px 0 8px;
    padding: 5px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 14px;
    background: rgba(13,15,20,.94);
    box-shadow: 0 10px 28px rgba(0,0,0,.26);
    backdrop-filter: blur(10px);
  }
  .voice-mobile-tabs-v036 button {
    min-height: 34px;
    padding: 7px 8px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 10px;
    background: rgba(255,255,255,.045);
    color: var(--text);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
  }
  .voice-mobile-tabs-v036 button.is-active-v036 {
    border-color: rgba(225,25,45,.38);
    background: rgba(225,25,45,.16);
    color: #fff;
  }
  .voice-layout-v036 {
    display: block;
  }
  .voice-layout-v036 [data-voice-mobile-panel] {
    display: none;
  }
  .voice-layout-v036 [data-voice-mobile-panel].is-mobile-active-v036 {
    display: grid;
  }
  .voice-create-column-v0335,
  .voice-active-column-v0345 {
    position: static;
    max-width: none;
  }
  .voice-channel-group-head-v0345,
  .voice-create-head-v0335,
  .voice-active-head-v0345 {
    margin-bottom: 5px;
  }
  .voice-channel-group-head-v0345 h2,
  .voice-create-head-v0335 h2,
  .voice-active-head-v0345 h2 {
    font-size: 16px;
  }
  .voice-channel-group-head-v0345 .muted,
  .voice-create-head-v0335 .muted,
  .voice-active-head-v0345 .muted {
    font-size: 11px;
    line-height: 1.25;
  }
  .voice-channel-group-v0345 {
    gap: 4px;
    margin-bottom: 6px;
  }
  .voice-channel-group-title-v0345 {
    padding: 0 1px;
  }
  .voice-channel-group-title-v0345 h3 {
    font-size: 13px;
  }
  .voice-channel-card-v0332 {
    padding: 6px 7px;
    border-radius: 11px;
  }
  .voice-channel-title-row-v0332 {
    align-items: center;
    gap: 5px;
  }
  .voice-channel-title-row-v0332 h3 {
    font-size: 14px;
    line-height: 1.05;
  }
  .voice-channel-title-row-v0332 p,
  .voice-clan-title-v0332,
  .voice-clan-note-v0332,
  .voice-channel-kicker-v0332 .tag {
    font-size: 10px;
  }
  .voice-channel-count-v0332 {
    min-width: 44px;
    padding: 3px 5px;
  }
  .voice-channel-count-v0332 span {
    display: none;
  }
  .voice-member-list-v0332 {
    gap: 2px;
  }
  .voice-member-chip-v0332 {
    min-height: 24px;
    padding: 3px 5px 3px 3px;
    font-size: 11px;
  }
  .voice-member-chip-v0332 img,
  .voice-member-avatar-fallback-v0332 {
    width: 18px;
    height: 18px;
  }
  .voice-channel-actions-v0335 {
    margin-top: 0;
  }
  .voice-active-panel-v0345,
  .voice-create-sidebar-v0335 {
    padding: 8px;
    border-radius: 12px;
  }
  .voice-active-controls-v0345 {
    padding: 7px;
  }
  .voice-active-participants-v0345 {
    max-height: 42vh;
    overflow: auto;
  }
}
@media (max-width: 420px) {
  .voice-mobile-tabs-v036 {
    top: 52px;
    gap: 4px;
    padding: 4px;
  }
  .voice-mobile-tabs-v036 button {
    min-height: 31px;
    padding: 6px 5px;
    font-size: 11px;
  }
  .voice-channel-kicker-v0332 {
    display: none;
  }
  .voice-channel-title-row-v0332 p,
  .voice-clan-title-v0332,
  .voice-clan-note-v0332 {
    display: none;
  }
  .voice-channel-card-v0332 {
    padding: 5px 6px;
  }
  .voice-active-main-actions-v0345,
  .voice-active-extra-actions-v0345 {
    grid-template-columns: 1fr 1fr;
  }
}

/* v0.3.39 — mobile app home, bottom navigation and compact menu. */
.mobile-home-hub-v039,
.mobile-bottom-nav-v039,
.mobile-menu-v039 {
  display: none;
}

.mobile-menu-v039[hidden],
.mobile-home-install-v039[hidden] {
  display: none !important;
}

@media (max-width: 768px) {
  body {
    padding-bottom: calc(74px + env(safe-area-inset-bottom));
  }

  body.mobile-menu-open-v039 {
    overflow: hidden;
  }

  .page {
    width: min(100% - 20px, 1180px);
    padding-top: 14px;
    padding-bottom: calc(112px + env(safe-area-inset-bottom));
  }

  .footer {
    padding-bottom: calc(112px + env(safe-area-inset-bottom));
  }

  .topbar {
    gap: 8px;
    padding: calc(8px + env(safe-area-inset-top)) 10px 8px;
  }

  .topbar .brand {
    min-width: 0;
    flex: 1 1 auto;
  }

  .topbar .brand-mark {
    width: 34px;
    height: 34px;
    border-radius: 9px;
  }

  .topbar .brand strong {
    display: block;
    max-width: 46vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .topbar .brand small,
  .topbar .nav,
  .topbar .nav-toggle,
  .topbar .topbar-donate,
  .topbar .topbar-ticket-action,
  .topbar .topbar-messages-action,
  .topbar .topbar-profile-action,
  .topbar .topbar-settings-v03206,
  .topbar .topbar-logout-form,
  .topbar .topbar-login-action,
  .topbar .topbar-user-name {
    display: none !important;
  }

  .topbar .userbox {
    flex: 0 0 auto;
    gap: 6px;
    overflow: visible;
  }

  .topbar .topbar-avatar {
    width: 34px;
    height: 34px;
  }

  .mobile-home-hub-v039 {
    display: grid;
    gap: 12px;
    margin-bottom: 12px;
  }

  .home-hero-v039,
  .home-section-v039,
  .home-intro-grid-v039,
  .home-events-v0395,
  .home-content-grid-v039,
  .home-final-v039 {
    display: none !important;
  }

  .mobile-home-head-v039 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 16px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(225,25,45,.11), rgba(24,24,30,.94));
    box-shadow: 0 14px 44px rgba(0,0,0,.28);
  }

  .mobile-home-eyebrow-v039 {
    display: block;
    margin-bottom: 5px;
    color: var(--red-2);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
  }

  .mobile-home-head-v039 h1 {
    margin: 0;
    font-size: 22px;
    line-height: 1.05;
    letter-spacing: 0;
  }

  .mobile-home-profile-v039 {
    display: grid;
    place-items: center;
    gap: 5px;
    min-width: 68px;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
  }

  .mobile-home-profile-v039 img,
  .mobile-home-profile-v039 span {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.1);
    object-fit: cover;
  }

  .mobile-home-actions-v039 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .mobile-home-action-v039 {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 2px 9px;
    min-height: 76px;
    padding: 12px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 12px;
    background: rgba(255,255,255,.055);
    color: #fff;
    text-align: left;
    font: inherit;
    cursor: pointer;
  }

  .mobile-home-action-v039.is-primary {
    border-color: rgba(225,25,45,.4);
    background: rgba(225,25,45,.18);
  }

  .mobile-home-action-v039 span {
    grid-row: 1 / 3;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: rgba(255,255,255,.08);
    font-weight: 900;
  }

  .mobile-home-action-v039 strong,
  .mobile-home-action-v039 small {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-home-action-v039 strong {
    font-size: 14px;
    line-height: 1.15;
  }

  .mobile-home-action-v039 small {
    color: var(--muted);
    font-size: 11px;
  }

  .mobile-home-status-v039 {
    display: grid;
    gap: 7px;
  }

  .mobile-home-status-v039 a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 10px;
    background: rgba(255,255,255,.04);
  }

  .mobile-home-status-v039 span {
    color: var(--muted);
    font-size: 12px;
  }

  .mobile-home-status-v039 strong {
    max-width: 58%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
    text-align: right;
  }

  .mobile-home-latest-v039 {
    display: grid;
    gap: 7px;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 14px;
    background: var(--panel);
  }

  .mobile-home-latest-v039 span {
    color: var(--red-2);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  .mobile-home-latest-v039 h2 {
    margin: 0;
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: 0;
  }

  .mobile-home-latest-v039 p,
  .mobile-home-latest-v039 small {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.45;
  }

  .mobile-home-link-v039,
  .mobile-home-install-v039 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 9px 12px;
    border-radius: 10px;
    background: rgba(225,25,45,.18);
    color: #fff;
    font-size: 13px;
    font-weight: 900;
  }

  .mobile-home-install-v039 {
    border: 1px solid rgba(255,255,255,.1);
    background: rgba(255,255,255,.055);
  }

  .is-standalone-pwa .mobile-home-install-v039 {
    display: none !important;
  }

  .mobile-bottom-nav-v039 {
    position: fixed;
    right: 8px;
    bottom: 0;
    left: 8px;
    z-index: 90;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: 4px;
    height: 54px;
    min-height: 54px;
    max-height: 54px;
    padding: 2px 4px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 15px 15px 0 0;
    background: rgba(12,12,16,.94);
    box-shadow: 0 18px 46px rgba(0,0,0,.48);
    backdrop-filter: blur(18px);
  }

  .mobile-bottom-nav-item-v039 {
    position: relative;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 2px;
    min-width: 0;
    min-height: 48px;
    padding: 4px 3px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #c9c9cf;
    font: inherit;
    font-size: 10.5px;
    font-weight: 900;
    cursor: pointer;
  }

  .mobile-bottom-nav-item-v039.is-active,
  .mobile-bottom-nav-item-v039[aria-current="page"],
  .mobile-bottom-nav-button-v039.is-open {
    background: rgba(225,25,45,.17);
    color: #fff;
  }

  .mobile-bottom-nav-icon-v039 {
    display: grid;
    place-items: center;
    width: 21px;
    height: 21px;
    font-size: 15px;
    line-height: 1;
  }

  .mobile-bottom-nav-badge-v039 {
    position: absolute;
    top: 5px;
    right: 8px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 999px;
    background: var(--red);
    color: #fff;
    font-size: 10px;
    line-height: 16px;
  }

  .mobile-menu-v039:not([hidden]) {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: block;
  }

  .mobile-menu-backdrop-v039 {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(0,0,0,.58);
    cursor: pointer;
  }

  .mobile-menu-sheet-v039 {
    position: absolute;
    right: 8px;
    bottom: 8px;
    left: 8px;
    display: grid;
    gap: 10px;
    max-height: min(82dvh, 680px);
    overflow: auto;
    padding: 14px 14px calc(16px + env(safe-area-inset-bottom));
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 20px;
    background: rgba(18,18,24,.98);
    box-shadow: 0 22px 70px rgba(0,0,0,.58);
  }

  .mobile-menu-head-v039 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  .mobile-menu-head-v039 span {
    display: block;
    color: var(--red-2);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .15em;
  }

  .mobile-menu-head-v039 strong {
    display: block;
    margin-top: 2px;
    font-size: 22px;
  }

  .mobile-menu-close-v039 {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    background: rgba(255,255,255,.06);
    color: #fff;
    font-size: 24px;
    cursor: pointer;
  }

  .mobile-menu-group-v039 {
    display: grid;
    gap: 6px;
    padding: 10px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 14px;
    background: rgba(255,255,255,.035);
  }

  .mobile-menu-group-v039 h2 {
    margin: 0 0 2px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  .mobile-menu-group-v039 a,
  .mobile-menu-group-v039 button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 42px;
    width: 100%;
    padding: 10px 11px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    background: rgba(255,255,255,.045);
    color: #fff;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
  }

  .mobile-menu-group-v039 b {
    display: inline-grid;
    place-items: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: rgba(225,25,45,.24);
    color: #fff;
    font-size: 11px;
  }

  .mobile-menu-admin-v039 {
    border-color: rgba(225,25,45,.22);
    background: rgba(225,25,45,.07);
  }
}

@media (max-width: 380px) {
  .mobile-bottom-nav-item-v039 {
    font-size: 9.5px;
  }

  .mobile-home-head-v039 h1 {
    font-size: 20px;
  }

  .mobile-home-action-v039 {
    min-height: 72px;
    padding: 10px;
  }
}

/* v0.3.39.3: mobile polish — prevent iOS input zoom and keep message attachments inside phone width. */
@media (max-width: 768px) {
  input:not([type="range"]),
  textarea,
  select {
    font-size: 16px;
  }

  .mobile-home-status-v039 {
    grid-template-columns: minmax(0, 1fr);
  }

  .message-compose-row-v0323 > .attachment-picker-v0323 {
    display: contents;
  }

  .message-compose-row-v0323 > .attachment-picker-v0323 .attachment-plus-btn-v0323 {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    justify-self: stretch;
    width: 42px;
    min-width: 42px;
    max-width: 42px;
  }

  .message-compose-row-v0323 > .attachment-picker-v0323 .attachment-selected-preview-v0323 {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-top: 0;
  }

  .attachment-selected-preview-v0323.file-preview-grid,
  .message-compose-row-v0323 .file-preview-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  .file-preview-card-v0391 {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    grid-template-columns: 34px minmax(0, 1fr) 36px !important;
    gap: 8px;
    align-items: center;
    overflow: hidden;
  }

  .file-preview-card-v0391 .file-preview-meta {
    min-width: 0;
    overflow: hidden;
  }

  .file-preview-card-v0391 .file-preview-meta strong,
  .file-preview-card-v0391 .file-preview-meta small {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .file-preview-card-v0391 .file-preview-icon {
    width: 34px;
    height: 34px;
    min-width: 34px;
    font-size: 10px;
  }

  .file-preview-remove-v0391 {
    justify-self: end;
    width: 32px;
    min-width: 32px;
    height: 32px;
    font-size: 18px;
  }
}


/* v0.3.39.3: stronger iOS keyboard zoom guard.
   iPhone Safari zooms focused editable controls when computed font-size is below 16px;
   keep all real text inputs and rich/contenteditable editors at 16px on mobile. */
@media (max-width: 768px) {
  html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  textarea,
  select,
  [contenteditable="true"],
  [contenteditable=""],
  [role="textbox"],
  .rich-editor,
  .ProseMirror,
  .ql-editor,
  .message-compose-text-v0323 textarea,
  .message-edit-form-v0323 textarea,
  .ticket-plain-textarea-v0312,
  .voice-create-form-v0334 input,
  .voice-create-form-v0334 select,
  .voice-create-form-v0335 input,
  .voice-create-form-v0335 select {
    font-size: 16px !important;
    line-height: 1.45;
  }

  input::placeholder,
  textarea::placeholder {
    font-size: 16px !important;
  }
}

/* v0.3.40: mobile sections polish, news filter sheet and compact footer. */
.news-mobile-filter-toggle-v040,
.news-filter-backdrop-v040,
.news-filter-mobile-head-v040,
.mobile-footer-compact-v040 {
  display: none;
}

.news-filter-sheet-panel-v040 {
  display: grid;
  gap: 12px;
}

.news-admin-actions-v040 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 8px;
}

.news-admin-actions-v040 form,
.news-delete-form-v040 {
  margin: 0;
}

.news-admin-actions-v040 .btn {
  justify-content: center;
}

.news-admin-actions-side-v040 {
  display: grid;
  align-items: stretch;
}

@media (max-width: 820px), (max-height: 440px) and (orientation: landscape) {
  .mobile-footer-compact-v040 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
  }

  .mobile-footer-compact-v040 span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: rgba(255,255,255,.82);
    font-size: 11.5px;
    font-weight: 800;
  }

  .mobile-footer-compact-v040 button {
    flex: 0 0 auto;
    min-height: 34px;
    padding: 7px 10px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 10px;
    background: rgba(255,255,255,.055);
    color: #fff;
    font: inherit;
    font-size: 11.5px;
    font-weight: 900;
    cursor: pointer;
  }

  .footer.footer-v03172[data-footer-enhanced="1"]:not(.is-open-v040) > span,
  .footer.footer-v03172[data-footer-enhanced="1"]:not(.is-open-v040) .footer-links {
    display: none;
  }

  .footer.footer-v03172.is-open-v040 > span {
    display: block;
  }

  .footer.footer-v03172.is-open-v040 > span:first-of-type {
    display: none;
  }

  .footer.footer-v03172.is-open-v040 .footer-links {
    display: flex;
    flex-wrap: wrap;
  }
}

@media (max-width: 760px) {
  body.news-filter-open-v040 {
    overflow: hidden;
  }

  .news-mobile-filter-toggle-v040 {
    display: inline-flex;
    justify-content: center;
    width: 100%;
    margin: 0 0 12px;
  }

  .news-sidebar-v03302[data-news-filter-sheet] {
    position: fixed !important;
    inset: 0;
    top: 0 !important;
    z-index: 130;
    display: none;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .news-sidebar-v03302[data-news-filter-sheet].is-open-v040 {
    display: block;
  }

  .news-filter-backdrop-v040 {
    position: absolute;
    inset: 0;
    display: block;
    border: 0;
    background: rgba(0,0,0,.62);
  }

  .news-filter-sheet-panel-v040 {
    position: absolute;
    right: 8px;
    bottom: 8px;
    left: 8px;
    display: grid;
    gap: 12px;
    max-height: min(78dvh, 640px);
    overflow: auto;
    padding: 14px 14px calc(16px + env(safe-area-inset-bottom));
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 20px;
    background: rgba(18,18,24,.98);
    box-shadow: 0 22px 70px rgba(0,0,0,.58);
    -webkit-overflow-scrolling: touch;
  }

  .news-filter-mobile-head-v040 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  .news-filter-mobile-head-v040 strong {
    display: block;
    margin-top: 2px;
    font-size: 21px;
    line-height: 1.1;
  }

  .news-filter-mobile-head-v040 button {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    background: rgba(255,255,255,.06);
    color: #fff;
    font: inherit;
    font-size: 24px;
    cursor: pointer;
  }

  .news-sidebar-v03302 .news-sidebar-section-v03302:first-of-type > .eyebrow {
    display: none;
  }

  .news-card-bottom-v0330,
  .news-admin-actions-v040 {
    display: grid;
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .articles-hero-v0396,
  .forum-toolbar-v0329,
  .articles-toolbar-v0396,
  .profile-dashboard-v0331,
  .profile-ui-app-panel-v03205 {
    gap: 10px;
  }

  .articles-toolbar-v0396,
  .forum-toolbar-v0329 {
    padding: 12px;
  }

  .articles-filter-form-v0396,
  .forum-toolbar-v0329 .search-form {
    gap: 9px;
  }

  .articles-side-v0396 {
    padding: 12px;
  }

  .article-card-v0396,
  .forum-topic-card-v0329,
  .v029-forum-card {
    padding: 12px;
  }

  .article-card-v0396 h3,
  .forum-topic-card-v0329 h3,
  .v029-forum-card h2,
  .profile-dashboard-card-v0331 strong {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .article-card-v0396 .card-rank {
    display: none;
  }

  .article-card-v0396 .channel-card-meta,
  .forum-topic-tags-v0329,
  .forum-topic-filters-v0329 {
    display: flex;
    flex-wrap: nowrap;
    gap: 7px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .article-card-v0396 .channel-card-meta::-webkit-scrollbar,
  .forum-topic-tags-v0329::-webkit-scrollbar,
  .forum-topic-filters-v0329::-webkit-scrollbar {
    display: none;
  }

  .article-card-v0396 .channel-card-meta > *,
  .forum-topic-tags-v0329 > *,
  .forum-topic-filter-v0329 {
    flex: 0 0 auto;
  }

  .article-panel-v029 .content table,
  .article-panel-v0396 .content table,
  .post.panel .content table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .forum-topic-card-v0329 {
    gap: 10px;
  }

  .forum-topic-last-v0329,
  .forum-topic-subline-v0329 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .forum-topic-last-author-v0329 {
    min-width: 0;
  }

  .forum-topic-last-author-v0329 strong,
  .latest-topic,
  .latest-topic b {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .forum-card-main {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 10px;
  }

  .forum-card-icon {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    font-size: 17px;
  }

  .profile-nav-v0322 {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .profile-nav-v0322::-webkit-scrollbar {
    display: none;
  }

  .profile-dashboard-head-v0331 p,
  .profile-ui-app-head-v03205 .muted {
    display: none;
  }

  .profile-dashboard-grid-v0331 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .profile-dashboard-card-v0331 {
    min-height: 76px;
    grid-template-columns: 1fr;
    grid-template-areas:
      "icon"
      "title"
      "meta";
    justify-items: center;
    text-align: center;
  }

  .profile-dashboard-card-v0331 strong,
  .profile-dashboard-card-v0331 em {
    max-width: 100%;
  }

  .profile-ui-app-main-actions-v03215,
  .profile-ui-app-quick-v03215 {
    display: grid;
    grid-template-columns: 1fr;
  }

  .profile-pwa-devices-v03215 {
    display: none;
  }

  .is-standalone-pwa .profile-ui-app-panel-v03205 {
    display: none;
  }
}

@media (max-width: 390px) {
  .profile-dashboard-grid-v0331 {
    grid-template-columns: 1fr;
  }

  .forum-card-main {
    grid-template-columns: 1fr;
  }
}

/* v0.3.40.1: PWA-safe mobile simplification for knowledge base, forum and voice. */
.articles-mobile-filter-toggle-v0401,
.mobile-sheet-backdrop-v0401,
.mobile-sheet-head-v0401,
.voice-mobile-summary-v0401 {
  display: none;
}

.mobile-sheet-panel-v0401 {
  display: contents;
}

.voice-audio-settings-v0401 {
  display: grid;
  gap: 10px;
}

.voice-audio-settings-v0401 > summary {
  display: none;
}

.voice-input-device-row-v04720 select {
  min-width: min(100%, 220px);
}

.voice-mic-meter-v04720 {
  display: grid;
  gap: 5px;
  color: var(--muted, #a8a8b0);
  font-size: .82rem;
}

.voice-mic-meter-track-v04720 {
  display: block;
  width: 100%;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
}

.voice-mic-meter-track-v04720 i {
  display: block;
  width: var(--voice-input-level, 0%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #4ade80, #facc15 70%, #fb7185);
  transition: width .08s linear;
}

@supports (content-visibility: auto) {
  .voice-channel-card-v0332 {
    content-visibility: auto;
    contain-intrinsic-size: auto 180px;
  }
}

@media (max-width: 760px) {
  body.articles-filter-open-v0401 {
    overflow: hidden;
  }

  .articles-mobile-filter-toggle-v0401 {
    display: inline-flex;
    justify-content: center;
    width: 100%;
    margin: 0 0 10px;
  }

  .articles-toolbar-v0396[data-mobile-sheet-panel] {
    position: fixed !important;
    inset: 0;
    z-index: 130;
    display: none;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .articles-toolbar-v0396[data-mobile-sheet-panel].is-open-v0401 {
    display: block;
  }

  .mobile-sheet-backdrop-v0401 {
    position: absolute;
    inset: 0;
    display: block;
    border: 0;
    background: rgba(0,0,0,.62);
  }

  .mobile-sheet-panel-v0401 {
    position: absolute;
    right: 8px;
    bottom: 8px;
    left: 8px;
    display: grid;
    gap: 12px;
    max-height: min(78dvh, 640px);
    overflow: auto;
    padding: 14px 14px calc(16px + env(safe-area-inset-bottom));
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 20px;
    background: rgba(18,18,24,.98);
    box-shadow: 0 22px 70px rgba(0,0,0,.58);
    -webkit-overflow-scrolling: touch;
  }

  .mobile-sheet-head-v0401 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  .mobile-sheet-head-v0401 strong {
    display: block;
    margin-top: 2px;
    color: #fff;
    font-size: 21px;
    line-height: 1.1;
  }

  .mobile-sheet-head-v0401 button {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    background: rgba(255,255,255,.06);
    color: #fff;
    font: inherit;
    font-size: 24px;
    cursor: pointer;
  }
}

@media (max-width: 720px) {
  .articles-hero-v0396,
  .channel-head-forum,
  .topic-hero-v029,
  .voice-hero-v0332 {
    padding: 14px !important;
  }

  .articles-hero-v0396 .eyebrow,
  .channel-head-forum .eyebrow,
  .voice-hero-v0332 .eyebrow {
    font-size: 10px;
  }

  .articles-hero-v0396 h1,
  .channel-head-forum h1,
  .voice-hero-v0332 h1 {
    margin: 4px 0 6px;
    font-size: 28px !important;
    line-height: 1.05;
    letter-spacing: 0;
  }

  .articles-hero-v0396 p,
  .channel-head-forum p,
  .voice-hero-v0332 p,
  .articles-stats-v0396,
  .voice-hero-status-v0332 {
    display: none !important;
  }

  .articles-hero-v0396 .channel-head-actions,
  .channel-head-forum .channel-head-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .articles-hero-v0396 .channel-head-actions .btn,
  .channel-head-forum .channel-head-actions .btn {
    min-height: 38px;
    padding: 8px 9px;
    font-size: 12px;
  }

  .channel-feature-strip {
    display: none;
  }

  .articles-side-v0396 {
    display: none !important;
  }

  .article-card-v0396 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px;
    padding: 11px !important;
  }

  .article-card-v0396 .card-cover {
    display: none;
  }

  .article-card-v0396 .channel-card-meta {
    order: -1;
    font-size: 11px;
  }

  .article-card-v0396 h3 {
    margin: 2px 0;
    font-size: 16px;
    line-height: 1.2;
  }

  .article-card-v0396 p,
  .forum-card p,
  .forum-topic-excerpt-v0329 {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  .article-tags-v0396,
  .article-scope-v0396,
  .article-card-v0396 .card-bottom-row {
    display: none !important;
  }

  .article-layout-v0396 {
    gap: 10px;
  }

  .article-side-v0396 {
    display: grid;
    gap: 8px;
  }

  .article-side-v0396 .meta-box,
  .article-side-v0396 .favorite-box-v0398,
  .article-side-v0396 .article-filter-box-v0396 {
    display: none;
  }

  .article-panel-v0396 {
    padding-bottom: calc(78px + env(safe-area-inset-bottom));
  }

  .article-panel-v0396 .article-title-block h1 {
    font-size: 26px;
    line-height: 1.12;
    letter-spacing: 0;
  }

  .article-panel-v0396 .article-meta-row-v0396 {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }

  .article-panel-v0396 .content,
  .post.panel .content {
    overflow-wrap: anywhere;
  }

  .article-panel-v0396 .content pre,
  .article-panel-v0396 .content code,
  .post.panel .content pre,
  .post.panel .content code {
    max-width: 100%;
    overflow-x: auto;
    white-space: pre-wrap;
  }

  .article-panel-v0396 img,
  .post.panel img,
  .forum-attachments-grid img,
  .forum-attachments-grid video {
    max-width: 100%;
  }

  .forum-toolbar-v0329 {
    padding: 10px !important;
  }

  .forum-toolbar-v0329 .search-form {
    grid-template-columns: 1fr auto !important;
    align-items: center;
  }

  .forum-toolbar-v0329 .search-form .btn,
  .forum-toolbar-v0329 .search-form a.btn {
    width: auto;
    min-height: 42px;
    padding-inline: 12px;
  }

  .forum-topic-filters-v0329 {
    display: flex;
    flex-wrap: nowrap;
    gap: 7px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .forum-topic-filters-v0329::-webkit-scrollbar {
    display: none;
  }

  .forum-topic-filter-v0329 {
    flex: 0 0 auto;
    min-height: 34px;
    padding: 7px 10px;
    font-size: 12px;
  }

  .forum-topics-panel-v0329 {
    padding: 12px !important;
  }

  .forum-section-head-v0329 p,
  .forum-topic-last-author-v0329 small {
    display: none;
  }

  .forum-topic-card-v0329 {
    grid-template-columns: 1fr !important;
    padding: 11px !important;
  }

  .forum-topic-card-v0329 h3 {
    margin: 2px 0;
    font-size: 16px;
    line-height: 1.2;
  }

  .forum-topic-tags-v0329,
  .topic-row-tags {
    gap: 5px;
  }

  .forum-topic-tags-v0329 .tag,
  .topic-row-tags .tag {
    font-size: 10.5px;
    padding: 4px 7px;
  }

  .forum-topic-last-v0329 {
    padding-top: 7px;
    border-top: 1px solid rgba(255,255,255,.08);
  }

  .forum-topic-meta-v0329,
  .forum-stats.inline-stats {
    display: flex !important;
    gap: 6px;
    text-align: left;
  }

  .forum-topic-meta-v0329 span,
  .forum-stats.inline-stats span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 26px;
    padding: 4px 8px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 999px;
    background: rgba(255,255,255,.045);
    font-size: 11px;
  }

  .v029-forum-card {
    gap: 9px;
    padding: 11px !important;
  }

  .forum-card-footer {
    display: grid;
    gap: 6px;
  }

  .reply-panel-v029 {
    padding: 12px !important;
    margin-bottom: 10px;
  }

  .reply-panel-v029 .section-head p {
    display: none;
  }

  .reply-panel-v029 .message-compose-row-v0323 {
    grid-template-columns: 1fr !important;
  }

  .reply-panel-v029 textarea,
  .reply-panel-v029 input,
  .reply-panel-v029 select {
    font-size: 16px !important;
  }

  .forum-topic-newest-first {
    padding-bottom: calc(82px + env(safe-area-inset-bottom));
  }

  .forum-topic-newest-first .post.panel {
    padding: 10px !important;
  }

  .forum-topic-newest-first .post-head {
    grid-template-columns: 1fr !important;
    gap: 7px;
  }

  .forum-topic-newest-first .post-author-avatar {
    width: 30px;
    height: 30px;
    min-width: 30px;
  }

  .forum-topic-newest-first .role-chip,
  .forum-topic-newest-first .user-status-badge {
    font-size: 10px;
    padding: 2px 6px;
  }

  .voice-mobile-summary-v0401 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 10px;
    padding: 12px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 14px;
    background: rgba(255,255,255,.045);
  }

  .voice-mobile-summary-v0401 div {
    min-width: 0;
  }

  .voice-mobile-summary-v0401 span,
  .voice-mobile-summary-v0401 small {
    display: block;
    color: var(--muted);
    font-size: 11.5px;
    line-height: 1.25;
  }

  .voice-mobile-summary-v0401 strong {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #fff;
    font-size: 16px;
    line-height: 1.2;
  }

  .voice-mobile-summary-v0401 .btn {
    flex: 0 0 auto;
    width: auto;
  }

  .voice-mobile-tabs-v036 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 10px;
  }

  .voice-mobile-tabs-v036 button {
    min-height: 38px;
    padding: 8px 6px;
    font-size: 12px;
  }

  .voice-layout-v0332 {
    gap: 10px;
    padding-bottom: calc(82px + env(safe-area-inset-bottom));
  }

  .voice-channel-group-head-v0345 p,
  .voice-channel-group-title-v0345 p,
  .voice-create-head-v0335 p,
  .voice-channel-title-row-v0332 p,
  .voice-active-hint-v0345,
  .voice-clan-note-v0332,
  .voice-clan-badge-note-v0332 {
    display: none !important;
  }

  .voice-channel-group-v0345 {
    gap: 8px;
  }

  .voice-channel-card-v0332 {
    gap: 9px;
    padding: 11px !important;
  }

  .voice-channel-title-row-v0332 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: start;
  }

  .voice-channel-title-row-v0332 h3 {
    margin: 4px 0 0;
    font-size: 16px;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }

  .voice-channel-kicker-v0332 {
    display: flex;
    flex-wrap: nowrap;
    gap: 5px;
    overflow: hidden;
  }

  .voice-channel-kicker-v0332 .tag {
    flex: 0 0 auto;
    padding: 4px 7px;
    font-size: 10.5px;
  }

  .voice-channel-count-v0332 {
    min-width: 58px;
    padding: 7px 8px;
    border-radius: 12px;
  }

  .voice-channel-count-v0332 strong {
    font-size: 16px;
  }

  .voice-channel-count-v0332 span {
    font-size: 10px;
  }

  .voice-member-list-v0332,
  .voice-active-participants-v0345 {
    gap: 6px;
  }

  .voice-member-chip-v0332 {
    min-height: 30px;
    padding: 4px 7px;
    font-size: 12px;
  }

  .voice-member-chip-v0332 img,
  .voice-member-avatar-fallback-v0332 {
    width: 24px;
    height: 24px;
    min-width: 24px;
  }

  .voice-channel-actions-v0335 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .voice-channel-actions-v0335 .btn,
  .voice-channel-actions-v0335 form {
    width: 100%;
  }

  .voice-active-panel-v0345,
  .voice-create-panel-v0332 {
    padding: 12px !important;
  }

  .voice-active-main-actions-v0345 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .voice-active-main-actions-v0345 .btn {
    width: 100%;
  }

  .voice-audio-settings-v0401 {
    gap: 8px;
    padding: 9px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 12px;
    background: rgba(255,255,255,.035);
  }

  .voice-audio-settings-v0401 > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 34px;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
  }

  .voice-setting-row-v0345 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .voice-active-extra-actions-v0345 {
    display: grid;
    grid-template-columns: 1fr;
  }

  .voice-control-status-v0332 {
    font-size: 12px;
    line-height: 1.35;
  }

  .voice-create-form-v0335 {
    gap: 9px;
  }

  .voice-create-form-v0335 input,
  .voice-create-form-v0335 select,
  .voice-create-form-v0335 textarea {
    min-height: 44px;
    font-size: 16px !important;
  }

  .voice-active-empty-v0345 {
    display: grid;
    gap: 8px;
  }
}

@media (max-width: 390px) {
  .articles-hero-v0396 .channel-head-actions,
  .channel-head-forum .channel-head-actions,
  .forum-toolbar-v0329 .search-form,
  .voice-channel-title-row-v0332 {
    grid-template-columns: 1fr !important;
  }
}

/* v0.3.41: портальная активность, бонусы ролей и техработы */
.portal-daily-bonus-card-v0341,
.portal-activity-admin-panel-v0341,
.maintenance-card-v0341 {
  overflow: hidden;
}

.portal-daily-bonus-grid-v0341,
.portal-profile-activity-summary-v0341,
.portal-activity-admin-stats-v0341,
.portal-role-bonus-list-v0341 {
  display: grid;
  gap: 12px;
}

.portal-daily-bonus-grid-v0341 {
  grid-template-columns: minmax(220px, 1.4fr) repeat(4, minmax(110px, 0.7fr));
  align-items: stretch;
}

.portal-daily-bonus-main-v0341,
.portal-daily-bonus-stat-v0341,
.portal-role-bonus-card-v0341,
.portal-profile-activity-summary-v0341 > div {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  background: rgba(255,255,255,.035);
  padding: 14px;
}

.portal-daily-bonus-main-v0341 {
  display: flex;
  align-items: center;
  gap: 14px;
}

.portal-daily-bonus-icon-v0341 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(225,25,45,.16);
  font-size: 24px;
}

.portal-daily-bonus-main-v0341 strong {
  display: block;
  font-size: 1.35rem;
}

.portal-daily-bonus-main-v0341 small,
.portal-daily-bonus-stat-v0341 span,
.portal-profile-activity-summary-v0341 span {
  color: var(--muted);
}

.portal-daily-bonus-stat-v0341 strong,
.portal-profile-activity-summary-v0341 strong {
  display: block;
  font-size: 1.2rem;
}

.portal-daily-bonus-details-v0341 {
  margin-top: 12px;
}

.portal-role-bonus-pills-v0341 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.portal-daily-bonus-actions-v0341 {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.portal-profile-activity-summary-v0341 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 14px;
}

.admin-activity-settings-form-v0341,
.admin-role-bonus-form-v0341,
.maintenance-form-v0341 {
  display: grid;
  gap: 14px;
}

.portal-role-bonus-list-v0341 {
  margin-top: 16px;
}

.portal-role-bonus-card-v0341 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.portal-role-bonus-card-v0341 h3 {
  margin: 6px 0 4px;
}

.portal-role-bonus-actions-v0341 {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.portal-role-bonus-actions-v0341 strong {
  font-size: 1.25rem;
}

.responsive-table-v0341 {
  width: 100%;
  overflow-x: auto;
}

.maintenance-page-v0341 {
  min-height: 56vh;
  display: grid;
  place-items: center;
  padding: 36px 0;
}

.maintenance-card-v0341 {
  max-width: 720px;
  text-align: center;
  padding: 32px;
}

.maintenance-card-v0341 h1 {
  margin-top: 6px;
}

.maintenance-actions-v0341 {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 20px;
}

@media (max-width: 820px) {
  .portal-daily-bonus-grid-v0341,
  .portal-profile-activity-summary-v0341 {
    grid-template-columns: 1fr 1fr;
  }

  .portal-daily-bonus-main-v0341 {
    grid-column: 1 / -1;
  }

  .portal-role-bonus-card-v0341 {
    align-items: stretch;
    flex-direction: column;
  }

  .portal-role-bonus-actions-v0341 {
    justify-content: flex-start;
  }
}

@media (max-width: 560px) {
  .portal-daily-bonus-grid-v0341,
  .portal-profile-activity-summary-v0341 {
    grid-template-columns: 1fr;
  }

  .portal-daily-bonus-main-v0341 {
    align-items: flex-start;
  }

  .portal-daily-bonus-actions-v0341,
  .maintenance-actions-v0341 {
    align-items: stretch;
    flex-direction: column;
  }

  .portal-daily-bonus-actions-v0341 .btn,
  .maintenance-actions-v0341 .btn {
    width: 100%;
  }

  .maintenance-card-v0341 {
    padding: 22px;
  }
}


/* v0.3.41.1: точечные правки активности, админки и техработ */
.portal-daily-bonus-head-v0341 {
  align-items: flex-start;
  gap: 12px;
}

.portal-daily-bonus-state-v03411 {
  flex: 0 0 auto;
  margin-top: 3px;
  white-space: nowrap;
}

.admin-nav-maintenance-v03411.is-on,
.admin-maintenance-stat-v03411.is-on {
  border-color: rgba(225, 25, 45, .55) !important;
  background: rgba(225, 25, 45, .16) !important;
  color: #ffd5da !important;
}

.admin-nav-maintenance-v03411.is-off,
.admin-maintenance-stat-v03411.is-off {
  border-color: rgba(35, 180, 95, .45) !important;
  background: rgba(35, 180, 95, .12) !important;
  color: #bff7d2 !important;
}

.admin-maintenance-panel-v03411,
.admin-maintenance-form-v03411 {
  display: grid;
  gap: 14px;
}

.admin-maintenance-status-head-v03411 {
  align-items: flex-start;
  gap: 12px;
}

.admin-maintenance-state-card-v03411 {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  padding: 14px;
  display: grid;
  gap: 4px;
}

.admin-maintenance-state-card-v03411 strong {
  font-size: 1.05rem;
}

.admin-maintenance-state-card-v03411 span {
  color: var(--muted);
}

.admin-maintenance-state-card-v03411.is-on {
  border-color: rgba(225,25,45,.35);
  background: rgba(225,25,45,.11);
}

.admin-maintenance-state-card-v03411.is-off {
  border-color: rgba(35,180,95,.28);
  background: rgba(35,180,95,.08);
}

.admin-maintenance-actions-v03411 {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

@media (max-width: 560px) {
  .portal-daily-bonus-head-v0341,
  .admin-maintenance-status-head-v03411 {
    display: grid;
    grid-template-columns: 1fr;
  }

  .portal-daily-bonus-state-v03411,
  .admin-maintenance-status-head-v03411 .tag {
    width: fit-content;
    margin-top: 0;
  }

  .admin-maintenance-actions-v03411 {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-maintenance-actions-v03411 .btn {
    width: 100%;
  }
}

/* v0.3.42: активные темы, реакции и жалобы форума */
.home-forum-activity-v0342 {
  overflow: hidden;
}

.home-forum-topic-list-v0342 {
  display: grid;
  gap: 12px;
}

.home-forum-topic-card-v0342 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.035);
  color: inherit;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.home-forum-topic-card-v0342:hover {
  transform: translateY(-1px);
  border-color: rgba(225, 25, 45, 0.45);
  background: rgba(255, 255, 255, 0.055);
}

.home-forum-topic-main-v0342 {
  min-width: 0;
}

.home-forum-topic-title-v0342 {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.home-forum-topic-title-v0342 strong {
  font-size: 1rem;
  line-height: 1.25;
}

.home-forum-topic-main-v0342 p {
  margin: 7px 0 6px;
  color: var(--muted);
  line-height: 1.45;
}

.home-forum-topic-main-v0342 small {
  color: var(--muted);
}

.home-forum-topic-stats-v0342 {
  display: grid;
  grid-template-columns: repeat(3, minmax(72px, auto));
  gap: 8px;
}

.home-forum-topic-stats-v0342 span {
  display: grid;
  gap: 2px;
  min-width: 76px;
  padding: 9px 10px;
  border-radius: 14px;
  background: rgba(0, 0, 0, 0.22);
  color: var(--muted);
  text-align: center;
  font-size: .78rem;
}

.home-forum-topic-stats-v0342 b {
  color: var(--text);
  font-size: 1rem;
}

.forum-reaction-bar-v0342 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.forum-reaction-btn-v0342 {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 32px;
  padding: 6px 9px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.045);
  color: var(--text);
  cursor: pointer;
}

.forum-reaction-btn-v0342:hover,
.forum-reaction-btn-v0342.active {
  border-color: rgba(225, 25, 45, 0.55);
  background: rgba(225, 25, 45, 0.16);
}

.forum-reaction-btn-v0342:disabled {
  opacity: .55;
  cursor: not-allowed;
}

.forum-reaction-btn-v0342 b {
  font-size: .82rem;
}

.forum-report-details-v0342 {
  position: relative;
}

.forum-report-details-v0342 summary {
  list-style: none;
  cursor: pointer;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  color: var(--muted);
  font-size: .86rem;
}

.forum-report-details-v0342 summary::-webkit-details-marker {
  display: none;
}

.forum-report-form-v0342 {
  display: grid;
  gap: 8px;
  min-width: 260px;
  margin-top: 8px;
  padding: 10px;
  border-radius: 14px;
  background: rgba(12, 14, 18, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.10);
  box-shadow: 0 12px 34px rgba(0, 0, 0, .32);
}

.forum-report-form-v0342 textarea {
  min-height: 64px;
  resize: vertical;
}

.forum-topic-move-form-v0342 {
  gap: 6px;
}

.forum-topic-move-form-v0342 select {
  max-width: 170px;
}

@media (max-width: 760px) {
  .home-forum-topic-card-v0342 {
    grid-template-columns: 1fr;
    padding: 12px;
  }

  .home-forum-topic-stats-v0342 {
    grid-template-columns: repeat(3, 1fr);
  }

  .home-forum-topic-stats-v0342 span {
    min-width: 0;
    padding: 8px 6px;
  }

  .forum-reaction-bar-v0342 {
    width: 100%;
  }

  .forum-reaction-btn-v0342 {
    min-height: 36px;
  }

  .forum-report-details-v0342,
  .forum-report-form-v0342 {
    width: 100%;
  }

  .forum-report-form-v0342 {
    min-width: 0;
  }

  .forum-topic-move-form-v0342 {
    width: 100%;
  }

  .forum-topic-move-form-v0342 select {
    max-width: none;
    width: 100%;
  }
}

/* v0.3.43: ответы на сообщения, меню реакций и лёгкий typing-индикатор */
.reply-target-preview-v0343 {
  display: flex;
  align-items: center;
  gap: .7rem;
  flex-wrap: wrap;
  padding: .65rem .75rem;
  margin-bottom: .75rem;
  border: 1px solid rgba(255,255,255,.09);
  border-left: 3px solid var(--accent, #e53935);
  border-radius: 14px;
  background: rgba(255,255,255,.045);
}
.reply-target-preview-v0343[hidden] { display: none !important; }
.reply-target-preview-v0343 span { font-size: .92rem; }
.reply-target-preview-v0343 small {
  min-width: 0;
  flex: 1 1 220px;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.thread-reply-quote-v0343 {
  display: block;
  max-width: min(620px, 100%);
  margin: .35rem 0 .45rem;
  padding: .55rem .7rem;
  border-left: 3px solid rgba(229,57,53,.86);
  border-radius: 12px;
  background: rgba(255,255,255,.045);
  text-decoration: none;
  color: inherit;
}
.thread-reply-quote-v0343 strong,
.thread-reply-quote-v0343 span { display: block; }
.thread-reply-quote-v0343 strong { font-size: .86rem; }
.thread-reply-quote-v0343 span {
  color: var(--muted);
  font-size: .84rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.reply-selected-message-v0343 {
  outline: 1px solid rgba(229,57,53,.7);
  box-shadow: 0 0 0 4px rgba(229,57,53,.08);
}
.thread-typing-indicator-v0343 {
  width: fit-content;
  max-width: 100%;
  margin: .35rem 0 .65rem;
  padding: .45rem .7rem;
  border-radius: 999px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.08);
  color: var(--muted);
  font-size: .88rem;
}
.thread-typing-indicator-v0343[hidden] { display: none !important; }
.forum-post-actions-v0343 {
  align-items: flex-start;
  position: relative;
}
.forum-post-menu-v0343 {
  position: relative;
  display: inline-block;
}
.forum-post-menu-v0343 > summary {
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}
.forum-post-menu-v0343 > summary::-webkit-details-marker { display: none; }
.forum-post-menu-toggle-v0343 span {
  min-width: 1.15rem;
  height: 1.15rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(229,57,53,.18);
  color: #fff;
  font-size: .75rem;
}

/* v0.3.47.38: compact tickets, safe message actions and admin notifications. */
.ticket-detail-layout-v0315 {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
  gap: 14px;
}

.ticket-detail-main-v0315,
.ticket-admin-sidebar-v0315,
.ticket-admin-sidebar-v0315 form,
.ticket-admin-sidebar-v0315 label {
  min-width: 0;
}

.ticket-admin-sidebar-v0315 input,
.ticket-admin-sidebar-v0315 select,
.ticket-admin-sidebar-v0315 textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
}

.ticket-reply-panel-top-v0362.panel {
  margin-bottom: 8px;
  padding: 9px 12px;
}

.ticket-reply-panel-top-v0362 .section-head {
  margin-bottom: 5px;
}

.ticket-reply-panel-top-v0362 .section-head h2 {
  margin: 2px 0 0;
  font-size: 1.05rem;
}

.ticket-reply-panel-top-v0362 .form {
  gap: 7px;
}

.ticket-reply-panel-top-v0362 textarea {
  min-height: 40px !important;
}

.ticket-messages-list .ticket-message.panel {
  position: relative;
  padding-right: 54px;
  overflow: visible;
}

.ticket-message-menu-v04738 {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 12;
}

.ticket-message-menu-v04738 .user-action-menu-list-v03231 {
  min-width: 190px;
}

.ticket-message-menu-v04738 form {
  margin: 0;
}

.admin-notification-filters-v04738,
.admin-notifications-panel-v04738 {
  padding: 14px;
}

.admin-notification-filter-form-v04738 {
  grid-template-columns: minmax(180px, 1.4fr) repeat(3, minmax(145px, .8fr)) auto;
  align-items: end;
  gap: 10px;
}

.admin-notification-filter-form-v04738 label {
  min-width: 0;
  gap: 5px;
  font-size: 12px;
}

.admin-notification-filter-form-v04738 input,
.admin-notification-filter-form-v04738 select {
  min-height: 38px;
  padding: 8px 10px;
}

.admin-notification-filter-actions-v04738 {
  flex-wrap: nowrap;
}

.admin-notifications-list-v04738 {
  gap: 8px;
}

.admin-notification-card-v04738 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 11px 12px;
}

.admin-notification-content-v04738 {
  min-width: 0;
}

.admin-notification-title-v04738 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.admin-notification-title-v04738 h3,
.admin-notification-content-v04738 p {
  margin: 0;
}

.admin-notification-title-v04738 h3 {
  font-size: .98rem;
}

.admin-notification-content-v04738 p {
  margin-top: 5px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.admin-notification-content-v04738 small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 11px;
}

.admin-notification-actions-v04738 {
  flex-wrap: nowrap;
  justify-content: flex-end;
}

@media (max-width: 1240px) {
  .ticket-detail-layout-v0315 {
    grid-template-columns: 1fr;
  }

  .ticket-admin-sidebar-v0315 {
    position: static;
    order: -1;
  }
}

@media (max-width: 980px) {
  .admin-notification-filter-form-v04738 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-notification-filter-actions-v04738 {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .ticket-messages-list .ticket-message.panel {
    padding-right: 48px;
  }

  .admin-notification-filter-form-v04738,
  .admin-notification-card-v04738 {
    grid-template-columns: 1fr;
  }

  .admin-notification-filter-actions-v04738,
  .admin-notification-actions-v04738 {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}
.forum-post-menu-panel-v0343 {
  display: none;
  position: absolute;
  right: 0;
  top: calc(100% + .45rem);
  z-index: 25;
  width: min(340px, calc(100vw - 32px));
  padding: .8rem;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 16px;
  background: rgba(16,18,24,.98);
  box-shadow: 0 18px 44px rgba(0,0,0,.38);
}
.forum-post-menu-v0343[open] .forum-post-menu-panel-v0343,
.forum-post-menu-v0343:hover .forum-post-menu-panel-v0343,
.forum-post-menu-v0343:focus-within .forum-post-menu-panel-v0343 { display: block; }
.forum-reaction-popover-v0343 { display: grid; gap: .65rem; }
.forum-reaction-grid-v0343 {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}
.forum-reaction-form-v0343 { margin: 0; }
.forum-reaction-users-v0343,
.forum-report-details-v0343 {
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: .55rem;
}
.forum-reaction-users-v0343 summary,
.forum-report-details-v0343 summary {
  cursor: pointer;
  color: var(--muted);
  font-size: .9rem;
}
.forum-reaction-users-row-v0343 {
  display: grid;
  gap: .15rem;
  padding: .45rem 0;
}
.forum-reaction-users-row-v0343 span {
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.35;
}
.profile-badge-visibility-form-v0343 {
  margin-top: .8rem;
  padding-top: .8rem;
  border-top: 1px solid rgba(255,255,255,.08);
}

@media (max-width: 720px) {
  .reply-target-preview-v0343 {
    align-items: stretch;
    flex-direction: column;
  }
  .reply-target-preview-v0343 small {
    flex-basis: auto;
    white-space: normal;
  }
  .forum-post-menu-panel-v0343 {
    right: auto;
    left: 0;
    width: min(320px, calc(100vw - 28px));
  }
  .thread-reply-quote-v0343 span {
    white-space: normal;
  }
}

/* v0.3.43.1: fix message composer alignment, forum reaction menu visibility and admin group chat UI. */
.post-list,
.v029-post-list,
.v029-post-card,
.post.panel,
.forum-topic-newest-first,
.personal-messages-list,
.personal-message.panel,
.ticket-message,
.thread-message-line-v03234,
.personal-message-body-row-v03233 {
  overflow: visible !important;
}

.forum-post-actions-v0343 {
  z-index: 30;
}

.forum-post-menu-v0343[open] {
  z-index: 80;
}

.forum-post-menu-panel-v0343 {
  z-index: 999;
  max-height: min(72vh, 520px);
  overflow-y: auto;
  overflow-x: hidden;
}

.message-compose-row-v0323 {
  align-items: end !important;
}

.message-compose-row-v0323 > .attachment-picker-v0323 {
  align-self: end;
  justify-self: center;
  min-height: 40px;
}

.message-compose-row-v0323 > .attachment-picker-v0323 .attachment-plus-btn-v0323,
.message-compose-row-v0323 .btn.message-send-btn-v0323 {
  align-self: end;
  margin-bottom: 0;
}

.admin-chat-row-v03431 {
  margin-bottom: 10px;
  border-color: rgba(229,57,53,.22) !important;
  background: linear-gradient(135deg, rgba(229,57,53,.11), rgba(255,255,255,.035));
}

.admin-chat-member-grid-v03431 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

.admin-chat-member-card-v03431 {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  background: rgba(255,255,255,.035);
  cursor: pointer;
}

.admin-chat-member-card-v03431.is-selected {
  border-color: rgba(229,57,53,.35);
  background: rgba(229,57,53,.1);
}

.admin-chat-member-card-v03431.is-owner {
  cursor: default;
  opacity: .92;
}

.admin-chat-member-card-v03431 span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.admin-chat-member-card-v03431 small {
  color: var(--muted);
}

@media (min-width: 769px) {
  .message-compose-row-v0323 {
    grid-template-columns: minmax(0, 1fr) 44px 108px !important;
  }

  .message-compose-row-v0323 > .attachment-picker-v0323 {
    display: grid;
    align-items: end;
  }
}

@media (max-width: 720px) {
  .forum-post-menu-panel-v0343 {
    position: fixed;
    left: 12px !important;
    right: 12px !important;
    top: auto;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 74px);
    width: auto;
    max-height: min(68vh, 520px);
  }

  .admin-chat-member-grid-v03431 {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* v0.3.43.2: mentions and final desktop alignment for personal message composer. */
.mention-link-v03432 {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 0 .24em;
  border-radius: 8px;
  background: rgba(229,57,53,.14);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
}
.mention-link-v03432:hover {
  background: rgba(229,57,53,.24);
  color: #fff;
}

.mention-mass-v04737 {
  display: inline-flex;
  align-items: center;
  padding: 1px 6px;
  border: 1px solid rgba(255, 104, 122, .48);
  border-radius: 7px;
  background: rgba(225, 25, 45, .16);
  color: #ff8b99;
  font-weight: 800;
}

@media (min-width: 769px) {
  .personal-message-compose-row-v03432 {
    align-items: start !important;
  }
  .personal-message-compose-row-v03432 > .attachment-picker-v0323,
  .personal-message-compose-row-v03432 > .btn.message-send-btn-v0323 {
    align-self: start !important;
    margin-top: 24px !important;
  }
  .personal-message-compose-row-v03432 > .attachment-picker-v0323 .attachment-plus-btn-v0323,
  .personal-message-compose-row-v03432 > .btn.message-send-btn-v0323 {
    height: 40px;
    min-height: 40px;
  }
}

.forum-post-menu-panel-v0343.is-fixed-v03432 {
  position: fixed !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 5000 !important;
  max-height: min(72vh, 520px);
  overflow: auto;
}

/* v0.3.43.3: forum post menu compact/fixed behavior. */
.forum-post-menu-panel-v0343 {
  width: min(280px, calc(100vw - 32px));
  padding: .65rem;
}
.forum-post-menu-v0343:hover .forum-post-menu-panel-v0343,
.forum-post-menu-v0343:focus-within:not([open]) .forum-post-menu-panel-v0343 {
  display: none;
}
.forum-post-menu-v0343[open] .forum-post-menu-panel-v0343 { display: block; }
.forum-post-menu-panel-v0343.is-fixed-v03432 {
  width: min(280px, calc(100vw - 24px)) !important;
  z-index: 7000 !important;
}

/* v0.3.43.3: personal message input line alignment. */
.personal-message-compose-row-v03433 {
  display: block !important;
}
.personal-message-compose-text-v03433 {
  display: grid;
  gap: 7px;
}
.personal-message-input-line-v03433 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 38px 104px;
  gap: 7px;
  align-items: start;
}
.personal-message-input-line-v03433 > .attachment-picker-v0323,
.personal-message-input-line-v03433 > .btn.message-send-btn-v0323 {
  align-self: start !important;
  margin-top: 0 !important;
}
.personal-message-input-line-v03433 .attachment-plus-btn-v0323,
.personal-message-input-line-v03433 > .btn.message-send-btn-v0323 {
  min-height: 38px;
  height: 38px;
}
@media (max-width: 720px) {
  .personal-message-input-line-v03433 {
    grid-template-columns: minmax(0, 1fr) 38px;
  }
  .personal-message-input-line-v03433 > .btn.message-send-btn-v0323 {
    grid-column: 1 / -1;
    width: 100%;
  }
}


/* v0.3.43.4: reaction menu is rendered as a body-level floating panel and must never be clipped by post panels. */
.forum-post-menu-panel-v0343.is-floating-v03434,
body > .forum-post-menu-panel-v0343.is-floating-v03434 {
  position: fixed !important;
  display: block !important;
  right: auto !important;
  bottom: auto !important;
  width: min(260px, calc(100vw - 24px)) !important;
  max-height: min(72vh, 520px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  z-index: 2147483000 !important;
  transform: none !important;
  isolation: isolate;
}
body > .forum-post-menu-panel-v0343.is-floating-v03434 .forum-reaction-grid-v0343 {
  gap: .35rem;
}
body > .forum-post-menu-panel-v0343.is-floating-v03434 .forum-reaction-btn-v0342 {
  min-width: 42px;
  padding: .42rem .5rem;
}
.gif-paste-hint-v03434 {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}
@media (max-width: 720px) {
  body > .forum-post-menu-panel-v0343.is-floating-v03434 {
    left: 12px !important;
    right: 12px !important;
    top: auto !important;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 74px) !important;
    width: auto !important;
    max-height: min(66vh, 520px) !important;
  }
}

/* v0.3.43.4+: compact GIPHY picker and singleton forum reaction popup. */
.attachment-picker-v0323 {
  grid-template-columns: repeat(2, 42px);
  width: max-content;
}

.attachment-plus-btn-v0323,
.attachment-gif-btn-v03435 {
  width: 42px;
  min-width: 42px;
  height: 42px;
}

.attachment-gif-btn-v03435 {
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.92);
  cursor: pointer;
  font-weight: 900;
  font-size: .76rem;
  letter-spacing: 0;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}

.attachment-gif-btn-v03435:hover,
.attachment-gif-btn-v03435[aria-expanded="true"] {
  border-color: rgba(225,25,45,.45);
  background: rgba(225,25,45,.13);
  transform: translateY(-1px);
}

.message-compose-row-v0323 {
  grid-template-columns: minmax(0, 1fr) 92px 108px !important;
}

.personal-message-input-line-v03433 {
  grid-template-columns: minmax(0, 1fr) 88px 104px;
}

.gif-preview-thumb-v03435 {
  overflow: hidden;
  padding: 0;
}

.gif-preview-thumb-v03435 img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gif-picker-popover-v03435 {
  position: fixed;
  z-index: 2147483000;
  width: min(330px, calc(100vw - 24px));
  max-height: min(72vh, 620px);
  padding: 10px;
  display: grid;
  gap: 9px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(16,18,24,.98);
  box-shadow: 0 18px 44px rgba(0,0,0,.42);
  overflow: auto;
}

.gif-picker-popover-v03435[hidden] {
  display: none !important;
}

.gif-picker-head-v03435 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.gif-picker-search-v03435 {
  width: 100%;
  min-height: 38px;
}

.gif-picker-status-v03435 {
  min-height: 18px;
  color: var(--muted);
  font-size: .86rem;
}

.gif-picker-status-v03435.is-loading-v03435::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 7px;
  border: 2px solid rgba(255,255,255,.18);
  border-top-color: rgba(255,255,255,.78);
  border-radius: 50%;
  vertical-align: -2px;
  animation: dm-spin-v03435 .8s linear infinite;
}

@keyframes dm-spin-v03435 {
  to { transform: rotate(360deg); }
}

.gif-picker-grid-v03435 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.gif-picker-item-v03435 {
  aspect-ratio: 1 / 1;
  padding: 0;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 8px;
  background: rgba(255,255,255,.04);
  overflow: hidden;
  cursor: pointer;
}

.gif-picker-item-v03435:hover,
.gif-picker-item-v03435:focus-visible {
  border-color: rgba(225,25,45,.55);
  outline: none;
}

.gif-picker-item-v03435 img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.gif-picker-credit-v03435 {
  color: var(--muted);
  text-align: right;
  font-size: .72rem;
}

.forum-post-menu-v0343 > .forum-post-menu-panel-v0343 {
  display: none !important;
}

.forum-post-menu-toggle-v0343.is-active-v03435 {
  border-color: rgba(225,25,45,.5);
  background: rgba(225,25,45,.16);
}

body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435 {
  width: 248px !important;
  max-height: min(66vh, 460px) !important;
  padding: .62rem !important;
  border-radius: 12px;
}

body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435[hidden] {
  display: none !important;
}

body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435 .forum-reaction-grid-v0343 {
  gap: .32rem;
}

body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435 .forum-reaction-btn-v0342 {
  min-height: 30px;
  min-width: 39px;
  padding: .36rem .46rem;
}

body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435 .forum-report-form-v0342 {
  min-width: 0;
  width: 100%;
}

@media (min-width: 769px) {
  .message-compose-row-v0323 > .attachment-picker-v0323 {
    width: 92px;
  }
}

@media (max-width: 720px) {
  .message-compose-row-v0323 {
    grid-template-columns: minmax(0, 1fr) 88px !important;
  }

  .message-compose-row-v0323 > .attachment-picker-v0323 {
    display: grid !important;
    grid-template-columns: repeat(2, 42px);
    grid-column: 2;
    grid-row: 1;
    gap: 4px;
    justify-self: end;
    width: 88px;
  }

  .message-compose-row-v0323 > .attachment-picker-v0323 .attachment-plus-btn-v0323,
  .message-compose-row-v0323 > .attachment-picker-v0323 .attachment-gif-btn-v03435 {
    grid-column: auto;
    grid-row: auto;
    width: 42px;
    min-width: 42px;
    max-width: 42px;
  }

  .personal-message-input-line-v03433 {
    grid-template-columns: minmax(0, 1fr) 88px;
  }

  .gif-picker-popover-v03435.is-mobile-v03435,
  .gif-picker-popover-v03435 {
    left: 12px !important;
    right: 12px !important;
    top: auto !important;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 84px) !important;
    width: auto;
    max-height: min(58vh, 520px);
    border-radius: 14px 14px 10px 10px;
  }

  .gif-picker-grid-v03435 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435 {
    left: 12px !important;
    right: 12px !important;
    top: auto !important;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 84px) !important;
    width: auto !important;
    max-height: min(56vh, 430px) !important;
  }
}

/* v0.3.43.7: robust singleton forum reactions popup and user action menu behavior. */
body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435 {
  pointer-events: auto;
  display: block !important;
}
body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435[hidden] {
  display: none !important;
}
.forum-post-menu-v0343 > .forum-post-menu-panel-v0343 {
  display: none !important;
}
.user-action-menu-v03231[open] .user-action-menu-list-v03231 {
  display: grid;
}
.thread-message-line-v03234 .content:empty,
.personal-message-body-row-v03233 .content:empty {
  display: none;
}

/* v0.3.43.9: forum reaction menu no longer depends on native <details>; keep the source panel hidden and use only the body-level floating copy. */
.forum-post-menu-v0343 {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.forum-post-menu-v0343 > .forum-post-menu-panel-v0343 {
  display: none !important;
}
.forum-post-menu-toggle-v0343 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
}
.forum-post-menu-toggle-v0343 span {
  min-width: 18px;
  padding: 1px 5px;
  border-radius: 999px;
  background: rgba(225, 25, 45, .22);
  font-size: .72rem;
  line-height: 1.25;
}
body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435 {
  display: block !important;
  position: fixed !important;
  z-index: 2147483000 !important;
  width: 248px !important;
  max-width: calc(100vw - 24px) !important;
  max-height: min(66vh, 460px) !important;
  overflow: auto !important;
  pointer-events: auto !important;
}
body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435[hidden] {
  display: none !important;
}
@media (max-width: 720px) {
  body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435 {
    left: 12px !important;
    right: 12px !important;
    top: auto !important;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 84px) !important;
    width: auto !important;
    max-height: min(56vh, 430px) !important;
  }
}

/* v0.3.44: прямое начисление портальной активности на игровые серверы */
.portal-daily-bonus-claim-form-v0344 {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

.portal-daily-bonus-server-select-v0344 {
  min-width: min(260px, 100%);
}

.portal-activity-server-list-v0344 {
  display: grid;
  gap: 14px;
  margin-top: 16px;
}

.portal-activity-server-card-v0344 {
  display: grid;
  gap: 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  background: rgba(255,255,255,.035);
  padding: 14px;
}

.admin-activity-direct-form-v0344 {
  display: grid;
  gap: 10px;
}

@media (max-width: 560px) {
  .portal-daily-bonus-claim-form-v0344 {
    align-items: stretch;
    flex-direction: column;
  }

  .portal-daily-bonus-claim-form-v0344 .btn,
  .portal-daily-bonus-server-select-v0344,
  .portal-daily-bonus-server-select-v0344 select {
    width: 100%;
  }
}

/* v0.3.44.1: баланс портальной активности и отдельный вывод на сервер */
.portal-activity-balance-stat-v03441 {
  border-color: rgba(255, 204, 80, .22);
  background: rgba(255, 204, 80, .06);
}

.portal-activity-withdraw-panel-v03441 {
  display: grid;
  gap: 12px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.portal-activity-withdraw-panel-v03441 h3 {
  margin: 0 0 4px;
}

.portal-activity-withdraw-form-v03441 {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

.portal-activity-withdraw-form-v03441 label {
  min-width: min(220px, 100%);
}

@media (max-width: 560px) {
  .portal-activity-withdraw-form-v03441 {
    align-items: stretch;
    flex-direction: column;
  }

  .portal-activity-withdraw-form-v03441 label,
  .portal-activity-withdraw-form-v03441 select,
  .portal-activity-withdraw-form-v03441 input,
  .portal-activity-withdraw-form-v03441 .btn {
    width: 100%;
  }
}

/* v0.3.45: просмотр игровых логов DM_Logger */
.server-log-toolbar-v0345 {
  margin-bottom: 16px;
}

.server-log-filter-form-v0345 {
  display: grid;
  grid-template-columns: 140px minmax(190px, 1.15fr) minmax(210px, 1.15fr) minmax(270px, 1.1fr) minmax(170px, 0.9fr) minmax(180px, 0.9fr) 190px;
  gap: 12px;
  align-items: end;
}

.server-log-filter-form-v0345 label,
.server-log-config-row-v0345 label {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.server-log-filter-form-v0345 select,
.server-log-filter-form-v0345 input {
  min-width: 0;
  width: 100%;
}

.server-log-date-range-v04733 {
  border: 0;
  margin: 0;
  min-inline-size: 0;
  padding: 0;
}

.server-log-date-range-v04733 legend {
  font-weight: 700;
  margin: 0 0 6px;
  padding: 0;
}

.server-log-date-range-v04733 > div {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.server-log-date-range-v04733 label {
  font-size: 0.82rem;
  gap: 4px;
}

.server-log-filter-actions-v04733 {
  align-items: end;
  display: grid;
  gap: 8px;
  grid-template-columns: 76px minmax(0, 1fr);
}

.server-log-filter-actions-v04733 .btn {
  min-height: 42px;
  white-space: nowrap;
}

.server-log-path-missing-v0345 {
  border-color: rgba(239, 68, 68, 0.45);
}

.server-log-list-panel-v0345 {
  overflow: visible;
}

.server-log-entries-v0345 {
  display: grid;
  gap: 12px;
}

.server-log-entry-v0345 {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.03);
  padding: 14px;
}

.server-log-entry-head-v0345 {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.server-log-entry-head-v0345 strong {
  display: block;
  line-height: 1.35;
}

.server-log-event-type-v049122 {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: 6px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.065);
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.server-log-player-v0345,
.server-log-position-v0345 {
  margin: 8px 0 0;
}

.server-log-links-v0345 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}

.server-log-raw-v0345 {
  margin-top: 10px;
}

.server-log-raw-v0345 pre {
  white-space: pre-wrap;
  word-break: break-word;
  max-height: 340px;
  overflow: auto;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px;
}

.server-log-config-list-v0345 {
  display: grid;
  gap: 12px;
}

.server-log-config-row-v0345 {
  display: grid;
  grid-template-columns: minmax(160px, 0.6fr) minmax(260px, 2fr) auto;
  gap: 12px;
  align-items: end;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
}

@media (max-width: 1380px) {
  .server-log-filter-form-v0345 {
    grid-template-columns: 150px minmax(230px, 1fr) minmax(240px, 1fr);
  }

  .server-log-filter-file-v04733,
  .server-log-filter-search-v04733,
  .server-log-filter-actions-v04733 {
    grid-column: span 1;
  }
}

@media (max-width: 900px) {
  .server-log-filter-form-v0345,
  .server-log-config-row-v0345 {
    grid-template-columns: 1fr;
  }

  .server-log-filter-file-v04733,
  .server-log-filter-search-v04733,
  .server-log-filter-actions-v04733 {
    grid-column: auto;
  }

  .server-log-entry-head-v0345 {
    display: grid;
  }
}

@media (max-width: 560px) {
  .server-log-date-range-v04733 > div,
  .server-log-filter-actions-v04733 {
    grid-template-columns: 1fr;
  }

  .server-log-filter-actions-v04733 .btn {
    width: 100%;
  }
}

/* v0.3.45.6 internal server map calibration and faster tile rendering */
.server-map-panel-v03453 {
  overflow: hidden;
}

.server-map-toolbar-v03453 {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 12px;
}

.server-map-layer-tabs-v03453,
.server-map-zoom-v03453 {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.server-map-viewport-v03453 {
  background: #111827;
  contain: layout paint style;
  border: 1px solid var(--line);
  border-radius: 18px;
  height: min(74vh, 820px);
  min-height: 460px;
  overflow: hidden;
  position: relative;
  touch-action: none;
  user-select: none;
}

.server-map-viewport-v03453.is-dragging {
  cursor: grabbing;
}

.server-map-tiles-v03453 {
  contain: layout paint style;
  inset: 0;
  position: absolute;
}

.server-map-tiles-v03453 img {
  background: #111827;
  height: 256px;
  image-rendering: auto;
  position: absolute;
  width: 256px;
}

.server-map-marker-v03453 {
  background: var(--accent);
  border: 3px solid #fff;
  border-radius: 999px;
  box-shadow: 0 0 0 8px rgba(239, 68, 68, 0.24), 0 12px 24px rgba(0, 0, 0, 0.35);
  height: 18px;
  pointer-events: none;
  position: absolute;
  transform: translate(-50%, -50%);
  width: 18px;
  z-index: 5;
}

.server-map-marker-v03453::after {
  background: rgba(239, 68, 68, 0.28);
  border-radius: 999px;
  content: '';
  height: 46px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 46px;
}


.server-map-empty-v03453[hidden] {
  display: none !important;
}

.server-map-empty-v03453 {
  align-items: center;
  background: rgba(15, 23, 42, 0.82);
  color: var(--muted);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 24px;
  position: absolute;
  text-align: center;
  z-index: 4;
}

.server-map-event-grid-v03453 {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.server-map-event-grid-v03453 div {
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px;
}

.server-map-event-grid-v03453 span {
  color: var(--muted);
  display: block;
  font-size: 0.82rem;
  margin-bottom: 4px;
}

.server-map-event-grid-v03453 strong {
  overflow-wrap: anywhere;
}

@media (max-width: 720px) {
  .server-map-toolbar-v03453 {
    align-items: stretch;
    flex-direction: column;
  }

  .server-map-viewport-v03453 {
    height: 62vh;
    min-height: 360px;
  }
}

/* v0.3.45.10 map location labels and tier overlay */
.server-map-overlay-tabs-v03457 {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.server-map-overlays-v03457,
.server-map-locations-v03457 {
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.server-map-overlays-v03457 {
  z-index: 2;
}

.server-map-locations-v03457 {
  z-index: 4;
}

.server-map-overlay-image-v03457 {
  height: 100%;
  object-fit: fill;
  pointer-events: none;
  position: absolute;
  user-select: none;
  width: 100%;
}

.server-map-overlay-tile-v034510 {
  image-rendering: auto;
  pointer-events: none;
  position: absolute;
  user-select: none;
}

.server-map-location-label-v03457 {
  background: rgba(12, 18, 32, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.28);
  color: #fff;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1;
  max-width: 170px;
  overflow: hidden;
  padding: 6px 9px;
  pointer-events: none;
  position: absolute;
  text-overflow: ellipsis;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.75);
  transform: translate(-50%, -50%);
  user-select: none;
  white-space: nowrap;
}

.server-map-location-label-v03457::before {
  background: #e5e7eb;
  border-radius: 999px;
  content: '';
  display: inline-block;
  height: 7px;
  margin-right: 6px;
  vertical-align: 1px;
  width: 7px;
}

.server-map-location-label-v03457.is-city::before,
.server-map-location-label-v03457.is-village::before {
  background: #9ae6b4;
}

.server-map-location-label-v03457.is-military::before {
  background: #facc15;
}

.server-map-location-label-v03457.is-custom::before {
  background: #a78bfa;
}

@media (max-width: 720px) {
  .server-map-overlay-tabs-v03457 {
    align-items: stretch;
  }

  .server-map-location-label-v03457 {
    font-size: 0.68rem;
    max-width: 135px;
    padding: 5px 7px;
  }
}

/* v0.3.45.11 inline log map and tiled tier overlay */
body:has(.server-map-page-wide-v034511) .page {
  width: min(1680px, calc(100% - 32px));
}

.server-map-page-panel-v034511 {
  padding: 22px;
}

.server-map-page-viewport-v034511 {
  height: min(82vh, 960px);
  min-height: 620px;
}

.server-log-inline-map-panel-v034511 {
  display: block;
}

.server-log-inline-map-panel-v034511 .section-head {
  margin-bottom: 14px;
}

.server-log-inline-map-viewport-v034511 {
  height: min(58vh, 620px);
  min-height: 420px;
}

.server-log-entry-v0345.has-map-coordinates-v034511 {
  cursor: pointer;
}

.server-log-entry-v0345.has-map-coordinates-v034511:hover,
.server-log-entry-v0345.is-selected-map-entry-v034511 {
  border-color: rgba(239, 68, 68, 0.72);
  box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.24), 0 16px 32px rgba(0, 0, 0, 0.24);
}

.server-map-overlay-tile-v034511 {
  height: 256px;
  image-rendering: auto;
  pointer-events: none;
  position: absolute;
  user-select: none;
  width: 256px;
}

@media (max-width: 900px) {
  .server-log-inline-map-panel-v034511 {
    display: none;
  }

  .server-map-page-viewport-v034511 {
    height: 70vh;
    min-height: 420px;
  }
}

@media (max-width: 720px) {
  body:has(.server-map-page-wide-v034511) .page {
    width: min(100% - 20px, 1680px);
  }

  .server-map-page-panel-v034511 {
    padding: 12px;
  }

  .server-map-page-viewport-v034511 {
    height: 68vh;
    min-height: 360px;
  }
}


/* v0.3.45.12 server logs two-column desktop layout */
.server-logs-workspace-v034512 {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(460px, 0.86fr) minmax(560px, 1.14fr);
}

.server-logs-list-column-v034512,
.server-logs-map-column-v034512 {
  min-width: 0;
}

.server-logs-map-column-v034512 {
  position: sticky;
  top: 84px;
}

.server-logs-map-column-v034512 .server-log-inline-map-panel-v034511 {
  margin: 0;
}

.server-logs-map-column-v034512 .section-head {
  align-items: flex-start;
  gap: 12px;
}

.server-logs-map-column-v034512 .server-log-inline-map-viewport-v034511 {
  height: min(72vh, 760px);
  min-height: 520px;
}

@media (max-width: 1180px) {
  .server-logs-workspace-v034512 {
    grid-template-columns: minmax(400px, 0.95fr) minmax(440px, 1.05fr);
  }

  .server-logs-map-column-v034512 .server-log-inline-map-viewport-v034511 {
    min-height: 460px;
  }
}

/* v0.3.49.1: отдельное окно записи и расширенная карта игровых логов */
.server-log-entry-head-actions-v0491 {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 100%;
}

.server-log-entry-head-actions-v0491 > div {
  display: grid;
  gap: 4px;
  justify-items: end;
  max-width: 100%;
}

.server-log-entry-head-actions-v0491 code {
  max-width: 100%;
  overflow-wrap: anywhere;
  text-align: right;
}

.server-log-list-panel-v0345 > .section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
}

.server-log-list-panel-v0345 > .section-head > div,
.server-log-entry-head-v0345 > div:first-child {
  min-width: 0;
}

.server-log-list-panel-v0345 > .section-head h2 {
  overflow-wrap: anywhere;
}

.server-log-popout-v0491 {
  align-items: center;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--line);
  border-radius: 10px;
  color: #fff;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 1.15rem;
  font-weight: 800;
  height: 34px;
  justify-content: center;
  line-height: 1;
  text-decoration: none;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
  width: 34px;
}

.server-log-popout-v0491:hover {
  background: rgba(239, 68, 68, 0.16);
  border-color: rgba(239, 68, 68, 0.72);
  transform: translateY(-1px);
}

.server-log-entry-page-head-v0491,
.server-log-entry-standalone-v0491 {
  margin-left: auto;
  margin-right: auto;
  max-width: 1120px;
}

.server-log-entry-summary-v0491 {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 18px;
}

.server-log-entry-summary-v0491 > div {
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid var(--line);
  border-radius: 14px;
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 12px;
}

.server-log-entry-summary-v0491 span {
  color: var(--muted);
  font-size: .82rem;
}

.server-log-entry-summary-v0491 strong {
  overflow-wrap: anywhere;
}

.server-log-entry-summary-v0491 .is-wide-v0491 {
  grid-column: 1 / -1;
}

.server-log-entry-actions-v0491 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.server-log-entry-raw-v0491 {
  margin-top: 22px;
}

.server-log-entry-raw-v0491 h3 {
  margin-bottom: 10px;
}

.server-log-entry-raw-v0491 pre {
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid var(--line);
  border-radius: 14px;
  max-height: 55vh;
  overflow: auto;
  padding: 14px;
  white-space: pre-wrap;
  word-break: break-word;
}

@media (max-width: 720px) {
  .server-log-entry-summary-v0491 {
    grid-template-columns: 1fr;
  }

  .server-log-entry-summary-v0491 .is-wide-v0491 {
    grid-column: auto;
  }

  .server-log-entry-actions-v0491 .btn {
    width: 100%;
  }
}

@media (max-width: 900px) {
  .server-logs-workspace-v034512 {
    display: block;
  }

  .server-logs-map-column-v034512 {
    position: static;
  }
}

/* v0.3.46.0: пользовательские аватары и дни рождения ветеранов. */
.profile-avatar-upload-form-v03460,
.profile-avatar-delete-form-v03460,
.profile-birthday-form-v03460 {
  border-top: 1px solid var(--line);
  padding-top: 12px;
  margin-top: 12px;
}
.profile-avatar-upload-form-v03460 input[type="file"] {
  padding: 10px;
  background: rgba(255,255,255,.04);
  border: 1px dashed var(--line);
  border-radius: 12px;
}
.profile-birthday-form-v03460 .tag {
  display: inline-flex;
  margin-top: 8px;
}
.admin-nav-birthday-v03460.has-alert {
  border-color: rgba(225,25,45,.7) !important;
  box-shadow: 0 0 0 1px rgba(225,25,45,.18), 0 0 24px rgba(225,25,45,.15);
}
.admin-nav-birthday-v03460 span {
  display: inline-flex;
  min-width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  margin-left: 6px;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font-size: 12px;
}
.admin-birthday-list-v03460 {
  display: grid;
  gap: 12px;
}
.admin-birthday-card-v03460 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.04);
}
.admin-birthday-card-v03460.is-eligible {
  border-color: rgba(245,197,66,.45);
}
.admin-birthday-user-v03460 {
  display: flex;
  gap: 12px;
  align-items: center;
  min-width: 0;
}
.admin-birthday-user-v03460 img,
.admin-birthday-user-v03460 span {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  object-fit: cover;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.08);
  font-weight: 900;
}
.admin-birthday-user-v03460 h3 {
  margin: 0 0 4px;
}
.admin-birthday-state-v03460 {
  display: grid;
  justify-items: end;
  gap: 8px;
  text-align: right;
}
.admin-birthday-edit-form-v03460 input[type="date"] {
  min-width: 145px;
}
@media (max-width: 760px) {
  .admin-birthday-card-v03460 {
    grid-template-columns: 1fr;
  }
  .admin-birthday-state-v03460 {
    justify-items: start;
    text-align: left;
  }
}

/* v0.3.46.1: настройки профиля вынесены под отдельную кнопку в карточке профиля */
.profile-overview-actions-v03461 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}
.profile-settings-panel-v03461[hidden] {
  display: none !important;
}
.profile-settings-panel-v03461.is-open {
  animation: profileSettingsRevealV03461 .18s ease-out;
}
.profile-settings-panel-v03461 .section-head {
  align-items: start;
  gap: 14px;
}
.profile-settings-panel-v03461 .section-head > .btn {
  flex: 0 0 auto;
}
@keyframes profileSettingsRevealV03461 {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 720px) {
  .profile-overview-actions-v03461 .btn,
  .profile-settings-panel-v03461 .section-head > .btn {
    width: 100%;
  }
}

/* v0.3.46.2: настройки профиля на отдельной странице и компактный профиль */
.profile-overview-panel-v03462 {
  position: relative;
}
.profile-overview-panel-v03462 .profile-overview-actions-v03461 {
  position: absolute;
  top: 16px;
  right: 16px;
  margin: 0;
  z-index: 2;
}
.profile-overview-panel-v03462 .profile-main {
  padding-right: 180px;
}
.profile-settings-layout-v03462 {
  width: min(1180px, calc(100vw - 32px));
  margin: 0 auto 36px;
}
.profile-settings-page-v03462 {
  margin: 0;
}
.profile-layout-three-v0310 .profile-messages-panel-v0310,
.profile-layout-three-v0310 .profile-tickets-panel-v0310,
.profile-layout-three-v0310 .profile-favorites-panel-v0310,
.profile-layout-three-v0310 .profile-activity-panel-v0322 {
  padding: 14px;
}
.profile-layout-three-v0310 .profile-messages-panel-v0310 .section-head,
.profile-layout-three-v0310 .profile-tickets-panel-v0310 .section-head,
.profile-layout-three-v0310 .profile-favorites-panel-v0310 .section-head,
.profile-layout-three-v0310 .profile-activity-panel-v0322 .section-head {
  margin-bottom: 9px;
  gap: 8px;
}
.profile-layout-three-v0310 .profile-messages-panel-v0310 .section-head h2,
.profile-layout-three-v0310 .profile-tickets-panel-v0310 .section-head h2,
.profile-layout-three-v0310 .profile-favorites-panel-v0310 .section-head h2,
.profile-layout-three-v0310 .profile-activity-panel-v0322 .section-head h2 {
  margin-bottom: 0;
}
.portal-profile-activity-summary-v03462,
.profile-activity-panel-v0322 .portal-profile-activity-summary-v0341 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.portal-activity-withdraw-panel-v03462 {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
}
.portal-activity-withdraw-form-v03462 {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(150px, .7fr) auto;
  gap: 12px;
  align-items: end;
  margin-top: 12px;
}
.portal-activity-withdraw-form-v03462 label {
  display: grid;
  gap: 7px;
  color: rgba(255,255,255,.86);
  font-size: 13px;
}
.portal-activity-withdraw-form-v03462 select,
.portal-activity-withdraw-form-v03462 input[type="number"] {
  min-height: 44px;
  width: 100%;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(0,0,0,.22);
  color: rgba(255,255,255,.94);
  padding: 0 13px;
  outline: none;
  box-sizing: border-box;
}
.portal-activity-withdraw-form-v03462 select:focus,
.portal-activity-withdraw-form-v03462 input[type="number"]:focus {
  border-color: rgba(255,74,96,.42);
  box-shadow: 0 0 0 3px rgba(255,74,96,.12);
}
.portal-activity-withdraw-form-v03462 .btn {
  min-height: 44px;
  justify-content: center;
  white-space: nowrap;
}
@media (max-width: 900px) {
  .profile-overview-panel-v03462 .profile-overview-actions-v03461 {
    position: static;
    margin-top: 12px;
  }
  .profile-overview-panel-v03462 .profile-main {
    padding-right: 0;
  }
  .portal-activity-withdraw-form-v03462 {
    grid-template-columns: 1fr;
  }
  .portal-activity-withdraw-form-v03462 .btn {
    width: 100%;
  }
}
@media (max-width: 560px) {
  .profile-settings-layout-v03462 {
    width: 100%;
  }
  .profile-activity-panel-v0322 .portal-profile-activity-summary-v0341 {
    grid-template-columns: 1fr;
  }
}

/* v0.3.47.6 — fixed news desktop density and stable cover aspect. */
@media (min-width: 1041px) {
  .news-lead-card-v0330.no-cover-v0475 {
    display: block;
    min-height: 0;
    padding: 20px 22px;
  }
  .news-lead-card-v0330.no-cover-v0475 .news-lead-content-v0475 {
    width: 100%;
    max-width: none;
  }
  .news-lead-card-v0330.no-cover-v0475 h2 {
    max-width: none;
    font-size: clamp(30px, 2.2vw, 42px);
    -webkit-line-clamp: 2;
  }
  .news-lead-card-v0330.no-cover-v0475 p {
    max-width: none;
    width: min(100%, 1180px);
    -webkit-line-clamp: 3;
  }
  .news-lead-card-v0330.no-cover-v0475 .news-lead-actions-v0330 {
    margin-top: 14px;
  }
}
.news-card-v0330.has-cover-v0475 {
  min-height: 176px;
  background:
    linear-gradient(90deg, rgba(8,8,12,.97) 0%, rgba(8,8,12,.9) 42%, rgba(8,8,12,.66) 68%, rgba(8,8,12,.38) 100%),
    var(--news-card-bg) center center / cover no-repeat,
    rgba(255,255,255,.035);
}
.news-card-v0330.has-cover-v0475::before {
  background:
    linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.32)),
    radial-gradient(circle at 86% 20%, rgba(255,255,255,.08), transparent 26%);
}
.news-card-v0330.has-cover-v0475 .channel-card-body {
  max-width: min(620px, 72%);
}
.article-cover-frame-v0476 {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 5;
  max-height: 420px;
  min-height: 220px;
  margin: 0 0 22px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(0,0,0,.28);
}
.article-cover-frame-v0476 .article-cover,
.article-cover-frame-v0476 .article-cover-v029,
.article-cover-frame-v0476 .article-cover-v0330 {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  margin: 0;
  border: 0;
  border-radius: 0;
  object-fit: cover;
  object-position: center;
}
@media (max-width: 760px) {
  .article-cover-frame-v0476 {
    aspect-ratio: 16 / 7;
    min-height: 160px;
    max-height: 280px;
    border-radius: 14px;
  }
  .news-card-v0330.has-cover-v0475 {
    background:
      linear-gradient(180deg, rgba(10,10,15,.92) 0%, rgba(10,10,15,.84) 58%, rgba(10,10,15,.72) 100%),
      var(--news-card-bg) center center / cover no-repeat,
      rgba(255,255,255,.035);
  }
}

/* v0.3.47.7 — фоновые изображения карточек разделов форума */
.v029-forum-card.has-category-bg-v0477 {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-color: rgba(255, 255, 255, .16);
  background:
    linear-gradient(135deg, rgba(25, 26, 35, .92), rgba(8, 9, 13, .86));
}

.v029-forum-card.has-category-bg-v0477::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: var(--forum-category-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1.02);
  filter: saturate(1.04) contrast(1.04);
}

.v029-forum-card.has-category-bg-v0477::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 20% 15%, rgba(219, 20, 40, .22), transparent 42%),
    linear-gradient(110deg, rgba(9, 10, 15, .94) 0%, rgba(9, 10, 15, .82) 48%, rgba(9, 10, 15, .58) 100%);
}

.v029-forum-card.has-category-bg-v0477 h2,
.v029-forum-card.has-category-bg-v0477 p,
.v029-forum-card.has-category-bg-v0477 .latest-topic,
.v029-forum-card.has-category-bg-v0477 .latest-topic b,
.v029-forum-card.has-category-bg-v0477 .forum-stats span {
  text-shadow: 0 2px 14px rgba(0, 0, 0, .64);
}

.v029-forum-card.has-category-bg-v0477 .forum-card-icon,
.v029-forum-card.has-category-bg-v0477 .tag,
.v029-forum-card.has-category-bg-v0477 .forum-stats span {
  background: rgba(8, 9, 13, .62);
  backdrop-filter: blur(8px);
}

.forum-category-bg-remove-v0477 {
  align-self: end;
}

/* v0.3.47.9 — широкая админ-панель редактирования разделов форума на ПК */
@media (min-width: 1100px) {
  .forum-category-admin-panel-v034011 {
    max-width: min(1600px, calc(100vw - 96px));
    margin-left: auto;
    margin-right: auto;
  }

  .forum-category-admin-panel-v034011 .section-head {
    align-items: flex-start;
  }

  .forum-category-form-v034011 {
    grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) 140px 170px;
    align-items: end;
  }

  .forum-category-admin-list-v034011 {
    gap: 16px;
  }

  .forum-category-edit-row-v034011 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 170px;
    align-items: stretch;
    gap: 18px;
    padding: 22px;
  }

  .forum-category-edit-main-v034011 {
    display: grid;
    grid-template-columns: 110px minmax(220px, 1fr) minmax(190px, .85fr) 140px;
    align-items: end;
    gap: 14px;
    width: 100%;
  }

  .forum-category-edit-main-v034011 label {
    min-width: 0;
  }

  .forum-category-edit-main-v034011 input,
  .forum-category-edit-main-v034011 textarea {
    width: 100%;
  }

  .forum-category-description-v034011 {
    grid-column: span 2;
  }

  .forum-category-edit-main-v034011 label:has(input[name="backgroundImage"]) {
    grid-column: span 2;
  }

  .forum-category-edit-main-v034011 label:has(input[name="backgroundImageFile"]) {
    grid-column: span 2;
  }

  .forum-category-private-v034011,
  .forum-category-bg-remove-v0477 {
    align-self: center;
  }

  .forum-category-edit-row-v034011 .topic-meta.actions-cell {
    min-width: 150px;
    justify-items: end;
    align-content: center;
  }

  .forum-category-edit-row-v034011 .topic-meta.actions-cell .btn {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 1099px) {
  .forum-category-edit-main-v034011 {
    flex-wrap: wrap;
    align-items: stretch;
  }

  .forum-category-edit-main-v034011 label {
    min-width: min(100%, 240px);
    flex: 1 1 240px;
  }
}

/* v0.3.47.12 — База знаний: плотные одинаковые карточки /articles на ПК. */
@media (min-width: 981px) {
  .articles-grid-v0396 {
    grid-auto-rows: 1fr;
    align-items: stretch;
  }

  .article-card-v0396 {
    position: relative;
    overflow: hidden;
    min-height: 286px;
    height: 100%;
    padding: 0 !important;
    align-items: stretch;
    background:
      radial-gradient(circle at 100% 0%, rgba(225,25,45,.10), transparent 34%),
      linear-gradient(135deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
  }

  .article-card-v0396.has-cover-v04712 {
    grid-template-columns: minmax(150px, 38%) minmax(0, 1fr);
    gap: 0;
  }

  .article-card-v0396.no-cover-v04712 {
    grid-template-columns: 1fr;
  }

  .article-card-v0396 .article-card-cover-link-v04712 {
    position: relative;
    display: block;
    min-height: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: inherit;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  .article-card-v0396 .article-card-cover-link-v04712::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
      linear-gradient(90deg, rgba(0,0,0,.08), rgba(0,0,0,.34)),
      linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.38));
    pointer-events: none;
  }

  .article-card-v0396 .card-cover.article-card-cover-v04712 {
    display: block;
    width: 100%;
    height: 100% !important;
    max-height: none !important;
    min-height: 286px;
    margin: 0;
    border: 0;
    border-radius: 0;
    object-fit: cover;
    object-position: center;
    transform: none;
  }

  .article-card-v0396 .channel-card-body {
    min-width: 0;
    height: 100%;
    min-height: 286px;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto auto auto;
    gap: 9px;
    padding: 18px;
  }

  .article-card-v0396.has-cover-v04712 .channel-card-body {
    padding: 16px 16px 14px;
  }

  .article-card-v0396.no-cover-v04712 .channel-card-body {
    padding: 20px;
  }

  .article-card-v0396 .channel-card-meta {
    min-width: 0;
    align-items: flex-start;
  }

  .article-card-v0396 h3 {
    margin: 0;
    font-size: clamp(18px, 1.35vw, 24px);
    line-height: 1.1;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  .article-card-v0396 p {
    margin: 0;
    color: rgba(235,235,240,.78);
    line-height: 1.38;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
  }

  .article-card-v0396.has-cover-v04712 p {
    -webkit-line-clamp: 4;
  }

  .article-tags-v0396,
  .article-scope-v0396 {
    min-width: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    max-height: 58px;
    overflow: hidden;
  }

  .article-card-v0396 .card-bottom-row {
    margin-top: 2px;
    padding-top: 10px;
    border-top: 1px solid rgba(255,255,255,.08);
    align-self: end;
  }

  .article-card-v0396 .card-rank {
    top: 12px;
    right: 12px;
    z-index: 5;
  }
}

@media (min-width: 1480px) {
  .article-card-v0396 {
    min-height: 300px;
  }

  .article-card-v0396 .channel-card-body,
  .article-card-v0396 .card-cover.article-card-cover-v04712 {
    min-height: 300px;
  }
}

@media (max-width: 980px) {
  .article-card-v0396 .article-card-cover-link-v04712 {
    display: block;
  }
}

/* v0.3.47.13 — База знаний: фильтр/навигация в левом столбце, обложки карточек сверху, единый формат обложек. */
@media (min-width: 981px) {
  .articles-layout-v04713 {
    align-items: start;
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(270px, 320px) minmax(0, 1fr) !important;
  }

  .articles-left-column-v04713 {
    display: grid;
    gap: 14px;
    min-width: 0;
    position: sticky;
    top: 92px;
  }

  .articles-toolbar-side-v04713 {
    margin: 0;
    padding: 18px;
  }

  .articles-toolbar-side-v04713 .mobile-sheet-backdrop-v0401,
  .articles-toolbar-side-v04713 .mobile-sheet-head-v0401 {
    display: none;
  }

  .articles-toolbar-side-v04713 .mobile-sheet-panel-v0401,
  .articles-toolbar-side-v04713 .articles-filter-panel-v0401 {
    background: transparent;
    border: 0;
    box-shadow: none;
    height: auto;
    max-height: none;
    min-height: 0;
    padding: 0;
    position: static;
    transform: none;
    width: auto;
  }

  .articles-toolbar-side-v04713 .articles-filter-form-v0396 {
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr;
  }

  .articles-toolbar-side-v04713 .articles-filter-actions-v0396 {
    display: grid;
    grid-template-columns: 1fr;
  }

  .articles-toolbar-side-v04713 .articles-filter-actions-v0396 .btn {
    width: 100%;
    justify-content: center;
  }

  .articles-nav-panel-v04713 {
    margin: 0;
    padding: 18px;
    position: static !important;
  }

  .articles-nav-panel-v04713 .side-chip-list {
    display: grid;
    gap: 8px;
  }

  .articles-nav-panel-v04713 .side-chip {
    justify-content: flex-start;
    width: 100%;
  }

  .articles-grid-v0396 {
    align-items: stretch;
    grid-auto-rows: 1fr;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  }

  .article-card-v0396 {
    display: grid;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(0, 1fr);
    min-height: 390px;
    overflow: hidden;
    padding: 0 !important;
  }

  .article-card-v0396.has-cover-v04712 {
    min-height: 440px;
  }

  .article-card-v0396.no-cover-v04712 {
    grid-template-rows: minmax(0, 1fr);
  }

  .article-card-v0396 .article-card-cover-link-v04712 {
    aspect-ratio: 16 / 9;
    border-radius: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .10);
    display: block;
    height: auto;
    min-height: 0;
    overflow: hidden;
    position: relative;
    width: 100%;
  }

  .article-card-v0396 .article-card-cover-link-v04712::after {
    background:
      linear-gradient(180deg, rgba(5, 6, 10, 0) 0%, rgba(5, 6, 10, .44) 100%),
      radial-gradient(circle at 50% 0%, rgba(225,25,45,.16), transparent 54%);
    content: '';
    inset: 0;
    pointer-events: none;
    position: absolute;
  }

  .article-card-v0396 .card-cover.article-card-cover-v04712 {
    aspect-ratio: 16 / 9;
    border: 0;
    border-radius: 0;
    display: block;
    height: 100% !important;
    margin: 0;
    max-height: none !important;
    min-height: 0 !important;
    object-fit: cover;
    object-position: center;
    width: 100%;
  }

  .article-card-v0396 .channel-card-body {
    display: grid;
    gap: 9px;
    grid-template-rows: auto auto minmax(0, 1fr) auto auto auto;
    min-height: 0;
    padding: 18px !important;
  }

  .article-card-v0396.no-cover-v04712 .channel-card-body {
    min-height: 390px;
  }

  .article-card-v0396 h3 {
    font-size: clamp(20px, 1.18vw, 25px);
    line-height: 1.08;
  }

  .article-card-v0396 p {
    -webkit-line-clamp: 5;
    line-height: 1.42;
  }

  .article-card-v0396.has-cover-v04712 p {
    -webkit-line-clamp: 4;
  }
}

.article-cover-frame-v04713 {
  aspect-ratio: 16 / 9;
  border: 1px solid var(--line);
  border-radius: 18px;
  margin: 0 0 22px;
  max-height: 560px;
  overflow: hidden;
  position: relative;
  width: 100%;
  background: rgba(255, 255, 255, .035);
}

.article-cover-frame-v04713 .article-cover-v04713,
.article-cover-frame-v04713 .article-cover-v029,
.article-cover-frame-v04713 .article-cover {
  border: 0;
  border-radius: 0;
  display: block;
  height: 100%;
  margin: 0;
  max-height: none;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

@media (max-width: 980px) {
  .articles-left-column-v04713 {
    display: block;
  }

  .articles-nav-panel-v04713 {
    margin-bottom: 18px;
  }

  .article-card-v0396 .article-card-cover-link-v04712 {
    aspect-ratio: 16 / 9;
  }

  .article-card-v0396 .card-cover.article-card-cover-v04712 {
    aspect-ratio: 16 / 9;
    height: auto !important;
    min-height: 0;
    object-fit: cover;
  }

  .article-cover-frame-v04713 {
    border-radius: 14px;
    margin-bottom: 18px;
  }
}

/* v0.3.47.19: owner-only storage diagnostics */
.diagnostics-stats-v04719 .panel {
  display: grid;
  gap: 5px;
  min-height: 122px;
}

.diagnostics-stats-v04719 .panel.is-warning {
  border-color: rgba(235, 173, 46, .72);
  box-shadow: 0 0 0 1px rgba(235, 173, 46, .12) inset;
}

.diagnostics-stats-v04719 .panel small,
.diagnostics-log-grid-v04719 small,
.diagnostics-file-list-v04719 small {
  color: var(--muted);
}

.diagnostics-panel-v04719 {
  margin-top: 18px;
}

.section-head-v04719 {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.section-head-v04719 h2,
.diagnostics-panel-v04719 > h2 {
  margin-top: 0;
}

.section-head-v04719 p {
  margin-bottom: 0;
}

.diagnostics-filter-v04719 {
  align-items: end;
  display: flex;
  flex-shrink: 0;
  gap: 10px;
}

.diagnostics-filter-v04719 label {
  display: grid;
  font-size: 13px;
  gap: 5px;
}

.diagnostics-filter-v04719 input {
  max-width: 112px;
}

.diagnostics-file-list-v04719 {
  display: grid;
  gap: 9px;
  margin-top: 18px;
}

.diagnostics-file-list-v04719 article,
.diagnostics-log-grid-v04719 article {
  align-items: center;
  background: rgba(255, 255, 255, .025);
  border: 1px solid var(--line);
  border-radius: 12px;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 12px 14px;
}

.diagnostics-file-list-v04719 article > div,
.diagnostics-log-grid-v04719 article {
  min-width: 0;
}

.diagnostics-file-list-v04719 strong {
  display: block;
  overflow-wrap: anywhere;
}

.diagnostics-file-list-v04719 small {
  display: block;
  margin-top: 4px;
}

.diagnostics-log-grid-v04719 {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 16px;
}

.diagnostics-log-grid-v04719 article {
  align-items: flex-start;
  flex-direction: column;
}

@media (max-width: 760px) {
  .section-head-v04719,
  .diagnostics-filter-v04719 {
    align-items: stretch;
    flex-direction: column;
  }

  .diagnostics-filter-v04719 input {
    max-width: none;
  }

  .diagnostics-log-grid-v04719 {
    grid-template-columns: 1fr;
  }
}

/* v0.3.47.26 — голос сохраняется между страницами, а действия участника
   рендерятся в отдельном верхнем слое, чтобы не обрезаться колонкой канала. */
.voice-member-menu-layer-v04726 {
  position: fixed;
  z-index: 12050;
  inset: 0;
  pointer-events: none;
}
.voice-member-menu-layer-v04726 .voice-member-menu-panel-v0333 {
  pointer-events: auto;
}
.portal-voice-overlay-v04726 {
  position: fixed;
  z-index: 1200;
  right: 18px;
  bottom: 18px;
  width: min(360px, calc(100vw - 36px));
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(225,25,45,.4);
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(49,18,25,.97), rgba(19,21,29,.98));
  box-shadow: 0 16px 48px rgba(0,0,0,.48);
  backdrop-filter: blur(14px);
}
.portal-voice-overlay-v04726[hidden] {
  display: none !important;
}
.portal-voice-overlay-main-v04726 {
  display: grid;
  min-width: 0;
  gap: 2px;
  color: var(--text);
  text-decoration: none;
}
.portal-voice-overlay-main-v04726 > span {
  color: #ff6275;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
}
.portal-voice-overlay-main-v04726 strong,
.portal-voice-overlay-main-v04726 small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.portal-voice-overlay-main-v04726 strong {
  font-size: 14px;
}
.portal-voice-overlay-main-v04726 small {
  color: var(--muted);
  font-size: 11px;
}
.portal-voice-overlay-actions-v04726 {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: 5px;
}
.portal-voice-overlay-actions-v04726 button {
  min-height: 31px;
  padding: 6px 8px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 9px;
  background: rgba(255,255,255,.07);
  color: var(--text);
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

/* v0.3.47.28 — parked /voice остаётся в DOM при переходе по разделам.
   display:none не останавливает WebRTC и AudioContext, но не даёт скрытой
   странице влиять на высоту документа или доступность. */
.dm-voice-page-parking-v04728[hidden] {
  display: none !important;
}
html.is-voice-soft-navigating-v04728 main.page {
  opacity: .72;
  pointer-events: none;
  transition: opacity .12s ease;
}

/* v0.3.47.36 — центр личных уведомлений. */
.profile-notification-center-v04736 {
  display: grid;
  gap: 18px;
}
.profile-notification-list-v04736 {
  display: grid;
  gap: 10px;
}
.profile-notification-item-v04736 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  background: rgba(255,255,255,.025);
}
.profile-notification-item-v04736.is-unread {
  border-color: rgba(225,25,45,.46);
  background: linear-gradient(135deg, rgba(225,25,45,.1), rgba(255,255,255,.025));
  box-shadow: inset 3px 0 0 rgba(225,25,45,.9);
}
.profile-notification-item-v04736.is-muted-category {
  opacity: .7;
}
.profile-notification-copy-v04736 {
  min-width: 0;
}
.profile-notification-copy-v04736 h3,
.profile-notification-copy-v04736 p {
  margin: 8px 0 0;
  overflow-wrap: anywhere;
}
.profile-notification-meta-v04736,
.profile-notification-actions-v04736 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.profile-notification-actions-v04736 {
  justify-content: flex-end;
}
.profile-notification-unread-v04736 {
  color: #ff7585;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.profile-notification-empty-v04736 {
  padding: 28px;
  border: 1px dashed rgba(255,255,255,.13);
  border-radius: 14px;
  text-align: center;
}
.profile-notification-empty-v04736 p {
  margin-bottom: 0;
}
@media (max-width: 680px) {
  .profile-notification-item-v04736 {
    grid-template-columns: 1fr;
  }
  .profile-notification-actions-v04736 {
    justify-content: flex-start;
  }
}
.portal-voice-overlay-actions-v04726 button[aria-pressed="true"] {
  border-color: rgba(225,25,45,.52);
  background: rgba(225,25,45,.22);
}
.portal-voice-overlay-actions-v04726 button:hover {
  background: rgba(255,255,255,.13);
}
@media (max-width: 980px) {
  .portal-voice-overlay-v04726 {
    right: 10px;
    bottom: max(74px, calc(12px + env(safe-area-inset-bottom)));
    left: 10px;
    width: auto;
  }
}
@media (max-width: 560px) {
  .portal-voice-overlay-v04726 {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .portal-voice-overlay-actions-v04726 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .portal-voice-overlay-actions-v04726 button {
    min-width: 0;
    padding: 7px 4px;
    font-size: 10px;
  }
}

/* v0.3.47.39 final cascade overrides. */
.forum-topic-newest-first .v029-post-card.panel,
.personal-messages-list .personal-message.panel {
  position: relative;
  padding-right: 48px;
  overflow: visible;
}
.message-overflow-actions-v04739 {
  position: absolute;
  top: 7px;
  right: 7px;
  z-index: 12;
  width: auto;
  margin: 0 !important;
}
.message-overflow-actions-v04739 .forum-post-menu-toggle-v0343 {
  min-width: 28px;
  min-height: 25px;
  height: 25px;
  padding: 2px 6px;
  justify-content: center;
  border-radius: 7px;
  font-size: 11px;
  line-height: 1;
}
.message-overflow-actions-v04739 .forum-post-menu-toggle-v0343 span {
  min-width: 15px;
  height: 15px;
  font-size: 9px;
}
body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435 {
  box-sizing: border-box;
  width: 360px !important;
  max-height: min(72vh, 620px) !important;
  padding: 10px !important;
  overflow-x: hidden;
  overflow-y: auto;
}
body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435 .forum-reaction-popover-v0343 {
  display: grid;
  gap: 8px;
}
body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435 .reaction-catalog-grid-v04739 {
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 4px;
}
body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435 .forum-reaction-btn-v0342 {
  min-width: 0;
  width: 100%;
  min-height: 31px;
  height: 31px;
  padding: 2px;
  gap: 1px;
  border-radius: 7px;
}
body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435 .forum-reaction-btn-v0342 > span { font-size: 16px; }
body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435 .forum-reaction-btn-v0342 > b { font-size: 8px; }
.reaction-custom-form-v04739 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  margin: 0;
}
.reaction-custom-form-v04739 input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 31px;
  padding: 5px 8px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  background: rgba(0,0,0,.2);
  color: var(--text);
  font: inherit;
  font-size: 12px;
}
.reaction-custom-form-v04739 .btn {
  min-height: 31px;
  padding: 5px 8px;
  font-size: 11px;
}
.thread-menu-admin-action-v04739 {
  margin: 8px 0 0;
  padding-top: 7px;
  border-top: 1px solid rgba(255,255,255,.09);
}
.thread-menu-admin-action-v04739 .user-action-menu-item-v03231 {
  width: 100%;
  min-height: 29px;
  padding: 6px 8px;
  border-radius: 7px;
  font-size: 11px;
}
.ticket-reply-panel-top-v0362.panel {
  margin-bottom: 6px;
  padding: 6px 8px;
}
.ticket-reply-panel-top-v0362 .form,
.ticket-reply-panel-top-v0362 .message-compose-row-v0323 { gap: 5px; }
.ticket-reply-panel-top-v0362 .message-compose-row-v0323 {
  grid-template-columns: minmax(0, 1fr) 72px 94px;
  align-items: stretch;
}
.ticket-reply-panel-top-v0362 textarea {
  min-height: 34px !important;
  height: 34px;
  padding: 7px 9px;
}
.ticket-reply-panel-top-v0362 .attachment-picker-v0323,
.ticket-reply-panel-top-v0362 .message-send-btn-v0323 { min-height: 34px; }
.ticket-reply-panel-top-v0362 .attachment-picker-v0323 {
  width: 72px;
  grid-template-columns: repeat(2, 34px);
}
.ticket-reply-panel-top-v0362 .attachment-plus-btn-v0323,
.ticket-reply-panel-top-v0362 .attachment-gif-btn-v03435,
.ticket-reply-panel-top-v0362 .message-send-btn-v0323 {
  min-width: 0;
  min-height: 34px;
  height: 34px;
  padding: 5px 7px;
  font-size: 11px;
}
.ticket-message-menu-v04738 { top: 6px; right: 6px; }
.ticket-message-menu-v04738 .user-action-menu-toggle-v03231 {
  min-width: 27px;
  width: 27px;
  min-height: 24px;
  height: 24px;
  padding: 1px 5px;
  border-radius: 7px;
  font-size: 10px;
}
.ticket-message-menu-v04738 .user-action-menu-list-v03231 {
  min-width: 154px;
  padding: 5px;
}
.ticket-message-menu-v04738 .user-action-menu-item-v03231 {
  min-height: 28px;
  padding: 6px 8px;
  font-size: 11px;
}
@media (max-width: 720px) {
  body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435 {
    width: calc(100vw - 24px) !important;
  }
  .ticket-reply-panel-top-v0362 .message-compose-row-v0323 {
    grid-template-columns: minmax(0, 1fr) 72px 82px !important;
  }
  .ticket-reply-panel-top-v0362 .message-compose-row-v0323 > .attachment-picker-v0323 {
    grid-column: 2;
    grid-row: 1;
    width: 72px;
    grid-template-columns: repeat(2, 34px);
  }
  .ticket-reply-panel-top-v0362 .message-compose-row-v0323 > .message-send-btn-v0323 {
    grid-column: 3;
    grid-row: 1;
  }
}


/* v0.3.47.42: safe forum-topic rename and permanent deletion controls. */
.forum-topic-admin-details-v04742 {
  position: relative;
  width: min(100%, 330px);
  margin-top: 6px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  background: rgba(255,255,255,.035);
}

.forum-topic-admin-details-v04742 > summary {
  padding: 7px 9px;
  color: #fff;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
  user-select: none;
}

.forum-topic-admin-details-v04742[open] > summary {
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.forum-topic-inline-rename-v04742 {
  margin-top: 10px;
}

.forum-topic-rename-form-v04742,
.forum-topic-delete-form-v04742 {
  display: grid;
  gap: 8px;
  padding: 10px;
}

.forum-topic-rename-form-v04742 label,
.forum-topic-delete-form-v04742 label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
}

.forum-topic-rename-form-v04742 input,
.forum-topic-delete-form-v04742 input[type="text"],
.forum-topic-delete-form-v04742 input:not([type]) {
  width: 100%;
  min-width: 0;
}

.forum-topic-delete-details-v04742 {
  border-color: rgba(225,25,45,.32);
  background: rgba(225,25,45,.065);
}

.forum-topic-delete-details-v04742 > summary {
  color: #ff7886;
}

.forum-topic-delete-form-v04742 p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.forum-topic-delete-form-v04742 strong {
  color: #fff;
  overflow-wrap: anywhere;
}

.forum-topic-delete-confirm-v04742 {
  display: flex !important;
  align-items: flex-start;
  grid-template-columns: none !important;
}

@media (max-width: 760px) {
  .forum-topic-admin-details-v04742 {
    width: 100%;
  }
}
/* v0.3.47.40: compact, on-demand emoji picker for forum, personal messages and tickets. */
body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435 {
  width: 260px !important;
  max-height: min(62vh, 430px) !important;
  padding: 8px !important;
}

body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435 .forum-reaction-popover-v0343 {
  gap: 6px;
}

.message-reaction-current-v04740 {
  display: flex !important;
  flex-wrap: wrap;
  gap: 5px !important;
}

.message-reaction-current-v04740:empty {
  display: none !important;
}

body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435 .message-reaction-current-v04740 .forum-reaction-btn-v0342 {
  width: auto;
  min-width: 42px;
  height: 30px;
  min-height: 30px;
  padding: 3px 7px;
}

.message-reaction-picker-toggle-v04740 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 100%;
  min-height: 31px;
  padding: 5px 8px;
  border-radius: 8px;
  font-size: 11px;
}

.message-reaction-picker-toggle-v04740 > span {
  font-size: 15px;
}

.message-emoji-picker-v04740 {
  position: fixed;
  z-index: 2147483001;
  box-sizing: border-box;
  display: grid;
  gap: 8px;
  width: min(340px, calc(100vw - 24px));
  max-height: min(68vh, 470px);
  padding: 10px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  background: rgba(15,17,23,.985);
  color: var(--text);
  box-shadow: 0 20px 54px rgba(0,0,0,.55);
}

.message-emoji-picker-v04740[hidden] {
  display: none !important;
}

.message-emoji-picker-head-v04740 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.message-emoji-picker-head-v04740 strong {
  font-size: 13px;
}

.message-emoji-close-v04740 {
  display: inline-grid;
  place-items: center;
  width: 27px;
  height: 27px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  background: rgba(255,255,255,.06);
  color: var(--text);
  cursor: pointer;
  font: inherit;
  font-size: 18px;
}

.message-emoji-search-v04740,
.message-emoji-custom-v04740 input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 34px;
  padding: 6px 9px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 9px;
  outline: none;
  background: rgba(0,0,0,.22);
  color: var(--text);
  font: inherit;
  font-size: 12px;
}

.message-emoji-search-v04740:focus,
.message-emoji-custom-v04740 input:focus {
  border-color: rgba(229,57,53,.55);
  box-shadow: 0 0 0 2px rgba(229,57,53,.12);
}

.message-emoji-categories-v04740 {
  display: grid;
  grid-template-columns: 1.5fr repeat(5, 1fr);
  gap: 4px;
}

.message-emoji-categories-v04740 button,
.message-emoji-choice-v04740 {
  display: inline-grid;
  place-items: center;
  min-width: 0;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.045);
  color: var(--text);
  cursor: pointer;
  font: inherit;
}

.message-emoji-categories-v04740 button {
  height: 29px;
  padding: 3px;
  border-radius: 8px;
  font-size: 12px;
}

.message-emoji-categories-v04740 button.active,
.message-emoji-choice-v04740.active,
.message-emoji-categories-v04740 button:hover,
.message-emoji-choice-v04740:hover {
  border-color: rgba(229,57,53,.46);
  background: rgba(229,57,53,.14);
}

.message-emoji-grid-v04740 {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 4px;
  min-height: 74px;
  max-height: 190px;
  padding-right: 2px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.message-emoji-choice-v04740 {
  aspect-ratio: 1;
  min-height: 34px;
  padding: 2px;
  border-radius: 8px;
  font-size: 19px;
  line-height: 1;
}

.message-emoji-empty-v04740 {
  grid-column: 1 / -1;
  align-self: center;
  margin: 0;
  padding: 12px 4px;
  text-align: center;
  font-size: 11px;
}

.message-emoji-custom-v04740 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
}

.message-emoji-custom-v04740 .btn {
  min-height: 34px;
  padding: 5px 9px;
  font-size: 11px;
}

.message-emoji-platform-hint-v04740 {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
}

.attachment-picker-v0323 {
  grid-template-columns: repeat(3, 32px) !important;
  gap: 4px !important;
  width: 104px !important;
}

.attachment-emoji-btn-v04740,
.attachment-picker-v0323 .attachment-plus-btn-v0323,
.attachment-picker-v0323 .attachment-gif-btn-v03435 {
  box-sizing: border-box;
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  height: 38px;
  min-height: 38px;
  padding: 2px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 10px;
  background: rgba(255,255,255,.055);
  color: rgba(255,255,255,.94);
}

.attachment-emoji-btn-v04740 {
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  font: inherit;
  font-size: 17px;
}

.attachment-emoji-btn-v04740:hover,
.attachment-emoji-btn-v04740[aria-expanded="true"] {
  border-color: rgba(225,25,45,.45);
  background: rgba(225,25,45,.13);
}

.message-compose-row-v0323 {
  grid-template-columns: minmax(0, 1fr) 104px 108px !important;
}

.personal-message-input-line-v03433 {
  grid-template-columns: minmax(0, 1fr) 104px 104px;
}

.ticket-reply-panel-top-v0362 .message-compose-row-v0323 {
  grid-template-columns: minmax(0, 1fr) 98px 94px !important;
}

.ticket-reply-panel-top-v0362 .attachment-picker-v0323 {
  grid-template-columns: repeat(3, 30px) !important;
  gap: 4px !important;
  width: 98px !important;
}

.ticket-reply-panel-top-v0362 .attachment-emoji-btn-v04740,
.ticket-reply-panel-top-v0362 .attachment-plus-btn-v0323,
.ticket-reply-panel-top-v0362 .attachment-gif-btn-v03435 {
  width: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  height: 34px;
  min-height: 34px;
  border-radius: 8px;
  font-size: 14px;
}

.ticket-message-actions-v04740 .forum-post-menu-toggle-v0343 {
  min-width: 27px;
  width: 27px;
  min-height: 24px;
  height: 24px;
  padding: 1px 5px;
  border-radius: 7px;
  font-size: 10px;
}

@media (max-width: 720px) {
  body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435 {
    width: calc(100vw - 24px) !important;
    max-height: min(52vh, 390px) !important;
  }

  .message-emoji-picker-v04740 {
    width: auto;
    max-height: min(62vh, 430px);
    border-radius: 16px 16px 11px 11px;
  }

  .message-emoji-grid-v04740 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
    max-height: min(29vh, 190px);
  }

  .message-compose-row-v0323 {
    grid-template-columns: minmax(0, 1fr) 104px !important;
  }

  .message-compose-row-v0323 > .attachment-picker-v0323 {
    grid-template-columns: repeat(3, 32px) !important;
    grid-column: 2;
    grid-row: 1;
    width: 104px !important;
  }

  .personal-message-input-line-v03433 {
    grid-template-columns: minmax(0, 1fr) 104px;
  }

  .ticket-reply-panel-top-v0362 .message-compose-row-v0323 {
    grid-template-columns: minmax(0, 1fr) 98px 82px !important;
  }

  .ticket-reply-panel-top-v0362 .message-compose-row-v0323 > .attachment-picker-v0323 {
    grid-template-columns: repeat(3, 30px) !important;
    grid-column: 2;
    grid-row: 1;
    width: 98px !important;
  }
}
/* v0.3.47.44: isolated desktop ticket columns and responsive reply controls. */
.ticket-detail-layout-v0315,
.ticket-detail-main-v0315,
.ticket-detail-main-v0315 > *,
.ticket-detail-main-v0315 .ticket-messages-list,
.ticket-detail-main-v0315 .ticket-message.panel {
  min-width: 0;
  max-width: 100%;
}

.ticket-detail-layout-v0315 {
  isolation: isolate;
}

.ticket-detail-main-v0315,
.ticket-detail-main-v0315 .ticket-messages-list,
.ticket-detail-main-v0315 .ticket-message.panel {
  box-sizing: border-box;
  width: 100%;
}

.ticket-admin-sidebar-v0315 {
  z-index: 3;
}

@media (min-width: 1241px) {
  .ticket-detail-main-v0315 {
    overflow-x: clip;
  }
}

@media (max-width: 720px) {
  .ticket-admin-control-panel-v04744.panel {
    gap: 8px;
    padding: 10px;
  }

  .ticket-admin-control-panel-v04744 .section-head {
    margin-bottom: 0;
  }

  .ticket-admin-control-panel-v04744 .section-head h2 {
    margin: 0;
    font-size: 1rem;
    line-height: 1.2;
  }

  .ticket-admin-control-panel-v04744 .section-head p {
    margin: 4px 0 0;
    font-size: 11.5px;
    line-height: 1.35;
  }

  .ticket-admin-control-panel-v04744 .ticket-status-form-v0312,
  .ticket-admin-control-panel-v04744 .ticket-admin-meta-form-v0312,
  .ticket-admin-control-panel-v04744 .ticket-internal-note-form-v0312 {
    gap: 7px;
    padding: 9px;
    border-radius: 12px;
  }

  .ticket-admin-control-panel-v04744 .ticket-admin-meta-form-v0312 .grid.two.form-grid-tight {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .ticket-admin-control-panel-v04744 label {
    gap: 4px;
    font-size: 12px;
    line-height: 1.25;
  }

  .ticket-admin-control-panel-v04744 select {
    min-height: 38px;
    padding: 7px 9px;
    border-radius: 10px;
    font-size: 12px;
  }

  .ticket-admin-control-panel-v04744 textarea,
  .ticket-admin-sidebar-v0315 .ticket-admin-control-panel-v04744 textarea {
    min-height: 68px !important;
    height: 68px;
    padding: 8px 10px;
    border-radius: 10px;
    font-size: 12px;
    line-height: 1.35;
  }

  .ticket-admin-control-panel-v04744 .btn {
    min-height: 34px;
    padding: 6px 10px;
    border-radius: 10px;
    font-size: 11px;
  }

  .ticket-reply-compose-v04744 .message-compose-row-v0323 {
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 7px;
  }

  .ticket-reply-compose-v04744 .message-compose-text-v0323 {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .ticket-reply-compose-v04744 .message-compose-text-v0323,
  .ticket-reply-compose-v04744 .message-compose-text-v0323 textarea {
    min-width: 0;
    width: 100%;
  }

  .ticket-reply-compose-v04744 .message-compose-text-v0323 textarea {
    min-height: 38px !important;
    height: 38px;
    padding: 8px 10px !important;
    line-height: 20px;
  }

  .ticket-reply-compose-v04744 .message-compose-row-v0323 > .attachment-picker-v0323 {
    align-self: end;
    justify-self: start;
    grid-column: 1;
    grid-row: 2;
    grid-template-columns: repeat(3, 30px) !important;
    gap: 4px !important;
    width: 98px !important;
    min-height: 38px;
  }

  .ticket-reply-compose-v04744 .attachment-emoji-btn-v04740,
  .ticket-reply-compose-v04744 .attachment-plus-btn-v0323,
  .ticket-reply-compose-v04744 .attachment-gif-btn-v03435,
  .ticket-reply-compose-v04744 .message-send-btn-v0323 {
    min-height: 38px;
    height: 38px;
    margin: 0;
  }

  .ticket-reply-compose-v04744 .message-compose-row-v0323 > .message-send-btn-v0323 {
    align-self: end;
    justify-self: end;
    grid-column: 2;
    grid-row: 2;
    width: auto;
    min-width: 108px;
    padding: 0 12px;
  }

  .forum-reply-compose-v04744 .message-compose-row-v0323 {
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 7px;
  }

  .forum-reply-compose-v04744 .message-compose-text-v0323 {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
  }

  .forum-reply-compose-v04744 .message-compose-text-v0323 .rich-wrap,
  .forum-reply-compose-v04744 .message-compose-text-v0323 .rich-toolbar,
  .forum-reply-compose-v04744 .message-compose-text-v0323 .rich-editor {
    max-width: 100%;
  }

  .forum-reply-compose-v04744 .message-compose-text-v0323 .rich-editor {
    min-height: 68px;
  }

  .forum-reply-compose-v04744 .message-compose-row-v0323 > .attachment-picker-v0323 {
    align-self: end;
    justify-self: start;
    grid-column: 1;
    grid-row: 2;
    grid-template-columns: repeat(3, 32px) !important;
    gap: 4px !important;
    width: 104px !important;
  }

  .forum-reply-compose-v04744 .message-compose-row-v0323 > .message-send-btn-v0323 {
    align-self: end;
    justify-self: end;
    grid-column: 2;
    grid-row: 2;
    width: auto;
    min-width: 124px;
    height: 38px;
    min-height: 38px;
  }
}

@media (max-width: 390px) {
  .ticket-admin-control-panel-v04744 .ticket-admin-meta-form-v0312 .grid.two.form-grid-tight {
    grid-template-columns: 1fr;
  }
}

/* v0.3.47.46: modern compact forum information architecture. */
.forum-shell-v04746 {
  display: grid;
  gap: 16px;
  width: 100%;
  min-width: 0;
}

.forum-shell-v04746 .panel {
  box-sizing: border-box;
  min-width: 0;
}

.forum-compact-head-v04746,
.forum-category-head-v04746,
.forum-topic-head-v04746 {
  display: grid;
  gap: 18px;
  padding: 22px 24px;
  overflow: visible;
  background:
    radial-gradient(circle at 0 0, rgba(225,25,45,.14), transparent 36%),
    linear-gradient(135deg, rgba(28,27,34,.98), rgba(14,14,19,.98));
}

.forum-compact-title-v04746,
.forum-category-title-row-v04746,
.forum-topic-title-row-v04746 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  min-width: 0;
}

.forum-compact-title-v04746 h1,
.forum-category-title-row-v04746 h1,
.forum-topic-title-row-v04746 h1 {
  margin: 4px 0 6px;
  color: #fff;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.04;
  letter-spacing: -.035em;
}

.forum-category-title-row-v04746 h1,
.forum-topic-title-row-v04746 h1 {
  font-size: clamp(26px, 3.3vw, 38px);
}

.forum-compact-title-v04746 p,
.forum-category-title-row-v04746 p,
.forum-topic-title-row-v04746 p {
  max-width: 720px;
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.forum-summary-v04746 {
  display: flex;
  flex: 0 0 auto;
  align-items: stretch;
  gap: 8px;
}

.forum-summary-v04746 > span {
  display: grid;
  min-width: 92px;
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  background: rgba(0,0,0,.18);
  color: var(--muted);
  font-size: 11px;
  text-align: center;
}

.forum-summary-v04746 strong {
  color: #fff;
  font-size: 18px;
  line-height: 1.15;
}

.forum-primary-actions-v04746,
.forum-category-actions-v04746,
.forum-category-toolbar-v04746 {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.forum-search-v04746 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  flex: 1 1 auto;
  gap: 8px;
  min-width: 0;
  margin: 0;
}

.forum-search-v04746 input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 40px;
}

.forum-search-v04746 .btn,
.forum-create-topic-v04746,
.forum-category-actions-v04746 .btn {
  min-height: 40px;
}

.forum-tabs-v04746 {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: thin;
}

.forum-tabs-v04746 a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 32px;
  padding: 5px 10px;
  border: 1px solid transparent;
  border-radius: 9px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.forum-tabs-v04746 a:hover,
.forum-tabs-v04746 a.active {
  border-color: rgba(225,25,45,.34);
  background: rgba(225,25,45,.12);
  color: #fff;
}

.forum-tabs-v04746 a span {
  color: #ff6e7d;
  font-size: 10px;
}

.forum-home-layout-v04746 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(285px, 340px);
  align-items: start;
  gap: 16px;
  min-width: 0;
}

.forum-feed-v04746,
.forum-sections-v04746 {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.forum-block-head-v04746,
.forum-thread-heading-v04746,
.forum-reply-heading-v04746 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}

.forum-block-head-v04746 h2,
.forum-thread-heading-v04746 h2,
.forum-reply-heading-v04746 h2 {
  margin: 3px 0 0;
  font-size: 20px;
}

.forum-block-head-v04746 p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.forum-result-count-v04746 {
  display: grid;
  place-items: center;
  min-width: 32px;
  height: 32px;
  border-radius: 10px;
  background: rgba(255,255,255,.06);
  color: #fff;
  font-weight: 900;
}

.forum-topic-list-v04746,
.forum-section-list-v04746 {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.forum-topic-row-v04746 {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) minmax(168px, 205px);
  gap: 12px;
  align-items: center;
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 12px;
  background: rgba(255,255,255,.026);
  color: inherit;
  text-decoration: none;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}

.forum-topic-row-v04746:hover {
  border-color: rgba(225,25,45,.35);
  background: rgba(225,25,45,.055);
  transform: translateY(-1px);
}

.forum-topic-row-v04746.is-pinned { border-left: 3px solid #e1192d; }
.forum-topic-row-v04746.is-closed { opacity: .78; }

.forum-topic-state-v04746 {
  color: #e1192d;
  font-size: 10px;
  text-align: center;
}

.forum-topic-copy-v04746,
.forum-topic-activity-v04746,
.forum-section-copy-v04746 {
  min-width: 0;
}

.forum-topic-tags-v04746 {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 5px;
}

.forum-topic-tags-v04746 .tag {
  min-height: 18px;
  padding: 2px 6px;
  font-size: 9px;
}

.forum-topic-copy-v04746 h3 {
  margin: 0;
  overflow: hidden;
  color: #fff;
  font-size: 15px;
  line-height: 1.28;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.forum-topic-copy-v04746 > p {
  display: -webkit-box;
  margin: 4px 0 5px;
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.forum-topic-byline-v04746 {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 12px;
  color: var(--muted);
  font-size: 10px;
}

.forum-topic-byline-v04746 strong { color: #d9d9de; }

.forum-topic-activity-v04746 {
  display: grid;
  gap: 8px;
  padding-left: 12px;
  border-left: 1px solid rgba(255,255,255,.07);
}

.forum-topic-latest-v04746 {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.forum-topic-latest-v04746 > img,
.forum-topic-latest-v04746 > span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 9px;
  background: #16161c;
  color: #fff;
  font-size: 11px;
  object-fit: cover;
}

.forum-topic-latest-v04746 div {
  display: grid;
  min-width: 0;
}

.forum-topic-latest-v04746 small,
.forum-topic-counts-v04746,
.forum-section-count-v04746 small {
  color: var(--muted);
  font-size: 9px;
}

.forum-topic-latest-v04746 strong {
  overflow: hidden;
  color: #fff;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.forum-topic-counts-v04746 {
  display: flex;
  gap: 10px;
}

.forum-topic-counts-v04746 strong { color: #fff; font-size: 11px; }

.forum-section-row-v04746 {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: start;
  gap: 9px;
  min-width: 0;
  padding: 11px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 11px;
  background: rgba(255,255,255,.025);
  color: inherit;
  text-decoration: none;
}

.forum-section-row-v04746:hover { border-color: rgba(225,25,45,.32); background: rgba(225,25,45,.05); }
.forum-section-row-v04746.is-private { background: rgba(225,25,45,.045); }

.forum-section-icon-v04746 {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(255,255,255,.055);
  font-size: 14px;
}

.forum-section-copy-v04746 {
  display: grid;
  gap: 3px;
}

.forum-section-copy-v04746 strong { color: #fff; font-size: 13px; line-height: 1.25; }
.forum-section-copy-v04746 small { display: -webkit-box; overflow: hidden; color: var(--muted); font-size: 10px; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.forum-section-copy-v04746 em { overflow: hidden; color: #a4a4ad; font-size: 9px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }

.forum-section-count-v04746 {
  display: grid;
  min-width: 26px;
  color: #fff;
  text-align: center;
}

.forum-empty-v04746,
.forum-reply-locked-v04746 {
  display: grid;
  gap: 4px;
  padding: 24px;
  border: 1px dashed rgba(255,255,255,.12);
  border-radius: 12px;
  color: var(--muted);
  text-align: center;
}

.forum-empty-v04746 strong,
.forum-reply-locked-v04746 strong { color: #fff; }

.forum-breadcrumb-v04746,
.forum-topic-breadcrumbs-v04746 a {
  color: #ff6373;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.forum-category-kicker-v04746 { margin-bottom: 3px; color: #ff6373; font-size: 11px; font-weight: 850; }
.forum-category-actions-v04746 .inline-form { margin: 0; }
.forum-category-toolbar-v04746 { align-items: flex-end; border-top: 1px solid rgba(255,255,255,.08); padding-top: 14px; }
.forum-category-toolbar-v04746 .forum-tabs-v04746 { flex: 0 1 auto; }
.forum-category-feed-v04746 { width: 100%; }

.forum-topic-breadcrumbs-v04746 { display: flex; flex-wrap: wrap; gap: 6px; color: var(--muted); font-size: 12px; }
.forum-topic-head-side-v04746 { display: grid; flex: 0 0 auto; justify-items: end; gap: 9px; }
.forum-topic-statuses-v04746 { margin-bottom: 7px; }
.forum-topic-admin-v04746 { margin-top: 0; }

.forum-thread-heading-v04746 {
  padding: 3px 4px 0;
}

.forum-thread-heading-v04746 > span,
.forum-reply-heading-v04746 > small {
  color: var(--muted);
  font-size: 11px;
}

.forum-topic-thread-v04746 {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.forum-topic-thread-v04746 .forum-post-v04746.panel {
  position: relative;
  box-sizing: border-box;
  display: grid;
  gap: 8px;
  width: 100%;
  min-width: 0;
  padding: 14px 48px 13px 14px;
  border: 1px solid rgba(255,255,255,.075) !important;
  border-radius: 13px;
  overflow: visible;
  background: rgba(20,20,26,.92);
}

.forum-topic-thread-v04746 .forum-topic-first-post-v04746.panel {
  border-color: rgba(225,25,45,.28) !important;
  background: linear-gradient(135deg, rgba(225,25,45,.07), rgba(20,20,26,.94) 42%);
}

.forum-topic-thread-v04746 .post-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
}

.forum-topic-thread-v04746 .post-author-block { gap: 9px; align-items: center; }
.forum-topic-thread-v04746 .post-author-avatar { width: 34px; min-width: 34px; height: 34px; border-radius: 10px; }
.forum-post-author-line-v04746 { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.forum-op-tag-v04746 { background: rgba(225,25,45,.13); color: #ff7583; }

.forum-post-sequence-v04746 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
  padding-right: 4px;
  color: var(--muted);
  font-size: 10px;
  text-align: right;
}

.forum-post-sequence-v04746 > span:first-child { color: #ff6373; font-weight: 900; }

.forum-topic-thread-v04746 .thread-message-line-v03234 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
  min-width: 0;
}

.forum-topic-thread-v04746 .thread-message-line-v03234 .content {
  min-width: 0;
  margin: 0;
  color: #e7e7eb;
  font-size: 14px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.forum-topic-thread-v04746 .thread-message-line-v03234 .content p { margin: 5px 0; }
.forum-topic-thread-v04746 .thread-message-line-v03234 .content p:first-child { margin-top: 0; }
.forum-topic-thread-v04746 .thread-message-line-v03234 .content p:last-child { margin-bottom: 0; }
.forum-topic-thread-v04746 .message-overflow-actions-v04739 { top: 9px; right: 9px; }

.forum-new-posts-banner-v04746 {
  position: sticky;
  bottom: 76px;
  z-index: 9;
  margin: 2px auto 0;
}

.forum-reply-panel-bottom-v04746 {
  display: grid;
  gap: 12px;
  padding: 16px;
  scroll-margin-top: 86px;
}

.forum-reply-compose-v04746 .message-compose-row-v0323 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: end;
  gap: 8px;
}

.forum-reply-compose-v04746 .message-compose-text-v0323,
.forum-reply-compose-v04746 textarea,
.forum-reply-compose-v04746 .rich-wrap { min-width: 0; width: 100%; }
.forum-reply-compose-v04746 textarea { min-height: 68px !important; }
.forum-reply-compose-v04746 .attachment-picker-v0323 { align-self: end; }
.forum-reply-compose-v04746 .message-send-btn-v0323 { min-height: 40px; }

@media (max-width: 980px) {
  .forum-home-layout-v04746 { grid-template-columns: 1fr; }
  .forum-sections-v04746 { order: -1; }
  .forum-section-list-v04746 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .forum-category-toolbar-v04746 { display: grid; }
}

@media (max-width: 720px) {
  .forum-shell-v04746 { gap: 10px; }
  .forum-compact-head-v04746,
  .forum-category-head-v04746,
  .forum-topic-head-v04746 { gap: 13px; padding: 15px; border-radius: 15px; }

  .forum-compact-title-v04746,
  .forum-category-title-row-v04746,
  .forum-topic-title-row-v04746 { display: grid; gap: 12px; }

  .forum-compact-title-v04746 h1,
  .forum-category-title-row-v04746 h1,
  .forum-topic-title-row-v04746 h1 { font-size: clamp(25px, 8vw, 32px); overflow-wrap: anywhere; }

  .forum-summary-v04746 { width: 100%; }
  .forum-summary-v04746 > span { flex: 1 1 0; min-width: 0; padding: 8px; }
  .forum-primary-actions-v04746 { display: grid; }
  .forum-create-topic-v04746 { width: 100%; }
  .forum-search-v04746 { grid-template-columns: minmax(0, 1fr) auto; }
  .forum-search-v04746 .btn-ghost { grid-column: 1 / -1; }
  .forum-tabs-v04746 { margin-inline: -4px; padding: 0 4px 2px; }

  .forum-home-layout-v04746 { gap: 10px; }
  .forum-feed-v04746,
  .forum-sections-v04746 { gap: 10px; padding: 11px; border-radius: 15px; }
  .forum-section-list-v04746 { grid-template-columns: 1fr; }
  .forum-section-row-v04746 { padding: 10px; }

  .forum-topic-row-v04746 {
    grid-template-columns: 12px minmax(0, 1fr);
    gap: 8px;
    padding: 11px 10px;
  }

  .forum-topic-activity-v04746 {
    grid-column: 2;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    padding: 7px 0 0;
    border-top: 1px solid rgba(255,255,255,.07);
    border-left: 0;
  }

  .forum-topic-copy-v04746 h3 { font-size: 14px; white-space: normal; }
  .forum-topic-copy-v04746 > p { -webkit-line-clamp: 2; }
  .forum-topic-counts-v04746 { justify-content: flex-end; }
  .forum-category-actions-v04746 { align-items: stretch; }
  .forum-category-actions-v04746 > .btn,
  .forum-category-actions-v04746 .inline-form,
  .forum-category-actions-v04746 .inline-form .btn { flex: 1 1 0; width: 100%; }

  .forum-topic-head-side-v04746 { width: 100%; justify-items: stretch; }
  .forum-topic-head-side-v04746 .btn { width: 100%; }
  .forum-thread-heading-v04746 { padding-inline: 3px; }
  .forum-topic-thread-v04746 { gap: 7px; }
  .forum-topic-thread-v04746 .forum-post-v04746.panel { padding: 11px 42px 11px 11px; border-radius: 12px; }
  .forum-topic-thread-v04746 .post-head { display: grid; gap: 6px; }
  .forum-topic-thread-v04746 .post-author-avatar { width: 32px; min-width: 32px; height: 32px; }
  .forum-post-sequence-v04746 { justify-content: flex-start; text-align: left; }
  .forum-topic-thread-v04746 .thread-message-line-v03234 { display: block; }
  .forum-topic-thread-v04746 .thread-message-time-v03234 { display: none; }

  .forum-reply-panel-bottom-v04746 { gap: 10px; padding: 12px; border-radius: 15px; }
  .forum-reply-heading-v04746 { align-items: flex-start; }
  .forum-reply-compose-v04746 .message-compose-row-v0323 { grid-template-columns: minmax(0, 1fr) auto !important; gap: 7px; }
  .forum-reply-compose-v04746 .message-compose-text-v0323 { grid-column: 1 / -1; grid-row: 1; }
  .forum-reply-compose-v04746 textarea { min-height: 54px !important; height: auto; }
  .forum-reply-compose-v04746 .message-compose-row-v0323 > .attachment-picker-v0323 { grid-column: 1; grid-row: 2; justify-self: start; }
  .forum-reply-compose-v04746 .message-compose-row-v0323 > .message-send-btn-v0323 { grid-column: 2; grid-row: 2; justify-self: end; min-width: 112px; }
}

@media (max-width: 420px) {
  .forum-topic-latest-v04746 small { display: none; }
  .forum-topic-counts-v04746 span:last-child { display: none; }
  .forum-category-actions-v04746 { display: grid; }
  .forum-block-head-v04746 h2,
  .forum-thread-heading-v04746 h2,
  .forum-reply-heading-v04746 h2 { font-size: 18px; }
}

/* v0.3.48.0 — постоянные форумные каналы */
.forum-channels-shell-v03480{width:min(1180px,calc(100% - 28px));margin:28px auto 56px;display:grid;gap:14px}
.forum-channels-head-v03480,.forum-channel-head-v03480{position:relative;display:grid;gap:18px;padding:26px 28px;overflow:hidden;background:radial-gradient(circle at 4% 0%,rgba(225,25,45,.18),transparent 34%),linear-gradient(135deg,rgba(30,29,35,.98),rgba(16,16,21,.98))}
.forum-channels-head-v03480:after,.forum-channel-head-v03480:after{content:'';position:absolute;right:-80px;bottom:-100px;width:280px;height:220px;border-radius:50%;background:rgba(225,25,45,.13);filter:blur(45px);pointer-events:none}
.forum-channels-head-v03480 h1,.forum-channel-head-v03480 h1{margin:4px 0 7px;font-size:clamp(32px,5vw,54px);line-height:1}.forum-channels-head-v03480 p,.forum-channel-head-v03480 p{max-width:760px;margin:0;color:var(--muted)}
.forum-channel-search-v03480{max-width:720px}.forum-channel-layout-v03480{display:grid;grid-template-columns:230px minmax(0,1fr);align-items:start;gap:14px}
.forum-channel-nav-v03480{position:sticky;top:82px;display:grid;gap:5px;padding:12px}.forum-channel-nav-v03480>strong{padding:7px 9px 10px;color:var(--muted);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.forum-channel-nav-v03480 a{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;border-radius:10px;color:#d6d6dd;text-decoration:none}.forum-channel-nav-v03480 a:hover{background:rgba(255,255,255,.065);color:#fff}.forum-channel-nav-v03480 a em{overflow:hidden;font-style:normal;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.forum-channel-nav-v03480 a b{min-width:23px;padding:3px 6px;border-radius:999px;background:rgba(255,255,255,.07);color:var(--muted);font-size:11px;text-align:center}
.forum-channel-sections-v03480{display:grid;gap:14px;min-width:0}.forum-channel-section-v03480{padding:0;overflow:hidden}.forum-channel-section-v03480>header{display:flex;align-items:center;gap:12px;padding:17px 18px;border-bottom:1px solid rgba(255,255,255,.075)}.forum-channel-section-v03480>header>div:nth-child(2){min-width:0;flex:1}.forum-channel-section-v03480>header h2{margin:2px 0 3px;font-size:20px}.forum-channel-section-v03480>header p{margin:0;color:var(--muted);font-size:13px}
.forum-section-symbol-v03480,.forum-channel-head-icon-v03480{display:grid;place-items:center;width:44px;min-width:44px;height:44px;border:1px solid rgba(225,25,45,.3);border-radius:13px;background:rgba(225,25,45,.11);font-size:21px}
.forum-channel-list-v03480{display:grid}.forum-channel-row-v03480{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) auto 18px;align-items:center;gap:12px;min-height:82px;padding:13px 17px;border-bottom:1px solid rgba(255,255,255,.06);color:inherit;text-decoration:none;transition:background .16s ease}.forum-channel-row-v03480:last-child{border-bottom:0}.forum-channel-row-v03480:hover{background:linear-gradient(90deg,rgba(225,25,45,.09),rgba(255,255,255,.035));color:inherit}
.forum-channel-icon-v03480{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.055);color:#d9d9df;font-size:18px;font-weight:800}.forum-channel-row-v03480.is-clan .forum-channel-icon-v03480{background:rgba(225,165,42,.1);color:#ffd477}
.forum-channel-copy-v03480{display:grid;gap:3px;min-width:0}.forum-channel-copy-v03480 strong,.forum-channel-copy-v03480 small,.forum-channel-copy-v03480 em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forum-channel-copy-v03480 strong{color:#fff;font-size:15px}.forum-channel-copy-v03480 small{color:var(--muted);font-size:13px}.forum-channel-copy-v03480 em{color:#777783;font-size:11px;font-style:normal}
.forum-channel-meta-v03480{display:grid;min-width:82px;justify-items:end;gap:1px;color:var(--muted)}.forum-channel-meta-v03480 b{color:#fff;font-size:16px}.forum-channel-meta-v03480 small{font-size:10px}.forum-channel-meta-v03480 i{margin-top:3px;padding:2px 6px;border-radius:999px;background:rgba(225,25,45,.12);color:#ff8a96;font-size:9px;font-style:normal}.forum-channel-arrow-v03480{color:#666670;font-size:26px}
.forum-category-channel-title-v03480{display:flex;align-items:center;gap:14px}.forum-category-channel-title-v03480>span{display:grid;place-items:center;width:52px;min-width:52px;height:52px;border-radius:15px;background:rgba(225,25,45,.13);font-size:25px}.forum-category-channel-tools-v03480{display:flex;align-items:center;justify-content:space-between;gap:12px}.forum-category-channel-tools-v03480 .forum-search-v04746{flex:1}
.forum-channel-head-row-v03480{position:relative;z-index:1;display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:16px}.forum-channel-head-icon-v03480{width:56px;height:56px;font-size:26px}.forum-channel-head-copy-v03480 h1{font-size:clamp(28px,4vw,44px);overflow-wrap:anywhere}.forum-channel-admin-links-v03480{position:relative;z-index:1;display:flex;align-items:flex-start;gap:8px}
.forum-channel-compose-v03480{display:grid;gap:12px;padding:15px;border-color:rgba(225,25,45,.24)}.forum-channel-compose-head-v03480{display:flex;align-items:end;justify-content:space-between;gap:12px}.forum-channel-compose-head-v03480 h2{margin:2px 0 0;font-size:19px}.forum-channel-compose-head-v03480 small{color:var(--muted)}.forum-channel-compose-form-v03480 .message-compose-row-v0323{align-items:end}.forum-channel-compose-form-v03480 textarea{min-height:52px!important}
.forum-channel-feed-head-v03480{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:6px 4px 0}.forum-channel-feed-head-v03480 h2{margin:2px 0 0;font-size:21px}.forum-channel-feed-head-v03480>span{color:var(--muted);font-size:12px}
.forum-channel-thread-v03480{display:grid;gap:8px}.forum-channel-thread-v03480 .forum-channel-message-v03480.panel{position:relative;padding:13px 46px 13px 14px;border-radius:13px;background:linear-gradient(135deg,rgba(25,25,31,.98),rgba(17,17,21,.98))}.forum-channel-thread-v03480 .forum-channel-message-v03480:hover{border-color:rgba(225,25,45,.22)}.forum-channel-thread-v03480 .post-head{min-height:34px;padding:0;border:0}.forum-channel-thread-v03480 .post-author-avatar{width:34px;min-width:34px;height:34px;border-radius:10px}.forum-channel-thread-v03480 .thread-message-line-v03234{display:block;margin-top:7px}.forum-channel-thread-v03480 .thread-message-line-v03234 .content{font-size:14px;line-height:1.5}.forum-channel-thread-v03480 .thread-message-time-v03234{display:none}.forum-channel-thread-v03480 .message-overflow-actions-v04739{top:9px;right:9px}
.forum-channel-message-date-v03480{display:flex;align-items:center;gap:6px;padding-right:25px;color:#777783;font-size:11px}.forum-new-posts-banner-v03480{position:sticky;top:74px;z-index:12;margin-bottom:2px}.thread-menu-delete-v03480{border-top:1px solid rgba(255,255,255,.07);padding-top:7px}.thread-menu-delete-v03480 summary{color:#ff7885;cursor:pointer;font-size:12px}.thread-menu-delete-v03480 form{display:grid;gap:6px;margin-top:7px}

/* v0.3.48.0 — управление структурой */
.forum-admin-head-v03480{max-width:1180px;margin-inline:auto}.forum-admin-grid-v03480{width:min(1180px,calc(100% - 28px));margin:0 auto 14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.forum-admin-create-v03480{padding:15px}.forum-admin-create-v03480 .grid-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.forum-admin-structure-v03480,.forum-admin-clans-v03480{width:min(1180px,calc(100% - 28px));margin:0 auto 14px;padding:16px}.forum-admin-section-list-v03480,.forum-admin-clan-list-v03480{display:grid;gap:12px}.forum-admin-section-v03480,.forum-admin-clan-v03480{border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.025);overflow:hidden}.forum-admin-section-v03480.is-hidden,.forum-admin-clan-v03480.is-hidden,.forum-admin-channel-v03480.is-hidden{opacity:.62}.forum-admin-section-form-v03480,.forum-admin-clan-v03480>.form{padding:13px}
.forum-admin-section-title-v03480{display:flex;align-items:center;gap:8px;margin-bottom:10px}.forum-admin-section-title-v03480>span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:rgba(225,25,45,.1)}.forum-admin-section-title-v03480 strong{font-size:16px}.forum-admin-section-title-v03480 em{margin-left:auto;color:var(--muted);font-size:11px;font-style:normal}
.forum-admin-fields-v03480{display:grid;grid-template-columns:80px minmax(160px,1.5fr) minmax(140px,1fr) 90px;gap:8px;align-items:end}.forum-admin-fields-v03480 label{min-width:0}.forum-admin-wide-v03480{grid-column:span 2}.forum-admin-channel-list-v03480{display:grid;border-top:1px solid rgba(255,255,255,.07)}.forum-admin-channel-v03480{display:grid;gap:9px;padding:12px 13px;border-bottom:1px solid rgba(255,255,255,.065)}.forum-admin-channel-title-v03480{display:flex;align-items:center;justify-content:space-between;gap:12px}.forum-admin-channel-title-v03480 a{display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none}.forum-admin-channel-title-v03480 em{color:var(--muted);font-size:11px;font-style:normal}
.forum-admin-danger-v03480{padding:9px 13px;border-top:1px solid rgba(225,25,45,.12)}.forum-admin-danger-v03480 summary{color:#cf7780;cursor:pointer;font-size:12px}.forum-admin-danger-v03480 form{display:flex;flex-wrap:wrap;align-items:end;gap:8px;padding:9px 0 3px}.forum-admin-danger-v03480 p{width:100%;margin:0;color:var(--muted);font-size:12px}.forum-admin-users-v03480{margin-top:12px}.forum-admin-users-v03480 summary{cursor:pointer;color:var(--muted)}.forum-admin-users-v03480>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:9px}.forum-admin-users-v03480 span{display:flex;justify-content:space-between;gap:8px;padding:7px;border-radius:8px;background:rgba(255,255,255,.035);font-size:11px}

@media(max-width:980px){.forum-channel-layout-v03480{grid-template-columns:1fr}.forum-channel-nav-v03480{position:static;display:flex;overflow-x:auto}.forum-channel-nav-v03480>strong{display:none}.forum-channel-nav-v03480 a{min-width:max-content;grid-template-columns:20px auto auto}.forum-admin-grid-v03480{grid-template-columns:1fr}.forum-admin-fields-v03480{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.forum-channels-shell-v03480{width:min(100% - 16px,1180px);margin-top:10px;gap:9px}.forum-channels-head-v03480,.forum-channel-head-v03480{gap:13px;padding:15px;border-radius:15px}.forum-channels-head-v03480 h1{font-size:32px}.forum-channel-section-v03480>header{align-items:flex-start;padding:13px}.forum-channel-section-v03480>header>.btn{display:none}.forum-channel-row-v03480{grid-template-columns:32px minmax(0,1fr) 16px;gap:9px;min-height:74px;padding:11px}.forum-channel-icon-v03480{width:32px;height:32px}.forum-channel-meta-v03480{grid-column:2;grid-row:2;display:flex;justify-items:start;gap:5px;min-width:0}.forum-channel-meta-v03480 b{font-size:11px}.forum-channel-meta-v03480 small{align-self:center}.forum-channel-arrow-v03480{grid-column:3;grid-row:1/span 2}.forum-channel-copy-v03480 small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.forum-channel-copy-v03480 em{display:none}.forum-category-channel-tools-v03480{display:grid}.forum-category-channel-tools-v03480 .inline-form,.forum-category-channel-tools-v03480 .btn{width:100%}.forum-channel-head-row-v03480{grid-template-columns:42px minmax(0,1fr);align-items:start;gap:10px}.forum-channel-head-icon-v03480{width:42px;min-width:42px;height:42px;font-size:20px}.forum-channel-head-copy-v03480 h1{font-size:27px}.forum-channel-head-row-v03480 .forum-summary-v04746{grid-column:1/-1}.forum-channel-compose-v03480{padding:11px}.forum-channel-compose-head-v03480 small{display:none}.forum-channel-compose-form-v03480 .message-compose-row-v0323{grid-template-columns:minmax(0,1fr) auto!important;gap:7px}.forum-channel-compose-form-v03480 .message-compose-text-v0323{grid-column:1/-1}.forum-channel-compose-form-v03480 .attachment-picker-v0323{grid-column:1;grid-row:2;justify-self:start}.forum-channel-compose-form-v03480 .message-send-btn-v0323{grid-column:2;grid-row:2;min-width:110px}.forum-channel-feed-head-v03480>span{display:none}.forum-channel-thread-v03480 .forum-channel-message-v03480.panel{padding:11px 40px 11px 11px}.forum-channel-message-date-v03480{display:none}.forum-admin-grid-v03480,.forum-admin-structure-v03480,.forum-admin-clans-v03480{width:min(100% - 16px,1180px)}.forum-admin-create-v03480 .grid-form,.forum-admin-fields-v03480{grid-template-columns:1fr}.forum-admin-wide-v03480{grid-column:auto}.forum-admin-section-title-v03480{flex-wrap:wrap}.forum-admin-section-title-v03480 em{width:100%;margin-left:38px}.forum-admin-users-v03480>div{grid-template-columns:1fr}}

/* v0.3.48.1 — компактная и адаптивная админка структуры форума */
.forum-admin-head-v03481,
.forum-admin-create-grid-v03481,
.forum-admin-panel-v03481 {
  width: min(1280px, calc(100% - 32px));
  margin-inline: auto;
  box-sizing: border-box;
}

.forum-admin-create-grid-v03481 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
  align-items: start;
}

.forum-admin-create-card-v03481 {
  min-width: 0;
  padding: 0;
  overflow: hidden;
}

.forum-admin-create-card-v03481[open] { grid-column: 1 / -1; }

.forum-admin-create-card-v03481 > summary {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 11px;
  min-height: 76px;
  padding: 13px 15px;
  list-style: none;
  cursor: pointer;
  user-select: none;
}

.forum-admin-create-card-v03481 > summary::-webkit-details-marker,
.forum-admin-edit-v03481 > summary::-webkit-details-marker { display: none; }
.forum-admin-create-card-v03481 > summary:hover { background: rgba(255,255,255,.035); }
.forum-admin-create-card-v03481[open] > summary { border-bottom: 1px solid rgba(255,255,255,.08); }
.forum-admin-create-card-v03481 > summary > span:nth-child(2) { display: grid; min-width: 0; gap: 2px; }
.forum-admin-create-card-v03481 > summary small { color: #ff6877; font-size: 9px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.forum-admin-create-card-v03481 > summary strong { overflow: hidden; color: #fff; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.forum-admin-create-card-v03481 > summary em { overflow: hidden; color: var(--muted); font-size: 11px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.forum-admin-create-card-v03481 > summary > b,
.forum-admin-edit-v03481 > summary > b { color: #7c7c87; font-size: 16px; transition: transform .16s ease; }
.forum-admin-create-card-v03481[open] > summary > b,
.forum-admin-edit-v03481[open] > summary > b { transform: rotate(180deg); }

.forum-admin-action-icon-v03481,
.forum-admin-item-icon-v03481,
.forum-admin-channel-icon-v03481 {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(225,25,45,.25);
  border-radius: 11px;
  background: rgba(225,25,45,.09);
  color: #fff;
  font-weight: 900;
}
.forum-admin-action-icon-v03481 { width: 40px; height: 40px; font-size: 18px; }

.forum-admin-form-grid-v03481 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px 16px;
  min-width: 0;
  max-width: 940px;
  padding: 18px;
}
.forum-admin-form-grid-v03481 > label { display: grid; align-content: start; gap: 6px; min-width: 0; margin: 0; }
.forum-admin-form-grid-v03481 input:not([type="checkbox"]),
.forum-admin-form-grid-v03481 select,
.forum-admin-form-grid-v03481 textarea {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
}
.forum-admin-form-grid-v03481 textarea { resize: vertical; }
.forum-admin-form-grid-v03481 select[multiple] { min-height: 104px; }
.forum-admin-span-2-v03481 { grid-column: 1 / -1; }
.forum-admin-form-grid-v03481 .form-actions { margin: 0; padding-top: 2px; }
.forum-admin-note-v03481 { margin: 0; padding: 10px 12px; border: 1px solid rgba(255,190,70,.18); border-radius: 10px; background: rgba(255,190,70,.06); color: #d9c088; font-size: 12px; }

.forum-admin-switches-v03481 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 18px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 10px;
  background: rgba(255,255,255,.025);
}
.forum-admin-switches-v03481 .checkbox-row { display: inline-flex; align-items: center; gap: 8px; min-width: 0; margin: 0; }
.forum-admin-switches-v03481 .checkbox-row input { flex: 0 0 auto; margin: 0; }

.forum-admin-panel-v03481 { margin-bottom: 14px; padding: 18px; }
.forum-admin-panel-head-v03481 { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 15px; }
.forum-admin-panel-head-v03481 h2 { margin: 4px 0 3px; font-size: 23px; }
.forum-admin-panel-head-v03481 p { margin: 0; color: var(--muted); font-size: 12px; }
.forum-admin-help-v03481 { max-width: 260px; color: #777783; font-size: 11px; text-align: right; }
.forum-admin-section-list-v03481,
.forum-admin-clan-list-v03481 { display: grid; gap: 12px; }

.forum-admin-section-v03481,
.forum-admin-clan-v03481 {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 14px;
  background: rgba(255,255,255,.022);
}
.forum-admin-section-v03481.is-hidden,
.forum-admin-clan-v03481.is-hidden,
.forum-admin-channel-v03481.is-hidden { border-color: rgba(255,255,255,.045); }

.forum-admin-item-head-v03481 {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 14px;
}
.forum-admin-item-icon-v03481 { width: 40px; height: 40px; font-size: 18px; }
.forum-admin-item-copy-v03481 { display: grid; gap: 4px; min-width: 0; }
.forum-admin-item-copy-v03481 > span { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
.forum-admin-item-copy-v03481 strong { overflow: hidden; color: #fff; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.forum-admin-item-copy-v03481 small { overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.forum-admin-item-copy-v03481 i {
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(255,255,255,.065);
  color: #bcbcc5;
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
}
.forum-admin-item-meta-v03481 { display: grid; min-width: 66px; justify-items: end; line-height: 1.1; }
.forum-admin-item-meta-v03481 b { color: #fff; font-size: 17px; }
.forum-admin-item-meta-v03481 small,
.forum-admin-item-meta-v03481 em,
.forum-admin-order-v03481 { color: #777783; font-size: 9px; font-style: normal; }
.forum-admin-item-meta-v03481 em { margin-top: 4px; }

.forum-admin-edit-v03481 { border-top: 1px solid rgba(255,255,255,.065); }
.forum-admin-edit-v03481 > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 14px;
  list-style: none;
  color: #bfc0c8;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}
.forum-admin-edit-v03481 > summary:hover { background: rgba(255,255,255,.035); color: #fff; }
.forum-admin-edit-v03481[open] > summary { border-bottom: 1px solid rgba(255,255,255,.065); background: rgba(255,255,255,.025); }
.forum-admin-edit-body-v03481 { min-width: 0; background: rgba(5,5,8,.2); }
.forum-admin-edit-body-v03481 > .forum-admin-form-grid-v03481 { max-width: 940px; }

.forum-admin-channel-list-v03481 { display: grid; border-top: 1px solid rgba(255,255,255,.075); }
.forum-admin-channel-v03481 { min-width: 0; border-bottom: 1px solid rgba(255,255,255,.06); background: rgba(7,7,10,.15); }
.forum-admin-channel-v03481:last-child { border-bottom: 0; }
.forum-admin-channel-head-v03481 {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 11px;
  min-width: 0;
  padding: 12px 14px;
}
.forum-admin-channel-icon-v03481 { width: 32px; height: 32px; border-color: rgba(255,255,255,.08); background: rgba(255,255,255,.045); font-size: 14px; }
.forum-admin-channel-head-v03481 .text-link { font-size: 11px; white-space: nowrap; }
.forum-admin-channel-edit-v03481 { border-top: 0; }
.forum-admin-channel-edit-v03481 > summary { padding-left: 59px; border-top: 1px solid rgba(255,255,255,.045); }

.forum-admin-danger-v03481 { margin: 0 18px 18px; border: 1px solid rgba(225,25,45,.16); border-radius: 10px; background: rgba(225,25,45,.035); }
.forum-admin-danger-v03481 > summary { padding: 10px 12px; color: #d48089; font-size: 11px; cursor: pointer; }
.forum-admin-danger-v03481 form { display: grid; grid-template-columns: minmax(180px, 1fr) auto; align-items: end; gap: 10px; padding: 0 12px 12px; }
.forum-admin-danger-v03481 p { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 11px; }
.forum-admin-danger-v03481 input:not([type="checkbox"]) { box-sizing: border-box; width: 100%; min-width: 0; }
.forum-admin-danger-v03481 .checkbox-row { grid-column: 1 / -1; }
.forum-admin-empty-row-v03481 { padding: 14px; color: #777783; font-size: 12px; text-align: center; }

.forum-admin-clans-v03481 { margin-bottom: 48px; }
.forum-admin-clan-v03481 > .forum-admin-edit-v03481 { border-top: 1px solid rgba(255,255,255,.065); }
.forum-admin-users-v03481 { margin-top: 12px; border: 1px solid rgba(255,255,255,.07); border-radius: 12px; }
.forum-admin-users-v03481 > summary { padding: 12px 14px; color: var(--muted); font-size: 12px; cursor: pointer; }
.forum-admin-users-v03481 > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; padding: 0 12px 12px; }
.forum-admin-users-v03481 span { display: flex; justify-content: space-between; gap: 8px; min-width: 0; padding: 8px; border-radius: 8px; background: rgba(255,255,255,.035); font-size: 11px; }
.forum-admin-users-v03481 code { overflow: hidden; color: var(--muted); text-overflow: ellipsis; }

@media (max-width: 900px) {
  .forum-admin-create-grid-v03481 { grid-template-columns: 1fr; }
  .forum-admin-create-card-v03481[open] { grid-column: auto; }
  .forum-admin-item-head-v03481 { grid-template-columns: 42px minmax(0, 1fr) auto; }
  .forum-admin-item-head-v03481 > .btn { grid-column: 2 / -1; justify-self: start; }
  .forum-admin-users-v03481 > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .forum-admin-head-v03481,
  .forum-admin-create-grid-v03481,
  .forum-admin-panel-v03481 { width: min(100% - 16px, 1280px); }
  .forum-admin-create-grid-v03481 { gap: 8px; }
  .forum-admin-create-card-v03481 > summary { min-height: 66px; padding: 10px 11px; }
  .forum-admin-form-grid-v03481 { grid-template-columns: minmax(0, 1fr); gap: 11px; padding: 12px; }
  .forum-admin-span-2-v03481 { grid-column: auto; }
  .forum-admin-switches-v03481 { display: grid; }
  .forum-admin-panel-v03481 { padding: 11px; }
  .forum-admin-panel-head-v03481 { display: grid; gap: 6px; margin-bottom: 11px; }
  .forum-admin-help-v03481 { max-width: none; text-align: left; }
  .forum-admin-item-head-v03481 { grid-template-columns: 36px minmax(0, 1fr) auto; gap: 9px; padding: 11px; }
  .forum-admin-item-icon-v03481 { width: 34px; height: 34px; }
  .forum-admin-item-copy-v03481 small { white-space: normal; }
  .forum-admin-item-meta-v03481 { min-width: 48px; }
  .forum-admin-item-head-v03481 > .btn { grid-column: 2 / -1; width: 100%; }
  .forum-admin-channel-head-v03481 { grid-template-columns: 30px minmax(0, 1fr) auto; gap: 8px; padding: 10px; }
  .forum-admin-channel-icon-v03481 { width: 29px; height: 29px; }
  .forum-admin-channel-head-v03481 .forum-admin-order-v03481 { grid-column: 3; grid-row: 1; }
  .forum-admin-channel-head-v03481 .text-link { grid-column: 2 / -1; justify-self: start; }
  .forum-admin-channel-edit-v03481 > summary { padding-left: 48px; }
  .forum-admin-danger-v03481 { margin: 0 12px 12px; }
  .forum-admin-danger-v03481 form { grid-template-columns: minmax(0, 1fr); }
  .forum-admin-danger-v03481 p,
  .forum-admin-danger-v03481 .checkbox-row { grid-column: auto; }
  .forum-admin-users-v03481 > div { grid-template-columns: 1fr; }
}

/* v0.3.48.2 — ID игроков и живой выбор получателя ЛС */
.profile-portal-number-v03482 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  width: fit-content;
  margin: 6px 0 9px;
  padding: 7px 8px 7px 11px;
  border: 1px solid rgba(225,25,45,.22);
  border-radius: 11px;
  background: rgba(225,25,45,.065);
}
.profile-portal-number-v03482 > span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.profile-portal-number-v03482 > strong { color: #ff6978; font-size: 16px; letter-spacing: .05em; }
.profile-portal-number-v03482 .btn { padding: 5px 8px; }

.admin-user-portal-number-v03482 { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; }
.admin-user-portal-number-v03482 code { color: #ff7180; font-size: 11px; }
.admin-user-portal-number-edit-v03482 { position: relative; margin-top: 5px; }
.admin-user-portal-number-edit-v03482 > summary { color: #aaaab3; font-size: 10px; cursor: pointer; }
.admin-user-portal-number-edit-v03482 > form { display: grid; grid-template-columns: 76px auto; gap: 5px; width: min(280px, 72vw); margin-top: 7px; padding: 8px; border: 1px solid rgba(255,255,255,.08); border-radius: 9px; background: #111116; }
.admin-user-portal-number-edit-v03482 input { box-sizing: border-box; width: 76px; min-width: 0; }
.admin-user-portal-number-edit-v03482 .btn:last-child { grid-column: 1 / -1; }
.admin-user-portal-number-edit-v03482 > small { display: block; max-width: 270px; margin-top: 5px; color: #777783; overflow-wrap: anywhere; }

.personal-message-new-head-v03482,
.personal-recipient-picker-v03482,
.personal-message-new-compose-v03482 {
  width: min(1180px, calc(100% - 28px));
  margin-inline: auto;
  box-sizing: border-box;
}
.personal-recipient-picker-v03482,
.personal-message-new-compose-v03482 { margin-bottom: 14px; padding: 17px; }
.personal-recipient-picker-head-v03482 { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 13px; }
.personal-recipient-picker-head-v03482 h2 { margin: 3px 0 0; font-size: 21px; }
.personal-recipient-picker-head-v03482 > small { max-width: 390px; color: var(--muted); font-size: 11px; text-align: right; }

.personal-recipient-search-v03482 { display: grid; gap: 6px; position: relative; }
.personal-recipient-search-v03482 > label { font-size: 12px; font-weight: 800; }
.personal-recipient-search-line-v03482 { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 8px; }
.personal-recipient-search-line-v03482 input { box-sizing: border-box; width: 100%; min-width: 0; height: 42px; }
.personal-recipient-search-state-v03482 { min-width: 74px; color: var(--muted); font-size: 10px; text-align: right; }
.personal-recipient-search-state-v03482.is-loading { color: #ff7b88; }

.personal-recipient-results-v03482 {
  display: grid;
  max-height: 430px;
  margin-top: 9px;
  overflow: auto;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 12px;
  background: rgba(10,10,14,.98);
  box-shadow: 0 18px 48px rgba(0,0,0,.36);
}
.personal-recipient-results-v03482[hidden] { display: none; }
.personal-recipient-option-v03482 {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  min-width: 0;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  color: inherit;
  text-decoration: none;
}
.personal-recipient-option-v03482:last-child { border-bottom: 0; }
.personal-recipient-option-v03482:hover,
.personal-recipient-option-v03482.is-active { background: linear-gradient(90deg,rgba(225,25,45,.11),rgba(255,255,255,.035)); color: inherit; }
.personal-recipient-option-v03482.is-disabled { opacity: .53; cursor: not-allowed; }
.personal-recipient-option-v03482 > img,
.personal-recipient-avatar-v03482,
.personal-recipient-recent-item-v03482 > img,
.personal-recipient-recent-item-v03482 > span,
.personal-selected-recipient-avatar-v03482 {
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 10px;
  background: rgba(255,255,255,.055);
  object-fit: cover;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
}
.personal-recipient-copy-v03482 { display: grid; gap: 3px; min-width: 0; }
.personal-recipient-copy-v03482 strong { overflow: hidden; color: #fff; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.personal-recipient-copy-v03482 small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.personal-recipient-action-v03482 { color: #ff7a87; font-size: 10px; font-weight: 800; white-space: nowrap; }
.personal-recipient-empty-v03482 { padding: 17px; color: var(--muted); font-size: 12px; text-align: center; }

.personal-recipient-recent-v03482 { display: grid; gap: 7px; margin-top: 13px; }
.personal-recipient-recent-v03482 > span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.personal-recipient-recent-v03482 > div { display: flex; gap: 7px; padding-bottom: 2px; overflow-x: auto; }
.personal-recipient-recent-item-v03482 { display: grid; grid-template-columns: 30px minmax(90px, auto); align-items: center; gap: 7px; min-width: 155px; padding: 7px 9px; border: 1px solid rgba(255,255,255,.075); border-radius: 10px; background: rgba(255,255,255,.028); color: inherit; text-decoration: none; }
.personal-recipient-recent-item-v03482:hover { border-color: rgba(225,25,45,.25); background: rgba(225,25,45,.06); color: inherit; }
.personal-recipient-recent-item-v03482 > img,
.personal-recipient-recent-item-v03482 > span { grid-row: 1 / span 2; width: 28px; height: 28px; border-radius: 8px; }
.personal-recipient-recent-item-v03482 strong { overflow: hidden; color: #fff; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.personal-recipient-recent-item-v03482 small { color: #ff7482; font-size: 9px; }
.personal-recipient-manual-v03482 { margin-top: 12px; border-top: 1px solid rgba(255,255,255,.065); padding-top: 9px; }
.personal-recipient-manual-v03482 > summary { width: fit-content; color: var(--muted); font-size: 10px; cursor: pointer; }
.personal-recipient-manual-v03482 > form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; max-width: 720px; margin-top: 9px; }
.personal-recipient-manual-v03482 input { box-sizing: border-box; width: 100%; min-width: 0; }

.personal-message-new-form-v03482 { gap: 11px; }
.personal-selected-recipient-v03482 { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid rgba(225,25,45,.22); border-radius: 12px; background: linear-gradient(90deg,rgba(225,25,45,.075),rgba(255,255,255,.025)); }
.personal-selected-recipient-v03482[hidden] { display: none; }
.personal-selected-recipient-avatar-v03482 { width: 38px; height: 38px; border-color: rgba(225,25,45,.26); background: rgba(225,25,45,.11); overflow: hidden; }
.personal-selected-recipient-avatar-v03482 img { width: 100%; height: 100%; object-fit: cover; }
.personal-selected-recipient-v03482 > div { display: grid; min-width: 0; }
.personal-selected-recipient-v03482 small { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.personal-selected-recipient-v03482 strong { overflow: hidden; color: #fff; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.personal-selected-recipient-v03482 span { color: #ff7482; font-size: 10px; }
.personal-recipient-required-v03482 { padding: 16px; border: 1px dashed rgba(255,255,255,.1); border-radius: 11px; color: var(--muted); font-size: 12px; text-align: center; }
.personal-recipient-required-v03482[hidden] { display: none; }
.personal-message-compose-fields-v03482 { min-width: 0; margin: 0; padding: 0; border: 0; }
.personal-message-compose-fields-v03482:disabled { opacity: .5; }
.personal-message-compose-fields-v03482 .message-compose-row-v0323 { align-items: end; }
.personal-message-compose-fields-v03482 textarea { min-height: 70px !important; }
.personal-existing-conversation-v03482 { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.personal-existing-conversation-v03482 h2 { margin: 3px 0; font-size: 20px; }
.personal-existing-conversation-v03482 small { color: #ff7482; }

.forum-author-message-v03482 { display: inline-grid; place-items: center; width: 21px; height: 21px; margin-left: 2px; border: 1px solid rgba(255,255,255,.09); border-radius: 7px; background: rgba(255,255,255,.04); color: #aaaab3; font-size: 11px; text-decoration: none; }
.forum-author-message-v03482:hover { border-color: rgba(225,25,45,.3); background: rgba(225,25,45,.1); color: #fff; }

@media (max-width: 720px) {
  .profile-portal-number-v03482 { width: 100%; }
  .admin-user-portal-number-edit-v03482 > form { grid-template-columns: 1fr; width: min(250px, 72vw); }
  .admin-user-portal-number-edit-v03482 input { width: 100%; }
  .admin-user-portal-number-edit-v03482 .btn:last-child { grid-column: auto; }
  .personal-message-new-head-v03482,
  .personal-recipient-picker-v03482,
  .personal-message-new-compose-v03482 { width: min(100% - 16px, 1180px); }
  .personal-recipient-picker-v03482,
  .personal-message-new-compose-v03482 { padding: 12px; }
  .personal-recipient-picker-head-v03482 { display: grid; gap: 5px; }
  .personal-recipient-picker-head-v03482 > small { text-align: left; }
  .personal-recipient-search-line-v03482 { grid-template-columns: minmax(0, 1fr) auto; }
  .personal-recipient-search-state-v03482 { grid-column: 1 / -1; grid-row: 2; min-width: 0; text-align: left; }
  .personal-recipient-option-v03482 { grid-template-columns: 36px minmax(0, 1fr); padding: 9px; }
  .personal-recipient-action-v03482 { grid-column: 2; white-space: normal; }
  .personal-recipient-manual-v03482 > form { grid-template-columns: 1fr; }
  .personal-selected-recipient-v03482 { grid-template-columns: 38px minmax(0, 1fr) auto; }
  .personal-selected-recipient-v03482 > .text-link { grid-column: 2; grid-row: 2; }
  .personal-selected-recipient-v03482 > .btn { grid-column: 3; grid-row: 1 / span 2; }
  .personal-message-compose-fields-v03482 .message-compose-row-v0323 { grid-template-columns: minmax(0, 1fr) auto !important; }
  .personal-message-compose-fields-v03482 .message-compose-text-v0323 { grid-column: 1 / -1; }
  .personal-message-compose-fields-v03482 .attachment-picker-v0323 { grid-column: 1; grid-row: 2; justify-self: start; }
  .personal-message-compose-fields-v03482 .message-send-btn-v0323 { grid-column: 2; grid-row: 2; min-width: 110px; }
  .personal-existing-conversation-v03482 { display: grid; }
  .personal-existing-conversation-v03482 .btn { width: 100%; }
}

/* v0.3.48.3 — компактное управление пользователями */
.admin-users-head-v03482,
.admin-users-form-panel.admin-users-form-panel-v03482,
.admin-users-list-v03482 {
  box-sizing: border-box;
  width: min(1320px, calc(100% - 28px));
  margin-inline: auto;
}
.admin-users-form-panel.admin-users-form-panel-v03482 {
  margin-left: auto;
  transform: none;
}
.admin-users-stats-v03482 { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.admin-users-stats-v03482 > span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.075); border-radius: 9px; background: rgba(255,255,255,.035); color: var(--muted); font-size: 10px; }
.admin-users-stats-v03482 > span strong { margin-right: 3px; color: #fff; font-size: 13px; }
.admin-users-stats-v03482 > span.is-ok { border-color: rgba(58,193,111,.18); color: #83dca5; }
.admin-users-stats-v03482 > span.is-warning { border-color: rgba(255,190,70,.18); color: #d7bc7e; }
.admin-users-search-v03482 { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; }
.admin-users-search-v03482 input { box-sizing: border-box; width: 100%; min-width: 0; }
.admin-users-list-v03482 { display: grid; gap: 9px; margin-bottom: 42px; }
.admin-users-empty-v03482 { padding: 28px; color: var(--muted); text-align: center; }

.admin-user-card-v03482 { min-width: 0; margin: 0; padding: 0; overflow: hidden; }
.admin-user-card-v03482.is-blocked { border-color: rgba(225,25,45,.2); }
.admin-user-card-head-v03482 {
  display: grid;
  grid-template-columns: 46px minmax(190px, 1.1fr) minmax(480px, 2fr) auto;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 13px 14px;
}
.admin-user-avatar-v03482,
.admin-user-avatar-v03482 img,
.admin-user-avatar-v03482 span { display: grid; place-items: center; box-sizing: border-box; width: 44px; height: 44px; border-radius: 12px; }
.admin-user-avatar-v03482 { overflow: hidden; border: 1px solid rgba(255,255,255,.09); background: rgba(255,255,255,.045); color: #fff; text-decoration: none; }
.admin-user-avatar-v03482 img { object-fit: cover; }
.admin-user-avatar-v03482 span { font-size: 16px; font-weight: 900; }
.admin-user-identity-v03482 { display: grid; gap: 6px; min-width: 0; }
.admin-user-identity-v03482 > div:first-child { display: grid; gap: 2px; min-width: 0; }
.admin-user-identity-v03482 .user-link { width: fit-content; max-width: 100%; overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.admin-user-identity-v03482 small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.admin-user-state-row-v03482 { display: flex; flex-wrap: wrap; gap: 4px; }
.admin-user-state-row-v03482 .tag { padding: 3px 6px; font-size: 8px; }
.admin-user-visible-badges-v03482 { max-height: 25px; margin: 0; overflow: hidden; }
.admin-user-visible-badges-v03482 .tag { font-size: 8px; }
.admin-user-facts-v03482 { display: grid; grid-template-columns: .7fr 1.25fr .8fr 1.2fr; gap: 7px; min-width: 0; }
.admin-user-facts-v03482 > span { display: grid; align-content: center; gap: 3px; min-width: 0; min-height: 44px; padding: 7px 9px; border: 1px solid rgba(255,255,255,.06); border-radius: 9px; background: rgba(255,255,255,.025); }
.admin-user-facts-v03482 small { color: #777783; font-size: 8px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.admin-user-facts-v03482 strong,
.admin-user-facts-v03482 code { min-width: 0; overflow: hidden; color: #dddde3; font-size: 10px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.admin-user-facts-v03482 > span:first-child strong { color: #ff7180; font-size: 12px; }
.admin-user-profile-link-v03482 { white-space: nowrap; }

.admin-user-settings-v03482 { border-top: 1px solid rgba(255,255,255,.06); }
.admin-user-settings-v03482 > summary { display: grid; grid-template-columns: minmax(0, 1fr) minmax(200px, auto) 18px; align-items: center; gap: 12px; padding: 9px 14px; background: rgba(5,5,8,.16); color: #a9a9b1; font-size: 10px; cursor: pointer; list-style: none; }
.admin-user-settings-v03482 > summary::-webkit-details-marker,
.admin-user-badge-picker-v03482 > summary::-webkit-details-marker { display: none; }
.admin-user-settings-v03482 > summary small { color: #686872; text-align: right; }
.admin-user-settings-v03482 > summary b { font-size: 15px; text-align: right; transition: transform .16s ease; }
.admin-user-settings-v03482[open] > summary { background: rgba(255,255,255,.025); color: #fff; }
.admin-user-settings-v03482[open] > summary b { transform: rotate(180deg); }
.admin-user-settings-grid-v03482 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 11px; background: rgba(4,4,7,.2); }
.admin-user-settings-card-v03482 { display: grid; align-content: start; gap: 11px; min-width: 0; padding: 13px; border: 1px solid rgba(255,255,255,.07); border-radius: 12px; background: rgba(255,255,255,.025); }
.admin-user-settings-card-v03482.is-danger { border-color: rgba(225,25,45,.18); background: rgba(225,25,45,.025); }
.admin-user-settings-card-v03482 > header { display: grid; gap: 2px; }
.admin-user-settings-card-v03482 > header span { color: #ff6271; font-size: 8px; font-weight: 900; letter-spacing: .15em; }
.admin-user-settings-card-v03482 > header h3 { margin: 0; color: #fff; font-size: 15px; }
.admin-user-field-form-v03482 { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 7px; }
.admin-user-field-form-v03482 label,
.admin-user-badges-form-v03482 > label { display: grid; gap: 5px; min-width: 0; color: var(--muted); font-size: 10px; }
.admin-user-field-form-v03482 input,
.admin-user-badges-form-v03482 input,
.admin-user-comment-form-v03482 textarea,
.admin-user-block-form-v03482 input { box-sizing: border-box; width: 100%; min-width: 0; }
.admin-user-dayz-v03482 { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px; border: 1px solid rgba(255,255,255,.06); border-radius: 10px; background: rgba(0,0,0,.13); }
.admin-user-dayz-v03482 > div { display: grid; gap: 2px; min-width: 0; }
.admin-user-dayz-v03482 small,
.admin-user-dayz-v03482 span { color: var(--muted); font-size: 9px; }
.admin-user-dayz-v03482 strong { color: #fff; font-size: 13px; }

.admin-user-settings-card-v03482 .admin-user-portal-number-edit-v03482 { margin: 0; border: 1px solid rgba(225,25,45,.14); border-radius: 10px; background: rgba(225,25,45,.03); }
.admin-user-settings-card-v03482 .admin-user-portal-number-edit-v03482 > summary { padding: 9px 10px; color: #e2a4aa; font-size: 10px; cursor: pointer; }
.admin-user-settings-card-v03482 .admin-user-portal-number-edit-v03482 > form { grid-template-columns: minmax(110px, 1fr) auto auto; width: auto; margin: 0; padding: 0 9px 9px; border: 0; background: transparent; }
.admin-user-settings-card-v03482 .admin-user-portal-number-edit-v03482 input { width: 100%; }
.admin-user-settings-card-v03482 .admin-user-portal-number-edit-v03482 .btn:last-child { grid-column: auto; }
.admin-user-settings-card-v03482 .admin-user-portal-number-edit-v03482 > small { max-width: none; padding: 0 9px 8px; }

.admin-user-badges-form-v03482 { display: grid; gap: 9px; }
.admin-user-badge-picker-v03482 { border: 1px solid rgba(255,255,255,.07); border-radius: 10px; }
.admin-user-badge-picker-v03482 > summary { display: flex; justify-content: space-between; gap: 8px; padding: 9px 10px; color: #bbbcc4; font-size: 10px; cursor: pointer; list-style: none; }
.admin-user-badge-picker-v03482 > summary b { color: #ff7180; }
.admin-user-badge-picker-v03482 .status-checkbox-grid { max-height: 250px; padding: 0 9px 9px; overflow: auto; }
.admin-user-comment-form-v03482 { display: grid; gap: 7px; }
.admin-user-comment-form-v03482 textarea { min-height: 112px; resize: vertical; }
.admin-user-block-reason-v03482 { margin: 0; padding: 9px; border-radius: 9px; background: rgba(225,25,45,.07); color: #dba2a8; font-size: 10px; }
.admin-user-access-actions-v03482 { display: grid; gap: 8px; }
.admin-user-access-actions-v03482 form:not(.admin-user-block-form-v03482) .btn { width: 100%; }
.admin-user-block-form-v03482 { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }

@media (max-width: 1050px) {
  .admin-user-card-head-v03482 { grid-template-columns: 46px minmax(180px, 1fr) auto; }
  .admin-user-facts-v03482 { grid-column: 1 / -1; grid-row: 2; grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .admin-users-head-v03482,
  .admin-users-form-panel.admin-users-form-panel-v03482,
  .admin-users-list-v03482 { width: min(100% - 16px, 1320px); }
  .admin-users-search-v03482 { grid-template-columns: minmax(0, 1fr) auto; }
  .admin-users-search-v03482 .btn-ghost { grid-column: 1 / -1; }
  .admin-user-card-head-v03482 { grid-template-columns: 42px minmax(0, 1fr) auto; gap: 9px; padding: 11px; }
  .admin-user-avatar-v03482,
  .admin-user-avatar-v03482 img,
  .admin-user-avatar-v03482 span { width: 40px; height: 40px; border-radius: 11px; }
  .admin-user-profile-link-v03482 { padding-inline: 8px; font-size: 9px; }
  .admin-user-facts-v03482 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
  .admin-user-facts-v03482 > span { min-height: 38px; padding: 6px 7px; }
  .admin-user-facts-v03482 > span:nth-child(2) code { font-size: 8px; }
  .admin-user-settings-v03482 > summary { grid-template-columns: minmax(0, 1fr) 18px; gap: 7px; padding: 9px 11px; }
  .admin-user-settings-v03482 > summary small { display: none; }
  .admin-user-settings-grid-v03482 { grid-template-columns: 1fr; padding: 8px; }
  .admin-user-settings-card-v03482 { padding: 11px; }
  .admin-user-settings-card-v03482 .admin-user-portal-number-edit-v03482 > form { grid-template-columns: 1fr; }
  .admin-user-field-form-v03482,
  .admin-user-block-form-v03482 { grid-template-columns: 1fr; }
  .admin-user-dayz-v03482 { align-items: stretch; flex-direction: column; }
  .admin-user-dayz-v03482 .btn { width: 100%; }
}

/* v0.3.48.4 — компактные реакции в сообщениях и рабочая админка обращений. */
.message-overflow-actions-v04739 {
  display: flex;
  align-items: center;
  gap: 5px;
}
.message-reactions-inline-v03484 {
  display: flex;
  align-items: center;
  gap: 3px;
  max-width: 150px;
  overflow: hidden;
}
.message-reaction-inline-form-v03484 { display: block; flex: 0 0 auto; margin: 0; }
.message-reaction-inline-v03484 {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  height: 23px;
  min-width: 31px;
  padding: 1px 6px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  background: rgba(15,15,19,.92);
  color: #d8d8df;
  cursor: pointer;
}
.message-reaction-inline-v03484:hover,
.message-reaction-inline-v03484.active { border-color: rgba(225,25,45,.55); background: rgba(225,25,45,.16); color: #fff; }
.message-reaction-inline-v03484 span { font-size: 13px; line-height: 1; }
.message-reaction-inline-v03484 b { font-size: 9px; line-height: 1; }
.message-reaction-inline-v03484:disabled { cursor: default; opacity: .7; }
.thread-menu-delete-v03484 { margin-top: 5px; padding-top: 5px; border-top: 1px solid rgba(255,255,255,.07); }
.forum-channel-message-v03480:has(.message-reactions-inline-v03484),
.ticket-message:has(.message-reactions-inline-v03484),
.personal-message:has(.message-reactions-inline-v03484) { padding-right: 205px !important; }

.admin-tickets-head-v03484,
.admin-ticket-filter-panel-v03484,
.admin-ticket-list-v03484 { width: min(1180px, calc(100% - 32px)); margin-inline: auto; box-sizing: border-box; }
.admin-tickets-head-v03484 { margin-bottom: 12px; }
.admin-tickets-title-v03484 { display: flex; align-items: end; justify-content: space-between; gap: 18px; }
.admin-tickets-title-v03484 h1 { margin-bottom: 4px; }
.admin-tickets-title-v03484 p { margin: 0; color: var(--muted); font-size: 12px; }
.admin-tickets-title-v03484 .tabs { margin: 0; }
.admin-ticket-filter-panel-v03484 { margin-bottom: 12px; padding: 13px; }
.admin-ticket-filter-main-v03484 { display: grid; grid-template-columns: minmax(240px, 2fr) minmax(180px, 1fr) minmax(180px, 1fr) auto; align-items: end; gap: 9px; }
.admin-ticket-filter-main-v03484 label,
.admin-ticket-filter-grid-v03484 label,
.admin-ticket-control-v03484 label { display: grid; gap: 5px; min-width: 0; color: var(--muted); font-size: 10px; }
.admin-ticket-filter-main-v03484 input,
.admin-ticket-filter-main-v03484 select,
.admin-ticket-filter-grid-v03484 input,
.admin-ticket-filter-grid-v03484 select,
.admin-ticket-control-v03484 select { box-sizing: border-box; width: 100%; min-width: 0; }
.admin-ticket-filter-more-v03484 { margin-top: 9px; border-top: 1px solid rgba(255,255,255,.06); }
.admin-ticket-filter-more-v03484 > summary { padding: 9px 1px 0; color: #a3a3ad; font-size: 11px; cursor: pointer; }
.admin-ticket-filter-grid-v03484 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; padding-top: 10px; }
.admin-ticket-filter-more-v03484 > .actions-cell { justify-content: flex-start; margin-top: 9px; }
.admin-ticket-list-v03484 { display: grid; gap: 9px; margin-bottom: 52px; }
.admin-ticket-empty-v03484 { padding: 24px; color: var(--muted); text-align: center; }
.admin-ticket-card-v03484 { padding: 0; overflow: hidden; }
.admin-ticket-card-v03484.is-hidden { opacity: .7; }
.admin-ticket-card-head-v03484 { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 14px; padding: 14px; }
.admin-ticket-card-title-v03484 { min-width: 0; }
.admin-ticket-card-title-v03484 h2 { margin: 7px 0 3px; font-size: 18px; }
.admin-ticket-card-title-v03484 h2 a { color: #fff; text-decoration: none; }
.admin-ticket-card-title-v03484 h2 a:hover { color: #ff7180; }
.admin-ticket-card-title-v03484 p { max-width: 780px; margin: 0; overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.admin-ticket-tags-v03484 { display: flex; flex-wrap: wrap; gap: 5px; }
.admin-ticket-card-info-v03484 { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(250px, 1.15fr) minmax(180px, 1fr); gap: 1px; border-top: 1px solid rgba(255,255,255,.06); border-bottom: 1px solid rgba(255,255,255,.06); background: rgba(0,0,0,.12); }
.admin-ticket-card-info-v03484 > span { display: grid; align-content: center; gap: 2px; min-width: 0; min-height: 58px; padding: 9px 13px; border-right: 1px solid rgba(255,255,255,.05); }
.admin-ticket-card-info-v03484 > span:last-child { border-right: 0; }
.admin-ticket-card-info-v03484 small { color: #777782; font-size: 9px; text-transform: uppercase; }
.admin-ticket-card-info-v03484 b,
.admin-ticket-card-info-v03484 a { min-width: 0; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.admin-ticket-card-info-v03484 em { overflow: hidden; color: #777782; font-size: 9px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.admin-ticket-card-controls-v03484 { display: grid; grid-template-columns: minmax(230px, .8fr) minmax(430px, 1.5fr) auto; align-items: end; gap: 9px; padding: 11px 13px; }
.admin-ticket-control-v03484 { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 7px; }
.admin-ticket-meta-v03484 { grid-template-columns: minmax(130px, .8fr) minmax(180px, 1.2fr) auto; }
.admin-ticket-hide-v03484 { margin: 0; }

@media (max-width: 900px) {
  .admin-ticket-filter-main-v03484 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-ticket-filter-grid-v03484 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-ticket-card-controls-v03484 { grid-template-columns: 1fr; }
  .admin-ticket-hide-v03484 .btn { width: 100%; }
}
@media (max-width: 720px) {
  .forum-channel-message-v03480:has(.message-reactions-inline-v03484),
  .ticket-message:has(.message-reactions-inline-v03484),
  .personal-message:has(.message-reactions-inline-v03484) { padding-right: 145px !important; }
  .message-reactions-inline-v03484 { max-width: 92px; }
  .admin-tickets-head-v03484,
  .admin-ticket-filter-panel-v03484,
  .admin-ticket-list-v03484 { width: min(100% - 16px, 1180px); }
  .admin-tickets-title-v03484 { align-items: stretch; flex-direction: column; }
  .admin-tickets-title-v03484 .tabs { width: 100%; }
  .admin-tickets-title-v03484 .tab { flex: 1; text-align: center; }
  .admin-ticket-filter-main-v03484,
  .admin-ticket-filter-grid-v03484 { grid-template-columns: 1fr; }
  .admin-ticket-card-head-v03484 { padding: 11px; }
  .admin-ticket-card-title-v03484 p { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  .admin-ticket-card-info-v03484 { grid-template-columns: 1fr; }
  .admin-ticket-card-info-v03484 > span { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.05); }
  .admin-ticket-card-info-v03484 > span:last-child { border-bottom: 0; }
  .admin-ticket-meta-v03484 { grid-template-columns: 1fr; }
}

/* v0.3.48.5 — улучшенная читаемость списка обращений на ПК. */
@media (min-width: 901px) {
  .admin-tickets-title-v03484 p { font-size: 13px; }
  .admin-ticket-filter-main-v03484 label,
  .admin-ticket-filter-grid-v03484 label,
  .admin-ticket-control-v03484 label { font-size: 11px; }
  .admin-ticket-filter-main-v03484 input,
  .admin-ticket-filter-main-v03484 select,
  .admin-ticket-filter-grid-v03484 input,
  .admin-ticket-filter-grid-v03484 select,
  .admin-ticket-control-v03484 select { font-size: 13px; }
  .admin-ticket-filter-more-v03484 > summary { font-size: 12px; }
  .admin-ticket-tags-v03484 .tag { font-size: 11px; }
  .admin-ticket-card-title-v03484 h2 { font-size: 19px; }
  .admin-ticket-card-title-v03484 p { font-size: 13px; }
  .admin-ticket-card-info-v03484 small { font-size: 10px; }
  .admin-ticket-card-info-v03484 b,
  .admin-ticket-card-info-v03484 a { font-size: 12px; }
  .admin-ticket-card-info-v03484 em { font-size: 10px; }
  .admin-ticket-card-controls-v03484 .btn,
  .admin-ticket-card-head-v03484 > .btn { font-size: 12px; }
}

/* v0.3.48.6 — новые отметки, данж-регистрация и компактные реакции. */
.nav-voice-online-count-v0486 { display: inline-grid; min-width: 18px; height: 18px; margin-left: 4px; place-items: center; border: 1px solid rgba(255,255,255,.7); border-radius: 999px; color: #fff; font-size: 11px; font-weight: 800; line-height: 1; }
.forum-channel-copy-v03480 strong { display: flex; align-items: center; gap: 7px; }
.forum-topic-back-v0486 { display: inline-flex; margin-bottom: 10px; }
.dungeon-registration-v0486 { display: grid; gap: 14px; margin-top: 14px; padding: 16px; border-color: rgba(225,25,45,.3); background: linear-gradient(135deg, rgba(225,25,45,.1), rgba(20,20,25,.95) 52%); }
.dungeon-registration-v0486 > header { display: flex; justify-content: space-between; gap: 12px; }
.dungeon-registration-v0486 h2 { margin: 2px 0 5px; font-size: 20px; }
.dungeon-registration-v0486 p { margin: 0; color: var(--muted); font-size: 12px; }
.dungeon-registration-zones-v0486 { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; }
.dungeon-registration-zone-v0486 { padding: 12px; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; background: rgba(7,7,10,.5); }
.dungeon-registration-zone-v0486 h3 { margin: 0 0 8px; font-size: 14px; }
.dungeon-registration-zone-v0486 h3 em { color: var(--muted); font-size: 11px; font-weight: 500; }
.dungeon-registration-zone-v0486 ul { display: grid; gap: 5px; padding: 0; margin: 0; list-style: none; }
.dungeon-registration-zone-v0486 li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 8px; align-items: center; padding: 7px; border-radius: 8px; background: rgba(255,255,255,.045); font-size: 12px; }
.dungeon-registration-zone-v0486 li.is-full { opacity: .68; }
.dungeon-registration-zone-v0486 li small { grid-column: 1/-1; color: #c9c9d0; overflow-wrap: anywhere; }
.dungeon-registration-zone-v0486 form { margin: 0; }
.dungeon-registration-form-v0486 { display: flex; gap: 5px; }
.dungeon-registration-form-v0486 input { width: 115px; min-width: 0; min-height: 30px; padding: 4px 7px; font-size: 11px; }
.dungeon-registration-form-v0486 .btn { min-height: 30px; padding: 4px 7px; font-size: 10px; }
.dungeon-admin-settings-v0486 { border-top: 1px solid rgba(255,255,255,.08); padding-top: 10px; }
.dungeon-admin-settings-v0486 summary { cursor: pointer; color: #e7e7ea; font-weight: 700; }
.dungeon-admin-settings-v0486 > div { margin-top: 10px; }
.dungeon-admin-registrations-v0486 { display: grid; gap: 7px; margin-top: 10px; padding: 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; background: rgba(0,0,0,.15); font-size: 12px; }
.dungeon-admin-registrations-v0486 > div { display: grid; gap: 5px; }
.dungeon-admin-registrations-v0486 form { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0; }
.ticket-feedback-v0486 { display: grid; gap: 9px; margin-bottom: 14px; }
.ticket-feedback-v0486 p { margin: 0; }
.ticket-feedback-v0486 form { display: grid; gap: 9px; max-width: 540px; }
body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435 { width: 232px !important; padding: 7px !important; background: rgba(16,18,24,.82) !important; backdrop-filter: blur(12px); }
body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435 .reaction-catalog-grid-v04739 { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; }
body > .forum-post-menu-panel-v0343.forum-post-menu-singleton-v03435 .forum-reaction-btn-v0342 > span { font-size: 18px; }
@media (max-width: 1240px) {
  .topbar { flex-wrap: wrap; }
  .nav-toggle { display: inline-flex; margin-left: 0; }
  .nav { display: none; flex: 0 0 100%; width: 100%; flex-direction: column; align-items: stretch; }
  .nav.open { display: flex; }
  .userbox { flex: 0 0 100%; width: 100%; }
}
@media (max-width: 560px) {
  .dungeon-registration-v0486 { padding: 11px; }
  .dungeon-registration-zones-v0486 { grid-template-columns: 1fr; }
  .dungeon-registration-zone-v0486 li { grid-template-columns: 1fr; }
  .dungeon-registration-form-v0486 { display: grid; grid-template-columns: minmax(0,1fr) auto; }
  .dungeon-registration-form-v0486 input { width: 100%; }
}
@media (max-width: 390px) {
  .news-detail-layout-v0330.article-layout,
  .news-detail-layout-v0330.article-layout-v029 { width: calc(100% - 20px); min-width: 0; margin: 14px auto 30px; gap: 10px; }
  .news-detail-layout-v0330 .news-article-v0330,
  .news-detail-layout-v0330 .news-side-v0330,
  .news-detail-layout-v0330 .content { min-width: 0; max-width: 100%; }
  .news-detail-layout-v0330 .news-article-v0330 { padding: 14px; }
  .news-detail-layout-v0330 .content,
  .news-detail-layout-v0330 .content * { overflow-wrap: anywhere; word-break: break-word; }
  .news-detail-layout-v0330 .content pre,
  .news-detail-layout-v0330 .content code { white-space: pre-wrap; }
}

/* v0.3.48.9 — сетка записи на данжи с учётом количества зон. */
.dungeon-registration-zones-v0489 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dungeon-registration-zones-v0489.is-single-v0489 {
  grid-template-columns: minmax(0, 1fr);
}

.dungeon-registration-zones-v0489.is-pair-v0489,
.dungeon-registration-zones-v0489.is-multi-v0489 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dungeon-registration-zones-v0489 .dungeon-registration-zone-v0486 {
  min-width: 0;
}

.dungeon-registration-zones-v0489 .dungeon-registration-zone-v0486 li > span {
  min-width: 0;
  white-space: nowrap;
}

.dungeon-registration-zones-v0489 .dungeon-registration-form-v0486 {
  min-width: 0;
}

@media (max-width: 900px) {
  .dungeon-registration-zones-v0489,
  .dungeon-registration-zones-v0489.is-pair-v0489,
  .dungeon-registration-zones-v0489.is-multi-v0489 {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 620px) {
  .dungeon-registration-zones-v0489 .dungeon-registration-zone-v0486 li {
    grid-template-columns: minmax(0, 1fr);
  }

  .dungeon-registration-zones-v0489 .dungeon-registration-form-v0486 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .dungeon-registration-zones-v0489 .dungeon-registration-form-v0486 input {
    width: 100%;
  }
}

/* v0.3.48.17 cascade lock — these release fixes must win over legacy layers
   that are kept below for backwards-compatible components. */
.forum-channel-page-v03480 {
  grid-template-columns: minmax(0, 1fr);
  justify-items: stretch !important;
}

.forum-channel-page-v03480 > .forum-channel-head-v03480,
.forum-channel-page-v03480 > .forum-clan-content-layout-v04815,
.forum-channel-page-v03480 .forum-clan-content-main-v04815,
.forum-channel-page-v03480 .forum-clan-content-main-v04815 > .panel,
.forum-channel-page-v03480 .forum-clan-content-main-v04815 > .forum-channel-feed-head-v03480,
.forum-channel-page-v03480 .forum-clan-content-main-v04815 > .forum-channel-thread-v03480 {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  justify-self: stretch !important;
}

@media (min-width: 1450px) {
  .forum-channels-index-v04816 {
    width: min(1040px, calc(100vw - 508px));
  }
}

/* Only the ~1210×834 landscape class used by the newer 11" iPad Pro.
   The 1194×834 iPad Pro 11" 2022 remains on its already-correct layout. */
@media (hover: none) and (pointer: coarse) and (orientation: landscape)
  and (min-width: 1200px) and (max-width: 1220px)
  and (min-height: 700px) and (max-height: 900px) {
  body {
    padding-bottom: 60px !important;
    background-attachment: scroll, scroll, scroll, scroll, scroll !important;
  }

  .page {
    width: min(100% - 20px, 1180px) !important;
    padding-top: 14px !important;
    padding-bottom: 68px !important;
  }

  .topbar {
    gap: 8px !important;
    padding: calc(8px + env(safe-area-inset-top)) 10px 8px !important;
  }

  .topbar .brand {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .topbar .brand-mark,
  .topbar .topbar-avatar {
    width: 34px !important;
    height: 34px !important;
    border-radius: 9px !important;
  }

  .topbar .brand strong {
    display: block !important;
    max-width: 46vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .topbar .brand small,
  .topbar .nav,
  .topbar .nav-toggle,
  .topbar .topbar-donate,
  .topbar .topbar-ticket-action,
  .topbar .topbar-messages-action,
  .topbar .topbar-profile-action,
  .topbar .topbar-settings-v03206,
  .topbar .topbar-logout-form,
  .topbar .topbar-login-action,
  .topbar .topbar-user-name {
    display: none !important;
  }

  .topbar .userbox {
    flex: 0 0 auto !important;
    gap: 6px !important;
    overflow: visible !important;
  }

  body > .mobile-bottom-nav-v039 {
    position: fixed !important;
    top: auto !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    bottom: 0 !important;
    left: max(8px, env(safe-area-inset-left)) !important;
    z-index: 2147483000 !important;
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: 1fr !important;
    gap: 4px !important;
    box-sizing: border-box !important;
    width: auto !important;
    max-width: none !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    margin: 0 !important;
    padding: 2px 4px !important;
    border-radius: 15px 15px 0 0 !important;
    transform: none !important;
    translate: none !important;
  }

  body > .mobile-bottom-nav-v039 .mobile-bottom-nav-item-v039 {
    box-sizing: border-box !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 2px 3px !important;
  }
}

/* v0.3.48.18 — physical iPad targeting, aligned topic canvas and quieter Wiki side panels. */
.forum-channel-page-v03480 {
  display: flex !important;
  flex-direction: column;
  align-items: stretch !important;
  box-sizing: border-box;
  width: min(1180px, calc(100% - 28px)) !important;
  max-width: 1180px !important;
  margin: 28px auto 56px !important;
}

.forum-channel-page-v03480 > .forum-channel-head-v03480,
.forum-channel-page-v03480 > .forum-clan-content-layout-v04815 {
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.forum-channel-page-v03480.is-common-topic-v04818 > .forum-clan-content-layout-v04815,
.forum-channel-page-v03480.is-common-topic-v04818 .forum-clan-content-main-v04815 {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100% !important;
}

.forum-channel-page-v03480.is-common-topic-v04818 .forum-clan-content-main-v04815 > .panel,
.forum-channel-page-v03480.is-common-topic-v04818 .forum-clan-content-main-v04815 > .forum-channel-feed-head-v03480,
.forum-channel-page-v03480.is-common-topic-v04818 .forum-clan-content-main-v04815 > .forum-channel-thread-v03480 {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  align-self: stretch !important;
}

.articles-toolbar-v0396.articles-toolbar-side-v04713,
.articles-side-v0396.articles-nav-panel-v04713 {
  border-color: rgba(255,255,255,.052) !important;
  background: rgba(15,15,19,.72) !important;
  box-shadow: 0 12px 38px rgba(0,0,0,.18) !important;
}

.articles-toolbar-side-v04713 .articles-filter-panel-v0401,
.articles-nav-panel-v04713 .side-chip {
  border-color: rgba(255,255,255,.05);
}

.articles-nav-panel-v04713 .side-chip:not(.active) {
  background: rgba(255,255,255,.025);
  color: rgba(220,220,226,.78);
}

html[data-ipad-layout="mobile-landscape"] body {
  padding-bottom: 60px !important;
  background-attachment: scroll, scroll, scroll, scroll, scroll !important;
}

html[data-ipad-layout="mobile-landscape"] .page {
  width: min(100% - 20px, 1180px) !important;
  padding-top: 14px !important;
  padding-bottom: 68px !important;
}

html[data-ipad-layout="mobile-landscape"] .topbar {
  gap: 8px !important;
  padding: calc(8px + env(safe-area-inset-top)) 10px 8px !important;
}

html[data-ipad-layout="mobile-landscape"] .topbar .brand {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

html[data-ipad-layout="mobile-landscape"] .topbar .brand-mark,
html[data-ipad-layout="mobile-landscape"] .topbar .topbar-avatar {
  width: 34px !important;
  height: 34px !important;
  border-radius: 9px !important;
}

html[data-ipad-layout="mobile-landscape"] .topbar .brand strong {
  display: block !important;
  max-width: 46vw;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html[data-ipad-layout="mobile-landscape"] .topbar .brand small,
html[data-ipad-layout="mobile-landscape"] .topbar .nav,
html[data-ipad-layout="mobile-landscape"] .topbar .nav-toggle,
html[data-ipad-layout="mobile-landscape"] .topbar .topbar-donate,
html[data-ipad-layout="mobile-landscape"] .topbar .topbar-ticket-action,
html[data-ipad-layout="mobile-landscape"] .topbar .topbar-messages-action,
html[data-ipad-layout="mobile-landscape"] .topbar .topbar-profile-action,
html[data-ipad-layout="mobile-landscape"] .topbar .topbar-settings-v03206,
html[data-ipad-layout="mobile-landscape"] .topbar .topbar-logout-form,
html[data-ipad-layout="mobile-landscape"] .topbar .topbar-login-action,
html[data-ipad-layout="mobile-landscape"] .topbar .topbar-user-name {
  display: none !important;
}

html[data-ipad-layout="mobile-landscape"] .topbar .userbox {
  flex: 0 0 auto !important;
  gap: 6px !important;
  overflow: visible !important;
}

html[data-ipad-layout="mobile-landscape"] body > .mobile-bottom-nav-v039 {
  position: fixed !important;
  top: auto !important;
  right: max(8px, env(safe-area-inset-right)) !important;
  bottom: 0 !important;
  left: max(8px, env(safe-area-inset-left)) !important;
  z-index: 2147483000 !important;
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: 1fr !important;
  gap: 4px !important;
  box-sizing: border-box !important;
  width: auto !important;
  max-width: none !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  margin: 0 !important;
  padding: 2px 4px !important;
  border-radius: 15px 15px 0 0 !important;
  transform: none !important;
  translate: none !important;
}

html[data-ipad-layout="mobile-landscape"] body > .mobile-bottom-nav-v039 .mobile-bottom-nav-item-v039 {
  box-sizing: border-box !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  padding: 2px 3px !important;
}

@media (max-width: 720px) {
  .forum-channel-page-v03480 {
    width: min(100% - 16px, 1180px) !important;
    margin-top: 10px !important;
    gap: 9px;
  }
}

/* v0.3.48.19 — one-width forum feed. */
.forum-channel-page-v03480 .forum-clan-content-main-v04815,
.forum-channel-page-v03480 .forum-channel-compose-v03480,
.forum-channel-page-v03480 .forum-channel-feed-head-v03480,
.forum-channel-page-v03480 .forum-channel-thread-v03480,
.forum-channel-page-v03480 .forum-channel-thread-v03480 > .panel,
.forum-channel-page-v03480 .forum-channel-message-v03480,
.forum-channel-page-v03480 .forum-channel-message-v03480 .thread-message-line-v03234,
.forum-channel-page-v03480 .forum-channel-message-v03480 .content {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  align-self: stretch !important;
}

/* v0.3.48.20 — возврат точечного header iPad 2025 и отдельный доступ «Бустеры». */
.forum-channel-row-v03480.is-booster-access-v04820 {
  border-left-color: rgba(80, 160, 255, .42);
}

.admin-status-booster-limit-v04819 {
  display: none;
  grid-column: 1 / -1;
  grid-template-columns: minmax(190px, 280px) minmax(0, 1fr);
  align-items: end;
  gap: 12px;
  padding: 11px;
  border: 1px solid rgba(80,160,255,.22);
  border-radius: 11px;
  background: rgba(80,160,255,.045);
}

.admin-status-create-form-v04817:has(input[name="isBooster"]:checked) .admin-status-booster-limit-v04819 {
  display: grid;
}

.admin-status-booster-limit-v04819 label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: #b9b9c2;
  font-size: 11px;
  font-weight: 700;
}

.admin-status-booster-limit-v04819 input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 8px 10px;
  font-size: 13px;
}

.admin-status-booster-limit-v04819 small {
  align-self: center;
  color: var(--muted);
  font-size: 11px;
}

.admin-status-booster-field-v04819,
.admin-status-facts-v04817 > span.is-booster-v04819 {
  border-color: rgba(80,160,255,.2);
  background: rgba(80,160,255,.045);
}

.admin-status-booster-field-v04819 {
  padding: 9px;
  border-width: 1px;
  border-style: solid;
  border-radius: 10px;
}

.admin-status-row-v04817.is-booster-v04819:not(.is-clan-v04817) {
  border-color: rgba(80,160,255,.22);
  background:
    radial-gradient(circle at 100% 0%, rgba(80,160,255,.08), transparent 34%),
    var(--panel);
}

.status-booster-mark-v04819 {
  margin-left: 4px;
  padding: 1px 5px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 900;
  line-height: 1.25;
  opacity: .82;
  text-transform: uppercase;
}

@media (max-width: 520px) {
  .admin-status-booster-limit-v04819 {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* v0.3.48.10 — текст записи на данжи увеличен на 2 px. */
.dungeon-registration-v0486 .eyebrow { font-size: 14px; }
.dungeon-registration-v0486 h2 { font-size: 22px; }
.dungeon-registration-v0486 p { font-size: 14px; }
.dungeon-registration-v0486 > header > .tag { font-size: 14px; }
.dungeon-registration-zone-v0486 h3 { font-size: 16px; }
.dungeon-registration-zone-v0486 h3 em { font-size: 13px; }
.dungeon-registration-zone-v0486 li { font-size: 14px; }
.dungeon-registration-zone-v0486 li small { font-size: 12px; }
.dungeon-registration-form-v0486 input { font-size: 13px; }
.dungeon-registration-form-v0486 .btn { font-size: 12px; }
.dungeon-registration-zone-v0486 form:not(.dungeon-registration-form-v0486) .btn { font-size: 14px; }

/* v0.3.48.8 — принудительно компактная нижняя навигация без safe-area в геометрии. */
.ticket-feedback-badge-v0486 {
  border-color: rgba(255, 210, 92, .28);
  background: rgba(255, 210, 92, .1);
  color: #ffe29a;
}

@media (max-width: 768px) {
  /* Несколько fixed-фонов вместе с backdrop-filter вызывали сбой compositor
     в мобильных Chromium/WebKit: панель начинала прокручиваться с документом. */
  body {
    padding-bottom: 60px !important;
    background-attachment: scroll, scroll, scroll, scroll, scroll !important;
  }

  .page {
    padding-bottom: 68px !important;
  }

  body > .mobile-bottom-nav-v039 {
    position: fixed !important;
    top: auto !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    bottom: 0 !important;
    left: max(8px, env(safe-area-inset-left)) !important;
    z-index: 2147483000 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    padding: 2px 4px !important;
    border-radius: 15px 15px 0 0 !important;
    transform: none !important;
    translate: none !important;
    contain: layout style;
    isolation: isolate;
    background: rgba(12,12,16,.985);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  body > .mobile-bottom-nav-v039 .mobile-bottom-nav-item-v039 {
    box-sizing: border-box !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    gap: 1px !important;
    padding: 2px 3px !important;
  }

  body > .mobile-bottom-nav-v039 .mobile-bottom-nav-icon-v039 {
    width: 18px !important;
    height: 18px !important;
    font-size: 14px !important;
  }
}

/* v0.3.48.12 — менее контрастные боковые панели новостей. */
@media (min-width: 761px) {
  .panel.news-sidebar-v03302,
  .panel.news-mod-updates-v0473 {
    border-color: rgba(255, 255, 255, .055);
    background: rgba(11, 11, 14, .80);
    box-shadow: 0 14px 46px rgba(0, 0, 0, .24);
  }
}

/* v0.3.48.13 — увеличенная /admin/users и клановые роли форума. */
.forum-access-badges-v04813 {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}

.clan-role-badge-v04813 {
  border-color: var(--badge-bg);
}

.forum-channel-role-line-v04813 {
  display: block;
  overflow: hidden;
  color: #d6a4aa;
  font-size: 10px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.forum-clan-role-create-v04813 {
  min-width: 0;
  margin: 0;
  padding: 12px;
  border: 1px solid rgba(225, 25, 45, .2);
  border-radius: 12px;
  background: rgba(225, 25, 45, .035);
}

.forum-clan-role-create-v04813 legend {
  padding: 0 7px;
  color: #f0b3b9;
  font-size: 12px;
  font-weight: 800;
}

.admin-user-clan-roles-v04813 {
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, .07);
}

.admin-user-clan-empty-v04813 {
  margin: 0;
  padding: 12px;
  color: var(--muted);
  font-size: 12px;
}

/* На этой странице прежние 8–10 px делали интерфейс слишком мелким. */
.admin-users-head-v03482 .text-link { font-size: 16px; }
.admin-users-head-v03482 .eyebrow { font-size: 14px; }
.admin-users-head-v03482 h1 { font-size: clamp(40px, 5vw, 60px); }
.admin-users-head-v03482 p { font-size: 20px; }
.admin-users-stats-v03482 { gap: 10px; margin-top: 16px; }
.admin-users-stats-v03482 > span { padding: 10px 13px; border-radius: 11px; font-size: 12px; }
.admin-users-stats-v03482 > span strong { font-size: 15px; }
.admin-users-form-panel.admin-users-form-panel-v03482 { padding: 18px; }
.admin-users-search-v03482 { gap: 10px; }
.admin-users-search-v03482 input,
.admin-users-search-v03482 .btn { min-height: 44px; padding: 10px 14px; font-size: 14px; }
.admin-users-list-v03482 { gap: 13px; }
.admin-user-card-head-v03482 { grid-template-columns: 54px minmax(210px, 1.1fr) minmax(500px, 2fr) auto; gap: 16px; padding: 17px 18px; }
.admin-user-avatar-v03482,
.admin-user-avatar-v03482 img,
.admin-user-avatar-v03482 span { width: 52px; height: 52px; border-radius: 14px; }
.admin-user-avatar-v03482 span { font-size: 18px; }
.admin-user-identity-v03482 { gap: 8px; }
.admin-user-identity-v03482 .user-link { font-size: 16px; }
.admin-user-identity-v03482 small { font-size: 12px; }
.admin-user-state-row-v03482 { gap: 6px; }
.admin-user-state-row-v03482 .tag,
.admin-user-visible-badges-v03482 .tag { padding: 5px 8px; font-size: 10px; }
.admin-user-visible-badges-v03482 { max-height: 31px; }
.admin-user-facts-v03482 { gap: 10px; }
.admin-user-facts-v03482 > span { min-height: 52px; padding: 10px 12px; border-radius: 11px; }
.admin-user-facts-v03482 small { font-size: 10px; }
.admin-user-facts-v03482 strong,
.admin-user-facts-v03482 code { font-size: 12px; }
.admin-user-facts-v03482 > span:first-child strong { font-size: 14px; }
.admin-user-profile-link-v03482 { min-height: 40px; padding: 9px 12px; font-size: 14px; }
.admin-user-settings-v03482 > summary { grid-template-columns: minmax(0, 1fr) minmax(240px, auto) 20px; gap: 14px; padding: 13px 18px; font-size: 12px; }
.admin-user-settings-v03482 > summary b { font-size: 17px; }
.admin-user-settings-grid-v03482 { gap: 14px; padding: 15px; }
.admin-user-settings-card-v03482 { gap: 14px; padding: 17px; border-radius: 14px; }
.admin-user-settings-card-v03482 > header span { font-size: 10px; }
.admin-user-settings-card-v03482 > header h3 { font-size: 17px; }
.admin-user-field-form-v03482,
.admin-user-block-form-v03482 { gap: 10px; }
.admin-user-field-form-v03482 label,
.admin-user-badges-form-v03482 > label { gap: 7px; font-size: 12px; }
.admin-user-field-form-v03482 input,
.admin-user-badges-form-v03482 input,
.admin-user-comment-form-v03482 textarea,
.admin-user-block-form-v03482 input { min-height: 44px; padding: 10px 12px; font-size: 14px; }
.admin-user-settings-card-v03482 .btn { min-height: 40px; padding: 8px 12px; font-size: 13px; }
.admin-user-dayz-v03482 { gap: 14px; padding: 12px; border-radius: 12px; }
.admin-user-dayz-v03482 small,
.admin-user-dayz-v03482 span { font-size: 11px; }
.admin-user-dayz-v03482 strong { font-size: 15px; }
.admin-user-settings-card-v03482 .admin-user-portal-number-edit-v03482 > summary,
.admin-user-badge-picker-v03482 > summary { padding: 12px; font-size: 12px; }
.admin-user-badge-picker-v03482 .status-checkbox-grid { padding: 0 12px 12px; }
.admin-user-badge-picker-v03482 .status-checkbox { min-height: 38px; font-size: 12px; }
.admin-user-badge-picker-v03482 .status-checkbox input { width: 18px; height: 18px; min-height: 18px; padding: 0; }
.admin-user-badge-picker-v03482 .status-checkbox .tag { font-size: 11px; }
.admin-user-settings-card-v03482 > small,
.admin-user-settings-card-v03482 .admin-user-portal-number-edit-v03482 > small { font-size: 12px; }
.admin-user-comment-form-v03482 textarea { min-height: 126px; }
.admin-user-block-reason-v03482 { padding: 12px; font-size: 12px; }

@media (max-width: 1120px) {
  .admin-user-card-head-v03482 { grid-template-columns: 54px minmax(190px, 1fr) auto; }
  .admin-user-facts-v03482 { grid-column: 1 / -1; grid-row: 2; grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .admin-users-head-v03482 h1 { font-size: 38px; }
  .admin-users-head-v03482 p { font-size: 17px; }
  .admin-user-card-head-v03482 { grid-template-columns: 50px minmax(0, 1fr) auto; gap: 11px; padding: 14px; }
  .admin-user-avatar-v03482,
  .admin-user-avatar-v03482 img,
  .admin-user-avatar-v03482 span { width: 48px; height: 48px; }
  .admin-user-profile-link-v03482 { font-size: 12px; }
  .admin-user-facts-v03482 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .admin-user-facts-v03482 > span { min-height: 48px; padding: 9px; }
  .admin-user-facts-v03482 > span:nth-child(2) code { font-size: 10px; }
  .admin-user-settings-v03482 > summary { grid-template-columns: minmax(0, 1fr) 20px; padding: 12px 14px; }
  .admin-user-settings-grid-v03482 { padding: 11px; }
  .admin-user-settings-card-v03482 { padding: 14px; }
}

/* v0.3.48.14 — единые клановые бейджи и выровненные панели /admin/forum. */
.forum-admin-create-grid-v03481 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.forum-admin-create-card-v03481[open] {
  grid-column: 1 / -1;
}

.status-clan-mark-v04814 {
  margin-left: 4px;
  padding: 1px 5px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 900;
  line-height: 1.25;
  opacity: .78;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .forum-admin-create-grid-v03481 {
    grid-template-columns: minmax(0, 1fr);
  }

  .forum-admin-create-card-v03481[open] {
    grid-column: auto;
  }
}

/* v0.3.48.16 — синхронный iPad viewport, карточки ролей и новая геометрия форума. */
html[data-ipad-layout="mobile-landscape"],
html[data-ipad-layout="mobile-landscape"] body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.admin-statuses-head-v04816,
.admin-status-create-v04816,
.admin-status-list-v04816 {
  box-sizing: border-box;
  width: min(1180px, calc(100% - 24px));
  margin-right: auto;
  margin-left: auto;
}

.admin-status-create-v04816 {
  display: grid;
  gap: 18px;
  margin-bottom: 18px;
  padding: 20px;
}

.admin-status-section-head-v04816 {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
}

.admin-status-section-head-v04816 h2 {
  margin: 3px 0 0;
  font-size: 22px;
}

.admin-status-section-head-v04816 p {
  max-width: 620px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.admin-status-form-v04816 {
  display: grid;
  gap: 15px;
  min-width: 0;
}

.admin-status-fields-v04816 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 11px;
}

.admin-status-fields-v04816 label,
.admin-status-clan-limit-v04816 label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: #c7c7cf;
  font-size: 12px;
  font-weight: 700;
}

.admin-status-fields-v04816 input,
.admin-status-clan-limit-v04816 input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 40px;
  padding: 8px 10px;
  font-size: 13px;
}

.admin-status-fields-v04816 input[type="color"] {
  padding: 4px;
}

.admin-status-options-v04816 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
}

.admin-status-options-v04816 legend {
  padding: 0 6px;
  color: #8d8d98;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.admin-status-options-v04816 .check-row {
  min-height: 36px;
  margin: 0;
  padding: 7px 9px;
  border-radius: 9px;
  background: rgba(0,0,0,.18);
  color: #d7d7dd;
  font-size: 12px;
}

.admin-status-clan-limit-v04816 {
  display: none;
  grid-template-columns: minmax(190px, 280px) minmax(0, 1fr);
  align-items: end;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(225,25,45,.24);
  border-radius: 12px;
  background: rgba(225,25,45,.045);
}

.admin-status-create-form-v04816:has(input[name="isClan"]:checked) .admin-status-clan-limit-v04816 {
  display: grid;
}

.admin-status-clan-limit-v04816 small {
  align-self: center;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}

.admin-status-list-v04816 {
  display: grid;
  gap: 13px;
  margin-bottom: 56px;
}

.admin-status-count-v04816 {
  display: grid;
  min-width: 42px;
  height: 34px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}

.admin-status-grid-v04816 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 13px;
}

.admin-status-card-v04816 {
  display: grid;
  min-width: 0;
  padding: 0;
  overflow: hidden;
}

.admin-status-card-v04816.is-clan-v04816 {
  border-color: rgba(225,25,45,.28);
  background:
    radial-gradient(circle at 100% 0%, rgba(225,25,45,.1), transparent 38%),
    rgba(22,22,28,.96);
}

.admin-status-edit-form-v04816 {
  padding: 16px;
}

.admin-status-card-head-v04816 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding-bottom: 13px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}

.admin-status-card-head-v04816 > div {
  display: grid;
  justify-items: start;
  gap: 7px;
  min-width: 0;
}

.admin-status-card-head-v04816 .user-status-badge {
  max-width: 100%;
  padding: 6px 9px;
  font-size: 12px;
}

.admin-status-card-head-v04816 code {
  overflow: hidden;
  color: #777783;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-status-capacity-v04816 {
  display: grid;
  grid-template-columns: auto auto;
  align-items: baseline;
  gap: 3px;
  min-width: 92px;
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(0,0,0,.2);
  color: #aaaab4;
  font-size: 12px;
  text-align: right;
}

.admin-status-capacity-v04816 strong {
  color: #fff;
  font-size: 18px;
}

.admin-status-capacity-v04816 small {
  grid-column: 1 / -1;
  color: #777783;
  font-size: 9px;
  text-transform: uppercase;
}

.admin-status-fields-edit-v04816 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-status-clan-field-v04816 {
  padding: 9px;
  border: 1px solid rgba(225,25,45,.2);
  border-radius: 10px;
  background: rgba(225,25,45,.035);
}

.admin-status-card-actions-v04816 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 16px;
  border-top: 1px solid rgba(255,255,255,.07);
  background: rgba(0,0,0,.13);
}

.admin-status-card-actions-v04816 form {
  margin: 0;
}

.forum-channel-unread-marker-v04816 {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 20px;
  padding: 3px 7px;
  border: 1px solid #fff;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(255,255,255,.08), 0 0 18px rgba(255,255,255,.28);
  color: #111116;
  font-size: 9px;
  font-style: normal;
  font-weight: 950;
  letter-spacing: .08em;
  line-height: 1;
}

.forum-channel-row-v03480.has-unread-v04816 {
  border-color: rgba(255,255,255,.22);
  background: linear-gradient(90deg, rgba(225,25,45,.14), rgba(255,255,255,.045) 56%, transparent);
}

.forum-channel-row-v03480.has-unread-v04816::before {
  content: "";
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 0;
  width: 4px;
  border-radius: 0 999px 999px 0;
  background: #fff;
  box-shadow: 0 0 12px rgba(255,255,255,.72);
}

.forum-channel-row-v03480.has-unread-v04816 .forum-channel-icon-v03480 {
  border: 1px solid rgba(255,255,255,.32);
  background: rgba(255,255,255,.12);
  color: #fff;
}

@media (min-width: 1450px) {
  .forum-channels-index-v04816 {
    width: min(960px, calc(100vw - 508px));
  }

  .forum-channels-index-v04816 .forum-channels-head-v03480,
  .forum-channels-index-v04816 .forum-channel-sections-v03480 {
    box-sizing: border-box;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }

  .forum-channels-index-v04816 .forum-channel-layout-v03480 {
    width: calc(100% + 244px);
    margin-left: -244px;
    grid-template-columns: 230px minmax(0, 1fr);
  }

  .forum-channels-index-v04816 .forum-channel-sections-v03480 {
    justify-self: center;
  }
}

@media (max-width: 900px) {
  .admin-status-fields-v04816 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-status-grid-v04816 {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 620px) {
  .admin-statuses-head-v04816,
  .admin-status-create-v04816,
  .admin-status-list-v04816 {
    width: calc(100% - 12px);
  }

  .admin-status-create-v04816,
  .admin-status-edit-form-v04816 {
    padding: 13px;
  }

  .admin-status-section-head-v04816 {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-status-fields-v04816,
  .admin-status-fields-edit-v04816,
  .admin-status-clan-limit-v04816 {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-status-options-v04816 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-status-card-head-v04816 {
    align-items: flex-start;
  }

  .forum-channel-unread-marker-v04816 {
    min-height: 18px;
    padding: 3px 6px;
    font-size: 8px;
  }
}

/* v0.3.48.17 final cascade guard. */
.forum-channel-page-v03480 {
  grid-template-columns: minmax(0, 1fr);
  justify-items: stretch !important;
}

.forum-channel-page-v03480 > .forum-channel-head-v03480,
.forum-channel-page-v03480 > .forum-clan-content-layout-v04815,
.forum-channel-page-v03480 .forum-clan-content-main-v04815,
.forum-channel-page-v03480 .forum-clan-content-main-v04815 > .panel,
.forum-channel-page-v03480 .forum-clan-content-main-v04815 > .forum-channel-feed-head-v03480,
.forum-channel-page-v03480 .forum-clan-content-main-v04815 > .forum-channel-thread-v03480 {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  justify-self: stretch !important;
}

@media (min-width: 1450px) {
  .forum-channels-index-v04816 {
    width: min(1040px, calc(100vw - 508px));
  }
}

@media (hover: none) and (pointer: coarse) and (orientation: landscape)
  and (min-width: 1200px) and (max-width: 1220px)
  and (min-height: 700px) and (max-height: 900px) {
  body {
    padding-bottom: 60px !important;
    background-attachment: scroll, scroll, scroll, scroll, scroll !important;
  }

  .page {
    width: min(100% - 20px, 1180px) !important;
    padding-top: 14px !important;
    padding-bottom: 68px !important;
  }

  .topbar {
    gap: 8px !important;
    padding: calc(8px + env(safe-area-inset-top)) 10px 8px !important;
  }

  .topbar .brand {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .topbar .brand-mark,
  .topbar .topbar-avatar {
    width: 34px !important;
    height: 34px !important;
    border-radius: 9px !important;
  }

  .topbar .brand strong {
    display: block !important;
    max-width: 46vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .topbar .brand small,
  .topbar .nav,
  .topbar .nav-toggle,
  .topbar .topbar-donate,
  .topbar .topbar-ticket-action,
  .topbar .topbar-messages-action,
  .topbar .topbar-profile-action,
  .topbar .topbar-settings-v03206,
  .topbar .topbar-logout-form,
  .topbar .topbar-login-action,
  .topbar .topbar-user-name {
    display: none !important;
  }

  .topbar .userbox {
    flex: 0 0 auto !important;
    gap: 6px !important;
    overflow: visible !important;
  }

  body > .mobile-bottom-nav-v039 {
    position: fixed !important;
    top: auto !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    bottom: 0 !important;
    left: max(8px, env(safe-area-inset-left)) !important;
    z-index: 2147483000 !important;
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: 1fr !important;
    gap: 4px !important;
    box-sizing: border-box !important;
    width: auto !important;
    max-width: none !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    margin: 0 !important;
    padding: 2px 4px !important;
    border-radius: 15px 15px 0 0 !important;
    transform: none !important;
    translate: none !important;
  }

  body > .mobile-bottom-nav-v039 .mobile-bottom-nav-item-v039 {
    box-sizing: border-box !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 2px 3px !important;
  }
}

/* v0.3.49.3 — временное закрытие регистрации на данж-зоны. */
.dungeon-registration-v0486.is-closed-v03493 {
  border-color: rgba(255, 184, 77, .42);
  background: linear-gradient(135deg, rgba(255, 154, 45, .12), rgba(20, 20, 25, .96) 52%);
}
.dungeon-registration-closed-message-v03493 strong { color: #ffd18a; }
.dungeon-admin-registration-status-v03493 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, auto);
  gap: 12px;
  align-items: center;
  margin-top: 10px;
  padding: 12px;
  border: 1px solid rgba(102, 214, 146, .24);
  border-radius: 10px;
  background: rgba(102, 214, 146, .07);
}
.dungeon-admin-registration-status-v03493.is-closed-v03493 {
  border-color: rgba(255, 184, 77, .35);
  background: rgba(255, 154, 45, .08);
}
.dungeon-admin-registration-status-v03493 > div { display: grid; gap: 3px; min-width: 0; }
.dungeon-admin-registration-status-v03493 > div small { color: var(--muted); overflow-wrap: anywhere; }
.dungeon-admin-registration-status-v03493 form {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.dungeon-admin-registration-status-v03493 form input:not([type="hidden"]) {
  width: min(420px, 36vw);
  min-width: 220px;
}
@media (max-width: 760px) {
  .dungeon-registration-v0486 > header { align-items: flex-start; flex-direction: column; }
  .dungeon-admin-registration-status-v03493 { grid-template-columns: minmax(0, 1fr); }
  .dungeon-admin-registration-status-v03493 form { align-items: stretch; flex-direction: column; }
  .dungeon-admin-registration-status-v03493 form input:not([type="hidden"]) { width: 100%; min-width: 0; }
}

/* v0.49.10 — единая финальная привязка нижней навигации к видимому viewport.
   На страницах ЛС/обращений экран часто меняет высоту из-за клавиатуры;
   visualViewport из main-core.js передаёт фактический нижний отступ. */
@media (max-width: 768px) {
  body > .mobile-bottom-nav-v039 {
    position: fixed !important;
    top: auto !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    bottom: var(--dm-mobile-nav-visual-bottom, 0px) !important;
    left: max(8px, env(safe-area-inset-left)) !important;
    z-index: 2147483000 !important;
    display: grid !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
    translate: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}

/* v0.49.11: unread-состояния Header без дополнительных точек. */
.nav a.has-content-unread-v04911 {
  background: rgba(255, 255, 255, .095);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12);
}
.nav a.has-clan-unread-v04911 {
  background: rgba(50, 132, 255, .18);
  box-shadow: inset 0 0 0 1px rgba(76, 151, 255, .34), 0 0 14px rgba(50, 132, 255, .08);
}
.nav a.has-booster-unread-v04911 {
  background: rgba(255, 145, 36, .18);
  box-shadow: inset 0 0 0 1px rgba(255, 157, 62, .36), 0 0 14px rgba(255, 145, 36, .08);
}
.nav a.has-clan-unread-v04911.has-booster-unread-v04911 {
  background: linear-gradient(90deg, rgba(50, 132, 255, .20) 0 50%, rgba(255, 145, 36, .20) 50% 100%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12);
}
.profile-private-channel-subscriptions-v04911 { gap: 9px; }
.private-channel-subscription-row-v04911 {
  border-radius: 10px;
  padding: 7px 9px;
  background: rgba(255,255,255,.025);
}
.private-channel-subscription-row-v04911.is-clan { box-shadow: inset 3px 0 0 rgba(50,132,255,.7); }
.private-channel-subscription-row-v04911.is-booster { box-shadow: inset 3px 0 0 rgba(255,145,36,.75); }
.private-channel-subscription-row-v04911 > span { display:flex; gap:8px; align-items:center; }
.private-channel-subscription-row-v04911 > span > small { opacity:.72; }

.admin-status-default-limits-form-v04911,
.admin-preblock-form-v04911 {
  display: grid;
  grid-template-columns: minmax(130px, 180px) minmax(130px, 200px) auto;
  gap: 10px;
  align-items: end;
}
.admin-preblock-form-v04911 { grid-template-columns: minmax(190px, 240px) minmax(240px, 1fr) auto; }
.admin-preblock-list-v04911 { display:grid; gap:8px; margin-top:14px; }
.admin-preblock-list-v04911 article { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:10px 12px; border:1px solid rgba(255,255,255,.08); border-radius:10px; }
.admin-preblock-list-v04911 article > div { display:flex; flex-wrap:wrap; gap:7px 12px; align-items:center; min-width:0; }
.admin-preblock-list-v04911 article strong { font-weight:600; }
.admin-preblock-list-v04911 article small { opacity:.65; }
@media (max-width: 760px) {
  .admin-status-default-limits-form-v04911,
  .admin-preblock-form-v04911 { grid-template-columns:1fr; }
  .admin-preblock-list-v04911 article { align-items:flex-start; }
}
.ticket-number-v04911 {
  display:inline-block;
  color:rgba(255,255,255,.65);
  font-size:.78em;
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
  margin-right:3px;
}

/* v0.49.11.1 — Header: liquid-glass / soft-neon states without panel frames. */
.topbar {
  border-bottom: 0 !important;
  background:
    linear-gradient(180deg, rgba(10, 10, 14, .80), rgba(8, 8, 11, .66)) !important;
  box-shadow: 0 12px 34px rgba(0, 0, 0, .18);
  -webkit-backdrop-filter: blur(22px) saturate(135%);
  backdrop-filter: blur(22px) saturate(135%);
}
.topbar .nav a {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 0 !important;
  outline: 0;
  background: transparent;
  box-shadow: none;
  transition: background .22s ease, box-shadow .28s ease, color .22s ease, transform .22s ease;
}
.topbar .nav a:hover {
  background: rgba(255, 255, 255, .055);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .055),
    0 8px 24px rgba(0, 0, 0, .12);
}
.topbar .nav-toggle {
  border: 0 !important;
  background: rgba(255, 255, 255, .055) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .06),
    0 8px 24px rgba(0, 0, 0, .14);
  -webkit-backdrop-filter: blur(14px) saturate(130%);
  backdrop-filter: blur(14px) saturate(130%);
}
.topbar .nav {
  border: 0 !important;
}
.topbar .topbar-settings-panel-v03206,
.topbar .topbar-settings-toggle-v03206 {
  border: 0 !important;
}

.nav a.has-content-unread-v04911 {
  background:
    radial-gradient(circle at 50% 100%, rgba(255, 255, 255, .13), transparent 72%),
    rgba(255, 255, 255, .045) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .08),
    0 0 18px rgba(255, 255, 255, .055),
    0 8px 22px rgba(0, 0, 0, .10) !important;
}
.nav a.has-clan-unread-v04911 {
  background:
    radial-gradient(85% 120% at 50% 115%, rgba(47, 132, 255, .32), transparent 72%),
    linear-gradient(180deg, rgba(55, 142, 255, .09), rgba(26, 78, 170, .045)) !important;
  box-shadow:
    inset 0 1px 0 rgba(146, 196, 255, .14),
    0 0 14px rgba(49, 132, 255, .18),
    0 0 32px rgba(49, 132, 255, .08) !important;
  animation: dm-header-clan-glow-v049111 3.4s ease-in-out infinite;
}
.nav a.has-booster-unread-v04911 {
  background:
    radial-gradient(85% 120% at 50% 115%, rgba(255, 142, 32, .34), transparent 72%),
    linear-gradient(180deg, rgba(255, 157, 58, .09), rgba(160, 76, 11, .045)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 207, 151, .13),
    0 0 14px rgba(255, 145, 36, .18),
    0 0 32px rgba(255, 145, 36, .08) !important;
  animation: dm-header-booster-glow-v049111 3.4s ease-in-out infinite;
}
.nav a.has-clan-unread-v04911.has-booster-unread-v04911 {
  background:
    radial-gradient(72% 145% at 18% 115%, rgba(47, 132, 255, .34), transparent 72%),
    radial-gradient(72% 145% at 82% 115%, rgba(255, 142, 32, .34), transparent 72%),
    rgba(255, 255, 255, .025) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .09),
    -5px 5px 22px rgba(49, 132, 255, .11),
    5px 5px 22px rgba(255, 145, 36, .11) !important;
  animation: dm-header-mixed-glow-v049111 3.6s ease-in-out infinite;
}
@keyframes dm-header-clan-glow-v049111 {
  0%, 100% { box-shadow: inset 0 1px 0 rgba(146,196,255,.12), 0 0 12px rgba(49,132,255,.13), 0 0 28px rgba(49,132,255,.06); }
  50% { box-shadow: inset 0 1px 0 rgba(146,196,255,.18), 0 0 19px rgba(49,132,255,.25), 0 0 38px rgba(49,132,255,.10); }
}
@keyframes dm-header-booster-glow-v049111 {
  0%, 100% { box-shadow: inset 0 1px 0 rgba(255,207,151,.11), 0 0 12px rgba(255,145,36,.13), 0 0 28px rgba(255,145,36,.06); }
  50% { box-shadow: inset 0 1px 0 rgba(255,207,151,.17), 0 0 19px rgba(255,145,36,.25), 0 0 38px rgba(255,145,36,.10); }
}
@keyframes dm-header-mixed-glow-v049111 {
  0%, 100% { box-shadow: inset 0 1px 0 rgba(255,255,255,.08), -4px 5px 18px rgba(49,132,255,.09), 4px 5px 18px rgba(255,145,36,.09); }
  50% { box-shadow: inset 0 1px 0 rgba(255,255,255,.12), -7px 6px 26px rgba(49,132,255,.16), 7px 6px 26px rgba(255,145,36,.16); }
}
@media (prefers-reduced-motion: reduce) {
  .nav a.has-clan-unread-v04911,
  .nav a.has-booster-unread-v04911,
  .nav a.has-clan-unread-v04911.has-booster-unread-v04911 { animation: none !important; }
}
@media (max-width: 980px) {
  .topbar .nav {
    background: rgba(13, 13, 17, .86) !important;
    box-shadow: 0 22px 62px rgba(0, 0, 0, .32) !important;
    -webkit-backdrop-filter: blur(26px) saturate(140%);
    backdrop-filter: blur(26px) saturate(140%);
  }
}

/* v0.49.11.1 — pre-block открывается компактно по кнопке рядом со статусом DayZ. */
.admin-users-stats-v03482 > span {
  border: 0 !important;
  background: rgba(255, 255, 255, .035);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
}
.admin-preblock-toggle-v049111 {
  min-height: 36px;
  padding: 8px 11px;
  border: 0 !important;
  background: rgba(255, 255, 255, .045) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
  color: #d9d9df;
  white-space: nowrap;
}
.admin-preblock-toggle-v049111:hover,
.admin-preblock-toggle-v049111.is-active {
  background: rgba(255, 255, 255, .075) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .14), inset 0 1px 0 rgba(255, 255, 255, .07);
}
.admin-preblock-toggle-v049111 > span {
  display: inline-grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  margin-left: 5px;
  padding: 0 5px;
  border-radius: 999px;
  background: rgba(225, 25, 45, .18);
  color: #ff9ba7;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}
.admin-preblock-panel-v049111 {
  box-sizing: border-box;
  width: min(1320px, calc(100% - 28px));
  margin: 0 auto 18px;
  padding: 16px 18px 18px;
  border: 0 !important;
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(32, 32, 39, .78), rgba(20, 20, 26, .74)) !important;
  box-shadow: 0 18px 46px rgba(0, 0, 0, .24), inset 0 1px 0 rgba(255, 255, 255, .055);
  -webkit-backdrop-filter: blur(20px) saturate(125%);
  backdrop-filter: blur(20px) saturate(125%);
}
.admin-preblock-panel-v049111[hidden] { display: none !important; }
.admin-preblock-head-v049111 {
  align-items: flex-start;
  margin-bottom: 12px;
}
.admin-preblock-head-v049111 h2 { margin-bottom: 4px; }
.admin-preblock-head-v049111 p { margin: 0; }
.admin-preblock-close-v049111 {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 10px;
  background: rgba(255, 255, 255, .045);
  color: rgba(255, 255, 255, .72);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.admin-preblock-close-v049111:hover { background: rgba(255,255,255,.08); color: #fff; }
.admin-preblock-panel-v049111 .admin-preblock-form-v04911 {
  grid-template-columns: minmax(190px, 280px) minmax(240px, 1fr) auto;
}
@media (max-width: 760px) {
  .admin-preblock-toggle-v049111 { width: 100%; justify-content: center; }
  .admin-preblock-panel-v049111 { width: calc(100% - 28px); padding: 14px; }
  .admin-preblock-panel-v049111 .admin-preblock-form-v04911 { grid-template-columns: 1fr; }
}

/* v0.49.12 — safe UI: compact attachment preview, mobile ticket controls,
   compact desktop footer and unified iPad landscape burger layout. */

/* Attachment preview: icon close and compact download action. */
.attachment-preview-head {
  min-height: 32px;
}

.attachment-preview-close-v04912 {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 30px;
  min-width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: rgba(255,255,255,.065);
  color: rgba(255,255,255,.9);
  font: inherit;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  transition: background .18s ease, transform .18s ease;
}

.attachment-preview-close-v04912:hover,
.attachment-preview-close-v04912:focus-visible {
  background: rgba(225,25,45,.18);
  transform: scale(1.04);
  outline: none;
}

.attachment-preview-actions {
  justify-content: flex-end;
}

.attachment-preview-download-v04912.btn {
  width: auto !important;
  min-width: 0;
  min-height: 32px;
  padding: 6px 12px;
  border-radius: 10px;
  font-size: 12px;
  line-height: 1.1;
}

/* Ticket admin controls: desktop remains the existing sidebar. */
.ticket-admin-mobile-open-v04912,
.ticket-admin-mobile-close-v04912,
.ticket-admin-mobile-backdrop-v04912 {
  display: none;
}

@media (max-width: 820px) {
  .ticket-admin-mobile-open-v04912 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin-top: 8px;
  }

  html.dm-safe-ui-ready-v04912 .ticket-admin-sidebar-v0315 {
    display: none !important;
  }

  html.dm-safe-ui-ready-v04912 body.ticket-admin-mobile-open-v04912 {
    overflow: hidden !important;
  }

  html.dm-safe-ui-ready-v04912 body.ticket-admin-mobile-open-v04912 .ticket-admin-mobile-backdrop-v04912 {
    position: fixed;
    inset: 0;
    z-index: 2147483200;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(0,0,0,.58);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
  }

  html.dm-safe-ui-ready-v04912 body.ticket-admin-mobile-open-v04912 .ticket-admin-sidebar-v0315 {
    position: fixed !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    left: max(8px, env(safe-area-inset-left)) !important;
    z-index: 2147483201 !important;
    display: block !important;
    width: auto !important;
    max-width: 560px !important;
    max-height: min(86dvh, 760px) !important;
    margin: 0 auto !important;
    overflow: auto !important;
    overscroll-behavior: contain;
    border-radius: 20px !important;
    box-shadow: 0 26px 80px rgba(0,0,0,.62) !important;
  }

  .ticket-admin-control-panel-v04744.panel {
    gap: 8px !important;
    margin: 0 !important;
    padding: 12px !important;
    border: 0 !important;
    border-radius: 20px !important;
    background: rgba(17,17,23,.97) !important;
    box-shadow: none !important;
  }

  .ticket-admin-control-panel-v04744 .section-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 10px;
  }

  .ticket-admin-mobile-close-v04912 {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: rgba(255,255,255,.07);
    color: #fff;
    font: inherit;
    font-size: 21px;
    line-height: 1;
    cursor: pointer;
  }

  .ticket-admin-control-panel-v04744 .ticket-status-form-v0312,
  .ticket-admin-control-panel-v04744 .ticket-admin-meta-form-v0312,
  .ticket-admin-control-panel-v04744 .ticket-internal-note-form-v0312 {
    gap: 7px !important;
    padding: 8px 0 !important;
    border-top: 1px solid rgba(255,255,255,.055) !important;
  }

  .ticket-admin-control-panel-v04744 .ticket-admin-meta-form-v0312 .grid.two.form-grid-tight {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }

  .ticket-admin-control-panel-v04744 textarea,
  .ticket-admin-sidebar-v0315 .ticket-admin-control-panel-v04744 textarea {
    min-height: 58px !important;
  }
}

/* Compact, structured PC footer. Existing direct children are kept for mobile. */
.footer-desktop-v04912 {
  display: none;
}

@media (min-width: 821px) {
  .footer.footer-v03172 {
    display: block;
    padding: 16px 0 22px;
    border-top: 0;
  }

  .footer.footer-v03172 > span,
  .footer.footer-v03172 > .footer-links,
  .footer.footer-v03172 > .mobile-footer-compact-v040 {
    display: none !important;
  }

  .footer-desktop-v04912 {
    display: grid;
    gap: 8px;
    width: 100%;
    padding: 12px 14px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
    box-shadow: inset 0 1px rgba(255,255,255,.045);
  }

  .footer-desktop-main-v04912 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-width: 0;
  }

  .footer-desktop-brand-v04912 {
    display: flex;
    align-items: baseline;
    gap: 8px;
    min-width: 0;
    white-space: nowrap;
  }

  .footer-desktop-brand-v04912 strong {
    color: rgba(255,255,255,.92);
    font-size: 13px;
  }

  .footer-desktop-brand-v04912 span {
    color: rgba(255,255,255,.45);
    font-size: 11px;
  }

  .footer-desktop-actions-v04912 {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    min-width: 0;
  }

  .footer-desktop-actions-v04912 > a,
  .footer-desktop-docs-v04912 > summary {
    padding: 6px 9px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: rgba(255,255,255,.7);
    font-size: 11px;
    font-weight: 750;
    cursor: pointer;
    list-style: none;
    transition: background .16s ease, color .16s ease;
  }

  .footer-desktop-actions-v04912 > a:hover,
  .footer-desktop-docs-v04912 > summary:hover,
  .footer-desktop-docs-v04912[open] > summary {
    background: rgba(255,255,255,.055);
    color: #fff;
  }

  .footer-desktop-docs-v04912 {
    position: relative;
  }

  .footer-desktop-docs-v04912 > summary::-webkit-details-marker {
    display: none;
  }

  .footer-desktop-docs-v04912 > div {
    position: absolute;
    right: 0;
    bottom: calc(100% + 8px);
    z-index: 40;
    display: grid;
    gap: 3px;
    min-width: 210px;
    padding: 8px;
    border-radius: 13px;
    background: rgba(18,18,24,.98);
    box-shadow: 0 18px 54px rgba(0,0,0,.48), inset 0 1px rgba(255,255,255,.06);
  }

  .footer-desktop-docs-v04912 > div a {
    padding: 7px 9px;
    border-radius: 8px;
    color: rgba(255,255,255,.72);
    font-size: 11px;
  }

  .footer-desktop-docs-v04912 > div a:hover {
    background: rgba(255,255,255,.055);
    color: #fff;
  }

  .footer-desktop-meta-v04912 {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 12px;
    color: rgba(255,255,255,.4);
    font-size: 10px;
    line-height: 1.35;
  }

  .footer-desktop-meta-v04912 a {
    color: rgba(255,255,255,.58);
  }
}

/* All iPads in landscape use the same compact navigation/burger layer.
   The real viewport remains width=device-width; only layout switches. */
html[data-ipad-layout="mobile-landscape"] body.mobile-menu-open-v039 {
  overflow: hidden !important;
}

html[data-ipad-layout="mobile-landscape"] .mobile-menu-v039:not([hidden]) {
  position: fixed;
  inset: 0;
  z-index: 2147483300;
  display: block !important;
}

html[data-ipad-layout="mobile-landscape"] .mobile-menu-backdrop-v039 {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(0,0,0,.58);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  cursor: pointer;
}

html[data-ipad-layout="mobile-landscape"] .mobile-menu-sheet-v039 {
  position: absolute;
  right: max(10px, env(safe-area-inset-right));
  bottom: max(62px, calc(54px + env(safe-area-inset-bottom) + 8px));
  left: max(10px, env(safe-area-inset-left));
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: min(760px, calc(100% - 20px));
  max-height: min(76dvh, 620px);
  margin: 0 auto;
  overflow: auto;
  padding: 14px;
  border: 0;
  border-radius: 20px;
  background: rgba(18,18,24,.96);
  box-shadow: 0 24px 80px rgba(0,0,0,.6), inset 0 1px rgba(255,255,255,.06);
}

html[data-ipad-layout="mobile-landscape"] .mobile-menu-head-v039 {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

html[data-ipad-layout="mobile-landscape"] .mobile-menu-head-v039 span {
  display: block;
  color: var(--red-2);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .15em;
}

html[data-ipad-layout="mobile-landscape"] .mobile-menu-head-v039 strong {
  display: block;
  margin-top: 2px;
  font-size: 22px;
}

html[data-ipad-layout="mobile-landscape"] .mobile-menu-close-v039 {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 12px;
  background: rgba(255,255,255,.065);
  color: #fff;
  font-size: 24px;
  cursor: pointer;
}

html[data-ipad-layout="mobile-landscape"] .mobile-menu-group-v039 {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 10px;
  border: 0;
  border-radius: 14px;
  background: rgba(255,255,255,.035);
  box-shadow: inset 0 1px rgba(255,255,255,.035);
}

html[data-ipad-layout="mobile-landscape"] .mobile-menu-group-v039 h2 {
  margin: 0 0 2px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

html[data-ipad-layout="mobile-landscape"] .mobile-menu-group-v039 a,
html[data-ipad-layout="mobile-landscape"] .mobile-menu-group-v039 button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 40px;
  width: 100%;
  padding: 9px 10px;
  border: 0;
  border-radius: 10px;
  background: rgba(255,255,255,.045);
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

html[data-ipad-layout="mobile-landscape"] .mobile-menu-group-v039 b {
  display: inline-grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: rgba(225,25,45,.24);
  color: #fff;
  font-size: 11px;
}

html[data-ipad-layout="mobile-landscape"] .mobile-menu-admin-v039 {
  background: rgba(225,25,45,.06);
}


/* v0.49.12.1 — complete standalone iPad landscape bottom navigation.
   This block must not depend on @media (max-width: 768px), because iPad
   landscape keeps the real device viewport in v0.49.12. */
html[data-ipad-layout="mobile-landscape"] body > .mobile-bottom-nav-v039 {
  position: fixed !important;
  top: auto !important;
  right: auto !important;
  bottom: max(8px, env(safe-area-inset-bottom)) !important;
  left: 50% !important;
  z-index: 2147483000 !important;

  display: grid !important;
  grid-template-columns: none !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 5px !important;

  box-sizing: border-box !important;
  width: min(720px, calc(100vw - 32px)) !important;
  max-width: 720px !important;
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  margin: 0 !important;
  padding: 5px !important;

  border: 0 !important;
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, rgba(31,31,38,.94), rgba(13,13,18,.96)) !important;
  box-shadow:
    0 18px 54px rgba(0,0,0,.54),
    inset 0 1px rgba(255,255,255,.075) !important;
  -webkit-backdrop-filter: blur(22px) saturate(135%) !important;
  backdrop-filter: blur(22px) saturate(135%) !important;

  transform: translateX(-50%) !important;
  translate: none !important;
  contain: layout style !important;
  isolation: isolate !important;
}

html[data-ipad-layout="mobile-landscape"] body > .mobile-bottom-nav-v039 .mobile-bottom-nav-item-v039 {
  position: relative !important;
  display: grid !important;
  grid-template-rows: 20px 15px !important;
  place-items: center !important;
  align-content: center !important;
  justify-content: center !important;
  gap: 1px !important;

  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  margin: 0 !important;
  padding: 4px 7px !important;

  border: 0 !important;
  border-radius: 13px !important;
  background: transparent !important;
  box-shadow: none !important;

  color: rgba(235,235,241,.82) !important;
  font: inherit !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

html[data-ipad-layout="mobile-landscape"] body > .mobile-bottom-nav-v039 .mobile-bottom-nav-item-v039 > span:last-of-type {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html[data-ipad-layout="mobile-landscape"] body > .mobile-bottom-nav-v039 .mobile-bottom-nav-icon-v039 {
  display: grid !important;
  place-items: center !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

html[data-ipad-layout="mobile-landscape"] body > .mobile-bottom-nav-v039 .mobile-bottom-nav-item-v039:hover,
html[data-ipad-layout="mobile-landscape"] body > .mobile-bottom-nav-v039 .mobile-bottom-nav-item-v039:focus-visible {
  background: rgba(255,255,255,.065) !important;
  color: #fff !important;
}

html[data-ipad-layout="mobile-landscape"] body > .mobile-bottom-nav-v039 .mobile-bottom-nav-item-v039.is-active,
html[data-ipad-layout="mobile-landscape"] body > .mobile-bottom-nav-v039 .mobile-bottom-nav-item-v039[aria-current="page"],
html[data-ipad-layout="mobile-landscape"] body > .mobile-bottom-nav-v039 .mobile-bottom-nav-button-v039.is-open {
  background:
    linear-gradient(180deg, rgba(225,25,45,.24), rgba(225,25,45,.12)) !important;
  color: #fff !important;
  box-shadow:
    inset 0 1px rgba(255,255,255,.055),
    0 8px 24px rgba(225,25,45,.08) !important;
}

html[data-ipad-layout="mobile-landscape"] body > .mobile-bottom-nav-v039 .mobile-bottom-nav-button-v039 {
  border: 0 !important;
  outline: 0 !important;
}

html[data-ipad-layout="mobile-landscape"] body > .mobile-bottom-nav-v039 .mobile-bottom-nav-badge-v039 {
  position: absolute !important;
  top: 4px !important;
  right: 8px !important;
  display: inline-grid !important;
  place-items: center !important;
  min-width: 17px !important;
  height: 17px !important;
  padding: 0 4px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--red) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 17px !important;
}

/* Keep page content clear of the floating iPad landscape bar. */
html[data-ipad-layout="mobile-landscape"] body {
  padding-bottom: calc(78px + env(safe-area-inset-bottom)) !important;
}

html[data-ipad-layout="mobile-landscape"] .page {
  padding-bottom: calc(88px + env(safe-area-inset-bottom)) !important;
}

/* The burger sheet is anchored above the centered navigation bar. */
html[data-ipad-layout="mobile-landscape"] .mobile-menu-sheet-v039 {
  bottom: max(76px, calc(66px + env(safe-area-inset-bottom))) !important;
}

@media (max-width: 860px) and (orientation: landscape) {
  html[data-ipad-layout="mobile-landscape"] body > .mobile-bottom-nav-v039 {
    width: calc(100vw - 20px) !important;
    max-width: none !important;
    bottom: max(5px, env(safe-area-inset-bottom)) !important;
  }

  html[data-ipad-layout="mobile-landscape"] body > .mobile-bottom-nav-v039 .mobile-bottom-nav-item-v039 {
    padding-right: 4px !important;
    padding-left: 4px !important;
    font-size: 10px !important;
  }
}


/* v0.49.12.3: modernized and roomier server-log filter toolbar */
.server-log-toolbar-v0345 {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-bottom: 20px;
  padding: 20px 22px 22px;
  border: 0;
  background:
    radial-gradient(circle at 9% -40%, rgba(225,25,45,.16), transparent 35%),
    radial-gradient(circle at 92% 130%, rgba(255,255,255,.055), transparent 34%),
    linear-gradient(145deg, rgba(27,27,34,.94), rgba(15,15,20,.94));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    inset 0 -1px 0 rgba(255,255,255,.025),
    0 18px 46px rgba(0,0,0,.22);
  backdrop-filter: blur(18px) saturate(118%);
  -webkit-backdrop-filter: blur(18px) saturate(118%);
}

.server-log-toolbar-v0345::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(110deg, rgba(255,255,255,.025), transparent 26%, transparent 74%, rgba(225,25,45,.025));
}

.server-log-filter-form-v0345 {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-areas:
    'server server category category category type type type date date date date'
    'file file file file search search search search search actions actions actions';
  column-gap: 14px;
  row-gap: 16px;
  align-items: end;
}

.server-log-filter-server-v04733 { grid-area: server; }
.server-log-filter-category-v04733 { grid-area: category; }
.server-log-filter-type-v049122 { grid-area: type; }
.server-log-date-range-v04733 { grid-area: date; }
.server-log-filter-file-v04733 { grid-area: file; }
.server-log-filter-search-v04733 { grid-area: search; }
.server-log-filter-actions-v04733 { grid-area: actions; }

.server-log-filter-form-v0345 > label,
.server-log-date-range-v04733 > legend,
.server-log-filter-actions-v04733 > label {
  color: rgba(244,244,245,.74);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.server-log-date-range-v04733 legend {
  margin-bottom: 7px;
}

.server-log-date-range-v04733 > div {
  gap: 10px;
}

.server-log-date-range-v04733 label {
  color: rgba(244,244,245,.60);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.server-log-filter-form-v0345 select,
.server-log-filter-form-v0345 input {
  min-height: 48px;
  padding: 0 13px;
  border: 0;
  border-radius: 12px;
  outline: 0;
  background: rgba(255,255,255,.052);
  color: var(--text);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.085),
    inset 0 1px 0 rgba(255,255,255,.025);
  transition: background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.server-log-filter-form-v0345 select:hover,
.server-log-filter-form-v0345 input:hover {
  background: rgba(255,255,255,.072);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.12),
    inset 0 1px 0 rgba(255,255,255,.035);
}

.server-log-filter-form-v0345 select:focus,
.server-log-filter-form-v0345 input:focus {
  background: rgba(255,255,255,.078);
  box-shadow:
    inset 0 0 0 1px rgba(255,48,70,.52),
    0 0 0 3px rgba(225,25,45,.105),
    0 8px 24px rgba(0,0,0,.14);
}

.server-log-filter-form-v0345 select:disabled,
.server-log-filter-form-v0345 input:disabled {
  opacity: .5;
  background: rgba(255,255,255,.032);
}

.server-log-filter-search-v04733 input {
  padding-inline: 15px;
}

.server-log-filter-actions-v04733 {
  display: grid;
  grid-template-columns: minmax(110px, .8fr) minmax(118px, 1fr);
  gap: 10px;
  align-items: end;
}

.server-log-filter-actions-v04733 .btn,
.server-log-filter-submit-v049123 {
  min-height: 48px;
  padding-inline: 20px;
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(225,25,45,.13);
}

.server-log-filter-submit-v049123:hover {
  box-shadow: 0 13px 34px rgba(225,25,45,.20);
}

@media (max-width: 1040px) {
  .server-log-filter-form-v0345 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      'server category'
      'type type'
      'date date'
      'file file'
      'search search'
      'actions actions';
  }

  .server-log-filter-actions-v04733 {
    grid-template-columns: minmax(120px, 180px) minmax(150px, 220px);
    justify-content: end;
  }
}

@media (max-width: 620px) {
  .server-log-toolbar-v0345 {
    padding: 16px;
  }

  .server-log-filter-form-v0345 {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      'server'
      'category'
      'type'
      'date'
      'file'
      'search'
      'actions';
    gap: 13px;
  }

  .server-log-date-range-v04733 > div,
  .server-log-filter-actions-v04733 {
    grid-template-columns: minmax(0, 1fr);
  }

  .server-log-filter-actions-v04733 .btn {
    width: 100%;
  }
}


/* ==========================================================
   v0.49.12.4 — server log filter readability / dark selects
   ========================================================== */
.server-log-filter-form-v0345 {
  grid-template-columns:
    minmax(150px, 1.05fr)
    minmax(235px, 1.65fr)
    minmax(235px, 1.65fr)
    minmax(150px, 1fr)
    minmax(150px, 1fr);
  grid-template-areas:
    'server category type date date'
    'file file search search actions';
  column-gap: 16px;
  row-gap: 18px;
}

.server-log-filter-form-v0345 > label,
.server-log-date-range-v04733 > legend,
.server-log-filter-actions-v04733 > label {
  font-size: .82rem;
  line-height: 1.2;
  letter-spacing: .055em;
}

.server-log-date-range-v04733 > legend {
  margin-bottom: 9px;
}

.server-log-date-range-v04733 label {
  font-size: .76rem;
  line-height: 1.2;
}

.server-log-filter-form-v0345 select,
.server-log-filter-form-v0345 input {
  min-height: 54px;
  padding-inline: 16px;
  font-size: .96rem;
  font-weight: 650;
  line-height: 1.25;
}

.server-log-filter-form-v0345 select {
  color-scheme: dark;
  cursor: pointer;
  padding-right: 38px;
  background-color: rgba(255,255,255,.058);
}

.server-log-filter-form-v0345 select option,
.server-log-filter-form-v0345 select optgroup {
  background: #17171d;
  color: #f4f4f5;
  font-size: 15px;
  font-weight: 600;
}

.server-log-filter-form-v0345 select option:disabled {
  color: rgba(244,244,245,.42);
}

.server-log-filter-form-v0345 input::placeholder {
  color: rgba(244,244,245,.42);
  font-weight: 500;
}

.server-log-filter-actions-v04733 {
  grid-template-columns: minmax(135px, .85fr) minmax(150px, 1fr);
  gap: 12px;
}

.server-log-filter-actions-v04733 .btn,
.server-log-filter-submit-v049123 {
  min-height: 54px;
  padding-inline: 24px;
  font-size: .96rem;
  font-weight: 800;
}

@media (max-width: 1180px) and (min-width: 1041px) {
  .server-log-filter-form-v0345 {
    grid-template-columns:
      minmax(135px, .95fr)
      minmax(205px, 1.45fr)
      minmax(205px, 1.45fr)
      minmax(142px, 1fr)
      minmax(142px, 1fr);
    column-gap: 12px;
  }
}

@media (max-width: 1040px) {
  .server-log-filter-form-v0345 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      'server category'
      'type type'
      'date date'
      'file file'
      'search search'
      'actions actions';
  }

  .server-log-filter-form-v0345 select,
  .server-log-filter-form-v0345 input,
  .server-log-filter-actions-v04733 .btn {
    min-height: 52px;
  }
}

@media (max-width: 620px) {
  .server-log-filter-form-v0345 {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      'server'
      'category'
      'type'
      'date'
      'file'
      'search'
      'actions';
  }

  .server-log-filter-form-v0345 > label,
  .server-log-date-range-v04733 > legend,
  .server-log-filter-actions-v04733 > label {
    font-size: .78rem;
  }

  .server-log-filter-form-v0345 select,
  .server-log-filter-form-v0345 input {
    font-size: 1rem;
  }
}


/* ==========================================================
   v0.49.12.5 — keep server-log search/actions inside toolbar
   ========================================================== */
@media (min-width: 1041px) {
  .server-log-filter-form-v0345 {
    grid-template-columns:
      minmax(140px, .95fr)
      minmax(210px, 1.45fr)
      minmax(210px, 1.45fr)
      minmax(145px, 1fr)
      minmax(145px, 1fr);
    grid-template-areas:
      'server category type date date'
      'file file search actions actions';
  }

  .server-log-filter-search-v04733 input {
    min-width: 0;
    width: 100%;
  }

  .server-log-filter-actions-v04733 {
    min-width: 0;
    grid-template-columns: minmax(120px, .75fr) minmax(140px, 1fr);
  }

  .server-log-filter-actions-v04733 .btn,
  .server-log-filter-submit-v049123 {
    min-width: 0;
    width: 100%;
    padding-inline: 18px;
  }
}

/* ==========================================================
   v0.49.13 — global server pulse / content & server UX
   ========================================================== */
.nav-server-link-v04913 {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
}

.nav-server-status-v04913,
.topbar-server-pulse-v04913,
.mobile-server-status-v04913 {
  --server-state: rgba(161, 161, 170, .75);
}

.nav-server-status-v04913.is-online,
.topbar-server-pulse-v04913.is-online,
.mobile-server-status-v04913.is-online { --server-state: #47d17f; }
.nav-server-status-v04913.is-degraded,
.topbar-server-pulse-v04913.is-degraded,
.mobile-server-status-v04913.is-degraded { --server-state: #f5b94c; }
.nav-server-status-v04913.is-offline,
.topbar-server-pulse-v04913.is-offline,
.mobile-server-status-v04913.is-offline { --server-state: #ff4d64; }

.nav-server-status-v04913 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 22px;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045);
  color: rgba(244,244,245,.84);
  font-size: .66rem;
  white-space: nowrap;
}

.nav-server-status-v04913 i,
.topbar-server-pulse-v04913 i,
.mobile-server-status-state-v04913 i {
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: var(--server-state);
  box-shadow: 0 0 12px color-mix(in srgb, var(--server-state) 62%, transparent);
}

.nav-server-status-v04913 b { font-size: .69rem; }
.nav-server-status-v04913 small { color: rgba(244,244,245,.52); font-size: .62rem; }

.topbar-server-pulse-v04913 {
  display: none;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 0 10px;
  border-radius: 11px;
  color: #f4f4f5;
  text-decoration: none;
  background: rgba(255,255,255,.055);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 8px 24px rgba(0,0,0,.12);
}
.topbar-server-pulse-v04913 strong { font-size: .78rem; }
.topbar-server-pulse-v04913 small { color: rgba(244,244,245,.55); font-size: .65rem; }

.mobile-server-status-v04913 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 2px 0 14px;
  padding: 13px 14px;
  border-radius: 15px;
  color: #f4f4f5;
  text-decoration: none;
  background:
    radial-gradient(circle at 15% 0%, color-mix(in srgb, var(--server-state) 14%, transparent), transparent 52%),
    rgba(255,255,255,.045);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 12px 30px rgba(0,0,0,.14);
}
.mobile-server-status-state-v04913,
.mobile-server-status-metrics-v04913 { display: flex; align-items: center; gap: 7px; }
.mobile-server-status-state-v04913 strong { font-size: .92rem; }
.mobile-server-status-metrics-v04913 b { font-size: .9rem; }
.mobile-server-status-metrics-v04913 small { color: rgba(244,244,245,.56); font-size: .72rem; }

/* /servers: compact dashboard instead of stacked hero panels. */
.servers-dashboard-v04913 {
  display: grid;
  gap: 18px;
  margin-bottom: 18px;
  padding: 24px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 8% 0%, rgba(225,25,45,.11), transparent 34%),
    linear-gradient(145deg, rgba(29,29,36,.9), rgba(14,14,18,.92));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055), 0 24px 60px rgba(0,0,0,.18);
}

.servers-dashboard-head-v04913 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}
.servers-dashboard-title-v04913 { max-width: 700px; }
.servers-dashboard-title-v04913 h1 { margin: 4px 0 8px; font-size: clamp(2rem, 4vw, 3.4rem); line-height: .96; }
.servers-dashboard-title-v04913 p { margin: 0; max-width: 680px; color: rgba(244,244,245,.62); font-size: 1rem; line-height: 1.55; }
.servers-dashboard-actions-v04913 { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.servers-dashboard-actions-v04913 form { margin: 0; }

.servers-overview-v04913 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.servers-overview-item-v04913 {
  min-width: 0;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255,255,255,.045);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045);
}
.servers-overview-item-v04913 span,
.servers-overview-item-v04913 small { display: block; color: rgba(244,244,245,.5); }
.servers-overview-item-v04913 span { margin-bottom: 5px; font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.servers-overview-item-v04913 strong { display: block; overflow: hidden; text-overflow: ellipsis; font-size: 1.5rem; line-height: 1.1; color: #f8f8fa; }
.servers-overview-item-v04913 small { margin-top: 5px; font-size: .72rem; }
.servers-overview-item-v04913.is-status strong { color: #63df91; }
.servers-overview-item-v04913.has-warning strong,
.servers-overview-item-v04913.is-restart strong { color: #ff6375; }

.servers-dashboard-meta-v04913 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  color: rgba(244,244,245,.44);
  font-size: .76rem;
}
.servers-dashboard-meta-v04913 strong { color: rgba(244,244,245,.72); }

.servers-grid-v04913 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.server-dashboard-card-v04913 {
  --server-accent: #8b8b95;
  position: relative;
  min-width: 0;
  overflow: hidden;
  padding: 22px;
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--server-accent) 10%, transparent), transparent 40%),
    rgba(24,24,30,.9);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 20px 48px rgba(0,0,0,.15);
}
.server-dashboard-card-v04913.is-online { --server-accent: #47d17f; }
.server-dashboard-card-v04913.is-offline { --server-accent: #ff4d64; }
.server-dashboard-card-v04913.is-disabled { --server-accent: #8b8b95; opacity: .82; }
.server-dashboard-card-v04913::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, var(--server-accent), transparent 80%);
  opacity: .9;
}
.server-dashboard-card-head-v04913 { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.server-dashboard-card-head-v04913 h2 { margin: 4px 0 0; font-size: 1.45rem; }
.server-dashboard-mode-v04913 { color: rgba(244,244,245,.46); font-size: .7rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.server-dashboard-description-v04913 { min-height: 48px; margin: 13px 0 16px; color: rgba(244,244,245,.58); line-height: 1.5; }
.server-dashboard-player-row-v04913 { display: grid; gap: 8px; margin-bottom: 16px; }
.server-dashboard-player-row-v04913 > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.server-dashboard-player-row-v04913 span { color: rgba(244,244,245,.48); font-size: .76rem; }
.server-dashboard-player-row-v04913 strong { font-size: 1.2rem; }
.server-dashboard-player-track-v04913 { height: 6px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.06); }
.server-dashboard-player-track-v04913 i { display: block; height: 100%; border-radius: inherit; background: var(--server-accent); box-shadow: 0 0 14px color-mix(in srgb, var(--server-accent) 50%, transparent); transition: width .3s ease; }
.server-dashboard-facts-v04913 { display: grid; gap: 8px; margin: 0 0 16px; }
.server-dashboard-facts-v04913 > div { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 12px; align-items: baseline; }
.server-dashboard-facts-v04913 dt { color: rgba(244,244,245,.42); font-size: .76rem; }
.server-dashboard-facts-v04913 dd { min-width: 0; margin: 0; overflow-wrap: anywhere; color: rgba(244,244,245,.86); font-weight: 650; }
.server-dashboard-actions-row-v04913 { display: flex; flex-wrap: wrap; gap: 9px; }
.server-dashboard-checked-v04913 { display: block; margin-top: 13px; color: rgba(244,244,245,.38); font-size: .7rem; }
.servers-manual-v04913 {
  margin-top: 16px;
  border-radius: 17px;
  background: rgba(255,255,255,.035);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.servers-manual-v04913 summary { cursor: pointer; padding: 15px 18px; font-weight: 800; color: rgba(244,244,245,.8); }
.servers-manual-v04913 > div { padding: 0 18px 18px; color: rgba(244,244,245,.58); }
.servers-manual-v04913 ol { margin: 0 0 10px; padding-left: 22px; line-height: 1.6; }

/* Stronger post-publication interaction prompt. */
.news-engagement-v04913 {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 22px;
  align-items: center;
  margin-top: 22px;
  padding: 22px;
  border-radius: 22px;
  background:
    radial-gradient(circle at 8% 10%, rgba(225,25,45,.17), transparent 42%),
    linear-gradient(135deg, rgba(36,24,29,.92), rgba(20,20,26,.93));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.065), 0 18px 50px rgba(0,0,0,.18);
}
.news-engagement-copy-v04913 { min-width: 0; }
.news-engagement-copy-v04913 h2 { margin: 4px 0 7px; font-size: 1.55rem; }
.news-engagement-copy-v04913 p { margin: 0; max-width: 650px; color: rgba(244,244,245,.62); line-height: 1.5; }
.news-engagement-meta-v04913 { display: flex; flex-wrap: wrap; gap: 10px 16px; margin-top: 13px; font-size: .78rem; }
.news-engagement-meta-v04913 span { color: rgba(244,244,245,.45); }
.news-engagement-meta-v04913 strong { color: #fff; }
.news-engagement-meta-v04913 a { color: #ff6678; font-weight: 750; text-decoration: none; }
.news-engagement-actions-v04913 { min-width: 0; width: 100%; }
.news-engagement-actions-v04913 .reaction-actions-v0398.reaction-actions-v0310 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  justify-content: stretch;
}
.news-engagement-actions-v04913 .reaction-actions-v0398.reaction-actions-v0310 form { min-width: 0; }
.news-engagement-actions-v04913 .reaction-btn-v0398.reaction-btn-v0310 { width: 100%; min-width: 0; }

/* Dedicated compact mobile mod-update feed. */
.news-mod-mobile-v04913 { display: none; }

@media (max-width: 980px) {
  .servers-overview-v04913 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .servers-grid-v04913 { grid-template-columns: minmax(0, 1fr); }
  .news-engagement-v04913 { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 760px) {
  .topbar-server-pulse-v04913 { display: inline-flex; margin-left: auto; }
  .topbar-server-pulse-v04913 small { display: none; }
  .topbar .nav-server-status-v04913 { display: inline-flex; }

  .servers-dashboard-v04913 { padding: 18px; border-radius: 20px; }
  .servers-dashboard-head-v04913 { display: grid; gap: 16px; }
  .servers-dashboard-actions-v04913 { justify-content: flex-start; }
  .servers-dashboard-title-v04913 h1 { font-size: 2.25rem; }
  .servers-dashboard-title-v04913 p { font-size: .92rem; }
  .servers-overview-v04913 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .servers-overview-item-v04913 { padding: 12px; }
  .servers-overview-item-v04913 strong { font-size: 1.25rem; }
  .server-dashboard-card-v04913 { padding: 18px; border-radius: 18px; }
  .server-dashboard-card-head-v04913 h2 { font-size: 1.25rem; }
  .server-dashboard-description-v04913 { min-height: 0; }
  .server-dashboard-facts-v04913 > div { grid-template-columns: 82px minmax(0, 1fr); }
  .server-dashboard-actions-row-v04913 .btn { flex: 1 1 140px; text-align: center; }

  .news-mod-mobile-v04913 {
    display: block;
    margin: 12px 0 16px;
    padding: 14px;
    border-radius: 18px;
    background: rgba(255,255,255,.04);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
  }
  .news-mod-mobile-head-v04913 { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 9px; }
  .news-mod-mobile-head-v04913 h2 { margin: 2px 0 0; font-size: 1.15rem; }
  .news-mod-mobile-head-v04913 > a { color: #ff6375; text-decoration: none; font-weight: 800; font-size: .8rem; }
  .news-mod-mobile-list-v04913 { display: grid; gap: 6px; }
  .news-mod-mobile-item-v04913 {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 2px 10px;
    padding: 11px 10px;
    border-radius: 13px;
    color: #f4f4f5;
    text-decoration: none;
    background: rgba(255,255,255,.035);
  }
  .news-mod-mobile-item-v04913 time { grid-row: 1 / span 2; align-self: start; color: rgba(244,244,245,.42); font-size: .68rem; }
  .news-mod-mobile-item-v04913 strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .88rem; }
  .news-mod-mobile-item-v04913 > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: rgba(244,244,245,.5); font-size: .7rem; }
  .news-mod-mobile-item-v04913 > span b { color: rgba(244,244,245,.78); font-size: .69rem; }
  .panel.news-mod-updates-v0473 { display: none !important; }

  .news-engagement-v04913 { padding: 17px; border-radius: 18px; }
  .news-engagement-copy-v04913 h2 { font-size: 1.3rem; }
}

html[data-ipad-layout="mobile-landscape"] .topbar-server-pulse-v04913 { display: inline-flex; margin-left: auto; }
html[data-ipad-layout="mobile-landscape"] .topbar-server-pulse-v04913 small { display: none; }
html[data-ipad-layout="mobile-landscape"] .news-mod-mobile-v04913 { display: block; }
html[data-ipad-layout="mobile-landscape"] .panel.news-mod-updates-v0473 { display: none !important; }

@media (max-width: 420px) {
  .topbar-server-pulse-v04913 { padding-inline: 8px; }
  .servers-overview-v04913 { grid-template-columns: minmax(0, 1fr); }
  .news-engagement-actions-v04913 .reaction-actions-v0398.reaction-actions-v0310 { grid-template-columns: minmax(0, 1fr); }
}


/* v0.49.13.2 — единый sticky footer для всех страниц и устройств.
   Footer не fixed: на короткой странице он прижат к низу viewport,
   на длинной остаётся после контента и ничего не перекрывает. */
html {
  min-height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}

body > .page {
  flex: 1 0 auto;
  width: min(var(--page-max-v0318, 1360px), calc(100vw - 32px));
}

body > .footer.footer-v03172 {
  flex: 0 0 auto;
  margin-top: auto;
}

/* На телефонах footer остаётся читаемым над фиксированной нижней навигацией. */
@media (max-width: 768px) {
  body > .footer.footer-v03172 {
    padding-bottom: calc(72px + env(safe-area-inset-bottom));
  }
}

/* iPad landscape уже резервирует место под плавающую nav через padding body.
   Не добавляем второй большой нижний отступ самому footer. */
html[data-ipad-layout="mobile-landscape"] body > .footer.footer-v03172 {
  padding-bottom: 22px;
}

/* ==========================================================
   v0.50.0 — modern dark UI / red accent system
   Header unread markers, notification center, tabs, skeletons.
   ========================================================== */
.dm-icon-v050 {
  width: 18px;
  height: 18px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Header unread v0.50.6: three semantic markers without returning to full-button glow.
   Red = public/general content, blue = clan, amber = booster. Multiple sources are
   shown as separate dots, so a clan/booster player can identify the source instantly. */
.topbar .nav a.has-content-unread-v050,
.topbar .nav a.has-clan-unread-v050,
.topbar .nav a.has-booster-unread-v050 {
  --dm-unread-beam-v0506: linear-gradient(90deg, transparent, #ff5265 42%, #fff 66%, transparent);
  --dm-unread-beam-shadow-v0506: rgba(225,25,45,.68);
  position: relative;
  background: transparent !important;
  box-shadow: inset 0 -1px 0 rgba(225, 25, 45, .72) !important;
}

/* One source. */
.topbar .nav a.has-content-unread-v050:not(.has-clan-unread-v050):not(.has-booster-unread-v050)::after,
.topbar .nav a.has-clan-unread-v050:not(.has-content-unread-v050):not(.has-booster-unread-v050)::after,
.topbar .nav a.has-booster-unread-v050:not(.has-content-unread-v050):not(.has-clan-unread-v050)::after,
/* Two/three sources share the same 5px base dot; extra dots are box-shadows. */
.topbar .nav a.has-content-unread-v050.has-clan-unread-v050::after,
.topbar .nav a.has-content-unread-v050.has-booster-unread-v050::after,
.topbar .nav a.has-clan-unread-v050.has-booster-unread-v050::after {
  content: '';
  position: absolute;
  top: 6px;
  width: 5px;
  height: 5px;
  border-radius: 999px;
  pointer-events: none;
}

/* General/public. */
.topbar .nav a.has-content-unread-v050:not(.has-clan-unread-v050):not(.has-booster-unread-v050)::after {
  right: 6px;
  background: #ff3046;
  filter: drop-shadow(0 0 3px rgba(255,48,70,.38));
}
/* Clan only. */
.topbar .nav a.has-clan-unread-v050:not(.has-content-unread-v050):not(.has-booster-unread-v050) {
  --dm-unread-beam-v0506: linear-gradient(90deg, transparent, #4f8cff 42%, #dce8ff 66%, transparent);
  --dm-unread-beam-shadow-v0506: rgba(79,140,255,.65);
  box-shadow: inset 0 -1px 0 rgba(79,140,255,.72) !important;
}
.topbar .nav a.has-clan-unread-v050:not(.has-content-unread-v050):not(.has-booster-unread-v050)::after {
  right: 6px;
  background: #4f8cff;
  filter: drop-shadow(0 0 3px rgba(79,140,255,.42));
}
/* Booster only. */
.topbar .nav a.has-booster-unread-v050:not(.has-content-unread-v050):not(.has-clan-unread-v050) {
  --dm-unread-beam-v0506: linear-gradient(90deg, transparent, #ff9d3d 42%, #ffe0bb 66%, transparent);
  --dm-unread-beam-shadow-v0506: rgba(255,157,61,.62);
  box-shadow: inset 0 -1px 0 rgba(255,157,61,.72) !important;
}
.topbar .nav a.has-booster-unread-v050:not(.has-content-unread-v050):not(.has-clan-unread-v050)::after {
  right: 6px;
  background: #ff9d3d;
  filter: drop-shadow(0 0 3px rgba(255,157,61,.42));
}
/* General + clan: red, blue. */
.topbar .nav a.has-content-unread-v050.has-clan-unread-v050:not(.has-booster-unread-v050) {
  --dm-unread-beam-v0506: linear-gradient(90deg, transparent, #ff5265 30%, #4f8cff 64%, #dce8ff 76%, transparent);
}
.topbar .nav a.has-content-unread-v050.has-clan-unread-v050:not(.has-booster-unread-v050)::after {
  right: 13px;
  background: #ff3046;
  box-shadow: 7px 0 0 #4f8cff;
}
/* General + booster: red, amber. */
.topbar .nav a.has-content-unread-v050.has-booster-unread-v050:not(.has-clan-unread-v050) {
  --dm-unread-beam-v0506: linear-gradient(90deg, transparent, #ff5265 30%, #ff9d3d 64%, #ffe0bb 76%, transparent);
}
.topbar .nav a.has-content-unread-v050.has-booster-unread-v050:not(.has-clan-unread-v050)::after {
  right: 13px;
  background: #ff3046;
  box-shadow: 7px 0 0 #ff9d3d;
}
/* Clan + booster: blue, amber. */
.topbar .nav a.has-clan-unread-v050.has-booster-unread-v050:not(.has-content-unread-v050) {
  --dm-unread-beam-v0506: linear-gradient(90deg, transparent, #4f8cff 30%, #ff9d3d 64%, #ffe0bb 76%, transparent);
  --dm-unread-beam-shadow-v0506: rgba(115,134,220,.62);
  box-shadow: inset 0 -1px 0 rgba(115,134,220,.72) !important;
}
.topbar .nav a.has-clan-unread-v050.has-booster-unread-v050:not(.has-content-unread-v050)::after {
  right: 13px;
  background: #4f8cff;
  box-shadow: 7px 0 0 #ff9d3d;
}
/* All three: red, blue, amber. */
.topbar .nav a.has-content-unread-v050.has-clan-unread-v050.has-booster-unread-v050 {
  --dm-unread-beam-v0506: linear-gradient(90deg, transparent, #ff5265 24%, #4f8cff 48%, #ff9d3d 70%, #fff0df 80%, transparent);
}
.topbar .nav a.has-content-unread-v050.has-clan-unread-v050.has-booster-unread-v050::after {
  right: 20px;
  background: #ff3046;
  box-shadow: 7px 0 0 #4f8cff, 14px 0 0 #ff9d3d;
}

.topbar .nav a.has-content-unread-v050::before,
.topbar .nav a.has-clan-unread-v050::before,
.topbar .nav a.has-booster-unread-v050::before {
  content: '';
  position: absolute;
  right: 100%;
  bottom: 0;
  width: 42%;
  height: 1px;
  background: var(--dm-unread-beam-v0506);
  opacity: 0;
  filter: drop-shadow(0 0 4px var(--dm-unread-beam-shadow-v0506));
  pointer-events: none;
  animation: dm-header-edge-beam-v050 .82s cubic-bezier(.2,.7,.2,1) 1 both;
}
.topbar .nav a.is-unread-arrival-v050::before {
  animation: dm-header-edge-beam-arrival-v050 .82s cubic-bezier(.2,.7,.2,1) 1 both;
}
@keyframes dm-header-edge-beam-v050 {
  0% { right: 100%; opacity: 0; }
  15% { opacity: .95; }
  72% { opacity: .9; }
  100% { right: -42%; opacity: 0; }
}
@keyframes dm-header-edge-beam-arrival-v050 {
  0% { right: 100%; opacity: 0; }
  15% { opacity: 1; }
  72% { opacity: .95; }
  100% { right: -42%; opacity: 0; }
}

.nav-icon-link-v050 {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  min-height: 38px;
  padding: 9px !important;
}
.nav-icon-link-v050 .nav-badge {
  position: absolute;
  top: 1px;
  right: 0;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  margin: 0;
  font-size: 9px;
  box-shadow: 0 0 0 2px rgba(9,9,11,.96);
}

/* Unified notification center in desktop Header. */
.topbar-notification-center-v050 {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.topbar-notification-center-toggle-v050 {
  position: relative;
  width: 38px;
  height: 34px;
  min-width: 38px;
  padding: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  color: rgba(244,244,245,.8);
  background: rgba(255,255,255,.025) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.topbar-notification-center-toggle-v050:hover,
.topbar-notification-center-v050.is-open .topbar-notification-center-toggle-v050 {
  color: #fff;
  background: rgba(225,25,45,.12) !important;
  box-shadow: inset 0 0 0 1px rgba(225,25,45,.25), 0 8px 22px rgba(0,0,0,.16);
}
.header-notification-count-v050 {
  position: absolute;
  top: -5px;
  right: -6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #e1192d;
  color: #fff;
  box-shadow: 0 0 0 2px rgba(9,9,11,.98), 0 5px 15px rgba(225,25,45,.2);
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  transform-origin: center;
}
.header-notification-count-v050.is-empty {
  display: none;
}
.header-notification-count-v050.is-pop-v050,
.nav-badge.is-count-pop-v050 {
  animation: dm-count-pop-v050 .28s cubic-bezier(.2,.85,.35,1.25) 1;
}
@keyframes dm-count-pop-v050 {
  0% { transform: scale(.72); opacity: .55; }
  70% { transform: scale(1.12); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}

.topbar-notification-center-panel-v050 {
  position: absolute;
  top: calc(100% + 11px);
  right: -46px;
  z-index: 120;
  width: min(390px, calc(100vw - 28px));
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.095);
  border-radius: 18px;
  background:
    radial-gradient(circle at 88% -10%, rgba(225,25,45,.13), transparent 34%),
    rgba(11,11,15,.965);
  box-shadow: 0 28px 80px rgba(0,0,0,.56), inset 0 1px 0 rgba(255,255,255,.045);
  -webkit-backdrop-filter: blur(24px) saturate(125%);
  backdrop-filter: blur(24px) saturate(125%);
  transform-origin: 82% 0;
  animation: dm-notification-panel-in-v050 .18s cubic-bezier(.2,.72,.2,1) 1 both;
}
.topbar-notification-center-panel-v050[hidden] { display: none !important; }
.topbar-notification-center-panel-v050::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent 7%, rgba(225,25,45,.75) 52%, transparent 94%);
  opacity: .72;
  pointer-events: none;
}
@keyframes dm-notification-panel-in-v050 {
  from { opacity: 0; transform: translateY(-6px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.notification-center-head-v050 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 16px 12px;
}
.notification-center-head-v050 > div:first-child {
  display: grid;
  gap: 2px;
}
.notification-center-head-v050 > .notification-center-actions-v050 {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.notification-center-head-v050 strong {
  font-size: .96rem;
  letter-spacing: -.015em;
}
.notification-center-head-v050 small {
  color: rgba(244,244,245,.48);
  font-size: .69rem;
}
.notification-center-close-v050 {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 9px;
  background: rgba(255,255,255,.035);
  color: rgba(244,244,245,.64);
  cursor: pointer;
  transition: background .16s ease, color .16s ease, transform .16s ease;
}
.notification-center-close-v050:hover {
  background: rgba(225,25,45,.12);
  color: #fff;
  transform: rotate(3deg);
}
.notification-center-close-v050 .dm-icon-v050 { width: 15px; height: 15px; }
.notification-center-read-all-v050 {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: inherit;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  transition: background .16s ease, transform .16s ease, opacity .16s ease;
}
.notification-center-read-all-v050:hover:not(:disabled) { background: rgba(77, 223, 156, .14); transform: scale(1.06); }
.notification-center-read-all-v050:disabled { opacity: .42; cursor: default; }

.notification-center-tabs-v050,
.profile-notification-tabs-v050 {
  position: relative;
  display: flex;
  gap: 4px;
  width: max-content;
  max-width: calc(100% - 32px);
  margin: 0 16px 10px;
  padding: 3px;
  border: 1px solid rgba(255,255,255,.065);
  border-radius: 11px;
  background: rgba(255,255,255,.025);
}
.notification-center-tabs-v050 button,
.profile-notification-tabs-v050 button {
  min-height: 30px;
  padding: 6px 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: rgba(244,244,245,.5);
  font: inherit;
  font-size: .7rem;
  font-weight: 800;
  cursor: pointer;
  transition: color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}
.notification-center-tabs-v050 button:hover,
.profile-notification-tabs-v050 button:hover { color: rgba(255,255,255,.84); }
.notification-center-tabs-v050 button.is-active,
.profile-notification-tabs-v050 button.is-active {
  color: #fff;
  background: rgba(225,25,45,.14);
  box-shadow: inset 0 0 0 1px rgba(225,25,45,.22), 0 5px 14px rgba(0,0,0,.12);
}
.profile-notification-tabs-v050 button span {
  margin-left: 4px;
  color: rgba(255,255,255,.48);
  font-variant-numeric: tabular-nums;
}
.profile-notification-tabs-v050 button.is-active span { color: rgba(255,180,190,.84); }

.notification-center-scroll-v050 {
  position: relative;
  max-height: min(430px, calc(100vh - 190px));
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.14) transparent;
}
.notification-center-scroll-v050::-webkit-scrollbar { width: 7px; }
.notification-center-scroll-v050::-webkit-scrollbar-track { background: transparent; }
.notification-center-scroll-v050::-webkit-scrollbar-thumb { border-radius: 99px; background: rgba(255,255,255,.12); }
.notification-center-list-v050 {
  display: grid;
  padding: 0 8px 10px;
}
.notification-center-item-v050 {
  position: relative;
  display: grid;
  grid-template-columns: 10px minmax(0,1fr) 20px;
  align-items: start;
  gap: 9px;
  min-height: 74px;
  padding: 11px 8px;
  border-radius: 12px;
  color: rgba(244,244,245,.9);
  transition: background .16s ease, transform .16s ease, opacity .16s ease;
  animation: dm-notification-item-in-v050 .24s cubic-bezier(.2,.7,.2,1) both;
  animation-delay: calc(var(--notification-index-v050, 0) * 28ms);
}
.notification-center-item-v050 + .notification-center-item-v050::before {
  content: '';
  position: absolute;
  top: 0;
  right: 8px;
  left: 27px;
  height: 1px;
  background: rgba(255,255,255,.055);
}
.notification-center-item-v050:hover {
  background: rgba(255,255,255,.038);
  transform: translateX(1px);
}
.notification-center-item-v050.is-opening { opacity: .56; pointer-events: none; }
.notification-center-item-v050.is-read { opacity: .68; }
.notification-center-item-v050.is-read:hover { opacity: .9; }
@keyframes dm-notification-item-in-v050 {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
.notification-center-marker-v050 {
  width: 6px;
  height: 6px;
  margin-top: 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.2);
  background: transparent;
}
.notification-center-item-v050.is-unread .notification-center-marker-v050 {
  border-color: #ff3046;
  background: #ff3046;
  box-shadow: 0 0 0 3px rgba(225,25,45,.08);
}
.notification-center-copy-v050 {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.notification-center-meta-v050 {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  color: rgba(244,244,245,.43);
  font-size: .62rem;
  line-height: 1.15;
}
.notification-center-meta-v050 b,
.notification-center-meta-v050 em {
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}
.notification-center-meta-v050 b { color: rgba(255,255,255,.56); }
.notification-center-item-v050.is-unread .notification-center-meta-v050 b { color: rgba(255,122,137,.92); }
.notification-center-meta-v050 em {
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 2px 5px;
  border-radius: 99px;
  background: rgba(255,255,255,.045);
  color: rgba(255,255,255,.48);
}
.notification-center-meta-v050 time { margin-left: auto; white-space: nowrap; }
.notification-center-copy-v050 > strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: rgba(255,255,255,.9);
  font-size: .77rem;
  line-height: 1.3;
}
.notification-center-item-v050.is-unread .notification-center-copy-v050 > strong { color: #fff; }
.notification-center-copy-v050 > small {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: rgba(244,244,245,.48);
  font-size: .68rem;
  line-height: 1.38;
}
.notification-center-arrow-v050 {
  display: grid;
  place-items: center;
  align-self: center;
  color: rgba(255,255,255,.22);
  transition: color .16s ease, transform .16s ease;
}
.notification-center-arrow-v050 .dm-icon-v050 { width: 14px; height: 14px; }
.notification-center-item-v050:hover .notification-center-arrow-v050 {
  color: rgba(255,90,107,.8);
  transform: translateX(2px);
}

.notification-center-empty-v050 {
  min-height: 190px;
  padding: 28px 18px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 7px;
  text-align: center;
}
.notification-center-empty-v050[hidden] { display: none !important; }
.notification-center-empty-v050 .dm-icon-v050 {
  width: 26px;
  height: 26px;
  margin-bottom: 4px;
  color: rgba(225,25,45,.78);
}
.notification-center-empty-v050 strong { font-size: .78rem; }
.notification-center-empty-v050 span { max-width: 260px; color: rgba(244,244,245,.43); font-size: .68rem; line-height: 1.45; }
.notification-center-blur-v050 {
  position: sticky;
  z-index: 3;
  bottom: -1px;
  display: block;
  height: 28px;
  margin-top: -28px;
  background: linear-gradient(180deg, rgba(11,11,15,0), rgba(11,11,15,.88) 72%, rgba(11,11,15,.98));
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  pointer-events: none;
}
.notification-center-footer-v050 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 45px;
  padding: 8px 14px;
  border-top: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.018);
}
.notification-center-footer-v050 a {
  padding: 5px 2px;
  color: rgba(244,244,245,.58);
  font-size: .68rem;
  font-weight: 800;
  transition: color .16s ease;
}
.notification-center-footer-v050 a:hover { color: #ff6072; }

/* Skeleton loader for the notification panel. */
.notification-center-skeleton-v050 {
  display: grid;
  gap: 1px;
  padding: 0 8px 10px;
}
.notification-center-skeleton-v050[hidden] { display: none !important; }
.notification-center-skeleton-v050 > span {
  position: relative;
  display: grid;
  grid-template-columns: 8px 1fr;
  grid-template-rows: 11px 13px 9px;
  gap: 7px 10px;
  min-height: 74px;
  padding: 12px 8px;
  overflow: hidden;
}
.notification-center-skeleton-v050 > span::after {
  content: '';
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.045), transparent);
  animation: dm-skeleton-shimmer-v050 1.35s ease-in-out infinite;
}
.notification-center-skeleton-v050 i,
.notification-center-skeleton-v050 b,
.notification-center-skeleton-v050 em {
  display: block;
  border-radius: 999px;
  background: rgba(255,255,255,.055);
}
.notification-center-skeleton-v050 i { grid-row: 1 / 4; align-self: start; width: 6px; height: 6px; margin-top: 4px; }
.notification-center-skeleton-v050 b { width: 38%; height: 8px; }
.notification-center-skeleton-v050 em { width: 76%; height: 8px; }
.notification-center-skeleton-v050 b + em { grid-column: 2; }
@keyframes dm-skeleton-shimmer-v050 { to { transform: translateX(100%); } }

/* Settings: clean switch rows, red is the only decorative accent. */
.topbar-settings-toggle-v03206 .dm-icon-v050 { width: 17px; height: 17px; }
.settings-switch-row-v050 {
  justify-content: space-between !important;
  gap: 12px;
}
.settings-switch-v050 {
  position: relative;
  flex: 0 0 31px;
  width: 31px;
  height: 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.1);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.055);
  transition: background .18s ease, box-shadow .18s ease;
}
.settings-switch-v050::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255,255,255,.7);
  box-shadow: 0 2px 7px rgba(0,0,0,.4);
  transition: transform .2s cubic-bezier(.2,.75,.2,1), background .18s ease;
}
.settings-switch-row-v050[aria-pressed="true"] .settings-switch-v050 {
  background: rgba(225,25,45,.58);
  box-shadow: inset 0 0 0 1px rgba(255,88,107,.34), 0 0 12px rgba(225,25,45,.08);
}
.settings-switch-row-v050[aria-pressed="true"] .settings-switch-v050::after {
  transform: translateX(13px);
  background: #fff;
}
.settings-link-v050 { justify-content: space-between !important; }
.settings-link-v050 .dm-icon-v050 { width: 14px; height: 14px; color: rgba(255,255,255,.38); }

/* Profile notification history: animated segmented filter and restrained red unread accent. */
.profile-notification-head-v050 { margin-bottom: 12px; }
.profile-notification-tabs-v050 {
  margin: 0 0 16px;
  max-width: 100%;
}
.profile-notification-item-v050 {
  position: relative;
  overflow: hidden;
  transition: background .16s ease, border-color .16s ease, opacity .16s ease, transform .16s ease;
}
.profile-notification-item-v050.is-unread {
  border-color: rgba(225,25,45,.18) !important;
  background: linear-gradient(90deg, rgba(225,25,45,.055), rgba(255,255,255,.018) 28%, rgba(255,255,255,.018)) !important;
  box-shadow: inset 2px 0 0 rgba(225,25,45,.7) !important;
}
.profile-notification-item-v050.is-read { opacity: .72; }
.profile-notification-item-v050:hover { transform: translateY(-1px); opacity: 1; }
.profile-notification-filter-empty-v050 {
  min-height: 180px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 7px;
  border: 1px dashed rgba(255,255,255,.075);
  border-radius: 14px;
  color: rgba(244,244,245,.55);
  text-align: center;
}
.profile-notification-filter-empty-v050[hidden] { display: none !important; }
.profile-notification-filter-empty-v050 strong { color: rgba(255,255,255,.82); font-size: .82rem; }
.profile-notification-filter-empty-v050 span { font-size: .72rem; }

/* Modern toast: lightweight stack, red edge, timed dismiss indicator. */
.notification-toast {
  position: relative;
  overflow: hidden;
  padding: 13px 15px 14px 17px !important;
  border: 1px solid rgba(255,255,255,.085) !important;
  border-radius: 14px !important;
  background: rgba(13,13,17,.94) !important;
  box-shadow: 0 18px 52px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.035) !important;
  -webkit-backdrop-filter: blur(18px) saturate(120%);
  backdrop-filter: blur(18px) saturate(120%);
  animation: dm-toast-in-v050 .22s cubic-bezier(.2,.72,.2,1) 1 both;
}
.notification-toast::before {
  content: '';
  position: absolute;
  inset: 10px auto 10px 0;
  width: 2px;
  border-radius: 99px;
  background: #e1192d;
  box-shadow: 0 0 13px rgba(225,25,45,.36);
}
.notification-toast::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  transform-origin: left center;
  background: rgba(225,25,45,.5);
  animation: dm-toast-life-v050 7s linear 1 both;
}
.notification-toast strong { font-size: .8rem; }
.notification-toast span { font-size: .72rem; color: rgba(244,244,245,.52) !important; }
@keyframes dm-toast-in-v050 {
  from { opacity: 0; transform: translateX(12px) scale(.985); }
  to { opacity: 1; transform: translateX(0) scale(1); }
}
@keyframes dm-toast-life-v050 { from { transform: scaleX(1); } to { transform: scaleX(0); } }

@media (max-width: 1280px) {
  .topbar-notification-center-v050 { display: none !important; }
}

@media (max-width: 720px) {
  .profile-notification-tabs-v050 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }
  .profile-notification-tabs-v050 button { min-width: 0; padding-inline: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  .topbar .nav a.has-content-unread-v050::before,
  .topbar .nav a.has-clan-unread-v050::before,
  .topbar .nav a.has-booster-unread-v050::before,
  .topbar .nav a.is-unread-arrival-v050::before,
  .header-notification-count-v050.is-pop-v050,
  .nav-badge.is-count-pop-v050,
  .topbar-notification-center-panel-v050,
  .notification-center-item-v050,
  .notification-center-skeleton-v050 > span::after,
  .notification-toast,
  .notification-toast::after {
    animation: none !important;
  }
}

/* v0.50.0 — Steam Workshop live rail: dark application UI with a restrained red accent. */
.news-right-rail-v050 {
  position: sticky;
  top: 92px;
  display: grid;
  gap: 12px;
  min-width: 0;
}
.news-right-rail-v050 > .news-mod-updates-v0473 {
  position: static;
  top: auto;
}
.workshop-live-v050 {
  display: grid;
  gap: 11px;
  min-width: 0;
  padding: 13px;
  border-color: rgba(255,255,255,.055) !important;
  background: rgba(11,11,14,.82) !important;
  box-shadow: 0 14px 46px rgba(0,0,0,.24) !important;
}
.workshop-live-v050[hidden] { display: none !important; }
.workshop-live-head-v050 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.workshop-live-head-v050 h2 {
  margin: 2px 0 0;
  color: #f5f5f7;
  font-size: 19px;
  line-height: 1.15;
}
.workshop-live-auto-v050 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  padding: 4px 7px;
  border: 1px solid rgba(225,25,45,.18);
  border-radius: 999px;
  background: rgba(225,25,45,.065);
  color: rgba(255,221,225,.74);
  font-size: .62rem;
  font-weight: 850;
  letter-spacing: .02em;
}
.workshop-live-auto-v050 i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #e1192d;
  box-shadow: 0 0 8px rgba(225,25,45,.45);
}
.workshop-live-note-v050 {
  margin: -2px 0 0;
  color: rgba(244,244,245,.43);
  font-size: .69rem;
  line-height: 1.4;
}
.workshop-live-list-v050 {
  display: grid;
  gap: 5px;
}
.workshop-live-list-v050[hidden] { display: none !important; }
.workshop-live-item-v050 {
  display: grid;
  grid-template-columns: 7px minmax(0,1fr) 16px;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 9px 8px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 11px;
  background: rgba(255,255,255,.025);
  color: #f3f3f5;
  text-decoration: none;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.workshop-live-item-v050:hover {
  transform: translateY(-1px);
  border-color: rgba(225,25,45,.22);
  background: rgba(225,25,45,.05);
  color: #fff;
}
.workshop-live-marker-v050 {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(225,25,45,.78);
  box-shadow: 0 0 8px rgba(225,25,45,.24);
}
.workshop-live-copy-v050 {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.workshop-live-copy-v050 strong {
  overflow: hidden;
  color: rgba(255,255,255,.88);
  font-size: .76rem;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.workshop-live-copy-v050 small {
  overflow: hidden;
  color: rgba(244,244,245,.4);
  font-size: .63rem;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.workshop-live-arrow-v050 {
  color: rgba(255,255,255,.28);
  transition: color .16s ease, transform .16s ease;
}
.workshop-live-arrow-v050 .dm-icon-v050 { width: 14px; height: 14px; }
.workshop-live-item-v050:hover .workshop-live-arrow-v050 {
  color: rgba(255,87,106,.85);
  transform: translate(1px,-1px);
}
.workshop-live-foot-v050 {
  padding-top: 2px;
  color: rgba(244,244,245,.3);
  font-size: .6rem;
  line-height: 1.4;
}
.workshop-live-foot-v050[hidden] { display: none !important; }
.workshop-live-v050.is-stale-v050 .workshop-live-auto-v050 { opacity: .72; }
.workshop-live-skeleton-v050 {
  display: grid;
  gap: 5px;
}
.workshop-live-skeleton-v050[hidden] { display: none !important; }
.workshop-live-skeleton-v050 > span {
  position: relative;
  display: grid;
  grid-template-columns: 6px 1fr;
  gap: 8px;
  min-height: 45px;
  padding: 9px 8px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.045);
  border-radius: 11px;
  background: rgba(255,255,255,.018);
}
.workshop-live-skeleton-v050 > span::after {
  content: '';
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.04), transparent);
  animation: dm-skeleton-shimmer-v050 1.35s ease-in-out infinite;
}
.workshop-live-skeleton-v050 i,
.workshop-live-skeleton-v050 b {
  display: block;
  border-radius: 999px;
  background: rgba(255,255,255,.055);
}
.workshop-live-skeleton-v050 i { align-self: start; width: 5px; height: 5px; margin-top: 5px; }
.workshop-live-skeleton-v050 b { width: 72%; height: 9px; margin-top: 3px; }

@media (max-width: 1040px) {
  .news-right-rail-v050 {
    grid-column: 2;
    position: static;
    top: auto;
  }
}
@media (max-width: 900px) {
  .news-right-rail-v050 { grid-column: auto; }
}
@media (max-width: 760px) {
  .news-right-rail-v050 { margin-top: 2px; }
  .workshop-live-v050 { border-radius: 16px; }
}
html[data-ipad-layout="mobile-landscape"] .news-right-rail-v050 {
  grid-column: auto;
  position: static;
  top: auto;
}
@media (prefers-reduced-motion: reduce) {
  .workshop-live-item-v050,
  .workshop-live-skeleton-v050 > span::after { animation: none !important; transition: none !important; }
}

/* =========================================================
   v0.50.1 — unified modern surfaces + combined user profile
   Dark application surfaces with restrained red interaction.
   ========================================================= */
:root {
  --dm-surface-v0501: linear-gradient(145deg, rgba(23,23,29,.955), rgba(13,13,17,.965));
  --dm-surface-soft-v0501: linear-gradient(145deg, rgba(27,27,34,.82), rgba(16,16,21,.88));
  --dm-surface-line-v0501: rgba(255,255,255,.075);
  --dm-surface-line-strong-v0501: rgba(255,255,255,.105);
  --dm-surface-shadow-v0501: 0 12px 34px rgba(0,0,0,.23), inset 0 1px 0 rgba(255,255,255,.028);
  --dm-surface-shadow-soft-v0501: 0 10px 28px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.022);
  --dm-red-soft-v0501: rgba(225,25,45,.11);
  --dm-red-line-v0501: rgba(255,48,70,.26);
}

/* Ordinary portal panels use one surface language. Specific feature panels can
   continue overriding this block later in the cascade when required. */
.panel,
.hero-card,
.hero-content,
.panel-soft,
.list-card,
.feature-card,
.home-live-card-v039,
.home-server-card-v039,
.home-event-card-v0395,
.home-feed-card-v039,
.admin-status-settings-card-v04817,
.admin-user-settings-card-v03482,
.profile-pwa-card-v03201,
.server-summary-card,
.server-detail-card {
  border-color: var(--dm-surface-line-v0501);
  background: var(--dm-surface-v0501);
  box-shadow: var(--dm-surface-shadow-v0501);
}

.panel-soft {
  background: var(--dm-surface-soft-v0501);
  box-shadow: var(--dm-surface-shadow-soft-v0501);
}

.panel.accent,
.panel[class*=" accent-"],
.panel[class^="accent-"] {
  border-color: rgba(255,48,70,.16);
  background:
    radial-gradient(circle at 92% -12%, rgba(225,25,45,.105), transparent 35%),
    var(--dm-surface-v0501);
}

/* Form/table surfaces should read as part of the same system, without making
   every static panel hover or move. */
.panel.form-panel,
.panel.table-panel,
.form-panel,
.table-panel {
  border-color: var(--dm-surface-line-v0501);
}

.panel :is(input, textarea, select),
.form-panel :is(input, textarea, select) {
  border-color: rgba(255,255,255,.08);
  background-color: rgba(7,7,10,.48);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.018);
}

.panel :is(input, textarea, select):focus,
.form-panel :is(input, textarea, select):focus {
  border-color: rgba(255,48,70,.36);
  box-shadow: 0 0 0 3px rgba(225,25,45,.075), inset 0 1px 0 rgba(255,255,255,.018);
}

.panel table,
.table-panel table {
  border-collapse: separate;
  border-spacing: 0;
}

.panel table thead th,
.table-panel table thead th {
  color: rgba(244,244,245,.64);
  background: rgba(255,255,255,.018);
}

.panel table tbody tr,
.table-panel table tbody tr {
  transition: background-color .14s ease;
}

@media (hover:hover) and (pointer:fine) {
  .panel table tbody tr:hover,
  .table-panel table tbody tr:hover {
    background: rgba(255,255,255,.025);
  }

  /* Only clearly interactive card-like panels react to the pointer. */
  a.panel,
  .event-card-v0395.panel,
  .compare-card-v0394.panel,
  .admin-status-row-v04817.panel,
  .article-card-v0396,
  .forum-channel-row-v03480 {
    transition: border-color .17s ease, box-shadow .17s ease, transform .17s ease, background-color .17s ease;
  }

  a.panel:hover,
  .event-card-v0395.panel:hover,
  .compare-card-v0394.panel:hover,
  .admin-status-row-v04817.panel:hover,
  .article-card-v0396:hover,
  .forum-channel-row-v03480:hover {
    border-color: rgba(255,48,70,.18);
    box-shadow: 0 18px 50px rgba(0,0,0,.29), inset 0 1px 0 rgba(255,255,255,.035);
    transform: translateY(-1px);
  }
}

/* Combined profile control replaces the duplicate Profile button + avatar/name. */
.topbar-user-profile-v0501 {
  position: relative;
  display: grid;
  grid-template-columns: 32px minmax(0,auto) 14px;
  align-items: center;
  gap: 8px;
  width: max-content;
  min-width: max-content;
  flex: 0 0 auto;
  min-height: 38px;
  padding: 3px 8px 3px 4px;
  border: 1px solid rgba(255,255,255,.065);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
  color: rgba(244,244,245,.86);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.018);
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}
.topbar-user-profile-v0501:hover {
  color: #fff;
  border-color: rgba(255,48,70,.22);
  background: rgba(255,255,255,.043);
  box-shadow: 0 8px 24px rgba(0,0,0,.17), inset 0 1px 0 rgba(255,255,255,.025);
  transform: translateY(-1px);
}
.topbar-user-profile-avatar-v0501 {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 9px;
  background: rgba(255,255,255,.045);
}
.topbar-user-profile-v0501 .topbar-avatar {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
}
.topbar-user-profile-fallback-v0501 {
  width: 17px;
  height: 17px;
  color: rgba(244,244,245,.58);
}
.topbar-user-profile-copy-v0501 {
  display: grid;
  gap: 0;
  min-width: 0;
  line-height: 1.1;
}
.topbar-user-profile-v0501 .topbar-user-name {
  display: block;
  max-width: 124px;
  color: rgba(255,255,255,.91);
  font-size: .72rem;
  font-weight: 800;
}
.topbar-user-profile-copy-v0501 small {
  margin-top: 2px;
  color: rgba(244,244,245,.38);
  font-size: .56rem;
  font-weight: 700;
}
.topbar-user-profile-arrow-v0501 {
  width: 13px;
  height: 13px;
  color: rgba(244,244,245,.26);
  transition: color .16s ease, transform .16s ease;
}
.topbar-user-profile-v0501:hover .topbar-user-profile-arrow-v0501 {
  color: rgba(255,96,114,.76);
  transform: translateX(1px);
}
.topbar-user-profile-badge-v0501 {
  position: absolute;
  top: -5px;
  right: -5px;
  display: grid;
  place-items: center;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border: 2px solid rgba(7,7,9,.96);
  border-radius: 999px;
  background: #e1192d;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 1180px) {
  .topbar-user-profile-v0501 .topbar-user-name { max-width: 92px; }
  .topbar-user-profile-copy-v0501 small { display: none; }
}

/* v0.52.6 — registration range filter, stable profile control and mobile event marker. */
.admin-users-search-v03482 {
  grid-template-columns: minmax(260px, 1fr) minmax(145px, auto) minmax(145px, auto) auto auto;
  align-items: end;
}
.admin-users-date-filter-v0526 {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.mobile-menu-event-link-v0526 .nav-event-marker-v0523 {
  margin-left: auto;
}
.mobile-menu-group-v039 .mobile-menu-event-link-v0526 .nav-event-marker-v0523 b {
  display: inline;
  min-width: 0;
  height: auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  font-size: inherit;
}
@media (max-width: 920px) {
  .admin-users-search-v03482 {
    grid-template-columns: minmax(0, 1fr) minmax(135px, 1fr) minmax(135px, 1fr);
  }
}
@media (max-width: 620px) {
  .admin-users-search-v03482 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .admin-users-search-v03482 > input[name="q"] {
    grid-column: 1 / -1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .topbar-user-profile-v0501,
  .topbar-user-profile-arrow-v0501,
  a.panel,
  .event-card-v0395.panel,
  .compare-card-v0394.panel,
  .admin-status-row-v04817.panel,
  .article-card-v0396,
  .forum-channel-row-v03480,
  .panel table tbody tr,
  .table-panel table tbody tr {
    transition: none !important;
  }
  .topbar-user-profile-v0501:hover,
  a.panel:hover,
  .event-card-v0395.panel:hover,
  .compare-card-v0394.panel:hover,
  .admin-status-row-v04817.panel:hover,
  .article-card-v0396:hover,
  .forum-channel-row-v03480:hover {
    transform: none !important;
  }
}

/* ================================================================
   v0.50.2 — content visual redesign
   A visible redesign of the portal body, not only header/footer.
   Dark application surfaces; red is the only decorative accent.
   ================================================================ */
:root {
  --dm-content-surface-v0502: linear-gradient(148deg, rgba(22,22,28,.965), rgba(11,11,15,.985));
  --dm-content-surface-raised-v0502: linear-gradient(155deg, rgba(29,29,36,.94), rgba(15,15,20,.97));
  --dm-content-surface-soft-v0502: rgba(255,255,255,.032);
  --dm-content-line-v0502: rgba(255,255,255,.075);
  --dm-content-line-strong-v0502: rgba(255,255,255,.115);
  --dm-content-shadow-v0502: 0 18px 46px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.028);
  --dm-content-shadow-raised-v0502: 0 24px 64px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.038);
  --dm-content-red-v0502: #e1192d;
  --dm-content-red-bright-v0502: #ff3046;
  --dm-content-red-soft-v0502: rgba(225,25,45,.095);
  --dm-content-red-line-v0502: rgba(255,48,70,.34);
}

@media (min-width: 1181px) {
  .page {
    width: min(1280px, calc(100% - 48px));
  }
}

/* Generic content surfaces now have more depth and clearer hierarchy. */
.panel,
.hero-content,
.hero-card,
.page-head,
.list-card,
.channel-item-card {
  border-color: var(--dm-content-line-v0502);
  background:
    radial-gradient(circle at 6% 0%, rgba(225,25,45,.045), transparent 28%),
    var(--dm-content-surface-v0502);
  box-shadow: var(--dm-content-shadow-v0502);
}

.panel {
  border-radius: 20px;
}

.page-head {
  border-radius: 22px;
  box-shadow: var(--dm-content-shadow-raised-v0502);
}

.section-head {
  gap: 18px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255,255,255,.065);
}

.section-head h1,
.section-head h2,
.section-head h3 {
  letter-spacing: -.035em;
}

.section-head .eyebrow,
.page-head .eyebrow {
  color: var(--dm-content-red-bright-v0502);
}

/* Form controls should read as controls, not more nested panels. */
.panel :is(input:not([type="checkbox"]):not([type="radio"]), textarea, select),
.form-panel :is(input:not([type="checkbox"]):not([type="radio"]), textarea, select) {
  border-color: rgba(255,255,255,.085);
  border-radius: 11px;
  background: rgba(5,5,8,.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.018);
}

.panel :is(input:not([type="checkbox"]):not([type="radio"]), textarea, select):focus,
.form-panel :is(input:not([type="checkbox"]):not([type="radio"]), textarea, select):focus {
  border-color: rgba(255,48,70,.46);
  background: rgba(8,8,11,.9);
  box-shadow: 0 0 0 3px rgba(225,25,45,.085), inset 0 1px 0 rgba(255,255,255,.025);
}

/* Buttons get a denser application feel; red remains reserved for primary action. */
.btn {
  border-radius: 11px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
  transition: border-color .16s ease, background .16s ease, transform .16s ease, box-shadow .16s ease;
}

.btn-dark,
.btn-ghost {
  border-color: rgba(255,255,255,.085);
  background: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.035));
}

.btn-red {
  border-color: rgba(255,73,91,.38);
  background: linear-gradient(180deg, #e92237, #c91024);
  box-shadow: 0 8px 20px rgba(225,25,45,.15), inset 0 1px 0 rgba(255,255,255,.12);
}

@media (hover: hover) and (pointer: fine) {
  .btn:hover {
    transform: translateY(-1px);
  }
  .btn-dark:hover,
  .btn-ghost:hover {
    border-color: rgba(255,48,70,.25);
    background: linear-gradient(180deg, rgba(225,25,45,.105), rgba(255,255,255,.045));
  }
}

/* ----------------------------- HOME ----------------------------- */
.home-hero-v039 {
  gap: 18px;
  margin-bottom: 30px;
}

.home-hero-main-v039 {
  min-height: 470px;
  border-color: rgba(255,255,255,.085);
  border-radius: 24px;
  background:
    radial-gradient(circle at 8% 10%, rgba(225,25,45,.23), transparent 33%),
    radial-gradient(circle at 88% 86%, rgba(225,25,45,.13), transparent 30%),
    linear-gradient(132deg, rgba(31,20,25,.98) 0%, rgba(16,16,22,.98) 46%, rgba(10,10,14,.995) 100%);
  box-shadow: var(--dm-content-shadow-raised-v0502);
}

.home-hero-main-v039::before {
  inset: 14px;
  border-color: rgba(255,255,255,.055);
  border-radius: 17px;
}

.home-hero-main-v039::after {
  right: -90px;
  bottom: -210px;
  width: 510px;
  height: 510px;
  opacity: .8;
}

.home-hero-main-v039 h1 {
  max-width: 830px;
  margin-top: 14px;
  font-size: clamp(43px, 5.3vw, 72px);
  line-height: .96;
  letter-spacing: -.055em;
}

.home-hero-main-v039 p {
  max-width: 760px;
  color: rgba(235,235,240,.75);
  font-size: 18px;
}

.home-hero-pills-v039 {
  gap: 7px;
  margin-top: 30px;
}

.home-hero-pills-v039 span,
.home-card-label-v039 {
  border-color: rgba(255,255,255,.08);
  background: rgba(255,255,255,.045);
  color: rgba(244,244,247,.82);
}

/* The right rail is no longer a panel containing three more panels. */
.home-hero-side-v039 {
  gap: 10px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.home-live-card-v039,
.home-mini-stats-v039,
.home-quick-links-v039 {
  border-color: rgba(255,255,255,.075);
  border-radius: 18px;
  background: var(--dm-content-surface-raised-v0502);
  box-shadow: 0 12px 30px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.025);
}

.home-live-card-v039 {
  position: relative;
  min-height: 210px;
  padding: 24px 24px 24px 27px;
  overflow: hidden;
}

.home-live-card-v039::before {
  content: '';
  position: absolute;
  top: 20px;
  bottom: 20px;
  left: 0;
  width: 2px;
  border-radius: 0 2px 2px 0;
  background: linear-gradient(180deg, transparent, var(--dm-content-red-bright-v0502), transparent);
}

.home-live-card-v039 strong {
  font-size: 56px;
  letter-spacing: -.045em;
}

.home-mini-stats-v039 {
  gap: 8px;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.home-mini-stats-v039 div {
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 16px;
  background: linear-gradient(155deg, rgba(28,28,34,.9), rgba(14,14,18,.96));
}

.home-quick-links-v039 {
  gap: 5px;
  padding: 8px;
}

.home-quick-links-v039 a {
  position: relative;
  padding: 11px 12px 11px 15px;
  border: 1px solid transparent;
  background: transparent;
  transition: border-color .16s ease, background .16s ease, padding-left .16s ease;
}

.home-quick-links-v039 a::before {
  content: '';
  width: 4px;
  height: 4px;
  flex: 0 0 4px;
  margin-right: 4px;
  border-radius: 50%;
  background: rgba(255,255,255,.22);
}

.home-quick-links-v039 a::after {
  margin-left: auto;
}

@media (hover: hover) and (pointer: fine) {
  .home-quick-links-v039 a:hover {
    padding-left: 18px;
    border-color: rgba(255,48,70,.16);
    background: rgba(225,25,45,.07);
  }
  .home-quick-links-v039 a:hover::before {
    background: var(--dm-content-red-bright-v0502);
    box-shadow: 0 0 0 4px rgba(225,25,45,.08);
  }
}

/* Large home sections become open layout sections; cards carry the hierarchy. */
.panel.home-section-v039,
.panel.home-events-v0395,
.panel.home-forum-activity-v0342,
.panel.home-final-v039 {
  margin-bottom: 30px;
  padding: 6px 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.home-section-head-v039,
.home-events-v0395 > .section-head,
.home-forum-activity-v0342 > .section-head {
  margin-bottom: 16px;
  padding: 0 0 14px;
}

.home-server-grid-v039 {
  gap: 12px;
}

.home-server-card-v039 {
  position: relative;
  min-height: 214px;
  padding: 18px 19px 17px;
  overflow: hidden;
  border-color: rgba(255,255,255,.075) !important;
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(225,25,45,.065), transparent 30%),
    linear-gradient(155deg, rgba(24,24,30,.94), rgba(12,12,16,.98));
  box-shadow: 0 12px 30px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.025);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.home-server-card-v039::before {
  content: '';
  position: absolute;
  top: 0;
  right: 18px;
  left: 18px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,48,70,.58), transparent);
  opacity: .58;
}

@media (hover: hover) and (pointer: fine) {
  .home-server-card-v039:hover {
    transform: translateY(-2px);
    border-color: rgba(255,48,70,.19) !important;
    box-shadow: 0 18px 38px rgba(0,0,0,.27), inset 0 1px 0 rgba(255,255,255,.035);
  }
}

.home-server-meta-v039 span {
  border-color: rgba(255,255,255,.07);
  background: rgba(3,3,6,.34);
}

.home-intro-grid-v039 > .panel.accent {
  position: relative;
  overflow: hidden;
  border-color: rgba(255,48,70,.13);
  background:
    linear-gradient(90deg, rgba(225,25,45,.09), transparent 34%),
    var(--dm-content-surface-v0502);
}

.home-intro-grid-v039 > .panel.accent::before {
  content: '';
  position: absolute;
  top: 18px;
  bottom: 18px;
  left: 0;
  width: 2px;
  background: linear-gradient(180deg, transparent, var(--dm-content-red-bright-v0502), transparent);
}

.home-steps-v039 li,
.home-mechanic-v039 {
  border-color: rgba(255,255,255,.065);
  background: rgba(255,255,255,.025);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.018);
}

.home-mechanic-v039 {
  position: relative;
  overflow: hidden;
}

.home-mechanic-v039::after {
  content: '';
  position: absolute;
  right: -22px;
  bottom: -34px;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(225,25,45,.08), transparent 70%);
  pointer-events: none;
}

/* Feed areas read as lists instead of stacks of boxes. */
.home-feed-v039,
.home-forum-topic-list-v0342 {
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.065);
  border-radius: 18px;
  background: linear-gradient(155deg, rgba(22,22,28,.72), rgba(10,10,14,.84));
}

.home-feed-card-v039,
.home-forum-topic-card-v0342 {
  margin: 0;
  padding: 15px 17px;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.055);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.home-feed-card-v039:last-child,
.home-forum-topic-card-v0342:last-child {
  border-bottom: 0;
}

@media (hover: hover) and (pointer: fine) {
  .home-feed-card-v039:hover,
  .home-forum-topic-card-v0342:hover {
    background: linear-gradient(90deg, rgba(225,25,45,.055), rgba(255,255,255,.018));
  }
}

.panel.home-final-v039 {
  position: relative;
  margin-top: 4px;
  padding: 24px 0 0;
  border-top: 1px solid rgba(255,255,255,.07);
}

/* ----------------------------- NEWS ----------------------------- */
.news-center-hero-v0330 {
  margin-bottom: 22px;
  padding: clamp(28px, 4vw, 46px);
  border-color: rgba(255,255,255,.085);
  border-radius: 24px;
  background:
    radial-gradient(circle at 3% 8%, rgba(225,25,45,.24), transparent 32%),
    radial-gradient(circle at 94% 0%, rgba(255,255,255,.065), transparent 24%),
    linear-gradient(135deg, rgba(29,20,25,.98), rgba(16,16,22,.985) 48%, rgba(10,10,14,.995));
  box-shadow: var(--dm-content-shadow-raised-v0502);
}

.news-center-hero-v0330::after {
  right: -70px;
  top: -160px;
  width: 390px;
  height: 390px;
  opacity: .72;
}

.news-center-hero-v0330 h1 {
  max-width: 880px;
  letter-spacing: -.055em;
}

.news-center-stats-v0330 {
  gap: 8px;
}

.news-center-stats-v0330 div {
  min-height: 76px;
  border-color: rgba(255,255,255,.075);
  border-radius: 16px;
  background: rgba(4,4,7,.32);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

.news-priority-board-v0330 {
  margin-bottom: 22px;
}

.news-priority-grid-v0330 {
  gap: 9px;
}

.news-priority-card-v0330 {
  position: relative;
  min-height: 158px;
  padding: 15px 15px 14px 18px;
  overflow: hidden;
  border-color: rgba(255,255,255,.07);
  border-radius: 16px;
  background:
    radial-gradient(circle at 0 0, rgba(225,25,45,.10), transparent 48%),
    linear-gradient(155deg, rgba(24,24,30,.92), rgba(11,11,15,.97));
  box-shadow: 0 10px 26px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.022);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.news-priority-card-v0330::before {
  content: '';
  position: absolute;
  top: 15px;
  bottom: 15px;
  left: 0;
  width: 2px;
  border-radius: 0 2px 2px 0;
  background: var(--dm-content-red-bright-v0502);
  opacity: .72;
}

@media (hover: hover) and (pointer: fine) {
  .news-priority-card-v0330:hover {
    transform: translateY(-2px);
    border-color: rgba(255,48,70,.18);
    background:
      radial-gradient(circle at 0 0, rgba(225,25,45,.14), transparent 52%),
      linear-gradient(155deg, rgba(27,27,33,.94), rgba(12,12,16,.98));
  }
}

.news-layout-v03302 {
  grid-template-columns: minmax(205px, 235px) minmax(620px, 1fr) minmax(245px, 285px);
  gap: 18px;
}

/* Filter rail: remove the large outer box; selection itself carries hierarchy. */
.panel.news-sidebar-v03302 {
  gap: 2px;
  padding: 4px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.news-sidebar-section-v03302 {
  gap: 7px;
  padding: 12px 0;
}

.news-sidebar-section-v03302 + .news-sidebar-section-v03302 {
  padding-top: 14px;
  border-top-color: rgba(255,255,255,.06);
}

.news-category-list-v03302 {
  gap: 3px;
}

.news-category-link-v03302 {
  position: relative;
  padding: 8px 10px 8px 13px;
  border-color: transparent;
  border-radius: 9px;
  background: transparent;
  color: rgba(231,231,236,.78);
  transition: color .15s ease, background .15s ease, padding-left .15s ease;
}

.news-category-link-v03302::before {
  content: '';
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 0;
  width: 2px;
  border-radius: 2px;
  background: transparent;
}

.news-category-link-v03302 strong {
  border: 1px solid rgba(255,255,255,.055);
  background: rgba(255,255,255,.035);
}

.news-category-link-v03302:hover {
  border-color: transparent;
  background: rgba(255,255,255,.035);
}

.news-category-link-v03302.active {
  padding-left: 16px;
  border-color: transparent;
  background: linear-gradient(90deg, rgba(225,25,45,.12), rgba(225,25,45,.025));
  color: #fff;
}

.news-category-link-v03302.active::before {
  background: var(--dm-content-red-bright-v0502);
  box-shadow: 0 0 12px rgba(225,25,45,.22);
}

.news-category-link-v03302.active strong {
  border-color: rgba(255,48,70,.16);
  background: rgba(225,25,45,.16);
}

.news-sidebar-search-v03302 {
  padding-top: 3px;
}

.news-lead-card-v0330 {
  position: relative;
  margin-bottom: 12px;
  padding: 20px;
  border-color: rgba(255,255,255,.085);
  border-radius: 20px;
  background:
    radial-gradient(circle at 2% 0%, rgba(225,25,45,.16), transparent 34%),
    linear-gradient(145deg, rgba(26,26,33,.94), rgba(11,11,15,.98));
  box-shadow: 0 18px 42px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.028);
}

.news-lead-card-v0330.no-cover-v0475 {
  padding: 22px 22px 21px;
  background:
    radial-gradient(circle at 3% 0%, rgba(225,25,45,.18), transparent 37%),
    linear-gradient(145deg, rgba(28,25,31,.96), rgba(11,11,15,.985));
}

.news-lead-cover-v0475 {
  border-color: rgba(255,255,255,.08);
  border-radius: 16px;
  box-shadow: 0 15px 34px rgba(0,0,0,.25);
}

.news-grid-v0330 {
  gap: 7px;
}

.news-card-v0330 {
  border-color: rgba(255,255,255,.065);
  border-radius: 15px;
  background: linear-gradient(155deg, rgba(22,22,28,.82), rgba(10,10,14,.9));
  box-shadow: 0 9px 22px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.018);
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

.news-card-v0330.media-card {
  border-color: rgba(255,255,255,.09);
  background:
    linear-gradient(90deg, rgba(9,9,13,.985) 0%, rgba(9,9,13,.88) 46%, rgba(9,9,13,.54) 72%, rgba(9,9,13,.28) 100%),
    var(--news-card-bg) right center / 58% 100% no-repeat,
    rgba(255,255,255,.025);
}

.news-card-v0330.important,
.news-card-v0330.pinned {
  border-color: rgba(255,48,70,.17);
  box-shadow: 0 10px 26px rgba(0,0,0,.18), inset 2px 0 0 rgba(255,48,70,.42);
}

@media (hover: hover) and (pointer: fine) {
  .news-card-v0330:hover {
    transform: translateX(2px);
    border-color: rgba(255,48,70,.16);
    background: linear-gradient(155deg, rgba(27,27,34,.9), rgba(11,11,15,.95));
  }
  .news-card-v0330.media-card:hover {
    background:
      linear-gradient(90deg, rgba(9,9,13,.985) 0%, rgba(14,10,14,.9) 46%, rgba(19,9,13,.57) 72%, rgba(12,7,10,.30) 100%),
      var(--news-card-bg) right center / 58% 100% no-repeat,
      rgba(255,255,255,.025);
  }
}

/* Right rail uses clear independent modules, not the same panel treatment as main content. */
.news-right-rail-v050 {
  gap: 10px;
}

.panel.workshop-live-v050,
.panel.news-mod-updates-v0473 {
  border-color: rgba(255,255,255,.065);
  border-radius: 18px;
  background: linear-gradient(155deg, rgba(20,20,26,.90), rgba(9,9,13,.96));
  box-shadow: 0 12px 28px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.02);
}

.workshop-live-item-v050,
.news-mod-item-v0473 {
  border-color: rgba(255,255,255,.055);
  background: rgba(255,255,255,.025);
}

/* Tables: stronger header, quieter rows. */
.panel table thead th,
.table-panel table thead th {
  border-bottom-color: rgba(255,255,255,.09);
  background: rgba(255,255,255,.035);
  color: rgba(244,244,247,.82);
}

.panel table tbody tr,
.table-panel table tbody tr {
  border-bottom-color: rgba(255,255,255,.05);
}

@media (hover: hover) and (pointer: fine) {
  .panel table tbody tr:hover,
  .table-panel table tbody tr:hover {
    background: linear-gradient(90deg, rgba(225,25,45,.045), rgba(255,255,255,.018));
  }
}

@media (max-width: 1180px) {
  .news-layout-v03302 {
    grid-template-columns: minmax(200px, 230px) minmax(0, 1fr) minmax(230px, 270px);
    gap: 14px;
  }
}

@media (max-width: 1040px) {
  .news-layout-v03302 {
    grid-template-columns: minmax(200px, 235px) minmax(0, 1fr);
  }
}

@media (max-width: 900px) {
  .panel.news-sidebar-v03302 {
    padding: 12px;
    border: 1px solid rgba(255,255,255,.065);
    border-radius: 16px;
    background: linear-gradient(155deg, rgba(20,20,26,.92), rgba(10,10,14,.97));
    box-shadow: 0 10px 26px rgba(0,0,0,.2);
  }
}

@media (max-width: 760px) {
  .page {
    width: min(100% - 20px, 100%);
  }

  .home-hero-v039 {
    gap: 12px;
    margin-bottom: 22px;
  }

  .home-hero-main-v039,
  .news-center-hero-v0330 {
    border-radius: 19px;
  }

  .panel.home-section-v039,
  .panel.home-events-v0395,
  .panel.home-forum-activity-v0342,
  .panel.home-final-v039 {
    margin-bottom: 24px;
  }

  .news-priority-card-v0330 {
    min-height: 0;
  }

  .news-category-link-v03302 {
    min-height: 40px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-server-card-v039,
  .home-quick-links-v039 a,
  .news-priority-card-v0330,
  .news-category-link-v03302,
  .news-card-v0330,
  .btn {
    transition: none !important;
    transform: none !important;
  }
}

/* v0.50.3 — /profile application-style redesign
   Design only: preserve profile data/actions while removing the old three-column card stack. */
:root {
  --dm-profile-red-v0503: #e1192d;
  --dm-profile-red-bright-v0503: #ff3046;
  --dm-profile-line-v0503: rgba(255,255,255,.072);
  --dm-profile-line-soft-v0503: rgba(255,255,255,.05);
  --dm-profile-surface-v0503: rgba(15,15,20,.94);
  --dm-profile-surface-deep-v0503: rgba(8,8,12,.98);
}

.profile-page-v0503 {
  width: min(1280px, calc(100vw - 32px));
  margin: 26px auto 42px;
  display: grid;
  gap: 14px;
}

.profile-page-v0503 > .panel,
.profile-page-v0503 .profile-content-v0503 > .panel {
  margin: 0;
}

.profile-page-v0503 [id] {
  scroll-margin-top: 112px;
}

/* Profile identity is the page hero now; the redundant standalone page title is gone. */
.profile-page-v0503 .profile-hero-v0503.panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(430px, .72fr);
  gap: 18px 30px;
  align-items: center;
  overflow: hidden;
  padding: 28px 30px 20px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 24px;
  background:
    radial-gradient(circle at 0 0, rgba(225,25,45,.20), transparent 34%),
    radial-gradient(circle at 96% 110%, rgba(225,25,45,.10), transparent 32%),
    linear-gradient(145deg, rgba(27,25,31,.97), rgba(11,11,15,.985) 58%, rgba(8,8,12,.995));
  box-shadow: 0 24px 58px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.035);
}

.profile-page-v0503 .profile-hero-v0503.panel::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  background: linear-gradient(180deg, transparent 7%, var(--dm-profile-red-bright-v0503) 32%, rgba(225,25,45,.22) 72%, transparent 94%);
  opacity: .9;
}

.profile-page-v0503 .profile-hero-v0503 .profile-main {
  min-width: 0;
  padding: 0 !important;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 22px;
}

.profile-page-v0503 .profile-hero-v0503 .profile-avatar {
  flex: 0 0 auto;
  width: 112px;
  height: 112px;
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.035);
  box-shadow: 0 18px 38px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.04);
}

.profile-page-v0503 .profile-hero-v0503 .profile-info {
  min-width: 0;
}

.profile-page-v0503 .profile-hero-eyebrow-v0503 {
  display: block;
  margin-bottom: 7px;
  color: var(--dm-profile-red-bright-v0503);
}

.profile-page-v0503 .profile-hero-v0503 .profile-info h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(34px, 3.1vw, 48px);
  line-height: .98;
  letter-spacing: -.045em;
}

.profile-page-v0503 .profile-hero-v0503 .profile-info > p.muted {
  display: inline;
  margin: 0;
  color: rgba(228,228,234,.57);
  font-size: 12px;
  line-height: 1.55;
}

.profile-page-v0503 .profile-hero-v0503 .profile-info > p.muted + p.muted::before {
  content: '  •  ';
  color: rgba(255,255,255,.20);
}

.profile-page-v0503 .profile-portal-number-v03482 {
  width: fit-content;
  margin: 0 0 9px;
  border-color: rgba(255,48,70,.14);
  background: rgba(225,25,45,.07);
}

.profile-page-v0503 .profile-hero-v0503 .profile-badges,
.profile-page-v0503 .profile-hero-v0503 .profile-info > .tag {
  margin-top: 9px;
}

.profile-page-v0503 .profile-hero-v0503 .profile-overview-actions-v03461 {
  position: static !important;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 13px !important;
}

.profile-page-v0503 .profile-hero-v0503 .profile-overview-actions-v03461 .btn {
  min-height: 33px;
  border-color: rgba(255,255,255,.075);
  background: rgba(255,255,255,.035);
}

/* Statistics are one instrument strip, not six nested cards. */
.profile-page-v0503 .profile-hero-v0503 .stats-grid {
  min-width: 0;
  margin: 0;
  padding-left: 24px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-left: 1px solid rgba(255,255,255,.07);
}

.profile-page-v0503 .profile-hero-v0503 .stats-grid div {
  position: relative;
  min-width: 0;
  padding: 15px 12px 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  text-align: left;
}

.profile-page-v0503 .profile-hero-v0503 .stats-grid div:nth-child(3n+2),
.profile-page-v0503 .profile-hero-v0503 .stats-grid div:nth-child(3n+3) {
  border-left: 1px solid rgba(255,255,255,.055);
}

.profile-page-v0503 .profile-hero-v0503 .stats-grid div:nth-child(n+4) {
  border-top: 1px solid rgba(255,255,255,.055);
}

.profile-page-v0503 .profile-hero-v0503 .stats-grid strong {
  margin-bottom: 5px;
  font-size: clamp(24px, 2vw, 31px);
  font-weight: 850;
  letter-spacing: -.035em;
}

.profile-page-v0503 .profile-hero-v0503 .stats-grid span {
  display: block;
  color: rgba(225,225,232,.47);
  font-size: 10.5px;
  line-height: 1.25;
  text-transform: none;
}

.profile-page-v0503 .profile-hero-v0503 .profile-limits {
  grid-column: 1 / -1;
  margin: 0;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.055);
  font-size: 11.5px;
}

/* Navigation is a quiet application tab rail with one red active edge. */
.profile-page-v0503 .profile-nav-v0503 {
  width: 100%;
  max-width: none;
  margin: 0;
  margin-left: 0;
  transform: none;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 24px;
  overflow-x: auto;
  padding: 0 4px;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.065);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  scrollbar-width: none;
}

.profile-page-v0503 .profile-nav-v0503::-webkit-scrollbar { display: none; }

.profile-page-v0503 .profile-nav-v0503 a {
  position: relative;
  flex: 0 0 auto;
  min-height: 42px;
  padding: 12px 0 13px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: rgba(230,230,235,.52);
  font-size: 12px;
  font-weight: 750;
  transition: color .15s ease;
}

.profile-page-v0503 .profile-nav-v0503 a::after {
  content: '';
  position: absolute;
  right: 50%;
  bottom: -1px;
  left: 50%;
  height: 2px;
  border-radius: 2px 2px 0 0;
  background: var(--dm-profile-red-bright-v0503);
  box-shadow: 0 0 12px rgba(225,25,45,.28);
  opacity: 0;
  transition: left .16s ease, right .16s ease, opacity .16s ease;
}

.profile-page-v0503 .profile-nav-v0503 a:hover,
.profile-page-v0503 .profile-nav-v0503 a:focus-visible {
  transform: none;
  border-color: transparent;
  background: transparent;
  color: rgba(255,255,255,.92);
}

.profile-page-v0503 .profile-nav-v0503 a.is-active,
.profile-page-v0503 .profile-nav-v0503 a[aria-current="true"] {
  transform: none;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  color: #fff;
}

.profile-page-v0503 .profile-nav-v0503 a.is-active::after,
.profile-page-v0503 .profile-nav-v0503 a[aria-current="true"]::after {
  right: 0;
  left: 0;
  opacity: 1;
}

.profile-page-v0503 .profile-nav-v0503 .nav-badge {
  margin-left: 5px;
  min-width: 17px;
  height: 17px;
  padding: 0 5px;
  border: 1px solid rgba(255,48,70,.20);
  background: rgba(225,25,45,.16);
  color: #fff;
}

/* Two-column application workspace. */
.profile-workspace-v0503 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(318px, 350px);
  gap: 18px;
  align-items: start;
}

.profile-content-v0503 {
  min-width: 0;
  display: grid;
  gap: 18px;
}

.profile-sidebar-v0503 {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--dm-profile-line-v0503);
  border-radius: 21px;
  background: linear-gradient(155deg, rgba(19,19,25,.92), rgba(8,8,12,.97));
  box-shadow: 0 16px 38px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.022);
}

.profile-sidebar-v0503 > .panel {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 18px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.profile-sidebar-v0503 > .panel + .panel {
  border-top: 1px solid rgba(255,255,255,.06);
}

.profile-sidebar-v0503 .section-head,
.profile-sidebar-v0503 .profile-messages-panel-v0310 .section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 10px;
}

.profile-sidebar-v0503 .section-head h2 {
  margin: 3px 0 0;
  font-size: 17px;
  line-height: 1.1;
  letter-spacing: -.02em;
}

.profile-sidebar-v0503 .section-head .btn {
  width: auto;
  min-height: 30px;
  padding: 5px 8px;
  font-size: 10.5px;
}

/* Sidebar content behaves as feeds/rows, not cards inside cards. */
.profile-sidebar-v0503 .profile-message-sidebar-list,
.profile-sidebar-v0503 .profile-favorites-list-v0398,
.profile-sidebar-v0503 .profile-activity-list-v0322,
.profile-sidebar-v0503 .topic-list {
  display: grid;
  gap: 0;
  margin: 0;
}

.profile-sidebar-v0503 .profile-message-row.sidebar-compact,
.profile-sidebar-v0503 .favorite-row-v0398,
.profile-sidebar-v0503 .profile-activity-row-v0322,
.profile-sidebar-v0503 .topic-row {
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 10px 2px;
  border: 0;
  border-top: 1px solid rgba(255,255,255,.05);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  text-decoration: none;
  transition: padding-left .15s ease, color .15s ease, background .15s ease;
}

.profile-sidebar-v0503 .profile-message-row.sidebar-compact:first-child,
.profile-sidebar-v0503 .favorite-row-v0398:first-child,
.profile-sidebar-v0503 .profile-activity-row-v0322:first-child,
.profile-sidebar-v0503 .topic-row:first-child {
  border-top-color: rgba(255,255,255,.035);
}

.profile-sidebar-v0503 .profile-message-row.sidebar-compact.has-unread {
  padding-left: 10px;
  border-left: 2px solid var(--dm-profile-red-bright-v0503);
  background: linear-gradient(90deg, rgba(225,25,45,.075), transparent 80%);
}

.profile-sidebar-v0503 .favorite-row-v0398 {
  display: grid;
  gap: 4px;
}

.profile-sidebar-v0503 .favorite-row-v0398 .tag,
.profile-sidebar-v0503 .profile-activity-row-v0322 .tag {
  justify-self: start;
  font-size: 9px;
  opacity: .78;
}

.profile-sidebar-v0503 .profile-activity-row-v0322 {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 8px;
  align-items: center;
}

.profile-sidebar-v0503 .profile-activity-row-v0322 .tag {
  grid-column: 1 / -1;
}

.profile-sidebar-v0503 .profile-activity-row-v0322 strong {
  white-space: normal;
  font-size: 12.5px;
}

.profile-sidebar-v0503 .profile-activity-row-v0322 small {
  font-size: 10.5px;
  white-space: nowrap;
}

.profile-sidebar-v0503 .topic-row {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 6px;
}

.profile-sidebar-v0503 .topic-row h3 {
  margin: 0 0 3px;
  font-size: 12.5px;
  line-height: 1.25;
}

.profile-sidebar-v0503 .topic-row p {
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: rgba(226,226,232,.54);
  font-size: 11px;
  line-height: 1.35;
}

.profile-sidebar-v0503 .topic-row small {
  display: block;
  color: rgba(226,226,232,.38);
  font-size: 9.5px;
  line-height: 1.35;
}

.profile-sidebar-v0503 .topic-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 5px;
  color: rgba(226,226,232,.48);
  font-size: 10px;
}

.profile-sidebar-v0503 .profile-ticket-actions {
  margin-top: 10px;
}

.profile-sidebar-v0503 .profile-ticket-actions .btn {
  width: 100%;
  justify-content: center;
  min-height: 32px;
}

@media (hover: hover) and (pointer: fine) {
  .profile-sidebar-v0503 .profile-message-row.sidebar-compact:hover,
  .profile-sidebar-v0503 .favorite-row-v0398:hover,
  .profile-sidebar-v0503 .profile-activity-row-v0322:hover,
  .profile-sidebar-v0503 .topic-row:hover {
    padding-left: 7px;
    border-color: rgba(255,255,255,.05);
    background: linear-gradient(90deg, rgba(225,25,45,.045), rgba(255,255,255,.012));
  }
}

/* Activity summary is a compact readout separated by a rule. */
.profile-sidebar-v0503 .portal-profile-activity-summary-v0341 {
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 0;
  margin: 0 0 8px;
  padding: 8px 0 10px;
  border-bottom: 1px solid rgba(255,255,255,.05);
}

.profile-sidebar-v0503 .portal-profile-activity-summary-v0341 > div {
  padding: 2px 10px 2px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.profile-sidebar-v0503 .portal-profile-activity-summary-v0341 > div + div {
  padding-left: 12px;
  border-left: 1px solid rgba(255,255,255,.06);
}

.profile-sidebar-v0503 .portal-profile-activity-summary-v0341 strong {
  font-size: 19px;
  letter-spacing: -.025em;
}

.profile-sidebar-v0503 .portal-profile-activity-summary-v0341 span {
  display: block;
  margin-top: 2px;
  font-size: 10px;
}

/* Main profile panels keep depth, but inner data is flatter. */
.profile-content-v0503 > .panel {
  padding: 24px;
  border-color: rgba(255,255,255,.075);
  border-radius: 22px;
  background: linear-gradient(150deg, rgba(21,21,27,.91), rgba(9,9,13,.97));
  box-shadow: 0 17px 40px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.022);
}

.profile-content-v0503 > .panel .section-head h2 {
  letter-spacing: -.025em;
}

/* Daily bonus: one horizontal information rail instead of five boxed tiles. */
.profile-content-v0503 .portal-daily-bonus-card-v0341 {
  overflow: hidden;
  background:
    radial-gradient(circle at 0 0, rgba(225,25,45,.10), transparent 35%),
    linear-gradient(150deg, rgba(21,21,27,.93), rgba(9,9,13,.98));
}

.profile-content-v0503 .portal-daily-bonus-grid-v0341 {
  grid-template-columns: minmax(250px, 1.45fr) repeat(4, minmax(95px, .55fr));
  gap: 0;
  margin-top: 4px;
  padding: 8px 0;
  border-top: 1px solid rgba(255,255,255,.055);
  border-bottom: 1px solid rgba(255,255,255,.055);
}

.profile-content-v0503 .portal-daily-bonus-main-v0341,
.profile-content-v0503 .portal-daily-bonus-stat-v0341 {
  min-width: 0;
  padding: 13px 16px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.profile-content-v0503 .portal-daily-bonus-main-v0341 {
  padding-left: 0;
}

.profile-content-v0503 .portal-daily-bonus-stat-v0341 {
  border-left: 1px solid rgba(255,255,255,.055);
}

.profile-content-v0503 .portal-daily-bonus-icon-v0341 {
  width: 39px;
  height: 39px;
  border-radius: 12px;
  background: rgba(225,25,45,.11);
  font-size: 21px;
}

.profile-content-v0503 .portal-daily-bonus-main-v0341 strong {
  font-size: 20px;
  letter-spacing: -.025em;
}

.profile-content-v0503 .portal-daily-bonus-stat-v0341 strong {
  font-size: 18px;
  letter-spacing: -.02em;
}

.profile-content-v0503 .portal-activity-balance-stat-v03441 strong {
  color: #fff;
}

.profile-content-v0503 .portal-daily-bonus-actions-v0341 {
  margin-top: 13px;
}

.profile-content-v0503 .portal-activity-withdraw-panel-v03462 {
  margin-top: 18px;
  padding: 17px 0 0;
  border: 0;
  border-top: 1px solid rgba(255,255,255,.06);
  border-radius: 0;
  background: transparent;
}

/* PWA/UI app panel uses separators instead of nested surfaces wherever possible. */
.profile-content-v0503 .profile-ui-app-quick-v03205,
.profile-content-v0503 .profile-pwa-devices-v03215 {
  border: 0;
  border-radius: 0;
  background: transparent;
}

.profile-content-v0503 .profile-ui-app-quick-v03205 {
  padding: 11px 0;
  border-top: 1px solid rgba(255,255,255,.055);
  border-bottom: 1px solid rgba(255,255,255,.055);
}

.profile-content-v0503 .profile-pwa-devices-v03215 {
  padding: 4px 0 0;
}

.profile-content-v0503 .profile-pwa-device-row-v03214 {
  border-color: rgba(255,255,255,.05);
  background: rgba(255,255,255,.018);
}

.profile-content-v0503 .profile-pwa-details-v03215 {
  margin-top: 12px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.055);
}

.profile-content-v0503 .profile-pwa-card-v03201 {
  border-color: rgba(255,255,255,.055);
  background: rgba(255,255,255,.02);
  box-shadow: none;
}

/* Nav click highlight: a restrained red edge, not a full panel glow. */
.profile-page-v0503 .profile-section-active-v03221 {
  animation: profileSectionEdgeV0503 .78s ease;
}

@keyframes profileSectionEdgeV0503 {
  0% { box-shadow: inherit; }
  32% { border-color: rgba(255,48,70,.32); box-shadow: inset 2px 0 0 rgba(255,48,70,.78), 0 17px 40px rgba(0,0,0,.22); }
  100% { box-shadow: inherit; }
}

@media (max-width: 1080px) {
  .profile-page-v0503 .profile-hero-v0503.panel {
    grid-template-columns: 1fr;
  }

  .profile-page-v0503 .profile-hero-v0503 .stats-grid {
    padding: 10px 0 0;
    border-top: 1px solid rgba(255,255,255,.06);
    border-left: 0;
  }

  .profile-workspace-v0503 {
    grid-template-columns: 1fr;
  }

  .profile-sidebar-v0503 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 0;
  }

  .profile-sidebar-v0503 > .panel + .panel {
    border-top: 0;
  }

  .profile-sidebar-v0503 > .panel:nth-child(even) {
    border-left: 1px solid rgba(255,255,255,.06);
  }

  .profile-sidebar-v0503 > .panel:nth-child(n+3) {
    border-top: 1px solid rgba(255,255,255,.06);
  }
}

@media (max-width: 760px) {
  .profile-page-v0503 {
    width: min(100% - 20px, 100%);
    margin-top: 16px;
    gap: 11px;
  }

  .profile-page-v0503 .profile-hero-v0503.panel {
    padding: 20px;
    border-radius: 20px;
  }

  .profile-page-v0503 .profile-hero-v0503 .profile-main {
    align-items: flex-start;
    gap: 15px;
  }

  .profile-page-v0503 .profile-hero-v0503 .profile-avatar {
    width: 78px;
    height: 78px;
    border-radius: 20px;
  }

  .profile-page-v0503 .profile-hero-v0503 .profile-info h2 {
    font-size: clamp(30px, 9vw, 38px);
  }

  .profile-page-v0503 .profile-hero-v0503 .profile-info > p.muted {
    display: block;
  }

  .profile-page-v0503 .profile-hero-v0503 .profile-info > p.muted + p.muted::before {
    content: '';
  }

  .profile-page-v0503 .profile-hero-v0503 .stats-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .profile-page-v0503 .profile-hero-v0503 .stats-grid div:nth-child(3n+2),
  .profile-page-v0503 .profile-hero-v0503 .stats-grid div:nth-child(3n+3) {
    border-left: 0;
  }

  .profile-page-v0503 .profile-hero-v0503 .stats-grid div:nth-child(even) {
    border-left: 1px solid rgba(255,255,255,.055);
  }

  .profile-page-v0503 .profile-hero-v0503 .stats-grid div:nth-child(n+3) {
    border-top: 1px solid rgba(255,255,255,.055);
  }

  .profile-page-v0503 .profile-nav-v0503 {
    gap: 20px;
  }

  .profile-content-v0503 > .panel {
    padding: 19px;
    border-radius: 19px;
  }

  .profile-content-v0503 .portal-daily-bonus-grid-v0341 {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .profile-content-v0503 .portal-daily-bonus-main-v0341 {
    grid-column: 1 / -1;
    padding: 12px 0 14px;
    border-bottom: 1px solid rgba(255,255,255,.055);
  }

  .profile-content-v0503 .portal-daily-bonus-stat-v0341 {
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.04);
    padding: 12px 10px;
  }

  .profile-content-v0503 .portal-daily-bonus-stat-v0341:nth-child(odd) {
    border-left: 1px solid rgba(255,255,255,.055);
  }

  .profile-sidebar-v0503 {
    display: block;
  }

  .profile-sidebar-v0503 > .panel:nth-child(even) {
    border-left: 0;
  }

  .profile-sidebar-v0503 > .panel + .panel,
  .profile-sidebar-v0503 > .panel:nth-child(n+3) {
    border-top: 1px solid rgba(255,255,255,.06);
  }
}

@media (max-width: 520px) {
  .profile-page-v0503 .profile-hero-v0503 .profile-main {
    display: grid;
    grid-template-columns: 64px minmax(0,1fr);
  }

  .profile-page-v0503 .profile-hero-v0503 .profile-avatar {
    width: 64px;
    height: 64px;
    border-radius: 17px;
  }

  .profile-page-v0503 .profile-hero-v0503 .profile-overview-actions-v03461 {
    grid-column: 1 / -1;
  }

  .profile-page-v0503 .profile-hero-v0503 .profile-overview-actions-v03461 .btn {
    flex: 1 1 auto;
  }

  .profile-content-v0503 .portal-daily-bonus-grid-v0341 {
    grid-template-columns: 1fr;
  }

  .profile-content-v0503 .portal-daily-bonus-stat-v0341,
  .profile-content-v0503 .portal-daily-bonus-stat-v0341:nth-child(odd) {
    border-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .profile-page-v0503 .profile-nav-v0503 a,
  .profile-sidebar-v0503 .profile-message-row.sidebar-compact,
  .profile-sidebar-v0503 .favorite-row-v0398,
  .profile-sidebar-v0503 .profile-activity-row-v0322,
  .profile-sidebar-v0503 .topic-row,
  .profile-page-v0503 .profile-section-active-v03221 {
    transition: none !important;
    animation: none !important;
  }
}

/* ==========================================================
   v0.50.4 — news media/read-state consistency + iPad footer fix.
   News covers use one 2:1 presentation ratio without stretching.
   ========================================================== */
:root {
  --dm-news-cover-ratio-v0504: 2 / 1;
}

/* One media geometry for the editor preview, feed cards, lead and detail page. */
.news-cover-format-hint-v0504 {
  margin: -4px 0 6px;
  font-size: 12px;
  line-height: 1.45;
}

.news-cover-format-hint-v0504 strong {
  color: rgba(255,255,255,.84);
}

.news-admin-form-v047 .cover-preview {
  width: min(100%, 760px);
  aspect-ratio: var(--dm-news-cover-ratio-v0504);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 16px;
  background: rgba(0,0,0,.28);
}

.news-admin-form-v047 .cover-preview img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  margin: 0;
  border: 0;
  border-radius: 0;
  object-fit: cover;
  object-position: center;
}

.news-lead-cover-v0475 {
  min-height: 0 !important;
  aspect-ratio: var(--dm-news-cover-ratio-v0504);
  align-self: center;
}

.news-lead-cover-v0475 img {
  width: 100%;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover;
  object-position: center;
}

.article-cover-frame-v0476 {
  width: 100%;
  aspect-ratio: var(--dm-news-cover-ratio-v0504) !important;
  min-height: 0 !important;
  max-height: none !important;
}

.article-cover-frame-v0476 .article-cover,
.article-cover-frame-v0476 .article-cover-v029,
.article-cover-frame-v0476 .article-cover-v0330 {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Feed cards now use a real image element. The old stretched background layer is
   overridden so a 2:1 source is never resized to an arbitrary width/height pair. */
.news-card-v0330.media-card,
.news-card-v0330.has-cover-v0475.media-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 38%);
  gap: 0;
  align-items: center;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: linear-gradient(155deg, rgba(22,22,28,.86), rgba(10,10,14,.94)) !important;
}

.news-card-v0330.media-card .channel-card-body,
.news-card-v0330.has-cover-v0475.media-card .channel-card-body {
  max-width: none !important;
  padding: 15px 16px;
}

.news-card-cover-v0504 {
  display: block;
  width: calc(100% - 16px);
  aspect-ratio: var(--dm-news-cover-ratio-v0504);
  margin: 8px 8px 8px 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 12px;
  background: rgba(0,0,0,.28);
  box-shadow: 0 10px 24px rgba(0,0,0,.2);
}

.news-card-cover-v0504 img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .22s ease;
}

@media (hover: hover) and (pointer: fine) {
  .news-card-v0330.media-card:hover,
  .news-card-v0330.has-cover-v0475.media-card:hover {
    background: linear-gradient(155deg, rgba(27,25,31,.92), rgba(11,11,15,.97)) !important;
  }

  .news-card-v0330.media-card:hover .news-card-cover-v0504 img {
    transform: scale(1.018);
  }
}

/* Per-user unread publication state. Opening the detail page removes this state. */
.news-unread-badge-v0504 {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 20px;
  padding: 2px 7px;
  border: 1px solid rgba(255,48,70,.22);
  border-radius: 999px;
  background: rgba(225,25,45,.12);
  color: rgba(255,218,222,.96);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .015em;
  white-space: nowrap;
}

.news-unread-badge-v0504 i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #ff3046;
  box-shadow: 0 0 9px rgba(255,48,70,.5);
}

.news-priority-card-v0330.is-unread-v0504,
.news-lead-card-v0330.is-unread-v0504,
.news-card-v0330.is-unread-v0504 {
  border-color: rgba(255,48,70,.24);
  box-shadow: inset 2px 0 0 rgba(255,48,70,.82), 0 12px 30px rgba(0,0,0,.22);
}

.news-lead-card-v0330.is-unread-v0504 {
  background:
    radial-gradient(circle at 2% 0%, rgba(225,25,45,.22), transparent 36%),
    linear-gradient(145deg, rgba(29,25,32,.96), rgba(11,11,15,.99));
}

.news-mod-item-v0473.is-unread-v0504,
.news-mod-mobile-item-v04913.is-unread-v0504 {
  border-color: rgba(255,48,70,.18);
  box-shadow: inset 2px 0 0 rgba(255,48,70,.65);
}

@media (max-width: 760px) {
  .news-card-v0330.media-card,
  .news-card-v0330.has-cover-v0475.media-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .news-card-cover-v0504 {
    grid-row: 1;
    width: calc(100% - 20px);
    margin: 10px 10px 0;
    border-radius: 13px;
  }

  .news-card-v0330.media-card .channel-card-body,
  .news-card-v0330.has-cover-v0475.media-card .channel-card-body {
    grid-row: 2;
    padding: 13px 14px 15px;
  }

  .article-cover-frame-v0476 {
    aspect-ratio: var(--dm-news-cover-ratio-v0504) !important;
  }
}

/* iPad: keep the footer surface at the actual bottom of the document. Reserve
   the fixed bottom navigation inside the footer instead of pushing the whole
   document upward with body padding. */
html[data-ipad-target="ipad"] body {
  min-height: 100svh;
  min-height: 100dvh;
}

html[data-ipad-layout="mobile-landscape"] body {
  padding-bottom: 0 !important;
}

html[data-ipad-layout="mobile-landscape"] .page {
  padding-bottom: 28px !important;
}

html[data-ipad-layout="mobile-landscape"] body > .footer.footer-v03172 {
  margin-top: auto !important;
  padding-bottom: calc(64px + env(safe-area-inset-bottom)) !important;
}

@media (prefers-reduced-motion: reduce) {
  .news-card-cover-v0504 img {
    transition: none !important;
    transform: none !important;
  }
}

/* The same personal unread state is visible on the home news feed. */
.home-feed-card-v039.is-unread-v0504 {
  position: relative;
  background: linear-gradient(90deg, rgba(225,25,45,.065), rgba(255,255,255,.012));
  box-shadow: inset 2px 0 0 rgba(255,48,70,.7);
}

.mobile-home-latest-v039.is-unread-v0504 {
  border-color: rgba(255,48,70,.2);
  box-shadow: inset 2px 0 0 rgba(255,48,70,.7);
}


/* v0.50.5 — compact news feed cards + reliable cover upload feedback.
   Non-priority cards use the 2:1 cover as a background surface. This keeps the
   full card width available for labels/title/actions and removes the cramped
   text/image split from v0.50.4. */
.news-grid-v0330 .news-card-v0330 {
  position: relative;
  min-width: 0;
  height: 190px;
  min-height: 190px;
  padding: 0 !important;
  overflow: hidden;
  isolation: isolate;
}

.news-grid-v0330 .news-card-v0330.media-card,
.news-grid-v0330 .news-card-v0330.has-cover-v0475.media-card {
  display: block !important;
  grid-template-columns: none !important;
  background:
    linear-gradient(180deg, rgba(7,7,10,.54) 0%, rgba(7,7,10,.72) 45%, rgba(7,7,10,.96) 100%),
    linear-gradient(90deg, rgba(8,8,11,.84) 0%, rgba(8,8,11,.55) 58%, rgba(8,8,11,.32) 100%),
    var(--news-card-bg) center center / cover no-repeat !important;
}

.news-grid-v0330 .news-card-v0330.no-cover-v0475 {
  background:
    radial-gradient(circle at 100% 0%, rgba(225,25,45,.07), transparent 40%),
    linear-gradient(155deg, rgba(22,22,28,.9), rgba(9,9,13,.98)) !important;
}

.news-grid-v0330 .news-card-v0330.media-card::after,
.news-grid-v0330 .news-card-v0330.has-cover-v0475.media-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.02), transparent 32%);
}

.news-grid-v0330 .news-card-v0330 .channel-card-body,
.news-grid-v0330 .news-card-v0330.media-card .channel-card-body,
.news-grid-v0330 .news-card-v0330.has-cover-v0475.media-card .channel-card-body {
  position: relative;
  z-index: 1;
  display: flex !important;
  flex-direction: column;
  width: 100%;
  max-width: none !important;
  height: 100%;
  min-height: 0;
  padding: 13px 14px 12px !important;
}

.news-grid-v0330 .news-card-v0330 .channel-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  min-width: 0;
  margin-bottom: 7px;
}

.news-grid-v0330 .news-card-v0330 .channel-card-meta .tag,
.news-grid-v0330 .news-card-v0330 .channel-card-meta small,
.news-grid-v0330 .news-card-v0330 .news-unread-badge-v0504 {
  flex: 0 0 auto;
}

.news-grid-v0330 .news-card-v0330 .channel-card-meta small {
  margin-left: auto;
  color: rgba(242,242,245,.62);
  text-shadow: 0 1px 8px rgba(0,0,0,.8);
}

.news-grid-v0330 .news-card-v0330 .news-update-label-v047 {
  margin: 0 0 5px;
  color: rgba(244,244,247,.72);
  font-size: 10px;
  line-height: 1.25;
  text-shadow: 0 1px 8px rgba(0,0,0,.82);
}

.news-grid-v0330 .news-card-v0330 h3 {
  min-width: 0;
  margin: 0;
  max-width: 100%;
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.08;
  letter-spacing: -.018em;
}

.news-grid-v0330 .news-card-v0330 h3 a {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  color: #fff;
  text-shadow: 0 2px 14px rgba(0,0,0,.9);
}

.news-grid-v0330 .news-card-v0330 > .news-card-cover-v0504,
.news-grid-v0330 .news-card-v0330 .news-card-cover-v0504 {
  display: none !important;
}

.news-grid-v0330 .news-card-v0330 > .channel-card-body > p {
  display: none !important;
}

.news-card-actions-v0505 {
  display: flex !important;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 7px;
  width: 100%;
  margin-top: auto !important;
  padding-top: 10px;
}

.news-card-actions-v0505 .btn {
  min-height: 31px;
  padding: 6px 10px;
  border-radius: 9px;
  line-height: 1;
}

.news-card-actions-v0505 .btn-dark {
  margin-right: auto;
  background: rgba(18,18,23,.86);
  backdrop-filter: blur(5px);
}

.news-card-actions-v0505 .news-read-link-v0473 {
  margin-left: auto;
}

@media (hover: hover) and (pointer: fine) {
  .news-grid-v0330 .news-card-v0330.media-card:hover,
  .news-grid-v0330 .news-card-v0330.has-cover-v0475.media-card:hover {
    background:
      linear-gradient(180deg, rgba(7,7,10,.48) 0%, rgba(9,7,10,.70) 44%, rgba(10,7,10,.965) 100%),
      linear-gradient(90deg, rgba(8,8,11,.79) 0%, rgba(12,7,10,.52) 58%, rgba(16,7,10,.29) 100%),
      var(--news-card-bg) center center / cover no-repeat !important;
  }
}

.news-cover-upload-status-v0505 {
  min-height: 20px;
  margin: -2px 0 10px;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 10px;
  background: rgba(255,255,255,.025);
}

.news-cover-upload-status-v0505[data-state="loading"] {
  border-color: rgba(255,48,70,.16);
  color: rgba(255,225,228,.92);
}

.news-cover-upload-status-v0505[data-state="success"] {
  border-color: rgba(81,203,130,.18);
  color: rgba(185,244,208,.92);
}

.news-cover-upload-status-v0505[data-state="error"] {
  border-color: rgba(255,48,70,.24);
  color: rgba(255,190,197,.98);
}

@media (max-width: 760px) {
  .news-grid-v0330 .news-card-v0330 {
    height: 184px;
    min-height: 184px;
  }

  .news-grid-v0330 .news-card-v0330.media-card,
  .news-grid-v0330 .news-card-v0330.has-cover-v0475.media-card {
    display: block !important;
  }

  .news-grid-v0330 .news-card-v0330 .channel-card-body,
  .news-grid-v0330 .news-card-v0330.media-card .channel-card-body,
  .news-grid-v0330 .news-card-v0330.has-cover-v0475.media-card .channel-card-body {
    grid-row: auto !important;
    padding: 12px 13px !important;
  }

  .news-grid-v0330 .news-card-v0330 h3 {
    font-size: 16px;
  }
}


/* v0.50.7 — unread news Border Beam.
   Inspired by the moving edge-light pattern, but implemented as dependency-free
   CSS for the existing EJS/vanilla stack. The base border stays readable while
   a short red -> white -> red highlight travels around the perimeter. */
@property --news-unread-beam-angle-v0507 {
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}

.news-priority-card-v0330.is-unread-v0504,
.news-lead-card-v0330.is-unread-v0504,
.news-grid-v0330 .news-card-v0330.is-unread-v0504,
.news-mod-item-v0473.is-unread-v0504,
.news-mod-mobile-item-v04913.is-unread-v0504 {
  position: relative;
  border-color: rgba(255,48,70,.48) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.025),
    inset 2px 0 0 rgba(255,48,70,.76),
    0 0 0 1px rgba(255,48,70,.035),
    0 12px 30px rgba(0,0,0,.22);
}

.news-unread-beam-v0507 {
  position: absolute;
  inset: -1px;
  z-index: 8;
  display: block;
  overflow: hidden;
  border-radius: inherit;
  pointer-events: none;
  box-shadow:
    inset 0 0 0 1px rgba(255,48,70,.62),
    inset 0 0 0 2px rgba(255,255,255,.025),
    0 0 12px rgba(255,48,70,.06);
}

@supports ((-webkit-mask-composite: xor) or (mask-composite: exclude)) {
  .news-unread-beam-v0507 {
    padding: 2px;
    background: conic-gradient(
      from var(--news-unread-beam-angle-v0507),
      transparent 0deg 300deg,
      rgba(255,48,70,.04) 304deg,
      rgba(255,48,70,.92) 316deg,
      rgba(255,255,255,.98) 324deg,
      rgba(255,48,70,.94) 332deg,
      rgba(255,48,70,.10) 343deg,
      transparent 350deg 360deg
    );
    -webkit-mask:
      linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask:
      linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);
    mask-composite: exclude;
    filter: drop-shadow(0 0 5px rgba(255,48,70,.34));
    box-shadow: none;
    animation: news-unread-border-beam-v0507 5.2s linear infinite;
  }
}

@keyframes news-unread-border-beam-v0507 {
  to { --news-unread-beam-angle-v0507: 360deg; }
}

/* Keep content and controls above background overlays, but below the decorative beam. */
.news-priority-card-v0330.is-unread-v0504 > :not(.news-unread-beam-v0507),
.news-lead-card-v0330.is-unread-v0504 > :not(.news-unread-beam-v0507),
.news-grid-v0330 .news-card-v0330.is-unread-v0504 > :not(.news-unread-beam-v0507),
.news-mod-item-v0473.is-unread-v0504 > :not(.news-unread-beam-v0507),
.news-mod-mobile-item-v04913.is-unread-v0504 > :not(.news-unread-beam-v0507) {
  position: relative;
  z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
  .news-unread-beam-v0507 {
    animation: none !important;
    background: none !important;
    -webkit-mask: none !important;
    mask: none !important;
    padding: 0 !important;
    filter: none !important;
    box-shadow:
      inset 0 0 0 1px rgba(255,48,70,.72),
      inset 0 0 0 2px rgba(255,255,255,.04) !important;
  }
}
/* v0.51.0 — лёгкая тактильная поверхность голосовых каналов. */
.voice-channel-card-v0332{position:relative;overflow:hidden;transition:transform .24s cubic-bezier(.16,1,.3,1),border-color .24s ease,box-shadow .24s ease}
.voice-channel-card-v0332::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,rgba(255,74,96,.82),transparent);opacity:0;transition:opacity .24s ease}
.voice-channel-card-v0332:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.18);box-shadow:0 14px 30px rgba(0,0,0,.22)}
.voice-channel-card-v0332.is-active::before,.voice-channel-card-v0332:hover::before{opacity:1}
.voice-pin-button-v0510[aria-pressed="true"]{color:#fff;border-color:rgba(255,74,96,.55);background:rgba(255,74,96,.13)}
[data-voice-global-overlay]{border:1px solid rgba(255,255,255,.13);border-radius:16px;background:linear-gradient(135deg,rgba(24,26,35,.96),rgba(11,12,18,.96));box-shadow:0 16px 42px rgba(0,0,0,.38);backdrop-filter:blur(14px);transition:transform .3s cubic-bezier(.34,1.35,.64,1),opacity .2s ease}
[data-voice-global-overlay] [data-voice-global-title]{letter-spacing:.01em}
@media (prefers-reduced-motion:reduce){.voice-channel-card-v0332,[data-voice-global-overlay]{transition:none}}

/* v0.51.0 — новая композиция голосовых: не список, а панель комнат. */
@media (min-width:1181px){
  .voice-layout-v0335{grid-template-columns:232px minmax(0,1fr) 268px;gap:18px}
  .voice-channels-center-v0345{padding:3px 0}
}
.voice-channel-group-v0345{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 24px}
.voice-channel-group-title-v0345{grid-column:1/-1;align-items:center;padding:0 2px 3px}
.voice-channel-group-title-v0345 h3{font-size:18px;letter-spacing:-.02em}
.voice-channel-group-title-v0345 .eyebrow{color:rgba(255,84,103,.9);font-size:10px;letter-spacing:.16em}
.voice-channel-card-v0510{min-height:198px;padding:16px;border-radius:18px;border-color:rgba(255,255,255,.085);background:linear-gradient(145deg,rgba(25,25,33,.94),rgba(12,12,17,.94));gap:13px}
.voice-channel-card-v0510::after{content:"";position:absolute;inset:auto -28px -45px auto;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(255,35,61,.15),transparent 68%);pointer-events:none;opacity:.5}
.voice-channel-card-v0510.is-clan{background:linear-gradient(145deg,rgba(37,29,42,.95),rgba(16,14,22,.95));border-color:rgba(180,115,255,.22)}
.voice-channel-card-v0510.is-active{border-color:rgba(255,68,90,.72);box-shadow:0 0 0 1px rgba(255,60,82,.13),0 20px 45px rgba(0,0,0,.3)}
.voice-channel-card-v0510:hover{transform:translateY(-4px) scale(1.008);border-color:rgba(255,255,255,.23);box-shadow:0 24px 46px rgba(0,0,0,.38)}
.voice-channel-card-v0510 .voice-channel-title-row-v0332{grid-template-columns:42px minmax(0,1fr) auto;gap:11px}
.voice-channel-icon-v0510{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:linear-gradient(145deg,rgba(255,67,89,.24),rgba(255,255,255,.035));color:#ff4b62;font-size:19px;line-height:1;box-shadow:inset 0 1px rgba(255,255,255,.08)}
.voice-channel-card-v0510.is-clan .voice-channel-icon-v0510{color:#d5b2ff;background:linear-gradient(145deg,rgba(180,115,255,.23),rgba(255,255,255,.035))}
.voice-channel-type-v0510,.voice-channel-lock-v0510,.voice-channel-live-v0510{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.voice-channel-type-v0510{background:rgba(255,255,255,.065);color:#aeb0ba}.voice-channel-lock-v0510{background:rgba(180,115,255,.14);color:#d5b2ff}.voice-channel-live-v0510{background:rgba(55,213,126,.13);color:#79e3a0}.voice-channel-live-v0510::before{content:"";width:5px;height:5px;margin-right:5px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor}
.voice-channel-card-v0510 .voice-channel-title-row-v0332 h3{margin:2px 0 5px;font-size:18px;line-height:1.08}.voice-channel-card-v0510 .voice-channel-title-row-v0332 p{font-size:12px;line-height:1.42}
.voice-channel-card-v0510 .voice-channel-count-v0332{min-width:48px;padding:7px 6px;border-radius:12px;background:rgba(0,0,0,.23)}.voice-channel-card-v0510 .voice-channel-count-v0332 strong{font-size:13px}.voice-channel-card-v0510 .voice-channel-count-v0332 span{font-size:9px}
.voice-channel-card-v0510 .voice-member-list-v0332{margin-top:auto;align-content:flex-start;min-height:29px}.voice-empty-v0510{display:inline-flex;align-items:center;gap:7px;color:#8f919b;font-size:11px}.voice-empty-v0510 i{width:7px;height:7px;border-radius:50%;background:#4d505a;box-shadow:0 0 0 3px rgba(255,255,255,.035)}
.voice-channel-card-v0510 .voice-channel-actions-v0332{display:flex;align-items:center;justify-content:space-between;gap:7px;padding-top:11px;border-top:1px solid rgba(255,255,255,.07)}.voice-channel-card-v0510 .voice-channel-actions-v0332 form{margin-left:auto}.voice-channel-card-v0510 .btn{border-radius:10px}.voice-channel-card-v0510 .btn-red{box-shadow:0 7px 18px rgba(225,25,45,.25)}
.voice-create-sidebar-v0335,.voice-active-panel-v0345{border-radius:18px;background:linear-gradient(160deg,rgba(24,24,32,.96),rgba(12,12,17,.96));border-color:rgba(255,255,255,.1);box-shadow:0 16px 34px rgba(0,0,0,.23)}
.voice-create-sidebar-v0335{padding:14px}.voice-create-sidebar-v0335 .voice-create-form-v0332{display:grid;grid-template-columns:1fr;gap:10px}.voice-create-sidebar-v0335 input,.voice-create-sidebar-v0335 select{min-height:38px;border-radius:10px}.voice-create-sidebar-v0335 button[type=submit]{min-height:38px;border-radius:11px}
@media (max-width:760px){.voice-channel-group-v0345{grid-template-columns:1fr;gap:9px;margin-bottom:18px}.voice-channel-card-v0510{min-height:0}.voice-channel-card-v0510 .voice-channel-title-row-v0332{grid-template-columns:38px minmax(0,1fr) auto}.voice-channel-icon-v0510{width:36px;height:36px}.voice-channel-card-v0510 .voice-channel-title-row-v0332 h3{font-size:16px}}
.voice-screen-stage-v0513{position:relative;overflow:hidden;cursor:zoom-in;border:1px solid rgba(255,72,94,.36);border-radius:12px;background:#08090d;box-shadow:0 12px 30px rgba(0,0,0,.3)}.voice-screen-stage-v0513 video{display:block;width:100%;max-height:300px;object-fit:contain;background:#050609}.voice-screen-caption-v0513{position:absolute;left:8px;bottom:8px;max-width:calc(100% - 16px);padding:5px 8px;border-radius:7px;background:rgba(7,8,12,.8);color:#f6f7fb;font-size:11px;backdrop-filter:blur(8px)}.voice-screen-audio-control-v0514{position:absolute;right:8px;top:8px;z-index:2;display:flex;align-items:center;gap:6px;padding:5px 7px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(7,8,12,.82);color:#f6f7fb;font-size:11px;cursor:default;backdrop-filter:blur(8px)}.voice-screen-audio-control-v0514 input{width:76px;accent-color:#ec2943}.voice-screen-audio-control-v0514 output{min-width:30px;text-align:right;font-variant-numeric:tabular-nums}

/* v0.51.5 — лёгкая рабочая панель голосового канала и индикаторы речи. */
.voice-pinned-group-v0515{padding:10px;border:1px solid rgba(239,63,88,.24);border-radius:15px;background:linear-gradient(135deg,rgba(239,63,88,.09),rgba(255,255,255,.025))}.voice-pinned-group-v0515 [data-voice-pinned-list]{display:grid;gap:8px}.voice-speaking-indicator-v0515{display:none;width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#63e69b;box-shadow:0 0 0 0 rgba(99,230,155,.5)}.voice-member-chip-v0332.is-speaking-v0515{border-color:rgba(99,230,155,.65);background:rgba(59,185,110,.12)}.voice-member-chip-v0332.is-speaking-v0515 .voice-speaking-indicator-v0515{display:inline-block;animation:voice-speaking-pulse-v0515 1s ease-in-out infinite}@keyframes voice-speaking-pulse-v0515{50%{box-shadow:0 0 0 5px rgba(99,230,155,0)}}.voice-active-controls-v0515{display:grid;gap:10px;padding:11px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:inset 0 1px rgba(255,255,255,.06)}.voice-control-section-v0515{display:grid;gap:6px}.voice-control-section-label-v0515{color:#aeb2bf;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.voice-active-main-actions-v0515{display:grid;grid-template-columns:1fr 1fr;gap:7px}.voice-active-main-actions-v0515 button,.voice-screen-share-button-v0515{min-height:42px;border-radius:11px;font-weight:800;line-height:1.15}.voice-active-main-actions-v0515 button[aria-pressed="true"]{border-color:rgba(239,63,88,.66);background:rgba(239,63,88,.2);color:#fff}.voice-screen-share-button-v0515{width:100%;border-color:rgba(118,175,255,.28);background:linear-gradient(135deg,rgba(80,137,236,.2),rgba(255,255,255,.055))}.voice-audio-settings-v0515{padding:8px 0 0;border-top:1px solid rgba(255,255,255,.09)}.voice-audio-settings-v0515 summary{cursor:pointer;font-weight:800;list-style:none}.voice-audio-settings-v0515 summary::-webkit-details-marker{display:none}.voice-audio-settings-v0515 summary::after{content:'⌄';float:right;color:#aeb2bf}.voice-audio-settings-v0515[open] summary::after{transform:rotate(180deg)}.voice-filter-row-v0515{align-items:center!important}.voice-filter-row-v0515 button{min-height:31px;border-radius:9px}.voice-filter-row-v0515 button[aria-pressed="true"]{color:#dfffea;border-color:rgba(99,230,155,.48);background:rgba(59,185,110,.14)}@media(max-width:560px){.voice-active-main-actions-v0515{grid-template-columns:1fr}.voice-pinned-group-v0515{padding:7px}.voice-screen-audio-control-v0514{left:6px;right:6px;justify-content:space-between}.voice-screen-audio-control-v0514 input{flex:1;max-width:120px}}@media(prefers-reduced-motion:reduce){.voice-member-chip-v0332.is-speaking-v0515 .voice-speaking-indicator-v0515{animation:none}}

/* v0.51.6 — не оставляем пустую центральную плашку, если каналов не закреплено. */
.voice-pinned-group-v0515[hidden]{display:none!important}

/* v0.51.8 — компактная ручная сверка ролей портала с игровыми профилями. */
.admin-game-role-sync-v0518{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:-4px 0 14px}.admin-game-role-sync-v0518 small{font-size:.78rem}@media(max-width:560px){.admin-game-role-sync-v0518{align-items:flex-start;flex-direction:column;gap:5px;margin-bottom:11px}}

/* v0.51.7 — плотная админ-страница активности без высоких multi-select. */
.portal-activity-admin-stats-v0341{gap:8px!important;margin-bottom:12px!important}.portal-activity-admin-stats-v0341 .panel{padding:10px 12px!important;min-height:0}.portal-activity-admin-stats-v0341 strong{font-size:1.25rem}.portal-activity-admin-panel-v0341{padding:14px!important;margin-bottom:12px!important}.portal-activity-admin-panel-v0341 .section-head{gap:8px;margin-bottom:10px}.portal-activity-admin-panel-v0341 .section-head h2{margin:2px 0;font-size:1.12rem}.portal-activity-admin-panel-v0341 .section-head h3{margin:0;font-size:1rem}.portal-activity-admin-panel-v0341 .section-head p{margin:3px 0 0;font-size:.82rem;line-height:1.35}.admin-activity-settings-form-v0341,.admin-role-bonus-form-v0341{gap:9px}.portal-activity-compact-grid-v0517{gap:9px!important}.portal-activity-admin-panel-v0341 label{gap:4px;font-size:.84rem}.portal-activity-admin-panel-v0341 input,.portal-activity-admin-panel-v0341 select{min-height:36px!important;padding:7px 9px!important}.portal-activity-admin-panel-v0341 .checkbox-line{min-height:30px;margin:0}.portal-activity-help-v0517{margin:0!important;font-size:.78rem!important}.portal-activity-subhead-v0517{margin-top:14px!important;padding-top:11px;border-top:1px solid rgba(255,255,255,.08)}.portal-activity-role-picker-v0517{grid-column:1/-1;min-width:0;margin:0;padding:8px 9px 9px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:rgba(255,255,255,.025)}.portal-activity-role-picker-v0517 legend{padding:0 4px;color:var(--muted);font-size:.76rem;font-weight:700}.portal-activity-role-chips-v0517{display:flex;flex-wrap:wrap;gap:6px}.portal-activity-role-chip-v0517{position:relative;display:inline-flex!important;align-items:center!important;min-height:28px!important;margin:0!important;cursor:pointer}.portal-activity-role-chip-v0517 input{position:absolute;inline-size:1px!important;block-size:1px!important;min-height:1px!important;opacity:0}.portal-activity-role-chip-v0517 span{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.035);color:#c7cad3;font-size:.78rem;font-weight:700;line-height:1.05;transition:.16s ease}.portal-activity-role-chip-v0517 input:checked+span{border-color:rgba(239,63,88,.7);background:rgba(239,63,88,.16);color:#fff;box-shadow:0 0 0 1px rgba(239,63,88,.11) inset}.portal-activity-role-chip-v0517 input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}.portal-activity-bonus-list-v0517{gap:7px;margin-top:10px}.portal-activity-bonus-list-v0517 .portal-role-bonus-card-v0341{padding:8px 10px;border-radius:11px;gap:10px}.portal-activity-bonus-list-v0517 .portal-role-bonus-card-v0341 h3{display:inline;margin:0 0 0 6px;font-size:.9rem}.portal-activity-bonus-list-v0517 .portal-role-bonus-card-v0341 p{display:inline;margin-left:6px;font-size:.78rem}.portal-activity-bonus-list-v0517 .portal-role-bonus-card-v0341 small{display:none}.portal-activity-bonus-list-v0517 .portal-role-bonus-actions-v0341{gap:6px}.portal-activity-bonus-list-v0517 .portal-role-bonus-actions-v0341 strong{font-size:1rem}.portal-activity-bonus-list-v0517 .btn{min-height:31px!important;padding:5px 9px!important;font-size:.76rem}.portal-activity-direct-apply-v0344 .portal-activity-server-list-v0344{gap:9px}.portal-activity-direct-apply-v0344 .portal-activity-server-card-v0344{padding:11px!important;gap:8px!important}@media(max-width:560px){.portal-activity-admin-panel-v0341{padding:11px!important}.portal-activity-role-chips-v0517{gap:5px}.portal-activity-role-chip-v0517 span{min-height:27px;padding:4px 8px;font-size:.75rem}.portal-activity-bonus-list-v0517 .portal-role-bonus-card-v0341{align-items:flex-start}.portal-activity-bonus-list-v0517 .portal-role-bonus-actions-v0341{width:100%;justify-content:flex-start}}

/* ==========================================================
   v0.52.3 — event activity marker + participation response
   ========================================================== */
.topbar .nav .nav-events-link-v0523 {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.nav-event-marker-v0523 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 20px;
  padding: 2px 6px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  font-size: .58rem;
  line-height: 1;
  letter-spacing: .05em;
  white-space: nowrap;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
}
.nav-event-marker-v0523 i {
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 999px;
}
.nav-event-marker-v0523 b {
  font-size: inherit;
  font-weight: 900;
  letter-spacing: inherit;
}
.nav-event-marker-v0523 em {
  min-width: 14px;
  height: 14px;
  padding: 0 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: .55rem;
  font-style: normal;
  font-weight: 900;
  background: rgba(255,255,255,.13);
}
.nav-events-link-v0523.is-upcoming .nav-event-marker-v0523 {
  color: #dfe9ff;
  border-color: rgba(78,135,255,.32);
  background: rgba(58,122,255,.12);
}
.nav-events-link-v0523.is-upcoming .nav-event-marker-v0523 i {
  background: #4f8cff;
  box-shadow: 0 0 9px rgba(79,140,255,.68);
}
.nav-events-link-v0523.is-active .nav-event-marker-v0523 {
  color: #dff9eb;
  border-color: rgba(39,190,116,.36);
  background: rgba(30,160,93,.13);
}
.nav-events-link-v0523.is-active .nav-event-marker-v0523 i {
  background: #33d17a;
  box-shadow: 0 0 10px rgba(51,209,122,.75);
  animation: dm-event-live-pulse-v0523 1.45s ease-in-out infinite;
}
@keyframes dm-event-live-pulse-v0523 {
  0%, 100% { transform: scale(.82); opacity: .72; }
  50% { transform: scale(1.2); opacity: 1; }
}

.event-participation-v0523 {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
}
.event-participation-v0523.needs-answer {
  border-color: rgba(79,140,255,.25);
  box-shadow: inset 0 0 0 1px rgba(79,140,255,.035);
}
.event-participation-v0523.has-answer {
  border-color: rgba(51,209,122,.2);
}
.event-participation-heading-v0523 {
  display: grid;
  gap: 4px;
}
.event-participation-heading-v0523 h3 {
  margin: 0;
  font-size: 1rem;
}
.event-participation-kicker-v0523 {
  color: var(--muted);
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.event-participation-copy-v0523 {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.55;
}
.event-participation-current-v0523 {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin: 12px 0 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(51,209,122,.07);
  border: 1px solid rgba(51,209,122,.14);
}
.event-participation-current-v0523 span {
  color: var(--muted);
  font-size: .72rem;
}
.event-participation-current-v0523 strong {
  color: #dff9eb;
  font-size: .76rem;
  text-align: right;
}
.event-participation-actions-v0523 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 12px;
}
.event-participation-actions-v0523 .btn {
  width: 100%;
  justify-content: center;
}
.event-participation-yes-v0523 {
  border-color: rgba(51,209,122,.3);
  background: rgba(30,160,93,.17);
  color: #e8fff2;
}
.event-participation-yes-v0523:hover,
.event-participation-yes-v0523.is-selected {
  border-color: rgba(51,209,122,.52);
  background: rgba(30,160,93,.26);
}
.event-participation-no-v0523.is-selected {
  border-color: rgba(255,255,255,.22);
  background: rgba(255,255,255,.075);
  color: #fff;
}

@media (max-width: 1180px) {
  .topbar .nav .nav-events-link-v0523 { gap: 5px; }
  .nav-event-marker-v0523 { padding-inline: 5px; }
}

@media (prefers-reduced-motion: reduce) {
  .nav-events-link-v0523.is-active .nav-event-marker-v0523 i { animation: none !important; }
}
