.ib-a11y {
  --a11y-bg: #ffffff;
  --a11y-fg: #16181d;
  --a11y-soft: #f2f4f7;
  --a11y-line: #c9cfd8;
  --a11y-accent: #1849c6;
  --a11y-on: #ffffff;
  position: fixed;
  z-index: 2147483000;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  width: min(420px, 100%);
  background: var(--a11y-bg);
  color: var(--a11y-fg);
  box-shadow: -12px 0 40px rgba(16, 24, 40, .22);
  font: 15px/1.4 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  letter-spacing: normal;
  word-spacing: normal;
  text-align: left;
  animation: ib-a11y-in .2s ease-out;
}

.ib-a11y[hidden] {
  display: none;
}

@keyframes ib-a11y-in {
  from {
    transform: translateX(32px);
    opacity: 0;
  }
}

.ib-a11y *,
.ib-a11y *::before,
.ib-a11y *::after {
  box-sizing: border-box;
}

.ib-a11y__head,
.ib-a11y__foot {
  display: flex;
  flex: none;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  background: var(--a11y-accent);
  color: var(--a11y-on);
}

.ib-a11y__title {
  flex: 1;
  margin: 0;
  color: inherit;
  font: 700 18px/1.25 inherit;
  font-family: inherit;
}

.ib-a11y__close {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 2px solid currentColor;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.ib-a11y__icon {
  flex: none;
  width: 22px;
  height: 22px;
}

.ib-a11y__body {
  flex: 1;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 6px 18px 18px;
}

.ib-a11y__label {
  margin: 16px 0 8px;
  color: inherit;
  font: inherit;
  font-weight: 700;
}

.ib-a11y__profiles,
.ib-a11y__options,
.ib-a11y__tiles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.ib-a11y__profile,
.ib-a11y__option,
.ib-a11y__tile,
.ib-a11y__reset {
  margin: 0;
  border: 2px solid var(--a11y-line);
  border-radius: 10px;
  background: var(--a11y-soft);
  color: var(--a11y-fg);
  font: inherit;
  line-height: 1.25;
  text-align: center;
  cursor: pointer;
}

.ib-a11y__profile,
.ib-a11y__tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 88px;
  padding: 10px 6px;
}

.ib-a11y__option {
  min-height: 44px;
  padding: 8px 6px;
  font-weight: 600;
}

.ib-a11y__profile:hover,
.ib-a11y__option:hover,
.ib-a11y__tile:hover {
  border-color: var(--a11y-accent);
}

.ib-a11y__profile[aria-pressed="true"],
.ib-a11y__option[aria-pressed="true"],
.ib-a11y__tile[aria-pressed="true"] {
  border-color: var(--a11y-accent);
  background: var(--a11y-accent);
  color: var(--a11y-on);
}

.ib-a11y button:focus-visible,
.ib-a11y summary:focus-visible,
.ib-a11y a:focus-visible,
.ib-a11y-fab:focus-visible {
  outline: 3px solid #ffbf00;
  outline-offset: 2px;
}

.ib-a11y__options--schemes .ib-a11y__option {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  font-size: 13px;
}

.ib-a11y__swatch {
  display: grid;
  place-items: center;
  width: 42px;
  height: 30px;
  border: 1px solid #000;
  border-radius: 6px;
  background: #fff;
  color: #000;
  font-size: 16px;
  font-weight: 700;
}

.ib-a11y__swatch--site {
  border-style: dashed;
  background: transparent;
  color: inherit;
}

.ib-a11y__swatch--black {
  border-color: #fff;
  outline: 1px solid #000;
  background: #000;
  color: #fff;
}

.ib-a11y__swatch--blue {
  border-color: #063462;
  background: #9dd1ff;
  color: #063462;
}

.ib-a11y__swatch--beige {
  border-color: #4d4b43;
  background: #f7f3d6;
  color: #4d4b43;
}

.ib-a11y__swatch--green {
  border-color: #a9e44d;
  background: #3b2716;
  color: #a9e44d;
}

.ib-a11y__dots {
  display: flex;
  gap: 4px;
}

.ib-a11y__dot {
  width: 18px;
  height: 4px;
  border-radius: 2px;
  background: currentColor;
  opacity: .3;
}

.ib-a11y__dot.is-on {
  opacity: 1;
}

