/* Visible report nodes share the canvas shell; only their list scrolls. */
#vjtop-ref .node.music-analysis-node {
  /* Absolute children start inside this border; align toolbars to the outer card edge. */
  --music-toolbar-border-offset: 1px;
  width: 360px;
  min-width: 280px;
  overflow: visible;
  border: 1px solid #3b3b3b;
  border-radius: 20px;
  background: #212121;
  color: #f5f5f5;
}
#vjtop-ref .music-analysis-node.selected { border-color: #aaa; }
#vjtop-ref .music-analysis-node .node-body { padding: 24px 20px 20px; }
#vjtop-ref .music-analysis-node .music-analysis-content {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-height: none;
  min-width: 0;
  overflow: visible;
  font-size: 12px;
  line-height: 1.55;
}
#vjtop-ref .music-analysis-node .music-result-message {
  margin: 0;
  padding: 9px 11px;
  border-radius: 7px;
  background: #2b2b2b;
  color: #ddd;
  font-size: 11px;
  overflow-wrap: anywhere;
}
#vjtop-ref .music-analysis-node [hidden] { display: none !important; }
#vjtop-ref .music-analysis-node .music-result-summary {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-height: 240px;
  overflow-y: auto;
  overscroll-behavior: contain;
  min-width: 0;
  overflow-wrap: anywhere;
}
#vjtop-ref .music-analysis-node .music-result-conclusion {
  margin: 0;
  color: #fff;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.8;
}
#vjtop-ref .music-analysis-node .music-result-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 5px 0 9px; }
#vjtop-ref .music-analysis-node .music-result-tag,
#vjtop-ref .music-analysis-node .music-result-tempo {
  max-width: 100%;
  padding: 3px 8px;
  border-radius: 5px;
  background: color-mix(in srgb, var(--app-purple) 24%, #212121);
  color: #fff;
  font-size: 11px;
  line-height: 1.5;
}
#vjtop-ref .music-analysis-node .music-result-estimate { display: block; color: #a8a8a8; font-size: 10px; line-height: 1.5; }
#vjtop-ref .music-analysis-node .music-result-themes { color: #ccc; font-size: 11px; }
#vjtop-ref .music-analysis-node .music-result-themes summary { cursor: pointer; }
#vjtop-ref .music-analysis-node .music-result-themes strong { display: block; margin-top: 8px; }
#vjtop-ref .music-analysis-node .music-result-section { display: flex; align-items: center; gap: 7px; color: #fff; font-size: 11px; font-weight: 400; }
#vjtop-ref .music-analysis-node .music-result-count { color: #939393; font-variant-numeric: tabular-nums; }
#vjtop-ref .music-analysis-node .music-result-locate { margin-left: auto; padding: 0; border: 0; background: transparent; color: #d4b4ec; font: inherit; cursor: pointer; }
#vjtop-ref .music-analysis-node .music-result-segments {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 3px;
  max-height: 276px;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
#vjtop-ref .music-analysis-node .music-result-segments,
#vjtop-ref .music-analysis-node .music-result-summary { scrollbar-width: thin; scrollbar-color: #666 transparent; }
#vjtop-ref .music-analysis-node .music-result-segments::-webkit-scrollbar,
#vjtop-ref .music-analysis-node .music-result-summary::-webkit-scrollbar { width: 5px; }
#vjtop-ref .music-analysis-node .music-result-segments::-webkit-scrollbar-thumb,
#vjtop-ref .music-analysis-node .music-result-summary::-webkit-scrollbar-thumb { border-radius: 4px; background: #666; }
#vjtop-ref .music-analysis-node .music-result-segment {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) 13px;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  width: 100%;
  min-width: 0;
  min-height: 66px;
  padding: 11px 8px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #fff;
  text-align: left;
  font: inherit;
  cursor: pointer;
}
#vjtop-ref .music-analysis-node .music-result-segment:hover { background: rgba(255, 255, 255, .045); }
#vjtop-ref .music-analysis-node .music-result-segment[aria-current="true"],
#vjtop-ref .music-analysis-node .music-result-segment[aria-pressed="true"] { background: color-mix(in srgb, var(--app-purple) 25%, #212121); }
#vjtop-ref .music-analysis-node .music-result-segment:disabled { cursor: default; }
#vjtop-ref .music-analysis-node .music-result-time { align-self: start; margin-top: 3px; color: #fff; white-space: nowrap; font-size: 11px; font-variant-numeric: tabular-nums; }
#vjtop-ref .music-analysis-node .music-result-segment-copy { display: flex; flex-direction: column; gap: 4px; min-width: 0; overflow-wrap: anywhere; }
#vjtop-ref .music-analysis-node .music-result-segment-copy strong { color: #fff; font-size: 13px; font-weight: 500; line-height: 19px; }
#vjtop-ref .music-analysis-node .music-result-segment-copy > span { color: #fff; font-size: 11px; line-height: 17px; font-weight: 400; }
#vjtop-ref .music-analysis-node .music-result-loop-icon { justify-self: end; display: flex; }
#vjtop-ref .music-analysis-node .music-result-loop-icon .ui-icon { width: 13px; height: 13px; color: #fff; }
#vjtop-ref .music-analysis-node .music-result-empty { margin: 0; color: #aaa; font-size: 11px; }
/* Toolbar geometry and controls share the image-node toolbar rules in index.html. */
#vjtop-ref .music-analysis-node .music-result-toolbar img { display:block; object-fit:contain; filter:invert(1); opacity:.72; pointer-events:none; }
#vjtop-ref .music-analysis-node :is(button, [tabindex]):focus-visible { outline: 1px solid #aaa; outline-offset: 2px; }
#vjtop-ref .music-analysis-node .music-result-segment:focus { outline: none; box-shadow: none; }
#vjtop-ref .music-analysis-node .music-result-segment:focus-visible { filter: brightness(1.2); }
#vjtop-ref .music-analysis-node > .port.input { top: 50%; }
@media (max-width: 600px) {
  #vjtop-ref .music-analysis-node .music-result-segments { max-height: 207px; }
}
