.iv-workspace {
  --iv-wire: #176b76;
  --iv-lamp: #9d4f16;
}
.iv-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: end;
  margin: 1rem 0;
}
.iv-controls label {
  display: grid;
  gap: 0.4rem;
  min-width: 12rem;
}
.iv-controls input[type="checkbox"] {
  width: auto;
}
.iv-controls input[type="number"],
.iv-table-wrap input {
  min-width: 7rem;
  width: 100%;
  box-sizing: border-box;
}
.iv-controls output {
  font-weight: 700;
}
.iv-apparatus-wrap,
.iv-graph-wrap,
.iv-table-wrap {
  overflow-x: auto;
  margin: 1.2rem 0;
}
.iv-apparatus-wrap svg {
  width: 100%;
  min-width: 850px;
  display: block;
}
.iv-graph-wrap svg {
  width: 100%;
  min-width: 800px;
  display: block;
  background: #fff;
  color: #172c3b;
}
.iv-apparatus-wrap text,
.iv-graph-wrap text {
  font-family: system-ui, sans-serif;
  font-size: 18px;
  fill: #172c3b;
}
.iv-apparatus-wrap .iv-small {
  font-size: 15px;
}
.iv-panel {
  fill: #f7fafc;
  stroke: #ccd9df;
}
.iv-circuit {
  fill: none;
  stroke: #283f50;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.iv-source,
.iv-meter,
.iv-lamp {
  fill: #fff;
  stroke: #283f50;
  stroke-width: 3;
}
.iv-knob,
.iv-native-control {
  fill: #e3edf4;
  stroke: #496879;
  stroke-width: 2;
  cursor: pointer;
}
.iv-apparatus-wrap [role="button"] {
  cursor: pointer;
}
.iv-apparatus-wrap [role="button"]:focus {
  outline: 3px solid #085ca8;
  outline-offset: 4px;
}
.iv-apparatus-wrap .iv-meter-reading {
  font-size: 22px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.iv-beaker {
  fill: none;
  stroke: #6b9caf;
  stroke-width: 3;
}
.iv-water {
  fill: #bde9fa;
  fill-opacity: 0.6;
}
.iv-coil {
  fill: none;
  stroke: #a36328;
  stroke-width: 4;
}
.iv-junction {
  fill: #283f50;
}
.iv-table-wrap table {
  width: 100%;
  border-collapse: collapse;
  min-width: 640px;
}
.iv-table-wrap th,
.iv-table-wrap td {
  padding: 0.65rem;
  border: 1px solid #d4dfe5;
  text-align: left;
}
.iv-table-wrap th {
  background: #edf3f7;
}
.iv-note {
  border-left: 4px solid #19727b;
  padding: 0.75rem 1rem;
  background: #f0f8f8;
}
.iv-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  font-weight: 600;
}
.iv-legend span:first-child {
  color: var(--iv-wire);
}
.iv-legend span:last-child {
  color: var(--iv-lamp);
}
.iv-minor {
  stroke: #edf0f2;
  stroke-width: 0.6;
}
.iv-major {
  stroke: #cdd5dc;
  stroke-width: 1;
}
.iv-axis {
  stroke: #425565;
  stroke-width: 1.6;
}
.iv-wire-line {
  stroke: var(--iv-wire);
  stroke-width: 2;
  fill: none;
}
.iv-lamp-line {
  stroke: var(--iv-lamp);
  stroke-width: 2;
  fill: none;
}
.iv-wire-point {
  fill: var(--iv-wire);
  stroke: var(--iv-wire);
}
.iv-lamp-point {
  fill: var(--iv-lamp);
  stroke: var(--iv-lamp);
}
.iv-errorbar {
  fill: none;
  stroke-width: 1.3;
}
.iv-accepted {
  background: #e8f5ee;
  color: #155a36;
}
.iv-corrected {
  background: #fff1db;
  color: #7c4408;
}
