.template-inline { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem; }
.template-inline .helptext { flex-basis: 100%; }
.source-adder { min-width: 0; margin: 1rem 0 0; padding: 1rem; border: 1px solid var(--line, #dfe5ee); border-radius: 12px; }
.source-adder label { display: block; margin: .7rem 0; }
.source-adder input { display: block; width: 100%; min-width: 0; box-sizing: border-box; }
.source-adder legend { font-weight: 700; }
.source-adder[hidden], .template-inline[hidden], [data-preview-button][hidden] { display: none; }
.next-reading .related-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.next-reading .related-card { min-width: 0; overflow-wrap: anywhere; }
.reading-reason { color: #365d92; font-size: .85rem; font-weight: 700; }
.reader-extra-links { margin-top: 1.5rem; }
.reader-extra-links > summary { cursor: pointer; padding: 1rem 0; font-weight: 700; }
@media (max-width: 700px) {
  .next-reading .related-grid { grid-template-columns: 1fr; }
  .template-inline { align-items: stretch; }
  .template-inline select, .template-inline button { width: 100%; }
  .source-adder { padding: .8rem; }
}

/* Public contribution: small tasks, native form fallback, readable mobile targets. */
.contribution-section { scroll-margin-top: 96px; }
.contribution-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.contribution-card { min-width: 0; display: flex; flex-direction: column; gap: 10px; padding: 20px; border: 1px solid #cddfd6; border-radius: 14px; background: #f7fbf8; overflow-wrap: anywhere; }
.contribution-card h3, .contribution-card p { margin: 0; }
.contribution-card h3 { font-size: 17px; }
.contribution-card p, .contribution-task span { color: #4b6257; font-size: 14px; line-height: 1.65; }
.contribution-label { color: #276246; font-size: 12px; font-weight: 700; }
.contribution-card-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: auto; }
.contribution-card-actions a { display: inline-flex; align-items: center; min-height: 44px; }
.contribution-task strong { color: #235b41; }
.contribution-footnote { font-size: 14px; line-height: 1.8; color: #54665c; }
.contribution-footnote a { display: inline-block; padding: 8px 0; text-decoration: underline; text-underline-offset: 3px; }
.contribution-suggestion { margin: 16px 0; padding: 16px 18px; border-left: 3px solid #42835e; border-radius: 8px; background: #f2f8f4; line-height: 1.75; }
.contribution-suggestion p { margin: 4px 0; }
.contribution-steps { display: flex; flex-wrap: wrap; gap: 8px 28px; padding-left: 22px; font-size: 14px; color: #40584a; }
.contribution-rules { margin: 18px 0; }
.contribution-rules summary { cursor: pointer; padding: 12px 0; }
.contribution-rules .editor-guide { margin-top: 8px; }
.contribution-errors { padding: 16px; border: 1px solid #b35d4b; border-radius: 8px; background: #fff8f4; }
.contribution-errors a { text-decoration: underline; }
.anonymous-editor .field, .draft-preview-panel { scroll-margin-top: 100px; }
.contribution-preview-actions { margin-top: 24px; flex-wrap: wrap; }
.contribution-section a:focus-visible, .contribution-rules summary:focus-visible { outline: 2px solid #2d714f; outline-offset: 4px; }
.message a { display: inline-block; margin-left: 8px; padding: 8px 0; font-weight: 700; text-decoration: underline; }
@media (max-width: 700px) {
 .contribution-grid { grid-template-columns: minmax(0, 1fr); }
 .contribution-card { padding: 16px; }
 .contribution-preview-actions > * { min-height: 44px; flex: 1 1 150px; }
 .anonymous-editor .form-actions { flex-wrap: wrap; }
 .anonymous-editor .form-actions > * { min-height: 44px; }
 .identity-strip { gap: 12px; flex-wrap: wrap; }
}
