.edc-community {
  --edc-ink: #28333c;
  --edc-muted: #62666b;
  --edc-line: #dcd5ca;
  --edc-paper: #faf8f3;
  --edc-accent: #7b4138;
  color: var(--edc-ink);
  margin-block: 3rem;
  scroll-margin-top: 6rem;
}
.edc-community *, .edc-community *::before, .edc-community *::after { box-sizing: border-box; }
.edc-community [hidden] { display: none !important; }
.edc-surface { border-top: 1px solid var(--edc-line); padding-top: 1.8rem; }
.edc-heading { margin: 0 0 .6rem; font: inherit; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.5rem, 2.8vw, 2rem); line-height: 1.25; }
.edc-intro { margin: 0 0 1.5rem; color: var(--edc-muted); max-width: 65ch; }
.edc-composer { margin: 1.5rem 0 2rem; background: var(--edc-paper); border: 1px solid var(--edc-line); border-radius: .5rem; padding: clamp(1rem, 3vw, 1.6rem); }
.edc-form-heading { margin: 0 0 1rem; font-size: 1.08rem; font-weight: 600; }
.edc-fields { border: 0; padding: 0; margin: 0; min-width: 0; }
.edc-label { display: grid; gap: .45rem; margin: 0 0 1rem; font-size: .95rem; font-weight: 600; }
.edc-input { display: block; width: 100%; min-height: 44px; padding: .75rem .9rem; color: var(--edc-ink); background: #fff; border: 1px solid #b6b0a6; border-radius: .25rem; font: inherit; font-weight: 400; line-height: 1.5; }
textarea.edc-input { resize: vertical; min-height: 7rem; }
.edc-input:focus-visible, .edc-button:focus-visible, .edc-text-button:focus-visible, .edc-link:focus-visible, .edc-source:focus-visible { outline: 3px solid #946838; outline-offset: 3px; }
.edc-counter, .edc-hint { display: block; margin: -.4rem 0 1rem; color: var(--edc-muted); font-size: .8rem; font-weight: 400; }
.edc-policy { margin: .5rem 0 1rem; max-width: 75ch; color: var(--edc-muted); font-size: .85rem; line-height: 1.55; }
.edc-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .65rem 1rem; border: 1px solid var(--edc-line); border-radius: .25rem; background: #fff; color: var(--edc-ink); font: inherit; font-size: .9rem; cursor: pointer; }
.edc-primary { background: var(--edc-ink); border-color: var(--edc-ink); color: #fff; }
.edc-button:hover:enabled { border-color: var(--edc-accent); }
.edc-primary:hover:enabled { background: #3d4650; }
.edc-button:disabled { cursor: default; opacity: .5; }
.edc-text-button { border: 0; background: transparent; color: var(--edc-accent); min-height: 44px; padding: .4rem .2rem; font: inherit; font-size: .9rem; text-decoration: underline; text-underline-offset: .18em; cursor: pointer; }
.edc-link, .edc-source { color: var(--edc-accent); text-decoration: underline; text-underline-offset: .18em; overflow-wrap: anywhere; }
.edc-gate p { margin: 0 0 .75rem; line-height: 1.5; }
.edc-account-links { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; }
.edc-account-links a { display: inline-flex; align-items: center; min-height: 44px; }
.edc-feedback { margin: .85rem 0 0; line-height: 1.55; font-size: .9rem; }
.edc-feedback:empty { margin: 0; }
.edc-feedback[data-tone="error"] { color: #8f2926; }
.edc-feedback[data-tone="success"] { color: #28563c; }
.edc-feedback[data-tone="pending"] { color: #765326; }
.edc-list { margin: 1rem 0; }
.edc-list[aria-busy="true"] { opacity: .65; }
.edc-item { border-bottom: 1px solid var(--edc-line); padding: 1.5rem 0; overflow-wrap: anywhere; }
.edc-item:first-child { padding-top: .5rem; }
.edc-post-title { margin: 0 0 .6rem; font: inherit; font-family: Georgia, "Times New Roman", serif; font-size: 1.4rem; line-height: 1.35; }
.edc-meta { margin: 0 0 .9rem; color: var(--edc-muted); font-size: .8rem; line-height: 1.5; }
.edc-author { font-weight: 600; }
.edc-body { white-space: pre-wrap; line-height: 1.75; max-width: 80ch; }
.edc-source { display: inline-block; margin-top: 1rem; font-size: .85rem; }
.edc-item-actions { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin-top: .75rem; }
.edc-thread { margin: 1rem 0 0; padding-left: clamp(.6rem, 2vw, 1.25rem); border-left: 2px solid var(--edc-line); }
.edc-thread.edc-community { margin-block: 1rem 0; }
.edc-thread .edc-surface { border: 0; padding-top: .5rem; }
.edc-thread .edc-heading { font-size: 1.1rem; }
.edc-thread .edc-composer { margin: .75rem 0 1.25rem; padding: 1rem; }
.edc-thread .edc-form-heading { font-size: .95rem; }
.edc-thread .edc-item { padding-block: 1rem; }
.edc-report { background: var(--edc-paper); border: 1px solid var(--edc-line); border-radius: .3rem; margin-top: .75rem; padding: 1rem; max-width: 38rem; }
.edc-report .edc-fields > button { margin-right: .8rem; }
.edc-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .8rem; margin: 1.5rem 0; }
.edc-page-label { color: var(--edc-muted); font-size: .85rem; }
.edc-empty { color: var(--edc-muted); padding: 1.2rem 0; line-height: 1.6; }
@media (max-width: 560px) {
  .edc-community { margin-block: 2rem; }
  .edc-input { font-size: 16px; }
  .edc-item { padding-block: 1.15rem; }
  .edc-post-title { font-size: 1.25rem; }
  .edc-pagination { justify-content: space-between; gap: .5rem; }
  .edc-composer .edc-primary { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .edc-community { scroll-behavior: auto; } }
