@import url("https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;700&display=swap");

/* Contrast: force colors on designed pages. Never filter html/body (breaks position:fixed). Never * { background }. */
html.acc-contrast-dark,
html.acc-contrast-dark body {
    background-color: #101722 !important;
    color: #ecf4ff !important;
    background-image: none !important;
}

html.acc-contrast-dark body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget):is(header, footer, section, article, main, nav, aside),
html.acc-contrast-dark body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget) :is(header, footer, section, article, main, nav, aside) {
    background: #152233 !important;
    color: #ecf4ff !important;
    border-color: #3a516c !important;
    box-shadow: none !important;
}

html.acc-contrast-dark body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget) :is(h1, h2, h3, h4, h5, h6, p, li, span, label, td, th, small, strong, em, blockquote, figcaption, div) {
    color: #ecf4ff !important;
}

html.acc-contrast-dark body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget) a {
    color: #8ad0ff !important;
}

html.acc-contrast-dark body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget) :is(button, .btn, input, textarea, select) {
    background-color: #1b2d42 !important;
    color: #ecf4ff !important;
    border-color: #3a516c !important;
}

html.acc-contrast-dark body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget) ::before,
html.acc-contrast-dark body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget) ::after {
    background-image: none !important;
}

html.acc-contrast-light,
html.acc-contrast-light body {
    background-color: #fff !important;
    color: #111 !important;
    background-image: none !important;
}

html.acc-contrast-light body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget):is(header, footer, section, article, main, nav, aside),
html.acc-contrast-light body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget) :is(header, footer, section, article, main, nav, aside) {
    background: #fff !important;
    color: #111 !important;
    border-color: #c5d0de !important;
    box-shadow: none !important;
}

html.acc-contrast-light body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget) :is(h1, h2, h3, h4, h5, h6, p, li, span, label, td, th, small, strong, em, blockquote, figcaption, div) {
    color: #111 !important;
}

html.acc-contrast-light body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget) a {
    color: #0b4f8a !important;
}

html.acc-contrast-light body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget) ::before,
html.acc-contrast-light body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget) ::after {
    background-image: none !important;
}

html.acc-contrast-high,
html.acc-contrast-high body {
    background-color: #000 !important;
    color: #ff0 !important;
    background-image: none !important;
}

html.acc-contrast-high body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget):is(header, footer, section, article, main, nav, aside),
html.acc-contrast-high body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget) :is(header, footer, section, article, main, nav, aside) {
    background: #000 !important;
    color: #ff0 !important;
    border-color: #ff0 !important;
    box-shadow: none !important;
}

html.acc-contrast-high body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget) :is(h1, h2, h3, h4, h5, h6, p, li, span, label, td, th, small, strong, em, blockquote, figcaption, div) {
    color: #ff0 !important;
}

html.acc-contrast-high body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget) a {
    color: #ff0 !important;
    text-decoration: underline !important;
}

html.acc-contrast-high body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget) ::before,
html.acc-contrast-high body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget) ::after {
    background-image: none !important;
}

/* Grayscale / color-blind: never filter html, body, or .site-shell (that traps sticky/fixed). */
html.acc-grayscale body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget):not(script):not(link):not(style):not(#dafesekSkipLink):not(#dafesek-cb-filters) {
    filter: grayscale(1);
}

html.acc-grayscale .site-shell {
    filter: none !important;
}

html.acc-grayscale .site-shell > * {
    filter: grayscale(1);
}

html.acc-color-blind-protanopia body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget):not(script):not(link):not(style):not(#dafesekSkipLink):not(#dafesek-cb-filters) {
    filter: url("#dafesek-cb-protanopia");
}

html.acc-color-blind-deuteranopia body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget):not(script):not(link):not(style):not(#dafesekSkipLink):not(#dafesek-cb-filters) {
    filter: url("#dafesek-cb-deuteranopia");
}

html.acc-color-blind-tritanopia body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget):not(script):not(link):not(style):not(#dafesekSkipLink):not(#dafesek-cb-filters) {
    filter: url("#dafesek-cb-tritanopia");
}

