.adaptive-toggle {
  display: flex;
  align-items: center;
  gap: var(--wa-space-md);
  min-height: 44px;
  padding: var(--wa-space-sm) var(--wa-space-md);
  color: var(--wa-ink-muted);
  border: 1px solid color-mix(in srgb, var(--wa-line) 72%, transparent);
  border-radius: var(--wa-radius-sm);
  background: var(--wa-stage-sunken);
  cursor: pointer;
}

.adaptive-toggle:has(input:checked) {
  border-color: var(--wa-ink-faint);
  background: var(--wa-stage-raised);
}

.app:not([data-mode="empty"]) :is(.adaptive-toggle, .learning-privacy) {
  display: none;
}

.adaptive-toggle:focus-within {
  outline: 2px solid var(--wa-focus-ring);
  outline-offset: 2px;
}

.adaptive-toggle input {
  inline-size: 20px;
  block-size: 20px;
  margin: 0;
  accent-color: var(--wa-ink-muted);
}

.adaptive-toggle-copy {
  display: grid;
  gap: 2px;
}

.adaptive-toggle-copy strong {
  color: var(--wa-ink);
  font-size: 0.9rem;
}

.adaptive-toggle-copy small,
.learning-privacy,
.diagnostic-kicker,
.diagnostic-source,
.route-step small {
  color: var(--wa-ink-faint);
  font-size: 0.78rem;
  line-height: 1.4;
}

.learning-privacy {
  padding-inline: var(--wa-space-xs);
}

.learning-privacy summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.learning-privacy-body {
  display: grid;
  gap: var(--wa-space-sm);
  padding-block-end: var(--wa-space-md);
}

.diagnostic-panel {
  display: grid;
  gap: var(--wa-space-lg);
  padding: var(--wa-space-lg);
  border: 1px solid var(--wa-line);
  border-radius: var(--wa-radius-md);
  background: var(--wa-stage-raised);
}

.diagnostic-panel[hidden] {
  display: none;
}

.diagnostic-panel h2,
.diagnostic-panel h3,
.diagnostic-panel p {
  margin: 0;
}

.diagnostic-panel h2 {
  font: 600 clamp(1.15rem, 3vw, 1.45rem)/1.2 var(--wa-font-heading);
  color: var(--wa-ink);
}

.diagnostic-progress {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wa-space-md);
}

.diagnostic-progress-track {
  flex: 1;
  height: 3px;
  background: var(--wa-line);
  overflow: hidden;
}

.diagnostic-progress-track span {
  display: block;
  height: 100%;
  background: var(--wa-ink-muted);
}

.diagnostic-choices,
.diagnostic-actions,
.confidence-options {
  display: grid;
  gap: var(--wa-space-sm);
}

.diagnostic-choice,
.diagnostic-action,
.learning-reset,
.checkpoint-repair {
  min-height: 44px;
  padding: var(--wa-space-md);
  border: 1px solid var(--wa-line);
  border-radius: var(--wa-radius-sm);
  background: var(--wa-stage-sunken);
  color: var(--wa-ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.checkpoint-repair {
  display: block;
  margin: var(--wa-space-sm) auto 0;
  text-align: center;
}

.diagnostic-choice[data-result="correct"] {
  border-color: var(--wa-diff-add);
}

.diagnostic-choice[data-result="incorrect"] {
  border-color: var(--wa-alert);
}

.diagnostic-feedback {
  padding-inline-start: var(--wa-space-md);
  border-inline-start: 3px solid var(--wa-line);
  color: var(--wa-ink-muted);
  line-height: 1.5;
}

.diagnostic-feedback[data-result="correct"] {
  border-color: var(--wa-diff-add);
}

.diagnostic-feedback[data-result="incorrect"] {
  border-color: var(--wa-alert);
}

.diagnostic-action[data-primary="true"] {
  border-color: var(--wa-now);
  background: var(--wa-now);
  color: var(--wa-stage-sunken);
  font-weight: 700;
  text-align: center;
}

.learning-route {
  display: grid;
  gap: var(--wa-space-sm);
  margin: 0;
  padding: 0;
  list-style: none;
}

.route-step {
  display: grid;
  grid-template-columns: 1.75rem 1fr;
  gap: var(--wa-space-sm);
  align-items: start;
  color: var(--wa-ink-muted);
}

.route-step-index {
  display: grid;
  place-items: center;
  inline-size: 1.75rem;
  block-size: 1.75rem;
  border: 1px solid var(--wa-line);
  border-radius: var(--wa-radius-pill);
  color: var(--wa-ink);
  font-size: 0.78rem;
}

.confidence {
  display: grid;
  gap: var(--wa-space-sm);
  margin: 0;
  padding: 0;
  border: 0;
}

.confidence legend {
  color: var(--wa-ink-muted);
}

.confidence-options {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.confidence-options label {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--wa-space-xs);
  border: 1px solid var(--wa-line);
  border-radius: var(--wa-radius-sm);
  color: var(--wa-ink-muted);
  cursor: pointer;
}

.learning-provenance {
  max-width: 86rem;
  width: min(86rem, calc(100% - 2rem));
  margin: var(--wa-space-sm) auto 0;
  color: var(--wa-ink-faint);
  font-size: 0.78rem;
  pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
  .diagnostic-choice:hover,
  .diagnostic-action:not([data-primary="true"]):hover,
  .learning-reset:hover,
  .checkpoint-repair:hover {
    border-color: var(--wa-ink-faint);
    background: var(--wa-stage-raised);
  }
}

@media (max-width: 30rem) {
  .diagnostic-panel {
    padding: var(--wa-space-md);
  }

  .confidence-options {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .diagnostic-progress-track span {
    transition: none;
  }
}

@media (forced-colors: active) {
  .diagnostic-action[data-primary="true"] {
    border: 2px solid ButtonText;
  }
}
