/* case-merge explainer; every selector is scoped to .explain-case-merge. */
.explain-case-merge .cm-core { margin:16px 0 12px; font-size:15px; font-weight:600; line-height:1.65; }
.explain-case-merge .cm-problem { display:flex; align-items:baseline; gap:8px; margin:0 0 12px; padding:10px 14px; border:1px solid #f0dcc0; border-radius:12px; background:#fffaf2; color:#5e4520; font-size:14px; line-height:1.7; }
.explain-case-merge .cm-badge { flex:none; padding:1px 7px; border-radius:6px; background:#d98a1f; color:#fff; font-size:11.5px; font-weight:700; letter-spacing:.04em; }
.explain-case-merge .cm-explorer { display:grid; gap:10px; padding:14px; border:1px solid #dbe8e4; border-radius:16px; background:linear-gradient(180deg,#f5fbfa,#fbfdfc); }
.explain-case-merge .cm-example { margin:0; color:#33504a; font-size:14px; font-weight:600; line-height:1.7; }
.explain-case-merge .cm-graph { display:block; width:100%; max-width:460px; height:auto; margin:0 auto; }
.explain-case-merge .cm-scale { fill:none; stroke:#7f9690; stroke-width:1.3; }
.explain-case-merge .cm-tick { fill:#46605a; font-size:12px; font-family:Georgia,serif; }
.explain-case-merge .cm-tick.m { font-style:italic; }
.explain-case-merge .cm-guide { fill:none; stroke:#d3e0dc; stroke-width:1; stroke-dasharray:3 4; }
.explain-case-merge .cm-track { fill:none; stroke:#e1ebe8; stroke-width:1.2; }
.explain-case-merge .cm-head { fill:#1f3b39; font-size:13.5px; font-weight:700; paint-order:stroke; stroke:#f8fcfb; stroke-width:5px; }
.explain-case-merge .cm-head.union { fill:var(--teal-dark); }
.explain-case-merge .cm-label { fill:#6b8a80; font-size:12px; }
.explain-case-merge .cm-value { font-size:12px; font-weight:650; font-family:Georgia,"Times New Roman",serif; }
.explain-case-merge .cm-bar { fill:none; stroke-linecap:butt; }
.explain-case-merge .cm-bar.premise { stroke:#9fb6c9; stroke-width:6; }
.explain-case-merge .cm-bar.solved { stroke:#d9a65c; stroke-width:6; }
.explain-case-merge .cm-bar.result { stroke:#087f79; stroke-width:7; }
.explain-case-merge .cm-bar.union { stroke:#0b6e69; stroke-width:9; }
.explain-case-merge .cm-value.premise { fill:#4f6f8a; }
.explain-case-merge .cm-value.solved { fill:#9a6420; }
.explain-case-merge .cm-value.result, .explain-case-merge .cm-value.union { fill:#087f79; }
.explain-case-merge .cm-dot { stroke-width:2; }
.explain-case-merge .cm-dot.premise { fill:#6f8ea8; stroke:#6f8ea8; }
.explain-case-merge .cm-dot.solved { fill:#b6782c; stroke:#b6782c; }
.explain-case-merge .cm-dot.result, .explain-case-merge .cm-dot.union { fill:#087f79; stroke:#087f79; }
.explain-case-merge .cm-dot.open { fill:#fff; }
.explain-case-merge .cm-arrow.premise { fill:#9fb6c9; }
.explain-case-merge .cm-arrow.solved { fill:#d9a65c; }
.explain-case-merge .cm-arrow.result, .explain-case-merge .cm-arrow.union { fill:#087f79; }
.explain-case-merge .cm-empty { fill:#a8432f; font-size:12.5px; font-weight:650; }
.explain-case-merge .cm-off { display:none; }
.explain-case-merge .cm-steps { display:grid; gap:6px; margin:0; padding:0; list-style:none; }
.explain-case-merge .cm-steps li { padding:8px 12px; border:1px solid #e0ebe8; border-radius:11px; background:#fff; color:#46605a; font-size:13.5px; line-height:1.7; }
.explain-case-merge .cm-steps li.cm-current { border-color:#bfe0d6; background:#eef8f5; color:var(--ink); }
.explain-case-merge .cm-controls { display:flex; justify-content:center; gap:8px; }
.explain-case-merge .cm-controls button { min-width:84px; padding:7px 14px; border:1px solid #cfe1db; border-radius:999px; background:#fff; color:var(--teal-dark); font:inherit; font-size:14px; font-weight:650; cursor:pointer; }
.explain-case-merge .cm-controls .cm-next { border-color:var(--teal); background:var(--teal); color:#fff; }
.explain-case-merge .cm-controls button:disabled { opacity:.4; cursor:default; }
.explain-case-merge .cm-controls button:focus-visible { outline:3px solid #82cfc7; outline-offset:2px; }
.explain-case-merge .cm-notes { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:16px 0 0; }
.explain-case-merge .cm-note { padding:12px 14px; border:1px solid #e0ebe8; border-radius:14px; background:#fbfdfc; font-size:13.5px; line-height:1.7; }
.explain-case-merge .cm-note h3 { margin:0 0 6px; font-size:14px; font-weight:700; }
.explain-case-merge .cm-note p, .explain-case-merge .cm-note ul { margin:0 0 6px; }
.explain-case-merge .cm-note ul { padding-left:18px; }
.explain-case-merge .cm-note > :last-child { margin-bottom:0; }
.explain-case-merge .cm-signals { width:100%; margin:0 0 8px; border-collapse:separate; border-spacing:0 4px; }
.explain-case-merge .cm-signals th { padding:5px 8px; border-radius:8px 0 0 8px; background:#f3f6f5; font-size:13px; font-weight:600; text-align:left; }
.explain-case-merge .cm-signals td { padding:5px 8px; border-radius:0 8px 8px 0; background:#eef8f5; color:var(--teal-dark); font-size:13px; font-weight:650; white-space:nowrap; }
@media(max-width:600px) {
  .explain-case-merge .cm-core { font-size:14px; }
  .explain-case-merge .cm-explorer { padding:10px 8px; }
  .explain-case-merge .cm-notes { grid-template-columns:1fr; }
}
