.cm-v2-module { margin: 28px 0; color: var(--text, #555); font-family: var(--font-sans, sans-serif); }
.cm-v2-heading { margin: 0 0 8px; color: var(--dark, #1a1a1a); font-family: var(--font-serif, Georgia, serif); font-size: 24px; }
.cm-v2-change-note, .cm-v2-intro, .cm-v2-scope, .cm-v2-fold-note, .cm-v2-field-note { font-size: 13px; line-height: 1.55; }
.cm-v2-change-note { margin: 0 0 12px; padding: 9px 12px; border-left: 3px solid var(--brown, #8b5e3c); background: #f5f0e8; }
.cm-v2-change-note a, .cm-v2-fold a { color: var(--brown, #8b5e3c); }
.cm-v2-intro { margin: 0 0 8px; }
.cm-v2-scope { margin: 0 0 20px; padding: 10px 12px; border-left: 2px solid var(--sage, #5a7a5a); border-radius: 0 4px 4px 0; background: var(--sage-bg, #f4f8f4); }
.cm-v2-card { scroll-margin-top: 20px; }
.cm-v2-card .pq-question { font-family: var(--font-serif, Georgia, serif); }
.cm-v2-popover-button { display: inline; margin-left: 4px; padding: 1px 5px; border: 1px solid var(--sage, #5a7a5a); border-radius: 4px; background: #fff; color: var(--sage, #5a7a5a); font: inherit; font-size: 12px; cursor: pointer; }
.cm-v2-popover { width: min(360px, calc(100vw - 32px)); max-height: min(400px, calc(100vh - 32px)); overflow: auto; padding: 14px 16px; border: 1px solid var(--border, #ddd); border-radius: 8px; background: #fff; color: var(--text, #555); box-shadow: 0 4px 18px rgba(0, 0, 0, .18); font-size: 13px; line-height: 1.55; }
.cm-v2-popover p { margin: 0 0 8px; }
.cm-v2-popover p:last-child { margin-bottom: 0; }
.cm-v2-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.cm-v2-grid label, .cm-v2-conditional > label { display: block; margin: 0 0 4px; color: var(--text-light, #888); font-size: 12px; }
.cm-v2-interval { margin: 10px 0 16px; }
.cm-v2-interval summary, .cm-v2-fold > summary { cursor: pointer; color: var(--brown, #8b5e3c); font-size: 13px; font-weight: 500; }
.cm-v2-interval .cm-v2-grid { margin-top: 10px; }
.cm-v2-fold { margin: 12px 0; padding: 14px 16px; border: 1px solid var(--border-light, #e8e2d8); border-radius: 8px; background: #fafaf7; }
.cm-v2-fold[open] > summary { margin-bottom: 14px; }
.cm-v2-fold .subordinate-card { margin: 12px 0; }
.cm-v2-fold .subordinate-card:last-child { margin-bottom: 0; }
.cm-v2-conditional { min-width: 0; margin: 0; padding: 0; border: 0; }
.cm-v2-conditional legend { margin: 0 0 8px; color: #333; font-size: 12px; font-weight: 500; }
.cm-v2-conditional > .input { margin-bottom: 12px; }
.cm-v2-conditional:disabled { opacity: .62; }
.cm-v2-disabled-note { margin: 10px 0; padding: 8px 10px; border-left: 3px solid var(--brown, #8b5e3c); background: #f5f0e8; font-size: 12px; line-height: 1.45; }
.cm-v2-field-note { margin: 5px 0 0; color: var(--text-light, #888); }
.cm-v2-validation { min-height: 1.2em; margin: 6px 0 0; color: #a33; font-size: 12px; }
@media (max-width: 600px) { .cm-v2-heading { font-size: 20px; } .cm-v2-grid { grid-template-columns: 1fr; } .cm-v2-fold { padding: 12px; } .cm-v2-popover { width: calc(100vw - 24px); } }
