/* Match the site's light reading surface, including on dark-mode devices. */
.ei-audio.ei-audio--enhanced {
  display: block;
  color: #1a2531;
  background: #f6fbff;
  color-scheme: light;
}
.ei-audio--enhanced > audio { display: none; }
.ei-audio--enhanced .ei-audio__label { display: block; margin-bottom: 8px; }
.ei-audio--enhanced .ei-audio__description {
  display: block;
  margin-top: .25em;
  font-size: .86em;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}
.ei-player, .ei-player-reopen { box-sizing: border-box; color-scheme: light; }
.ei-player {
  color: #1a2531;
  font: 14px/1.4 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.ei-player [hidden], .ei-player-reopen[hidden] { display: none !important; }
.ei-player__buttons { display: flex; align-items: center; gap: 8px; }
.ei-player button, .ei-player select, .ei-player-reopen {
  margin: 0;
  min-width: 44px;
  min-height: 44px;
  padding: 6px 8px;
  border: 1px solid #8ba2b8;
  border-radius: 8px;
  background: #fff;
  color: #183c5b;
  font: 600 14px/1.2 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-transform: none;
  letter-spacing: normal;
  cursor: pointer;
}
.ei-player button:hover, .ei-player select:hover, .ei-player-reopen:hover { background: #eaf3fc; }
.ei-player button:focus-visible, .ei-player select:focus-visible,
.ei-player input:focus-visible, .ei-player-reopen:focus-visible {
  outline: 3px solid #1769aa;
  outline-offset: 3px;
}
.ei-player button:disabled { opacity: .5; cursor: default; }
.ei-player .ei-player__play { background: #1d5d8e; color: #fff; border-color: #1d5d8e; border-radius: 50%; }
.ei-player .ei-player__play:hover { background: #174b73; }
.ei-player__play svg { display: block; width: 20px; height: 20px; margin: auto; fill: currentColor; }
.ei-player .ei-player__back, .ei-player .ei-player__forward, .ei-player .ei-player__close {
  padding: 6px;
  border-color: transparent;
  border-radius: 50%;
  background: transparent;
}
.ei-player .ei-player__back:hover, .ei-player .ei-player__forward:hover, .ei-player .ei-player__close:hover { background: #eaf3fc; }
.ei-player__back svg, .ei-player__forward svg { display: block; width: 28px; height: 28px; margin: auto; }
.ei-player__back path, .ei-player__forward path { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ei-player__back text, .ei-player__forward text { fill: currentColor; font-size: 12px; font-weight: 700; text-anchor: middle; }
.ei-player .ei-player__speed { width: 78px; padding-right: 2px; }
.ei-player__caption { flex: 1; color: #4b6073; font-size: 13px; }
.ei-player .ei-player__close { margin-left: auto; font-size: 24px; font-weight: 400; }
.ei-player__progress { display: flex; align-items: center; gap: 10px; margin-top: 4px; }
.ei-player input[type="range"] {
  display: block;
  flex: 1;
  min-width: 0;
  width: 100%;
  height: 28px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  accent-color: #1d5d8e;
  cursor: pointer;
}
.ei-player__time { flex: 0 0 auto; color: #40576c; font-size: 12px; font-variant-numeric: tabular-nums; }
.ei-player__status { color: #a12b28; font-size: 13px; }
.ei-player__status:not(:empty) { margin-top: 8px; }
.ei-player__status a { color: #1d5d8e; text-decoration: underline; }
.ei-player--docked {
  position: fixed;
  z-index: 90;
  left: 0;
  right: 0;
  bottom: 0;
  width: min(860px, 100%);
  margin: 0 auto;
  padding: 10px max(12px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
  border: 1px solid #8ba2b8;
  border-bottom: 0;
  border-radius: 12px 12px 0 0;
  background: #f6fbff;
  box-shadow: 0 -4px 20px rgba(13, 36, 60, .14);
}
.ei-player-reopen {
  position: fixed;
  z-index: 90;
  right: max(12px, env(safe-area-inset-right));
  bottom: max(8px, env(safe-area-inset-bottom));
  padding: 8px 14px;
  border-radius: 24px;
  box-shadow: 0 2px 12px rgba(13, 36, 60, .15);
}
body.ei-audio-docked { padding-bottom: calc(var(--ei-audio-original-padding, 0px) + var(--ei-audio-bottom-space, 0px)); }
html.ei-audio-docked { scroll-padding-bottom: var(--ei-audio-bottom-space, 0px); }
@media (max-width: 480px) {
  .ei-player__buttons { gap: 6px; }
  .ei-player__caption { display: none; }
}
@media print {
  .ei-player--docked, .ei-player-reopen { display: none !important; }
  body.ei-audio-docked { padding-bottom: var(--ei-audio-original-padding, 0px); }
}
