/* =========================================================
   COMMUNITY HUB CORE CSS
   Cleaned baseline after feed, comments, reactions,
   notifications, bookmarks, live updates, reposts, and quotes.
   ========================================================= */

/* -------------------------
   Global safety
   ------------------------- */

.ch-feed,
.ch-feed * {
  box-sizing: border-box;
}

.is-busy {
  opacity: 0.75;
}

/* -------------------------
   Feed shell
   ------------------------- */

.ch-feed {
  max-width: 760px;
  margin: 0 auto;
}

.ch-feed .ch-activity-card {
  background: #ffffff;
  color: #111827;
  border: 1px solid #dbe3ec;
  border-radius: 18px;
  padding: 16px !important;
  margin: 0 0 18px;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

.ch-activity-card {
  margin-top: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(229, 234, 240, 0.75);
}

.ch-feed .ch-activity-header {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
}

.ch-feed .ch-activity-avatar img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: block;
}

.ch-activity-user-block {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}

.ch-activity-name-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
}

.ch-feed .ch-activity-name,
.ch-activity-name {
  color: #111827;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.ch-feed .ch-activity-name:hover,
.ch-activity-name:hover {
  text-decoration: underline;
}

.ch-member-type {
  display: inline-flex;
  align-items: center;
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 700;
  color: var(--ch-member-type-text, #2563eb);
  background: var(--ch-member-type-bg, rgba(37, 99, 235, 0.08));
  padding: 3px 8px;
  border-radius: 999px;
  vertical-align: middle;
}

.ch-post-time {
  font-size: 12px;
  color: #6b7280;
  margin-left: 6px;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}

.ch-post-time:hover {
  text-decoration: underline;
}

.ch-feed .ch-activity-content,
.ch-activity-content {
  color: #111827;
  font-size: 15px;
  line-height: 1.5;
  margin-bottom: 12px;
  text-align: left !important;
  white-space: normal;
  word-break: break-word;
}

.ch-single-post {
  max-width: 700px;
  margin: 40px auto;
}

/* -------------------------
   Activity media
   ------------------------- */

.ch-activity-media,
.ch-post-media {
  margin-top: 10px;
}

.ch-activity-media img,
.ch-post-media img,
#ch-preview img {
  width: 100%;
  border-radius: 12px;
  display: block;
}

#ch-preview img {
  margin-top: 10px;
}

/* -------------------------
   Composer
   ------------------------- */

.ch-composer {
  max-width: 760px;
  margin: 0 auto 16px;
  background: #ffffff;
  border: 1px solid #dbe3ec;
  border-radius: 18px;
  padding: 14px;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.ch-composer-textarea {
  width: 100%;
  min-height: 82px;
  resize: vertical;
  box-sizing: border-box;
  border: 1px solid #d1d5db;
  border-radius: 16px;
  padding: 12px 14px;
  font-size: 15px;
  line-height: 1.5;
  color: #111827;
  background: #ffffff;
}

.ch-composer-textarea:focus,
.ch-comment-textarea:focus,
.ch-reply-textarea:focus,
.ch-edit-textarea:focus,
.ch-repost-modal-textarea:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.ch-composer-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}

.ch-composer-submit {
  border: 0;
  border-radius: 999px;
  background: #2563eb;
  color: #ffffff;
  font-size: 14px;
  font-weight: 800;
  padding: 10px 18px;
  cursor: pointer;
}

.ch-composer-submit:hover {
  background: #1d4ed8;
}

.ch-composer-submit:disabled,
.ch-composer-submit.is-busy {
  opacity: 0.7;
  cursor: wait;
}

.ch-composer-error {
  color: #b91c1c;
  font-size: 13px;
  font-weight: 700;
}

.ch-composer-file {
  display: none !important;
}

.ch-new-post-highlight {
  animation: chNewPostPulse 1.8s ease;
}

@keyframes chNewPostPulse {
  0% { box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.42); transform: scale(1); }
  24% { box-shadow: 0 0 0 5px rgba(37, 99, 235, 0.2); transform: scale(1.01); }
  100% { box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06); transform: scale(1); }
}

/* -------------------------
   Post menu
   ------------------------- */

.ch-post-menu {
  margin-left: auto;
  position: relative;
}

.ch-post-menu-toggle {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 0;
  background: #f3f4f6;
  color: #111827;
  font-size: 18px;
  font-weight: 900;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ch-post-menu-toggle:hover {
  background: #e5e7eb;
}

.ch-post-menu-dropdown {
  position: absolute;
  right: 0;
  top: 40px;
  background: #ffffff;
  border: 1px solid #d1d5db;
  border-radius: 12px;
  box-shadow: 0 10px 20px rgba(0,0,0,0.12);
  padding: 6px;
  display: flex;
  flex-direction: column;
  min-width: 140px;
  z-index: 9999;
}

.ch-post-menu-dropdown button {
  background: transparent;
  border: 0;
  padding: 10px 12px;
  text-align: left;
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  cursor: pointer;
  border-radius: 8px;
}

.ch-post-menu-dropdown button:hover {
  background: #f3f4f6;
}

.ch-post-menu-dropdown .ch-post-delete,
.ch-post-delete {
  color: #dc2626;
}

.ch-post-menu-dropdown .ch-post-delete:hover,
.ch-post-delete:hover {
  background: rgba(220, 38, 38, 0.08);
}

/* -------------------------
   Action row + buttons
   ------------------------- */

.ch-action-row {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 0;
  border-top: 1px solid #e5eaf0;
  border-bottom: 1px solid #e5eaf0;
}

.ch-action-button {
  appearance: none;
  border: 0;
  background: transparent;
  color: #374151 !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  border-radius: 999px;
  padding: 8px 12px;
  transition: background-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.ch-action-button:hover {
  background: rgba(37, 99, 235, 0.08);
  color: #2563eb !important;
}

.ch-action-button:active {
  transform: translateY(1px);
}

.ch-action-button.is-placeholder {
  opacity: 1;
}

.ch-action-button.is-busy,
.ch-quote-button.is-busy,
.ch-action-button[data-ch-action="repost"].is-busy {
  opacity: 0.7;
  cursor: wait;
  pointer-events: none;
}

.ch-action-row .ch-action-button.is-liked,
.ch-feed .ch-action-button.is-liked,
.ch-action-row .ch-reaction-trigger.is-liked {
  background: #2563eb !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.24) !important;
}

.ch-action-row .ch-action-button.is-liked:hover,
.ch-feed .ch-action-button.is-liked:hover,
.ch-action-row .ch-reaction-trigger.is-liked:hover {
  background: #1d4ed8 !important;
  color: #ffffff !important;
}

.ch-post-reaction-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.ch-action-row .ch-reaction-trigger {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}

.ch-reaction-trigger .ch-reaction-icon-img {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  object-fit: contain !important;
  display: inline-block !important;
  vertical-align: middle !important;
  margin-right: 4px !important;
}

.ch-reaction-trigger .ch-reaction-emoji {
  font-size: 18px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-right: 4px !important;
}

.ch-reaction-trigger.ch-reaction-pop {
  animation: chReactionPop 0.22s ease;
}

@keyframes chReactionPop {
  0% { transform: scale(1); }
  45% { transform: scale(1.12); }
  100% { transform: scale(1); }
}

/* -------------------------
   Reaction picker
   ------------------------- */

.ch-comment-reaction-wrap {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

.ch-comment-reaction-wrap::before {
  content: "";
  position: absolute;
  left: -12px;
  right: -12px;
  bottom: 100%;
  height: 22px;
  z-index: 49;
}

.ch-reaction-picker {
  position: absolute !important;
  left: 0 !important;
  bottom: calc(100% + 10px) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  background: #ffffff !important;
  border: 1px solid #dbe3ec !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.25) !important;
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px) scale(0.98);
  pointer-events: none;
  transition: opacity 0.12s ease, transform 0.12s ease, visibility 0.12s ease;
  z-index: 99999 !important;
  white-space: nowrap !important;
}

.ch-comment-reaction-wrap:hover .ch-reaction-picker,
.ch-comment-reaction-wrap.is-picker-open .ch-reaction-picker,
.ch-reaction-picker:hover {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) scale(1) !important;
  pointer-events: auto !important;
}

.ch-comment-reaction-wrap.ch-picker-force-closed .ch-reaction-picker,
.ch-comment-reaction-wrap.ch-picker-force-closed:hover .ch-reaction-picker,
.ch-comment-reaction-wrap.ch-picker-force-closed.is-picker-open .ch-reaction-picker {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.ch-reaction-option {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform 0.12s ease, background-color 0.12s ease;
}

.ch-reaction-option:hover {
  transform: translateY(-4px) scale(1.16) !important;
  background: rgba(37, 99, 235, 0.08) !important;
}

.ch-reaction-option-emoji {
  font-size: 30px !important;
  line-height: 1 !important;
}

.ch-reaction-option-img {
  width: 32px !important;
  height: 32px !important;
  max-width: 32px !important;
  max-height: 32px !important;
  object-fit: contain !important;
}

.ch-reaction-icon-img {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  object-fit: contain !important;
}

/* -------------------------
   Reaction users hover panel
   ------------------------- */

.ch-reaction-users-panel {
  position: absolute;
  z-index: 999999;
  width: 260px;
  min-width: 220px;
  max-width: 280px;
  background: #ffffff;
  color: #111827;
  border: 1px solid #dbe3ec;
  border-radius: 16px;
  box-shadow: 0 12px 34px rgba(15, 23, 42, 0.24);
  padding: 10px !important;
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity 0.14s ease, transform 0.14s ease, visibility 0.14s ease;
  pointer-events: auto;
}

.ch-reaction-users-panel.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.ch-reaction-users-inner {
  display: grid;
  gap: 4px !important;
  font-size: 13px;
  font-weight: 700;
}

.ch-reaction-user {
  display: grid !important;
  grid-template-columns: 34px 1fr 28px;
  align-items: center;
  gap: 8px;
  padding: 7px 8px !important;
  border-radius: 12px;
}

.ch-reaction-user:hover {
  background: #f8fafc;
}

.ch-reaction-user-avatar img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: block;
}

.ch-reaction-user-name {
  color: #111827;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ch-reaction-user-reaction {
  display: flex;
  align-items: center;
  justify-content: center;
}

.ch-reaction-user-emoji {
  width: 22px !important;
  height: 22px !important;
  font-size: 20px !important;
  object-fit: contain;
}

.ch-reaction-users-empty {
  color: #64748b;
  font-size: 13px;
  padding: 8px;
}

/* -------------------------
   Comments
   ------------------------- */

.ch-comments-box {
  max-width: 720px;
  margin: 16px 0 0;
  padding-top: 16px;
  border-top: 1px solid #dbe3ec;
}

.ch-comment-form {
  margin-bottom: 18px;
}

.ch-comment-textarea,
.ch-reply-textarea,
.ch-edit-textarea {
  width: 100%;
  box-sizing: border-box;
  background: #ffffff;
  color: #111827;
  border: 1px solid #d1d5db;
  border-radius: 16px;
  padding: 12px 14px;
  font-size: 14px;
  line-height: 1.5;
  resize: vertical;
}

.ch-comment-textarea { min-height: 84px; }
.ch-reply-textarea,
.ch-edit-textarea { min-height: 72px; }

.ch-comment-submit,
.ch-reply-submit,
.ch-edit-save {
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 600;
  background: #2563eb;
  color: #ffffff;
}

.ch-comment-submit {
  margin-top: 10px;
  padding: 10px 16px;
  font-size: 14px;
}

.ch-reply-submit,
.ch-edit-save {
  padding: 8px 14px;
  font-size: 13px;
}

.ch-comment-submit:disabled,
.ch-reply-submit:disabled,
.ch-edit-save:disabled,
.ch-comment-submit.is-busy,
.ch-reply-submit.is-busy,
.ch-edit-save.is-busy {
  opacity: 0.7;
  cursor: wait;
}

.ch-comments-list {
  margin-top: 12px;
  padding-bottom: 0 !important;
  overflow: visible !important;
}

.ch-comments-empty {
  display: none !important;
}

.ch-comment-thread {
  position: relative;
  margin-bottom: 10px !important;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.ch-comment {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.ch-comment-avatar {
  flex: 0 0 36px;
  margin-top: 2px;
}

.ch-comment-avatar img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: block;
}

.ch-comment-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.ch-comment-bubble,
.ch-comment-depth-1 .ch-comment-bubble,
.ch-comment-depth-2 .ch-comment-bubble,
.ch-comment-depth-3 .ch-comment-bubble {
  display: inline-block;
  width: fit-content;
  max-width: min(100%, 620px);
  background: #ffffff !important;
  border: 1px solid #dde3ea;
  border-radius: 18px;
  padding: 9px 12px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.035);
}

.ch-comment-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.ch-comment-identity {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  min-width: 0;
}

.ch-comment-name,
.ch-comment-name-link {
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  color: #111827;
  text-decoration: none;
}

.ch-comment-name-link:hover {
  text-decoration: underline;
}

.ch-comment-dot,
.ch-comment-time {
  font-size: 12px;
  color: #6b7280;
  font-weight: 600;
  opacity: 1;
}

.ch-comment-text {
  font-size: 14px;
  line-height: 1.5;
  color: #111827;
  word-wrap: break-word;
  white-space: pre-wrap;
}

.ch-comment-actions,
.ch-comment-bubble .ch-comment-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  margin-top: 7px;
  margin-left: 0 !important;
  padding-left: 0 !important;
  width: auto !important;
  align-self: flex-start !important;
}

.ch-comment-bubble .ch-comment-actions .ch-reaction-trigger,
.ch-comment-bubble .ch-comment-actions .ch-comment-like,
.ch-comment-bubble .ch-comment-actions .ch-reply-toggle,
.ch-comment-actions .ch-reaction-trigger,
.ch-comment-actions .ch-comment-like,
.ch-comment-actions .ch-reply-toggle {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-width: 0 !important;
  height: auto !important;
  border-radius: 0 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  color: #6b7280 !important;
  line-height: 1.2 !important;
  cursor: pointer;
}

.ch-comment-bubble .ch-comment-actions .ch-reaction-trigger.is-liked,
.ch-comment-actions .ch-reaction-trigger.is-liked {
  color: #2563eb !important;
}

.ch-comment-bubble .ch-comment-actions .ch-reaction-icon-img,
.ch-comment-bubble .ch-comment-actions .ch-reaction-emoji,
.ch-comment-actions .ch-reaction-icon-img,
.ch-comment-actions .ch-reaction-emoji {
  margin-left: 0 !important;
  margin-right: 4px !important;
  width: 15px !important;
  height: 15px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
}

.ch-comment-actions .ch-reaction-count {
  font-size: 12px;
  opacity: 0.7;
}

.ch-reply-form,
.ch-edit-form {
  margin-top: 10px;
  margin-left: 2px;
  max-width: 520px;
}

.ch-edit-form[hidden] {
  display: none !important;
}

.ch-reply-actions,
.ch-edit-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
}

.ch-reply-cancel,
.ch-edit-cancel {
  border: 0;
  background: transparent;
  color: #6b7280;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  padding: 8px 4px;
}

.ch-reply-cancel:hover,
.ch-edit-cancel:hover {
  color: #111827;
  text-decoration: underline;
}

.ch-reply-error,
.ch-edit-error {
  margin-top: 8px;
  font-size: 12px;
  font-weight: 600;
  color: #b91c1c;
}

.ch-comment-children {
  margin-top: 8px !important;
  padding-left: 18px;
  padding-bottom: 0 !important;
  border-left: 2px solid rgba(219, 227, 236, 0.9);
  visibility: hidden;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.ch-comment-children:empty {
  display: none !important;
}

.ch-comment-children.ch-children-ready {
  visibility: visible;
}

.ch-comment-children .ch-comment-thread {
  margin-bottom: 8px !important;
}

.ch-comment-depth-1,
.ch-comment-depth-2,
.ch-comment-depth-3 {
  margin-left: 14px;
}

.ch-comment-depth-1 .ch-comment-avatar,
.ch-comment-depth-2 .ch-comment-avatar,
.ch-comment-depth-3 .ch-comment-avatar {
  flex: 0 0 32px;
}

.ch-comment-depth-1 .ch-comment-avatar img,
.ch-comment-depth-2 .ch-comment-avatar img,
.ch-comment-depth-3 .ch-comment-avatar img {
  width: 32px;
  height: 32px;
}

.ch-top-comment-hidden,
.ch-reply-hidden-extra {
  display: none !important;
}

.ch-comment-thread:not(.ch-top-comment-hidden):not(.ch-reply-hidden-extra) {
  display: block !important;
}

.ch-comment-thread.ch-animating-in {
  opacity: 0;
  transform: translateY(4px);
}

.ch-comment-thread.ch-animating-out {
  opacity: 0;
  transform: translateY(-3px);
  pointer-events: none;
}

/* Comment menu */

.ch-comment-menu {
  position: relative;
  margin-left: 8px;
  opacity: 0;
  transition: opacity 0.15s ease;
}

.ch-comment:hover .ch-comment-menu {
  opacity: 1;
}

.ch-comment-menu-toggle {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 0;
  background: transparent;
  color: #6b7280;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.ch-comment-menu-toggle:hover {
  background: #f3f4f6;
  color: #111827;
}

.ch-comment-menu-dropdown {
  position: absolute;
  right: 0;
  top: 36px;
  z-index: 9999;
  min-width: 140px;
  padding: 6px;
  border: 1px solid #d1d5db;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.16);
}

.ch-comment-menu-dropdown button {
  display: block;
  width: 100%;
  border: 0;
  background: transparent;
  color: #111827;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}

.ch-comment-menu-dropdown button:hover {
  background: #f3f4f6;
}

.ch-comment-menu-dropdown .ch-delete-comment {
  color: #dc2626;
}

.ch-comment-menu-dropdown .ch-delete-comment:hover {
  background: rgba(220, 38, 38, 0.08);
}

/* View more / reply toggles */

.ch-toggle-replies {
  background: transparent !important;
  color: #2563eb !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-top: 4px !important;
  margin-bottom: 6px !important;
  width: auto !important;
  min-height: 0 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
  cursor: pointer;
}

.ch-toggle-replies:hover {
  text-decoration: underline;
}

.ch-toggle-top-comments {
  display: block !important;
  width: 100% !important;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  border: 1px solid #bfdbfe !important;
  border-radius: 10px !important;
  padding: 11px 14px !important;
  margin: 14px 0 0 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-align: center !important;
  box-shadow: none !important;
  cursor: pointer;
}

.ch-toggle-top-comments::before {
  display: none !important;
}

.ch-toggle-top-comments:hover {
  background: #dbeafe !important;
}

/* Keep existing comments visible; hide only write box until clicking Comment */

body .ch-feed:not(.ch-single-post) .ch-activity-card .ch-activity-comments {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  margin-top: 8px;
}

body .ch-feed:not(.ch-single-post) .ch-activity-card:not(.ch-comments-open) .ch-comments-box,
body .ch-feed:not(.ch-single-post) .ch-activity-card:not(.ch-comments-open) .ch-comments-list,
body .ch-feed:not(.ch-single-post) .ch-activity-card:not(.ch-comments-open) .ch-comment-thread {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body .ch-feed:not(.ch-single-post) .ch-activity-card:not(.ch-comments-open) .ch-comment-form {
  display: none !important;
}

body .ch-feed:not(.ch-single-post) .ch-activity-card.ch-comments-open .ch-comment-form,
body .ch-single-post .ch-comment-form {
  display: block !important;
}

.ch-feed:not(.ch-single-post) .ch-activity-card:not(.ch-comments-open) .ch-comments-box {
  border-top: 0 !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.ch-feed:not(.ch-single-post) .ch-activity-card:not(.ch-comments-open) .ch-comments-list:has(.ch-comment-thread) {
  margin-top: 12px !important;
}

.ch-feed:not(.ch-single-post) .ch-activity-card.ch-comments-open .ch-comments-box {
  border-top: 1px solid #dbe3ec !important;
  padding-top: 16px !important;
  margin-top: 16px !important;
}

/* -------------------------
   Repost / Quote embedded cards
   ------------------------- */

.ch-activity-card-repost .ch-activity-content,
.ch-feed .ch-activity-card-repost .ch-activity-content {
  display: block !important;
  text-align: left !important;
  margin-bottom: 12px;
}

.ch-repost-card,
.ch-repost-card-quote,
.ch-repost-card-repost {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ch-repost-context {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  margin: 0 0 10px;
  color: #64748b;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-align: left !important;
}

.ch-repost-context-icon {
  font-size: 14px;
  line-height: 1;
}

.ch-quote-text {
  display: block !important;
  width: 100% !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: #111827 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  text-align: left !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
}

.ch-repost-embed {
  display: block !important;
  width: 100% !important;
  color: inherit !important;
  text-decoration: none !important;
  text-align: left !important;
  border: 1px solid #d5dde8 !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.ch-repost-embed:hover {
  color: inherit !important;
  text-decoration: none !important;
  border-color: #c6d2e0 !important;
  background: #fbfdff !important;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06) !important;
}

.ch-repost-embed-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  padding: 14px 14px 0 !important;
  text-align: left !important;
}

.ch-repost-embed-avatar {
  flex: 0 0 36px !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 999px !important;
  overflow: hidden !important;
}

.ch-repost-embed-avatar img {
  width: 36px !important;
  height: 36px !important;
  border-radius: 999px !important;
  display: block !important;
}

.ch-repost-embed-user {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-width: 0 !important;
  text-align: left !important;
}

.ch-repost-embed-name-row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  text-align: left !important;
}

.ch-repost-embed-name {
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.ch-repost-embed-time {
  margin-top: 2px !important;
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

.ch-repost-embed-text {
  display: block !important;
  padding: 10px 14px 14px !important;
  color: #111827 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  text-align: left !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
}

.ch-repost-embed-media {
  margin: 0 !important;
  border-top: 1px solid #e5eaf0 !important;
  background: #f8fafc !important;
}

.ch-repost-embed-media img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 460px !important;
  object-fit: cover !important;
}

.ch-repost-missing,
.ch-repost-embed-missing {
  border: 1px dashed #cbd5e1;
  border-radius: 14px;
  padding: 12px 14px;
  background: #f8fafc;
  color: #64748b;
  font-size: 13px;
  font-weight: 600;
  text-align: left;
}

/* -------------------------
   Repost / Quote modal
   ------------------------- */

body.ch-repost-modal-open {
  overflow: hidden;
}

.ch-repost-modal[hidden] {
  display: none !important;
}

.ch-repost-modal {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: grid;
  place-items: center;
  padding: 18px;
}

.ch-repost-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.56);
  backdrop-filter: blur(3px);
}

.ch-repost-modal-panel {
  position: relative;
  width: min(520px, calc(100vw - 24px));
  max-height: calc(100vh - 36px);
  overflow: hidden;
  background: #ffffff;
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.35);
  border: 1px solid rgba(226, 232, 240, 0.9);
  display: flex;
  flex-direction: column;
}

.ch-repost-modal-header,
.ch-quote-modal-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 54px 16px 18px;
  border-bottom: 1px solid #edf2f7;
  color: #111827;
  font-size: 16px;
}

.ch-repost-modal-close,
.ch-quote-modal-close,
.ch-repost-close,
.ch-quote-close {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #64748b !important;
  font-size: 24px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  position: absolute;
  top: 12px;
  right: 12px;
}

.ch-repost-modal-close:hover,
.ch-quote-modal-close:hover,
.ch-repost-close:hover,
.ch-quote-close:hover {
  background: rgba(15, 23, 42, 0.06) !important;
  color: #111827 !important;
}

.ch-repost-modal-body {
  padding: 16px 18px;
  overflow-y: auto;
}

.ch-repost-modal-label {
  display: block;
  font-size: 13px;
  font-weight: 800;
  color: #475569;
  margin-bottom: 8px;
}

.ch-repost-modal-textarea {
  width: 100%;
  min-height: 112px;
  resize: vertical;
  border: 1px solid #dbe3ec;
  border-radius: 16px;
  padding: 12px 14px;
  font-size: 15px;
  line-height: 1.45;
  color: #111827;
  background: #ffffff;
  outline: none;
}

.ch-repost-original-preview {
  margin-top: 14px;
  border: 1px solid #dbe3ec;
  border-radius: 16px;
  background: #f8fafc;
  padding: 13px;
}

.ch-repost-original-label {
  font-size: 12px;
  font-weight: 900;
  color: #64748b;
  margin-bottom: 7px;
}

.ch-repost-original-content {
  font-size: 14px;
  line-height: 1.45;
  color: #111827;
}

.ch-repost-modal-error {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #fef2f2;
  color: #991b1b;
  font-size: 13px;
  font-weight: 700;
}

.ch-repost-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 18px 16px;
  border-top: 1px solid #edf2f7;
}

.ch-repost-modal-secondary,
.ch-repost-modal-primary {
  border: 0;
  border-radius: 999px;
  padding: 9px 15px;
  font-weight: 800;
  font-size: 14px;
  cursor: pointer;
}

.ch-repost-modal-secondary {
  background: #f1f5f9;
  color: #334155;
}

.ch-repost-modal-secondary:hover {
  background: #e2e8f0;
}

.ch-repost-modal-primary {
  background: #2563eb;
  color: #ffffff;
}

.ch-repost-modal-primary:hover {
  background: #1d4ed8;
}

.ch-repost-modal-primary:disabled,
.ch-repost-modal-textarea:disabled {
  opacity: 0.65;
  cursor: wait;
}

/* -------------------------
   Notification bell
   ------------------------- */

.ch-notification-bell {
  position: relative;
  display: inline-flex;
  align-items: center;
  z-index: 50;
}

.ch-notification-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid #dbe3ec;
  background: #ffffff;
  color: #1f2937;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
}

.ch-notification-button:hover,
.ch-notification-bell.is-open .ch-notification-button {
  background: #f8fafc;
  border-color: #cbd5e1;
}

.ch-notification-icon { line-height: 1; }

.ch-notification-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 19px;
  height: 19px;
  padding: 0 6px;
  border-radius: 999px;
  background: #ef4444;
  color: #ffffff;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
}

.ch-notification-dropdown {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(360px, calc(100vw - 24px));
  background: #ffffff;
  border: 1px solid #dbe3ec;
  border-radius: 16px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.18);
  overflow: hidden;
  z-index: 999999;
}

.ch-notification-dropdown-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 13px 14px;
  border-bottom: 1px solid #edf2f7;
  color: #111827;
}

.ch-notification-mark-read {
  border: 0;
  background: transparent;
  color: #2563eb;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  padding: 4px;
}

.ch-notification-list {
  max-height: 360px;
  overflow-y: auto;
}

.ch-notification-item {
  display: flex;
  gap: 10px;
  padding: 12px 14px;
  color: #111827;
  text-decoration: none;
  border-bottom: 1px solid #f1f5f9;
  background: #ffffff;
}

.ch-notification-item:hover {
  background: #f8fafc;
  color: #111827;
}

.ch-notification-item.is-new {
  background: #eff6ff;
}

.ch-notification-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: transparent;
  flex: 0 0 auto;
  margin-top: 6px;
}

.ch-notification-item.is-new .ch-notification-dot {
  background: #2563eb;
}

.ch-notification-content {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.ch-notification-text {
  font-size: 13px;
  line-height: 1.35;
  font-weight: 700;
}

.ch-notification-date {
  font-size: 12px;
  color: #64748b;
}

.ch-notification-empty {
  padding: 18px 14px;
  color: #64748b;
  font-size: 13px;
}

/* -------------------------
   Bookmarks
   ------------------------- */

.ch-bookmark-button { position: relative; }

.ch-bookmark-button.is-saved {
  color: #2563eb !important;
  font-weight: 800;
}

.ch-bookmark-button.is-saved::before { content: "✓ "; }

.ch-bookmark-button:disabled {
  opacity: 0.7;
  cursor: wait;
}

.ch-bookmarks-page {
  max-width: 760px;
  margin: 0 auto;
}

.ch-bookmarks-header,
.ch-bookmarks-empty {
  background: #ffffff;
  border: 1px solid #dbe3ec;
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}

.ch-bookmarks-header {
  margin-bottom: 16px;
}

.ch-bookmarks-header h2 {
  margin: 0 0 4px;
  font-size: 22px;
  line-height: 1.2;
  color: #111827;
}

.ch-bookmarks-header p,
.ch-bookmarks-empty {
  margin: 0;
  color: #64748b;
  font-size: 14px;
}

.ch-bookmarks-empty {
  max-width: 760px;
  margin: 20px auto;
  padding: 20px;
}

.ch-bookmark-view-link {
  display: inline-flex;
  margin-top: 10px;
  font-weight: 700;
  text-decoration: none;
}

/* -------------------------
   Loaders, highlights, misc
   ------------------------- */

.ch-feed-loader {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  max-width: 760px;
  margin: 0 auto;
  padding: 14px 0 18px;
  color: #64748b;
  font-size: 13px;
  font-weight: 700;
}

.ch-feed-loader[hidden],
.ch-feed-end[hidden] {
  display: none !important;
}

.ch-feed-loader::before,
.ch-feed-loader::after {
  content: none !important;
  display: none !important;
}

.ch-feed-spinner {
  display: inline-block !important;
  width: 18px;
  height: 18px;
  border: 2px solid #dbeafe;
  border-top-color: #2563eb;
  border-radius: 999px;
  animation: chSpin 0.75s linear infinite;
}

.ch-feed-loader-text { display: inline !important; }

.ch-feed-end {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
  color: #64748b;
  font-size: 13px;
  font-weight: 700;
  padding: 18px;
}

@keyframes chSpin { to { transform: rotate(360deg); } }

.ch-activity-card.ch-live-updated {
  animation: chLiveUpdatedPulse 0.85s ease;
}

@keyframes chLiveUpdatedPulse {
  0% { box-shadow: 0 0 0 rgba(37, 99, 235, 0); }
  35% { box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12); }
  100% { box-shadow: 0 0 0 rgba(37, 99, 235, 0); }
}

.ch-focus-highlight {
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.35);
  transition: box-shadow 0.2s ease;
}

.ch-deep-link-highlight {
  animation: chDeepLinkPulse 2.4s ease;
}

@keyframes chDeepLinkPulse {
  0% { box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.45); transform: scale(1); }
  18% { box-shadow: 0 0 0 5px rgba(37, 99, 235, 0.22); transform: scale(1.01); }
  100% { box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06); transform: scale(1); }
}

/* -------------------------
   BuddyBoss/activity page compatibility
   ------------------------- */

.activity-list .activity-meta,
.buddypress-wrap .activity-meta,
.activity-list .acomment-options,
.buddypress-wrap .acomment-options,
.activity-list .activity-item.ch-wrapped .activity-meta,
.buddypress-wrap .activity-item.ch-wrapped .activity-meta {
  display: none !important;
}

.activity-list .activity-item.ch-wrapped .ch-action-row,
.buddypress-wrap .activity-item.ch-wrapped .ch-action-row {
  display: flex !important;
}

.activity-list .ch-action-row,
.buddypress-wrap .ch-action-row {
  border-top-color: rgba(255, 255, 255, 0.14) !important;
  border-bottom-color: rgba(255, 255, 255, 0.14) !important;
}

.activity-list .ch-action-button,
.buddypress-wrap .ch-action-button,
.activity-list .ch-comment-time,
.activity-list .ch-comment-meta,
.activity-list .ch-comment-meta a,
.activity-list .ch-toggle-replies,
.buddypress-wrap .ch-comment-time,
.buddypress-wrap .ch-comment-meta,
.buddypress-wrap .ch-comment-meta a,
.buddypress-wrap .ch-toggle-replies {
  color: #ffffff !important;
}

.activity-list .ch-action-button:hover,
.buddypress-wrap .ch-action-button:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

/* -------------------------
   Mobile
   ------------------------- */

