#a11y-trigger,
#a11y-trigger *,
#a11y-panel,
#a11y-panel * {
  visibility: visible !important;
  opacity: 1 !important;
  filter: none !important;
  text-align: initial !important;
  letter-spacing: 0 !important;
  word-spacing: normal !important;
  line-height: normal !important;
  font-family: Aptos, "Segoe UI", Roboto, Arial, sans-serif !important;
}

#a11y-trigger {
  position: fixed;
  left: 18px;
  bottom: 18px;
  z-index: 9998;
  display: inline-grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border: 1px solid rgba(217, 164, 65, 0.45);
  border-radius: 50%;
  color: #ffffff;
  background:
    radial-gradient(circle at 38% 30%, rgba(255, 255, 255, 0.24), transparent 28%),
    linear-gradient(135deg, #12181c, #1d7f84);
  box-shadow: 0 18px 42px rgba(18, 24, 28, 0.22);
  cursor: pointer;
}

.a11y-skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 10000;
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border-radius: 999px;
  color: #ffffff;
  background: #12181c;
  box-shadow: 0 16px 34px rgba(18, 24, 28, 0.22);
  font-family: Aptos, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 0.9rem;
  font-weight: 850;
  text-decoration: none;
  transform: translateY(-80px);
  transition: transform 160ms ease;
}

.a11y-skip-link:focus {
  transform: translateY(0);
  outline: 4px solid #d9a441;
  outline-offset: 3px;
}

#a11y-trigger svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#a11y-panel {
  position: fixed;
  left: 18px;
  bottom: 86px;
  z-index: 9999;
  width: min(380px, calc(100vw - 24px));
  max-height: min(720px, calc(100dvh - 112px));
  overflow: auto;
  padding: 18px;
  border: 1px solid rgba(220, 230, 236, 0.95);
  border-radius: 18px;
  color: #17202a;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 30px 80px rgba(18, 24, 28, 0.22);
  transform: translateY(16px) scale(0.98);
  pointer-events: none;
  visibility: hidden !important;
  opacity: 0 !important;
  transition:
    opacity 180ms ease,
    transform 180ms ease,
    visibility 180ms ease;
}

#a11y-panel.open {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.a11y-panel-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid #dce6ec;
}

.a11y-panel-head strong {
  display: block;
  color: #12181c;
  font-size: 1.06rem;
  font-weight: 850;
}

.a11y-panel-head span {
  display: block;
  margin-top: 4px;
  color: #596b78;
  font-size: 0.84rem;
}

