/* Radial gauge. Tokens only — no literal colour, radius, duration or ease.
   --gauge-ink is set inline by radial-gauge.js from --ok / --warn / --danger,
   re-read on kit:theme. Everything else here reads the tokens directly. */

.radial-gauge .card__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-4);
}

.radial-gauge__dial {
  --gauge-ink: var(--ok);
  position: relative;
  width: 100%;
  max-width: 220px;
  aspect-ratio: 1 / 1;
  border-radius: var(--radius-pill);
}
.radial-gauge__dial:focus-visible { outline: 2px solid var(--accent); outline-offset: var(--sp-1); }

.radial-gauge__svg { display: block; width: 100%; height: 100%; overflow: visible; }

.radial-gauge__track {
  fill: none;
  stroke: var(--line);
  stroke-width: 14;
  stroke-linecap: round;
}
.radial-gauge__arc {
  fill: none;
  stroke: var(--gauge-ink);
  stroke-width: 14;
  stroke-linecap: round;
}

.radial-gauge__needle-stem {
  stroke: var(--gauge-ink);
  stroke-width: 3;
  stroke-linecap: round;
}
.radial-gauge__needle-head {
  fill: var(--gauge-ink);
  stroke: var(--surface);
  stroke-width: 3;
}
.radial-gauge__center {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--sp-1);
  pointer-events: none;
  text-align: center;
}
.radial-gauge__number {
  display: flex;
  align-items: baseline;
  color: var(--gauge-ink);
  font-family: var(--font-mono);
  font-size: var(--text-3xl);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1;
}
.radial-gauge__pct { font-size: var(--text-lg); font-weight: 600; }
.radial-gauge__state {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  color: var(--ink-muted);
  font-size: var(--text-sm);
}
.radial-gauge__state::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: var(--radius-pill);
  background: var(--gauge-ink);
}

.radial-gauge__meta {
  display: flex;
  gap: var(--sp-6);
  width: 100%;
  justify-content: center;
  padding-top: var(--sp-3);
  border-top: 1px solid var(--line);
}
.radial-gauge__meta div { text-align: center; }
.radial-gauge__meta dt {
  color: var(--ink-faint);
  font-size: var(--text-xs);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.radial-gauge__meta dd {
  margin-top: var(--sp-1);
  color: var(--ink);
  font-family: var(--font-mono);
  font-size: var(--text-base);
  font-weight: 600;
}

.radial-gauge__presets { display: flex; flex-wrap: wrap; gap: var(--sp-2); justify-content: center; }
.radial-gauge__presets .btn {
  height: var(--control-h-sm);
  border: 1px solid var(--line);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
}
@media (pointer: coarse) {
  .radial-gauge__presets .btn { min-height: var(--tap-min); }
}
