/* Native language names stay readable in every interface language. */
.language-select { position: relative; flex: none; font-family: inherit; font-size: 13px; line-height: 1.4; letter-spacing: 0; color: #252529; }
.language-select > summary { list-style: none; display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 36px; padding: 7px 11px; border: 1px solid #deddd8; border-radius: 9px; background: #fffefa; cursor: pointer; white-space: nowrap; }
.language-select > summary:hover { background: #f6f3ed; border-color: #cbc8c0; }
.language-select > summary::-webkit-details-marker { display: none; }
.language-select > summary:focus-visible { outline: 3px solid #8c64dc; outline-offset: 4px; }
.language-chevron { color: #74747b; transition: transform .15s; }
.language-select[open] .language-chevron { transform: rotate(180deg); }
.language-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 3px 6px; position: absolute; top: calc(100% + 9px); inset-inline-end: 0; width: 416px; max-width: calc(100vw - 32px); padding: 7px; border: 1px solid #262c41; border-radius: 13px; background: #050a1b; box-shadow: 0 14px 40px #0004; z-index: 100; direction: ltr; max-height: min(70vh, 440px); overflow-y: auto; overscroll-behavior: contain; }
.language-grid a { display: flex; align-items: center; gap: 8px; padding: 9px 7px !important; min-height: 35px; min-width: 0; color: #c3c9d9; font-size: 13px; font-weight: 400; text-decoration: none; border-radius: 8px; direction: ltr; }
.language-grid a span:last-child { unicode-bidi: plaintext; }
.language-grid a:hover,.language-grid a:focus-visible { color: #fff !important; background: #141a2a; }
.language-grid a[aria-current] { color: #fff !important; background: #1c2131; }
html[dir="rtl"] .language-desktop .language-grid { inset-inline-end: auto; left: 0; }
.language-mobile { display: none; }
html[dir="rtl"] body { font-family: Tahoma,Arial,sans-serif; }
html[dir="rtl"] h1,html[dir="rtl"] h2,html[dir="rtl"] h3 { letter-spacing: 0; line-height: 1.4; }
html[lang="hi"] h1,html[lang="hi"] h2,html[lang="zh-Hans"] h1,html[lang="zh-Hant"] h1,html[lang="ko"] h1,html[lang="ja"] h1 { letter-spacing: -.02em; line-height: 1.18; }
html[dir="rtl"] .hero-copy { text-align: right; }
html[dir="rtl"] .article-body,html[dir="rtl"] .policy-container { text-align: right; }
/* Mirror the signal connectors with the right-to-left grid. */
html[dir="rtl"] .input-connector { left: auto; right: 82%; transform: scaleX(-1); }
@media (min-width: 700px) {
  html[dir="rtl"] .output-branches { left: auto; right: -38px; transform: scaleX(-1); }
  html[dir="rtl"] .signal-output::before { left: auto; right: -35px; }
}
@media (min-width: 700px) and (max-width: 1100px) {
  html[dir="rtl"] .output-branches { right: -22px; }
  html[dir="rtl"] .signal-output::before { right: -20px; }
}
.header-inner { gap: 18px; }
.site-header .main-nav { gap: 21px; }
@media (min-width: 1101px) {
  .site-header .header-inner { column-gap: 10px; }
  .site-header .main-nav { margin-inline: auto; }
}
@media (max-width: 1100px) {
  .site-header .header-inner { position: relative; }
  .site-header .main-nav { display: none; position: absolute; top: calc(100% + 8px); left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; padding: 12px; border: 1px solid #292b31; border-radius: 15px; background: #0d0f12; color: #cbd0da; box-shadow: 0 14px 35px #0003; font-size: 15px; max-height: calc(100dvh - 105px); overflow-y: auto; overscroll-behavior: contain; }
  .site-header .main-nav.is-open { display: flex; }
  .site-header .main-nav > a { padding: 14px 12px; }
  .site-header .main-nav > a[aria-current] { color: #ffd481; }
  .site-header .header-download { width: 44px; min-height: 44px; padding: 10px; margin-inline-start: auto; }
  .site-header .header-download span { display: none; }
  .site-header .menu-button { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 10px; flex: none; }
  .language-desktop { display: none; }
  .language-mobile { display: block; align-self: center; margin: 12px 0 8px; }
  .language-mobile .language-grid { position: static; width: min(416px,calc(100vw - 80px)); margin: 10px auto 0; }
  .language-mobile > summary { width: max-content; margin-inline: auto; }
}
@media (max-width: 380px) {
  .language-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2px; }
  .language-grid a { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { .language-chevron { transition: none; } }

html:not([lang="en"]) .hero h1 { font-size: clamp(36px,4.65vw,64px); letter-spacing: -.035em; overflow-wrap: anywhere; hyphens: auto; }
html[dir="rtl"] .hero h1 { letter-spacing: 0; }
/* Playback time and seeking keep their physical left-to-right orientation. */
.rail-timeline { direction: ltr; }
.rail-timeline > span { unicode-bidi: isolate; }

.not-found-languages { display: flex; justify-content: end; margin-bottom: 24px; }
html:not([lang="en"]) .button { max-width: 100%; min-width: 0; white-space: normal; text-align: center; overflow-wrap: anywhere; }
.site-footer a { overflow-wrap: anywhere; }
.signal-kleenmic,.signal-apps span { min-width: 0; overflow-wrap: anywhere; }
.journey-mode-options button,.rail-mode button { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 700px) {
  html:not([lang="en"]) .hero .button-row > .button { display: block; width: 100%; }
  html:not([lang="en"]) .hero .button-row > .button .icon { vertical-align: middle; margin-inline-end: 7px; }
}
html:not([lang="en"]) .hero .button-row .button { white-space: normal; text-wrap: wrap; }
.hero .hero-assurances li { min-width: 0; overflow-wrap: anywhere; }
.signal-kleenmic > span { white-space: normal; overflow-wrap: anywhere; }
.signal-input .noise-label { max-width: calc(100% - 20px); white-space: normal; overflow-wrap: anywhere; }

/* RTL controls keep their label and icon centered as one flex group. */
html[dir="rtl"] .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.5;
  letter-spacing: normal;
  text-transform: none;
}
html[dir="rtl"] .hero .button-row > .button { display: inline-flex; }
html[dir="rtl"] .hero .button-row > .button .icon { margin-inline: 0; }
html[dir="rtl"] .button .icon:has(use[href="#i-arrow"]) { transform: scaleX(-1); }
html[dir="rtl"] .article-back .icon { transform: none; }
html[dir="rtl"] .rail-mode button,
html[dir="rtl"] .journey-mode-options button {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.5;
  text-align: center;
}
html[dir="rtl"] .dialog-close { display: grid; place-items: center; padding: 0; }
@media (max-width: 1100px) {
  /* Clear the older physical left auto-margin after mirroring the header. */
  html[dir="rtl"] .site-header .header-download { margin-inline-end: 0; }
}