html.acc-color-blind-protanopia .site-shell,
html.acc-color-blind-deuteranopia .site-shell,
html.acc-color-blind-tritanopia .site-shell {
    filter: none !important;
}

html.acc-color-blind-protanopia .site-shell > * {
    filter: url("#dafesek-cb-protanopia");
}

html.acc-color-blind-deuteranopia .site-shell > * {
    filter: url("#dafesek-cb-deuteranopia");
}

html.acc-color-blind-tritanopia .site-shell > * {
    filter: url("#dafesek-cb-tritanopia");
}

html.acc-highlight-links a {
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
}

html.acc-highlight-links a[target="_blank"]::after {
    content: " ↗";
    font-weight: 800;
}

html.acc-highlight-headings :is(h1, h2, h3, h4, h5, h6) {
    outline: 2px solid #c4a056 !important;
    outline-offset: 2px !important;
}

html.acc-stop-animations body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget),
html.acc-stop-animations body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget) *,
html.acc-stop-animations body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget) *::before,
html.acc-stop-animations body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget) *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
}

html.acc-hide-images :is(img, picture, video, canvas) {
    opacity: 0 !important;
    visibility: hidden !important;
}

html.acc-hide-images body > *:not(.dafesek-access-widget):not(#dafesekAccessWidget) :is(header, footer, section, article, main, nav, div, a, span, figure) {
    background-image: none !important;
}

html.acc-readable-font,
html.acc-readable-font body,
html.acc-readable-font :is(p, li, h1, h2, h3, h4, h5, h6, td, th, label, input, textarea, button, a, span) {
    font-family: "Rubik", "Assistant", "Segoe UI", Arial, system-ui, sans-serif !important;
}

html.acc-focus-highlight :is(a, button, input, select, textarea, [tabindex]):focus,
html.acc-focus-highlight :is(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid #2563eb !important;
    outline-offset: 3px !important;
}

html.acc-text-align-start :is(p, h1, h2, h3, h4, h5, h6, li, blockquote) {
    text-align: start !important;
}

html.acc-line-custom :is(p, li, h1, h2, h3, h4, h5, h6, td, th, label, blockquote) {
    line-height: var(--dafesek-acc-lh, 1.6) !important;
}

html.acc-spacing-custom :is(p, li, h1, h2, h3, h4, h5, h6, a, span, label) {
    word-spacing: var(--dafesek-acc-ws, normal) !important;
    letter-spacing: var(--dafesek-acc-ls, normal) !important;
}

html.acc-font-scaled .dafesek-access-widget .access-panel--premium {
    font-size: calc(1rem * var(--dafesek-acc-font, 1));
}

html.acc-grayscale .dafesek-access-drawer-shell,
html.acc-grayscale .dafesek-access-panel-popover,
html.acc-grayscale .dafesek-access-fab {
    filter: grayscale(1);
}

html.acc-color-blind-protanopia .dafesek-access-drawer-shell,
html.acc-color-blind-protanopia .dafesek-access-panel-popover,
html.acc-color-blind-protanopia .dafesek-access-fab {
    filter: url("#dafesek-cb-protanopia");
}

html.acc-color-blind-deuteranopia .dafesek-access-drawer-shell,
html.acc-color-blind-deuteranopia .dafesek-access-panel-popover,
html.acc-color-blind-deuteranopia .dafesek-access-fab {
    filter: url("#dafesek-cb-deuteranopia");
}

html.acc-color-blind-tritanopia .dafesek-access-drawer-shell,
html.acc-color-blind-tritanopia .dafesek-access-panel-popover,
html.acc-color-blind-tritanopia .dafesek-access-fab {
    filter: url("#dafesek-cb-tritanopia");
}

.acc-reading-guide-line {
    position: fixed;
    left: 0;
    right: 0;
    width: 100%;
    height: 52px;
    margin-top: -26px;
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.14), rgba(37, 99, 235, 0.22));
    border-block: 2px solid rgba(37, 99, 235, 0.55);
    pointer-events: none;
    z-index: 2147483640;
}

.acc-reading-mask {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 2147483639;
    box-shadow: 0 0 0 100vmax rgba(0, 0, 0, 0.62);
    height: 72px;
    background: transparent;
}
