.character-posts { clear: both; margin-block: 2rem; }
.character-posts h2 { font-size: clamp(1.65rem, 3vw, 2.3rem); }
.character-posts h3 { font-size: clamp(1.3rem, 2vw, 1.7rem); }
.character-posts h4 { font-size: 1.2rem; }
.character-post { margin-block: 1.25rem; padding: 1.25rem; border: 1px solid #4d463b; border-radius: .75rem; background: #1d1d21; }
.character-post__body { overflow-wrap: anywhere; margin-top: 1rem; }
.character-post__meta { color: #c9b88f; font: .8rem/1.5 var(--sans, sans-serif); }
.post-workspace { margin-top: 2rem; padding: clamp(1rem, 3vw, 2rem); border: 1px solid #69604f; border-radius: .75rem; background: #18181c; }
.post-workspace--review { border-style: dashed; }
.post-form { display: grid; gap: 1rem; margin-top: 1.25rem; max-width: 850px; }
.post-form label { display: grid; gap: .4rem; font-family: var(--sans, sans-serif); font-size: .9rem; }
.post-form input, .post-form textarea, .post-form select { width: 100%; min-width: 0; padding: .7rem; border: 1px solid #77716a; border-radius: .4rem; background: #101013; color: #f3eee4; font: inherit; }
.post-form textarea { resize: vertical; }
.post-button { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; padding: .65rem 1rem; border: 1px solid #c3a66c; border-radius: .5rem; background: #d9bd7b; color: #16130d !important; font: 700 .85rem/1.4 var(--sans, sans-serif); cursor: pointer; text-decoration: none; justify-self: start; }
.post-button--quiet { background: transparent; color: #eee0c1 !important; }
.post-owner-row { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; padding: 1rem 0; border-bottom: 1px solid #49443c; margin-bottom: 1rem; }
.post-owner-row p { flex-basis: 100%; }
.post-inline-form { margin: 0; }
.post-message { padding: 1rem; border: 1px solid #777; }
.post-message--error { border-color: #e2a28f; color: #ffcab9; }
.character-posts :is(a,button,input,textarea,select):focus-visible { outline: 3px solid #f5db8b; outline-offset: 3px; }
.post-plain { white-space: pre-wrap; }
.character-post__body p { margin: .6rem 0; }
.post-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 1rem; margin-block: 1rem; }
.post-gallery figure { min-width: 0; margin: 0; }
.post-gallery img { display: block; width: 100%; max-height: 420px; object-fit: contain; border: 1px solid #77716a; border-radius: .5rem; background: #101013; }
.post-gallery input[type=checkbox] { width: auto; }
.post-editor-tools { display: flex; flex-wrap: wrap; gap: .5rem; }
.post-editor-tools[hidden] { display: none; }
.post-editor-tools button { background: #29292f; color: #f5db8b; border: 1px solid #77716a; padding: .6rem .8rem; border-radius: .4rem; cursor: pointer; min-height: 44px; }

