/* Fallbacks (loaded last): no backdrop-filter, reduced transparency, more contrast, forced colours, reduced motion. */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .glass2, .glass3, #tool-host { background: var(--bp-glass-solid); }
}
@media (prefers-reduced-transparency: reduce) {
  .glass2, .glass3, #tool-host { background: var(--bp-glass-solid); -webkit-backdrop-filter: none; backdrop-filter: none; }
  .glass2::before, .glass3::before { display: none; }
  .aura { opacity: .35; }
  .lite, .tile:not(.locked) { background: var(--bp-paper); }
}
@media (prefers-contrast: more) {
  :root { --bp-ink-2: var(--bp-ink); --bp-ink-3: var(--bp-ink); }
  .glass2, .glass3, #tool-host { background: var(--bp-glass-solid); -webkit-backdrop-filter: none; backdrop-filter: none; border: 1px solid var(--bp-ink); }
  .paper, .lite, .tile, .q-card, .card { border: 1px solid var(--bp-ink); }
}
@media (forced-colors: active) {
  .aura, .hero-art { display: none; }
  .paper, .lite, .glass2, .glass3, .tile, .q-card, .card, .menu, dialog.sheet { background: Canvas; border: 1px solid CanvasText; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .prog i, .ring .val { background: Highlight; stroke: Highlight; }
  .pill { border: 1px solid CanvasText; }
  .btn.pri { background: ButtonFace; color: ButtonText; border: 1px solid ButtonText; }
}
@media (prefers-reduced-motion: reduce) {
  .aura i, .float, .skeleton::after, .hero-art > * { animation: none !important; }
  .btn::after, .tile::after, .keypad button::after { display: none; }
  *, *::before, *::after { transition-duration: .01ms !important; }
  .btn:hover, .tile:hover { transform: none !important; }
}