.ib-a11y__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.ib-a11y__hint {
  margin: 10px 0 0;
  padding: 10px 12px;
  border-left: 4px solid var(--a11y-accent);
  background: var(--a11y-soft);
}

.ib-a11y__about {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--a11y-line);
}

.ib-a11y__about summary {
  font-weight: 700;
  cursor: pointer;
}

.ib-a11y__about p {
  margin: 8px 0 0;
}

.ib-a11y__about a {
  color: inherit;
  text-decoration: underline;
}

.ib-a11y__reset {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 46px;
  padding: 8px 12px;
  border-color: var(--a11y-on);
  background: var(--a11y-on);
  color: var(--a11y-accent);
  font-weight: 700;
}

.ib-a11y-toggle {
  background: none;
  cursor: pointer;
}

html[data-a11y] .ib-a11y-toggle,
.ib-a11y-toggle[aria-expanded="true"] {
  border-color: var(--ib-accent);
  background: var(--ib-accent);
  color: var(--ib-accent-contrast);
}

.ib-a11y-fab {
  position: fixed;
  z-index: 9990;
  bottom: calc(16px + var(--ib-cookie-space, 0px) + env(safe-area-inset-bottom, 0px));
  left: 16px;
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  padding: 0;
  border: 3px solid #ffffff;
  border-radius: 50%;
  background: #1849c6;
  color: #ffffff;
  box-shadow: 0 6px 20px rgba(16, 24, 40, .3);
  cursor: pointer;
  transition: bottom .3s ease;
}

.ib-a11y-fab svg {
  width: 32px;
  height: 32px;
}

.ib-a11y-guide {
  position: fixed;
  z-index: 2147482000;
  top: 0;
  right: 0;
  left: 0;
  pointer-events: none;
}

.ib-a11y-guide--line {
  height: 12px;
  margin-top: -6px;
  border-top: 3px solid #ffbf00;
  border-bottom: 3px solid #ffbf00;
  background: #16181d;
}

.ib-a11y-guide--mask {
  height: 150px;
  margin-top: -75px;
  box-shadow: 0 0 0 200vmax rgba(0, 0, 0, .62);
}

.ib-a11y-reading {
  outline: 3px solid #ffbf00 !important;
  outline-offset: 3px;
}

html[data-a11y-font="2"] body {
  zoom: 1.15;
}

html[data-a11y-font="3"] body {
  zoom: 1.3;
}

html[data-a11y-font="2"] :is(.ib-a11y, .ib-a11y-fab, .ib-a11y-guide) {
  zoom: .8696;
}

html[data-a11y-font="3"] :is(.ib-a11y, .ib-a11y-fab, .ib-a11y-guide) {
  zoom: .7693;
}

html[data-a11y-font="2"] .ib-a11y-fab {
  bottom: calc(16px + var(--ib-cookie-space, 0px) * 1.15 + env(safe-area-inset-bottom, 0px));
}

html[data-a11y-font="3"] .ib-a11y-fab {
  bottom: calc(16px + var(--ib-cookie-space, 0px) * 1.3 + env(safe-area-inset-bottom, 0px));
}

html[data-a11y-font="2"] .ib-cookie {
  max-width: calc((100vw - 20px) / 1.15);
}

html[data-a11y-font="3"] .ib-cookie {
  max-width: calc((100vw - 20px) / 1.3);
}

html[data-a11y-spacing="2"] body :not(.ib-a11y, .ib-a11y *) {
  letter-spacing: .06em !important;
  word-spacing: .1em !important;
}

html[data-a11y-spacing="3"] body :not(.ib-a11y, .ib-a11y *) {
  letter-spacing: .12em !important;
  word-spacing: .2em !important;
}

html[data-a11y-line="1"] body :is(p, li, dd, dt, td, th, blockquote, figcaption, label, h1, h2, h3, h4, h5, h6):not(.ib-a11y *) {
  line-height: 1.75 !important;
}

html[data-a11y-line="2"] body :is(p, li, dd, dt, td, th, blockquote, figcaption, label, h1, h2, h3, h4, h5, h6):not(.ib-a11y *) {
  line-height: 2 !important;
}

html[data-a11y-line="3"] body :is(p, li, dd, dt, td, th, blockquote, figcaption, label, h1, h2, h3, h4, h5, h6):not(.ib-a11y *) {
  line-height: 2.3 !important;
}

