/*
 * bmi-calculator.css — tool-specific styles: standard radios, unit select,
 * feet/inches row, category colours and the BMI gauge. Tokens only (CSP-safe).
 */

.bmi-fieldset {
  border: 0;
  padding: 0;
  margin: var(--space-2) 0 var(--space-4);
}
.bmi-radio-row {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-top: var(--space-2);
}
.bmi-radio {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  cursor: pointer;
  font: 500 14px/1.4 var(--font-sans);
  color: var(--text-primary);
}
.bmi-radio input {
  flex: none;
  width: 16px;
  height: 16px;
  accent-color: var(--blue-600);
  cursor: pointer;
}

/* Compact unit select inside the height input-group. */
.bmi-unit-select {
  flex: none;
  width: auto;
  border-left: 0;
}

/* Feet + inches side by side. */
.bmi-ftin {
  display: flex;
  gap: var(--space-2);
}
.bmi-ftin .input-group { flex: 1 1 0; min-width: 0; }
.bmi-ftin .input { min-width: 0; }

/* Category colour on the result value (paired with text, never colour alone). */
.bmi-cat--under  { color: var(--info-600); }
.bmi-cat--normal { color: var(--success-700); }
.bmi-cat--over   { color: var(--warning-700); }
.bmi-cat--obese  { color: var(--error-600); }

/* ---- Gauge ------------------------------------------------------------- */
.bmi-gauge { margin-top: var(--space-2); }
.bmi-gauge-track {
  position: relative;
  display: flex;
  height: 14px;
  border-radius: var(--radius-full);
  overflow: hidden;
  background: var(--surface-sunken);
}
.bmi-seg { display: block; height: 100%; }
.bmi-seg--under  { background: var(--info-500); }
.bmi-seg--normal { background: var(--success-500); }
.bmi-seg--over   { background: var(--warning-500); }
.bmi-seg--obese  { background: var(--error-500); }

.bmi-marker {
  position: absolute;
  top: -4px;
  width: 4px;
  height: 22px;
  margin-left: -2px;
  border-radius: var(--radius-full);
  background: var(--neutral-900);
  box-shadow: 0 0 0 2px var(--surface);
}

.bmi-gauge-scale {
  position: relative;
  height: 18px;
  margin-top: var(--space-1);
  font: 500 11px/1 var(--font-mono);
  color: var(--text-muted);
}
.bmi-tick {
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  white-space: nowrap;
}

.bmi-legend {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  margin-top: var(--space-3);
  padding: 0;
  list-style: none;
  font-size: 12px;
  color: var(--text-secondary);
}
.bmi-legend li { display: flex; align-items: center; gap: var(--space-2); }
.bmi-dot {
  flex: none;
  width: 10px;
  height: 10px;
  border-radius: var(--radius-full);
}