.a11y-close {
  display: inline-grid;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  color: #ffffff;
  background: linear-gradient(135deg, #12181c, #1d7f84);
  cursor: pointer;
  font: inherit;
  font-size: 1.2rem;
  font-weight: 850;
}

.a11y-section {
  margin-top: 16px;
}

.a11y-section-title {
  margin: 0 0 10px;
  color: #1d7f84;
  font-size: 0.78rem;
  font-weight: 850;
  text-transform: uppercase;
}

.a11y-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.a11y-profile-grid {
  display: grid;
  gap: 8px;
}

.a11y-profile-card {
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: 10px;
  min-height: 62px;
  padding: 10px;
  border: 1px solid #dce6ec;
  border-radius: 12px;
  color: #17202a;
  background: #ffffff;
  cursor: pointer;
  font: inherit;
  text-align: left !important;
}

.a11y-profile-card strong,
.a11y-profile-card small {
  display: block;
}

.a11y-profile-card strong {
  color: #12181c;
  font-size: 0.9rem;
  font-weight: 850;
}

.a11y-profile-card small {
  margin-top: 2px;
  color: #596b78;
  font-size: 0.76rem;
  line-height: 1.25 !important;
}

.a11y-profile-card.is-active,
.a11y-profile-card:hover,
.a11y-profile-card:focus-visible {
  border-color: #1d7f84;
  background: #eefafa;
}

.a11y-profile-icon {
  width: 38px;
  height: 38px;
  color: #1d7f84;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.a11y-profile-card:hover .a11y-eye-icon circle,
.a11y-profile-card.is-active .a11y-eye-icon circle {
  animation: a11y-eye-focus 1.4s ease-in-out infinite;
}

.a11y-profile-card:hover .a11y-icon-path,
.a11y-profile-card.is-active .a11y-icon-path {
  animation: a11y-path-pulse 1.5s ease-in-out infinite;
}

.a11y-profile-card:hover .a11y-icon-lift,
.a11y-profile-card.is-active .a11y-icon-lift {
  animation: a11y-lift 1.3s ease-in-out infinite;
}

.a11y-profile-card:hover .a11y-icon-wave,
.a11y-profile-card.is-active .a11y-icon-wave {
  animation: a11y-wave-drift 1.4s ease-in-out infinite;
}

.a11y-control {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 10px;
  border: 1px solid #dce6ec;
  border-radius: 10px;
  color: #17202a;
  background: #f7fbfd;
  cursor: pointer;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 750;
}

.a11y-control.is-active,
.a11y-control:hover,
.a11y-control:focus-visible {
  color: #ffffff;
  border-color: #1d7f84;
  background: linear-gradient(135deg, #12181c, #1d7f84);
}

.a11y-stepper {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
  padding: 10px;
  border: 1px solid #dce6ec;
  border-radius: 10px;
  background: #ffffff;
}

.a11y-stepper span {
  color: #17202a;
  font-size: 0.88rem;
  font-weight: 750;
}

.a11y-stepper-controls {
  display: grid;
  grid-template-columns: 38px minmax(52px, auto) 38px;
  align-items: center;
  gap: 4px;
}

.a11y-stepper button {
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  color: #ffffff;
  background: #1d7f84;
  cursor: pointer;
  font: inherit;
  font-weight: 850;
}

.a11y-stepper output {
  min-width: 52px;
  color: #17202a;
  font-size: 0.82rem;
  font-weight: 800;
  text-align: center !important;
}

.a11y-actions {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

.a11y-link,
.a11y-reset {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font: inherit;
  font-size: 0.88rem;
  font-weight: 800;
  text-decoration: none;
}

.a11y-reset {
  border: 0;
  color: #ffffff;
  background: #12181c;
  cursor: pointer;
}

.a11y-link {
  border: 1px solid #d9a441;
  color: #17202a;
  background: #fffaf0;
}

.a11y-reading-line {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 9996;
  height: 3px;
  pointer-events: none;
  background: #d9a441;
  box-shadow: 0 0 0 2px rgba(217, 164, 65, 0.22);
}

.a11y-reading-mask {
  position: fixed;
  inset: 0;
  z-index: 9995;
  pointer-events: none;
  background:
    linear-gradient(to bottom, rgba(18, 24, 28, 0.48) 0, rgba(18, 24, 28, 0.48) var(--a11y-mask-top, 38%),
    transparent var(--a11y-mask-top, 38%), transparent var(--a11y-mask-bottom, 52%),
    rgba(18, 24, 28, 0.48) var(--a11y-mask-bottom, 52%), rgba(18, 24, 28, 0.48) 100%);
}

html.a11y-font-1 {
  font-size: 108% !important;
}

html.a11y-font-2 {
  font-size: 116% !important;
}

html.a11y-font-3 {
  font-size: 124% !important;
}

.a11y-line-height *:not(#a11y-panel):not(#a11y-panel *):not(#a11y-trigger):not(#a11y-trigger *) {
  line-height: 1.85 !important;
}

.a11y-letter-spacing *:not(#a11y-panel):not(#a11y-panel *):not(#a11y-trigger):not(#a11y-trigger *) {
  letter-spacing: 0.06em !important;
}

.a11y-high-contrast > *:not(#a11y-panel):not(#a11y-trigger):not(.a11y-skip-link):not(script):not(style) {
  filter: contrast(1.35) brightness(0.96) !important;
}

.a11y-light-contrast > *:not(#a11y-panel):not(#a11y-trigger):not(.a11y-skip-link):not(script):not(style) {
  filter: brightness(1.04) saturate(0.9) !important;
}

.a11y-grayscale > *:not(#a11y-panel):not(#a11y-trigger):not(.a11y-skip-link):not(script):not(style) {
  filter: grayscale(1) !important;
}

.a11y-readable-font *:not(#a11y-panel):not(#a11y-panel *):not(#a11y-trigger):not(#a11y-trigger *):not(.a11y-skip-link) {
  font-family: Verdana, Arial, Helvetica, sans-serif !important;
}

.a11y-highlight-links a:not(#a11y-panel a):not(.a11y-skip-link) {
  color: #075f64 !important;
  text-decoration: underline !important;
  text-decoration-color: #d9a441 !important;
  text-decoration-thickness: 0.14em !important;
  text-underline-offset: 0.18em !important;
}

.a11y-word-spacing *:not(#a11y-panel):not(#a11y-panel *):not(#a11y-trigger):not(#a11y-trigger *) {
  word-spacing: 0.18em !important;
}

.a11y-dyslexia-support *:not(#a11y-panel):not(#a11y-panel *):not(#a11y-trigger):not(#a11y-trigger *) {
  font-family: Verdana, Arial, Helvetica, sans-serif !important;
  letter-spacing: 0.04em !important;
  word-spacing: 0.16em !important;
  line-height: 1.85 !important;
  text-align: left !important;
}

.a11y-highlight-headings h1:not(#a11y-panel h1),
.a11y-highlight-headings h2:not(#a11y-panel h2),
.a11y-highlight-headings h3:not(#a11y-panel h3) {
  outline: 3px solid rgba(217, 164, 65, 0.8) !important;
  outline-offset: 5px !important;
  background: linear-gradient(90deg, rgba(217, 164, 65, 0.2), rgba(29, 127, 132, 0.08)) !important;
}

.a11y-large-cursor,
.a11y-large-cursor *:not(#a11y-panel):not(#a11y-panel *) {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%2312181c' stroke='white' stroke-width='2' d='M6 3l16 15-8 1.5 5 8-4 2.5-5-8-5 6z'/%3E%3C/svg%3E") 4 3, auto !important;
}

.a11y-outline {
  margin-top: 14px;
  padding: 12px;
  border: 1px solid #dce6ec;
  border-radius: 10px;
  background: #f7fbfd;
}

.a11y-outline strong {
  display: block;
  margin-bottom: 8px;
  color: #1d7f84;
  font-size: 0.78rem;
  font-weight: 850;
  text-transform: uppercase;
}

.a11y-outline ol {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
}

.a11y-outline a {
  color: #17202a;
  font-size: 0.82rem;
  font-weight: 750;
  text-decoration-color: #d9a441;
}

.a11y-outline-h3 {
  margin-left: 12px;
}

.a11y-hide-images img:not(#a11y-panel img):not(#a11y-trigger img),
.a11y-hide-images picture:not(#a11y-panel picture),
.a11y-hide-images video:not(#a11y-panel video),
.a11y-hide-images iframe:not(#a11y-panel iframe),
.a11y-hide-images [role="img"]:not(#a11y-panel [role="img"]) {
  visibility: hidden !important;
  opacity: 0 !important;
}

.a11y-hide-images *:not(#a11y-panel):not(#a11y-panel *):not(#a11y-trigger):not(#a11y-trigger *) {
  background-image: none !important;
}

.a11y-stop-animations *:not(#a11y-panel):not(#a11y-panel *):not(#a11y-trigger):not(#a11y-trigger *) {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}

.a11y-focus-highlight a:focus-visible,
.a11y-focus-highlight button:focus-visible,
.a11y-focus-highlight input:focus-visible,
.a11y-focus-highlight textarea:focus-visible,
.a11y-focus-highlight select:focus-visible {
  outline: 4px solid #d9a441 !important;
  outline-offset: 3px !important;
}

body.a11y-panel-lock {
  overflow: hidden;
}

@media (max-width: 640px) {
  #a11y-trigger {
    left: 12px;
    bottom: 12px;
    width: 50px;
    height: 50px;
  }

  #a11y-panel {
    inset: auto 0 0;
    width: 100vw;
    max-height: 88dvh;
    padding: 18px 14px calc(18px + env(safe-area-inset-bottom));
    border-radius: 20px 20px 0 0;
  }

  .a11y-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  #a11y-panel,
  #a11y-trigger,
  .a11y-control,
  .a11y-profile-icon,
  .a11y-profile-icon *,
  .a11y-skip-link {
    transition: none !important;
    animation: none !important;
  }
}

@keyframes a11y-eye-focus {
  0%, 100% { r: 4.5; }
  50% { r: 6; }
}

@keyframes a11y-path-pulse {
  0%, 100% { stroke-dasharray: 1 0; opacity: 1; }
  50% { stroke-dasharray: 3 2; opacity: 0.65; }
}

@keyframes a11y-lift {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}

@keyframes a11y-wave-drift {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(2px); }
}