html[data-a11y-family="sans"] body,
html[data-a11y-family="sans"] body :not(.ib-a11y, .ib-a11y *, svg, svg *) {
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif !important;
}

html[data-a11y-family="serif"] body,
html[data-a11y-family="serif"] body :not(.ib-a11y, .ib-a11y *, svg, svg *) {
  font-family: Georgia, "Times New Roman", Times, serif !important;
}

html[data-a11y-bold] body :is(p, li, dd, dt, td, th, blockquote, figcaption, label, a, span, strong, em, button):not(.ib-a11y *) {
  font-weight: 700 !important;
}

html[data-a11y-links] body a:not(.ib-a11y *) {
  outline: 3px solid #ffbf00 !important;
  outline-offset: 2px;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

html[data-a11y-headings] body :is(h1, h2, h3, h4, h5, h6):not(.ib-a11y *) {
  outline: 3px dashed #1849c6 !important;
  outline-offset: 4px;
}

html[data-a11y-cursor],
html[data-a11y-cursor] body * {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M9 4v34l9-8 7 15 7-3-7-15h13z' fill='%23000' stroke='%23fff' stroke-width='3' stroke-linejoin='round'/%3E%3C/svg%3E") 9 4, auto !important;
}

html[data-a11y-cursor] body :is(a, button, summary, label, select, [role="button"]),
html[data-a11y-cursor] body :is(a, button, summary, label, [role="button"]) * {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M9 4v34l9-8 7 15 7-3-7-15h13z' fill='%231849c6' stroke='%23fff' stroke-width='3' stroke-linejoin='round'/%3E%3C/svg%3E") 9 4, pointer !important;
}

html[data-a11y-filter="contrast"] {
  filter: contrast(1.45);
}

html[data-a11y-filter="mono"] {
  filter: grayscale(1);
}

html[data-a11y-filter="muted"] {
  filter: saturate(.4);
}

html[data-a11y-motion] *,
html[data-a11y-motion] *::before,
html[data-a11y-motion] *::after {
  animation-duration: 1ms !important;
  animation-delay: 0s !important;
  animation-iteration-count: 1 !important;
  transition-duration: 1ms !important;
  transition-delay: 0s !important;
  scroll-behavior: auto !important;
}

html[data-a11y-images="off"] body :is(img, picture, video, iframe):not(.ib-mark) {
  visibility: hidden;
}

html[data-a11y-images="gray"] body :is(img, video),
html[data-a11y-scheme] body :is(img, video) {
  filter: grayscale(1);
}

html[data-a11y-scheme="white"] body,
html[data-a11y-scheme="white"] body :is(.ib-tone--dark, .ib-tone--light, .ib-theme--dark) {
  --ib-bg: #ffffff;
  --ib-bg-soft: #f0f0f0;
  --ib-fg: #000000;
  --ib-muted: #1c1c1c;
  --ib-line: #000000;
  --ib-accent: #000000;
  --ib-accent-contrast: #ffffff;
  --ib-accent-hover: #2b2b2b;
  --ib-accent-active: #000000;
  --ib-accent-soft: #e2e2e2;
  --ib-accent-second: #000000;
  --ib-link: #000000;
  --ib-header-line: #000000;
  --ib-fill-from: var(--ib-accent);
  --ib-fill-to: var(--ib-accent);
  --ib-fill: var(--ib-accent);
}

html[data-a11y-scheme="black"] body,
html[data-a11y-scheme="black"] body :is(.ib-tone--dark, .ib-tone--light, .ib-theme--dark) {
  --ib-bg: #000000;
  --ib-bg-soft: #1c1c1c;
  --ib-fg: #ffffff;
  --ib-muted: #e8e8e8;
  --ib-line: #ffffff;
  --ib-accent: #ffffff;
  --ib-accent-contrast: #000000;
  --ib-accent-hover: #dcdcdc;
  --ib-accent-active: #ffffff;
  --ib-accent-soft: #2e2e2e;
  --ib-accent-second: #ffffff;
  --ib-link: #ffffff;
  --ib-header-line: #ffffff;
  --ib-fill-from: var(--ib-accent);
  --ib-fill-to: var(--ib-accent);
  --ib-fill: var(--ib-accent);
  color-scheme: dark;
}

html[data-a11y-scheme="blue"] body,
html[data-a11y-scheme="blue"] body :is(.ib-tone--dark, .ib-tone--light, .ib-theme--dark) {
  --ib-bg: #9dd1ff;
  --ib-bg-soft: #b9deff;
  --ib-fg: #063462;
  --ib-muted: #0a3d73;
  --ib-line: #063462;
  --ib-accent: #063462;
  --ib-accent-contrast: #ffffff;
  --ib-accent-hover: #0a4a8a;
  --ib-accent-active: #063462;
  --ib-accent-soft: #86c2f5;
  --ib-accent-second: #063462;
  --ib-link: #063462;
  --ib-header-line: #063462;
  --ib-fill-from: var(--ib-accent);
  --ib-fill-to: var(--ib-accent);
  --ib-fill: var(--ib-accent);
}

html[data-a11y-scheme="beige"] body,
html[data-a11y-scheme="beige"] body :is(.ib-tone--dark, .ib-tone--light, .ib-theme--dark) {
  --ib-bg: #f7f3d6;
  --ib-bg-soft: #ede7c1;
  --ib-fg: #4d4b43;
  --ib-muted: #45433b;
  --ib-line: #4d4b43;
  --ib-accent: #4d4b43;
  --ib-accent-contrast: #f7f3d6;
  --ib-accent-hover: #3a3832;
  --ib-accent-active: #4d4b43;
  --ib-accent-soft: #e4ddb0;
  --ib-accent-second: #4d4b43;
  --ib-link: #4d4b43;
  --ib-header-line: #4d4b43;
  --ib-fill-from: var(--ib-accent);
  --ib-fill-to: var(--ib-accent);
  --ib-fill: var(--ib-accent);
}

html[data-a11y-scheme="green"] body,
html[data-a11y-scheme="green"] body :is(.ib-tone--dark, .ib-tone--light, .ib-theme--dark) {
  --ib-bg: #3b2716;
  --ib-bg-soft: #4a3320;
  --ib-fg: #a9e44d;
  --ib-muted: #b8ea6c;
  --ib-line: #a9e44d;
  --ib-accent: #a9e44d;
  --ib-accent-contrast: #3b2716;
  --ib-accent-hover: #bdf06b;
  --ib-accent-active: #a9e44d;
  --ib-accent-soft: #553c25;
  --ib-accent-second: #a9e44d;
  --ib-link: #a9e44d;
  --ib-header-line: #a9e44d;
  --ib-fill-from: var(--ib-accent);
  --ib-fill-to: var(--ib-accent);
  --ib-fill: var(--ib-accent);
  color-scheme: dark;
}

html[data-a11y-scheme] body {
  background: var(--ib-bg);
  color: var(--ib-fg);
}

html[data-a11y-scheme] body a:not(.ib-button, .ib-a11y *) {
  text-decoration: underline;
}

html[data-a11y-scheme] body :is(.block-header, .block-footer, .ib-section, .ib-section--soft) {
  background-image: none;
}

html[data-a11y-scheme] .ib-a11y {
  --a11y-bg: var(--ib-bg);
  --a11y-fg: var(--ib-fg);
  --a11y-soft: var(--ib-bg-soft);
  --a11y-line: var(--ib-fg);
  --a11y-accent: var(--ib-fg);
  --a11y-on: var(--ib-bg);
}

html[data-a11y-scheme] .ib-a11y-fab {
  border-color: var(--ib-bg);
  background: var(--ib-fg);
  color: var(--ib-bg);
}

@media (max-width: 767px) {
  .ib-a11y {
    top: auto;
    width: 100%;
    max-height: 88vh;
    max-height: 88dvh;
    border-radius: 16px 16px 0 0;
    box-shadow: 0 -12px 40px rgba(16, 24, 40, .25);
  }

  .ib-a11y__head {
    border-radius: 16px 16px 0 0;
  }

  @keyframes ib-a11y-in {
    from {
      transform: translateY(32px);
      opacity: 0;
    }
  }
}

@media (max-width: 359px) {
  .ib-a11y__tiles,
  .ib-a11y__profiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media print {
  .ib-a11y,
  .ib-a11y-fab,
  .ib-a11y-guide {
    display: none !important;
  }
}
