.community-wrap { max-width: 48rem; margin: 2rem auto; }
.community-wrap h1 { font-size: 1.6rem; margin-bottom: .75rem; }
.community-wrap p, .community-policy p { line-height: 1.6; margin: .75rem 0; }
.community-policy, .community-card { padding: 1rem 1.25rem; margin: 1.25rem 0; border: 1px solid var(--rule); border-radius: 6px; background: var(--surface); overflow-wrap: anywhere; }
.community-policy { color: var(--text-secondary); font-size: .875rem; }
.community-card h2 { font-size: 1rem; }
.community-card p { margin: .75rem 0; }
.community-text { white-space: pre-wrap; }
.community-form label { display: block; font-size: .875rem; margin: 1rem 0; }
.community-form input:not([type=checkbox]), .community-form select, .community-form textarea { display: block; width: 100%; padding: .65rem; margin-top: .3rem; border: 1px solid var(--rule-strong); border-radius: 4px; background: var(--surface); color: var(--text); font: inherit; }
.community-form input:focus-visible, .community-form select:focus-visible, .community-form textarea:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.community-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.community-form .community-check { display: flex; gap: .65rem; align-items: flex-start; line-height: 1.5; }
.community-check input { margin-top: .3rem; flex-shrink: 0; }
.community-button, .community-form button { display: inline-block; background: var(--accent); color: white; border: 0; padding: .65rem 1rem; border-radius: 4px; font: inherit; cursor: pointer; text-decoration: none; margin-right: 1rem; }
.community-form button:disabled { opacity: .5; cursor: default; }
.community-error { color: var(--eol-text); }
.community-notice { padding: 1rem; border: 1px solid var(--rule-strong); }
@media (max-width: 600px) { .community-grid { grid-template-columns: 1fr; gap: 0; } }
