/* Accessibility */
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; border-radius: 4px; }
textarea:focus-visible, input:focus-visible { outline-offset: 0; }
html[data-motion="reduce"] *, html[data-motion="reduce"] *::before, html[data-motion="reduce"] *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; } }
@media (forced-colors: active) { .btn, .icon-btn, .chip, .composer, dialog, .menu { border: 1px solid CanvasText; } .btn.primary { forced-color-adjust: none; background: Highlight; color: HighlightText; } }
.icon-btn, .btn, .tabs button, .menu button { min-height: 2.25rem; }
@media (pointer: coarse) { .icon-btn { width: 2.75rem; height: 2.75rem; } .btn, .menu button { min-height: 2.75rem; } }
