@media (max-width: 640px) {
  .post-actions { min-width: 0; flex-wrap: wrap; gap: 8px 12px; }
  .post-actions > * { max-width: 100%; }
  .post-actions select { min-width: 0; flex: 1 1 150px; }
  .post-actions input[type="password"] { min-width: 0; width: 100%; flex: 1 0 100%; box-sizing: border-box; }
  .post-actions button { flex: 0 0 auto; }
  .comment-form { grid-template-columns: 1fr; }
  .comment-feedback { grid-column: 1; }
}

.comment-form { margin-top: 16px; padding-top: 14px; border-top: 1px solid #eee; display: grid; grid-template-columns: minmax(0, 120px) minmax(0, 1fr) auto; gap: 8px; }
.comment-form input,.comment-form textarea { min-width: 0; padding: 10px; border: 1px solid #ddd; border-radius: 10px; font: inherit; }
.comment-form textarea { min-height: 44px; resize: vertical; }
.comment-form button { min-height: 44px; padding: 0 14px; border: 0; border-radius: 10px; background: #d94f8c; color: #fff; font-weight: 800; }
.comment-feedback { grid-column: 1 / -1; margin: 0; color: #777; font-size: 12px; }
.composer { grid-template-columns: minmax(0, 1fr); }
.composer > *,.composer section,.composer label { min-width: 0; max-width: 100%; }
.fan-write-app,.fan-compose { min-width: 0; }
@media (max-width: 640px) {
  .fan-write-app,.fan-compose { max-width: 100%; }
  .comment-form { grid-template-columns: 1fr; }
  .comment-feedback { grid-column: 1; }
}
