.plot-stack,
.plot-stack * {
  box-sizing: border-box;
}

.plot-stack {
  --plot: #fbfbfb;
  --bg: #f6f6f3;
  --grid: #d7d7d0;
  --axis: #70757a;
  --ink: #202124;
  --muted: #5f6368;
  --panel: #e9e9e9;
  --target: rgba(31, 119, 180, 0.7);
  --series: #d62728;
  --interval: rgba(123, 75, 40, 0.6);
  --border: #74746c;

  display: grid;
  width: min(100%, 760px);
  gap: 14px;
  margin: 1.5em auto;
  color: var(--ink);
}

.plot-stack .canvas {
  display: block;
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--plot);
}

.plot-stack #series-canvas {
  aspect-ratio: 760 / 470;
}

.plot-stack #coeffs-canvas {
  aspect-ratio: 760 / 260;
}

.plot-stack .controls {
  display: grid;
  grid-template-columns: minmax(260px, 1fr);
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--panel);
  font-size: 1.2rem;
}

.plot-stack .number-controls {
  display: grid;
  grid-template-columns: minmax(max-content, 1fr) repeat(3, max-content);
  gap: 12px 16px;
  align-items: end;
}

.plot-stack .number-control {
  display: grid;
  gap: 6px;
}

.plot-stack .number-control:not(:first-child) {
  width: 7.25rem;
}

.plot-stack label {
  color: var(--ink);
  font-size: 1.2rem;
  font-weight: 700;
  white-space: nowrap;
}

.plot-stack input[type="number"] {
  width: 7.25rem;
  height: auto;
  padding: 10px 11px;
  border: 1px solid #888;
  border-radius: 4px;
  color: var(--ink);
  background: #fff;
  font: 1.2rem/1.3 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.plot-stack #terms-number {
  width: 6.5rem;
}

@media (max-width: 720px) {
  .plot-stack .controls {
    grid-template-columns: 1fr;
  }

  .plot-stack .number-controls {
    grid-template-columns: minmax(max-content, 1fr) max-content;
  }
}

@media (max-width: 390px) {
  .plot-stack .number-controls {
    grid-template-columns: 1fr;
  }
}
