/* Community page and comment tools. Prefix: cm- */
.cm-rules-note{margin:var(--s3) 0;padding:var(--s3) var(--s4);border-inline-start:3px solid var(--gold);background:var(--surface);font-size:var(--fs-small);color:var(--text-2)}
.cm-tools{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3);align-items:center;margin-top:var(--s2)}
.cm-btn{display:inline-flex;align-items:center;gap:var(--s2);min-height:var(--tap);padding:0 var(--s3);border:1px solid var(--line-strong);border-radius:var(--pill);background:var(--surface);color:var(--text);font:inherit;font-size:var(--fs-small);font-weight:600;cursor:pointer}
.cm-btn:hover{border-color:var(--accent)}
.cm-btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.cm-btn[aria-pressed="true"]{background:var(--accent);color:var(--accent-on);border-color:var(--accent)}
.cm-btn[disabled]{opacity:.7;cursor:default}
.cm-btn .cm-n{font-variant-numeric:tabular-nums;font-weight:800}
.cm-btn-quiet{border-color:transparent;background:none;color:var(--text-2);text-decoration:underline;text-underline-offset:3px}
.cm-vmsg{font-size:var(--fs-caption);color:var(--text-2);margin:0}
.cm-dlg{width:min(34rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;padding:var(--s5);border:1px solid var(--line-strong);border-radius:var(--r2);background:var(--surface);color:var(--text);box-shadow:var(--shadow-2)}
.cm-dlg::backdrop{background:rgba(10,20,35,.55)}
.cm-dlg h2{margin:0 0 var(--s3);font-size:var(--fs-h3)}
.cm-form{display:grid;gap:var(--s4)}
.cm-field{display:grid;gap:var(--s1)}
.cm-field label,.cm-field legend{font-weight:700;font-size:var(--fs-small)}
.cm-field input[type=text],.cm-field input[type=url],.cm-field input[type=email],.cm-field select,.cm-field textarea{width:100%;box-sizing:border-box;min-height:var(--tap);padding:var(--s2) var(--s3);border:1px solid var(--line-strong);border-radius:var(--r1);background:var(--bg);color:var(--text);font:inherit}
.cm-field textarea{min-height:6rem;resize:vertical}
.cm-field input:focus-visible,.cm-field select:focus-visible,.cm-field textarea:focus-visible{outline:3px solid var(--focus);outline-offset:1px}
.cm-help{font-size:var(--fs-caption);color:var(--text-2);margin:0}
.cm-check{display:flex;gap:var(--s3);align-items:flex-start;font-size:var(--fs-small)}
.cm-check input{width:1.25rem;height:1.25rem;margin-top:2px;flex:none}
.cm-excerpt{margin:0;padding:var(--s3);background:var(--bg);border-inline-start:3px solid var(--line-strong);font-size:var(--fs-small);color:var(--text-2);overflow-wrap:anywhere}
.cm-actions{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center}
.cm-err{color:var(--alert);font-size:var(--fs-small);margin:0;font-weight:600}
.cm-ok{color:var(--ok);font-size:var(--fs-small);margin:0;font-weight:600}
.cm-hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);opacity:0;pointer-events:none}
/* page */
.cm-sec{margin-bottom:var(--s7)}
.cm-sec h2{margin:0 0 var(--s3)}
.cm-stamp{font-size:var(--fs-caption);color:var(--text-2);margin:0 0 var(--s4)}
.cm-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.cm-list li{padding:var(--s4) 0;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);align-items:baseline;justify-content:space-between}
.cm-list h3{margin:0;font-size:var(--fs-h3);flex:1 1 18rem}
.cm-list .cm-num{font-weight:800;font-variant-numeric:tabular-nums;color:var(--text)}
.cm-table-wrap{overflow-x:auto}
.cm-table{width:100%;border-collapse:collapse;font-size:var(--fs-body)}
.cm-table th,.cm-table td{padding:var(--s3);border-bottom:1px solid var(--line);text-align:start}
.cm-table th{font-size:var(--fs-label);color:var(--text-2);border-bottom:2px solid var(--line-strong)}
.cm-table td.cm-num{font-variant-numeric:tabular-nums;font-weight:700}
.cm-rule-list{padding-inline-start:var(--s5);display:grid;gap:var(--s2);max-width:46rem}
.cm-prose{max-width:46rem}
.cm-prose li{margin-bottom:var(--s2)}
.cm-report{max-width:36rem;padding:var(--s5);border:1px solid var(--line-strong);border-radius:var(--r2);background:var(--surface)}
.cm-report h2{margin-top:0}
@media (prefers-reduced-motion:reduce){.cm-btn{transition:none}}