@media (max-width: 640px) {
  .ch-feed {
    max-width: 100%;
    padding-left: 10px;
    padding-right: 10px;
  }

  .ch-feed .ch-activity-card {
    border-radius: 14px;
    padding: 12px !important;
    margin-bottom: 14px;
  }

  .ch-feed .ch-activity-header {
    align-items: flex-start;
    gap: 8px;
  }

  .ch-activity-user-block {
    display: block;
  }

  .ch-activity-name-row {
    gap: 4px;
  }

  .ch-feed .ch-activity-name {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .ch-member-type {
    max-width: 120px;
  }

  .ch-post-time {
    display: block;
    margin-left: 0;
    margin-top: 3px;
    max-width: 100%;
    white-space: normal;
  }

  .ch-action-row {
    justify-content: space-between;
    gap: 4px;
    overflow-x: auto;
  }

  .ch-action-button {
    padding: 8px 7px;
    font-size: 12px;
    flex: 0 0 auto;
  }

  .ch-comment {
    gap: 7px;
  }

  .ch-comment-avatar {
    flex: 0 0 30px;
  }

  .ch-comment-avatar img {
    width: 30px;
    height: 30px;
  }

  .ch-comment-main {
    min-width: 0;
    max-width: calc(100% - 37px);
  }

  .ch-comment-bubble {
    max-width: 100%;
    width: auto;
    padding: 9px 11px !important;
    border-radius: 15px;
  }

  .ch-comment-head {
    align-items: flex-start;
    gap: 6px;
  }

  .ch-comment-identity {
    flex: 1;
    min-width: 0;
    gap: 3px;
  }

  .ch-comment-name-link {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .ch-comment-dot,
  .ch-comment-time {
    white-space: nowrap;
  }

  .ch-comment-text {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .ch-comment-menu {
    flex: 0 0 auto;
    opacity: 1;
  }

  .ch-comment-menu-toggle {
    width: 28px;
    height: 28px;
  }

  .ch-comment-actions {
    flex-wrap: wrap;
    gap: 10px;
  }

  .ch-comment-children {
    margin-top: 8px !important;
    padding-left: 8px !important;
    border-left: 2px solid rgba(219, 227, 236, 0.8);
  }

  .ch-comment-depth-1,
  .ch-comment-depth-2,
  .ch-comment-depth-3 {
    margin-left: 0 !important;
  }

  .ch-comment-depth-1 .ch-comment-avatar,
  .ch-comment-depth-2 .ch-comment-avatar,
  .ch-comment-depth-3 .ch-comment-avatar {
    flex: 0 0 28px;
  }

  .ch-comment-depth-1 .ch-comment-avatar img,
  .ch-comment-depth-2 .ch-comment-avatar img,
  .ch-comment-depth-3 .ch-comment-avatar img {
    width: 28px;
    height: 28px;
  }

  .ch-comment-depth-2 .ch-comment-children,
  .ch-comment-depth-3 .ch-comment-children {
    padding-left: 0 !important;
    border-left: 0 !important;
  }

  .ch-activity-media img {
    max-height: 420px;
  }

  .ch-reaction-users-panel {
    display: none !important;
  }

  body > .ch-reaction-picker.ch-mobile-reaction-picker {
    position: fixed !important;
    display: flex !important;
    z-index: 2147483647 !important;
    background: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    max-width: calc(100vw - 20px) !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    box-shadow: 0 12px 34px rgba(15, 23, 42, 0.28) !important;
  }

  body > .ch-reaction-picker.ch-mobile-reaction-picker:not(.ch-mobile-picker-open) {
    display: none !important;
  }

  .ch-comment-reaction-wrap:hover .ch-reaction-picker {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .ch-comment-reaction-wrap.is-picker-open .ch-reaction-picker {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 999999 !important;
  }

  .ch-notification-label {
    display: none;
  }

  .ch-notification-button {
    padding: 8px 10px;
  }

  .ch-notification-dropdown {
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100vw - 24px);
  }

  .ch-repost-embed {
    border-radius: 14px !important;
  }

  .ch-repost-embed-media img {
    max-height: 360px !important;
  }

  .ch-repost-modal {
    align-items: end;
    padding: 0;
  }

  .ch-repost-modal-panel {
    width: 100%;
    max-height: calc(100vh - 34px);
    border-radius: 22px 22px 0 0;
  }

  .ch-repost-modal-actions {
    padding-bottom: max(16px, env(safe-area-inset-bottom));
  }
}

/* =========================================================
   STABLE FINAL: QUOTES, POST MENU, REPLY TOGGLES + GUIDE LINES
   ========================================================= */

.ch-feed .ch-activity-card-repost .ch-activity-content,
.ch-feed .ch-activity-card-repost .ch-repost-card,
.ch-feed .ch-activity-card-repost .ch-quote-text,
.ch-feed .ch-activity-card-repost .ch-repost-embed-text {
  text-align: left !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

.ch-post-menu-toggle,
.ch-post-menu-toggle:hover,
.ch-post-menu-toggle:focus {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.ch-post-menu-toggle:hover,
.ch-post-menu-toggle:focus {
  color: #2563eb !important;
}

/* Only children wrappers own the View/Hide replies controls now. */
.ch-comment-main > .ch-toggle-replies {
  display: none !important;
}

.ch-feed .ch-comment-children > .ch-toggle-replies {
  display: block !important;
  width: fit-content !important;
  min-height: 0 !important;
  margin: 8px 0 8px 68px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #2563eb !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: left !important;
}

/* Guide lines are drawn per visible child thread, not on the whole column. */
.ch-comment-children {
  position: relative !important;
  border-left: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.ch-comment-children::before,
.ch-comment-children::after,
.ch-comment-children > .ch-comment-thread::after {
  content: none !important;
  display: none !important;
}

.ch-comment-children > .ch-comment-thread {
  position: relative !important;
  margin-bottom: 12px !important;
}

.ch-comment-children > .ch-comment-thread:not(.ch-reply-hidden-extra)::before {
  content: "" !important;
  position: absolute !important;
  left: -18px !important;
  top: 0 !important;
  bottom: -12px !important;
  width: 2px !important;
  background: rgba(219, 227, 236, 0.9) !important;
  border-radius: 2px !important;
  pointer-events: none !important;
}

.ch-comment-children > .ch-comment-thread:not(.ch-reply-hidden-extra):last-of-type::before {
  bottom: 0 !important;
}

.ch-comment-children > .ch-comment-thread.ch-reply-hidden-extra::before {
  display: none !important;
}

.ch-comment-children > .ch-comment-thread:last-child {
  margin-bottom: 0 !important;
}

@media (max-width: 640px) {
  .ch-feed .ch-comment-children > .ch-toggle-replies {
    margin-left: 54px !important;
  }

  .ch-comment-children > .ch-comment-thread:not(.ch-reply-hidden-extra)::before {
    left: -10px !important;
  }
}



/* =========================================================
   POST CONTENT SPACING
   ========================================================= */

.ch-feed .ch-activity-content {
  padding-left: 12px !important;
  padding-right: 12px !important;
  margin-top: 8px !important;
  margin-bottom: 14px !important;
}

/* Keep repost/quote embedded cards aligned nicely inside the padded content */
.ch-feed .ch-activity-card-repost .ch-activity-content {
  padding-left: 12px !important;
  padding-right: 12px !important;
}

/* Media should still go full card width, not look squeezed */
.ch-feed .ch-activity-media {
  margin-left: 0 !important;
  margin-right: 0 !important;
}



/* =========================================================
   POST + COMMENT TEXT BREATHING ROOM
   ========================================================= */

/* Normal post text */
.ch-feed .ch-activity-content {
  padding-top: 8px !important;
  padding-bottom: 10px !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  margin-bottom: 12px !important;
}

/* Comment text inside bubbles */
.ch-feed .ch-comment-text {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

/* Keep comment action buttons close, but not cramped */
.ch-feed .ch-comment-actions {
  margin-top: 6px !important;
}

/* Quote/repost text should get the same comfortable spacing */
.ch-feed .ch-activity-card-repost .ch-activity-content {
  padding-top: 8px !important;
  padding-bottom: 10px !important;
}

.ch-feed .ch-quote-text,
.ch-feed .ch-repost-embed-text {
  padding-top: 6px !important;
  padding-bottom: 8px !important;
}



/* =========================================================
   FINAL POLISH: CLEAN POST + COMMENT TEXT SPACING
   ========================================================= */

/* Post content should breathe without looking indented weird */
.ch-feed .ch-activity-content {
  padding: 4px 0 12px 0 !important;
  margin: 0 !important;
  color: #111827 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  text-align: left !important;
}

/* Add horizontal breathing room only when the post has plain text */
.ch-feed .ch-activity-card > .ch-activity-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Post media should sit naturally under text */
.ch-feed .ch-activity-media {
  margin-top: 4px !important;
  margin-bottom: 12px !important;
}

/* Comment bubbles should own the padding, not the text */
.ch-feed .ch-comment-bubble {
  padding: 10px 13px !important;
}

/* Comment text itself should not have extra uneven padding */
.ch-feed .ch-comment-text {
  padding: 0 !important;
  margin: 6px 0 0 0 !important;
  color: #111827 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

/* If comment text is directly after the header, keep it clean */
.ch-feed .ch-comment-head + .ch-comment-text {
  margin-top: 6px !important;
}

/* Comment actions should sit close but not cramped */
.ch-feed .ch-comment-actions {
  margin-top: 7px !important;
  padding: 0 !important;
}

/* Quote/repost card content should not inherit weird text padding */
.ch-feed .ch-activity-card-repost .ch-activity-content {
  padding: 4px 0 12px 0 !important;
  margin: 0 !important;
}

/* Quote text should look like normal post text */
.ch-feed .ch-quote-text {
  padding: 0 !important;
  margin: 0 0 10px 0 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
}

/* Embedded repost text should have its own card padding */
.ch-feed .ch-repost-embed-text {
  padding: 10px 14px 14px 14px !important;
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}



/* =========================================================
   MEMBER TYPE BADGE POLISH
   ========================================================= */

.ch-feed .ch-member-type {
  display: inline-flex !important;
  align-items: center !important;
  max-width: 150px !important;
  padding: 2px 6px !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  vertical-align: middle !important;
}

/* Softer fallback color until we hook into your real profile badge colors */
.ch-feed .ch-member-type {
  color: var(--ch-member-type-text, #2563eb) !important;
  background: var(--ch-member-type-bg, rgba(37, 99, 235, 0.08)) !important;
}



/* =========================================================
   LINK DETECTION / BLUE LINKS
   ========================================================= */

.ch-feed .ch-activity-content a,
.ch-feed .ch-comment-text a,
.ch-feed .ch-quote-text a,
.ch-feed .ch-repost-embed-text a {
  color: #2563eb !important;
  font-weight: 700;
  text-decoration: none;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ch-feed .ch-activity-content a:hover,
.ch-feed .ch-comment-text a:hover,
.ch-feed .ch-quote-text a:hover,
.ch-feed .ch-repost-embed-text a:hover {
  text-decoration: underline;
}



/* =========================================================
   LINK DETECTION / BLUE LINKS
   ========================================================= */

.ch-feed .ch-activity-content a,
.ch-feed .ch-comment-text a,
.ch-feed .ch-quote-text a,
.ch-feed .ch-repost-embed-text a {
  color: #2563eb !important;
  font-weight: 700;
  text-decoration: none;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ch-feed .ch-activity-content a:hover,
.ch-feed .ch-comment-text a:hover,
.ch-feed .ch-quote-text a:hover,
.ch-feed .ch-repost-embed-text a:hover {
  text-decoration: underline;
}



/* =========================================================
   LINK PREVIEW CARDS
   ========================================================= */

.ch-link-preview-card {
  display: block;
  margin: 10px 0 12px;
  border: 1px solid #dbe3ec;
  border-radius: 16px;
  background: #ffffff;
  color: #111827 !important;
  overflow: hidden;
  text-decoration: none !important;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.ch-link-preview-card:hover {
  color: #111827 !important;
  text-decoration: none !important;
  border-color: #cbd5e1;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
  background: #fbfdff;
}

.ch-link-preview-image {
  display: block;
  background: #f8fafc;
  border-bottom: 1px solid #e5eaf0;
}

.ch-link-preview-image img {
  display: block;
  width: 100%;
  max-height: 360px;
  object-fit: cover;
}

.ch-link-preview-body {
  display: grid;
  gap: 5px;
  padding: 12px 14px 14px;
}

.ch-link-preview-site {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.ch-link-preview-title {
  color: #111827;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.25;
}

.ch-link-preview-description {
  color: #475569;
  font-size: 13px;
  line-height: 1.4;
}

.ch-repost-embed .ch-link-preview-card {
  margin: 0 12px 12px;
  border-radius: 14px;
}

.ch-repost-embed .ch-link-preview-image img {
  max-height: 260px;
}

@media (max-width: 640px) {
  .ch-link-preview-card {
    border-radius: 14px;
  }

  .ch-link-preview-image img {
    max-height: 260px;
  }
}



/* =========================================================
   FIX QUOTE / REPOST EMBEDDED LINK PREVIEWS
   ========================================================= */

.ch-repost-embed {
  display: block !important;
  width: 100% !important;
  color: inherit !important;
  text-decoration: none !important;
  text-align: left !important;
  border: 1px solid #d5dde8 !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ch-repost-embed-main {
  display: block !important;
  color: inherit !important;
  text-decoration: none !important;
}

.ch-repost-embed-main:hover {
  color: inherit !important;
  text-decoration: none !important;
}

.ch-repost-embed .ch-link-preview-card {
  margin: 0 12px 12px !important;
  border-radius: 14px !important;
}

.ch-repost-embed .ch-link-preview-image img {
  max-height: 260px !important;
}

.ch-repost-embed .ch-activity-media,
.ch-repost-embed-media {
  margin: 0 !important;
  border-top: 1px solid #e5eaf0 !important;
}

.ch-repost-view-original {
  display: inline-flex !important;
  width: fit-content !important;
  margin: 0 12px 12px !important;
  color: #2563eb !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.ch-repost-view-original:hover {
  text-decoration: underline !important;
}




/* =========================================================
   MENTIONS
   ========================================================= */

.ch-feed .ch-mention {
  color: #2563eb !important;
  font-weight: 800;
  text-decoration: none;
}

.ch-feed .ch-mention:hover {
  text-decoration: underline;
}



/* =========================================================
   MENTION AUTOCOMPLETE
   ========================================================= */

.ch-mention-dropdown {
  position: absolute;
  z-index: 2147483647;
  background: #ffffff;
  border: 1px solid #dbe3ec;
  border-radius: 14px;
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.22);
  overflow: hidden;
  max-height: 280px;
  overflow-y: auto;
}

.ch-mention-dropdown[hidden] {
  display: none !important;
}

.ch-mention-option {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 10px;
  border: 0;
  background: #ffffff;
  color: #111827;
  cursor: pointer;
  text-align: left;
}

.ch-mention-option:hover,
.ch-mention-option.is-selected {
  background: #eff6ff;
}

.ch-mention-option-avatar {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  overflow: hidden;
  background: #f1f5f9;
  flex: 0 0 auto;
}

.ch-mention-option-avatar img {
  width: 34px;
  height: 34px;
  display: block;
  border-radius: 999px;
}

.ch-mention-option-text {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.ch-mention-option-text strong {
  color: #111827;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
}

.ch-mention-option-text small {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}



/* =========================================================
   DESKTOP REACTION PICKER STABILITY
   ========================================================= */

@media (min-width: 769px) {
  .ch-comment-reaction-wrap {
    position: relative;
  }

  .ch-comment-reaction-wrap::before {
    content: "";
    position: absolute;
    left: -12px;
    right: -12px;
    top: -56px;
    height: 64px;
    pointer-events: auto;
  }

  .ch-comment-reaction-wrap:hover .ch-reaction-picker,
  .ch-comment-reaction-wrap:focus-within .ch-reaction-picker,
  .ch-reaction-picker:hover {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .ch-reaction-picker {
    pointer-events: auto !important;
  }
}



/* =========================================================
   ACTION BUTTON POLISH: LIKE / REACTION BUTTON
   ========================================================= */

.ch-action-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ch-action-button,
.ch-reaction-trigger {
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  background: #f8fafc !important;
  color: #334155 !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  transition:
    background 0.16s ease,
    border-color 0.16s ease,
    color 0.16s ease,
    box-shadow 0.16s ease,
    transform 0.12s ease;
}

.ch-action-button:hover,
.ch-reaction-trigger:hover {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
  color: #1d4ed8 !important;
  box-shadow: 0 5px 14px rgba(37, 99, 235, 0.10) !important;
}

.ch-action-button:active,
.ch-reaction-trigger:active {
  transform: scale(0.97);
}

/* Reacted state */
.ch-reaction-trigger.is-liked {
  background: linear-gradient(135deg, #eff6ff, #dbeafe) !important;
  border-color: #93c5fd !important;
  color: #1d4ed8 !important;
  box-shadow: 0 6px 16px rgba(37, 99, 235, 0.14) !important;
}

/* Keep reaction icon from crowding the label */
.ch-reaction-trigger .ch-reaction-emoji,
.ch-reaction-trigger .ch-reaction-icon-img {
  margin-right: 5px !important;
  flex: 0 0 auto;
}

.ch-reaction-trigger .ch-reaction-label {
  white-space: nowrap;
}

.ch-reaction-trigger .ch-reaction-count {
  margin-left: 3px;
  font-size: 11px;
  font-weight: 900;
  opacity: 0.8;
}



/* =========================================================
   ACTION BUTTON POLISH + REPOST COMBO
   ========================================================= */

.ch-action-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ch-action-button,
.ch-reaction-trigger {
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  background: #f8fafc !important;
  color: #334155 !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  transition:
    background 0.16s ease,
    border-color 0.16s ease,
    color 0.16s ease,
    box-shadow 0.16s ease,
    transform 0.12s ease;
}

.ch-action-button:hover,
.ch-reaction-trigger:hover {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
  color: #1d4ed8 !important;
  box-shadow: 0 5px 14px rgba(37, 99, 235, 0.10) !important;
}

.ch-action-button:active,
.ch-reaction-trigger:active {
  transform: scale(0.97);
}

.ch-reaction-trigger.is-liked {
  background: linear-gradient(135deg, #eff6ff, #dbeafe) !important;
  border-color: #93c5fd !important;
  color: #1d4ed8 !important;
  box-shadow: 0 6px 16px rgba(37, 99, 235, 0.14) !important;
}

.ch-reaction-trigger .ch-reaction-emoji,
.ch-reaction-trigger .ch-reaction-icon-img {
  margin-right: 5px !important;
  flex: 0 0 auto;
}

.ch-reaction-trigger .ch-reaction-label {
  white-space: nowrap;
}

.ch-reaction-trigger .ch-reaction-count {
  margin-left: 3px;
  font-size: 11px;
  font-weight: 900;
  opacity: 0.8;
}

.ch-repost-combo-button {
  position: relative;
}

.ch-repost-button-icon {
  margin-right: 5px;
  font-size: 13px;
  line-height: 1;
}

.ch-repost-combo-menu {
  position: fixed;
  z-index: 2147483646;
  width: 180px;
  padding: 7px;
  border-radius: 16px;
  border: 1px solid #dbe3ec;
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.18);
}

.ch-repost-combo-menu[hidden] {
  display: none !important;
}

.ch-repost-combo-option {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  padding: 9px;
  text-align: left;
  cursor: pointer;
}

.ch-repost-combo-option:hover,
.ch-repost-combo-option:focus {
  background: #eff6ff;
}

.ch-repost-combo-option-icon {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #dbeafe;
  color: #1d4ed8;
  flex: 0 0 auto;
}

.ch-repost-combo-option-text {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.ch-repost-combo-option-text strong {
  color: #111827;
  font-size: 13px;
  line-height: 1.2;
}

.ch-repost-combo-option-text small {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}



/* =========================================================
   COMPOSER ATTACH BUTTON CLEANUP
   ========================================================= */

.ch-composer-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 10px !important;
}

.ch-composer-upload {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border: 1px solid #dbe3ec !important;
  border-radius: 999px !important;
  background: #f8fafc !important;
  color: #334155 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  padding: 10px 14px !important;
  cursor: pointer !important;
}

.ch-composer-upload:hover {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
  color: #1d4ed8 !important;
}

.ch-composer-submit {
  margin-left: auto !important;
}

.ch-composer-preview {
  margin-top: 10px !important;
}

.ch-composer-preview-item {
  position: relative !important;
  display: grid !important;
  gap: 8px !important;
  border: 1px solid #dbe3ec !important;
  border-radius: 16px !important;
  background: #f8fafc !important;
  padding: 10px !important;
  overflow: hidden !important;
}

.ch-composer-preview-item img {
  display: block !important;
  width: 100% !important;
  max-height: 360px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
}

.ch-composer-preview-meta {
  display: grid !important;
  gap: 2px !important;
  padding-right: 42px !important;
}

.ch-composer-preview-meta strong {
  color: #111827 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  overflow-wrap: anywhere !important;
}

.ch-composer-preview-meta small {
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.ch-remove-attachment,
.ch-remove-image {
  position: absolute !important;
  right: 10px !important;
  top: 10px !important;
  width: 32px !important;
  height: 32px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(15, 23, 42, 0.78) !important;
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}



/* =========================================================
   FINAL COMPOSER BUTTON ORDER
   Post left, Attach next to it
   ========================================================= */

.ch-composer-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  margin-top: 10px !important;
}

.ch-composer-submit {
  margin-left: 0 !important;
  order: 1 !important;
}

.ch-composer-upload {
  order: 2 !important;
}



/* =========================================================
   FINAL FIX: REACTION PICKER HOVER AREA TOO TALL
   Prevent picker from opening when hovering above Like button
   ========================================================= */

@media (min-width: 769px) {
  .ch-comment-reaction-wrap::before {
    left: -8px !important;
    right: -8px !important;
    top: -14px !important;
    height: 18px !important;
    bottom: auto !important;
    pointer-events: none !important;
  }

  .ch-comment-reaction-wrap:hover .ch-reaction-picker,
  .ch-comment-reaction-wrap:focus-within .ch-reaction-picker,
  .ch-reaction-picker:hover {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .ch-reaction-picker {
    margin-bottom: 2px !important;
  }
}



/* =========================================================
   POST ATTACHMENTS: IMAGES, VIDEOS, FILES
   ========================================================= */

.ch-activity-video,
.ch-repost-embed-video {
  margin: 10px 0 12px !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #0f172a !important;
  border: 1px solid #dbe3ec !important;
}

.ch-activity-video video,
.ch-repost-embed-video video {
  display: block !important;
  width: 100% !important;
  max-height: 520px !important;
  background: #0f172a !important;
}

.ch-repost-embed-video {
  margin: 0 12px 12px !important;
  border-radius: 14px !important;
}

.ch-activity-file,
.ch-repost-embed-file {
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  margin: 10px 0 12px !important;
  padding: 12px 13px !important;
  border: 1px solid #dbe3ec !important;
  border-radius: 16px !important;
  background: #f8fafc !important;
  color: #111827 !important;
  text-decoration: none !important;
  transition: background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.ch-activity-file:hover,
.ch-repost-embed-file:hover {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08) !important;
  text-decoration: none !important;
}

.ch-repost-embed-file {
  margin: 0 12px 12px !important;
  border-radius: 14px !important;
}

.ch-activity-file-icon {
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  background: #dbeafe !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 21px !important;
  flex: 0 0 auto !important;
}

.ch-activity-file-info {
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.ch-activity-file-info strong {
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  overflow-wrap: anywhere !important;
}

.ch-activity-file-info small {
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.ch-activity-file-action {
  color: #2563eb !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  flex: 0 0 auto !important;
}

/* Composer video/file previews */
.ch-composer-preview-video video {
  display: block !important;
  width: 100% !important;
  max-height: 360px !important;
  background: #0f172a !important;
  border-radius: 12px !important;
}

.ch-composer-preview-file {
  grid-template-columns: 46px 1fr 32px !important;
  align-items: center !important;
}

.ch-composer-file-icon {
  width: 46px !important;
  height: 46px !important;
  border-radius: 999px !important;
  background: #dbeafe !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 23px !important;
}



/* =========================================================
   COMMENT ATTACHMENTS: IMAGES, VIDEOS, FILES
   ========================================================= */

.ch-comment-form-actions,
.ch-reply-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 9px !important;
  flex-wrap: wrap !important;
}

.ch-comment-attach-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border: 1px solid #dbe3ec !important;
  border-radius: 999px !important;
  background: #f8fafc !important;
  color: #334155 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  padding: 8px 13px !important;
  cursor: pointer !important;
}

.ch-comment-attach-button:hover {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
  color: #1d4ed8 !important;
}

.ch-comment-attachment-preview {
  margin-top: 9px !important;
}

.ch-comment-attachment-preview-item {
  position: relative !important;
  display: grid !important;
  gap: 6px !important;
  border: 1px solid #dbe3ec !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
  padding: 9px !important;
  overflow: hidden !important;
  max-width: 420px !important;
}

.ch-comment-attachment-preview-image img,
.ch-comment-attachment-preview-video video {
  display: block !important;
  width: 100% !important;
  max-height: 280px !important;
  object-fit: cover !important;
  border-radius: 10px !important;
  background: #0f172a !important;
}

.ch-comment-attachment-preview-file {
  grid-template-columns: 40px 1fr 32px !important;
  align-items: center !important;
}

.ch-comment-attachment-preview-file-icon {
  width: 40px !important;
  height: 40px !important;
  border-radius: 999px !important;
  background: #dbeafe !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
}

.ch-comment-attachment-preview-name {
  color: #111827 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  overflow-wrap: anywhere !important;
  padding-right: 34px !important;
}

.ch-comment-attachment-preview-item small {
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.ch-comment-remove-attachment {
  position: absolute !important;
  right: 8px !important;
  top: 8px !important;
  width: 28px !important;
  height: 28px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(15, 23, 42, 0.78) !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

.ch-comment-attachment {
  margin-top: 8px !important;
}

.ch-comment-attachment-image img {
  display: block !important;
  width: 100% !important;
  max-width: 420px !important;
  max-height: 360px !important;
  object-fit: cover !important;
  border-radius: 13px !important;
  border: 1px solid #dbe3ec !important;
}

.ch-comment-attachment-video {
  max-width: 420px !important;
  border-radius: 13px !important;
  overflow: hidden !important;
  background: #0f172a !important;
  border: 1px solid #dbe3ec !important;
}

.ch-comment-attachment-video video {
  display: block !important;
  width: 100% !important;
  max-height: 360px !important;
  background: #0f172a !important;
}

.ch-comment-attachment-file {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  max-width: 420px !important;
  padding: 10px 11px !important;
  border: 1px solid #dbe3ec !important;
  border-radius: 13px !important;
  background: #f8fafc !important;
  color: #111827 !important;
  text-decoration: none !important;
}

.ch-comment-attachment-file:hover {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
  text-decoration: none !important;
}

.ch-comment-attachment-file-icon {
  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;
  background: #dbeafe !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 19px !important;
  flex: 0 0 auto !important;
}

.ch-comment-attachment-file-info {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.ch-comment-attachment-file-info strong {
  color: #111827 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  overflow-wrap: anywhere !important;
}

.ch-comment-attachment-file-info small {
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.ch-comment-attachment-file-action {
  color: #2563eb !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  flex: 0 0 auto !important;
}



/* =========================================================
   FINAL COMMENT ATTACHMENT UI CLEANUP
   ========================================================= */

.ch-comment-form {
  display: grid !important;
  gap: 9px !important;
}

.ch-comment-form-actions,
.ch-reply-actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 0 !important;
  flex-wrap: wrap !important;
}

.ch-comment-submit,
.ch-reply-submit {
  margin-top: 0 !important;
  border-radius: 999px !important;
  padding: 9px 15px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.ch-comment-attach-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border: 1px solid #dbe3ec !important;
  border-radius: 999px !important;
  background: #f8fafc !important;
  color: #334155 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  padding: 8px 13px !important;
  min-height: 36px !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.ch-comment-attach-button:hover {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
  color: #1d4ed8 !important;
}

.ch-comment-attachment-preview {
  margin-top: 0 !important;
  max-width: 430px !important;
}

.ch-comment-attachment-preview:empty {
  display: none !important;
}

.ch-comment-attachment-preview-item {
  position: relative !important;
  display: grid !important;
  gap: 7px !important;
  max-width: 430px !important;
  border: 1px solid #dbe3ec !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  padding: 9px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
}

.ch-comment-attachment-preview-image img,
.ch-comment-attachment-preview-video video {
  display: block !important;
  width: 100% !important;
  max-height: 260px !important;
  object-fit: cover !important;
  border-radius: 11px !important;
  background: #0f172a !important;
}

.ch-comment-attachment-preview-file {
  grid-template-columns: 42px 1fr 30px !important;
  align-items: center !important;
  gap: 9px !important;
}

.ch-comment-attachment-preview-file-icon {
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  background: #dbeafe !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
}

.ch-comment-attachment-preview-name {
  color: #111827 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  overflow-wrap: anywhere !important;
  padding-right: 34px !important;
}

.ch-comment-attachment-preview-item small {
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.ch-comment-remove-attachment {
  position: absolute !important;
  right: 8px !important;
  top: 8px !important;
  width: 28px !important;
  height: 28px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(15, 23, 42, 0.82) !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

.ch-comment-form-error {
  display: none;
  color: #b91c1c;
  font-size: 13px;
  font-weight: 800;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 12px;
  padding: 9px 11px;
}

.ch-comment-form-error.is-visible {
  display: block;
}



/* =========================================================
   FINAL COMMENT ATTACH BUTTON POLISH
   ========================================================= */

.ch-comment-form-actions,
.ch-reply-actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 8px !important;
  flex-wrap: wrap !important;
}

.ch-comment-submit,
.ch-reply-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #2563eb !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  padding: 9px 15px !important;
  cursor: pointer !important;
  box-shadow: 0 6px 16px rgba(37, 99, 235, 0.18) !important;
  transition:
    background 0.16s ease,
    box-shadow 0.16s ease,
    transform 0.12s ease !important;
}

.ch-comment-submit:hover,
.ch-reply-submit:hover {
  background: #1d4ed8 !important;
  box-shadow: 0 8px 20px rgba(37, 99, 235, 0.24) !important;
}

.ch-comment-submit:active,
.ch-reply-submit:active {
  transform: scale(0.97) !important;
}

.ch-comment-submit.is-busy,
.ch-reply-submit.is-busy,
.ch-comment-submit:disabled,
.ch-reply-submit:disabled {
  opacity: 0.65 !important;
  cursor: not-allowed !important;
}

.ch-comment-attach-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 36px !important;
  border: 1px solid #dbe3ec !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #334155 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  padding: 8px 13px !important;
  cursor: pointer !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
  transition:
    background 0.16s ease,
    border-color 0.16s ease,
    color 0.16s ease,
    box-shadow 0.16s ease,
    transform 0.12s ease !important;
}

.ch-comment-attach-button:hover {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
  color: #1d4ed8 !important;
  box-shadow: 0 6px 16px rgba(37, 99, 235, 0.10) !important;
}

.ch-comment-attach-button:active {
  transform: scale(0.97) !important;
}

.ch-comment-attach-button span:first-child {
  font-size: 14px !important;
  line-height: 1 !important;
}

@media (max-width: 768px) {
  .ch-comment-form-actions,
  .ch-reply-actions {
    gap: 7px !important;
  }

  .ch-comment-submit,
  .ch-reply-submit,
  .ch-comment-attach-button {
    min-height: 34px !important;
    font-size: 12px !important;
    padding: 8px 12px !important;
  }
}



/* =========================================================
   FINAL COMMENT FORM POLISH
   Hide native file input + clean comment attachment layout
   ========================================================= */

/* Hide the ugly native Choose File input completely */
.ch-comment-attachment-input,
.ch-comment-form input[type="file"],
.ch-reply-form input[type="file"],
.ch-js-reply-form input[type="file"] {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  position: absolute !important;
  pointer-events: none !important;
}

/* Cleaner comment composer spacing */
.ch-comment-form,
.ch-reply-form,
.ch-js-reply-form {
  display: grid !important;
  gap: 8px !important;
}

/* Textarea polish */
.ch-comment-textarea,
.ch-reply-textarea {
  width: 100% !important;
  min-height: 74px !important;
  border: 1px solid #dbe3ec !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  color: #111827 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  padding: 12px 14px !important;
  resize: vertical !important;
  outline: none !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
}

.ch-comment-textarea:focus,
.ch-reply-textarea:focus {
  border-color: #2563eb !important;
  box-shadow:
    0 0 0 3px rgba(37, 99, 235, 0.13),
    0 2px 8px rgba(15, 23, 42, 0.04) !important;
}

/* Keep buttons directly below textarea */
.ch-comment-form-actions,
.ch-reply-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  margin-top: 0 !important;
  flex-wrap: wrap !important;
}

/* Blue post buttons */
.ch-comment-submit,
.ch-reply-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #2563eb !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  padding: 10px 16px !important;
  cursor: pointer !important;
  box-shadow: 0 7px 18px rgba(37, 99, 235, 0.20) !important;
}

.ch-comment-submit:hover,
.ch-reply-submit:hover {
  background: #1d4ed8 !important;
  box-shadow: 0 9px 22px rgba(37, 99, 235, 0.25) !important;
}

.ch-comment-submit:active,
.ch-reply-submit:active {
  transform: scale(0.97) !important;
}

/* Clean Attach button */
.ch-comment-attach-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-height: 38px !important;
  border: 1px solid #dbe3ec !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #334155 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  padding: 9px 15px !important;
  cursor: pointer !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05) !important;
}

.ch-comment-attach-button:hover {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
  color: #1d4ed8 !important;
  box-shadow: 0 7px 18px rgba(37, 99, 235, 0.11) !important;
}

.ch-comment-attach-button:active {
  transform: scale(0.97) !important;
}

/* Preview box polish */
.ch-comment-attachment-preview {
  margin-top: 0 !important;
  max-width: 430px !important;
}

.ch-comment-attachment-preview:empty {
  display: none !important;
}

.ch-comment-attachment-preview-item {
  position: relative !important;
  display: grid !important;
  gap: 7px !important;
  max-width: 430px !important;
  border: 1px solid #dbe3ec !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  padding: 9px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06) !important;
}

.ch-comment-attachment-preview-image img,
.ch-comment-attachment-preview-video video {
  display: block !important;
  width: 100% !important;
  max-height: 260px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  background: #0f172a !important;
}

.ch-comment-remove-attachment {
  position: absolute !important;
  right: 9px !important;
  top: 9px !important;
  width: 30px !important;
  height: 30px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(15, 23, 42, 0.82) !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

@media (max-width: 768px) {
  .ch-comment-form,
  .ch-reply-form,
  .ch-js-reply-form {
    gap: 7px !important;
  }

  .ch-comment-textarea,
  .ch-reply-textarea {
    min-height: 70px !important;
    font-size: 13px !important;
    padding: 11px 13px !important;
  }

  .ch-comment-submit,
  .ch-reply-submit,
  .ch-comment-attach-button {
    min-height: 36px !important;
    font-size: 12px !important;
    padding: 9px 13px !important;
  }
}



/* =========================================================
   FINAL COMMENT ATTACHMENT PREVIEW DISPLAY FIX
   ========================================================= */

.ch-comment-attachment-preview:not(:empty) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin-top: 8px !important;
}

.ch-comment-submit.is-busy,
.ch-reply-submit.is-busy {
  position: relative !important;
  opacity: 0.8 !important;
  cursor: wait !important;
  pointer-events: none !important;
}

.ch-comment-submit.is-busy::after,
.ch-reply-submit.is-busy::after {
  content: "";
  width: 12px !important;
  height: 12px !important;
  margin-left: 7px !important;
  border: 2px solid rgba(255, 255, 255, 0.45) !important;
  border-top-color: #ffffff !important;
  border-radius: 999px !important;
  display: inline-block !important;
  animation: chButtonSpin 0.75s linear infinite !important;
}

@keyframes chButtonSpin {
  to {
    transform: rotate(360deg);
  }
}



/* =========================================================
   FINAL FIX: HIDDEN REPLY FORMS + CONSISTENT ATTACH BUTTON
   ========================================================= */

/* Respect hidden forms no matter what earlier CSS says */
.ch-reply-form[hidden],
.ch-edit-form[hidden],
.ch-comment-menu-dropdown[hidden],
.ch-repost-modal[hidden],
.ch-repost-combo-menu[hidden] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Only visible reply forms should use grid */
.ch-reply-form:not([hidden]),
.ch-js-reply-form {
  display: grid !important;
  gap: 8px !important;
}

/* Force every comment/reply attach button to use the same clean style */
.ch-comment-attach-button,
.ch-reply-form .ch-comment-attach-button,
.ch-js-reply-form .ch-comment-attach-button,
.ch-comment-form .ch-comment-attach-button {
  appearance: none !important;
  -webkit-appearance: none !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;

  min-height: 38px !important;
  height: 38px !important;

  border: 1px solid #dbe3ec !important;
  border-radius: 999px !important;

  background: #ffffff !important;
  color: #334155 !important;

  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;

  padding: 9px 15px !important;
  margin: 0 !important;

  cursor: pointer !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05) !important;

  transition:
    background 0.16s ease,
    border-color 0.16s ease,
    color 0.16s ease,
    box-shadow 0.16s ease,
    transform 0.12s ease !important;
}

.ch-comment-attach-button:hover,
.ch-reply-form .ch-comment-attach-button:hover,
.ch-js-reply-form .ch-comment-attach-button:hover,
.ch-comment-form .ch-comment-attach-button:hover {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
  color: #1d4ed8 !important;
  box-shadow: 0 7px 18px rgba(37, 99, 235, 0.11) !important;
}

.ch-comment-attach-button:active {
  transform: scale(0.97) !important;
}

/* Keep native file input gone everywhere */
.ch-comment-attachment-input,
.ch-comment-form input[type="file"],
.ch-reply-form input[type="file"],
.ch-js-reply-form input[type="file"] {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  position: absolute !important;
  pointer-events: none !important;
}

/* Make form action rows consistent */
.ch-comment-form-actions,
.ch-reply-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  margin-top: 8px !important;
  flex-wrap: wrap !important;
}




/* =========================================================
   COMMUNITY HUB PROFILE PAGE
   ========================================================= */

.ch-profile-page,
.ch-profile-page * {
  box-sizing: border-box;
}

.ch-profile-page {
  max-width: 900px;
  margin: 0 auto;
  color: #111827;
}

.ch-profile-card {
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #dbe3ec;
  border-radius: 22px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);
  margin-bottom: 16px;
}

.ch-profile-cover {
  position: relative;
  height: 220px;
  background:
    radial-gradient(circle at 20% 20%, rgba(37, 99, 235, 0.28), transparent 34%),
    linear-gradient(135deg, #0f172a, #1d4ed8 52%, #60a5fa);
  overflow: hidden;
}

.ch-profile-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ch-profile-main {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 18px;
  align-items: start;
  padding: 0 22px 22px;
}

.ch-profile-avatar-wrap {
  margin-top: -58px;
  position: relative;
  z-index: 2;
}

.ch-profile-avatar {
  display: block;
  width: 132px;
  height: 132px;
  border-radius: 999px;
  border: 5px solid #ffffff;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.22);
  overflow: hidden;
}

.ch-profile-avatar img {
  width: 100% !important;
  height: 100% !important;
  border-radius: 999px !important;
  display: block !important;
  object-fit: cover !important;
}

.ch-profile-info {
  min-width: 0;
  padding-top: 18px;
}

.ch-profile-name-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.ch-profile-name {
  margin: 0;
  color: #111827;
  font-size: 28px;
  font-weight: 950;
  line-height: 1.08;
  letter-spacing: -0.03em;
}

.ch-profile-member-type {
  margin-top: 2px;
}

.ch-profile-handle {
  margin-top: 5px;
  color: #64748b;
  font-size: 14px;
  font-weight: 800;
}

.ch-profile-bio {
  max-width: 620px;
  margin-top: 12px;
  color: #334155;
  font-size: 15px;
  line-height: 1.5;
}

.ch-profile-bio p {
  margin: 0 0 8px;
}

.ch-profile-stats {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 15px;
}

.ch-profile-stat {
  display: grid;
  gap: 2px;
  min-width: 92px;
  padding: 10px 12px;
  border: 1px solid #e5eaf0;
  border-radius: 16px;
  background: #f8fafc;
}

.ch-profile-stat strong {
  color: #111827;
  font-size: 17px;
  font-weight: 950;
  line-height: 1.1;
}

.ch-profile-stat span {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.ch-profile-actions {
  padding-top: 20px;
}

.ch-profile-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 15px;
  border-radius: 999px;
  background: #2563eb;
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 8px 20px rgba(37, 99, 235, 0.22);
}

.ch-profile-action-button:hover {
  background: #1d4ed8;
  color: #ffffff !important;
}

.ch-profile-tabs {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  padding: 8px;
  border: 1px solid #dbe3ec;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.ch-profile-tab {
  border: 0;
  border-radius: 999px;
  padding: 9px 15px;
  background: transparent;
  color: #64748b;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.ch-profile-tab.is-active {
  background: #eff6ff;
  color: #1d4ed8;
}

.ch-profile-tab:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.ch-profile-content {
  display: grid;
  gap: 12px;
}

.ch-profile-section-header {
  background: #ffffff;
  border: 1px solid #dbe3ec;
  border-radius: 18px;
  padding: 15px 17px;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.ch-profile-section-header h2 {
  margin: 0;
  color: #111827;
  font-size: 17px;
  font-weight: 950;
  line-height: 1.2;
}

.ch-profile-posts.ch-feed {
  max-width: 760px;
}

.ch-profile-empty {
  max-width: 760px;
  margin: 14px auto;
  padding: 18px;
  border: 1px solid #dbe3ec;
  border-radius: 18px;
  background: #ffffff;
  color: #64748b;
  font-size: 14px;
  font-weight: 800;
  text-align: center;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}




/* =========================================================
   PROFILE ROUTE TAB CONTENT
   ========================================================= */

.ch-profile-route-wrap {
  max-width: 100%;
  margin: 32px auto;
}

.ch-profile-tabs a.ch-profile-tab {
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ch-profile-about-card {
  max-width: 760px;
  margin: 0 auto;
  background: #ffffff;
  border: 1px solid #dbe3ec;
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.ch-profile-about-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #edf2f7;
}

.ch-profile-about-row strong,
.ch-profile-about-bio strong {
  color: #111827;
  font-size: 13px;
  font-weight: 950;
}

.ch-profile-about-row span {
  color: #475569;
  font-size: 14px;
  font-weight: 800;
}

.ch-profile-about-bio {
  display: grid;
  gap: 8px;
  padding-top: 14px;
}

.ch-profile-about-bio p {
  margin: 0;
  color: #334155;
  font-size: 14px;
  line-height: 1.5;
}

.ch-profile-media-grid {
  max-width: 760px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.ch-profile-media-tile {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  border: 1px solid #dbe3ec;
  border-radius: 16px;
  overflow: hidden;
  background: #f8fafc;
  color: #111827 !important;
  text-decoration: none !important;
}

.ch-profile-media-tile img,
.ch-profile-media-tile video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.ch-profile-media-tile-video span {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-items: center;
  color: #ffffff;
  font-size: 36px;
  font-weight: 900;
  background: rgba(15, 23, 42, 0.24);
}

.ch-profile-media-tile-file {
  display: grid;
  place-items: center;
  gap: 8px;
  padding: 14px;
  text-align: center;
}

.ch-profile-media-tile-file span {
  font-size: 34px;
}

.ch-profile-media-tile-file strong {
  max-width: 100%;
  color: #111827;
  font-size: 13px;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.ch-profile-comments-list {
  max-width: 760px;
  margin: 0 auto;
  display: grid;
  gap: 10px;
}

.ch-profile-comment-preview {
  display: grid;
  gap: 5px;
  padding: 14px;
  border: 1px solid #dbe3ec;
  border-radius: 16px;
  background: #ffffff;
  color: #111827 !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.ch-profile-comment-preview:hover {
  border-color: #bfdbfe;
  background: #fbfdff;
}

.ch-profile-comment-time {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.ch-profile-comment-text {
  color: #111827;
  font-size: 14px;
  line-height: 1.45;
}

.ch-profile-comment-view {
  color: #2563eb;
  font-size: 12px;
  font-weight: 900;
}

/* =========================================================
   COMMUNITY HUB PROFILE EDITOR
   ========================================================= */

.ch-profile-notice {
  max-width: 760px;
  margin: 0 auto 14px;
  padding: 12px 14px;
  border-radius: 16px;
  font-size: 14px;
  font-weight: 900;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.ch-profile-notice-success {
  color: #166534;
  background: #dcfce7;
  border: 1px solid #bbf7d0;
}

.ch-profile-notice-error {
  color: #991b1b;
  background: #fef2f2;
  border: 1px solid #fecaca;
}

.ch-profile-edit-form {
  max-width: 760px;
  margin: 0 auto;
  display: grid;
  gap: 16px;
  background: #ffffff;
  border: 1px solid #dbe3ec;
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.ch-profile-edit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.ch-profile-edit-field {
  display: grid;
  gap: 7px;
}

.ch-profile-edit-field-full {
  grid-column: 1 / -1;
}

.ch-profile-edit-field span,
.ch-profile-edit-preview strong {
  color: #111827;
  font-size: 13px;
  font-weight: 950;
}

.ch-profile-edit-field input[type="text"],
.ch-profile-edit-field textarea {
  width: 100%;
  border: 1px solid #dbe3ec;
  border-radius: 14px;
  background: #ffffff;
  color: #111827;
  font-size: 14px;
  line-height: 1.45;
  padding: 11px 13px;
  outline: none;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

.ch-profile-edit-field textarea {
  resize: vertical;
  min-height: 120px;
}

.ch-profile-edit-field input[type="text"]:focus,
.ch-profile-edit-field textarea:focus {
  border-color: #2563eb;
  box-shadow:
    0 0 0 3px rgba(37, 99, 235, 0.13),
    0 2px 8px rgba(15, 23, 42, 0.04);
}

.ch-profile-edit-field input[type="file"] {
  width: 100%;
  border: 1px dashed #cbd5e1;
  border-radius: 14px;
  background: #f8fafc;
  color: #334155;
  font-size: 13px;
  font-weight: 800;
  padding: 11px;
}

.ch-profile-edit-field small {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}

.ch-profile-edit-preview-row {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 14px;
}

.ch-profile-edit-preview {
  display: grid;
  gap: 9px;
  min-width: 0;
}

.ch-profile-edit-avatar-preview {
  width: 118px;
  height: 118px;
  border-radius: 999px;
  overflow: hidden;
  border: 4px solid #ffffff;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.18);
  background: #f8fafc;
}

.ch-profile-edit-avatar-preview img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 999px !important;
}

.ch-profile-edit-cover-preview img,
.ch-profile-edit-cover-empty {
  width: 100%;
  height: 140px;
  border: 1px solid #dbe3ec;
  border-radius: 16px;
  background:
    radial-gradient(circle at 20% 20%, rgba(37, 99, 235, 0.18), transparent 34%),
    linear-gradient(135deg, #0f172a, #1d4ed8 52%, #60a5fa);
  object-fit: cover;
  overflow: hidden;
}

.ch-profile-edit-cover-empty {
  display: grid;
  place-items: center;
  color: #ffffff;
  font-size: 13px;
  font-weight: 900;
}

.ch-profile-edit-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.ch-profile-edit-save {
  border: 0;
  border-radius: 999px;
  background: #2563eb;
  color: #ffffff;
  font-size: 14px;
  font-weight: 950;
  padding: 11px 17px;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(37, 99, 235, 0.22);
}

.ch-profile-edit-save:hover {
  background: #1d4ed8;
}

.ch-profile-edit-cancel {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  color: #64748b !important;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none !important;
  padding: 8px 4px;
}

.ch-profile-edit-cancel:hover {
  color: #111827 !important;
  text-decoration: underline !important;
}

/* =========================================================
   PROFILE EDITOR POLISH: PREVIEWS, REMOVE CONTROLS, STATES
   ========================================================= */

.ch-profile-edit-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.ch-profile-edit-header p {
  margin: 5px 0 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 800;
}

.ch-profile-edit-preview-row-top {
  grid-template-columns: 180px 1fr !important;
  align-items: stretch;
}

.ch-profile-edit-avatar-card,
.ch-profile-edit-cover-card {
  border: 1px solid #e5eaf0;
  border-radius: 18px;
  background: #f8fafc;
  padding: 14px;
}

.ch-profile-edit-media-actions {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
}

.ch-profile-file-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid #dbe3ec;
  background: #ffffff;
  color: #334155;
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease, transform 0.12s ease;
}

.ch-profile-file-button:hover {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: #1d4ed8;
  box-shadow: 0 7px 18px rgba(37, 99, 235, 0.11);
}

.ch-profile-file-button:active {
  transform: scale(0.97);
}

.ch-profile-file-button input[type="file"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.ch-profile-remove-check {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 38px;
  padding: 9px 12px;
  border-radius: 999px;
  border: 1px solid #fecaca;
  background: #fff7f7;
  color: #991b1b;
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
  cursor: pointer;
}

.ch-profile-remove-check input {
  margin: 0;
  accent-color: #dc2626;
}

.ch-profile-edit-avatar-preview.is-removing,
.ch-profile-edit-cover-preview.is-removing {
  position: relative;
  opacity: 0.48;
  filter: grayscale(1);
}

.ch-profile-edit-avatar-preview.is-removing::after,
.ch-profile-edit-cover-preview.is-removing::after {
  content: "Will be removed";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 10px;
  background: rgba(15, 23, 42, 0.62);
  color: #ffffff;
  font-size: 12px;
  font-weight: 950;
  text-align: center;
  z-index: 3;
}

.ch-profile-edit-cover-preview {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
}

.ch-profile-edit-cover-preview img,
.ch-profile-edit-cover-empty {
  display: block;
}

.ch-profile-edit-message {
  padding: 11px 13px;
  border-radius: 14px;
  border: 1px solid #bfdbfe;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 13px;
  font-weight: 900;
}

.ch-profile-edit-message[hidden] {
  display: none !important;
}

.ch-profile-edit-save.is-busy {
  opacity: 0.72;
  cursor: wait;
  pointer-events: none;
}

.ch-profile-edit-save.is-busy::after {
  content: "";
  width: 12px;
  height: 12px;
  margin-left: 7px;
  border: 2px solid rgba(255, 255, 255, 0.45);
  border-top-color: #ffffff;
  border-radius: 999px;
  display: inline-block;
  animation: chButtonSpin 0.75s linear infinite;
}


/* =========================================================
   PROFILE EDITOR WIDTH + CLEAR REMOVE BUTTONS
   ========================================================= */

.ch-profile-section-header,
.ch-profile-about-card,
.ch-profile-edit-form,
.ch-profile-notice,
.ch-profile-comments-list,
.ch-profile-media-grid,
.ch-profile-posts.ch-feed {
  width: 100% !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.ch-profile-content {
  width: 100% !important;
}

.ch-profile-edit-form {
  padding: 20px !important;
}

.ch-profile-edit-preview-row,
.ch-profile-edit-preview-row-top {
  grid-template-columns: minmax(220px, 0.75fr) minmax(0, 1.25fr) !important;
  gap: 18px !important;
}

.ch-profile-edit-cover-preview img,
.ch-profile-edit-cover-empty {
  height: 170px !important;
}

.ch-profile-remove-button {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 9px 14px !important;
  border-radius: 999px !important;
  border: 1px solid #fecaca !important;
  background: #fff7f7 !important;
  color: #991b1b !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05) !important;
}

.ch-profile-remove-button:hover {
  background: #fef2f2 !important;
  border-color: #fca5a5 !important;
  color: #7f1d1d !important;
}

.ch-profile-remove-button.is-removing {
  background: #991b1b !important;
  border-color: #991b1b !important;
  color: #ffffff !important;
}

.ch-profile-remove-check {
  display: none !important;
}

/* =========================================================
   ACCOUNT SETTINGS SHELL
   ========================================================= */

.ch-profile-actions {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.ch-profile-action-secondary {
  background: #ffffff !important;
  color: #1d4ed8 !important;
  border: 1px solid #bfdbfe !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05) !important;
}

.ch-profile-action-secondary:hover {
  background: #eff6ff !important;
  color: #1d4ed8 !important;
}

.ch-profile-settings-header p,
.ch-profile-edit-header p {
  margin: 4px 0 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

.ch-profile-settings-shell {
  width: min(100%, 1040px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.ch-profile-settings-nav {
  position: sticky;
  top: 18px;
  display: grid;
  gap: 7px;
  padding: 10px;
  border: 1px solid #dbe3ec;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.ch-profile-settings-nav-item {
  display: flex;
  align-items: center;
  min-height: 38px;
  padding: 9px 12px;
  border-radius: 999px;
  color: #475569 !important;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none !important;
}

.ch-profile-settings-nav-item:hover,
.ch-profile-settings-nav-item.is-active {
  background: #eff6ff;
  color: #1d4ed8 !important;
}

.ch-profile-settings-panels {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.ch-profile-settings-card {
  width: 100%;
  border: 1px solid #dbe3ec;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
  padding: 16px;
}

.ch-profile-settings-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.ch-profile-settings-card h3 {
  margin: 0;
  color: #111827;
  font-size: 17px;
  font-weight: 950;
  line-height: 1.2;
}

.ch-profile-settings-card p {
  margin: 5px 0 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.42;
}

.ch-profile-settings-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 38px;
  padding: 9px 14px;
  border-radius: 999px;
  background: #2563eb;
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 7px 18px rgba(37, 99, 235, 0.18);
}

.ch-profile-settings-button:hover {
  background: #1d4ed8;
  color: #ffffff !important;
}

.ch-profile-settings-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 28px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f8fafc;
  color: #64748b;
  border: 1px solid #e5eaf0;
  font-size: 11px;
  font-weight: 950;
  white-space: nowrap;
}

.ch-profile-settings-list,
.ch-profile-settings-option-list {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.ch-profile-settings-row,
.ch-profile-settings-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #edf2f7;
  border-radius: 14px;
  background: #fbfdff;
}

.ch-profile-settings-row span,
.ch-profile-settings-option span {
  color: #475569;
  font-size: 13px;
  font-weight: 850;
}

.ch-profile-settings-row strong,
.ch-profile-settings-option strong {
  color: #111827;
  font-size: 13px;
  font-weight: 950;
  overflow-wrap: anywhere;
  text-align: right;
}

.ch-profile-settings-option.is-disabled {
  opacity: 0.82;
}

.ch-profile-settings-empty-mini {
  margin-top: 14px;
  padding: 14px;
  border: 1px dashed #cbd5e1;
  border-radius: 14px;
  background: #f8fafc;
  color: #64748b;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}

.ch-profile-badge-preview-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.ch-profile-badge-preview {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
  font-size: 12px;
  font-weight: 950;
}

/* Keep profile tab sections uniform and wider. */
.ch-profile-section-header,
.ch-profile-about-card,
.ch-profile-comments-list,
.ch-profile-media-grid,
.ch-profile-edit-form,
.ch-profile-posts.ch-feed,
.ch-profile-settings-shell {
  max-width: 1040px !important;
}

.ch-profile-section-header,
.ch-profile-about-card,
.ch-profile-edit-form,
.ch-profile-settings-shell {
  width: min(100%, 1040px) !important;
}


/* =========================================================
   COMMUNITY HUB PRIVACY SETTINGS
   ========================================================= */

.ch-profile-privacy-card {
  scroll-margin-top: 24px;
}

.ch-profile-settings-status.is-live {
  background: #ecfdf5 !important;
  color: #047857 !important;
  border-color: #a7f3d0 !important;
}

.ch-profile-privacy-form {
  display: grid;
  gap: 16px;
  margin-top: 14px;
}

.ch-profile-privacy-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.ch-profile-privacy-field {
  display: grid;
  gap: 7px;
  padding: 12px;
  border: 1px solid #e5eaf0;
  border-radius: 16px;
  background: #f8fafc;
}

.ch-profile-privacy-field span {
  color: #111827;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.2;
}

.ch-profile-privacy-field select {
  width: 100%;
  min-height: 40px;
  border: 1px solid #dbe3ec;
  border-radius: 12px;
  background: #ffffff;
  color: #111827;
  font-size: 13px;
  font-weight: 800;
  padding: 8px 10px;
  outline: none;
}

.ch-profile-privacy-field select:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.ch-profile-privacy-field small,
.ch-profile-toggle-row small {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.ch-profile-privacy-toggles {
  display: grid;
  gap: 10px;
}

.ch-profile-toggle-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  border: 1px solid #e5eaf0;
  border-radius: 16px;
  background: #ffffff;
}

.ch-profile-toggle-row input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: #2563eb;
  flex: 0 0 auto;
}

.ch-profile-toggle-row span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.ch-profile-toggle-row strong {
  color: #111827;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.2;
}

.ch-profile-privacy-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  padding: 10px;
  border: 1px solid #dbeafe;
  border-radius: 16px;
  background: #eff6ff;
}

.ch-profile-privacy-summary div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.ch-profile-privacy-summary span {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.ch-profile-privacy-summary strong {
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.2;
}

.ch-profile-settings-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.ch-profile-settings-save {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  border: 0;
  border-radius: 999px;
  background: #2563eb;
  color: #ffffff;
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
  padding: 10px 16px;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(37, 99, 235, 0.20);
}

.ch-profile-settings-save:hover {
  background: #1d4ed8;
}

.ch-profile-private-message strong {
  display: block;
  color: #111827;
  margin-bottom: 4px;
}


/* =========================================================
   COMMUNITY HUB NOTIFICATION SETTINGS
   ========================================================= */

.ch-profile-notifications-card {
  scroll-margin-top: 24px;
}

.ch-profile-notifications-form {
  display: grid;
  gap: 16px;
  margin-top: 14px;
}

.ch-profile-notifications-master {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 10px;
  border: 1px solid #dbeafe;
  border-radius: 18px;
  background: #eff6ff;
}

.ch-profile-notifications-master .ch-profile-toggle-row {
  margin: 0;
  border-color: #bfdbfe;
  background: #ffffff;
}

.ch-profile-notifications-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.ch-profile-notification-toggle {
  min-height: 72px;
}

.ch-profile-notification-toggle input[type="checkbox"] {
  cursor: pointer;
}

.ch-profile-notification-toggle strong {
  display: block;
}

.ch-profile-notifications-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 10px;
  border: 1px solid #dbeafe;
  border-radius: 16px;
  background: #eff6ff;
}

.ch-profile-notifications-summary div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.ch-profile-notifications-summary span {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.ch-profile-notifications-summary strong {
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.2;
}

/* Community Hub Profile Settings - Blocked Users */
.ch-profile-blocked-card {
	scroll-margin-top: 24px;
}

.ch-profile-blocked-form {
	display: grid;
	gap: 16px;
}

.ch-profile-blocked-add {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px;
	align-items: end;
	padding: 14px;
	border: 1px solid rgba(255,255,255,.08);
	border-radius: 16px;
	background: rgba(255,255,255,.035);
}

.ch-profile-blocked-search {
	display: grid;
	gap: 7px;
	min-width: 0;
}

.ch-profile-blocked-search > span {
	font-size: 13px;
	font-weight: 800;
	color: rgba(255,255,255,.88);
}

.ch-profile-blocked-search input {
	width: 100%;
	border: 1px solid rgba(15,23,42,.18);
	border-radius: 12px;
	background: #ffffff;
	color: #0f172a;
	padding: 11px 12px;
	outline: none;
}

.ch-profile-blocked-search input::placeholder {
	color: #64748b;
}

.ch-profile-blocked-search input:focus {
	border-color: rgba(0,128,255,.65);
	box-shadow: 0 0 0 3px rgba(0,128,255,.14);
}

.ch-profile-blocked-search small {
	color: rgba(255,255,255,.56);
	line-height: 1.4;
}

.ch-profile-blocked-list {
	display: grid;
	gap: 10px;
}

.ch-profile-blocked-user {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px;
	border: 1px solid rgba(255,255,255,.08);
	border-radius: 16px;
	background: rgba(0,0,0,.18);
}

.ch-profile-blocked-user-main {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	text-decoration: none;
	color: inherit;
}

.ch-profile-blocked-avatar {
	display: inline-flex;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	overflow: hidden;
	flex: 0 0 auto;
	background: rgba(255,255,255,.08);
}

.ch-profile-blocked-avatar img {
	width: 44px;
	height: 44px;
	object-fit: cover;
	display: block;
}

.ch-profile-blocked-user-main strong {
	display: block;
	font-size: 14px;
	font-weight: 850;
	color: rgba(255,255,255,.92);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ch-profile-blocked-user-main small {
	display: block;
	font-size: 12px;
	color: rgba(255,255,255,.56);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ch-profile-unblock-check {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 13px;
	font-weight: 750;
	color: rgba(255,255,255,.78);
	white-space: nowrap;
	padding: 8px 10px;
	border-radius: 999px;
	background: rgba(255,255,255,.06);
	cursor: pointer;
}

.ch-profile-unblock-check input {
	accent-color: #0080FF;
}

.ch-profile-settings-save-secondary {
	justify-self: start;
}


.ch-profile-blocked-search {
	position: relative;
}

.ch-block-member-results {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% - 16px);
	z-index: 30;
	display: grid;
	gap: 4px;
	max-height: 290px;
	overflow: auto;
	padding: 8px;
	border: 1px solid rgba(15,23,42,.14);
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 18px 40px rgba(0,0,0,.24);
}

.ch-block-member-result,
.ch-block-member-no-results {
	width: 100%;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: #0f172a;
	padding: 9px;
	text-align: left;
}

.ch-block-member-result {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
}

.ch-block-member-result:hover,
.ch-block-member-result:focus {
	background: rgba(0,128,255,.10);
	outline: none;
}

.ch-block-member-result-avatar {
	width: 34px;
	height: 34px;
	border-radius: 999px;
	overflow: hidden;
	flex: 0 0 auto;
	background: #e2e8f0;
}

.ch-block-member-result-avatar img {
	width: 34px;
	height: 34px;
	object-fit: cover;
	display: block;
}

.ch-block-member-result-text {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.ch-block-member-result-text strong {
	font-size: 13px;
	font-weight: 850;
	color: #0f172a;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ch-block-member-result-text small,
.ch-block-member-no-results {
	font-size: 12px;
	color: #64748b;
}

/* Account Settings + Badge Shell */
.ch-profile-account-card .ch-profile-account-form {
	display: grid;
	gap: 18px;
}

.ch-profile-account-grid,
.ch-profile-badges-shell-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.ch-profile-account-field,
.ch-profile-badges-shell-item {
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.09);
	border-radius: 14px;
	padding: 14px;
	display: grid;
	gap: 7px;
}

.ch-profile-account-field > span,
.ch-profile-badges-shell-item > span,
.ch-profile-account-status-grid span {
	color: rgba(255,255,255,0.68);
	font-size: 13px;
}

.ch-profile-account-field input[type="text"] {
	width: 100%;
	box-sizing: border-box;
	border-radius: 12px;
	border: 1px solid rgba(255,255,255,0.18);
	background: #fff;
	color: #111827;
	padding: 11px 12px;
	font-size: 15px;
	outline: none;
}

.ch-profile-account-field input[type="text"]:focus {
	border-color: rgba(0,128,255,0.85);
	box-shadow: 0 0 0 3px rgba(0,128,255,0.18);
}

.ch-profile-account-field strong,
.ch-profile-badges-shell-item strong,
.ch-profile-account-status-grid strong {
	color: #fff;
	font-weight: 800;
}

.ch-profile-account-field a {
	color: #8cc8ff;
	font-weight: 800;
	word-break: break-word;
}

.ch-profile-account-field small {
	color: rgba(255,255,255,0.55);
	line-height: 1.35;
}

.ch-profile-account-actions-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.ch-profile-settings-button-secondary {
	background: rgba(255,255,255,0.08) !important;
	border-color: rgba(255,255,255,0.14) !important;
	color: #fff !important;
}

.ch-profile-account-status-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.ch-profile-account-status-grid > div {
	background: rgba(0,0,0,0.18);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 14px;
	padding: 12px;
	display: grid;
	gap: 5px;
}

.ch-profile-badges-card .ch-profile-badge-preview-row {
	margin-top: 4px;
}

.ch-profile-badges-shell-grid {
	margin-top: 16px;
}

.ch-profile-badges-shell-item span {
	line-height: 1.35;
}

/* Community Hub Account Settings - Display Name input color fix */
.ch-profile-settings .ch-profile-account-field input,
.ch-profile-settings .ch-profile-account-field input[type="text"],
.ch-profile-settings .ch-profile-account-field input[type="email"],
.ch-profile-settings .ch-profile-account-field input[type="url"],
.ch-profile-account-card .ch-profile-account-field input,
.ch-profile-account-card .ch-profile-account-field input[type="text"] {
	background: #ffffff !important;
	color: #111827 !important;
	-webkit-text-fill-color: #111827 !important;
	caret-color: #111827 !important;
	border-color: rgba(15, 23, 42, 0.18) !important;
}

.ch-profile-settings .ch-profile-account-field input::placeholder,
.ch-profile-account-card .ch-profile-account-field input::placeholder {
	color: #64748b !important;
	-webkit-text-fill-color: #64748b !important;
	opacity: 1 !important;
}

.ch-profile-settings .ch-profile-account-field input:-webkit-autofill,
.ch-profile-account-card .ch-profile-account-field input:-webkit-autofill {
	-webkit-text-fill-color: #111827 !important;
	box-shadow: 0 0 0 1000px #ffffff inset !important;
}

/* Community Hub Account Card - light card text visibility fix */
.ch-profile-settings-card.ch-profile-account-card,
.ch-profile-settings .ch-profile-account-card {
	color: #111827 !important;
}

.ch-profile-settings-card.ch-profile-account-card .ch-profile-account-field,
.ch-profile-settings .ch-profile-account-card .ch-profile-account-field,
.ch-profile-settings-card.ch-profile-account-card .ch-profile-account-status-grid > div,
.ch-profile-settings .ch-profile-account-card .ch-profile-account-status-grid > div {
	background: #ffffff !important;
	border-color: rgba(15, 23, 42, 0.16) !important;
	color: #111827 !important;
}

.ch-profile-settings-card.ch-profile-account-card .ch-profile-account-field > span,
.ch-profile-settings .ch-profile-account-card .ch-profile-account-field > span,
.ch-profile-settings-card.ch-profile-account-card .ch-profile-account-status-grid span,
.ch-profile-settings .ch-profile-account-card .ch-profile-account-status-grid span,
.ch-profile-settings-card.ch-profile-account-card .ch-profile-account-field small,
.ch-profile-settings .ch-profile-account-card .ch-profile-account-field small {
	color: #475569 !important;
	-webkit-text-fill-color: #475569 !important;
}

.ch-profile-settings-card.ch-profile-account-card .ch-profile-account-field strong,
.ch-profile-settings .ch-profile-account-card .ch-profile-account-field strong,
.ch-profile-settings-card.ch-profile-account-card .ch-profile-account-status-grid strong,
.ch-profile-settings .ch-profile-account-card .ch-profile-account-status-grid strong {
	color: #111827 !important;
	-webkit-text-fill-color: #111827 !important;
}

.ch-profile-settings-card.ch-profile-account-card .ch-profile-account-field a,
.ch-profile-settings .ch-profile-account-card .ch-profile-account-field a {
	color: #005fbf !important;
	-webkit-text-fill-color: #005fbf !important;
}

.ch-profile-settings-card.ch-profile-account-card .ch-profile-settings-button-secondary,
.ch-profile-settings .ch-profile-account-card .ch-profile-settings-button-secondary {
	background: #f8fafc !important;
	border: 1px solid rgba(15, 23, 42, 0.16) !important;
	color: #0f172a !important;
	-webkit-text-fill-color: #0f172a !important;
	box-shadow: none !important;
}

.ch-profile-settings-card.ch-profile-account-card .ch-profile-settings-button-secondary:hover,
.ch-profile-settings .ch-profile-account-card .ch-profile-settings-button-secondary:hover {
	background: #eef6ff !important;
	border-color: rgba(0, 128, 255, 0.35) !important;
	color: #005fbf !important;
	-webkit-text-fill-color: #005fbf !important;
}


/* Community Hub Badges */
.ch-user-badges {
	display:flex;
	flex-wrap:wrap;
	gap:7px;
	align-items:center;
	margin-top:8px;
}

.ch-user-badges-profile {
	margin-bottom:4px;
}

.ch-user-badge {
	--ch-badge-color:#2563eb;
	display:inline-flex;
	align-items:center;
	gap:5px;
	padding:5px 10px;
	border-radius:999px;
	font-size:12px;
	font-weight:800;
	line-height:1;
	color:#ffffff;
	background:var(--ch-badge-color);
	box-shadow:0 8px 18px rgba(15,23,42,.12);
	white-space:nowrap;
}

.ch-user-badge-emoji {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-size:13px;
	line-height:1;
}

.ch-profile-badges-live-panel {
	display:grid;
	gap:16px;
}

.ch-profile-badges-live-preview {
	background:#ffffff;
	border:1px solid rgba(15,23,42,.10);
	border-radius:18px;
	padding:16px;
	display:grid;
	gap:10px;
	color:#0f172a;
}

.ch-profile-badges-live-preview > strong,
.ch-profile-badges-info-grid strong {
	color:#0f172a;
}

.ch-profile-badges-info-grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:12px;
}

.ch-profile-badges-info-grid > div {
	background:#f8fafc;
	border:1px solid rgba(15,23,42,.08);
	border-radius:16px;
	padding:14px;
	display:grid;
	gap:5px;
	color:#334155;
}

.ch-profile-badges-info-grid span {
	color:#475569;
	font-size:13px;
	line-height:1.45;
}

.ch-admin-badges-wrap .ch-user-badges {
	margin:0;
}

.ch-admin-badges-wrap .ch-user-badge {
	font-size:11px;
	padding:4px 8px;
}

/* Community Hub badge custom image support */
.ch-user-badge-img {
	width: 18px !important;
	height: 18px !important;
	object-fit: contain !important;	display: inline-block !important;
	vertical-align: middle !important;
	border-radius: 4px !important;
}

.ch-user-badges-profile .ch-user-badge-img {
	width: 20px !important;
	height: 20px !important;
}

.ch-user-badges-admin .ch-user-badge-img,
.ch-user-badges-settings .ch-user-badge-img {
	width: 18px !important;
	height: 18px !important;
}


/* Community Hub badge descriptions/tooltips + feed/comment badge placement */
.ch-user-badge {
	position: relative !important;
	cursor: help !important;
	outline: none !important;
}

.ch-user-badge:focus-visible {
	box-shadow: 0 0 0 3px rgba(0,128,255,.25), 0 8px 18px rgba(15,23,42,.12) !important;
}

.ch-user-badge-tooltip {
	display: none !important;
	position: absolute !important;
	left: 50% !important;
	bottom: calc(100% + 10px) !important;
	transform: translateX(-50%) !important;
	z-index: 99999 !important;
	width: max-content !important;
	max-width: 260px !important;
	padding: 10px 12px !important;
	border-radius: 12px !important;
	background: #0f172a !important;
	border: 1px solid rgba(255,255,255,.16) !important;
	box-shadow: 0 16px 40px rgba(0,0,0,.28) !important;
	color: #ffffff !important;
	text-align: left !important;
	white-space: normal !important;
	line-height: 1.35 !important;
	pointer-events: none !important;
}

.ch-user-badge-tooltip::after {
	content: "" !important;
	position: absolute !important;
	left: 50% !important;
	top: 100% !important;
	transform: translateX(-50%) !important;
	border-width: 6px !important;
	border-style: solid !important;
	border-color: #0f172a transparent transparent transparent !important;
}

.ch-user-badge-tooltip strong {
	display: block !important;
	margin: 0 0 4px !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	color: #ffffff !important;
}

.ch-user-badge-tooltip span {
	display: block !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: rgba(255,255,255,.86) !important;
}

.ch-user-badge:hover .ch-user-badge-tooltip,
.ch-user-badge:focus .ch-user-badge-tooltip,
.ch-user-badge:active .ch-user-badge-tooltip {
	display: block !important;
}

.ch-user-badges-feed,
.ch-user-badges-comment,
.ch-user-badges-embed {
	display: inline-flex !important;
	margin: 0 0 0 6px !important;
	gap: 4px !important;
	vertical-align: middle !important;
}

.ch-user-badges-feed .ch-user-badge,
.ch-user-badges-comment .ch-user-badge,
.ch-user-badges-embed .ch-user-badge {
	padding: 3px 7px !important;
	font-size: 10px !important;
	line-height: 1 !important;
	box-shadow: none !important;
}

.ch-user-badges-feed .ch-user-badge-img,
.ch-user-badges-comment .ch-user-badge-img,
.ch-user-badges-embed .ch-user-badge-img {
	width: 14px !important;
	height: 14px !important;
}

.ch-user-badges-comment .ch-user-badge-label,
.ch-user-badges-embed .ch-user-badge-label {
	display: none !important;
}

.ch-comment-identity .ch-user-badges-comment {
	margin-right: 4px !important;
}

/* =========================================================
   COMMUNITY HUB MEMBER DIRECTORY
   ========================================================= */

.ch-member-directory,
.ch-member-directory * {
  box-sizing: border-box;
}

.ch-member-directory-route,
.ch-member-directory {
  width: 100%;
}

.ch-member-directory {
  max-width: 1120px;
  margin: 0 auto;
  color: #111827;
}

.ch-member-directory-hero {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 18px;
  padding: 24px;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #0f172a, #1d4ed8);
  color: #ffffff;
  border-radius: 24px;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.22);
}

.ch-member-directory-kicker {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  margin-bottom: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.15);
  color: #dbeafe;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ch-member-directory-hero h1 {
  margin: 0;
  color: #ffffff;
  font-size: 34px;
  line-height: 1.05;
  font-weight: 950;
}

.ch-member-directory-hero p {
  margin: 8px 0 0;
  max-width: 620px;
  color: #dbeafe;
  font-size: 15px;
  line-height: 1.45;
}

.ch-member-directory-count {
  min-width: 150px;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 18px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.18);
}

.ch-member-directory-count strong {
  display: block;
  color: #ffffff;
  font-size: 30px;
  line-height: 1;
  font-weight: 950;
}

.ch-member-directory-count span {
  display: block;
  margin-top: 5px;
  color: #bfdbfe;
  font-size: 12px;
  font-weight: 800;
}

.ch-member-directory-search {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  padding: 14px;
  margin-bottom: 16px;
  background: #ffffff;
  border: 1px solid #dbe3ec;
  border-radius: 18px;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

.ch-member-directory-search label {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: 6px;
  color: #334155;
  font-size: 13px;
  font-weight: 900;
}

.ch-member-directory-search input[type="search"] {
  width: 100%;
  min-height: 44px;
  padding: 10px 13px;
  border: 1px solid #cbd5e1;
  border-radius: 14px;
  background: #ffffff !important;
  color: #111827 !important;
  caret-color: #111827 !important;
  font-size: 15px;
  font-weight: 700;
  outline: none;
}

.ch-member-directory-search input[type="search"]::placeholder {
  color: #94a3b8 !important;
}

.ch-member-directory-search input[type="search"]:focus {
  border-color: #0080ff;
  box-shadow: 0 0 0 4px rgba(0, 128, 255, 0.13);
}

.ch-member-directory-search button,
.ch-member-directory-clear,
.ch-member-card-button,
.ch-member-directory-pagination a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 16px;
  border: 0;
  border-radius: 999px;
  background: #0080ff;
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(0, 128, 255, 0.18);
}

.ch-member-directory-clear {
  background: #f1f5f9;
  color: #334155 !important;
  box-shadow: none;
}

.ch-member-directory.is-loading .ch-member-directory-results {
  opacity: 0.55;
  pointer-events: none;
}

.ch-member-directory-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.ch-member-card {
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #dbe3ec;
  border-radius: 22px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}

.ch-member-card-cover {
  display: block;
  height: 92px;
  background: linear-gradient(135deg, #dbeafe, #eff6ff 45%, #e0f2fe);
  overflow: hidden;
}

.ch-member-card-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ch-member-card-body {
  padding: 0 16px 16px;
}

.ch-member-card-avatar {
  display: inline-flex;
  width: 86px;
  height: 86px;
  margin-top: -43px;
  border-radius: 999px;
  border: 4px solid #ffffff;
  background: #ffffff;
  overflow: hidden;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.14);
}

.ch-member-card-avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border-radius: 999px;
  display: block;
}

.ch-member-card-info {
  padding-top: 8px;
}

.ch-member-card-name {
  display: block;
  color: #111827 !important;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.15;
  text-decoration: none !important;
}

.ch-member-card-name:hover {
  text-decoration: underline !important;
}

.ch-member-card-handle {
  margin-top: 4px;
  color: #64748b;
  font-size: 13px;
  font-weight: 800;
}

.ch-user-badges-directory {
  margin-top: 8px;
}

.ch-member-card-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}

.ch-member-card-meta div {
  padding: 10px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}

.ch-member-card-meta strong,
.ch-member-card-meta span {
  display: block;
}

.ch-member-card-meta strong {
  color: #111827;
  font-size: 15px;
  font-weight: 950;
}

.ch-member-card-meta span {
  margin-top: 2px;
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.ch-member-card-button {
  width: 100%;
  margin-top: 14px;
}

.ch-member-directory-empty {
  display: grid;
  gap: 5px;
  padding: 24px;
  text-align: center;
  background: #ffffff;
  border: 1px dashed #cbd5e1;
  border-radius: 20px;
  color: #475569;
}

.ch-member-directory-empty strong {
  color: #111827;
  font-size: 18px;
}

.ch-member-directory-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 18px;
  color: #475569;
  font-size: 13px;
  font-weight: 900;
}

.ch-member-directory-pagination span {
  color: #475569;
}

/* =========================================================
   COMMUNITY HUB SINGLE POST PAGE
   ========================================================= */

.ch-single-post-shell {
  width: min(760px, calc(100% - 28px));
  max-width: 760px;
  margin: 28px auto 46px !important;
  padding: 0 !important;
}

.ch-single-post-header {
  display: grid;
  gap: 8px;
  margin: 0 0 14px;
  padding: 16px 18px;
  background: #ffffff;
  border: 1px solid #dbe3ec;
  border-radius: 18px;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.ch-single-post-header h1 {
  margin: 0;
  color: #111827;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 900;
}

.ch-single-post-back {
  width: fit-content;
  color: #2563eb !important;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none !important;
}

.ch-single-post-back:hover {
  text-decoration: underline !important;
}

.ch-single-post-shell .ch-activity-card {
  margin-bottom: 0 !important;
}

.ch-single-post-shell .ch-comment-form {
  display: block !important;
}


/* =========================================================
   COMMUNITY HUB MAIN FEED ROUTE
   /community BuddyBoss-exit page shell
   ========================================================= */

.ch-community-feed-page {
  width: min(100%, 1080px);
  margin: 28px auto 44px;
  padding: 0 16px;
  box-sizing: border-box;
}

.ch-community-feed-header {
  max-width: 760px;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  background: #ffffff;
  border: 1px solid #dbe3ec;
  border-radius: 18px;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
  padding: 16px 18px;
}

.ch-community-feed-header h1 {
  margin: 0;
  color: #111827;
  font-size: 26px;
  line-height: 1.15;
  font-weight: 900;
}

.ch-community-feed-header p {
  margin: 4px 0 0;
  color: #64748b;
  font-size: 14px;
  font-weight: 600;
}

.ch-community-feed-header-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 9px 14px;
  border-radius: 999px;
  background: #2563eb;
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

.ch-community-feed-header-link:hover {
  background: #1d4ed8;
  color: #ffffff !important;
}

.ch-single-post-back {
  color: #2563eb !important;
}


/* Community Hub notifications route */
.ch-notifications-page {
	max-width: 920px;
	margin: 0 auto;
	padding: 28px 16px 60px;
}

.ch-notifications-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}

.ch-page-eyebrow {
	margin: 0 0 6px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	opacity: .72;
}

.ch-notifications-header h1 {
	margin: 0;
	font-size: clamp(28px, 4vw, 42px);
	line-height: 1.05;
}

.ch-page-subtitle {
	margin: 8px 0 0;
	opacity: .78;
}

.ch-notifications-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.ch-notifications-actions form {
	margin: 0;
}

.ch-notifications-list {
	display: grid;
	gap: 10px;
}

.ch-notification-row {
	display: grid;
	grid-template-columns: 12px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
	padding: 16px;
	border: 1px solid rgba(255,255,255,.10);
	border-radius: 16px;
	background: rgba(255,255,255,.045);
	text-decoration: none;
	color: inherit;
	box-shadow: 0 10px 28px rgba(0,0,0,.14);
}

.ch-notification-row:hover,
.ch-notification-row:focus {
	transform: translateY(-1px);
	border-color: rgba(0,128,255,.55);
	background: rgba(0,128,255,.08);
	outline: none;
}

.ch-notification-row.is-unread {
	border-color: rgba(0,128,255,.45);
	background: rgba(0,128,255,.10);
}

.ch-notification-dot {
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: transparent;
}

.ch-notification-row.is-unread .ch-notification-dot {
	background: #0080ff;
	box-shadow: 0 0 0 4px rgba(0,128,255,.16);
}

.ch-notification-main {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.ch-notification-text {
	font-weight: 800;
	line-height: 1.25;
}

.ch-notification-meta {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	font-size: 13px;
	opacity: .72;
}

.ch-empty-state {
	padding: 34px 18px;
	border: 1px dashed rgba(255,255,255,.16);
	border-radius: 18px;
	text-align: center;
	background: rgba(255,255,255,.035);
}

.ch-empty-state h2 {
	margin: 0 0 8px;
}

.ch-empty-state p {
	margin: 0;
	opacity: .75;
}

/* Community Hub notifications readability override
   Temporary clean/light theme for /community-notifications while BuddyBoss is still active. */
.ch-notifications-page {
  color: #111827;
}

.ch-notifications-header {
  background: #ffffff;
  border: 1px solid #dbe3ec;
  border-radius: 20px;
  padding: 18px;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
}

.ch-page-eyebrow {
  color: #2563eb;
  opacity: 1;
}

.ch-notifications-header h1 {
  color: #0f172a;
}

.ch-page-subtitle {
  color: #4b5563;
  opacity: 1;
}

.ch-notifications-actions .ch-button,
.ch-notifications-actions button,
.ch-notifications-actions a,
.ch-empty-state .ch-button,
.ch-empty-state a.ch-button {
  background: #2563eb;
  color: #ffffff !important;
  border: 1px solid #2563eb;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: none;
}

.ch-notifications-actions .ch-button:hover,
.ch-notifications-actions button:hover,
.ch-notifications-actions a:hover,
.ch-empty-state .ch-button:hover,
.ch-empty-state a.ch-button:hover {
  background: #1d4ed8;
  color: #ffffff !important;
  border-color: #1d4ed8;
}

.ch-notifications-list {
  margin-top: 12px;
}

.ch-notification-row {
  border: 1px solid #dbe3ec;
  background: #ffffff;
  color: #111827 !important;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
}

.ch-notification-row:hover,
.ch-notification-row:focus {
  transform: translateY(-1px);
  border-color: #93c5fd;
  background: #f8fbff;
  color: #111827 !important;
}

.ch-notification-row.is-unread {
  border-color: #60a5fa;
  background: #eff6ff;
}

.ch-notification-text {
  color: #111827;
}

.ch-notification-meta {
  color: #6b7280;
  opacity: 1;
}

.ch-empty-state {
  border: 1px dashed #cbd5e1;
  background: #ffffff;
  color: #111827;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
}

.ch-empty-state h2 {
  color: #0f172a;
}

.ch-empty-state p {
  color: #4b5563;
  opacity: 1;
}

/* Community Hub notifications button polish */
.ch-notifications-actions {
  align-items: center;
  gap: 12px;
}

.ch-notifications-actions .ch-button,
.ch-notifications-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}

.ch-notifications-actions button.ch-button,
.ch-notifications-actions button[type="submit"] {
  background: #2563eb;
  color: #ffffff !important;
  border: 1px solid #2563eb;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.18);
}

.ch-notifications-actions button.ch-button:hover,
.ch-notifications-actions button[type="submit"]:hover,
.ch-notifications-actions button.ch-button:focus,
.ch-notifications-actions button[type="submit"]:focus {
  background: #1d4ed8;
  border-color: #1d4ed8;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.22);
  outline: none;
}

.ch-notifications-actions .ch-button-secondary,
.ch-notifications-actions a.ch-button-secondary {
  background: #ffffff;
  color: #1f2937 !important;
  border: 1px solid #cbd5e1;
  box-shadow: 0 3px 10px rgba(15, 23, 42, 0.06);
}

.ch-notifications-actions .ch-button-secondary:hover,
.ch-notifications-actions a.ch-button-secondary:hover,
.ch-notifications-actions .ch-button-secondary:focus,
.ch-notifications-actions a.ch-button-secondary:focus {
  background: #f8fafc;
  color: #0f172a !important;
  border-color: #94a3b8;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.10);
  outline: none;
}

.ch-notifications-actions .ch-button-secondary::before,
.ch-notifications-actions a.ch-button-secondary::before {
  content: "←";
  margin-right: 8px;
  font-weight: 900;
}

.ch-notifications-actions button[type="submit"]::before {
  content: "✓";
  margin-right: 8px;
  font-weight: 900;
}

@media (max-width: 640px) {
  .ch-notifications-actions {
    width: 100%;
    justify-content: stretch;
  }

  .ch-notifications-actions form,
  .ch-notifications-actions .ch-button,
  .ch-notifications-actions button {
    width: 100%;
  }
}

/* Community Hub Saved Posts */
.ch-saved-route-page {
	background: #f5f7fb;
	min-height: 70vh;
	padding: 32px 16px 56px;
}

.ch-bookmarks-page,
.ch-saved-page {
	width: 100%;
}

.ch-bookmarks-shell {
	width: min(1040px, 100%);
	margin: 0 auto;
}

.ch-bookmarks-nav {
	margin-bottom: 18px;
}

.ch-page-hero,
.ch-bookmarks-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	background: #ffffff;
	border: 1px solid #dbe4f0;
	border-radius: 20px;
	box-shadow: 0 12px 35px rgba(15, 23, 42, 0.08);
	padding: 22px;
	margin-bottom: 18px;
}

.ch-page-eyebrow {
	margin: 0 0 6px;
	font-size: 12px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #2563eb;
}

.ch-bookmarks-header h1,
.ch-bookmarks-header h2 {
	margin: 0;
	font-size: clamp(26px, 3vw, 38px);
	line-height: 1.05;
	color: #0f172a;
}

.ch-bookmarks-header p {
	margin: 8px 0 0;
	font-size: 15px;
	line-height: 1.5;
	color: #475569;
}

.ch-bookmarks-count {
	flex: 0 0 auto;
	min-width: 112px;
	border-radius: 18px;
	background: linear-gradient(180deg, #eff6ff, #ffffff);
	border: 1px solid #bfdbfe;
	padding: 14px 16px;
	text-align: center;
	color: #1d4ed8;
}

.ch-bookmarks-count span {
	display: block;
	font-size: 30px;
	line-height: 1;
	font-weight: 900;
	color: #1e40af;
}

.ch-bookmarks-count small {
	display: block;
	margin-top: 5px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #2563eb;
}

.ch-empty-state,
.ch-bookmarks-empty {
	background: #ffffff;
	border: 1px solid #dbe4f0;
	border-radius: 20px;
	box-shadow: 0 12px 35px rgba(15, 23, 42, 0.08);
	padding: 28px;
	text-align: center;
	color: #334155;
}

.ch-empty-state h2 {
	margin: 0 0 8px;
	font-size: 24px;
	line-height: 1.2;
	color: #0f172a;
}

.ch-empty-state p {
	margin: 0 auto 18px;
	max-width: 520px;
	font-size: 15px;
	line-height: 1.55;
	color: #475569;
}

.ch-bookmark-view-link {
	margin-top: 12px;
}

@media (max-width: 720px) {
	.ch-saved-route-page {
		padding: 18px 12px 38px;
	}

	.ch-page-hero,
	.ch-bookmarks-header {
		align-items: stretch;
		flex-direction: column;
		padding: 18px;
		border-radius: 16px;
	}

	.ch-bookmarks-count {
		width: 100%;
	}

	.ch-bookmarks-count span {
		font-size: 26px;
	}

	.ch-empty-state,
	.ch-bookmarks-empty {
		padding: 22px 16px;
		border-radius: 16px;
	}
}

/* =========================================================
   Community Hub saved-page/nav polish
   Fixes the Saved page nav class mismatch and removes the
   large white page background while keeping readable cards.
   ========================================================= */

.ch-hub-nav,
.ch-hub-page-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.ch-hub-nav-link,
a.ch-hub-nav-link,
.ch-hub-nav-button,
a.ch-hub-nav-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 15px;
  border-radius: 999px;
  border: 1px solid #cbd5e1 !important;
  background: #ffffff !important;
  color: #1f2937 !important;
  text-decoration: none !important;
  font-size: 13px;
  line-height: 1;
  font-weight: 900;
  white-space: nowrap;
  box-shadow: 0 3px 10px rgba(15, 23, 42, 0.06);
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.ch-hub-nav-link:hover,
a.ch-hub-nav-link:hover,
.ch-hub-nav-link:focus,
a.ch-hub-nav-link:focus,
.ch-hub-nav-button:hover,
a.ch-hub-nav-button:hover,
.ch-hub-nav-button:focus,
a.ch-hub-nav-button:focus {
  background: #f8fafc !important;
  border-color: #94a3b8 !important;
  color: #0f172a !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.10);
  outline: none;
}

.ch-hub-nav-link.is-active,
a.ch-hub-nav-link.is-active,
.ch-hub-nav-button.is-active,
a.ch-hub-nav-button.is-active {
  background: #2563eb !important;
  border-color: #2563eb !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.18);
}

.ch-hub-nav-link.is-active:hover,
a.ch-hub-nav-link.is-active:hover,
.ch-hub-nav-link.is-active:focus,
a.ch-hub-nav-link.is-active:focus,
.ch-hub-nav-button.is-active:hover,
a.ch-hub-nav-button.is-active:hover,
.ch-hub-nav-button.is-active:focus,
a.ch-hub-nav-button.is-active:focus {
  background: #1d4ed8 !important;
  border-color: #1d4ed8 !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.22);
}

.ch-bookmarks-nav {
  justify-content: flex-start;
  margin: 0 0 16px;
}

.ch-member-directory-nav .ch-hub-nav-link,
.ch-member-directory-nav .ch-hub-nav-button {
  width: 100%;
  background: rgba(255, 255, 255, 0.14) !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
  color: #ffffff !important;
  box-shadow: none;
}

.ch-member-directory-nav .ch-hub-nav-link:hover,
.ch-member-directory-nav .ch-hub-nav-link:focus,
.ch-member-directory-nav .ch-hub-nav-button:hover,
.ch-member-directory-nav .ch-hub-nav-button:focus {
  background: rgba(255, 255, 255, 0.22) !important;
  border-color: rgba(255, 255, 255, 0.42) !important;
  color: #ffffff !important;
}

.ch-member-directory-nav .ch-hub-nav-link.is-active,
.ch-member-directory-nav .ch-hub-nav-button.is-active {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: #1d4ed8 !important;
}

.ch-notifications-actions .ch-hub-nav-link,
.ch-notifications-actions .ch-hub-nav-button {
  min-height: 42px;
  border-radius: 12px;
}

.ch-saved-route-page,
.ch-bookmarks-page.ch-saved-page {
  background: transparent !important;
}

.ch-bookmarks-page.ch-saved-page {
  padding: 0 !important;
}

.ch-saved-page .ch-bookmarks-shell {
  background: transparent !important;
}

.ch-saved-page .ch-bookmarks-list,
.ch-saved-page .ch-feed {
  background: transparent !important;
}

.ch-saved-page .ch-bookmarks-header,
.ch-saved-page .ch-empty-state,
.ch-saved-page .ch-bookmarks-empty {
  background: #ffffff !important;
  color: #111827 !important;
}

@media (max-width: 720px) {
  .ch-hub-nav,
  .ch-hub-page-nav,
  .ch-bookmarks-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: stretch;
    width: 100%;
  }

  .ch-hub-nav-link,
  a.ch-hub-nav-link,
  .ch-hub-nav-button,
  a.ch-hub-nav-button {
    width: 100%;
    min-height: 42px;
  }
}

/* =========================================================
   Profile Community Hub nav polish
   Improves the Community / Members / Notifications / Saved
   buttons that sit directly under the profile header.
   ========================================================= */

.ch-profile-page > .ch-profile-hub-nav,
.ch-profile-hub-nav {
  justify-content: center !important;
  gap: 10px !important;
  margin: 16px 0 18px !important;
  padding: 12px !important;
  border: 1px solid rgba(148, 163, 184, 0.26) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.88)) !important;
  box-shadow:
    0 10px 30px rgba(15, 23, 42, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.72) !important;
}

.ch-profile-hub-nav .ch-hub-nav-button,
.ch-profile-hub-nav a.ch-hub-nav-button {
  min-height: 42px !important;
  padding: 11px 16px !important;
  border-radius: 13px !important;
  border-color: rgba(203, 213, 225, 0.9) !important;
  background: rgba(255, 255, 255, 0.94) !important;
  color: #0f172a !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: 0.01em !important;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06) !important;
}

.ch-profile-hub-nav .ch-hub-nav-button::before,
.ch-profile-hub-nav a.ch-hub-nav-button::before {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  margin-right: 7px;
  border-radius: 999px;
  background: #eff6ff;
  color: #2563eb;
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
}

.ch-profile-hub-nav .ch-hub-nav-button:nth-child(1)::before { content: "⌂"; }
.ch-profile-hub-nav .ch-hub-nav-button:nth-child(2)::before { content: "👥"; font-size: 11px; }
.ch-profile-hub-nav .ch-hub-nav-button:nth-child(3)::before { content: "🔔"; font-size: 11px; }
.ch-profile-hub-nav .ch-hub-nav-button:nth-child(4)::before { content: "★"; }

.ch-profile-hub-nav .ch-hub-nav-button:hover,
.ch-profile-hub-nav a.ch-hub-nav-button:hover,
.ch-profile-hub-nav .ch-hub-nav-button:focus,
.ch-profile-hub-nav a.ch-hub-nav-button:focus {
  background: #ffffff !important;
  border-color: rgba(37, 99, 235, 0.45) !important;
  color: #1d4ed8 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 24px rgba(37, 99, 235, 0.13) !important;
}

.ch-profile-hub-nav .ch-hub-nav-button:hover::before,
.ch-profile-hub-nav a.ch-hub-nav-button:hover::before,
.ch-profile-hub-nav .ch-hub-nav-button:focus::before,
.ch-profile-hub-nav a.ch-hub-nav-button:focus::before {
  background: #2563eb;
  color: #ffffff;
}

@media (max-width: 720px) {
  .ch-profile-page > .ch-profile-hub-nav,
  .ch-profile-hub-nav {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px !important;
    margin: 14px 0 16px !important;
    padding: 10px !important;
    border-radius: 16px !important;
  }

  .ch-profile-hub-nav .ch-hub-nav-button,
  .ch-profile-hub-nav a.ch-hub-nav-button {
    width: 100% !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
  }
}

@media (max-width: 420px) {
  .ch-profile-page > .ch-profile-hub-nav,
  .ch-profile-hub-nav {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   CommunityHub v0.2.3 plugin CSS polish:
   dark-mode surfaces, desktop action spacing, badges/text bleed.
   Desktop header is controlled by the theme and is not changed here.
   ========================================================= */

/* Feed/header/card width consistency inside the new theme wrapper. */
.ch-theme-community-content-wrap .ch-feed,
.ch-theme-community-content-wrap .ch-composer,
.ch-theme-community-content-wrap .ch-activity-card,
.ch-theme-community-content-wrap .ch-bookmarks-page,
.ch-theme-community-content-wrap .ch-notifications-page,
.ch-theme-community-content-wrap .ch-profile-page,
.ch-theme-community-content-wrap .ch-profile-route-wrap {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* Desktop post buttons: closer, cleaner, not stretched across the card. Mobile remains controlled below. */
@media (min-width: 783px) {
	.ch-theme .ch-feed .ch-action-row,
	.ch-theme .ch-activity-card .ch-action-row,
	.ch-theme .ch-activity-actions {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 6px !important;
		padding: 10px 0 !important;
	}
	.ch-theme .ch-feed .ch-action-row button,
	.ch-theme .ch-feed .ch-action-row .ch-action-button,
	.ch-theme .ch-feed .ch-action-row .ch-reaction-trigger,
	.ch-theme .ch-activity-card .ch-action-row button,
	.ch-theme .ch-activity-card .ch-action-row .ch-action-button,
	.ch-theme .ch-activity-card .ch-action-row .ch-reaction-trigger,
	.ch-theme .ch-activity-actions button,
	.ch-theme .ch-activity-actions a,
	.ch-theme .ch-repost-combo-button,
	.ch-theme .ch-bookmark-button {
		flex: 0 0 auto !important;
		min-width: 0 !important;
		width: auto !important;
		padding: 7px 10px !important;
		font-size: 13px !important;
		line-height: 1 !important;
		border-radius: 999px !important;
	}
}

/* Keep the current mobile action-button style. */
@media (max-width: 782px) {
	.ch-theme .ch-feed .ch-action-row,
	.ch-theme .ch-activity-card .ch-action-row {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		justify-content: flex-start !important;
		gap: 6px !important;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.ch-theme .ch-feed .ch-action-row::-webkit-scrollbar,
	.ch-theme .ch-activity-card .ch-action-row::-webkit-scrollbar { display: none; }
}

/* Dark mode: plugin areas that were still light. */
html[data-ch-theme-mode="dark"] body.ch-theme .ch-community-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-page-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-feed-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-notifications-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-members-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-card,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-subnav,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-nav,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-tabs,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-settings-nav,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-section-nav,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-activity-card,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-composer,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-card,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-preview,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-quote-card,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-original-post,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comment,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comment-body,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comments,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comments-wrap,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comment-form,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-reply-form,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-page,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-notifications-page,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-members-directory-page {
	background: var(--ch-theme-surface, #121c2b) !important;
	background-color: var(--ch-theme-surface, #121c2b) !important;
	color: var(--ch-theme-text, #f5f7fb) !important;
	border-color: var(--ch-theme-border, #26364d) !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme .ch-community-header *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-page-header *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-feed-header *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-notifications-header *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-header *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-header *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-subnav *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-nav *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-tabs *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-settings-nav *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-activity-card *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-composer *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-card *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-preview *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-quote-card *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-original-post *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comment *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comments-wrap * {
	color: inherit;
}
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-subnav a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-nav a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-tabs a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-settings-nav a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-section-nav a {
	background: var(--ch-theme-surface-soft, #172235) !important;
	border-color: var(--ch-theme-border, #26364d) !important;
	color: var(--ch-theme-text, #f5f7fb) !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-subnav a:hover,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-nav a:hover,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-tabs a:hover,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-settings-nav a:hover,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-section-nav a:hover,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-subnav a.is-active,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-nav a.is-active,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-tabs a.is-active,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-settings-nav a.is-active,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-section-nav a.is-active {
	background: color-mix(in srgb, var(--ch-theme-blue, #0080ff) 22%, var(--ch-theme-surface, #121c2b)) !important;
	border-color: color-mix(in srgb, var(--ch-theme-blue, #0080ff) 45%, var(--ch-theme-border, #26364d)) !important;
	color: #ffffff !important;
}

/* Names/timestamps should not randomly turn blue. Content links stay blue. */
.ch-theme .ch-activity-header a,
.ch-theme .ch-activity-author a,
.ch-theme .ch-activity-name,
.ch-theme a.ch-activity-name,
.ch-theme .ch-comment-header a,
.ch-theme .ch-comment-author,
.ch-theme a.ch-comment-author,
.ch-theme .ch-post-time,
.ch-theme a.ch-post-time,
.ch-theme .ch-comment-date,
.ch-theme a.ch-comment-date,
.ch-theme .ch-repost-embed-header a,
.ch-theme .ch-repost-embed-name,
.ch-theme .ch-repost-embed-time,
.ch-theme .ch-member-card-name,
.ch-theme .ch-profile-name {
	color: var(--ch-theme-text, #111827) !important;
	text-decoration: none !important;
}
.ch-theme .ch-post-time,
.ch-theme a.ch-post-time,
.ch-theme .ch-comment-date,
.ch-theme a.ch-comment-date,
.ch-theme .ch-repost-embed-time { color: var(--ch-theme-muted, #667085) !important; }
.ch-theme .ch-activity-content a,
.ch-theme .ch-comment-content a,
.ch-theme .ch-link-preview-card { color: var(--ch-theme-blue, #0080ff) !important; }

/* Badge text color support. */
.ch-user-badge {
	background: var(--ch-badge-color, var(--ch-theme-blue, #0080ff)) !important;
	color: var(--ch-badge-text-color, #ffffff) !important;
}
.ch-user-badge *,
.ch-user-badge-label,
.ch-user-badge-emoji,
a.ch-user-badge,
.ch-user-badge a { color: var(--ch-badge-text-color, #ffffff) !important; }





/* =========================================================
   CommunityHub - Comments Dark Mode Patch
   Safe CSS-only patch
   ========================================================= */

body.ch-theme-dark .ch-comments,
body.ch-theme-dark .ch-comments-wrap,
body.ch-theme-dark .ch-comment-list,
body.ch-theme-dark .ch-comment-thread,
body.ch-theme-dark .ch-comment,
body.ch-theme-dark .ch-comment-item,
body.ch-theme-dark .ch-reply,
body.ch-theme-dark .ch-reply-item,
body.ch-theme-dark .ch-comment-card,
body.ch-theme-dark .ch-reply-card {
	background: transparent !important;
	color: var(--ch-text, #f5f7fb) !important;
}

body.ch-theme-dark .ch-comment-body,
body.ch-theme-dark .ch-comment-content,
body.ch-theme-dark .ch-comment-text,
body.ch-theme-dark .ch-reply-body,
body.ch-theme-dark .ch-reply-content,
body.ch-theme-dark .ch-reply-text {
	color: var(--ch-text, #f5f7fb) !important;
}

body.ch-theme-dark .ch-comment-inner,
body.ch-theme-dark .ch-comment-main,
body.ch-theme-dark .ch-reply-inner,
body.ch-theme-dark .ch-reply-main {
	background: rgba(255, 255, 255, 0.045) !important;
	border: 1px solid rgba(255, 255, 255, 0.09) !important;
	color: var(--ch-text, #f5f7fb) !important;
	box-shadow: none !important;
}

body.ch-theme-dark .ch-comment-author,
body.ch-theme-dark .ch-comment-author a,
body.ch-theme-dark .ch-comment-name,
body.ch-theme-dark .ch-comment-name a,
body.ch-theme-dark .ch-reply-author,
body.ch-theme-dark .ch-reply-author a,
body.ch-theme-dark .ch-reply-name,
body.ch-theme-dark .ch-reply-name a {
	color: var(--ch-text, #f5f7fb) !important;
}

body.ch-theme-dark .ch-comment-meta,
body.ch-theme-dark .ch-comment-date,
body.ch-theme-dark .ch-comment-time,
body.ch-theme-dark .ch-comment-timestamp,
body.ch-theme-dark .ch-reply-meta,
body.ch-theme-dark .ch-reply-date,
body.ch-theme-dark .ch-reply-time,
body.ch-theme-dark .ch-reply-timestamp {
	color: rgba(245, 247, 251, 0.68) !important;
}

body.ch-theme-dark .ch-comment-actions,
body.ch-theme-dark .ch-reply-actions {
	color: rgba(245, 247, 251, 0.72) !important;
}

body.ch-theme-dark .ch-comment-actions button,
body.ch-theme-dark .ch-comment-actions a,
body.ch-theme-dark .ch-reply-actions button,
body.ch-theme-dark .ch-reply-actions a,
body.ch-theme-dark .ch-comment-action,
body.ch-theme-dark .ch-reply-action {
	background: transparent !important;
	color: rgba(245, 247, 251, 0.78) !important;
	border-color: transparent !important;
	box-shadow: none !important;
}

body.ch-theme-dark .ch-comment-actions button:hover,
body.ch-theme-dark .ch-comment-actions a:hover,
body.ch-theme-dark .ch-reply-actions button:hover,
body.ch-theme-dark .ch-reply-actions a:hover,
body.ch-theme-dark .ch-comment-action:hover,
body.ch-theme-dark .ch-reply-action:hover {
	background: rgba(255, 255, 255, 0.08) !important;
	color: #ffffff !important;
}

body.ch-theme-dark .ch-comment-form,
body.ch-theme-dark .ch-reply-form,
body.ch-theme-dark .ch-js-reply-form,
body.ch-theme-dark .ch-edit-form {
	background: rgba(255, 255, 255, 0.045) !important;
	border: 1px solid rgba(255, 255, 255, 0.09) !important;
	color: var(--ch-text, #f5f7fb) !important;
}

body.ch-theme-dark .ch-comment-form textarea,
body.ch-theme-dark .ch-reply-form textarea,
body.ch-theme-dark .ch-js-reply-form textarea,
body.ch-theme-dark .ch-edit-form textarea,
body.ch-theme-dark textarea.ch-comment-input,
body.ch-theme-dark textarea.ch-reply-input {
	background: rgba(0, 0, 0, 0.25) !important;
	color: #f5f7fb !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
}

body.ch-theme-dark .ch-comment-form textarea::placeholder,
body.ch-theme-dark .ch-reply-form textarea::placeholder,
body.ch-theme-dark .ch-js-reply-form textarea::placeholder,
body.ch-theme-dark .ch-edit-form textarea::placeholder {
	color: rgba(245, 247, 251, 0.45) !important;
}

body.ch-theme-dark .ch-comment-submit,
body.ch-theme-dark .ch-reply-submit,
body.ch-theme-dark .ch-edit-submit,
body.ch-theme-dark .ch-comment-form button[type="submit"],
body.ch-theme-dark .ch-reply-form button[type="submit"],
body.ch-theme-dark .ch-js-reply-form button[type="submit"] {
	background: var(--ch-accent, #2563eb) !important;
	color: #ffffff !important;
	border-color: transparent !important;
}

body.ch-theme-dark .ch-comment-menu,
body.ch-theme-dark .ch-comment-menu-dropdown,
body.ch-theme-dark .ch-comment-dropdown,
body.ch-theme-dark .ch-reply-menu,
body.ch-theme-dark .ch-reply-menu-dropdown {
	background: #111827 !important;
	color: #f5f7fb !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.35) !important;
}

body.ch-theme-dark .ch-comment-menu button,
body.ch-theme-dark .ch-comment-menu-dropdown button,
body.ch-theme-dark .ch-comment-dropdown button,
body.ch-theme-dark .ch-reply-menu button,
body.ch-theme-dark .ch-reply-menu-dropdown button {
	color: #f5f7fb !important;
	background: transparent !important;
}

body.ch-theme-dark .ch-comment-menu button:hover,
body.ch-theme-dark .ch-comment-menu-dropdown button:hover,
body.ch-theme-dark .ch-comment-dropdown button:hover,
body.ch-theme-dark .ch-reply-menu button:hover,
body.ch-theme-dark .ch-reply-menu-dropdown button:hover {
	background: rgba(255, 255, 255, 0.08) !important;
}

body.ch-theme-dark .ch-comment-attachment,
body.ch-theme-dark .ch-reply-attachment,
body.ch-theme-dark .ch-comment-attachment-card {
	background: rgba(255, 255, 255, 0.055) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	color: #f5f7fb !important;
}

body.ch-theme-dark .ch-comment-attachment a,
body.ch-theme-dark .ch-reply-attachment a,
body.ch-theme-dark .ch-comment-attachment-card a {
	color: #93c5fd !important;
}



/* =========================================================
   CommunityHub Dark Mode Patch - Profile Stack + Comments
   Safe CSS-only override
   ========================================================= */

/* Profile page white stack blocks */
body.ch-theme-dark .ch-profile-page,
body.ch-theme-dark .ch-profile-shell,
body.ch-theme-dark .ch-profile-content,
body.ch-theme-dark .ch-profile-main,
body.ch-theme-dark .ch-profile-card,
body.ch-theme-dark .ch-profile-section,
body.ch-theme-dark .ch-profile-tab-panel,
body.ch-theme-dark .ch-profile-posts,
body.ch-theme-dark .ch-profile-comments,
body.ch-theme-dark .ch-profile-media,
body.ch-theme-dark .ch-profile-about {
	background: transparent !important;
	color: #f5f7fb !important;
}

/* Profile nav white bar under profile header */
body.ch-theme-dark .ch-profile-nav,
body.ch-theme-dark .ch-profile-subnav,
body.ch-theme-dark .ch-profile-tabs,
body.ch-theme-dark .ch-community-nav,
body.ch-theme-dark .ch-community-page-nav,
body.ch-theme-dark .ch-hub-nav,
body.ch-theme-dark .ch-profile-community-nav {
	background: rgba(15, 23, 42, 0.92) !important;
	border: 1px solid rgba(148, 163, 184, 0.18) !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.25) !important;
	color: #f5f7fb !important;
}

/* Profile nav buttons */
body.ch-theme-dark .ch-profile-nav a,
body.ch-theme-dark .ch-profile-subnav a,
body.ch-theme-dark .ch-profile-tabs a,
body.ch-theme-dark .ch-community-nav a,
body.ch-theme-dark .ch-community-page-nav a,
body.ch-theme-dark .ch-hub-nav a,
body.ch-theme-dark .ch-profile-community-nav a,
body.ch-theme-dark .ch-profile-nav button,
body.ch-theme-dark .ch-profile-subnav button,
body.ch-theme-dark .ch-profile-tabs button,
body.ch-theme-dark .ch-community-nav button,
body.ch-theme-dark .ch-community-page-nav button,
body.ch-theme-dark .ch-hub-nav button {
	background: rgba(255, 255, 255, 0.055) !important;
	border: 1px solid rgba(148, 163, 184, 0.16) !important;
	color: #dbeafe !important;
	box-shadow: none !important;
}

body.ch-theme-dark .ch-profile-nav a:hover,
body.ch-theme-dark .ch-profile-subnav a:hover,
body.ch-theme-dark .ch-profile-tabs a:hover,
body.ch-theme-dark .ch-community-nav a:hover,
body.ch-theme-dark .ch-community-page-nav a:hover,
body.ch-theme-dark .ch-hub-nav a:hover,
body.ch-theme-dark .ch-profile-nav button:hover,
body.ch-theme-dark .ch-profile-subnav button:hover,
body.ch-theme-dark .ch-profile-tabs button:hover,
body.ch-theme-dark .ch-community-nav button:hover,
body.ch-theme-dark .ch-community-page-nav button:hover,
body.ch-theme-dark .ch-hub-nav button:hover {
	background: rgba(59, 130, 246, 0.18) !important;
	color: #ffffff !important;
	border-color: rgba(96, 165, 250, 0.35) !important;
}

body.ch-theme-dark .ch-profile-nav .active,
body.ch-theme-dark .ch-profile-subnav .active,
body.ch-theme-dark .ch-profile-tabs .active,
body.ch-theme-dark .ch-community-nav .active,
body.ch-theme-dark .ch-community-page-nav .active,
body.ch-theme-dark .ch-hub-nav .active,
body.ch-theme-dark .ch-profile-nav .is-active,
body.ch-theme-dark .ch-profile-subnav .is-active,
body.ch-theme-dark .ch-profile-tabs .is-active,
body.ch-theme-dark .ch-community-nav .is-active,
body.ch-theme-dark .ch-community-page-nav .is-active,
body.ch-theme-dark .ch-hub-nav .is-active {
	background: #2563eb !important;
	color: #ffffff !important;
	border-color: #2563eb !important;
}

/* White section title block: "MACDOGG's Posts" */
body.ch-theme-dark .ch-profile-section-title,
body.ch-theme-dark .ch-profile-section-header,
body.ch-theme-dark .ch-profile-feed-title,
body.ch-theme-dark .ch-profile-posts-title,
body.ch-theme-dark .ch-profile-tab-title,
body.ch-theme-dark .ch-section-title,
body.ch-theme-dark .ch-section-header {
	background: rgba(15, 23, 42, 0.92) !important;
	border: 1px solid rgba(148, 163, 184, 0.18) !important;
	color: #f8fafc !important;
	box-shadow: none !important;
}

body.ch-theme-dark .ch-profile-section-title h1,
body.ch-theme-dark .ch-profile-section-title h2,
body.ch-theme-dark .ch-profile-section-title h3,
body.ch-theme-dark .ch-profile-section-header h1,
body.ch-theme-dark .ch-profile-section-header h2,
body.ch-theme-dark .ch-profile-section-header h3,
body.ch-theme-dark .ch-section-title h1,
body.ch-theme-dark .ch-section-title h2,
body.ch-theme-dark .ch-section-title h3,
body.ch-theme-dark .ch-section-header h1,
body.ch-theme-dark .ch-section-header h2,
body.ch-theme-dark .ch-section-header h3 {
	color: #f8fafc !important;
}

/* Activity cards on profile pages */
body.ch-theme-dark .ch-activity-card,
body.ch-theme-dark .ch-profile-page .ch-activity-card,
body.ch-theme-dark .ch-feed .ch-activity-card {
	background: rgba(15, 23, 42, 0.94) !important;
	border: 1px solid rgba(148, 163, 184, 0.18) !important;
	color: #f5f7fb !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.22) !important;
}

/* Activity author/timestamp/action text */
body.ch-theme-dark .ch-activity-name,
body.ch-theme-dark .ch-activity-name a,
body.ch-theme-dark .ch-activity-author,
body.ch-theme-dark .ch-activity-author a,
body.ch-theme-dark .ch-activity-meta,
body.ch-theme-dark .ch-activity-time,
body.ch-theme-dark .ch-activity-time a,
body.ch-theme-dark .ch-activity-date,
body.ch-theme-dark .ch-activity-date a,
body.ch-theme-dark .ch-activity-content,
body.ch-theme-dark .ch-activity-content p {
	color: #f5f7fb !important;
}

body.ch-theme-dark .ch-activity-meta,
body.ch-theme-dark .ch-activity-time,
body.ch-theme-dark .ch-activity-time a,
body.ch-theme-dark .ch-activity-date,
body.ch-theme-dark .ch-activity-date a {
	color: rgba(245, 247, 251, 0.68) !important;
}

/* Desktop action buttons closer/readable, mobile left alone */
@media (min-width: 769px) {
	body.ch-theme-dark .ch-activity-actions {
		gap: 8px !important;
		justify-content: flex-start !important;
	}

	body.ch-theme-dark .ch-activity-actions button,
	body.ch-theme-dark .ch-activity-actions a,
	body.ch-theme-dark .ch-activity-action {
		background: transparent !important;
		color: rgba(245, 247, 251, 0.72) !important;
		border: 0 !important;
		box-shadow: none !important;
		padding: 7px 9px !important;
	}

	body.ch-theme-dark .ch-activity-actions button:hover,
	body.ch-theme-dark .ch-activity-actions a:hover,
	body.ch-theme-dark .ch-activity-action:hover {
		background: rgba(255, 255, 255, 0.075) !important;
		color: #ffffff !important;
	}
}

/* Comments/replies still stuck in light mode */
body.ch-theme-dark .ch-comments,
body.ch-theme-dark .ch-comments-wrap,
body.ch-theme-dark .ch-comment-list,
body.ch-theme-dark .ch-comment-thread,
body.ch-theme-dark .ch-comment,
body.ch-theme-dark .ch-comment-item,
body.ch-theme-dark .ch-comment-card,
body.ch-theme-dark .ch-comment-inner,
body.ch-theme-dark .ch-comment-main,
body.ch-theme-dark .ch-reply,
body.ch-theme-dark .ch-reply-item,
body.ch-theme-dark .ch-reply-card,
body.ch-theme-dark .ch-reply-inner,
body.ch-theme-dark .ch-reply-main {
	background: rgba(15, 23, 42, 0.88) !important;
	border-color: rgba(148, 163, 184, 0.16) !important;
	color: #f5f7fb !important;
	box-shadow: none !important;
}

body.ch-theme-dark .ch-comment-body,
body.ch-theme-dark .ch-comment-content,
body.ch-theme-dark .ch-comment-text,
body.ch-theme-dark .ch-comment-content p,
body.ch-theme-dark .ch-reply-body,
body.ch-theme-dark .ch-reply-content,
body.ch-theme-dark .ch-reply-text,
body.ch-theme-dark .ch-reply-content p {
	color: #f5f7fb !important;
}

body.ch-theme-dark .ch-comment-author,
body.ch-theme-dark .ch-comment-author a,
body.ch-theme-dark .ch-comment-name,
body.ch-theme-dark .ch-comment-name a,
body.ch-theme-dark .ch-reply-author,
body.ch-theme-dark .ch-reply-author a,
body.ch-theme-dark .ch-reply-name,
body.ch-theme-dark .ch-reply-name a {
	color: #ffffff !important;
}

body.ch-theme-dark .ch-comment-meta,
body.ch-theme-dark .ch-comment-date,
body.ch-theme-dark .ch-comment-time,
body.ch-theme-dark .ch-comment-timestamp,
body.ch-theme-dark .ch-reply-meta,
body.ch-theme-dark .ch-reply-date,
body.ch-theme-dark .ch-reply-time,
body.ch-theme-dark .ch-reply-timestamp {
	color: rgba(245, 247, 251, 0.62) !important;
}

/* Comment forms */
body.ch-theme-dark .ch-comment-form,
body.ch-theme-dark .ch-reply-form,
body.ch-theme-dark .ch-js-reply-form,
body.ch-theme-dark .ch-edit-form {
	background: rgba(15, 23, 42, 0.92) !important;
	border: 1px solid rgba(148, 163, 184, 0.18) !important;
	color: #f5f7fb !important;
}

body.ch-theme-dark .ch-comment-form textarea,
body.ch-theme-dark .ch-reply-form textarea,
body.ch-theme-dark .ch-js-reply-form textarea,
body.ch-theme-dark .ch-edit-form textarea,
body.ch-theme-dark textarea.ch-comment-input,
body.ch-theme-dark textarea.ch-reply-input {
	background: rgba(2, 6, 23, 0.82) !important;
	color: #f5f7fb !important;
	border: 1px solid rgba(148, 163, 184, 0.22) !important;
}

body.ch-theme-dark .ch-comment-form textarea::placeholder,
body.ch-theme-dark .ch-reply-form textarea::placeholder,
body.ch-theme-dark .ch-js-reply-form textarea::placeholder,
body.ch-theme-dark .ch-edit-form textarea::placeholder {
	color: rgba(245, 247, 251, 0.42) !important;
}

/* Comment menu/dropdowns */
body.ch-theme-dark .ch-comment-menu,
body.ch-theme-dark .ch-comment-menu-dropdown,
body.ch-theme-dark .ch-comment-dropdown,
body.ch-theme-dark .ch-reply-menu,
body.ch-theme-dark .ch-reply-menu-dropdown {
	background: #111827 !important;
	border: 1px solid rgba(148, 163, 184, 0.18) !important;
	color: #f5f7fb !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.35) !important;
}

body.ch-theme-dark .ch-comment-menu button,
body.ch-theme-dark .ch-comment-menu-dropdown button,
body.ch-theme-dark .ch-comment-dropdown button,
body.ch-theme-dark .ch-reply-menu button,
body.ch-theme-dark .ch-reply-menu-dropdown button {
	background: transparent !important;
	color: #f5f7fb !important;
}

body.ch-theme-dark .ch-comment-menu button:hover,
body.ch-theme-dark .ch-comment-menu-dropdown button:hover,
body.ch-theme-dark .ch-comment-dropdown button:hover,
body.ch-theme-dark .ch-reply-menu button:hover,
body.ch-theme-dark .ch-reply-menu-dropdown button:hover {
	background: rgba(255, 255, 255, 0.08) !important;
	color: #ffffff !important;
}

/* Profile inner BuddyPress-ish leftovers */
body.ch-theme-dark .item-list-tabs,
body.ch-theme-dark .bp-navs,
body.ch-theme-dark .bp-subnavs,
body.ch-theme-dark .bp-wrap,
body.ch-theme-dark .bp-profile-content,
body.ch-theme-dark .bp-profile-wrapper,
body.ch-theme-dark .youzify,
body.ch-theme-dark .yz-profile,
body.ch-theme-dark .yz-page,
body.ch-theme-dark .yz-content {
	background: rgba(15, 23, 42, 0.92) !important;
	color: #f5f7fb !important;
	border-color: rgba(148, 163, 184, 0.18) !important;
}

body.ch-theme-dark .item-list-tabs a,
body.ch-theme-dark .bp-navs a,
body.ch-theme-dark .bp-subnavs a,
body.ch-theme-dark .youzify a,
body.ch-theme-dark .yz-profile a {
	color: #dbeafe !important;
}



/* COMMUNITYHUB DARK MODE ROOT TEST */
body.ch-theme-dark .ch-comment-bubble,
html.ch-theme-dark .ch-comment-bubble,
body.ch-dark-mode .ch-comment-bubble,
html.ch-dark-mode .ch-comment-bubble,
body[data-theme="dark"] .ch-comment-bubble,
html[data-theme="dark"] .ch-comment-bubble,
body[data-color-mode="dark"] .ch-comment-bubble,
html[data-color-mode="dark"] .ch-comment-bubble {
	background: red !important;
	color: white !important;
}

/* =========================================================
   v1.0.23 — Author-marked explicit community posts
   ========================================================= */
.ch-composer-content-options {
	margin: 10px 0 2px;
}
.ch-composer-explicit-option {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 11px;
	border: 1px solid rgba(127,127,127,.22);
	border-radius: 10px;
	cursor: pointer;
}
.ch-composer-explicit-option input {
	margin: 0;
}
.ch-composer-explicit-mark,
.ch-explicit-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	padding: 3px 6px;
	border-radius: 6px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .03em;
	background: rgba(180, 35, 35, .12);
	color: #b42323;
}
.ch-composer-explicit-copy {
	display: grid;
	gap: 1px;
	line-height: 1.2;
}
.ch-composer-explicit-copy small {
	opacity: .68;
	font-size: 12px;
	font-weight: 500;
}
.ch-explicit-content-shell {
	position: relative;
}
.ch-explicit-content-shell.is-protected {
	min-height: 148px;
	overflow: hidden;
	border-radius: 12px;
	background: rgba(127,127,127,.06);
}
.ch-explicit-content-shell.is-protected > .ch-explicit-content {
	filter: blur(18px);
	transform: scale(1.025);
	user-select: none;
	pointer-events: none;
	opacity: .7;
}
.ch-explicit-overlay {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 24px;
	text-align: center;
	background: rgba(18,18,18,.16);
	backdrop-filter: blur(2px);
}
.ch-explicit-overlay strong {
	font-size: 16px;
}
.ch-explicit-overlay > span:not(.ch-explicit-badge) {
	font-size: 13px;
	opacity: .75;
}
.ch-explicit-reveal {
	margin-top: 3px;
	padding: 8px 14px;
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	font-weight: 700;
}
.ch-explicit-content-shell.is-revealed > .ch-explicit-content {
	filter: none;
	transform: none;
	opacity: 1;
	user-select: auto;
	pointer-events: auto;
}
.ch-explicit-content-shell.is-revealed > .ch-explicit-overlay {
	display: none;
}
.ch-edit-explicit-option {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 8px 0;
	font-size: 13px;
	font-weight: 650;
}


/* v1.0.24 — Profile privacy/legal controls */
.ch-profile-legal-preferences{
	margin-top:20px;
	padding-top:20px;
	border-top:1px solid rgba(127,127,127,.18);
}
.ch-profile-legal-head{margin-bottom:10px}
.ch-profile-legal-head h4{margin:0 0 3px;font-size:16px}
.ch-profile-legal-head p{margin:0;opacity:.7}
.ch-profile-legal-grid{display:grid;gap:10px}
.ch-profile-legal-item{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	padding:14px;
	border:1px solid rgba(127,127,127,.18);
	border-radius:12px;
}
.ch-profile-legal-item p{margin:3px 0 0;opacity:.72;font-size:13px}
.ch-profile-legal-item small{display:block;margin-top:4px;opacity:.62}
@media(max-width:640px){
	.ch-profile-legal-item{align-items:flex-start;flex-direction:column}
	.ch-profile-legal-item .ch-profile-settings-button{width:100%;text-align:center;box-sizing:border-box}
}


/* =========================================================
   v1.0.25 — Profile Settings tabs + readable light/dark colors
   ========================================================= */
.ch-profile-settings-shell{
	--ch-settings-bg:#ffffff;
	--ch-settings-bg-soft:#f8fafc;
	--ch-settings-bg-accent:#eff6ff;
	--ch-settings-border:#dbe3ec;
	--ch-settings-border-soft:#e5eaf0;
	--ch-settings-text:#111827;
	--ch-settings-muted:#64748b;
	--ch-settings-link:#1d4ed8;
	--ch-settings-primary:#2563eb;
	color:var(--ch-settings-text)!important;
}
.ch-profile-settings-shell [hidden]{display:none!important}
.ch-profile-settings-nav,
.ch-profile-settings-card,
.ch-profile-privacy-field,
.ch-profile-toggle-row,
.ch-profile-account-field,
.ch-profile-legal-item,
.ch-profile-privacy-choice-card{
	background:var(--ch-settings-bg)!important;
	border-color:var(--ch-settings-border)!important;
	color:var(--ch-settings-text)!important;
}
.ch-profile-settings-header h2,
.ch-profile-settings-card h3,
.ch-profile-settings-card h4,
.ch-profile-settings-card strong,
.ch-profile-settings-card label,
.ch-profile-settings-card .ch-profile-account-field>span,
.ch-profile-settings-card .ch-profile-privacy-field>span,
.ch-profile-toggle-row strong,
.ch-profile-legal-item strong,
.ch-profile-privacy-choice-card strong{
	color:var(--ch-settings-text)!important;
}
.ch-profile-settings-header p,
.ch-profile-settings-card p,
.ch-profile-settings-card small,
.ch-profile-privacy-field small,
.ch-profile-toggle-row small,
.ch-profile-legal-item p,
.ch-profile-legal-item small,
.ch-profile-privacy-choice-card p{
	color:var(--ch-settings-muted)!important;
}
.ch-profile-settings-nav-item{color:var(--ch-settings-muted)!important}
.ch-profile-settings-nav-item:hover,
.ch-profile-settings-nav-item.is-active{
	background:var(--ch-settings-bg-accent)!important;
	color:var(--ch-settings-link)!important;
}
.ch-profile-settings-card input[type="text"],
.ch-profile-settings-card input[type="email"],
.ch-profile-settings-card input[type="password"],
.ch-profile-settings-card select,
.ch-profile-settings-card textarea{
	background:var(--ch-settings-bg)!important;
	border-color:var(--ch-settings-border)!important;
	color:var(--ch-settings-text)!important;
}
.ch-profile-privacy-summary,
.ch-profile-notifications-master{
	background:var(--ch-settings-bg-accent)!important;
	border-color:var(--ch-settings-border)!important;
}
.ch-profile-settings-row,
.ch-profile-settings-option,
.ch-profile-settings-empty-mini{
	background:var(--ch-settings-bg-soft)!important;
	border-color:var(--ch-settings-border-soft)!important;
}
.ch-profile-privacy-choice-card{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	margin-top:16px;
	padding:14px;
	border:1px solid var(--ch-settings-border);
	border-radius:14px;
}
.ch-profile-privacy-choice-card p{margin:3px 0 0}
.ch-profile-settings-button-secondary{
	background:var(--ch-settings-bg)!important;
	color:var(--ch-settings-link)!important;
	border:1px solid var(--ch-settings-border)!important;
	box-shadow:none!important;
}
.ch-profile-legal-card{scroll-margin-top:24px}

html[data-ch-theme-mode="dark"] .ch-profile-settings-shell,
body.ch-theme-mode-dark .ch-profile-settings-shell{
	--ch-settings-bg:#17191d;
	--ch-settings-bg-soft:#1d2025;
	--ch-settings-bg-accent:#182337;
	--ch-settings-border:#343942;
	--ch-settings-border-soft:#2b3038;
	--ch-settings-text:#f2f4f7;
	--ch-settings-muted:#aeb6c2;
	--ch-settings-link:#8cc7ff;
	--ch-settings-primary:#3b82f6;
}
html[data-ch-theme-mode="dark"] .ch-profile-settings-status,
body.ch-theme-mode-dark .ch-profile-settings-status{
	background:#20242a!important;
	border-color:#3a4049!important;
	color:#c8d0da!important;
}
html[data-ch-theme-mode="dark"] .ch-profile-settings-status.is-live,
body.ch-theme-mode-dark .ch-profile-settings-status.is-live{
	background:#112a23!important;
	border-color:#245e4e!important;
	color:#7ce0bb!important;
}
html[data-ch-theme-mode="dark"] .ch-profile-privacy-summary strong,
body.ch-theme-mode-dark .ch-profile-privacy-summary strong{
	color:#8cc7ff!important;
}
html[data-ch-theme-mode="dark"] .ch-profile-privacy-summary span,
body.ch-theme-mode-dark .ch-profile-privacy-summary span{
	color:#aeb6c2!important;
}

@media(max-width:760px){
	.ch-profile-settings-shell{grid-template-columns:1fr!important}
	.ch-profile-settings-nav{
		position:static!important;
		display:flex!important;
		overflow-x:auto;
		gap:6px;
		scrollbar-width:none;
	}
	.ch-profile-settings-nav::-webkit-scrollbar{display:none}
	.ch-profile-settings-nav-item{flex:0 0 auto;white-space:nowrap}
	.ch-profile-privacy-choice-card{align-items:flex-start;flex-direction:column}
	.ch-profile-privacy-choice-card .ch-profile-settings-button{width:100%}
}


/* =========================================================
   v1.0.26 — Media viewer, inline video, settings/button polish
   ========================================================= */
.ch-media-lightbox-trigger{
	display:block!important;width:100%!important;padding:0!important;margin:0!important;border:0!important;
	border-radius:inherit!important;background:transparent!important;background-image:none!important;
	box-shadow:none!important;cursor:zoom-in!important;appearance:none!important;-webkit-appearance:none!important;
}
.ch-media-lightbox-trigger img{display:block!important}
.ch-media-lightbox[hidden]{display:none!important}
.ch-media-lightbox{
	position:fixed;inset:0;z-index:2147483600;display:grid;place-items:center;padding:22px;
}
.ch-media-lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.88);backdrop-filter:blur(5px)}
.ch-media-lightbox-dialog{position:relative;z-index:1;display:grid;place-items:center;width:min(96vw,1600px);height:min(94vh,1200px)}
.ch-media-lightbox-image{
	display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:10px;
	box-shadow:0 20px 70px rgba(0,0,0,.5)
}
.ch-media-lightbox-close{
	position:absolute!important;right:0!important;top:0!important;z-index:2!important;width:42px!important;height:42px!important;
	padding:0!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:999px!important;
	background:rgba(18,18,18,.82)!important;background-image:none!important;color:#fff!important;box-shadow:none!important;
	font-size:28px!important;line-height:1!important;cursor:pointer!important
}
body.ch-media-lightbox-open{overflow:hidden!important}

.ch-inline-video{margin:10px 0 14px;overflow:hidden;border:1px solid #dbe3ec;border-radius:16px;background:#0b0d10}
.ch-inline-video-stage{position:relative;aspect-ratio:16/9;display:grid;place-items:center;background:#0b0d10}
.ch-inline-video-stage iframe{display:block;width:100%;height:100%;border:0}
.ch-inline-video-consent{display:grid;place-items:center;gap:7px;padding:22px;text-align:center;color:#f8fafc}
.ch-inline-video-consent span{font-size:13px;color:#cbd5e1}
.ch-inline-video-load{
	padding:9px 15px!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:999px!important;
	background:#fff!important;background-image:none!important;color:#111827!important;box-shadow:none!important;font-weight:800!important;cursor:pointer!important
}
.ch-inline-video-source{
	display:block;padding:8px 12px;background:#11151a;color:#cbd5e1!important;font-size:11px;font-weight:750;
	text-align:right;text-decoration:none!important
}

/* Compact comment-menu controls must resist global button styling. */
.ch-comment-menu-toggle,.ch-comment-menu-dropdown button{
	background-image:none!important;box-shadow:none!important;text-shadow:none!important;transform:none!important;appearance:none!important;-webkit-appearance:none!important
}
.ch-comment-menu-toggle{background:transparent!important;border:0!important;color:#64748b!important}
.ch-comment-menu-toggle:hover,.ch-comment-menu-toggle:focus-visible{background:#f1f5f9!important;color:#111827!important}
.ch-comment-menu-dropdown{background:#fff!important;color:#111827!important;border-color:#dbe3ec!important}
.ch-comment-menu-dropdown button{background:transparent!important;color:#111827!important}
.ch-comment-menu-dropdown button:hover,.ch-comment-menu-dropdown button:focus-visible{background:#f1f5f9!important;color:#111827!important}

/* Complete profile-settings color contract across every tab. */
.ch-profile-settings-shell .ch-profile-settings-card,
.ch-profile-settings-shell .ch-profile-settings-card *{border-color:var(--ch-settings-border)}
.ch-profile-settings-shell .ch-profile-settings-card,
.ch-profile-settings-shell .ch-profile-settings-card h1,
.ch-profile-settings-shell .ch-profile-settings-card h2,
.ch-profile-settings-shell .ch-profile-settings-card h3,
.ch-profile-settings-shell .ch-profile-settings-card h4,
.ch-profile-settings-shell .ch-profile-settings-card h5,
.ch-profile-settings-shell .ch-profile-settings-card h6,
.ch-profile-settings-shell .ch-profile-settings-card label,
.ch-profile-settings-shell .ch-profile-settings-card strong,
.ch-profile-settings-shell .ch-profile-settings-card legend{color:var(--ch-settings-text)!important}
.ch-profile-settings-shell .ch-profile-settings-card p,
.ch-profile-settings-shell .ch-profile-settings-card small,
.ch-profile-settings-shell .ch-profile-settings-card .description,
.ch-profile-settings-shell .ch-profile-settings-card .ch-profile-settings-help,
.ch-profile-settings-shell .ch-profile-settings-card .ch-profile-settings-muted{color:var(--ch-settings-muted)!important}
.ch-profile-settings-shell .ch-profile-settings-card a:not(.ch-profile-settings-button){color:var(--ch-settings-link)!important}
.ch-profile-settings-shell .ch-profile-settings-card input,
.ch-profile-settings-shell .ch-profile-settings-card select,
.ch-profile-settings-shell .ch-profile-settings-card textarea{
	background:var(--ch-settings-bg)!important;color:var(--ch-settings-text)!important;border-color:var(--ch-settings-border)!important
}
.ch-profile-settings-shell .ch-profile-settings-card input::placeholder,
.ch-profile-settings-shell .ch-profile-settings-card textarea::placeholder{color:var(--ch-settings-muted)!important;opacity:.8}
.ch-profile-settings-shell .ch-profile-settings-card option{background:var(--ch-settings-bg)!important;color:var(--ch-settings-text)!important}

html[data-ch-theme-mode="dark"] .ch-comment-menu-toggle,
body.ch-theme-mode-dark .ch-comment-menu-toggle{background:transparent!important;color:#aeb6c2!important}
html[data-ch-theme-mode="dark"] .ch-comment-menu-toggle:hover,
html[data-ch-theme-mode="dark"] .ch-comment-menu-toggle:focus-visible,
body.ch-theme-mode-dark .ch-comment-menu-toggle:hover,
body.ch-theme-mode-dark .ch-comment-menu-toggle:focus-visible{background:#252a31!important;color:#f8fafc!important}
html[data-ch-theme-mode="dark"] .ch-comment-menu-dropdown,
body.ch-theme-mode-dark .ch-comment-menu-dropdown{background:#17191d!important;border-color:#343942!important;color:#f2f4f7!important}
html[data-ch-theme-mode="dark"] .ch-comment-menu-dropdown button,
body.ch-theme-mode-dark .ch-comment-menu-dropdown button{background:transparent!important;color:#f2f4f7!important}
html[data-ch-theme-mode="dark"] .ch-comment-menu-dropdown button:hover,
html[data-ch-theme-mode="dark"] .ch-comment-menu-dropdown button:focus-visible,
body.ch-theme-mode-dark .ch-comment-menu-dropdown button:hover,
body.ch-theme-mode-dark .ch-comment-menu-dropdown button:focus-visible{background:#252a31!important;color:#fff!important}


/* =========================================================
   v1.0.27 — Group composer / Badges / single post polish
   ========================================================= */

/* Group composer: give copy and controls proper breathing room. */
.ch-group-composer{
	display:grid!important;
	gap:14px!important;
	padding:18px!important;
}
.ch-group-composer .ch-group-form-heading{
	display:flex!important;
	align-items:center!important;
	gap:12px!important;
	margin:0!important;
}
.ch-group-composer .ch-group-form-heading img,
.ch-group-composer .ch-group-form-heading .avatar{
	flex:0 0 auto!important;
	width:44px!important;
	height:44px!important;
	border-radius:50%!important;
}
.ch-group-composer .ch-group-form-heading>div{
	display:grid!important;
	gap:4px!important;
	min-width:0!important;
}
.ch-group-composer .ch-group-form-heading strong{
	display:block!important;
	margin:0!important;
	color:var(--ch-settings-text,#111827)!important;
	font-size:15px!important;
	font-weight:850!important;
	line-height:1.2!important;
}
.ch-group-composer .ch-group-form-heading span{
	display:block!important;
	margin:0!important;
	color:var(--ch-settings-muted,#64748b)!important;
	font-size:13px!important;
	line-height:1.35!important;
}
.ch-group-composer textarea{
	display:block!important;
	width:100%!important;
	min-height:108px!important;
	margin:0!important;
	padding:13px 14px!important;
	box-sizing:border-box!important;
	resize:vertical!important;
	border:1px solid #dbe3ec!important;
	border-radius:14px!important;
	background:#ffffff!important;
	color:#111827!important;
	line-height:1.5!important;
	box-shadow:none!important;
}
.ch-group-composer textarea::placeholder{color:#7c8797!important}
.ch-group-composer textarea:focus{
	border-color:#60a5fa!important;
	box-shadow:0 0 0 3px rgba(37,99,235,.12)!important;
	outline:none!important;
}
.ch-group-composer .ch-group-form-actions{
	display:flex!important;
	justify-content:flex-end!important;
	align-items:center!important;
	margin:0!important;
}
.ch-group-composer .ch-group-form-status{
	min-height:0!important;
	margin:0!important;
	color:#64748b!important;
	font-size:12px!important;
	line-height:1.35!important;
}
html[data-ch-theme-mode="dark"] .ch-group-composer,
body.ch-theme-mode-dark .ch-group-composer{
	background:#17191d!important;
	border-color:#343942!important;
	color:#f3f4f6!important;
}
html[data-ch-theme-mode="dark"] .ch-group-composer .ch-group-form-heading strong,
body.ch-theme-mode-dark .ch-group-composer .ch-group-form-heading strong{color:#f3f4f6!important}
html[data-ch-theme-mode="dark"] .ch-group-composer .ch-group-form-heading span,
html[data-ch-theme-mode="dark"] .ch-group-composer .ch-group-form-status,
body.ch-theme-mode-dark .ch-group-composer .ch-group-form-heading span,
body.ch-theme-mode-dark .ch-group-composer .ch-group-form-status{color:#aeb6c2!important}
html[data-ch-theme-mode="dark"] .ch-group-composer textarea,
body.ch-theme-mode-dark .ch-group-composer textarea{
	background:#111318!important;
	border-color:#3a4049!important;
	color:#f3f4f6!important;
}
html[data-ch-theme-mode="dark"] .ch-group-composer textarea::placeholder,
body.ch-theme-mode-dark .ch-group-composer textarea::placeholder{color:#8993a1!important}

/* Badges settings tab: override old dark-only shell colors with tab variables. */
.ch-profile-badges-card .ch-profile-badges-shell-item,
.ch-profile-badges-card .ch-profile-badges-live-preview,
.ch-profile-badges-card .ch-profile-badges-info-grid>div{
	background:var(--ch-settings-bg-soft)!important;
	border-color:var(--ch-settings-border)!important;
	color:var(--ch-settings-text)!important;
}
.ch-profile-badges-card .ch-profile-badges-shell-item>span,
.ch-profile-badges-card .ch-profile-badges-info-grid span{
	color:var(--ch-settings-muted)!important;
	-webkit-text-fill-color:var(--ch-settings-muted)!important;
}
.ch-profile-badges-card .ch-profile-badges-shell-item strong,
.ch-profile-badges-card .ch-profile-badges-live-preview>strong,
.ch-profile-badges-card .ch-profile-badges-info-grid strong{
	color:var(--ch-settings-text)!important;
	-webkit-text-fill-color:var(--ch-settings-text)!important;
}
.ch-profile-badges-card .ch-profile-badges-live-preview{
	background:var(--ch-settings-bg)!important;
}

/* Individual Community post header light/dark color contract. */
.ch-single-post-header{
	background:#ffffff!important;
	border-color:#dbe3ec!important;
	color:#111827!important;
}
.ch-single-post-header h1{
	color:#111827!important;
	-webkit-text-fill-color:#111827!important;
}
.ch-single-post-back{
	color:#1d4ed8!important;
	-webkit-text-fill-color:#1d4ed8!important;
}
.ch-single-post-back:hover,
.ch-single-post-back:focus-visible{color:#1e40af!important}
html[data-ch-theme-mode="dark"] .ch-single-post-header,
body.ch-theme-mode-dark .ch-single-post-header{
	background:#17191d!important;
	border-color:#343942!important;
	color:#f3f4f6!important;
	box-shadow:0 2px 8px rgba(0,0,0,.28)!important;
}
html[data-ch-theme-mode="dark"] .ch-single-post-header h1,
body.ch-theme-mode-dark .ch-single-post-header h1{
	color:#f3f4f6!important;
	-webkit-text-fill-color:#f3f4f6!important;
}
html[data-ch-theme-mode="dark"] .ch-single-post-back,
body.ch-theme-mode-dark .ch-single-post-back{
	color:#8cc7ff!important;
	-webkit-text-fill-color:#8cc7ff!important;
}
html[data-ch-theme-mode="dark"] .ch-single-post-back:hover,
html[data-ch-theme-mode="dark"] .ch-single-post-back:focus-visible,
body.ch-theme-mode-dark .ch-single-post-back:hover,
body.ch-theme-mode-dark .ch-single-post-back:focus-visible{color:#b8ddff!important}


/* =========================================================
   v1.0.28 — Post three-dot dropdown button polish
   ========================================================= */
.ch-post-menu-dropdown{
	min-width:172px!important;
	padding:7px!important;
	border:1px solid #dbe3ec!important;
	border-radius:14px!important;
	background:#ffffff!important;
	background-image:none!important;
	color:#111827!important;
	box-shadow:0 14px 34px rgba(15,23,42,.16)!important;
	overflow:hidden!important;
}
.ch-post-menu-dropdown[hidden]{display:none!important}
.ch-post-menu-dropdown button{
	display:flex!important;
	align-items:center!important;
	width:100%!important;
	min-height:38px!important;
	margin:0!important;
	padding:9px 11px!important;
	border:0!important;
	border-radius:9px!important;
	background:transparent!important;
	background-image:none!important;
	box-shadow:none!important;
	text-shadow:none!important;
	transform:none!important;
	appearance:none!important;
	-webkit-appearance:none!important;
	color:#111827!important;
	font-size:13px!important;
	font-weight:700!important;
	line-height:1.2!important;
	text-align:left!important;
	cursor:pointer!important;
}
.ch-post-menu-dropdown button + button{
	margin-top:2px!important;
}
.ch-post-menu-dropdown button:hover,
.ch-post-menu-dropdown button:focus-visible{
	background:#f1f5f9!important;
	background-image:none!important;
	color:#111827!important;
	box-shadow:none!important;
	outline:none!important;
	transform:none!important;
}
.ch-post-menu-dropdown .ch-post-delete{
	color:#b42318!important;
}
.ch-post-menu-dropdown .ch-post-delete:hover,
.ch-post-menu-dropdown .ch-post-delete:focus-visible{
	background:#fff1f0!important;
	color:#b42318!important;
}
.ch-post-menu-dropdown .ch-post-report{
	color:#7c2d12!important;
}
.ch-post-menu-dropdown .ch-post-report:hover,
.ch-post-menu-dropdown .ch-post-report:focus-visible{
	background:#fff7ed!important;
	color:#7c2d12!important;
}

html[data-ch-theme-mode="dark"] .ch-post-menu-dropdown,
body.ch-theme-mode-dark .ch-post-menu-dropdown{
	background:#17191d!important;
	border-color:#343942!important;
	color:#f3f4f6!important;
	box-shadow:0 16px 38px rgba(0,0,0,.4)!important;
}
html[data-ch-theme-mode="dark"] .ch-post-menu-dropdown button,
body.ch-theme-mode-dark .ch-post-menu-dropdown button{
	background:transparent!important;
	color:#f3f4f6!important;
}
html[data-ch-theme-mode="dark"] .ch-post-menu-dropdown button:hover,
html[data-ch-theme-mode="dark"] .ch-post-menu-dropdown button:focus-visible,
body.ch-theme-mode-dark .ch-post-menu-dropdown button:hover,
body.ch-theme-mode-dark .ch-post-menu-dropdown button:focus-visible{
	background:#252a31!important;
	color:#ffffff!important;
}
html[data-ch-theme-mode="dark"] .ch-post-menu-dropdown .ch-post-delete,
body.ch-theme-mode-dark .ch-post-menu-dropdown .ch-post-delete{
	color:#ff9b94!important;
}
html[data-ch-theme-mode="dark"] .ch-post-menu-dropdown .ch-post-delete:hover,
html[data-ch-theme-mode="dark"] .ch-post-menu-dropdown .ch-post-delete:focus-visible,
body.ch-theme-mode-dark .ch-post-menu-dropdown .ch-post-delete:hover,
body.ch-theme-mode-dark .ch-post-menu-dropdown .ch-post-delete:focus-visible{
	background:#351b1b!important;
	color:#ffb4ae!important;
}
html[data-ch-theme-mode="dark"] .ch-post-menu-dropdown .ch-post-report,
body.ch-theme-mode-dark .ch-post-menu-dropdown .ch-post-report{
	color:#fdba74!important;
}
html[data-ch-theme-mode="dark"] .ch-post-menu-dropdown .ch-post-report:hover,
html[data-ch-theme-mode="dark"] .ch-post-menu-dropdown .ch-post-report:focus-visible,
body.ch-theme-mode-dark .ch-post-menu-dropdown .ch-post-report:hover,
body.ch-theme-mode-dark .ch-post-menu-dropdown .ch-post-report:focus-visible{
	background:#342313!important;
	color:#fed7aa!important;
}


/* =========================================================
   v1.0.29 — Unified post/comment three-dot menu standard
   Post menu is the approved visual reference.
   ========================================================= */

/* Shared popup surface */
.ch-post-menu-dropdown,
.ch-comment-menu-dropdown{
	min-width:172px!important;
	padding:7px!important;
	border:1px solid #dbe3ec!important;
	border-radius:14px!important;
	background:#ffffff!important;
	background-image:none!important;
	color:#111827!important;
	box-shadow:0 14px 34px rgba(15,23,42,.16)!important;
	overflow:hidden!important;
}
.ch-post-menu-dropdown[hidden],
.ch-comment-menu-dropdown[hidden]{
	display:none!important;
}

/* Shared action-button contract */
.ch-post-menu-dropdown button,
.ch-comment-menu-dropdown button{
	display:flex!important;
	align-items:center!important;
	width:100%!important;
	min-height:38px!important;
	margin:0!important;
	padding:9px 11px!important;
	border:0!important;
	border-radius:9px!important;
	background:transparent!important;
	background-image:none!important;
	box-shadow:none!important;
	text-shadow:none!important;
	transform:none!important;
	appearance:none!important;
	-webkit-appearance:none!important;
	color:#111827!important;
	font-size:13px!important;
	font-weight:700!important;
	line-height:1.2!important;
	text-align:left!important;
	cursor:pointer!important;
}
.ch-post-menu-dropdown button + button,
.ch-comment-menu-dropdown button + button{
	margin-top:2px!important;
}
.ch-post-menu-dropdown button:hover,
.ch-post-menu-dropdown button:focus-visible,
.ch-comment-menu-dropdown button:hover,
.ch-comment-menu-dropdown button:focus-visible{
	background:#f1f5f9!important;
	background-image:none!important;
	color:#111827!important;
	box-shadow:none!important;
	outline:none!important;
	transform:none!important;
}

/* Shared destructive action */
.ch-post-menu-dropdown .ch-post-delete,
.ch-comment-menu-dropdown .ch-delete-comment{
	color:#b42318!important;
}
.ch-post-menu-dropdown .ch-post-delete:hover,
.ch-post-menu-dropdown .ch-post-delete:focus-visible,
.ch-comment-menu-dropdown .ch-delete-comment:hover,
.ch-comment-menu-dropdown .ch-delete-comment:focus-visible{
	background:#fff1f0!important;
	color:#b42318!important;
}

/* Shared report action */
.ch-post-menu-dropdown .ch-post-report,
.ch-comment-menu-dropdown .ch-report-comment{
	color:#7c2d12!important;
}
.ch-post-menu-dropdown .ch-post-report:hover,
.ch-post-menu-dropdown .ch-post-report:focus-visible,
.ch-comment-menu-dropdown .ch-report-comment:hover,
.ch-comment-menu-dropdown .ch-report-comment:focus-visible{
	background:#fff7ed!important;
	color:#7c2d12!important;
}

/* Dark mode: popup surfaces */
html[data-ch-theme-mode="dark"] .ch-post-menu-dropdown,
html[data-ch-theme-mode="dark"] .ch-comment-menu-dropdown,
body.ch-theme-mode-dark .ch-post-menu-dropdown,
body.ch-theme-mode-dark .ch-comment-menu-dropdown{
	background:#17191d!important;
	border-color:#343942!important;
	color:#f3f4f6!important;
	box-shadow:0 16px 38px rgba(0,0,0,.4)!important;
}
html[data-ch-theme-mode="dark"] .ch-post-menu-dropdown button,
html[data-ch-theme-mode="dark"] .ch-comment-menu-dropdown button,
body.ch-theme-mode-dark .ch-post-menu-dropdown button,
body.ch-theme-mode-dark .ch-comment-menu-dropdown button{
	background:transparent!important;
	color:#f3f4f6!important;
}
html[data-ch-theme-mode="dark"] .ch-post-menu-dropdown button:hover,
html[data-ch-theme-mode="dark"] .ch-post-menu-dropdown button:focus-visible,
html[data-ch-theme-mode="dark"] .ch-comment-menu-dropdown button:hover,
html[data-ch-theme-mode="dark"] .ch-comment-menu-dropdown button:focus-visible,
body.ch-theme-mode-dark .ch-post-menu-dropdown button:hover,
body.ch-theme-mode-dark .ch-post-menu-dropdown button:focus-visible,
body.ch-theme-mode-dark .ch-comment-menu-dropdown button:hover,
body.ch-theme-mode-dark .ch-comment-menu-dropdown button:focus-visible{
	background:#252a31!important;
	color:#ffffff!important;
}

/* Dark mode: destructive action */
html[data-ch-theme-mode="dark"] .ch-post-menu-dropdown .ch-post-delete,
html[data-ch-theme-mode="dark"] .ch-comment-menu-dropdown .ch-delete-comment,
body.ch-theme-mode-dark .ch-post-menu-dropdown .ch-post-delete,
body.ch-theme-mode-dark .ch-comment-menu-dropdown .ch-delete-comment{
	color:#ff9b94!important;
}
html[data-ch-theme-mode="dark"] .ch-post-menu-dropdown .ch-post-delete:hover,
html[data-ch-theme-mode="dark"] .ch-post-menu-dropdown .ch-post-delete:focus-visible,
html[data-ch-theme-mode="dark"] .ch-comment-menu-dropdown .ch-delete-comment:hover,
html[data-ch-theme-mode="dark"] .ch-comment-menu-dropdown .ch-delete-comment:focus-visible,
body.ch-theme-mode-dark .ch-post-menu-dropdown .ch-post-delete:hover,
body.ch-theme-mode-dark .ch-post-menu-dropdown .ch-post-delete:focus-visible,
body.ch-theme-mode-dark .ch-comment-menu-dropdown .ch-delete-comment:hover,
body.ch-theme-mode-dark .ch-comment-menu-dropdown .ch-delete-comment:focus-visible{
	background:#351b1b!important;
	color:#ffb4ae!important;
}

/* Dark mode: report action */
html[data-ch-theme-mode="dark"] .ch-post-menu-dropdown .ch-post-report,
html[data-ch-theme-mode="dark"] .ch-comment-menu-dropdown .ch-report-comment,
body.ch-theme-mode-dark .ch-post-menu-dropdown .ch-post-report,
body.ch-theme-mode-dark .ch-comment-menu-dropdown .ch-report-comment{
	color:#fdba74!important;
}
html[data-ch-theme-mode="dark"] .ch-post-menu-dropdown .ch-post-report:hover,
html[data-ch-theme-mode="dark"] .ch-post-menu-dropdown .ch-post-report:focus-visible,
html[data-ch-theme-mode="dark"] .ch-comment-menu-dropdown .ch-report-comment:hover,
html[data-ch-theme-mode="dark"] .ch-comment-menu-dropdown .ch-report-comment:focus-visible,
body.ch-theme-mode-dark .ch-post-menu-dropdown .ch-post-report:hover,
body.ch-theme-mode-dark .ch-post-menu-dropdown .ch-post-report:focus-visible,
body.ch-theme-mode-dark .ch-comment-menu-dropdown .ch-report-comment:hover,
body.ch-theme-mode-dark .ch-comment-menu-dropdown .ch-report-comment:focus-visible{
	background:#342313!important;
	color:#fed7aa!important;
}


/* =========================================================
   v1.0.29.1 — Explicit 18+ badge stays warning-red in all modes
   ========================================================= */
.ch-composer-explicit-mark,
.ch-explicit-badge,
html[data-ch-theme-mode="dark"] .ch-composer-explicit-mark,
html[data-ch-theme-mode="dark"] .ch-explicit-badge,
body.ch-theme-mode-dark .ch-composer-explicit-mark,
body.ch-theme-mode-dark .ch-explicit-badge{
	background:rgba(180,35,35,.12)!important;
	background-image:none!important;
	color:#b42323!important;
	-webkit-text-fill-color:#b42323!important;
	border-color:transparent!important;
	box-shadow:none!important;
}


/* =========================================================
   v1.0.29.3 — Profile post infinite history loader
   ========================================================= */
.ch-profile-post-autoload{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	min-height:52px;
	margin:8px 0 2px;
	padding:10px;
	color:#64748b;
	font-size:12px;
	font-weight:700;
	text-align:center;
}
.ch-profile-post-retry{
	min-height:34px!important;
	padding:7px 11px!important;
	border:1px solid #dbe3ec!important;
	border-radius:999px!important;
	background:#f8fafc!important;
	background-image:none!important;
	box-shadow:none!important;
	color:#1d4ed8!important;
	font-size:12px!important;
	font-weight:750!important;
	line-height:1.2!important;
	cursor:pointer!important;
}
.ch-profile-post-retry:hover,
.ch-profile-post-retry:focus-visible{
	background:#eff6ff!important;
	border-color:#bfdbfe!important;
	color:#1e40af!important;
}
html[data-ch-theme-mode="dark"] .ch-profile-post-autoload,
body.ch-theme-mode-dark .ch-profile-post-autoload{
	color:#aeb6c2;
}
html[data-ch-theme-mode="dark"] .ch-profile-post-retry,
body.ch-theme-mode-dark .ch-profile-post-retry{
	background:#20242a!important;
	border-color:#3a4049!important;
	color:#8cc7ff!important;
}
html[data-ch-theme-mode="dark"] .ch-profile-post-retry:hover,
html[data-ch-theme-mode="dark"] .ch-profile-post-retry:focus-visible,
body.ch-theme-mode-dark .ch-profile-post-retry:hover,
body.ch-theme-mode-dark .ch-profile-post-retry:focus-visible{
	background:#182337!important;
	border-color:#31577f!important;
	color:#b8ddff!important;
}


/* v1.0.30 — Reporting & moderation workflow */
.ch-report-modal-open{overflow:hidden!important}
.ch-report-modal{position:fixed;inset:0;z-index:2147483550;display:flex;align-items:center;justify-content:center;padding:18px}
.ch-report-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.66);backdrop-filter:blur(3px)}
.ch-report-modal-dialog{position:relative;z-index:1;width:min(520px,100%);padding:22px;border:1px solid #dbe3ec;border-radius:18px;background:#fff;color:#111827;box-shadow:0 24px 70px rgba(15,23,42,.32)}
.ch-report-modal-dialog h2{margin:3px 34px 8px 0;font-size:22px;line-height:1.2}
.ch-report-modal-dialog p{margin:0 0 16px;color:#64748b;line-height:1.5}
.ch-report-modal-kicker{display:inline-flex;padding:4px 9px;border-radius:999px;background:#fff7ed;color:#9a3412;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.ch-report-modal-x{position:absolute!important;top:12px;right:12px;width:34px!important;height:34px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#f1f5f9!important;color:#334155!important;box-shadow:none!important;font-size:22px!important;line-height:1!important;cursor:pointer!important}
.ch-report-field{display:grid;gap:6px;margin:12px 0}
.ch-report-field>span{font-size:13px;font-weight:800;color:#334155}
.ch-report-field small{font-weight:600;color:#94a3b8}
.ch-report-field select,.ch-report-field textarea{width:100%;border:1px solid #cbd5e1!important;border-radius:10px!important;background:#fff!important;color:#111827!important;padding:10px 11px!important;box-shadow:none!important}
.ch-report-field textarea{resize:vertical;min-height:96px}
.ch-report-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.ch-report-cancel,.ch-report-submit{min-height:38px!important;padding:8px 13px!important;border-radius:999px!important;font-size:13px!important;font-weight:800!important;box-shadow:none!important;cursor:pointer!important}
.ch-report-cancel{border:1px solid #cbd5e1!important;background:#fff!important;color:#334155!important}
.ch-report-submit{border:1px solid #b91c1c!important;background:#b91c1c!important;color:#fff!important}
.ch-report-submit:disabled{opacity:.65;cursor:wait!important}
.ch-report-modal-status{margin-top:12px;padding:9px 11px;border-radius:10px;background:#fff1f2;color:#9f1239;font-size:13px;font-weight:700}
.ch-report-modal-status.is-success{background:#ecfdf5;color:#047857}

.ch-explicit-content-shell.is-system-flagged{border:1px solid rgba(220,38,38,.34);border-radius:14px;overflow:hidden}
.ch-system-flag-overlay{background:linear-gradient(145deg,rgba(69,10,10,.92),rgba(24,24,27,.94))!important;color:#fff!important}
.ch-system-flag-overlay>span:not(.ch-system-flag-badge){color:#fecaca!important}
.ch-system-flag-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:#dc2626!important;color:#fff!important;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.035em}
.ch-system-flag-overlay .ch-explicit-reveal{background:#fff!important;color:#991b1b!important;border-color:#fecaca!important}

.ch-moderation-removed-tombstone{margin:12px 0;padding:18px;border:1px dashed #ef4444;border-radius:14px;background:#fff7f7;color:#7f1d1d;display:grid;gap:7px}
.ch-moderation-removed-badge{display:inline-flex;width:max-content;padding:4px 9px;border-radius:999px;background:#991b1b;color:#fff;font-size:11px;font-weight:900;text-transform:uppercase}
.ch-moderation-removed-reason{font-weight:700;color:#991b1b}
.ch-moderation-removed-note{font-size:12px;color:#b45353}

html[data-ch-theme-mode="dark"] .ch-report-modal-dialog,body.ch-theme-mode-dark .ch-report-modal-dialog{background:#17191d;border-color:#343942;color:#f3f4f6}
html[data-ch-theme-mode="dark"] .ch-report-modal-dialog p,body.ch-theme-mode-dark .ch-report-modal-dialog p{color:#aeb6c2}
html[data-ch-theme-mode="dark"] .ch-report-field>span,body.ch-theme-mode-dark .ch-report-field>span{color:#e5e7eb}
html[data-ch-theme-mode="dark"] .ch-report-field select,html[data-ch-theme-mode="dark"] .ch-report-field textarea,body.ch-theme-mode-dark .ch-report-field select,body.ch-theme-mode-dark .ch-report-field textarea{background:#20242a!important;border-color:#3a4049!important;color:#f9fafb!important}
html[data-ch-theme-mode="dark"] .ch-report-cancel,body.ch-theme-mode-dark .ch-report-cancel{background:#20242a!important;border-color:#3a4049!important;color:#e5e7eb!important}
html[data-ch-theme-mode="dark"] .ch-moderation-removed-tombstone,body.ch-theme-mode-dark .ch-moderation-removed-tombstone{background:#2a1719;border-color:#7f1d1d;color:#fecaca}
html[data-ch-theme-mode="dark"] .ch-moderation-removed-reason,body.ch-theme-mode-dark .ch-moderation-removed-reason{color:#fca5a5}
html[data-ch-theme-mode="dark"] .ch-moderation-removed-note,body.ch-theme-mode-dark .ch-moderation-removed-note{color:#d49a9a}

/* v1.0.32 — moderation appeal + removed comment */
.ch-comment-removed-tombstone{display:grid;gap:5px;margin:8px 0;padding:10px 12px;border:1px dashed #dc2626;border-radius:10px;background:#fff7f7;color:#991b1b;font-size:13px}.ch-moderation-appeal-toggle,.ch-moderation-appeal-actions button{width:max-content!important;min-height:36px!important;padding:7px 12px!important;border-radius:999px!important;font-size:12px!important;font-weight:800!important}.ch-moderation-appeal-toggle,.ch-moderation-appeal-actions [data-ch-appeal-submit]{border:1px solid #991b1b!important;background:#991b1b!important;color:#fff!important}.ch-moderation-appeal-form{display:grid;gap:10px;margin-top:8px;padding-top:10px;border-top:1px solid rgba(153,27,27,.22)}.ch-moderation-appeal-form label{display:grid;gap:6px;font-size:12px;font-weight:700}.ch-moderation-appeal-form textarea{width:100%;min-height:96px;padding:10px;border:1px solid #fecaca;border-radius:10px;background:#fff;color:#111827;resize:vertical}.ch-moderation-appeal-actions{display:flex;gap:8px;flex-wrap:wrap}.ch-moderation-appeal-actions [data-ch-appeal-cancel]{border:1px solid #cbd5e1!important;background:#fff!important;color:#334155!important}.ch-moderation-appeal-state,.ch-moderation-appeal-response{display:block;font-size:12px;font-weight:700}.ch-moderation-appeal-state.is-pending{color:#92400e}.ch-moderation-appeal-state.is-rejected{color:#991b1b}.ch-moderation-appeal-response{padding:8px 10px;border-radius:8px;background:rgba(153,27,27,.06);color:#7f1d1d}html[data-ch-theme-mode="dark"] .ch-comment-removed-tombstone,body.ch-theme-mode-dark .ch-comment-removed-tombstone{background:#2a1719;border-color:#7f1d1d;color:#fecaca}html[data-ch-theme-mode="dark"] .ch-moderation-appeal-form textarea,body.ch-theme-mode-dark .ch-moderation-appeal-form textarea{background:#20242a;border-color:#7f1d1d;color:#f9fafb}

/* v1.0.33 media/polls */
.ch-inline-video-stage{position:relative!important;display:block!important;aspect-ratio:16/9;overflow:hidden;background:#080b10!important}.ch-inline-video-poster,.ch-inline-video-poster-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ch-inline-video-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.3))}.ch-inline-video-load{position:absolute!important;inset:0!important;z-index:2!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;width:100%!important;height:100%!important;border:0!important;border-radius:0!important;background:transparent!important;color:#fff!important;box-shadow:none!important}.ch-inline-video-play-icon{width:62px;height:62px}.ch-inline-video-play-icon svg{width:100%;height:100%}.ch-inline-video-play-icon circle{fill:rgba(8,10,14,.84);stroke:#fff;stroke-width:2}.ch-inline-video-play-icon path{fill:#fff}.ch-inline-video-play-copy{display:grid;gap:3px;max-width:70%;padding:8px 10px;border-radius:10px;background:rgba(8,10,14,.58)}.ch-inline-video-play-copy strong{color:#fff!important}.ch-inline-video-play-copy small{color:#e2e8f0!important}.ch-inline-video-stage iframe{position:absolute;inset:0;z-index:4;width:100%;height:100%;border:0}
.ch-composer-poll-tools{margin-top:9px}.ch-composer-poll-toggle,.ch-poll-add-option{min-height:36px!important;padding:7px 11px!important;border:1px solid #dbe3ec!important;border-radius:999px!important;background:#fff!important;color:#334155!important;box-shadow:none!important}.ch-composer-poll-builder{margin-top:9px;padding:13px;border:1px solid #dbe3ec;border-radius:13px;background:#f8fafc}.ch-composer-poll-builder-head{display:flex;justify-content:space-between}.ch-composer-poll-builder label{display:grid;gap:5px;margin:8px 0}.ch-composer-poll-builder input{width:100%;min-height:39px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:9px}.ch-poll-option-inputs{display:grid;gap:7px}.ch-poll{margin:12px 0;padding:15px;border:1px solid #dbe3ec;border-radius:15px;background:#fff}.ch-poll-head{display:grid;gap:5px;margin-bottom:11px}.ch-poll-kicker{width:max-content;padding:4px 8px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:10px;font-weight:900}.ch-poll-options{display:grid;gap:7px}.ch-poll-option{position:relative!important;isolation:isolate!important;display:flex!important;justify-content:space-between!important;width:100%!important;min-height:44px!important;padding:9px 12px!important;overflow:hidden!important;border:1px solid #cbd5e1!important;border-radius:10px!important;background:#fff!important;color:#1f2937!important;box-shadow:none!important}.ch-poll-option-progress{position:absolute;inset:0 auto 0 0;z-index:-1;width:var(--ch-poll-percent);background:#eff6ff}.ch-poll-meta{display:flex;gap:10px;margin-top:10px;color:#64748b;font-size:11px;font-weight:700}

/* v1.0.34 — repost/poll/video polish */
.ch-repost-combo-button.is-reposted{color:#1677d2!important;font-weight:800!important}html[data-ch-theme-mode="dark"] .ch-repost-combo-button.is-reposted,body.ch-theme-mode-dark .ch-repost-combo-button.is-reposted{color:#72b7ff!important}.ch-inline-video-load{background:transparent!important}.ch-inline-video-load:hover,.ch-inline-video-load:focus-visible{background:rgba(0,0,0,.025)!important}.ch-inline-video-play-copy,.ch-inline-video-shade{display:none!important}.ch-inline-video-play-icon{width:66px!important;height:66px!important;filter:drop-shadow(0 7px 20px rgba(0,0,0,.45));transition:transform .16s ease}.ch-inline-video-load:hover .ch-inline-video-play-icon{transform:scale(1.06)}.ch-inline-video-play-icon circle{fill:rgba(0,0,0,.68)!important;stroke:#fff!important;stroke-width:2.2!important}.ch-composer-poll-tools{margin:0!important}.ch-composer-poll-builder{margin:10px 0 5px!important;padding:15px!important;border:1px solid #d8e1ec!important;border-radius:14px!important;background:#f8fafc!important;box-shadow:0 8px 22px rgba(15,23,42,.05)!important}.ch-composer-poll-builder-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0 0 12px!important}.ch-composer-poll-builder label{margin:0 0 10px!important}.ch-poll-option-inputs{display:grid!important;gap:8px!important;margin-bottom:10px!important}.ch-poll-add-option{margin:0!important}.ch-composer-poll-builder>small{display:block!important;margin:9px 0 0!important;line-height:1.35!important}.ch-composer-actions .ch-composer-poll-toggle{display:inline-flex!important;align-items:center!important;gap:6px!important;min-height:36px!important;padding:7px 11px!important;border:1px solid #dbe3ec!important;border-radius:999px!important;background:#fff!important;color:#334155!important;box-shadow:none!important;font-size:12px!important;font-weight:800!important}.ch-composer-actions .ch-composer-poll-toggle[aria-expanded="true"]{border-color:#93c5fd!important;background:#eff6ff!important;color:#1d4ed8!important}html[data-ch-theme-mode="dark"] .ch-composer-poll-builder,body.ch-theme-mode-dark .ch-composer-poll-builder{background:#17191d!important;border-color:#343942!important}


/* v1.0.35 — notification panel footer */
.ch-notification-bell--panel-only{position:static!important}
.ch-notification-bell--panel-only>.ch-notification-button--panel-proxy{
	position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;
	clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;
	opacity:0!important;pointer-events:none!important
}
.ch-notification-dropdown-footer{padding:9px 10px 10px;border-top:1px solid #e5e7eb;background:#fff}
.ch-notification-view-all{
	display:flex!important;align-items:center!important;justify-content:center!important;min-height:36px;
	padding:7px 11px!important;border-radius:9px!important;background:#f1f5f9;color:#1f2937!important;
	font-size:12px!important;font-weight:800!important;text-decoration:none!important
}
.ch-notification-view-all:hover,.ch-notification-view-all:focus-visible{background:#e7eef7;color:#111827!important;outline:none!important}
html[data-ch-theme-mode="dark"] .ch-notification-dropdown-footer,body.ch-theme-mode-dark .ch-notification-dropdown-footer{background:#17191d;border-color:#343942}
html[data-ch-theme-mode="dark"] .ch-notification-view-all,body.ch-theme-mode-dark .ch-notification-view-all{background:#242931;color:#f3f4f6!important}

/* v1.0.38 */
.ch-composer-destination{display:flex;align-items:center;gap:8px;margin:8px 0;color:#64748b;font-size:11px;font-weight:800}.ch-composer-destination select{min-height:34px;padding:5px 28px 5px 9px;border:1px solid #dbe3ec;border-radius:999px}.ch-quick-preview-heading{display:flex;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #e5e7eb}.ch-quick-preview-messages-app{height:min(440px,62vh);overflow:hidden}.ch-quick-preview-cart{max-height:380px;overflow:auto;padding:10px 14px}.ch-quick-preview-shop-link{display:inline-flex;margin:0 14px 12px}.ch-quick-preview-empty{display:grid;gap:8px;padding:16px}


/* =========================================================
   v1.0.39 — deterministic composer action order + removed repost
   ========================================================= */
.ch-composer-actions{
	display:flex!important;
	align-items:center!important;
	flex-wrap:wrap!important;
	gap:8px!important;
}
.ch-composer-actions .ch-composer-upload{order:10!important}
.ch-composer-actions .ch-gif-picker-button{order:20!important}
.ch-composer-actions .ch-composer-poll-toggle{order:30!important}
.ch-composer-actions .ch-composer-submit{
	order:100!important;
	margin-left:auto!important;
}
.ch-repost-embed--removed .ch-repost-missing{
	display:grid;
	gap:5px;
	padding:14px;
	border:1px solid #f0b7b7;
	border-radius:11px;
	background:#fff5f5;
	color:#7f1d1d;
}
html[data-ch-theme-mode="dark"] .ch-repost-embed--removed .ch-repost-missing,
body.ch-theme-mode-dark .ch-repost-embed--removed .ch-repost-missing{
	background:#2a1719;
	border-color:#66363b;
	color:#fecaca;
}


/* =========================================================
   v1.0.40 — composer order, saved page contrast, poll contrast
   ========================================================= */
.ch-composer-actions{display:flex!important;align-items:center!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:10px!important}
.ch-composer-actions .ch-composer-submit{order:5!important;margin-left:0!important}
.ch-composer-actions .ch-composer-upload{order:10!important}
.ch-composer-actions .ch-gif-picker-button{order:20!important}
.ch-composer-actions .ch-composer-poll-toggle{order:30!important}

.ch-bookmarks-header{flex-wrap:wrap!important}
.ch-bookmarks-header>div:first-child{flex:1 1 260px!important;min-width:0!important}
.ch-bookmarks-count{display:grid!important;align-content:center!important;justify-items:center!important;min-width:128px!important}
.ch-bookmarks-empty.ch-empty-state,
.ch-bookmarks-empty.ch-empty-state h2,
.ch-bookmarks-empty.ch-empty-state p{color:inherit!important}
.ch-bookmarks-empty.ch-empty-state .ch-button,
.ch-bookmarks-empty.ch-empty-state .ch-button-primary{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:11px 16px!important;border-radius:12px!important;font-weight:900!important;text-decoration:none!important}
.ch-bookmarks-empty.ch-empty-state .ch-button-primary{background:#2563eb!important;border:1px solid #2563eb!important;color:#fff!important;box-shadow:0 10px 22px rgba(37,99,235,.18)!important}
.ch-bookmarks-empty.ch-empty-state .ch-button-primary:hover,.ch-bookmarks-empty.ch-empty-state .ch-button-primary:focus-visible{background:#1d4ed8!important;border-color:#1d4ed8!important;color:#fff!important}
@media(max-width:720px){.ch-bookmarks-header{display:grid!important;grid-template-columns:minmax(0,1fr)!important}.ch-bookmarks-count{width:100%!important;min-width:0!important}.ch-bookmarks-count span{font-size:24px!important;line-height:1!important}.ch-bookmarks-count small{font-size:11px!important;line-height:1.2!important}}

.ch-poll{background:#fff!important;border:1px solid #dbe3ec!important;color:#0f172a!important}
.ch-poll-head,.ch-poll-question,.ch-poll-option-text,.ch-poll-option-result{color:#0f172a!important}
.ch-poll-meta{color:#64748b!important}
.ch-poll-option{background:#fff!important;border-color:#cbd5e1!important;color:#0f172a!important}
.ch-poll-option-progress{background:#eaf2ff!important}
.ch-poll-option.is-selected{border-color:#93c5fd!important;box-shadow:inset 0 0 0 1px #93c5fd!important}
html[data-ch-theme-mode="dark"] .ch-bookmarks-header,
html[data-ch-theme-mode="dark"] .ch-bookmarks-empty,
html[data-ch-theme-mode="dark"] .ch-saved-route-page,
body.ch-theme-mode-dark .ch-bookmarks-header,
body.ch-theme-mode-dark .ch-bookmarks-empty,
body.ch-theme-mode-dark .ch-saved-route-page{background:#0f172a!important;color:#e5eefb!important}
html[data-ch-theme-mode="dark"] .ch-bookmarks-header,
html[data-ch-theme-mode="dark"] .ch-bookmarks-empty,
body.ch-theme-mode-dark .ch-bookmarks-header,
body.ch-theme-mode-dark .ch-bookmarks-empty{border-color:#334155!important;box-shadow:0 12px 35px rgba(0,0,0,.35)!important}
html[data-ch-theme-mode="dark"] .ch-bookmarks-header h1,
html[data-ch-theme-mode="dark"] .ch-bookmarks-header h2,
html[data-ch-theme-mode="dark"] .ch-empty-state h2,
html[data-ch-theme-mode="dark"] .ch-bookmarks-empty h2,
body.ch-theme-mode-dark .ch-bookmarks-header h1,
body.ch-theme-mode-dark .ch-bookmarks-header h2,
body.ch-theme-mode-dark .ch-empty-state h2,
body.ch-theme-mode-dark .ch-bookmarks-empty h2{color:#f8fafc!important}
html[data-ch-theme-mode="dark"] .ch-bookmarks-header p,
html[data-ch-theme-mode="dark"] .ch-empty-state p,
html[data-ch-theme-mode="dark"] .ch-bookmarks-empty p,
body.ch-theme-mode-dark .ch-bookmarks-header p,
body.ch-theme-mode-dark .ch-empty-state p,
body.ch-theme-mode-dark .ch-bookmarks-empty p{color:#cbd5e1!important}
html[data-ch-theme-mode="dark"] .ch-bookmarks-count,body.ch-theme-mode-dark .ch-bookmarks-count{background:linear-gradient(180deg,#13233f,#0f172a)!important;border-color:#335b9f!important;color:#bfdbfe!important}
html[data-ch-theme-mode="dark"] .ch-bookmarks-count span,body.ch-theme-mode-dark .ch-bookmarks-count span{color:#fff!important}
html[data-ch-theme-mode="dark"] .ch-bookmarks-count small,body.ch-theme-mode-dark .ch-bookmarks-count small{color:#cfe0ff!important}
html[data-ch-theme-mode="dark"] .ch-poll,body.ch-theme-mode-dark .ch-poll{background:#111827!important;border-color:#334155!important;color:#e5eefb!important}
html[data-ch-theme-mode="dark"] .ch-poll-kicker,body.ch-theme-mode-dark .ch-poll-kicker{background:#1e3a8a!important;color:#dbeafe!important}
html[data-ch-theme-mode="dark"] .ch-poll-head,
html[data-ch-theme-mode="dark"] .ch-poll-question,
html[data-ch-theme-mode="dark"] .ch-poll-option-text,
html[data-ch-theme-mode="dark"] .ch-poll-option-result,
body.ch-theme-mode-dark .ch-poll-head,
body.ch-theme-mode-dark .ch-poll-question,
body.ch-theme-mode-dark .ch-poll-option-text,
body.ch-theme-mode-dark .ch-poll-option-result{color:#f8fafc!important}
html[data-ch-theme-mode="dark"] .ch-poll-meta,body.ch-theme-mode-dark .ch-poll-meta{color:#cbd5e1!important}
html[data-ch-theme-mode="dark"] .ch-poll-option,body.ch-theme-mode-dark .ch-poll-option{background:#0f172a!important;border-color:#334155!important;color:#f8fafc!important}
html[data-ch-theme-mode="dark"] .ch-poll-option-progress,body.ch-theme-mode-dark .ch-poll-option-progress{background:rgba(59,130,246,.22)!important}
html[data-ch-theme-mode="dark"] .ch-composer-poll-builder,body.ch-theme-mode-dark .ch-composer-poll-builder{background:#111827!important;border-color:#334155!important;color:#e5eefb!important}
html[data-ch-theme-mode="dark"] .ch-composer-poll-builder input,body.ch-theme-mode-dark .ch-composer-poll-builder input{background:#0f172a!important;border-color:#334155!important;color:#f8fafc!important}
html[data-ch-theme-mode="dark"] .ch-composer-actions .ch-composer-upload,
html[data-ch-theme-mode="dark"] .ch-composer-actions .ch-gif-picker-button,
html[data-ch-theme-mode="dark"] .ch-composer-actions .ch-composer-poll-toggle,
body.ch-theme-mode-dark .ch-composer-actions .ch-composer-upload,
body.ch-theme-mode-dark .ch-composer-actions .ch-gif-picker-button,
body.ch-theme-mode-dark .ch-composer-actions .ch-composer-poll-toggle{background:#0f172a!important;border-color:#334155!important;color:#e5eefb!important}


/* v1.0.41 — deterministic composer action row */
.ch-composer-actions{display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:wrap!important;gap:10px!important}
.ch-composer-actions .ch-composer-submit{order:10!important;margin:0!important}
.ch-composer-actions .ch-composer-upload{order:20!important;margin:0!important}
.ch-composer-actions .ch-gif-picker-button{order:30!important;margin:0!important}
.ch-composer-actions .ch-composer-poll-toggle{order:40!important;margin:0!important}
\n\n/* v1.0.42 — guaranteed recovered Rumble player */\n.ch-inline-video--recovered{margin:10px 0 0;border:1px solid #dbe3ec;border-radius:14px;overflow:hidden;background:#080b10}\n.ch-inline-video--recovered .ch-inline-video-stage{position:relative;aspect-ratio:16/9;background:#080b10}\n.ch-inline-video--recovered iframe{position:absolute;inset:0;width:100%;height:100%;border:0}\n

/* =========================================================
   v1.0.43 — composer hierarchy
   Post is the clear primary action; Attach/GIF/Poll support it.
   ========================================================= */
.ch-composer-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
.ch-composer-actions .ch-composer-submit{
  order:1!important;
  min-width:82px!important;
  min-height:40px!important;
  margin:0!important;
  padding:0 18px!important;
  border:1px solid #1679ef!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#168fff 0%,#0877e8 100%)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  box-shadow:0 8px 18px rgba(0,119,232,.24)!important;
}
.ch-composer-actions .ch-composer-upload{order:10!important}
.ch-composer-actions .ch-gif-picker-button{order:20!important}
.ch-composer-actions .ch-composer-poll-toggle{order:30!important}
.ch-composer-actions .ch-composer-upload,
.ch-composer-actions .ch-gif-picker-button,
.ch-composer-actions .ch-composer-poll-toggle{
  min-height:36px!important;
  padding:0 13px!important;
  border:1px solid #cbd5e1!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#334155!important;
  font-size:12px!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.ch-composer-actions .ch-composer-upload:hover,
.ch-composer-actions .ch-gif-picker-button:hover,
.ch-composer-actions .ch-composer-poll-toggle:hover{
  border-color:#94a3b8!important;
  background:#f8fafc!important;
}
html[data-ch-theme-mode="dark"] .ch-composer-actions .ch-composer-upload,
html[data-ch-theme-mode="dark"] .ch-composer-actions .ch-gif-picker-button,
html[data-ch-theme-mode="dark"] .ch-composer-actions .ch-composer-poll-toggle,
body.ch-theme-mode-dark .ch-composer-actions .ch-composer-upload,
body.ch-theme-mode-dark .ch-composer-actions .ch-gif-picker-button,
body.ch-theme-mode-dark .ch-composer-actions .ch-composer-poll-toggle{
  background:#111827!important;
  border-color:#334155!important;
  color:#dbe7f5!important;
}

/* v1.0.52 suggestions + blog bridge */
.ch-suggestion-form{display:grid;gap:14px}.ch-suggestion-form label{display:grid;gap:7px;font-weight:800}.ch-suggestion-form input,.ch-suggestion-form textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:11px 12px;background:#fff;color:#0f172a}.ch-blog-activity-featured{display:block;width:100%;height:auto;max-height:420px;object-fit:cover;border-radius:12px;margin:0 0 12px}html[data-ch-theme-mode="dark"] .ch-suggestion-form input,html[data-ch-theme-mode="dark"] .ch-suggestion-form textarea,body.ch-theme-mode-dark .ch-suggestion-form input,body.ch-theme-mode-dark .ch-suggestion-form textarea{background:#0f172a;border-color:#334155;color:#f8fafc}

/* =========================================================
   v1.0.53 — video metadata, social embeds, blog/suggestion polish
   ========================================================= */
.ch-inline-video-meta{display:grid;gap:2px;padding:10px 12px 12px;background:var(--ch-card-bg,#fff);border-top:1px solid rgba(148,163,184,.22);color:var(--ch-text,#111827)}
.ch-inline-video-meta strong{font-size:13px;line-height:1.35;color:inherit}.ch-inline-video-meta span{font-size:11px;color:#64748b}
html[data-ch-theme-mode="dark"] .ch-inline-video-meta,body.ch-theme-mode-dark .ch-inline-video-meta{background:#111827;color:#f8fafc;border-color:#334155}html[data-ch-theme-mode="dark"] .ch-inline-video-meta span,body.ch-theme-mode-dark .ch-inline-video-meta span{color:#cbd5e1}
.ch-social-embed{width:100%;max-width:100%;margin-top:10px;overflow:hidden;border:1px solid rgba(148,163,184,.26);border-radius:14px;background:#fff;color:#111827}
.ch-social-embed-placeholder{display:grid;gap:4px;padding:16px}.ch-social-embed-placeholder strong{font-size:14px}.ch-social-embed-placeholder span{font-size:12px;color:#64748b}.ch-social-embed iframe{display:block;width:100%;min-height:420px;border:0}.ch-social-embed--tiktok{max-width:600px;margin-left:auto;margin-right:auto}.ch-social-embed--tiktok iframe{min-height:720px}
html[data-ch-theme-mode="dark"] .ch-social-embed,body.ch-theme-mode-dark .ch-social-embed{background:#111827;color:#f8fafc;border-color:#334155}html[data-ch-theme-mode="dark"] .ch-social-embed-placeholder span,body.ch-theme-mode-dark .ch-social-embed-placeholder span{color:#cbd5e1}
.ch-blog-activity-copy{display:grid;gap:7px;padding:10px 0}.ch-blog-activity-title a{color:inherit;text-decoration:none;font-size:16px}.ch-blog-activity-title a:hover{text-decoration:underline}.ch-blog-activity-excerpt{margin:0!important;line-height:1.5}.ch-blog-activity-read{display:inline-flex;width:max-content;font-size:12px;font-weight:850;text-decoration:none}
.ch-suggestion-form{display:grid;gap:14px;max-width:760px}.ch-suggestion-form label{display:grid;gap:6px}.ch-suggestion-form label>span{font-size:12px;font-weight:850}.ch-suggestion-form input[type="text"],.ch-suggestion-form input[type="url"],.ch-suggestion-form textarea,.ch-suggestion-form input[type="file"]{box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:11px;background:#fff;color:#111827}.ch-suggestion-form textarea{min-height:150px;resize:vertical}.ch-profile-notice.is-error{padding:10px 12px;border:1px solid #fecaca;border-radius:10px;background:#fff1f2;color:#991b1b}
html[data-ch-theme-mode="dark"] .ch-suggestion-form input[type="text"],html[data-ch-theme-mode="dark"] .ch-suggestion-form input[type="url"],html[data-ch-theme-mode="dark"] .ch-suggestion-form textarea,html[data-ch-theme-mode="dark"] .ch-suggestion-form input[type="file"],body.ch-theme-mode-dark .ch-suggestion-form input[type="text"],body.ch-theme-mode-dark .ch-suggestion-form input[type="url"],body.ch-theme-mode-dark .ch-suggestion-form textarea,body.ch-theme-mode-dark .ch-suggestion-form input[type="file"]{background:#0f172a;color:#f8fafc;border-color:#334155}

/* v1.0.53 — native video preview under CommunityHub's one-click play control. */
.ch-inline-video-stage{position:relative!important;overflow:hidden!important}
.ch-inline-video-native-preview{
  position:absolute!important;inset:0!important;z-index:2!important;width:100%!important;height:100%!important;
  border:0!important;background:#000!important;pointer-events:none!important;
}
.ch-inline-video.has-native-preview .ch-inline-video-poster,
.ch-inline-video.has-native-preview .ch-inline-video-poster-fallback{position:relative!important;z-index:1!important}
.ch-inline-video.has-native-preview .ch-inline-video-load{z-index:4!important;background:transparent!important}
.ch-inline-video.has-native-preview .ch-inline-video-play-icon{filter:drop-shadow(0 5px 18px rgba(0,0,0,.58))!important}


/* v1.0.54 — share/engagement/badge/Rumble polish */
.ch-inline-video--rumble.has-interactive-native-preview .ch-inline-video-native-preview--interactive{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border:0!important;z-index:5!important;pointer-events:auto!important;background:#000!important}
.ch-inline-video--rumble.has-interactive-native-preview .ch-inline-video-poster{opacity:0!important}
.ch-activity-member-type-row,.ch-profile-member-type-row{display:flex;align-items:center;gap:6px;margin-top:3px}
.ch-member-type{display:inline-flex!important;align-items:center!important;min-height:20px!important;padding:3px 8px!important;border-radius:999px!important;font-size:10px!important;font-weight:900!important;letter-spacing:.025em!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 3px 10px rgba(15,23,42,.12)!important}
.ch-user-badges{display:inline-flex!important;align-items:center!important;gap:4px!important;flex-wrap:wrap!important}.ch-profile-name-row .ch-user-badges{margin-left:4px!important}.ch-user-badge{min-height:21px!important;border-radius:999px!important;padding:2px 7px!important;font-size:10px!important;font-weight:900!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 2px 8px rgba(15,23,42,.12)!important}.ch-user-badge-img{width:15px!important;height:15px!important;object-fit:contain!important}.ch-user-badges-icon-only .ch-user-badge{width:24px!important;height:24px!important;min-width:24px!important;padding:0!important;justify-content:center!important}.ch-user-badges-icon-only .ch-user-badge-label{display:none!important}.ch-user-badges-icon-only .ch-user-badge-img{width:17px!important;height:17px!important}.ch-user-badges-icon-only .ch-user-badge-emoji{font-size:14px!important}
.ch-suggestion-form,.ch-suggestion-form input,.ch-suggestion-form textarea,.ch-suggestion-form button{font-family:inherit!important}.ch-suggestion-form label>span{display:block;margin:0 0 6px;font-size:12px;font-weight:800;letter-spacing:0;color:inherit}.ch-suggestion-form input[type="text"],.ch-suggestion-form input[type="url"],.ch-suggestion-form textarea{font-size:14px!important;line-height:1.5!important;font-weight:500!important}
.ch-announcement-overlay{position:fixed;inset:0;z-index:2147482500;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(2,6,23,.58);backdrop-filter:blur(4px)}.ch-announcement-overlay[hidden]{display:none!important}.ch-announcement-dialog{position:relative;width:min(560px,100%);max-height:min(78vh,720px);overflow:auto;padding:24px;border:1px solid #dbe3ec;border-radius:18px;background:#fff;color:#0f172a;box-shadow:0 28px 80px rgba(2,6,23,.36)}.ch-announcement-kicker{margin:0 0 6px;color:#2563eb;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.ch-announcement-dialog h2{margin:0 44px 12px 0;color:#0f172a;font-size:24px;line-height:1.15}.ch-announcement-content{color:#334155;font-size:14px;line-height:1.65}.ch-announcement-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border:1px solid #dbe3ec;border-radius:50%;background:#f8fafc;color:#334155;font-size:22px;line-height:1;cursor:pointer}.ch-announcement-done{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;min-height:40px;padding:0 16px;border:0;border-radius:11px;background:#2563eb;color:#fff;font-weight:900;cursor:pointer}html[data-ch-theme-mode="dark"] .ch-announcement-dialog,body.ch-theme-mode-dark .ch-announcement-dialog{background:#111827;color:#f8fafc;border-color:#334155}html[data-ch-theme-mode="dark"] .ch-announcement-dialog h2,body.ch-theme-mode-dark .ch-announcement-dialog h2{color:#f8fafc}html[data-ch-theme-mode="dark"] .ch-announcement-content,body.ch-theme-mode-dark .ch-announcement-content{color:#cbd5e1}html[data-ch-theme-mode="dark"] .ch-announcement-close,body.ch-theme-mode-dark .ch-announcement-close{background:#0f172a;border-color:#334155;color:#f8fafc}

/* =========================================================
   v1.0.55 — composer engagement polish + legacy media bridge
   ========================================================= */
.ch-composer{
  border-radius:18px!important;
}
.ch-composer-textarea{
  min-height:132px!important;
  padding:16px!important;
  border-radius:15px!important;
  font-size:15px!important;
  line-height:1.55!important;
}
.ch-composer-destination{
  display:grid!important;
  grid-template-columns:70px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  margin:12px 0!important;
  color:inherit!important;
}
.ch-composer-destination-label{
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.2!important;
  letter-spacing:.01em!important;
  color:var(--ch-text,#334155)!important;
}
.ch-composer-destination-control{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
}
.ch-composer-destination-icon{
  position:absolute!important;
  left:13px!important;
  z-index:2!important;
  color:#2563eb!important;
  font-size:15px!important;
  font-weight:900!important;
  pointer-events:none!important;
}
.ch-composer-destination select,
.ch-composer-group-select{
  width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  padding:9px 38px 9px 38px!important;
  border:1px solid #cbd5e1!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#0f172a!important;
  font-family:inherit!important;
  font-size:14px!important;
  font-weight:750!important;
  line-height:1.3!important;
  box-shadow:0 4px 14px rgba(15,23,42,.04)!important;
}
.ch-composer-actions{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:12px!important;
}
.ch-composer-actions .ch-composer-submit{
  order:5!important;
  min-height:42px!important;
  padding:0 22px!important;
  margin:0!important;
  border:1px solid #2563eb!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#3b82f6,#2563eb)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:900!important;
  box-shadow:0 8px 20px rgba(37,99,235,.24)!important;
}
.ch-composer-actions .ch-composer-upload,
.ch-composer-actions .ch-gif-picker-button,
.ch-composer-actions .ch-composer-poll-toggle{
  min-height:38px!important;
  padding:0 13px!important;
  border-radius:11px!important;
  background:transparent!important;
  border:1px solid #cbd5e1!important;
  color:#475569!important;
  font-size:12px!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.ch-composer-actions .ch-composer-upload:hover,
.ch-composer-actions .ch-gif-picker-button:hover,
.ch-composer-actions .ch-composer-poll-toggle:hover{
  background:#f8fafc!important;
  color:#1e293b!important;
  border-color:#94a3b8!important;
}
.ch-legacy-buddyboss-media{
  width:100%;
  max-width:100%;
  overflow:hidden;
}
html[data-ch-theme-mode="dark"] .ch-composer-destination-label,
body.ch-theme-mode-dark .ch-composer-destination-label{color:#dbe7f5!important}
html[data-ch-theme-mode="dark"] .ch-composer-destination select,
html[data-ch-theme-mode="dark"] .ch-composer-group-select,
body.ch-theme-mode-dark .ch-composer-destination select,
body.ch-theme-mode-dark .ch-composer-group-select{
  background:#0f172a!important;
  color:#f8fafc!important;
  border-color:#334155!important;
}
html[data-ch-theme-mode="dark"] .ch-composer-actions .ch-composer-upload,
html[data-ch-theme-mode="dark"] .ch-composer-actions .ch-gif-picker-button,
html[data-ch-theme-mode="dark"] .ch-composer-actions .ch-composer-poll-toggle,
body.ch-theme-mode-dark .ch-composer-actions .ch-composer-upload,
body.ch-theme-mode-dark .ch-composer-actions .ch-gif-picker-button,
body.ch-theme-mode-dark .ch-composer-actions .ch-composer-poll-toggle{
  background:#111827!important;
  border-color:#334155!important;
  color:#dbe7f5!important;
}
@media(max-width:640px){
  .ch-composer-destination{grid-template-columns:1fr!important;gap:7px!important}
  .ch-composer-actions .ch-composer-submit{min-width:86px!important}
}

/* Legacy BuddyBoss/BuddyPress media compatibility shell. */
.ch-legacy-buddyboss-media .bb-activity-media-wrap,
.ch-legacy-buddyboss-media .bb-activity-media-elem,
.ch-legacy-buddyboss-media .bb-activity-media-elem img,
.ch-legacy-buddyboss-media img{
  max-width:100%!important;
  height:auto!important;
}
.ch-legacy-buddyboss-media .bb-activity-media-wrap{
  display:grid!important;
  gap:6px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}


/* v1.0.56 — LIVE attachment visibility recovery */
.ch-activity-media.ch-attachment-image,.ch-repost-embed-media.ch-attachment-image{display:block!important;visibility:visible!important;opacity:1!important;overflow:hidden!important}
.ch-activity-media.ch-attachment-image .ch-media-lightbox-trigger,.ch-repost-embed-media.ch-attachment-image .ch-media-lightbox-trigger{display:block!important;width:100%!important;padding:0!important;border:0!important;background:transparent!important}
.ch-activity-media.ch-attachment-image img,.ch-repost-embed-media.ch-attachment-image img{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important}

/* v1.0.57 LIVE recovery */
.ch-activity-member-type-row{display:flex;align-items:center;min-height:22px;margin-top:2px}
.ch-legacy-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;overflow:hidden;border-radius:12px}
.ch-legacy-media-trigger{display:block!important;width:100%!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden!important;cursor:zoom-in!important}
.ch-legacy-media-trigger img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:560px!important;object-fit:cover!important}
.ch-legacy-activity-video{display:block;width:100%;max-height:560px;background:#000;border-radius:12px}

/* v1.0.58 — lock author identity hierarchy: name + custom badges, membership type beneath, timestamp beneath. */
.ch-feed .ch-activity-user-block{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:2px!important}
.ch-feed .ch-activity-name-row{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:5px!important}
.ch-feed .ch-activity-member-type-row{display:flex!important;width:100%!important;margin-top:2px!important}
.ch-feed .ch-post-time{display:block!important;margin-top:1px!important}

/* CommunityHub v1.0.59 — author identity hierarchy */
.ch-feed .ch-activity-name-row{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:5px!important;min-width:0!important}
.ch-feed .ch-activity-name-row .ch-post-time{display:inline-flex!important;align-items:center!important;margin:0 0 0 2px!important;padding:0!important;color:var(--ch-muted,#64748b)!important;font-size:11px!important;font-weight:500!important;line-height:1.2!important;text-decoration:none!important;white-space:nowrap!important}
.ch-feed .ch-activity-name-row .ch-post-time:before{content:"·";margin-right:5px!important;color:currentColor!important}
.ch-feed .ch-activity-member-type-row{display:flex!important;align-items:center!important;margin-top:3px!important}


/* CommunityHub v1.0.67 — legacy media presentation + inline destination context */
.ch-feed .ch-legacy-buddyboss-media-native .ch-legacy-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;overflow:visible!important;border-radius:0!important}
.ch-feed .ch-legacy-buddyboss-media-native .ch-legacy-media-grid:has(.ch-legacy-media-trigger:only-child){grid-template-columns:minmax(0,1fr)}
.ch-feed .ch-legacy-buddyboss-media-native .ch-legacy-media-trigger{border-radius:0!important;clip-path:none!important;aspect-ratio:auto!important;overflow:hidden!important}
.ch-feed .ch-legacy-buddyboss-media-native .ch-legacy-media-trigger img{width:100%!important;height:auto!important;max-height:680px!important;object-fit:contain!important;object-position:center!important;border-radius:0!important;clip-path:none!important;aspect-ratio:auto!important;background:transparent!important}
.ch-feed .ch-legacy-buddyboss-media-native .ch-legacy-activity-video{width:100%!important;height:auto!important;max-height:680px!important;object-fit:contain!important;border-radius:12px!important}
.ch-feed .ch-activity-destination-inline{display:inline-flex!important;align-items:center!important;gap:5px!important;min-width:0!important;margin-left:4px!important;padding:2px 7px 2px 3px!important;border:1px solid rgba(100,116,139,.22)!important;border-radius:999px!important;background:rgba(148,163,184,.09)!important;color:var(--ch-muted,#64748b)!important;font-size:11px!important;font-weight:600!important;line-height:1.2!important;text-decoration:none!important;vertical-align:middle!important}
.ch-feed .ch-activity-destination-inline img{display:block!important;width:20px!important;height:20px!important;min-width:20px!important;object-fit:cover!important;border-radius:50%!important}
.ch-feed .ch-activity-destination-inline strong{color:inherit!important;font-weight:800!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:150px!important}
html[data-ch-theme-mode="dark"] .ch-feed .ch-activity-destination-inline,body.ch-theme-mode-dark .ch-feed .ch-activity-destination-inline{border-color:rgba(203,213,225,.18)!important;background:rgba(255,255,255,.055)!important;color:#cbd5e1!important}
@media(max-width:640px){.ch-feed .ch-activity-destination-inline{max-width:150px!important}.ch-feed .ch-activity-destination-inline strong{max-width:92px!important}}


/* v1.0.74 — tagged-member context + logged-out explicit gate */
.ch-activity-destination--mention{background:color-mix(in srgb,var(--ch-accent,#2563eb) 8%,transparent);border-color:color-mix(in srgb,var(--ch-accent,#2563eb) 22%,transparent)}
.ch-activity-destination--mention small{font-size:10px;font-weight:800;opacity:.72}
.ch-explicit-login-required{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border-radius:999px;background:var(--ch-accent,#2563eb);color:#fff!important;font-weight:800;text-decoration:none!important;box-shadow:0 8px 22px rgba(37,99,235,.22)}
.ch-explicit-login-required:hover{filter:brightness(.96)}


/* =========================================================
   v1.0.77 — media, profile tabs, badge display polish
   ========================================================= */
@media (min-width:783px){
  .ch-activity-video video,.ch-repost-embed-video video{max-height:680px!important;min-height:320px!important;object-fit:contain!important}
}
@media (max-width:782px){
  .ch-media-lightbox{padding:0!important;background:#000!important;align-items:stretch!important}
  .ch-media-lightbox-dialog{width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;padding:0!important;overflow:hidden!important}
  .ch-media-lightbox-image{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;border-radius:0!important;box-shadow:none!important;touch-action:pinch-zoom!important}
  .ch-media-lightbox-close{top:calc(10px + env(safe-area-inset-top))!important;right:12px!important;width:40px!important;height:40px!important;background:rgba(0,0,0,.68)!important}
  .ch-activity-video,.ch-repost-embed-video,.ch-inline-video{border-radius:13px!important;margin-left:0!important;margin-right:0!important}
  .ch-activity-video video,.ch-repost-embed-video video{width:100%!important;max-height:72dvh!important;min-height:220px!important;object-fit:contain!important}
  .ch-inline-video-stage{min-height:210px!important}
  .ch-profile-tabs{overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;justify-content:flex-start!important;flex-wrap:nowrap!important}
  .ch-profile-tabs::-webkit-scrollbar{display:none!important}
  .ch-profile-tab{flex:0 0 auto!important;scroll-snap-align:center!important;white-space:nowrap!important;min-height:42px!important;display:inline-flex!important;align-items:center!important}
}
.ch-profile-tabs.is-loading{opacity:.72;pointer-events:none}
@media (min-width:783px){
  .ch-user-badges-icon-only-desktop .ch-user-badge{width:24px!important;height:24px!important;min-width:24px!important;padding:0!important;justify-content:center!important}
  .ch-user-badges-icon-only-desktop .ch-user-badge-label{display:none!important}
  .ch-user-badges-icon-only-desktop .ch-user-badge-img{width:17px!important;height:17px!important}
  .ch-user-badges-icon-only-desktop .ch-user-badge-emoji{font-size:14px!important}
}
@media (max-width:782px){
  .ch-user-badges-icon-only-mobile .ch-user-badge{width:24px!important;height:24px!important;min-width:24px!important;padding:0!important;justify-content:center!important}
  .ch-user-badges-icon-only-mobile .ch-user-badge-label{display:none!important}
  .ch-user-badges-icon-only-mobile .ch-user-badge-img{width:17px!important;height:17px!important}
  .ch-user-badges-icon-only-mobile .ch-user-badge-emoji{font-size:14px!important}
}

/* =========================================================
   v1.0.79 — gallery viewer, reward fallback, mobile reaction users,
              composer/video/embed polish
   ========================================================= */

/* Premium reward toast lives in Core so an earned-points response is visible
   even if the active theme misses its own listener. Themes may further skin it. */
.ch-reward-toast{
  position:fixed;right:18px;top:88px;z-index:2147483400;display:flex;align-items:center;gap:12px;
  min-width:290px;max-width:min(420px,calc(100vw - 28px));padding:14px 16px;border:1px solid #c8a84b;border-radius:18px;
  background:linear-gradient(135deg,#070707 0%,#19140a 58%,#070707 100%);color:#f5f0e8;
  box-shadow:0 20px 60px rgba(0,0,0,.48),0 0 0 1px rgba(200,168,75,.22),0 0 34px rgba(200,168,75,.30);
  opacity:0;transform:translate3d(0,-14px,0) scale(.96);pointer-events:none;overflow:hidden;
  transition:opacity .24s ease,transform .42s cubic-bezier(.2,.9,.25,1.15)
}
.ch-reward-toast:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(105deg,#7c6728,#f3dc7b,#9b7f2d,#f8e79b,#7c6728);background-size:260% 100%;animation:chRewardBorder 2.2s linear infinite;pointer-events:none;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor}
.ch-reward-toast.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1);pointer-events:auto}
.ch-reward-toast-icon{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff4b5 0 10%,#d5b34e 26%,#8a6b20 72%,#3a2b0b 100%);color:#090909;font-size:21px;font-weight:950;box-shadow:0 0 0 2px rgba(255,235,150,.30),0 7px 20px rgba(200,168,75,.35);animation:chRewardStar 1.1s cubic-bezier(.2,.8,.2,1)}
.ch-reward-toast-copy{position:relative;z-index:1;display:grid;gap:2px;min-width:0}.ch-reward-toast-copy strong{color:#fff8dc;font-size:14px;font-weight:900;letter-spacing:.01em}.ch-reward-toast-copy span{color:#e9c85e;font-size:15px;font-weight:950}.ch-reward-toast-copy small{color:#cfc8b5;font-size:11px;font-weight:700}.ch-reward-toast-sparkles{position:absolute;inset:0;pointer-events:none}.ch-reward-toast-sparkles i{position:absolute;width:4px;height:4px;border-radius:50%;background:#f7df79;box-shadow:0 0 9px #f7df79;animation:chRewardSpark 1.8s ease-in-out infinite}.ch-reward-toast-sparkles i:nth-child(1){left:12%;top:18%}.ch-reward-toast-sparkles i:nth-child(2){left:48%;top:10%;animation-delay:.35s}.ch-reward-toast-sparkles i:nth-child(3){right:10%;top:28%;animation-delay:.7s}.ch-reward-toast-sparkles i:nth-child(4){right:28%;bottom:15%;animation-delay:1s}
@keyframes chRewardBorder{to{background-position:260% 0}}@keyframes chRewardStar{0%{transform:rotate(-22deg) scale(.4)}65%{transform:rotate(10deg) scale(1.13)}100%{transform:rotate(0) scale(1)}}@keyframes chRewardSpark{0%,100%{opacity:.15;transform:scale(.5)}50%{opacity:1;transform:scale(1.5)}}
@media(max-width:782px){.ch-reward-toast{left:10px;right:10px;top:auto;bottom:calc(82px + env(safe-area-inset-bottom));min-width:0;max-width:none;padding:12px 13px;border-radius:16px}.ch-reward-toast-icon{flex-basis:40px;width:40px;height:40px;font-size:19px}.ch-reward-toast-copy strong{font-size:13px}.ch-reward-toast-copy span{font-size:14px}.ch-reward-toast-copy small{font-size:10px}}

/* Multiple-photo posts use a deliberate social-gallery mosaic. */
.ch-legacy-buddyboss-media-native .ch-legacy-media-grid{display:grid!important;gap:4px!important;width:100%!important;overflow:hidden!important;border-radius:14px!important;background:#0b0d10!important}
.ch-legacy-buddyboss-media-native .ch-legacy-media-trigger{position:relative!important;min-height:0!important;border-radius:0!important;background:#0b0d10!important}
.ch-legacy-buddyboss-media-native .ch-legacy-media-trigger img{width:100%!important;height:100%!important;min-height:220px!important;max-height:520px!important;object-fit:cover!important;background:#0b0d10!important}
.ch-media-grid-count-1{grid-template-columns:1fr!important}.ch-media-grid-count-1 .ch-legacy-media-trigger img{height:auto!important;min-height:0!important;max-height:680px!important;object-fit:contain!important}
.ch-media-grid-count-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ch-media-grid-count-2 .ch-legacy-media-trigger{aspect-ratio:1/1!important}
.ch-media-grid-count-3{grid-template-columns:1.35fr 1fr!important;grid-template-rows:repeat(2,minmax(0,1fr))!important}.ch-media-grid-count-3>:first-child{grid-row:1/3!important}.ch-media-grid-count-3 .ch-legacy-media-trigger{min-height:180px!important}
.ch-media-grid-count-4,.ch-media-grid-count-5,.ch-media-grid-count-6{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ch-media-grid-count-4 .ch-legacy-media-trigger,.ch-media-grid-count-5 .ch-legacy-media-trigger,.ch-media-grid-count-6 .ch-legacy-media-trigger{aspect-ratio:1.25/1!important}
@media(max-width:640px){.ch-legacy-buddyboss-media-native .ch-legacy-media-trigger img{min-height:150px!important;max-height:58dvh!important}.ch-media-grid-count-3 .ch-legacy-media-trigger{min-height:130px!important}}

/* Fullscreen gallery viewer: swipe between photos and zoom/pan without leaving the post. */
.ch-media-lightbox-toolbar{position:absolute;left:12px;top:12px;z-index:4;display:flex;align-items:center;gap:9px;pointer-events:none}.ch-media-lightbox-counter{display:inline-flex;min-width:42px;justify-content:center;padding:6px 9px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-size:12px;font-weight:850;backdrop-filter:blur(8px)}.ch-media-lightbox-zoom-controls{display:flex;gap:4px;pointer-events:auto}.ch-media-lightbox-zoom-controls button{display:grid;place-items:center;min-width:36px;height:36px;padding:0 8px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-weight:900;cursor:pointer;backdrop-filter:blur(8px)}.ch-media-lightbox-stage{position:relative;display:grid;place-items:center;width:100%;height:100%;overflow:hidden;touch-action:none}.ch-media-lightbox-image{transform-origin:center center;will-change:transform;transition:transform .12s ease-out;user-select:none;-webkit-user-drag:none}.ch-media-lightbox.is-zoomed .ch-media-lightbox-image{cursor:grab}.ch-media-lightbox.is-zoomed .ch-media-lightbox-image:active{cursor:grabbing}.ch-media-lightbox-nav{display:none;position:absolute;top:50%;z-index:4;width:48px;height:58px;margin-top:-29px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(0,0,0,.48);color:#fff;font-size:38px;line-height:1;cursor:pointer;backdrop-filter:blur(8px)}.ch-media-lightbox.has-gallery .ch-media-lightbox-nav{display:grid;place-items:center}.ch-media-lightbox-prev{left:14px}.ch-media-lightbox-next{right:14px}
@media(max-width:782px){.ch-media-lightbox-toolbar{top:calc(10px + env(safe-area-inset-top));left:10px}.ch-media-lightbox-zoom-controls{display:none}.ch-media-lightbox-nav{width:42px;height:52px;font-size:32px;background:rgba(0,0,0,.36)}.ch-media-lightbox-prev{left:6px}.ch-media-lightbox-next{right:6px}.ch-media-lightbox-counter{font-size:11px}.ch-media-lightbox-stage{touch-action:none}}

/* Uploaded video should read as primary post media, not a tiny attachment. */
.ch-activity-video,.ch-repost-embed-video{width:100%!important;background:#000!important;border-radius:14px!important;overflow:hidden!important}
.ch-activity-video video,.ch-repost-embed-video video,.ch-legacy-activity-video{display:block!important;width:100%!important;min-height:420px!important;max-height:700px!important;object-fit:contain!important;background:#000!important}
@media(max-width:782px){.ch-activity-video video,.ch-repost-embed-video video,.ch-legacy-activity-video{min-height:270px!important;max-height:72dvh!important}}

/* Composer destination: tighter label-to-control spacing and a reliable custom chevron. */
.ch-composer-destination{grid-template-columns:52px minmax(0,1fr)!important;gap:6px!important}
.ch-composer-destination-control::after{content:"⌄";position:absolute;right:14px;top:50%;z-index:3;transform:translateY(-56%);color:#64748b;font-size:15px;font-weight:900;pointer-events:none}
.ch-composer-destination select,.ch-composer-group-select{appearance:none!important;-webkit-appearance:none!important;padding-right:42px!important;background-image:none!important}
@media(max-width:640px){.ch-composer-destination{grid-template-columns:48px minmax(0,1fr)!important;gap:6px!important}.ch-composer-destination-label{align-self:center!important}}

/* Reaction user list is hoverable on desktop and a tappable bottom sheet on mobile. */
.ch-reaction-users-panel.is-mobile-sheet{position:fixed!important;left:10px!important;right:10px!important;top:auto!important;bottom:calc(76px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;z-index:2147483300!important;border-radius:18px!important;box-shadow:0 24px 70px rgba(0,0,0,.42)!important}
@media(max-width:782px){.ch-reaction-count,.ch-reaction-summary{cursor:pointer!important}.ch-reaction-users-panel.is-mobile-sheet .ch-reaction-users-inner{max-height:min(52dvh,430px)!important;overflow:auto!important;padding:10px!important}}

/* Third-party social video frames should stay contained and playable. */
.ch-social-embed--x,.ch-social-embed--facebook{max-width:680px!important;margin-left:auto!important;margin-right:auto!important}.ch-social-embed--x iframe,.ch-social-embed--facebook iframe{display:block!important;width:100%!important;max-width:100%!important;min-height:420px!important;border:0!important;background:#fff!important}.ch-social-embed--facebook iframe{min-height:440px!important}
@media(max-width:640px){.ch-social-embed--x iframe,.ch-social-embed--facebook iframe{min-height:460px!important}}

/* Light-mode post menu affordance must remain visible. */
html:not([data-ch-theme-mode="dark"]) .ch-post-menu-toggle,
body:not(.ch-theme-mode-dark) .ch-post-menu-toggle{color:#475569!important;opacity:1!important;text-shadow:none!important}
html:not([data-ch-theme-mode="dark"]) .ch-post-menu-toggle:hover,
html:not([data-ch-theme-mode="dark"]) .ch-post-menu-toggle:focus-visible,
body:not(.ch-theme-mode-dark) .ch-post-menu-toggle:hover,
body:not(.ch-theme-mode-dark) .ch-post-menu-toggle:focus-visible{color:#0f172a!important;background:#eef2f7!important}

/* =========================================================
   v1.0.80 — media/gallery/reaction/badge polish
   ========================================================= */

/* Badges should read premium, not chunky. Keep the configured badge colors,
   but use a compact medium-heavy label rather than an ultra-black wordmark. */
.ch-user-badge{
  font-size:10.5px!important;
  font-weight:700!important;
  letter-spacing:.005em!important;
  line-height:1.15!important;
  padding:3px 7px!important;
}
.ch-user-badge-label{font-weight:700!important}

/* The reaction count is a separate affordance on touch screens: tapping it
   opens the people/reaction list and must not behave like the Like button. */
.ch-reaction-count:not(:empty){
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-width:24px!important;min-height:24px!important;padding:0 5px!important;margin-left:2px!important;
  border-radius:999px!important;cursor:pointer!important;font-weight:700!important;font-size:12px!important;
  color:var(--ch-theme-muted,#667085)!important;background:rgba(148,163,184,.12)!important;
}
@media(max-width:782px){
  .ch-reaction-count:not(:empty){min-width:28px!important;min-height:28px!important;font-size:12px!important;padding:0 7px!important}
}

/* Multi-photo posts: predictable editorial mosaic with consistent cropping.
   Full originals remain available in the lightbox. */
.ch-legacy-buddyboss-media-native{width:100%!important;max-width:100%!important;overflow:hidden!important;border-radius:14px!important}
.ch-legacy-media-grid{display:grid!important;gap:4px!important;width:100%!important;max-width:100%!important;overflow:hidden!important;background:rgba(15,23,42,.04)!important}
.ch-legacy-media-trigger{display:block!important;width:100%!important;height:100%!important;min-width:0!important;overflow:hidden!important;border:0!important;padding:0!important;background:transparent!important;cursor:zoom-in!important}
.ch-legacy-media-trigger img{display:block!important;width:100%!important;height:100%!important;min-width:0!important;max-width:none!important;object-fit:cover!important;border-radius:0!important}
.ch-media-grid-count-1{display:block!important;background:transparent!important}
.ch-media-grid-count-1 .ch-legacy-media-trigger img{height:auto!important;max-height:680px!important;object-fit:contain!important;background:#050505!important}
.ch-media-grid-count-2{grid-template-columns:repeat(2,minmax(0,1fr))!important;aspect-ratio:2/1!important}
.ch-media-grid-count-3{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;aspect-ratio:1.55/1!important}
.ch-media-grid-count-3>.ch-legacy-media-trigger:first-child{grid-row:1/3!important}
.ch-media-grid-count-4,.ch-media-grid-count-5,.ch-media-grid-count-6{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:minmax(0,1fr)!important;aspect-ratio:1.35/1!important}
@media(max-width:640px){
  .ch-legacy-buddyboss-media-native{border-radius:12px!important}
  .ch-legacy-media-grid{gap:3px!important}
  .ch-media-grid-count-2{aspect-ratio:1.55/1!important}
  .ch-media-grid-count-3{aspect-ratio:1.15/1!important}
  .ch-media-grid-count-4,.ch-media-grid-count-5,.ch-media-grid-count-6{aspect-ratio:1.05/1!important}
}

/* Full-view media must fit the actual viewport before zooming. */
.ch-media-lightbox-dialog{width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important}
.ch-media-lightbox-stage{width:100%!important;height:100%!important;max-width:100vw!important;max-height:100dvh!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:58px 56px 34px!important;box-sizing:border-box!important}
.ch-media-lightbox-image{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;transform-origin:center center!important}
.ch-media-lightbox-download{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:5px 10px;border-radius:999px;text-decoration:none!important;font-size:12px;font-weight:750;color:#fff!important;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24)}
.ch-media-lightbox-download[hidden]{display:none!important}
@media(max-width:782px){
  .ch-media-lightbox-stage{padding:54px 8px calc(18px + env(safe-area-inset-bottom))!important}
  .ch-media-lightbox-toolbar{left:8px!important;right:50px!important;top:calc(8px + env(safe-area-inset-top))!important;gap:7px!important}
  .ch-media-lightbox-zoom-controls{gap:5px!important;flex-wrap:wrap!important}
  .ch-media-lightbox-download{min-height:32px!important;padding:4px 9px!important;font-size:11px!important}
}

/* Uploaded CommunityHub videos use the post width and a genuinely useful
   player height. The download action follows the admin media policy. */
.ch-video-upload-shell{display:grid!important;gap:7px!important;width:100%!important;max-width:100%!important}
.ch-activity-video video,.ch-legacy-activity-video{
  display:block!important;width:100%!important;max-width:100%!important;height:auto!important;
  min-height:380px!important;max-height:720px!important;object-fit:contain!important;background:#050505!important;border-radius:14px!important;
}
.ch-media-download-link{justify-self:end;display:inline-flex;align-items:center;min-height:32px;padding:5px 10px;border-radius:9px;text-decoration:none!important;font-size:12px;font-weight:700;color:var(--ch-theme-text,#172033)!important;background:var(--ch-theme-surface,#fff);border:1px solid var(--ch-theme-border,#dbe3ec)}
@media(max-width:782px){
  .ch-activity-video video,.ch-legacy-activity-video{min-height:260px!important;max-height:72dvh!important;border-radius:12px!important}
  .ch-media-download-link{font-size:11px!important;min-height:30px!important}
}

/* =========================================================
   v1.0.81 — stabilization polish
   ========================================================= */
/* Badges: optically centered, compact and readable. */
.ch-user-badge{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;
  min-height:22px!important;padding:3px 8px!important;border-radius:999px!important;
  font-size:10px!important;font-weight:650!important;line-height:1!important;letter-spacing:0!important;
  vertical-align:middle!important;
}
.ch-user-badge-label{display:inline-flex!important;align-items:center!important;line-height:1!important;font-weight:650!important;transform:translateY(.1px)!important}
.ch-user-badge-img{display:block!important;flex:0 0 auto!important}.ch-user-badge-emoji{line-height:1!important}

/* Desktop reaction picker stays immediately above the trigger with no dead gap. */
@media(min-width:783px){
  .ch-comment-reaction-wrap::before{left:-8px!important;right:-8px!important;bottom:100%!important;height:10px!important}
  .ch-reaction-picker{left:-6px!important;bottom:calc(100% + 4px)!important;transform:translateY(2px) scale(.985)!important}
  .ch-comment-reaction-wrap:hover .ch-reaction-picker,.ch-comment-reaction-wrap.is-picker-open .ch-reaction-picker,.ch-reaction-picker:hover{transform:translateY(0) scale(1)!important}
}

/* Full viewer close control must remain inside safe viewport edges. */
@media(max-width:782px){
  .ch-media-lightbox-close{
    position:fixed!important;
    top:max(10px,env(safe-area-inset-top))!important;
    right:max(10px,env(safe-area-inset-right))!important;
    left:auto!important;
    margin:0!important;
    transform:none!important;
    z-index:2147483646!important;
  }
  .ch-media-lightbox-stage{padding-top:58px!important;padding-left:6px!important;padding-right:6px!important;padding-bottom:max(16px,env(safe-area-inset-bottom))!important}
  .ch-media-lightbox-image{max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important}
}

/* X/Facebook social players: never crop the iframe on desktop. */
@media(min-width:783px){
  .ch-social-embed--x,.ch-social-embed--facebook{width:100%!important;max-width:100%!important;overflow:visible!important}
  .ch-social-embed--x iframe{width:100%!important;height:680px!important;min-height:680px!important;max-width:100%!important;overflow:visible!important}
  .ch-social-embed--facebook iframe{width:100%!important;height:520px!important;min-height:520px!important;max-width:100%!important}
}


/* =========================================================
   v1.0.85 — compact badge shapes + profile action cleanup
   ========================================================= */
.ch-user-badges{gap:3px!important;margin-top:0!important}
.ch-user-badge{min-height:18px!important;padding:2px 6px!important;gap:3px!important;font-size:9px!important;font-weight:650!important;line-height:1!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 1px 4px rgba(15,23,42,.12)!important}
.ch-user-badge-img{width:12px!important;height:12px!important;min-width:12px!important;border-radius:2px!important}
.ch-user-badge-emoji{width:12px!important;height:12px!important;font-size:10px!important;line-height:12px!important}
.ch-user-badge-label{font-size:9px!important;line-height:1!important}
.ch-user-badge-shape-pill{border-radius:999px!important}
.ch-user-badge-shape-rounded{border-radius:6px!important}
.ch-user-badge-shape-square{border-radius:2px!important}
.ch-user-badge-shape-shield{border-radius:4px 4px 8px 8px!important;clip-path:polygon(0 0,100% 0,94% 72%,50% 100%,6% 72%)!important;padding-inline:8px!important}
.ch-user-badge-shape-seal{border-radius:7px!important}
@media (min-width:783px){
  .ch-user-badges-icon-only-desktop .ch-user-badge{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;padding:0!important}
  .ch-user-badges-icon-only-desktop .ch-user-badge-img{width:13px!important;height:13px!important;min-width:13px!important}
  .ch-user-badges-icon-only-desktop .ch-user-badge-emoji{width:13px!important;height:13px!important;font-size:11px!important}
  .ch-user-badges-icon-only-desktop .ch-user-badge-shape-seal{border-radius:0!important;clip-path:polygon(50% 0%,61% 10%,76% 5%,82% 19%,97% 21%,94% 37%,100% 50%,90% 61%,95% 76%,81% 82%,79% 97%,63% 94%,50% 100%,39% 90%,24% 95%,18% 81%,3% 79%,6% 63%,0 50%,10% 39%,5% 24%,19% 18%,21% 3%,37% 6%)!important}
}
@media (max-width:782px){
  .ch-user-badges-icon-only-mobile .ch-user-badge{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;padding:0!important}
  .ch-user-badges-icon-only-mobile .ch-user-badge-img{width:13px!important;height:13px!important;min-width:13px!important}
  .ch-user-badges-icon-only-mobile .ch-user-badge-emoji{width:13px!important;height:13px!important;font-size:11px!important}
  .ch-user-badges-icon-only-mobile .ch-user-badge-shape-seal{border-radius:0!important;clip-path:polygon(50% 0%,61% 10%,76% 5%,82% 19%,97% 21%,94% 37%,100% 50%,90% 61%,95% 76%,81% 82%,79% 97%,63% 94%,50% 100%,39% 90%,24% 95%,18% 81%,3% 79%,6% 63%,0 50%,10% 39%,5% 24%,19% 18%,21% 3%,37% 6%)!important}
}
.ch-profile-actions--report-only{display:flex!important;justify-content:flex-end!important;align-items:center!important}
.ch-profile-report-quiet{appearance:none;border:0;background:transparent;color:var(--ch-theme-muted,#64748b);font:inherit;font-size:11px;font-weight:600;padding:4px 6px;border-radius:6px;cursor:pointer;text-decoration:none}
.ch-profile-report-quiet:hover,.ch-profile-report-quiet:focus-visible{background:rgba(148,163,184,.12);color:var(--ch-theme-text,#172033);outline:none}

/* v1.0.89 — reaction people affordance. */
.ch-reaction-people-label{display:none}
@media(max-width:782px){
  .ch-post-reaction-wrap>.ch-reaction-total .ch-reaction-people-label{display:inline!important;font-size:11px!important;font-weight:750!important;margin-left:2px!important}
}


/* v1.0.90 — mobile reaction summary is a people/count affordance, not a second Like button. */
@media(max-width:782px){
  .ch-post-reaction-wrap>.ch-reaction-total .ch-reaction-summary{display:none!important}
  .ch-post-reaction-wrap>.ch-reaction-total{background:transparent!important;border:0!important;box-shadow:none!important;padding-inline:4px!important;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:2px}
  .ch-post-reaction-wrap>.ch-reaction-total:hover,.ch-post-reaction-wrap>.ch-reaction-total:focus-visible{text-decoration-color:currentColor}
  .ch-post-reaction-wrap>.ch-reaction-total .ch-reaction-count{font-weight:850!important}
  .ch-post-reaction-wrap>.ch-reaction-total .ch-reaction-people-label{display:inline!important}
}

/* =========================================================
   v1.0.94 — configurable CommunityHub reward presentation
   ========================================================= */
.ch-reward-toast{
  background:var(--ch-reward-bg,#17140a)!important;
  border-color:color-mix(in srgb,var(--ch-reward-accent,#e9c85e) 72%,transparent)!important;
}
.ch-reward-toast .ch-reward-toast-copy strong{color:var(--ch-reward-text,#fff8dc)!important}
.ch-reward-toast .ch-reward-toast-copy>span{color:var(--ch-reward-accent,#e9c85e)!important}
.ch-reward-toast .ch-reward-toast-sparkles i{background:var(--ch-reward-accent,#e9c85e)!important;box-shadow:0 0 9px var(--ch-reward-accent,#e9c85e)!important}
.ch-reward-toast--celebration{box-shadow:0 18px 50px rgba(15,23,42,.34),0 0 30px color-mix(in srgb,var(--ch-reward-accent,#e9c85e) 30%,transparent)!important}
.ch-reward-toast--celebration .ch-reward-toast-icon{animation:chRewardStar .8s cubic-bezier(.2,.8,.2,1) infinite alternate!important}
.ch-reward-toast--neon{border:1px solid var(--ch-reward-accent,#e9c85e)!important;box-shadow:0 0 12px color-mix(in srgb,var(--ch-reward-accent,#e9c85e) 55%,transparent),0 0 32px color-mix(in srgb,var(--ch-reward-accent,#e9c85e) 30%,transparent)!important}
.ch-reward-toast--neon:before{display:none!important}
.ch-reward-toast--minimal{box-shadow:0 12px 34px rgba(15,23,42,.22)!important;border:1px solid color-mix(in srgb,var(--ch-reward-accent,#e9c85e) 34%,transparent)!important}
.ch-reward-toast--minimal:before,.ch-reward-toast--minimal .ch-reward-toast-sparkles{display:none!important}
.ch-reward-toast--pos-top-center{left:50%!important;right:auto!important;transform:translate3d(-50%,-12px,0) scale(.98)!important}
.ch-reward-toast--pos-top-center.is-visible{transform:translate3d(-50%,0,0) scale(1)!important}
.ch-reward-toast--pos-bottom-right{top:auto!important;bottom:24px!important;right:24px!important}
.ch-reward-toast--pos-bottom-center{top:auto!important;bottom:24px!important;left:50%!important;right:auto!important;transform:translate3d(-50%,12px,0) scale(.98)!important}
.ch-reward-toast--pos-bottom-center.is-visible{transform:translate3d(-50%,0,0) scale(1)!important}
@media(max-width:782px){
  .ch-reward-toast[class*="ch-reward-toast--pos-"]{left:10px!important;right:10px!important;top:auto!important;bottom:calc(82px + env(safe-area-inset-bottom))!important;transform:translate3d(0,12px,0) scale(.98)!important}
  .ch-reward-toast[class*="ch-reward-toast--pos-"].is-visible{transform:translate3d(0,0,0) scale(1)!important}
}

/* Reaction count is a conditional secondary affordance. Hidden really means
   hidden even when global action-row button rules are active. */
.ch-action-row .ch-post-reaction-wrap>.ch-reaction-total[hidden]{display:none!important}

/* v1.0.95 — visibly distinct reward presentation presets while preserving admin colors. */
.ch-reward-toast--celebration{background:linear-gradient(135deg,var(--ch-reward-bg,#17140a),color-mix(in srgb,var(--ch-reward-accent,#e9c85e) 32%,var(--ch-reward-bg,#17140a)))!important;transform-origin:center right}.ch-reward-toast--celebration.is-visible{animation:chRewardCelebrationIn .55s cubic-bezier(.2,.85,.25,1.2)}
.ch-reward-toast--neon{background:#090909!important;text-shadow:0 0 8px color-mix(in srgb,var(--ch-reward-accent,#e9c85e) 55%,transparent)!important}.ch-reward-toast--minimal{background:var(--ch-reward-bg,#17140a)!important;border-radius:10px!important;padding:10px 13px!important}.ch-reward-toast--minimal .ch-reward-toast-icon{display:none!important}@keyframes chRewardCelebrationIn{0%{transform:translateY(-8px) scale(.92);opacity:0}70%{transform:translateY(0) scale(1.03);opacity:1}100%{transform:translateY(0) scale(1);opacity:1}}

/* =========================================================
   v1.0.97 — attached reward celebration + expressive presets
   ========================================================= */
.ch-reward-toast.ch-reward-toast--pos-header{left:50%!important;right:auto!important;top:var(--ch-reward-banner-top,64px)!important;bottom:auto!important;transform:translate(-50%,-10px) scale(.99)!important;width:min(980px,calc(100vw - 24px))!important;max-width:980px!important;border-radius:0 0 14px 14px!important}
.ch-reward-toast.ch-reward-toast--pos-header.is-visible{transform:translate(-50%,0) scale(1)!important}
.ch-reward-toast-fx{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit}
.ch-reward-toast-fx b{position:absolute;display:none}
.ch-reward-toast--confetti .ch-reward-toast-fx b{display:block;width:7px;height:12px;background:var(--ch-reward-accent);top:-14px;animation:chRewardConfetti 1.8s ease-out infinite}
.ch-reward-toast--confetti .ch-reward-toast-fx b:nth-child(1){left:8%;transform:rotate(15deg)}.ch-reward-toast--confetti .ch-reward-toast-fx b:nth-child(2){left:20%;animation-delay:.2s;background:#fff}.ch-reward-toast--confetti .ch-reward-toast-fx b:nth-child(3){left:36%;animation-delay:.5s}.ch-reward-toast--confetti .ch-reward-toast-fx b:nth-child(4){left:52%;animation-delay:.1s;background:#fff}.ch-reward-toast--confetti .ch-reward-toast-fx b:nth-child(5){left:65%;animation-delay:.7s}.ch-reward-toast--confetti .ch-reward-toast-fx b:nth-child(6){left:78%;animation-delay:.35s;background:#fff}.ch-reward-toast--confetti .ch-reward-toast-fx b:nth-child(7){left:90%;animation-delay:.6s}.ch-reward-toast--confetti .ch-reward-toast-fx b:nth-child(8){left:45%;animation-delay:.9s}
.ch-reward-toast--fireworks{background:#070707!important}.ch-reward-toast--fireworks .ch-reward-toast-fx b{display:block;width:4px;height:4px;border-radius:50%;background:var(--ch-reward-accent);box-shadow:0 -18px 0 var(--ch-reward-accent),13px -13px 0 #fff,18px 0 0 var(--ch-reward-accent),13px 13px 0 #fff,0 18px 0 var(--ch-reward-accent),-13px 13px 0 #fff,-18px 0 0 var(--ch-reward-accent),-13px -13px 0 #fff;animation:chRewardFirework 1.5s ease-out infinite}.ch-reward-toast--fireworks .ch-reward-toast-fx b:nth-child(1){left:14%;top:50%}.ch-reward-toast--fireworks .ch-reward-toast-fx b:nth-child(2){right:14%;top:45%;animation-delay:.45s}.ch-reward-toast--fireworks .ch-reward-toast-fx b:nth-child(n+3){display:none}
.ch-reward-toast--fire{background:linear-gradient(0deg,#210500,#7a1400 48%,#17110b)!important;border-color:#ff7a18!important;box-shadow:0 0 24px rgba(255,86,0,.45)!important}.ch-reward-toast--fire .ch-reward-toast-icon{background:radial-gradient(circle,#ffd36b,#ff7a18 58%,#721800)!important}.ch-reward-toast--fire .ch-reward-toast-fx:after{content:'🔥  🔥  🔥  🔥  🔥';position:absolute;left:8%;right:8%;bottom:-9px;text-align:center;font-size:18px;letter-spacing:12px;opacity:.5;animation:chRewardFlame .8s ease-in-out infinite alternate}
.ch-reward-toast--lightning{background:linear-gradient(115deg,#060916,#101b42,#060916)!important;border-color:#8ec5ff!important;box-shadow:0 0 25px rgba(84,157,255,.55)!important}.ch-reward-toast--lightning .ch-reward-toast-fx:after{content:'⚡';position:absolute;right:8%;top:-12px;font-size:62px;color:#d9ebff;opacity:.18;transform:rotate(12deg);animation:chRewardLightning 1.15s steps(1,end) infinite}
@keyframes chRewardConfetti{0%{transform:translateY(0) rotate(0);opacity:0}12%{opacity:1}100%{transform:translateY(90px) rotate(480deg);opacity:0}}
@keyframes chRewardFirework{0%{transform:scale(.1);opacity:0}20%{opacity:1}75%{transform:scale(1);opacity:.9}100%{transform:scale(1.25);opacity:0}}
@keyframes chRewardFlame{from{transform:translateY(1px) scaleY(.9)}to{transform:translateY(-2px) scaleY(1.08)}}
@keyframes chRewardLightning{0%,86%,100%{opacity:.12}88%{opacity:.8}90%{opacity:.18}92%{opacity:.95}94%{opacity:.16}}
@media(max-width:782px){.ch-reward-toast.ch-reward-toast--pos-header{left:6px!important;right:6px!important;top:var(--ch-reward-banner-top,64px)!important;bottom:auto!important;width:auto!important;max-width:none!important;transform:translateY(-8px) scale(.99)!important;border-radius:0 0 12px 12px!important}.ch-reward-toast.ch-reward-toast--pos-header.is-visible{transform:translateY(0) scale(1)!important}.ch-reward-toast--fire .ch-reward-toast-fx:after{font-size:15px;letter-spacing:5px}}


/* v1.0.98 reward intensity + mobile reaction reliability */
.ch-reaction-trigger,.ch-reaction-mobile-caret{-webkit-touch-callout:none!important;-webkit-user-select:none!important;user-select:none!important;touch-action:manipulation!important}
.ch-reaction-trigger img,.ch-reaction-mobile-caret img{pointer-events:none!important;-webkit-user-drag:none!important}

.ch-reward-toast--fireworks{overflow:hidden!important;background:radial-gradient(circle at 50% 120%,#1f102f 0,#080812 48%,#030307 100%)!important;border-color:#f7d75f!important;box-shadow:0 0 32px rgba(255,212,82,.55),0 0 70px rgba(125,77,255,.28)!important}
.ch-reward-toast--fireworks .ch-reward-toast-fx b{display:block!important;position:absolute!important;width:5px!important;height:5px!important;border-radius:50%!important;background:#fff!important;opacity:.95!important;box-shadow:0 -28px 0 #ffd84d,20px -20px 0 #ff5ca8,28px 0 0 #7be7ff,20px 20px 0 #9cff6b,0 28px 0 #ffd84d,-20px 20px 0 #ff7a59,-28px 0 0 #8b7cff,-20px -20px 0 #fff!important;animation:chRewardFireworkMega 1.15s ease-out infinite!important}
.ch-reward-toast--fireworks .ch-reward-toast-fx b:nth-child(1){left:8%;top:52%;animation-delay:0s!important}.ch-reward-toast--fireworks .ch-reward-toast-fx b:nth-child(2){left:22%;top:30%;animation-delay:.22s!important}.ch-reward-toast--fireworks .ch-reward-toast-fx b:nth-child(3){left:38%;top:58%;animation-delay:.5s!important}.ch-reward-toast--fireworks .ch-reward-toast-fx b:nth-child(4){left:54%;top:24%;animation-delay:.12s!important}.ch-reward-toast--fireworks .ch-reward-toast-fx b:nth-child(5){left:68%;top:56%;animation-delay:.7s!important}.ch-reward-toast--fireworks .ch-reward-toast-fx b:nth-child(6){left:82%;top:30%;animation-delay:.36s!important}.ch-reward-toast--fireworks .ch-reward-toast-fx b:nth-child(7){left:92%;top:58%;animation-delay:.82s!important}.ch-reward-toast--fireworks .ch-reward-toast-fx b:nth-child(8){left:48%;top:66%;animation-delay:.93s!important}
@keyframes chRewardFireworkMega{0%{transform:scale(.2);opacity:0}12%{opacity:1}68%{transform:scale(1.15);opacity:1}100%{transform:scale(1.6);opacity:0}}

.ch-reward-toast--fire{overflow:hidden!important;background:linear-gradient(0deg,#240000 0%,#7b0c00 34%,#d63b00 68%,#2a0700 100%)!important;border-color:#ff9b21!important;box-shadow:0 0 35px rgba(255,73,0,.72),0 0 70px rgba(255,149,0,.35)!important}
.ch-reward-toast--fire .ch-reward-toast-fx:before,.ch-reward-toast--fire .ch-reward-toast-fx:after{position:absolute;left:-2%;right:-2%;bottom:-16px;text-align:center;white-space:nowrap;pointer-events:none}
.ch-reward-toast--fire .ch-reward-toast-fx:before{content:'🔥 🔥 🔥 🔥 🔥 🔥 🔥 🔥';font-size:31px;letter-spacing:3px;opacity:.92;filter:drop-shadow(0 -8px 10px #ff8a00);animation:chRewardInferno .48s ease-in-out infinite alternate!important}
.ch-reward-toast--fire .ch-reward-toast-fx:after{content:'🔥  🔥  🔥  🔥  🔥';font-size:22px;bottom:-4px;opacity:.68;animation:chRewardInferno .68s ease-in-out infinite alternate-reverse!important}
@keyframes chRewardInferno{from{transform:translateY(6px) scaleY(.88)}to{transform:translateY(-10px) scaleY(1.18)}}

.ch-reward-toast--lightning{overflow:hidden!important;background:linear-gradient(115deg,#01030b,#071440 45%,#02040d)!important;border-color:#9ed7ff!important;box-shadow:0 0 36px rgba(55,154,255,.78),0 0 74px rgba(141,91,255,.38)!important;animation:chRewardStormFlash 1.6s infinite!important}
.ch-reward-toast--lightning .ch-reward-toast-fx:before,.ch-reward-toast--lightning .ch-reward-toast-fx:after{position:absolute;content:'⚡';font-size:78px;color:#eaf8ff;text-shadow:0 0 12px #65c7ff,0 0 28px #8d6bff;opacity:.92;pointer-events:none;animation:chRewardBoltStrike 1.05s steps(1,end) infinite!important}
.ch-reward-toast--lightning .ch-reward-toast-fx:before{left:5%;top:-27px;transform:rotate(-12deg)}.ch-reward-toast--lightning .ch-reward-toast-fx:after{right:4%;bottom:-28px;transform:rotate(16deg);animation-delay:.42s!important}
@keyframes chRewardStormFlash{0%,17%,22%,58%,64%,100%{filter:brightness(1)}18%,20%,59%,61%{filter:brightness(2.15)}}
@keyframes chRewardBoltStrike{0%,12%,18%,52%,58%,100%{opacity:.08}13%,15%,53%,55%{opacity:1}}
\n\n/* v1.0.100 — mobile reaction picker + People sheet lifecycle only. */\n@media (max-width: 782px) {\n  /* Earlier mobile rules hid the body-mounted picker because it retains both\n     .ch-reaction-picker and .ch-mobile-reaction-picker. The explicit OPEN\n     state is authoritative so the caret can reveal the actual choices. */\n  body > .ch-reaction-picker.ch-mobile-reaction-picker.ch-mobile-picker-open {\n    display: grid !important;\n    opacity: 1 !important;\n    visibility: visible !important;\n    pointer-events: auto !important;\n  }\n\n  .ch-reaction-users-backdrop {\n    position: fixed !important;\n    inset: 0 !important;\n    z-index: 2147483290 !important;\n    display: block !important;\n    width: 100% !important;\n    height: 100% !important;\n    padding: 0 !important;\n    margin: 0 !important;\n    border: 0 !important;\n    border-radius: 0 !important;\n    background: rgba(2, 6, 23, .46) !important;\n    opacity: 0 !important;\n    visibility: hidden !important;\n    pointer-events: none !important;\n    transition: opacity .16s ease, visibility .16s ease !important;\n  }\n\n  .ch-reaction-users-backdrop.is-visible:not([hidden]) {\n    opacity: 1 !important;\n    visibility: visible !important;\n    pointer-events: auto !important;\n  }\n\n  .ch-reaction-users-panel.is-mobile-sheet {\n    z-index: 2147483300 !important;\n    bottom: 0 !important;\n    left: 0 !important;\n    right: 0 !important;\n    width: 100% !important;\n    max-width: none !important;\n    border-radius: 20px 20px 0 0 !important;\n    padding: 8px 10px calc(12px + env(safe-area-inset-bottom)) !important;\n    transform: translateY(18px) !important;\n  }\n\n  .ch-reaction-users-panel.is-mobile-sheet.is-visible {\n    transform: translateY(0) !important;\n  }\n\n  .ch-reaction-users-sheet-header {\n    display: flex !important;\n    align-items: center !important;\n    justify-content: space-between !important;\n    gap: 12px !important;\n    min-height: 42px !important;\n    padding: 2px 4px 8px !important;\n    border-bottom: 1px solid #e5e7eb !important;\n  }\n\n  .ch-reaction-users-sheet-header strong {\n    font-size: 15px !important;\n    line-height: 1.2 !important;\n  }\n\n  .ch-reaction-users-close {\n    width: 36px !important;\n    height: 36px !important;\n    min-width: 36px !important;\n    border: 0 !important;\n    border-radius: 999px !important;\n    background: #eef2f7 !important;\n    color: #111827 !important;\n    font-size: 26px !important;\n    line-height: 1 !important;\n    display: inline-flex !important;\n    align-items: center !important;\n    justify-content: center !important;\n    cursor: pointer !important;\n  }\n\n  body.ch-reaction-users-open {\n    overflow: hidden !important;\n  }\n}\n\n@media (min-width: 783px) {\n  .ch-reaction-users-sheet-header {\n    display: none !important;\n  }\n  .ch-reaction-users-backdrop {\n    display: none !important;\n  }\n}\n

/* v1.0.102 — mobile reaction interaction: reliable tap, hold-for-reactions,
   one caret for people, and a compact dismiss-on-scroll people sheet. */
.ch-post-reaction-wrap > .ch-reaction-total { display:none !important; }
.ch-post-reaction-wrap > .ch-reaction-mobile-caret[data-ch-reaction-people] {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:24px !important;
  height:28px !important;
  min-width:24px !important;
  margin:0 0 0 -2px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:inherit !important;
  opacity:.68 !important;
  font-size:15px !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:none !important;
}
.ch-post-reaction-wrap > .ch-reaction-mobile-caret[data-ch-reaction-people][hidden] { display:none !important; }
.ch-post-reaction-wrap > .ch-reaction-mobile-caret[data-ch-reaction-people]:hover,
.ch-post-reaction-wrap > .ch-reaction-mobile-caret[data-ch-reaction-people]:focus-visible { opacity:1 !important; }

@media (max-width:782px) {
  .ch-reaction-trigger {
    -webkit-touch-callout:none !important;
    -webkit-user-select:none !important;
    user-select:none !important;
    touch-action:manipulation !important;
  }
  .ch-reaction-trigger img,
  .ch-reaction-option img { -webkit-user-drag:none !important; pointer-events:none !important; }

  .ch-reaction-users-backdrop {
    background:rgba(3,7,18,.32) !important;
    backdrop-filter:blur(2px) !important;
    -webkit-backdrop-filter:blur(2px) !important;
  }
  .ch-reaction-users-panel.is-mobile-sheet {
    left:10px !important;
    right:10px !important;
    bottom:calc(10px + env(safe-area-inset-bottom)) !important;
    width:auto !important;
    max-width:none !important;
    padding:0 0 8px !important;
    border-radius:18px !important;
    overflow:hidden !important;
    box-shadow:0 18px 48px rgba(0,0,0,.28) !important;
    transform:translateY(12px) scale(.99) !important;
    transition:transform .14s ease, opacity .14s ease, visibility .14s ease !important;
  }
  .ch-reaction-users-panel.is-mobile-sheet.is-visible {
    transform:translateY(0) scale(1) !important;
  }
  .ch-reaction-users-sheet-handle {
    display:block !important;
    width:38px !important;
    height:4px !important;
    margin:8px auto 4px !important;
    border-radius:999px !important;
    background:currentColor !important;
    opacity:.16 !important;
  }
  .ch-reaction-users-sheet-header {
    display:flex !important;
    min-height:0 !important;
    padding:5px 14px 9px !important;
    border-bottom:1px solid rgba(127,127,127,.18) !important;
  }
  .ch-reaction-users-sheet-header strong {
    width:100% !important;
    text-align:left !important;
    font-size:14px !important;
    line-height:1.3 !important;
    font-weight:750 !important;
  }
  .ch-reaction-users-close { display:none !important; }
  .ch-reaction-users-panel.is-mobile-sheet .ch-reaction-users-inner {
    max-height:min(38dvh,320px) !important;
    overflow:auto !important;
    padding:8px 10px !important;
  }
  body.ch-reaction-users-open { overflow:auto !important; }
}
\n\n/* v1.0.102 — People disclosure polish + protect primary mobile Like. */
.ch-post-reaction-wrap > .ch-reaction-mobile-caret[data-ch-reaction-people] {
  width:auto !important;
  min-width:34px !important;
  height:28px !important;
  gap:3px !important;
  margin-left:0 !important;
  padding:2px 7px 2px 5px !important;
  border:1px solid rgba(127,127,127,.22) !important;
  border-radius:999px !important;
  background:rgba(127,127,127,.08) !important;
  opacity:.92 !important;
  font-size:12px !important;
  font-weight:700 !important;
  transition:background .15s ease,border-color .15s ease,transform .15s ease !important;
}
.ch-post-reaction-wrap > .ch-reaction-mobile-caret[data-ch-reaction-people]:hover,
.ch-post-reaction-wrap > .ch-reaction-mobile-caret[data-ch-reaction-people]:focus-visible {
  background:rgba(127,127,127,.14) !important;
  border-color:rgba(127,127,127,.34) !important;
  transform:translateY(-1px) !important;
}
.ch-reaction-people-summary { display:inline-flex !important; align-items:center !important; }
.ch-reaction-people-summary .ch-reaction-summary-item { display:inline-flex !important; margin-left:-3px !important; }
.ch-reaction-people-summary .ch-reaction-summary-item:first-child { margin-left:0 !important; }
.ch-reaction-people-summary img,
.ch-reaction-people-summary .ch-reaction-emoji { width:15px !important; height:15px !important; font-size:14px !important; line-height:15px !important; }
.ch-reaction-people-count { min-width:1ch !important; text-align:center !important; }
.ch-reaction-people-chevron { font-size:10px !important; opacity:.7 !important; transform:translateY(1px) !important; }
@media (max-width:782px) {
  .ch-reaction-trigger { touch-action:manipulation !important; }
  .ch-post-reaction-wrap > .ch-reaction-mobile-caret[data-ch-reaction-people] { min-height:30px !important; }
}


/* v1.0.104 — Desktop reaction hover ownership.
   The People/reaction-summary pill shares the reaction wrapper with Like.
   Older wrapper:hover rules therefore opened the rich reaction picker while
   hovering the People pill. Make the primary Like trigger the only hover/focus
   owner; explicit JS-open state and hovering the picker itself still work. */
@media (min-width: 783px) {
  .ch-comment-reaction-wrap > .ch-reaction-picker {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .ch-comment-reaction-wrap > .ch-reaction-trigger:hover ~ .ch-reaction-picker,
  .ch-comment-reaction-wrap > .ch-reaction-trigger:focus-visible ~ .ch-reaction-picker,
  .ch-comment-reaction-wrap.is-picker-open > .ch-reaction-picker,
  .ch-comment-reaction-wrap > .ch-reaction-picker:hover {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
}

/* =========================================================
   DESKTOP REACTION SUMMARY HOVER ISOLATION
   The reaction summary/people control shares the reaction wrapper with Like.
   Older wrapper-hover rules intentionally keep the reaction picker reachable,
   but the summary control must never act as a reaction-picker trigger.
   ========================================================= */
@media (min-width: 769px) {
  .ch-comment-reaction-wrap:has(> [data-ch-reaction-summary]:hover) > .ch-reaction-picker,
  .ch-comment-reaction-wrap:has(> [data-ch-reaction-summary]:focus) > .ch-reaction-picker,
  .ch-comment-reaction-wrap:has(> [data-ch-reaction-summary]:focus-visible) > .ch-reaction-picker {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(4px) scale(0.98) !important;
  }
}
\n\n/* v1.0.106 — mobile reaction identities use an anchored popover near the\n   reaction summary instead of a detached bottom sheet. */\n@media (max-width: 782px) {\n  .ch-reaction-users-panel.is-mobile-popover {\n    position: fixed !important;\n    right: auto !important;\n    bottom: auto !important;\n    max-width: calc(100vw - 20px) !important;\n    min-width: 220px !important;\n    padding: 8px !important;\n    border-radius: 16px !important;\n    overflow: hidden !important;\n    box-shadow: 0 16px 44px rgba(0,0,0,.30) !important;\n    transform: translateY(4px) scale(.985) !important;\n    transform-origin: 50% 100% !important;\n    transition: transform .12s ease, opacity .12s ease, visibility .12s ease !important;\n    z-index: 2147483300 !important;\n  }\n  .ch-reaction-users-panel.is-mobile-popover.is-visible {\n    transform: translateY(0) scale(1) !important;\n  }\n  .ch-reaction-users-panel.is-mobile-popover .ch-reaction-users-sheet-handle {\n    display: none !important;\n  }\n  .ch-reaction-users-panel.is-mobile-popover .ch-reaction-users-sheet-header {\n    display: flex !important;\n    align-items: center !important;\n    min-height: 0 !important;\n    padding: 4px 6px 8px !important;\n    border-bottom: 1px solid rgba(127,127,127,.16) !important;\n  }\n  .ch-reaction-users-panel.is-mobile-popover .ch-reaction-users-sheet-header strong {\n    font-size: 13px !important;\n    line-height: 1.25 !important;\n    font-weight: 800 !important;\n  }\n  .ch-reaction-users-panel.is-mobile-popover .ch-reaction-users-inner {\n    max-height: min(38dvh, 280px) !important;\n    overflow: auto !important;\n    padding: 6px 4px 2px !important;\n  }\n  .ch-reaction-users-panel.is-mobile-popover .ch-reaction-user {\n    min-height: 40px !important;\n  }\n  .ch-reaction-users-backdrop {\n    background: rgba(2,6,23,.18) !important;\n    backdrop-filter: none !important;\n    -webkit-backdrop-filter: none !important;\n  }\n}\n

/* v1.0.107 — valid mobile anchored People popover styles.
   v1.0.106 accidentally serialized its CSS block with literal \n text, so the
   is-mobile-popover class had no usable mobile presentation. */
@media (max-width: 782px) {
  .ch-reaction-users-panel.is-mobile-popover {
    position: fixed !important;
    display: block !important;
    right: auto !important;
    bottom: auto !important;
    max-width: calc(100vw - 20px) !important;
    min-width: 220px !important;
    padding: 8px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 16px 44px rgba(0,0,0,.30) !important;
    transform: translateY(4px) scale(.985) !important;
    transform-origin: 50% 100% !important;
    transition: transform .12s ease, opacity .12s ease, visibility .12s ease !important;
    z-index: 2147483300 !important;
  }
  .ch-reaction-users-panel.is-mobile-popover.is-visible {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
  }
  .ch-reaction-users-panel.is-mobile-popover .ch-reaction-users-sheet-handle {
    display: none !important;
  }
  .ch-reaction-users-panel.is-mobile-popover .ch-reaction-users-sheet-header {
    display: flex !important;
    align-items: center !important;
    min-height: 0 !important;
    padding: 4px 6px 8px !important;
    border-bottom: 1px solid rgba(127,127,127,.16) !important;
  }
  .ch-reaction-users-panel.is-mobile-popover .ch-reaction-users-sheet-header strong {
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
  }
  .ch-reaction-users-panel.is-mobile-popover .ch-reaction-users-inner {
    max-height: min(38dvh, 280px) !important;
    overflow: auto !important;
    padding: 6px 4px 2px !important;
  }
  .ch-reaction-users-panel.is-mobile-popover .ch-reaction-user {
    min-height: 40px !important;
  }
  .ch-reaction-users-backdrop {
    background: rgba(2,6,23,.18) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}


/* =========================================================
   v1.0.110 — dedicated mobile People popover.
   This intentionally does not reuse the historical mobile-sheet/popover
   classes, avoiding accumulated modal/bottom-sheet cascade conflicts.
   ========================================================= */
@media (max-width: 782px) {
  .ch-mobile-reaction-people-popover {
    position: fixed !important;
    z-index: 2147483400 !important;
    display: block !important;
    width: 260px !important;
    max-width: calc(100vw - 20px) !important;
    max-height: min(42dvh, 320px) !important;
    overflow: auto !important;
    padding: 8px !important;
    margin: 0 !important;
    border: 1px solid rgba(127,127,127,.22) !important;
    border-radius: 14px !important;
    background: var(--ch-surface, #fff) !important;
    color: var(--ch-text, #111827) !important;
    box-shadow: 0 14px 38px rgba(0,0,0,.26) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(3px) scale(.985) !important;
    transition: opacity .12s ease, transform .12s ease, visibility .12s ease !important;
  }
  .ch-mobile-reaction-people-popover.is-visible {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
  }
  .ch-mobile-reaction-people-inner {
    display: grid !important;
    gap: 3px !important;
  }
  .ch-mobile-reaction-people-popover .ch-reaction-user {
    display: grid !important;
    grid-template-columns: 34px minmax(0,1fr) 26px !important;
    align-items: center !important;
    min-height: 42px !important;
    gap: 8px !important;
    padding: 5px 6px !important;
    border-radius: 10px !important;
  }
  .ch-mobile-reaction-people-popover .ch-reaction-user-avatar img {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
  }
  .ch-mobile-reaction-people-popover .ch-reaction-user-name {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    font-weight: 750 !important;
  }
}

/* v1.0.115 — Mobile comment reaction gesture isolation.
 * Keep long-press reaction gestures from selecting/focusing neighboring
 * comment action labels (notably Reply) while leaving comment content and
 * reply textareas fully selectable/editable. */
@media (max-width: 768px) {
  .ch-comment-actions,
  .ch-comment-actions button,
  .ch-comment-actions a,
  .ch-comment-actions .ch-reaction-trigger,
  .ch-comment-actions .ch-reply-toggle {
    -webkit-user-select: none !important;
    user-select: none !important;
    -webkit-touch-callout: none !important;
  }
}

/* v1.0.132 — notification summary dual-theme polish + rich announcements */
.ch-profile-notifications-summary{
  background:#eff6ff!important;
  border-color:#bfdbfe!important;
  color:#0f172a!important;
}
.ch-profile-notifications-summary span{color:#475569!important}
.ch-profile-notifications-summary strong{color:#1d4ed8!important}
html[data-ch-theme-mode="dark"] .ch-profile-notifications-summary,
body.ch-theme-mode-dark .ch-profile-notifications-summary,
body.ch-theme-dark .ch-profile-notifications-summary{
  background:#111827!important;
  border-color:#334155!important;
  color:#f8fafc!important;
}
html[data-ch-theme-mode="dark"] .ch-profile-notifications-summary span,
body.ch-theme-mode-dark .ch-profile-notifications-summary span,
body.ch-theme-dark .ch-profile-notifications-summary span{color:#cbd5e1!important}
html[data-ch-theme-mode="dark"] .ch-profile-notifications-summary strong,
body.ch-theme-mode-dark .ch-profile-notifications-summary strong,
body.ch-theme-dark .ch-profile-notifications-summary strong{color:#93c5fd!important}

.ch-announcement-media{margin:0 0 16px;overflow:hidden;border-radius:14px;background:#e2e8f0}
.ch-announcement-image{display:block;width:100%;height:auto;max-height:360px;object-fit:cover}
.ch-announcement-content a{color:#2563eb;font-weight:800;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:2px}
.ch-announcement-content a:hover,.ch-announcement-content a:focus{color:#1d4ed8}
html[data-ch-theme-mode="dark"] .ch-announcement-content a,
body.ch-theme-mode-dark .ch-announcement-content a,
body.ch-theme-dark .ch-announcement-content a{color:#93c5fd}
html[data-ch-theme-mode="dark"] .ch-announcement-content a:hover,
html[data-ch-theme-mode="dark"] .ch-announcement-content a:focus,
body.ch-theme-mode-dark .ch-announcement-content a:hover,
body.ch-theme-mode-dark .ch-announcement-content a:focus,
body.ch-theme-dark .ch-announcement-content a:hover,
body.ch-theme-dark .ch-announcement-content a:focus{color:#bfdbfe}
.ch-announcement-overlay:not([hidden]) .ch-announcement-animation-pop{animation:chAnnouncementPop .34s cubic-bezier(.2,.9,.25,1.15) both}
.ch-announcement-overlay:not([hidden]) .ch-announcement-animation-slide{animation:chAnnouncementSlide .38s cubic-bezier(.2,.8,.2,1) both}
.ch-announcement-overlay:not([hidden]) .ch-announcement-animation-fade{animation:chAnnouncementFade .28s ease-out both}
@keyframes chAnnouncementPop{from{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes chAnnouncementSlide{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}
@keyframes chAnnouncementFade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.ch-announcement-dialog{animation:none!important}}
