.message-compose-grid { grid-template-columns: minmax(170px, 220px) minmax(460px, 1fr); align-items: start; }
.message-compose-grid .message-pair-field { grid-column: 1 / -1; max-width: 220px; }
.message-compose-grid #messageBodyInput { min-height: 132px; min-width: 500px; }
.message-filter-grid { grid-template-columns: minmax(180px, 260px) minmax(112px, 140px) minmax(112px, 140px) auto; }
.message-filter-actions { flex-wrap: wrap; }
.message-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.message-meta { display: flex; align-items: center; gap: 12px; margin: 8px 0 10px; min-width: 0; }
.message-meta-avatar { position: relative; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 999px; overflow: hidden; border: 1px solid rgba(83, 217, 255, 0.2); background: radial-gradient(circle at top left, rgba(83, 217, 255, 0.16), transparent 36%), linear-gradient(145deg, rgba(10, 24, 32, 0.98), rgba(8, 14, 20, 0.94)); }
.message-meta-copy { min-width: 0; display: grid; gap: 2px; }
.message-meta-copy strong,
.message-meta-copy span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.message-meta-copy strong { color: var(--white); }
.message-admin-actions,
.message-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.message-tag,
.message-pin { width: fit-content; border: 1px solid rgba(83, 217, 255, 0.18); border-radius: 999px; padding: 3px 8px; color: var(--muted); background: rgba(83, 217, 255, 0.08); font-size: 12px; }
.message-card--pinned { border-color: rgba(122, 255, 176, 0.36); }
.message-pin { color: var(--white); background: rgba(42, 216, 136, 0.16); }
.message-actions .btn { min-height: 36px; min-width: 58px; padding: 8px 10px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.message-actions .btn.is-active { border-color: rgba(122, 255, 176, 0.55); color: var(--white); background: rgba(42, 216, 136, 0.16); }
.message-card { content-visibility: auto; contain-intrinsic-size: 220px; }
.reaction-icon { font-size: 15px; line-height: 1; }
.reaction-count { min-width: 1.5ch; text-align: left; font-variant-numeric: tabular-nums; }
.message-replies { display: grid; gap: 6px; margin: 8px 0; padding: 8px 10px; border-left: 3px solid rgba(83, 217, 255, 0.28); background: rgba(83, 217, 255, 0.06); border-radius: 10px; }
.message-reply { display: grid; gap: 2px; color: var(--muted); font-size: 12px; }
.message-reply strong { color: var(--text); font-size: 12px; }
.message-reply-form {
  display: grid;
  grid-template-rows: 0fr;
  gap: 0;
  margin-top: 10px;
  padding: 0 10px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 12px;
  background: rgba(83, 217, 255, 0.04);
  opacity: 0;
  transform: translateY(-4px);
  transition:
    grid-template-rows 180ms ease,
    opacity 160ms ease,
    transform 160ms ease,
    padding 160ms ease,
    border-color 160ms ease;
  contain: layout paint;
}
.message-reply-form.is-expanded {
  grid-template-rows: 1fr;
  padding: 10px;
  border-color: rgba(83, 217, 255, 0.16);
  opacity: 1;
  transform: translateY(0);
}
.message-reply-form-inner { display: grid; gap: 8px; min-height: 0; overflow: hidden; }
.message-reply-form .message-reply-input { width: 100%; min-height: 74px; resize: vertical; }
.message-reply-form .form-row--compact { align-items: center; justify-content: flex-end; gap: 8px; }
.message-reply-form .field-count { margin-right: auto; }
.message-tag--feedback { background: rgba(245, 158, 11, 0.14); color: #fbbf24; }

html[data-theme="light"] .message-actions .btn.is-active,
html[data-theme="light"] .message-pin { color: var(--text); border-color: rgba(108, 146, 173, 0.34); background: #e8f2fa; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35); }
html[data-theme="light"] .message-tag { border-color: rgba(108, 146, 173, 0.22); background: var(--soft-panel); color: var(--muted); }
html[data-theme="light"] .message-meta-copy strong { color: var(--text); }
html[data-theme="light"] .message-reply-form.is-expanded { border-color: rgba(108, 146, 173, 0.22); }

@media (prefers-reduced-motion: reduce) {
  .message-reply-form {
    transition: none;
    transform: none;
  }
}

@media (max-width: 1080px) {
  .message-filter-grid { grid-template-columns: repeat(2, minmax(136px, 1fr)); }
  .message-compose-grid { grid-template-columns: 1fr; }
  .message-compose-grid .message-pair-field { max-width: 100%; }
}
