html { --soundvia-font-scale: 1; }
html[data-soundvia-font-size="small"] { font-size: 14px; --soundvia-font-scale: .875; }
html[data-soundvia-font-size="default"] { font-size: 16px; }
html[data-soundvia-font-size="large"] { font-size: 18px; --soundvia-font-scale: 1.125; }
html[data-soundvia-font-size="extra-large"] { font-size: 20px; --soundvia-font-scale: 1.25; }
html[data-soundvia-font-size="small"] body { font-size: 14px; }
html[data-soundvia-font-size="large"] body { font-size: 18px; }
html[data-soundvia-font-size="extra-large"] body { font-size: 20px; }
html[data-soundvia-underline-links="true"] :is(main, .main-content, .modal, .settings-container) a:not(.btn):not([class*="button"]):not([role="button"]) { text-decoration: underline !important; text-underline-offset: .18em; }
html[data-soundvia-high-contrast="true"] { --text-secondary: color-mix(in srgb, var(--black) 82%, var(--white)) !important; --muted: color-mix(in srgb, var(--black) 75%, var(--white)) !important; --border: color-mix(in srgb, var(--black) 46%, var(--white)) !important; }
html[data-soundvia-high-contrast="true"] :is(button,input,select,textarea,a):focus-visible { outline: 3px solid var(--blue) !important; outline-offset: 2px; }
html[data-soundvia-reduced-motion="on"] *,
html[data-soundvia-reduced-motion="on"] *::before,
html[data-soundvia-reduced-motion="on"] *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
@media (prefers-reduced-motion: reduce) {
    html:not([data-soundvia-reduced-motion="off"]) *,
    html:not([data-soundvia-reduced-motion="off"]) *::before,
    html:not([data-soundvia-reduced-motion="off"]) *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
