/* Full-page board reading and writing, using the existing black/violet palette. */
.content-grid.board-wide { grid-template-columns: minmax(0, 1fr); }
.board-wide .main-column { width: 100%; max-width: 1120px; margin-inline: auto; }
.board-route { width: 100%; max-width: 1040px; margin-inline: auto; }
.board-page-nav { display: flex; align-items: center; margin-bottom: 24px; }
.board-page-nav .text-button { min-height: 44px; }
.back-icon { transform: rotate(180deg); }
.post-reading, .post-editor { padding: clamp(24px, 4vw, 48px); overflow: visible; }
.post-header { padding-bottom: 28px; margin-bottom: 32px; border-bottom: 1px solid var(--border); }
.post-header h1 { font-size: var(--type-h1); margin-top: 16px; overflow-wrap: anywhere; }
.post-header .detail-meta { margin: 20px 0 0; gap: 10px 16px; color: var(--muted); }
.post-header .detail-meta .avatar { width: 36px; height: 36px; }
.post-reading .post-body { min-height: 200px; font-size: 1.125rem; line-height: 1.8; max-width: 78ch; }
.post-reading .post-actions { margin-top: 32px; gap: 16px; }
.post-reading .comments-section { margin-top: 32px; padding-top: 32px; }
.post-reading .comments-section h2 { margin-bottom: 24px; }
.post-reading .comments-section h2 span { color: var(--accent); }
.post-reading .comments-section form { align-items: stretch; margin-top: 28px; }
.post-reading .comments-section form>.button { align-self: flex-end; min-height: 44px; }
.post-reading .comment { padding: 20px 0; }
.post-reading .comment p { font-size: 1rem; line-height: 1.7; }
.post-reading .comment-meta { gap: 8px 16px; }
.post-reading .comment-meta .avatar { width: 2.25rem; height: 2.25rem; flex-shrink: 0; }
.post-reading .comment-meta button { min-height: 44px; }
.editor-page-title { margin-bottom: 28px; }
.post-editor label, .post-reading label { display: block; font-size: 1rem; font-weight: 500; margin-bottom: 10px; }
.post-editor label:not(:first-child) { margin-top: 28px; }
.post-editor input, .post-editor textarea, .post-editor select, .post-reading .comments-section textarea {
  display: block; width: 100%; border: 1px solid var(--control-border); border-radius: 10px;
  background: var(--input); color: var(--text); padding: 14px 16px; font: inherit; font-size: 1rem; line-height: 1.7;
}
.post-editor select { max-width: 280px; }
.post-editor #post-title { font-size: 1.125rem; }
.post-editor #post-body { min-height: 360px; font-size: 1.125rem; resize: vertical; }
.post-editor .form-bottom { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--border); }
.post-editor .form-bottom .button, .post-editor .form-bottom .text-button { min-height: 44px; }
.page-status { padding: 40px 28px; text-align: center; }
.page-status h2 { margin-bottom: 12px; }
.page-status p { color: var(--muted); }
.page-status .text-button { margin-top: 20px; }
.board-route :focus-visible { scroll-margin-top: 100px; }
@media (max-width: 640px) {
  .board-page-nav { margin-bottom: 20px; }
  .post-reading, .post-editor { padding: 24px 20px; }
  .post-header { margin-bottom: 24px; padding-bottom: 24px; }
  .post-header .detail-meta { gap: 8px 12px; }
  .post-reading .post-body { min-height: 160px; }
  .post-editor #post-body { min-height: 320px; }
  .post-editor select { max-width: none; }
  .page-status { padding: 28px 20px; }
}
