// ───────────────────────────────────────────────────────────────────────────── // Component: File Co-change Coupling (.cp-* prefix) // File: src/scss/components/_coupling.scss // // Visual rules only — colors, typography, backgrounds, borders, transitions. // Structural layout lives in pages/_coupling.scss. // ───────────────────────────────────────────────────────────────────────────── // ── Pair list ───────────────────────────────────────────────────────────────── .cp-list { background: var(--bg-surface); border: 1px solid var(--border-default); border-radius: var(--radius-md); overflow: hidden; } .cp-pair-row { border-top: 1px solid var(--border-subtle); transition: background 120ms ease; &:first-child { border-top: none; } &:hover { background: var(--bg-hover); } } // ── File paths ──────────────────────────────────────────────────────────────── .cp-file-a { color: var(--text-muted); } .cp-file-b { color: var(--color-accent-link); } .cp-arrow { color: var(--border-default); font-size: 0.75rem; flex-shrink: 0; user-select: none; } // ── Count ───────────────────────────────────────────────────────────────────── .cp-count { font-family: var(--font-mono); font-size: 0.78rem; font-weight: 700; color: var(--text-primary); white-space: nowrap; } // ── Heat bar ────────────────────────────────────────────────────────────────── .cp-bar-track { background: var(--bg-elevated); border-radius: 2px; overflow: hidden; } .cp-bar-fill { height: 100%; border-radius: 2px; background: var(--color-accent); transition: width 200ms ease; &--medium { background: var(--color-warning); } &--high { background: var(--color-danger); } } // ── Filter bar ──────────────────────────────────────────────────────────────── .cp-filter-label { font-size: 0.68rem; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; color: var(--text-muted); white-space: nowrap; } // ── Empty state ─────────────────────────────────────────────────────────────── .cp-empty-state { text-align: center; color: var(--text-muted); padding: 3rem 1.5rem; }