/* ==========================================================================
   SMUI.HTML: ANALYZE > SPECIALIZED MODELING > GENERALIZED ADDITIVE MODEL
   (smui-p-gam.js). The launch dialog's model options, the row of partial
   effect plots with their penalty sliders, the model line, the Prediction
   Profiler's grid. Colours are kvot.css's tokens (and the core's), so both
   themes read.
   ========================================================================== */

/* ---- the launch dialog ---------------------------------------------------------- */
.sm-gam-launch { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--border-color); }
.sm-gam-launch h4 { margin: 0 0 6px; }
.sm-gam-launchopts { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; }
.sm-gam-opt { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--text-primary); }
.sm-gam-opt[hidden] { display: none; }
.sm-gam-opt > span { color: var(--text-secondary); white-space: nowrap; }
.sm-gam-opt select, .sm-gam-opt input[type="text"] {
  padding: 2px 5px; border: 1px solid var(--border-color); border-radius: 3px; background: var(--input-bg); color: var(--text-primary); font: inherit; font-size: 12px; min-width: 0;
}

/* ---- the report --------------------------------------------------------------------- */
.sm-gam-modelline { display: flex; flex-wrap: wrap; gap: 2px 18px; margin: 2px 0 8px; font-size: 12px; color: var(--text-secondary); line-height: 1.5; }
.sm-gam-modelline b { font-weight: 600; color: var(--text-primary); }
.sm-gam-controls { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; margin: 2px 0 8px; }

/* the smooth terms side by side, each an outline with its plot and slider */
.sm-gam-terms { display: flex; flex-wrap: wrap; gap: 4px 18px; align-items: flex-start; }
.sm-gam-terms > .sm-ob { min-width: 0; max-width: 100%; }
.sm-gam-terminfo { display: flex; flex-wrap: wrap; gap: 2px 14px; margin: 3px 0 2px; font-size: 12px; color: var(--text-secondary); font-variant-numeric: tabular-nums; }
.sm-gam-terminfo b { font-weight: 600; color: var(--text-primary); }
.sm-gam-basis { color: var(--text-muted); }
.sm-gam-sliderrow { display: flex; align-items: center; gap: 8px; max-width: 380px; margin: 2px 0; font-size: 11px; color: var(--text-muted); }
.sm-gam-slider { flex: 1 1 auto; min-width: 90px; margin: 0; accent-color: var(--color-kvot-accent); }
.sm-gam-crit { display: block; min-height: 1.3em; font-size: 11px; color: var(--text-muted); font-variant-numeric: tabular-nums; }

/* a graph with its matplotlib code under it */
.sm-gam-plotcode { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; max-width: 100%; }

/* ---- the Prediction Profiler ------------------------------------------------------------ */

@media (max-width: 760px) {
  .sm-gam-terms { gap: 4px 10px; }
  .sm-gam-sliderrow { max-width: 100%; }
}
