/* Retained observations remain compact, readable, and distinct from new claims. */
.memory-page .memory-page-content > * { width: min(100%, 860px); }
.cm-controls { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 10px; }
.cm-controls label { display: flex; flex-direction: column; gap: 5px; min-width: 0; color: #555; font-size: 11px; }
.cm-search { flex: 1 1 260px; }
.cm-person-filter { flex: 0 1 200px; }
.cm-controls input, .cm-controls select { width: 100%; height: 38px; padding: 8px 10px; border: 1px solid #dededc; border-radius: 8px; background: #fff; color: #333; font-size: 12px; }
.cm-controls input::placeholder { color: #777; }
.cm-clear { min-height: 38px; padding: 7px 9px; border: 0; border-radius: 6px; background: transparent; color: #405bb1; font-size: 11px; }
@media (hover: hover) and (pointer: fine){.cm-clear:hover { background: #f5f5f4; }}
.cm-result-count { margin-top: 12px !important; margin-bottom: 10px; color: #666; font: 400 10px/1.5 var(--mono); }
.cm-list { display: grid; gap: 10px; }
.memory-page .cm-entry { min-width: 0; padding: 16px 18px; border-radius: 10px; }
.cm-entry-heading { display: flex; align-items: flex-start; gap: 11px; }
.cm-entry-heading .avatar { flex: 0 0 auto; }
.cm-entry-title { flex: 1; min-width: 0; }
.cm-entry-title h2 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 10px; margin: 0; color: #333; font-size: 13px; font-weight: 500; line-height: 1.5; overflow-wrap: anywhere; }
.cm-entry-title h2 button { min-width: 0; max-width: 100%; padding: 0; border: 0; background: transparent; color: #222; font: 600 13px/1.5 var(--font); text-align: left; overflow-wrap: anywhere; }
@media (hover: hover) and (pointer: fine){.cm-entry-title h2 button:hover { text-decoration: underline; text-underline-offset: 3px; }}
.cm-meta { display: flex; flex-wrap: wrap; gap: 3px 10px; margin-top: 3px; color: #666; font-size: 10px; line-height: 1.5; }
.cm-kind-revised { color: #76573e; }
.cm-kind-guess { color: #6a5b76; }
.cm-past { color: #5b6473; }
.cm-date { flex: 0 0 auto; max-width: 140px; padding-top: 2px; color: #666; font-size: 10px; line-height: 1.5; text-align: right; }
.cm-evidence, .cm-note { margin-top: 12px; }
.cm-label { display: block; margin-bottom: 4px; color: #666; font: 400 9px/1.5 var(--mono); }
.cm-entry .cm-evidence p, .cm-entry .cm-note p { margin: 0; color: #444; font-size: 12px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
.cm-note { padding-top: 10px; border-top: 1px solid #ececea; }
.cm-full-excerpt { margin-top: 8px; }
.cm-full-excerpt summary { width: fit-content; padding: 4px 0; color: #405bb1; font-size: 11px; cursor: pointer; }
.cm-full-excerpt p { margin-top: 7px !important; }
.cm-entry-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-top: 12px; }
.cm-entry-actions button { min-height: 30px; padding: 5px 8px; border: 1px solid #dededb; border-radius: 6px; background: #fff; color: #405b91; font: 500 11px/1.4 var(--font); }
@media (hover: hover) and (pointer: fine){.cm-entry-actions button:hover { background: #f5f6f8; }}
.cm-entry-actions .cm-open-person { margin-left: auto; border-color: transparent; color: #555; }
.cm-open-person span { margin-left: 7px; }
.cm-source-unlinked { color: #777; font-size: 10px; }
.cm-pagination { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 8px 14px; margin-top: 16px; }
.cm-pagination span, .cm-end { color: #666; font-size: 11px; }
.cm-end { margin: 16px 0 0; text-align: center; }
.cm-empty { padding: 30px 18px; border: 1px solid var(--line); border-radius: 10px; text-align: center; }
.cm-empty h2 { margin: 0 0 8px; color: #333; font-size: 19px; font-weight: 500; }
.cm-empty p { margin: 0 0 16px; color: #666; font-size: 12px; }
.cm-empty-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
@media (max-width: 680px) {
  .cm-search { flex-basis: 100%; }
  .cm-person-filter { flex: 1 1 160px; }
  .memory-page .cm-entry { padding: 14px; }
  .cm-entry-heading { flex-wrap: wrap; gap: 8px; }
  .cm-entry-title { flex-basis: calc(100% - 50px); }
  .cm-date { margin-left: 43px; max-width: none; padding-top: 0; text-align: left; }
  .cm-entry-actions button, .cm-pagination button, .cm-clear, .cm-full-excerpt summary { min-height: 40px; }
  .cm-entry-actions .cm-open-person { margin-left: 0; }
}
