/* Shared geometry: no native checkbox margins or inline SVG baselines. */
svg { display: block; flex-shrink: 0; }
body input[type="checkbox"]:not(.switch input):not(.toggle-row input) {
  appearance: none;
  display: inline-grid;
  place-items: center;
  box-sizing: border-box;
  flex: 0 0 16px;
  align-self: center;
  width: 16px;
  height: 16px;
  min-height: 16px;
  margin: 0;
  padding: 0;
  border: 1px solid #a59d92;
  border-radius: 3px;
  background: #faf8f4;
  cursor: pointer;
  vertical-align: middle;
}
body input[type="checkbox"]:not(.switch input):not(.toggle-row input)::before {
  content: "";
  width: 10px;
  height: 10px;
  background: white;
  clip-path: polygon(0 50%, 14% 36%, 39% 61%, 86% 14%, 100% 28%, 39% 89%);
  visibility: hidden;
}
body input[type="checkbox"]:not(.switch input):not(.toggle-row input):checked {
  background: var(--accent, var(--ember, #ff593f));
  border-color: var(--accent, var(--ember, #ff593f));
}
body input[type="checkbox"]:not(.switch input):not(.toggle-row input):checked::before { visibility: visible; }
body input[type="checkbox"]:not(.switch input):not(.toggle-row input):focus-visible { outline: 2px solid var(--accent, var(--ember, #ff593f)); outline-offset: 3px; }
body input[type="checkbox"]:disabled { opacity: .45; cursor: not-allowed; }
.toggle-row > span { box-sizing: border-box; flex: 0 0 36px; }
.toggle-row input:checked + span::after { transform: translateX(16px); }
.toggle-row input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 3px; }
.toggle-row input:disabled + span { opacity: .45; }
.switch .sl::before { top: 50%; transform: translateY(-50%); }
.switch input:checked + .sl::before { transform: translate(16px, -50%); }
.vis-check .vis-check-icon { line-height: 1; }
.training-steps button.complete span { position: relative; }
.training-steps button.complete span::after {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  line-height: 1;
}
.composer-generate > b, .primary-action > b { display: inline-flex; align-items: center; justify-content: center; line-height: 1; }
.avatar-select svg, .mini-avatar-select svg { width: 16px; height: 16px; }
.composer-value svg, .training-advanced summary svg { width: 15px; height: 15px; }
@media (forced-colors: active) {
  body input[type="checkbox"]:not(.switch input):not(.toggle-row input) { appearance: auto; }
  body input[type="checkbox"]:not(.switch input):not(.toggle-row input)::before { display: none; }
}
