* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--color-canvas); color: var(--color-text);   }
input, select, textarea, button {  color: var(--color-text); -webkit-text-fill-color: currentColor; }
input, select, textarea { background-color: var(--color-surface-raised); }
input::placeholder, textarea::placeholder { color: var(--color-text-muted); opacity: 1; -webkit-text-fill-color: var(--color-text-muted); }
:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
a { color: inherit; }
img, video { color-scheme: only light; }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
@media (forced-colors: active) {
    * { forced-color-adjust: auto; }
    :focus-visible { outline-color: Highlight; }
    .button.primary, .secure-chat-send { border: 1px solid ButtonText; background: Highlight; color: HighlightText; -webkit-text-fill-color: HighlightText; }
    .button.secondary, input, select, textarea, dialog { border-color: CanvasText; background: Canvas; color: CanvasText; -webkit-text-fill-color: CanvasText; }
}
