/* Device-local reading preferences. Loaded after the public, panel and form styles. */
body {
    --sww-a11y-toolbar-offset: 0px;
}
.sww-assistance-dock {
    --sww-assistance-popup-space: 170px;
    position: fixed;
    z-index: 1045;
    right: max(16px, env(safe-area-inset-right));
    bottom: calc(max(16px, env(safe-area-inset-bottom)) + var(--sww-a11y-toolbar-offset));
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: max-content;
    min-width: 176px;
    max-width: min(320px, calc(100vw - 32px));
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 4px 20px #34224524;
}
.sww-assistance-dock:not(:has(.wnusik:not([hidden]), .sww-accessibility:not([hidden]))) { display: none; }
.sww-accessibility {
    position: static;
    width: 100%;
    max-width: 100%;
    margin: 0;
    color: #171923;
    font: 14px/1.5 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    text-align: left;
}
.sww-accessibility, .sww-accessibility * { box-sizing: border-box; }
.sww-accessibility[hidden] { display: none !important; }
.sww-accessibility > .sww-accessibility__summary {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    max-width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 10px 14px;
    border: 1px solid #452080;
    border-radius: 14px;
    background: #452080;
    color: #fff;
    font: inherit;
    font-weight: 600;
    line-height: 1.5;
    list-style: none;
    cursor: pointer;
    overflow-wrap: anywhere;
}
.sww-accessibility__summary::-webkit-details-marker { display: none; }
.sww-accessibility__summary::marker { content: ''; }
.sww-accessibility__summary svg,
.sww-accessibility__contrast svg {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.sww-accessibility > .sww-accessibility__summary:hover,
.sww-accessibility[open] > .sww-accessibility__summary { background: #30165b; border-color: #30165b; }
.sww-accessibility .sww-accessibility__panel {
    position: absolute;
    z-index: 2;
    bottom: calc(100% + 12px);
    right: 0;
    left: auto;
    width: 360px;
    max-width: calc(100vw - 32px);
    max-height: calc(100vh - var(--sww-assistance-popup-space) - var(--sww-a11y-toolbar-offset));
    max-height: calc(100dvh - var(--sww-assistance-popup-space) - var(--sww-a11y-toolbar-offset));
    padding: 18px;
    overflow: auto;
    overscroll-behavior: contain;
    border: 1px solid #cdd2de;
    border-radius: 12px;
    background: #fff;
    color: #171923;
    box-shadow: 0 6px 26px #17192324;
    overflow-wrap: anywhere;
}
.sww-accessibility .sww-accessibility__group { min-width: 0; margin: 0 0 16px; padding: 0; border: 0; }
.sww-accessibility .sww-accessibility__label { display: block; width: 100%; margin: 0 0 9px; padding: 0; border: 0; color: inherit; font-size: 14px; font-weight: 650; line-height: 1.5; }
.sww-accessibility .sww-accessibility__controls { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.sww-accessibility .sww-accessibility__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    max-width: 100%;
    min-width: 44px;
    min-height: 44px;
    height: auto;
    margin: 0;
    padding: 9px 12px;
    border: 1px solid #b4bbc9;
    border-radius: 8px;
    background: #fff;
    color: #452080;
    font: inherit;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    text-shadow: none;
    white-space: normal;
    overflow-wrap: anywhere;
    cursor: pointer;
    box-shadow: none;
}
.sww-accessibility .sww-accessibility__contrast { width: 100%; margin-bottom: 16px; }
.sww-accessibility .sww-accessibility__button:hover:enabled,
.sww-accessibility .sww-accessibility__button[aria-pressed="true"] { background: #f1ecfa; border-color: #6331b7; color: #452080; }
.sww-accessibility .sww-accessibility__button:disabled { color: #626677; background: #f6f7fa; border-style: dashed; cursor: default; }
.sww-accessibility .sww-accessibility__status { display: inline-block; min-width: 4ch; margin: 0; color: inherit; font-size: 14px; font-weight: 600; text-align: center; }
.sww-accessibility .sww-accessibility__help { margin: 10px 0 0; color: #515665; font-size: 12px; line-height: 1.6; }
.sww-accessibility :focus-visible { outline: 3px solid #6331b7; outline-offset: 3px; }
.sww-accessibility > .sww-accessibility__summary:focus-visible { outline-color: #171923; box-shadow: 0 0 0 2px #fff; }
body:has(.sf-toolbar-opened, .sf-toolbar-closed) { --sww-a11y-toolbar-offset: 36px; }
.sww-assistance-dock > .wnusik { position: static; z-index: auto; width: 100%; }
.sww-assistance-dock .wnusik-launcher { width: 100%; margin: 0; border-radius: 14px; box-shadow: none; }
.sww-assistance-dock:has(.sww-accessibility:not([hidden])) .wnusik-launcher { border-bottom: 0; border-radius: 14px 14px 0 0; }
.sww-assistance-dock:has(.wnusik:not([hidden])) .sww-accessibility__summary { border-radius: 0 0 14px 14px; }
.sww-assistance-dock > .wnusik > .wnusik-window {
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: calc(100% + 12px);
    max-width: calc(100vw - 32px);
    max-height: min(530px, calc(100dvh - var(--sww-assistance-popup-space) - var(--sww-a11y-toolbar-offset)));
    margin: 0;
}
.sww-assistance-dock .wnusik-log { min-height: 0; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-assistance-dock {
    --sww-assistance-popup-space: 250px;
}
@media (max-width: 767px) {
    body:has(.sf-toolbar-opened) { --sww-a11y-toolbar-offset: 76px; }
}

/* Baselines are measured once per element by the reading-preference script.
   Scaling an inherited size on every ancestor would multiply the chosen factor. */
html[data-sww-text-size]:not([data-sww-text-size="100"]) [data-sww-font-base] {
    font-size: calc(var(--sww-font-base) * var(--sww-text-scale)) !important;
}
html[data-sww-text-size]:not([data-sww-text-size="100"]) body { overflow-wrap: anywhere; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) :is(.btn, button, .form-control, .input-group-addon, select, input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"])) {
    max-width: 100%;
    height: auto !important;
    min-height: 44px;
    line-height: 1.5 !important;
}
html[data-sww-text-size]:not([data-sww-text-size="100"]) :is(.btn, button, .input-group-addon, label, .help-block, .alert, .dropdown-menu > li > a) {
    white-space: normal !important;
    overflow-wrap: anywhere;
}
html[data-sww-text-size]:not([data-sww-text-size="100"]) :is(input, textarea, select, .bootstrap-select, .input-group, .input-group-btn, .form-group, fieldset) { min-width: 0; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) :is(.form-control, textarea, select) { max-width: 100%; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) textarea { resize: vertical; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) :is(.input-group, .sww-discovery-search .input-group, .registration-journals-controls) { display: flex; flex-wrap: wrap; align-items: stretch; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .input-group > .form-control { flex: 1 1 12ch; width: 0; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .input-group-btn { display: flex; width: auto; flex: 0 1 auto; white-space: normal; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .input-group-addon { display: flex; align-items: center; flex: 0 1 auto; width: auto; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) :is(.btn-group, .btn-toolbar, .nav-tabs, .nav-pills, .sww-catalog-tabs > .btn-group:first-child) { display: flex; flex-wrap: wrap; gap: 8px; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) :is(.btn-group > .btn, .nav-tabs > li, .nav-pills > li) { float: none; max-width: 100%; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) :is(.bootstrap-select .filter-option, .bootstrap-select .filter-option-inner-inner, .sww-publication-breadcrumbs li > a) {
    white-space: normal !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere;
}
html[data-sww-text-size]:not([data-sww-text-size="100"]) :is(.dropdown-menu, .bootstrap-select .dropdown-menu) { max-width: calc(100vw - 32px); }
html[data-sww-text-size]:not([data-sww-text-size="100"]) :is(.dropdown-menu > li > a, .dropdown-menu li a span.text) { white-space: normal; overflow-wrap: anywhere; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) :is(.sww-site-header .navbar-header, .sww-site-brand-text, .sww-site-header #top-site-journal, .sww-selector, .sww-admin-nav, .sww-account-nav, .sww-workspace-brand) { min-width: 0 !important; max-width: 100%; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-site-header > .container { grid-template-columns: minmax(0, 1fr) auto; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-site-header .navbar-header { grid-column: 1; grid-row: 1; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-site-header .lang-selector-float { grid-column: 2; grid-row: 1; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-site-header #top-site-journal { grid-column: 1 / -1; grid-row: 2; flex-wrap: wrap; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-site-header #navbar { grid-column: 1 / -1; grid-row: 3; width: 100%; max-height: none; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-site-header .nav.navbar-nav { flex-wrap: wrap; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) :is(.sww-site-brand-text small, .sww-site-header .navbar-nav > li > a) { white-space: normal; line-height: 1.5; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-site-header a.sww-site-brand { max-width: 100%; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-site-header #top-site-journal > .input-group { flex: 1 1 220px; width: auto; }

/* A growing fixed header must never cover the workspace or its navigation. */
html[data-sww-text-size]:not([data-sww-text-size="100"]) body.sww-panel-body { margin-top: 0 !important; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-panel-body #wrapper { padding-left: 0 !important; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-panel-body #panel-nav { position: relative !important; margin-bottom: 0; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-panel-body .sww-panel-topbar { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 12px 16px; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-panel-body .sww-panel-topbar > * { max-width: 100%; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-panel-body .sww-account-nav { flex: 1 1 auto; flex-wrap: wrap; white-space: normal; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-panel-body .sww-account-nav small { white-space: normal; overflow: visible; text-overflow: clip; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-panel-body .sww-admin-nav { flex: 1 1 280px; width: auto; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-panel-body .sww-panel-topbar .lang-selector-float { margin: 0; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-panel-body #top-panel-journal { flex: 1 1 100%; width: 100%; flex-wrap: wrap; justify-content: flex-start; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-panel-body #top-panel-journal .sww-selector { flex: 1 1 300px; max-width: 100%; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-panel-body :is(.sww-admin-nav select, #top-panel-journal .sww-selector-role select) { flex: 1 1 150px; width: auto !important; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-panel-body .collapse-size.navbar-collapse { max-height: none; overflow: visible; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-panel-body .side-nav {
    position: static !important;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
    width: 100% !important;
    max-height: none;
    margin: 0;
    padding: 12px;
    overflow: visible;
    border-right: 0;
    border-bottom: 1px solid var(--sww-line, #e2e5ec);
}
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-panel-body .side-nav > li { min-width: 0; margin: 0; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-panel-body .side-nav > li > a { width: auto; height: auto; white-space: normal; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-panel-body :is(#page-wrapper, #page-wrapper [id]) { scroll-margin-top: 16px; }

/* Reflow long labels, bibliographic fields and dense lists without hiding content. */
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-catalog > .sww-catalog-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, calc(180px * var(--sww-text-scale))), 1fr)); }
html[data-sww-text-size]:not([data-sww-text-size="100"]) :is(.sww-publication-row, .sww-discovery-hero .sww-hero-heading, .sww-toc-item) { flex-wrap: wrap; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) :is(.sww-publication-row > div, .sww-toc-item > div, .sww-publication-content, .sww-publication-sidebar, .panel-body, .panel-heading) { min-width: 0; overflow-wrap: anywhere; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) :is(.sww-publication-row > .btn, .registration-journals-add, .registration-journals-choice) { flex-shrink: 1; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) :is(.sww-contact-layout, .sww-help-layout) { grid-template-columns: minmax(0, 1fr) !important; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-help-body .sww-help-sidebar { position: static; grid-column: 1; grid-row: auto; max-height: none; padding-left: 0; border-left: 0; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) :is(.sww-contact-sender, .sww-webauthn-key dl, .sww-mfa-recovery-codes) { grid-template-columns: minmax(0, 1fr); }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-mfa-code { letter-spacing: .04em; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) :is(.table-responsive, .sww-help-content) { min-width: 0; max-width: 100%; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .table-responsive { overflow-x: auto; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) table:not(.sww-mobile-table) { display: block; max-width: 100%; overflow-x: auto; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .table-responsive > table:not(.sww-mobile-table) { display: table; min-width: 100%; max-width: none; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) :is(th, td, .sww-history-details, pre, code, .ux-form-errors) { overflow-wrap: anywhere; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) :is(pre, .sww-release-order-actions, .sww-readiness-issues a) { white-space: normal; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .modal-dialog { width: min(900px, calc(100% - 24px)); margin: 12px auto; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .modal-content { max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); overflow: auto; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .modal-footer { display: flex; flex-wrap: wrap; gap: 8px; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .wnusik-launcher { max-width: calc(100vw - 36px); }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .wnusik-header { flex-wrap: wrap; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .wnusik-header > div { min-width: 0; }
html[data-sww-text-size]:not([data-sww-text-size="100"]) .wnusik :is(.wnusik-icon, .wnusik-send) { width: auto; min-width: 44px; height: auto; min-height: 44px; }
html[data-sww-text-size="175"] #page-wrapper .row > [class*="col-"],
html[data-sww-text-size="200"] #page-wrapper .row > [class*="col-"] { width: 100%; float: none; }
@media (max-width: 767px) {
    html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-site-header > .container { display: flex; flex-wrap: wrap; align-items: center; }
    html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-site-header .navbar-header { flex: 1 1 100%; width: 100%; }
    html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-site-header :is(#navbar, #top-site-journal) { flex: 1 1 100%; }
    html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-site-header .lang-selector-float { margin-left: auto; }
    html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-site-header .navbar-toggle { float: none; margin-right: 0; }
    html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-site-header .navbar-header { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
    html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-site-header a.sww-site-brand { flex: 1 1 180px; }
    html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-panel-body .sww-panel-topbar .navbar-header { flex: 1 1 100%; }
    html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-panel-body .sww-account-nav { flex: 1 1 100%; }
    html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-panel-body .table-responsive:has(> .sww-mobile-table) { overflow: visible; }
    html[data-sww-text-size]:not([data-sww-text-size="100"]) :is(.sww-publication-extra-body, .registration-journals-selected .registration-journals-item) { grid-template-columns: minmax(0, 1fr); }
    html[data-sww-text-size]:not([data-sww-text-size="100"]) .registration-journals-item > .registration-journals-remove { grid-column: 1; grid-row: auto; justify-self: start; }
    html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-discovery-search .input-group-btn { flex: 1 1 100%; }
    html[data-sww-text-size]:not([data-sww-text-size="100"]) .sww-discovery-search .input-group-btn > .btn { width: 100%; }
}

/* A solid canvas also covers older templates with literal or inline colours.
   Photographs, covers and SVG artwork keep their original pixels and fills. */
html[data-sww-contrast="high"] {
    --sww-a11y-background: #000;
    --sww-a11y-foreground: #fff;
    --sww-a11y-link: #ffed00;
    --sww-a11y-focus: #00ffff;
    --sww-a11y-selected-background: #ffed00;
    --sww-a11y-selected-foreground: #000;
    --sww-ink: var(--sww-a11y-foreground);
    --sww-muted: var(--sww-a11y-foreground);
    --sww-accent: var(--sww-a11y-link);
    --sww-accent-strong: var(--sww-a11y-link);
    --sww-accent-soft: var(--sww-a11y-background);
    --sww-lime: var(--sww-a11y-selected-background);
    --sww-line: var(--sww-a11y-foreground);
    --sww-canvas: var(--sww-a11y-background);
    --sww-paper: var(--sww-a11y-background);
    color-scheme: dark;
    background: var(--sww-a11y-background);
}
html[data-sww-contrast="high"] :where(body, body *):not(:where(img, picture, video, canvas, svg, svg *, iframe, .sf-toolbar, .sf-toolbar *)) {
    background-color: var(--sww-a11y-background) !important;
    color: var(--sww-a11y-foreground) !important;
    border-color: var(--sww-a11y-foreground) !important;
    box-shadow: none !important;
    text-shadow: none !important;
}
html[data-sww-contrast="high"] :is(.btn, button, .navbar, .panel-heading, .alert, .progress-bar, .list-group-item, .jumbotron) { background-image: none !important; }
html[data-sww-contrast="high"] :is(a, a :not(img):not(svg):not(svg *), button, .btn, summary) { color: var(--sww-a11y-link) !important; }
html[data-sww-contrast="high"] a { text-decoration: underline !important; text-underline-offset: .18em; }
html[data-sww-contrast="high"] :is(button, .btn, summary, .dropdown-menu, .modal-content, .sww-accessibility__panel, .wnusik-window) { border-color: var(--sww-a11y-link) !important; }
html[data-sww-contrast="high"] :is(input, textarea, select) { caret-color: var(--sww-a11y-foreground); accent-color: var(--sww-a11y-link); }
html[data-sww-contrast="high"] ::placeholder { color: var(--sww-a11y-foreground) !important; opacity: 1; }
html[data-sww-contrast="high"] :is(button:disabled, input:disabled, select:disabled, textarea:disabled, .btn.disabled, .disabled > a) { opacity: 1 !important; border-style: dashed !important; color: var(--sww-a11y-foreground) !important; }
html[data-sww-contrast="high"] :is(.alert, .panel, .well, .sww-publication-card, .wnusik-message, .label, .badge) { border: 1px solid var(--sww-a11y-foreground) !important; }
html[data-sww-contrast="high"] :is(.text-danger, .has-error .form-control, .has-error .control-label, .alert-danger, .registration-journals-invalid) { border-color: var(--sww-a11y-link) !important; }
html[data-sww-contrast="high"] :is(.label, .badge) { font-weight: 700; }
html[data-sww-contrast="high"] .close { opacity: 1 !important; }
html[data-sww-contrast="high"] .navbar-toggle .icon-bar,
html[data-sww-contrast="high"] .dropdown-menu .divider,
html[data-sww-contrast="high"] .progress-bar { background: var(--sww-a11y-link) !important; color: var(--sww-a11y-selected-foreground) !important; }
html[data-sww-contrast="high"] .caret {
    border-top-color: currentColor !important;
    border-right-color: transparent !important;
    border-bottom-color: transparent !important;
    border-left-color: transparent !important;
}
html[data-sww-contrast="high"] :is(.dropup .caret, .navbar-fixed-bottom .dropdown .caret) {
    border-top-color: transparent !important;
    border-bottom-color: currentColor !important;
}
html[data-sww-contrast="high"] :is(a:hover, a:focus-visible, button:hover:enabled, button[aria-pressed="true"], .btn.active, .nav > .active > a, .list-group-item.active, .dropdown-menu > .active > a, .dropdown-menu .selected > a, .pagination > .active > :is(a, span), .sww-role-unselected :is(select, .input-group-addon)),
html[data-sww-contrast="high"] :is(a:hover, a:focus-visible, button:hover:enabled, button[aria-pressed="true"], .btn.active, .nav > .active > a, .list-group-item.active, .dropdown-menu > .active > a, .dropdown-menu .selected > a, .pagination > .active > :is(a, span), .sww-role-unselected :is(select, .input-group-addon)) :where(*):not(img):not(svg):not(svg *) {
    background-color: var(--sww-a11y-selected-background) !important;
    color: var(--sww-a11y-selected-foreground) !important;
    border-color: var(--sww-a11y-link) !important;
}
/* Legacy sidebar hover rules already use !important and several class selectors. */
html[data-sww-contrast="high"] #panel-nav .side-nav > li > a:is(:hover, :focus-visible),
html[data-sww-contrast="high"] #panel-nav .side-nav > li > a:is(:hover, :focus-visible) :where(*):not(svg):not(svg *) {
    background-color: var(--sww-a11y-selected-background) !important;
    color: var(--sww-a11y-selected-foreground) !important;
}
html[data-sww-contrast="high"] :focus-visible {
    outline: 3px solid var(--sww-a11y-focus) !important;
    outline-offset: 3px !important;
}
html[data-sww-contrast="high"] ::selection { background: var(--sww-a11y-selected-background) !important; color: var(--sww-a11y-selected-foreground) !important; }
html[data-sww-contrast="high"] :is(.logo-site, .sww-workspace-brand img, .sww-auth-brand img, .sww-help-brand img, .sww-publisher-seal, .sww-publication-badges img, .sww-publication-qr, .sww-mfa-qr) { background: #fff !important; border-radius: 4px; }
html[data-sww-contrast="high"] .wnusik-mascot path { stroke: var(--sww-a11y-link); }
html[data-sww-contrast="high"] .wnusik-mascot .wnusik-book { fill: var(--sww-a11y-background); }
html[data-sww-contrast="high"] .wnusik-mascot .wnusik-page { fill: var(--sww-a11y-foreground); }
html[data-sww-contrast="high"] .wnusik-mascot .wnusik-spine { stroke: var(--sww-a11y-link); }
html[data-sww-contrast="high"] .wnusik-message[data-speaker="user"] { border-color: var(--sww-a11y-link) !important; border-left-width: 4px !important; }
html[data-sww-contrast="high"] :is(.sww-accessibility__summary, .sww-accessibility__button) { border-width: 2px; }

/* Respect the operating system's own high-contrast palette. */
@media (forced-colors: active) {
    html[data-sww-contrast="high"] {
        --sww-a11y-background: Canvas;
        --sww-a11y-foreground: CanvasText;
        --sww-a11y-link: LinkText;
        --sww-a11y-focus: Highlight;
        --sww-a11y-selected-background: Highlight;
        --sww-a11y-selected-foreground: HighlightText;
        color-scheme: light dark;
    }
    .sww-accessibility, .sww-accessibility * { forced-color-adjust: auto; }
    .sww-accessibility > .sww-accessibility__summary,
    .sww-accessibility .sww-accessibility__panel,
    .sww-accessibility .sww-accessibility__button { background: Canvas; color: ButtonText; border-color: ButtonText; }
    .sww-accessibility :focus-visible { outline-color: Highlight; }
    .sww-accessibility .sww-accessibility__button[aria-pressed="true"] { background: Highlight; color: HighlightText; }
}
@media print {
    .sww-assistance-dock { display: none !important; }
    .sww-accessibility { display: none !important; }
    html[data-sww-contrast="high"] {
        --sww-a11y-background: #fff;
        --sww-a11y-foreground: #000;
        --sww-a11y-link: #000;
        --sww-a11y-focus: #000;
        --sww-a11y-selected-background: #fff;
        --sww-a11y-selected-foreground: #000;
        color-scheme: light;
    }
    html[data-sww-contrast="high"] .progress-bar { background: #fff !important; color: #000 !important; }
}
