/* ==========================================
   Diagramm-Seite spezifisches CSS
   Für: /chart/ Seite
   ========================================== */

#chartRoot {
  display: flex;
  flex-direction: column;
  flex: 1;
  width: 100%;
}

#chartMainRow {
  display: flex;
  flex-direction: row;
  flex: 1;
  min-width: 0;
  align-items: stretch;
  justify-content: center;
}

#chartCanvas {
  flex: 1;
  min-width: 0;
  display: block;
  background-color: #000000;
  border-radius: var(--radius-md);
  cursor: crosshair;
  max-height: 60vh;
}

#chartControlsGrid {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: var(--space-xs) var(--space-sm);
  flex: none;
  align-items: center;
  justify-content: center;
  margin: .5rem 0.5rem 0;
}

.control-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(var(--space-xs) * 0.5);
}

.control-line {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: calc(var(--space-xs) * 0.5);
  white-space: nowrap;
}

.control-line label {
  font-size: clamp(16px, 2.8vmin, 3rem);
  color: var(--color-text-primary);
}





/* Diagramm-spezifische Width für input-field */
.chart-spinner-input {
  width: clamp(2.5rem, 6vmin, 4rem);
}

#chartControlsBottom .chart-spinner-input {
  width: auto;
  min-width: 5ch;
}

.chart-value-text {
  font-size: clamp(16px, 2.8vmin, 3rem);
  color: var(--color-text-primary);
}

#chartControlsBottom {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex: none;
  /* padding: var(--space-xs) var(--space-sm); */
  gap: 0.5rem;
  margin-top: 0.5rem;
}

#chartControlsBottom > label {
  font-size: clamp(16px, 2.8vmin, 3rem);
  color: var(--color-text-primary);
}

#chartControlsBottom > input {
  margin: 0;
}

#chartControlsBottom > span {
  margin: 0;
}

/* Responsive */
@media (orientation: portrait) {
  #chartMainRow {
    flex-direction: column;
  }

  #chartCanvas{
    min-height: 50vh;
  }

  #chartControlsGrid {
    grid-template-columns: repeat(2, auto);
    max-width: calc(100vw - var(--space-sm) * 2);
    justify-content: space-around;
    gap: 0.5rem;
  }

  /* FP-Gesamt und Eigen-FP als einzeiler in portrait */
  .control-line.fp-stats {
    flex-direction: row;
    justify-content: center;
  }
}

@media (orientation: landscape) and (min-height: 375px) {
  #chartMainRow {
    flex-direction: row;
  }

  /* FP-Gesamt und Eigen-FP als 2-zeiler in landscape */
  .control-line.fp-stats {
    flex-direction: column;
    align-items: center;
  }

  #chartControlsGrid {
    grid-template-columns: 1fr;
  }
}
