:root{ --dth-font-scale: 1; }
html{ font-size: calc(16px * var(--dth-font-scale)); }
.dth-skip .screen-reader-text{
  position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.dth-skip .screen-reader-text:focus{ position:static; width:auto; height:auto; padding:.5rem 1rem; background:#eee; display:inline-block; }

#dth-a11y-toolbar{
  position: fixed; bottom: 1rem; right: 1rem;
  background: rgba(0,0,0,.75); color: #fff;
  padding: .5rem; border-radius: .75rem; z-index: 99999;
  display: flex; align-items: center; gap: .25rem;
  box-shadow: 0 4px 16px rgba(0,0,0,.3);
  font-size: 14px;
}
.dth-toolbar .dth-btn{
  border: 0; padding: .4rem .6rem; cursor: pointer; border-radius: .5rem;
  background: #fff; color: #000;
}
.dth-toolbar .dth-btn:focus{ outline: 3px solid #ff0; outline-offset: 2px; }
.dth-toolbar .dth-sep{ width:1px; height:20px; background: rgba(255,255,255,.25); margin: 0 .25rem; }

.dth-contrast, .dth-contrast body{ filter: invert(1) hue-rotate(180deg); }
.dth-underline-links a, .dth-underline-links a:visited{ text-decoration: underline !important; }

/* Keyboard focus visibility */
.dth-focus-visible .dth-show-focus :focus { outline: 3px solid #ff0 !important; outline-offset: 2px; }

/* Inline listen button styling */
.dth-listen-inline{ background:#222; color:#fff; padding:.5rem .75rem; border-radius:.5rem; border:none; }
.dth-listen-inline:focus{ outline:3px solid #ff0; outline-offset:2px; }

/* Word highlight (COMPLIANCE standard: yellow/black for strong contrast) */
.dth-current-word{
  background: #ffff00;
  color: #000 !important;
  box-shadow: 0 0 0 2px #00000022;
}
.dth-word{ white-space: pre-wrap; }
