.study-color-control select { width: 108px; height: 24px; padding: 0 4px; font-size: 11px; }
.study-color-control { gap: 4px; }
.study-proof-dot { display: none; stroke: white; stroke-width: .7px; }
.graph-svg[data-study-color="file"] .study-proof-dot { display: block; }
.graph-svg[data-study-color="file"] .study-chip-body { fill: var(--study-file-fill); }
.graph-svg[data-study-color="file"] .graph-node-group:not(.path-pick):not(.ref-hot) .study-chip:not(.is-root):not(.is-selected) .study-chip-body { stroke: var(--study-file-stroke); }
.graph-svg[data-study-color="file"] .study-chip-label { fill: #243247; }
.graph-svg .graph-node-group.study-file-match { opacity: 1 !important; }
.graph-svg .graph-node-group.study-file-muted { opacity: .12 !important; }
.graph-svg .study-edge.study-file-muted { opacity: .08 !important; }
.study-file-legend.graph-legend-overlay {
  position: absolute; top: 8px; left: 10px; right: auto; bottom: auto;
  width: auto; max-width: min(320px, calc(100% - 110px));
  padding: 6px 9px; z-index: 3; font-size: 11px; color: #475569;
  background: rgba(255, 255, 255, .96); border: 1px solid #e2e8f0; border-radius: 6px;
  box-shadow: 0 2px 6px #0f172a0a;
}
.study-file-legend[hidden] { display: none; }
.study-file-legend summary { cursor: pointer; user-select: none; }
.study-file-list { max-height: 140px; overflow-y: auto; margin-top: 5px; }
.study-file-list button { display: flex; gap: 6px; align-items: center; width: 100%; border: 0; background: none; color: inherit; font: inherit; text-align: left; padding: 4px 2px; cursor: pointer; }
.study-file-list button:hover, .study-file-list button:focus-visible { background: #f1f5f9; outline: 1px solid #94a3b8; }
.study-file-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--mono); }
.study-file-swatch { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 2px; background: var(--study-file-fill); border: 2px solid var(--study-file-stroke); }
.study-proof-key { max-width: 290px; margin-top: 5px; padding-top: 5px; border-top: 1px solid #e2e8f0; line-height: 1.5; color: #64748b; }
.study-transition { pointer-events: none; }
.study-transition .file-focus-locator, .study-transition .study-file-legend { visibility: hidden; }
.graph-svg.zoom-study-layer { position: relative; z-index: 1; }
