/* Analog semicircle SPEEDOMETER. Scope: .gauge. Band tokens inherited from the shell. */
.gauge {
  box-sizing: border-box;
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  color: var(--ink, #e4e5e0);
  font-family: var(--mono, ui-monospace, "SFMono-Regular", "Cascadia Mono", Consolas, monospace);
  font-variant-numeric: tabular-nums lining-nums;
  font-feature-settings: "tnum" 1;
}
.gauge svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}
.gauge .track {
  fill: none;
  stroke: var(--line-2, #2c2e33);
  stroke-width: 3;
}
.gauge .band-arc {
  fill: none;
  stroke-width: 4;
  opacity: 0.22;
}
.gauge .band-arc.is-on { opacity: 0.95; }
.gauge .band-arc.calm { stroke: var(--calm, #2bcaa8); }
.gauge .band-arc.watchful { stroke: var(--watch, #d2b04a); }
.gauge .band-arc.elevated { stroke: var(--elev, #e88732); }
.gauge .band-arc.fearful { stroke: var(--fear, #ef3d3d); }
.gauge .band-arc.extreme { stroke: var(--ext, #ff2d62); }
.gauge .tick {
  stroke: var(--mute, #8a8d93);
  stroke-width: 1;
}
.gauge .tick.major {
  stroke: var(--dim, #8d9096);
  stroke-width: 1.4;
}
.gauge .tick-lab {
  fill: var(--mute, #8a8d93);
  font-size: 13px;
  font-family: inherit;
  text-anchor: middle;
}
.gauge .needle {
  fill: var(--ink, #e4e5e0);
  stroke: none;
}
.gauge .needle[hidden] { visibility: hidden; }
.gauge .hub-cap { fill: var(--ink, #e4e5e0); }
.gauge .hub-core { fill: var(--bg, #050506); }

.gauge-fg {
  position: absolute;
  left: 50%;
  top: 72%;
  transform: translate(-50%, 0);
  text-align: center;
  pointer-events: none;
  width: 90%;
  max-width: 18rem;
}
.gauge #index {
  font-size: clamp(2.8rem, 12vw, 7.2rem);
  line-height: 0.82;
  letter-spacing: -0.06em;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
.gauge #index.is-empty {
  font-size: 1rem;
  letter-spacing: 0.16em;
  color: var(--mute, #8a8d93);
}
.gauge #band {
  margin: 0.2rem 0 0;
  font-size: clamp(0.68rem, 1.8vw, 0.85rem);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--dim, #8d9096);
}
.gauge #index.band-calm, .gauge #band.band-calm { color: var(--calm, #2bcaa8); }
.gauge #index.band-watchful, .gauge #band.band-watchful { color: var(--watch, #d2b04a); }
.gauge #index.band-elevated, .gauge #band.band-elevated { color: var(--elev, #e88732); }
.gauge #index.band-fearful, .gauge #band.band-fearful { color: var(--fear, #ef3d3d); }
.gauge #index.band-extreme, .gauge #band.band-extreme { color: var(--ext, #ff2d62); }
