/**
 * Color band library viz (shared by EXIFscatter + scene-db).
 * Host pages keep their own shell (.color-wrap / .viz-dock__panel).
 */

.color-viz__label {
  margin: 0 0 4px;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-muted, var(--muted, #6b7785));
}
.color-viz__empty {
  margin: 0;
  font-size: 11px;
  color: var(--text-muted, var(--muted, #6b7785));
}
.color-viz__overall {
  margin: 0 0 10px;
}

.card-hue--library {
  width: 100%;
  margin: 0 0 8px;
  box-sizing: border-box;
}
.card-hue--library .card-hue__bar {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  width: 100%;
  height: 14px;
  gap: 0;
  border-radius: 7px;
  overflow: hidden;
  background: #1a1f28;
}
.card-hue--library .card-hue__bar.is-empty {
  opacity: 0.45;
}
.card-hue--library .card-hue__seg {
  flex: 0 1 0;
  min-width: 0;
  height: 100%;
  border: 0;
  border-radius: 0;
  padding: 0;
}

.color-sv-list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
}
.color-sv {
  /* One hue card = 1/3 section width; height capped to same (square). */
  flex: 0 0 calc((100% - 16px) / 3);
  width: calc((100% - 16px) / 3);
  max-width: calc((100% - 16px) / 3);
  aspect-ratio: 1 / 1;
  max-height: calc((100% - 16px) / 3);
  min-width: 0;
  min-height: 0;
  padding: 6px;
  border: 1px solid var(--border, #2a313c);
  border-radius: 8px;
  background: #12151a;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.color-sv__head {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 5px;
  min-width: 0;
  flex: 0 0 auto;
}
.color-sv__swatch {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.15);
}
.color-sv__name {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 11px;
  font-weight: 600;
  color: var(--text, #e8eaed);
}
.color-sv__pct {
  flex: 0 0 auto;
  font-size: 10px;
  color: var(--text-muted, var(--muted, #6b7785));
}
.color-sv__grid {
  display: grid;
  gap: 1px;
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
  grid-auto-flow: row;
  border-radius: 6px;
  overflow: hidden;
  background: #0a0c10;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}
.color-sv__cell {
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  box-sizing: border-box;
  border-radius: 0;
  background-clip: border-box;
}
