/* Reuses the existing language menu and download visuals. */
.offline-language-menu button {
  display: block;
  width: 100%;
  padding: 10px 14px;
  text-align: left;
  font: inherit;
  font-size: 13px;
  color: #424b58;
  border-radius: 8px;
  cursor: pointer;
  touch-action: manipulation;
}
.offline-language-menu button[aria-checked="true"] { color: #149fa8; background: #edfafa; font-weight: 700; }
.offline-language-menu button:focus-visible { outline: 2px solid #25d4d0; outline-offset: -2px; }
.soul-download-primary > span:not(.soul-button-brand-mark):not(.soul-press-ripple) { min-width: 0; white-space: normal; text-align: center; line-height: 1.25; }
.soul-download-button-copy { white-space: normal; }
.soul-download-button-copy small { white-space: normal; }
.soul-click-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.soul-click-highlight { animation: soul-download-highlight .8s ease-out; }
@keyframes soul-download-highlight { 0%,100% { box-shadow: 0 7px 20px rgba(57,159,201,.22); } 40% { box-shadow: 0 0 0 5px rgba(37,212,208,.22), 0 10px 30px rgba(57,159,201,.4); } }
@media (prefers-reduced-motion: reduce) { .soul-click-highlight { animation: none; } }

.offline-language-menu { max-height: calc(100dvh - var(--soul-dock-space, 96px) - 84px); overflow-y: auto; overscroll-behavior: contain; }
.offline-language-menu button { min-height: 44px; }
