.community-section { margin-top:48px; padding-top:32px; border-top:1px solid var(--color-rule); }
.community-section h2 { font-size:clamp(26px,4vw,36px); margin:0 0 18px; }
.community-section h3 { font-size:23px; }
.community-section>p { max-width:68ch; }
.community-section h2[id] { scroll-margin-top:88px; }
.community-actions { display:flex; flex-wrap:wrap; gap:12px; }
.reaction-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:720px; }
.reaction-grid button { display:flex; align-items:center; gap:9px; text-align:left; min-width:0; }
.reaction-emoji { font:23px/1.2 system-ui,sans-serif; flex-shrink:0; }
.reaction-icon { display:block; width:24px; height:24px; color:#f3d7cf; }
.reaction-label { flex:1; }
.reaction-count { font-variant-numeric:tabular-nums; color:#ffe1d5; }
.community-actions button { transition:background-color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease; touch-action:manipulation; }
.community-actions button:active { transform:scale(.97); }
.reaction-grid button[aria-pressed=true] .reaction-emoji { animation:reaction-pop .24s ease-out; }
@keyframes reaction-pop { 50% { transform:translateY(-3px) rotate(-8deg) scale(1.12); } }
.comment { animation:comment-in .18s ease-out; }
@keyframes comment-in { from { opacity:.25; transform:translateY(5px); } to { opacity:1; transform:none; } }
.menu-drawer[open] { animation:drawer-in .2s ease-out; }
@keyframes drawer-in { from { transform:translateX(-20px); opacity:.6; } to { transform:none; opacity:1; } }
.community-section button,.community-admin button,.email-action button { min-height:44px; padding:11px 17px; border:1px solid #986367; border-radius:4px; background:#47202b; color:var(--color-text); font:14px/1.5 var(--font-ui); cursor:pointer; }
.community-section button:hover,.community-admin button:hover { background:#612c3b; }
.community-section button[aria-pressed=true],.community-admin button[aria-checked=true] { border-color:#ffc2b8; background:#773043; box-shadow:inset 0 0 0 1px #ffc2b8; }
.community-section button:disabled,.community-admin button:disabled { opacity:.65; cursor:wait; }
.community-form { display:grid; gap:12px; max-width:650px; margin:24px 0; }
.community-form label { font:14px/1.5 var(--font-ui); }
.community-form input:not([type=checkbox]),.community-form textarea,.community-admin select { width:100%; min-width:0; border:1px solid #987074; border-radius:3px; padding:13px; color:var(--color-text); background:#1a0c11; font:17px/1.5 var(--font-body); }
.community-form textarea { resize:vertical; }
input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible { outline:2px solid #ffc2b8; outline-offset:4px; }
.subscribe-fields { display:flex; gap:10px; }
.subscribe-fields button { flex:0 0 auto; }
.consent { display:flex; gap:12px; align-items:start; }
.consent input { width:20px; height:20px; margin:0; flex-shrink:0; accent-color:#bc6474; }
.fine-print,.form-status { font:13px/1.7 var(--font-ui); color:var(--color-muted); }
.form-status:empty { display:none; }
.form-status { overflow-wrap:anywhere; }
.bot-field { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.excerpt-text { margin:20px 0; max-width:60ch; border-left:3px solid #b95660; padding-left:24px; font:italic 24px/1.6 var(--font-body); }
.excerpt-preview { margin:20px 0; }
.excerpt-preview summary { cursor:pointer; padding:10px 0; color:var(--color-link); }
.excerpt-preview canvas { display:block; max-width:100%; width:540px; height:auto; border:1px solid var(--color-rule); margin-top:14px; }
.related-list article { padding:20px 0; border-bottom:1px solid #503137; }
.related-list h3 { margin:0 0 10px; }
.related-list p { margin:0; color:var(--color-muted); }
.comment { margin:24px 0; padding:20px; border:1px solid #5f3942; border-left:3px solid #a95265; border-radius:3px; background:#210f17; overflow-wrap:anywhere; }
.comment header { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.comment time,.reply-label { color:var(--color-muted); font:12px/1.6 var(--font-ui); }
.comment-body { white-space:pre-wrap; }
.author-badge { font:11px/1.4 var(--font-ui); background:#edc8be; color:#271016; border-radius:3px; padding:4px 7px; }
.reply-context { color:var(--color-link); }
.local-preview-notice { border-left:3px solid #d1a075; padding:10px 16px; font:12px/1.7 var(--font-ui); color:#f3d7b2; }
.community-admin .admin-card { border:1px solid var(--color-rule); padding:20px; margin:20px 0; overflow-wrap:anywhere; }
.community-admin h2 { font-size:28px; margin-top:36px; }
.community-admin pre { white-space:pre-wrap; font:14px/1.7 var(--font-ui); }
.community-admin .switches { display:grid; gap:12px; margin:20px 0; }
.community-admin .switch-row { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:12px 0; border-bottom:1px solid var(--color-rule); }
.community-admin .switch-row button { flex-shrink:0; }
.admin-card.is-hidden { opacity:.7; }
.community-more { margin:20px 0 0; border-top:1px solid var(--color-rule); }
.community-more>summary { cursor:pointer; min-height:44px; padding:12px 0; color:var(--color-link); font:14px/1.5 var(--font-ui); }
.comment-signin>summary { cursor:pointer; min-height:44px; padding:12px 0; color:var(--color-link); font:14px/1.5 var(--font-ui); }
.comment-signin .community-form { margin:8px 0 20px; }
.community-more .excerpt-section { padding:4px 0 16px; }
.community-more .excerpt-section h3 { font-size:22px; scroll-margin-top:88px; }
.community-more button { min-height:44px; padding:10px 14px; border:1px solid #986367; border-radius:4px; background:#47202b; color:var(--color-text); font:14px/1.5 var(--font-ui); cursor:pointer; }
.community-more-link { margin:24px 0 0; font:14px/1.5 var(--font-ui); }
.community-more-link a { display:inline-block; min-height:44px; padding:10px 0; }
.reaction-verification { margin-top:12px; }
.audit-row { padding:12px 0; border-bottom:1px solid var(--color-rule); overflow-wrap:anywhere; }
.audit-row p { margin:4px 0; }
.more-essay-list { padding-left:24px; }
.more-essay-list li { margin:12px 0; }
#subscribe { scroll-margin-top:88px; }
@media(max-width:600px){.community-section{margin-top:30px;padding-top:22px}.community-section h2{font-size:25px;margin-bottom:14px}.reaction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.community-more{margin-top:16px}.community-more .excerpt-text{font-size:20px}.community-admin .switch-row button{max-width:100%;white-space:normal}}
@media(max-width:600px){.subscribe-fields{flex-direction:column}.community-admin .switch-row{align-items:start;flex-direction:column}.comment{padding:16px}.excerpt-text{font-size:21px}.community-actions button{flex:1 1 auto}.reaction-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reaction-grid button{padding:12px 10px;min-height:64px;font-size:12px}.reaction-emoji{font-size:22px}.community-section{scroll-margin-top:84px}.community-form>button{width:100%}.community-section h3{font-size:21px}.community-admin .community-actions{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.community-actions button{transition:none}.comment,.menu-drawer[open],.reaction-grid button[aria-pressed=true] .reaction-emoji{animation:none}}
@media(max-width:600px){.reaction-grid button{display:grid;grid-template-columns:auto 1fr auto;gap:6px;min-height:54px;padding:9px 7px;text-align:left}.reaction-emoji{justify-self:start;font-size:19px}.reaction-icon{width:19px;height:19px}.reaction-count{grid-column:3;grid-row:1}.reaction-label{grid-column:2;grid-row:1;line-height:1.35;min-width:0;font-size:11px}.community-actions.reaction-grid{gap:8px}}
