.forum { text-align: left; padding: 32px; margin-top: 40px; margin-bottom: 270px; }
[hidden] { display: none !important; }
html { scroll-padding-bottom: 270px; }
.forum button { scroll-margin-bottom: 270px; }
.forum > * { position: relative; z-index: 2; }
.forum h1 { font-size: clamp(2.4rem, 6vw, 4rem); margin-top: 28px; }
.forum a { color: var(--text); }
.intro, #connection { color: rgba(255,255,255,.65); margin-top: 16px; line-height: 1.6; }
input, textarea, button { font: inherit; color: var(--text); background: #191d28; border: 1px solid var(--border); border-radius: 10px; padding: 10px 12px; }
button { cursor: pointer; }
button:disabled { cursor: default; opacity: .5; }
input, textarea { min-width: 0; width: 100%; }
textarea { resize: vertical; max-height: 160px; }
label { display: flex; flex-direction: column; gap: 6px; font-size: .85rem; }
#login-form { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin: 24px 0; }
#login-form label { flex: 1; min-width: 140px; }
#account { margin: 24px 0; }
#error { color: #ffb8b8; margin: 16px 0; }
#posts { margin-top: 24px; }
.post { padding: 18px 0; border-top: 1px solid var(--border); min-width: 0; }
.post-header { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.post-header time { font-size: .75rem; color: rgba(255,255,255,.55); }
.delete { margin-left: auto; font-size: 1.1rem; padding: 2px 9px; }
.post-body { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.65; margin: 14px 0; }
.reply { font-size: .8rem; padding: 4px 10px; }
.composer { position: fixed; z-index: 10; bottom: 16px; left: 50%; transform: translateX(-50%); width: min(760px, calc(100% - 24px)); background: #141822; border: 1px solid var(--border); border-radius: 18px; padding: 16px; box-shadow: 0 12px 40px var(--shadow); }
.compose-row { display: flex; gap: 12px; margin-top: 8px; align-items: end; }
#reply-context { font-size: .8rem; margin-bottom: 10px; overflow-wrap: anywhere; }
:focus-visible { outline: 2px solid #c4b5fd; outline-offset: 3px; }
@media (max-width: 600px) { .forum { padding: 24px 16px; } .post-header { gap: 8px; } }
