/* The language control extends the approved navigation, not the page design. */
.language-menu { position: relative; }
.language-menu > summary { gap: 7px; min-height: 44px; }
.language-menu > summary > .icon:first-child { width: 18px; height: 18px; }
.language-menu[open] > summary > .icon:first-child { transform: none; }
.explorer-preview-controls button { min-width: 44px; min-height: 44px; }
.language-options {
  position: absolute; right: 0; top: calc(100% + 14px); z-index: 12;
  min-width: 168px; padding: 8px; background: #fff;
  border: 1px solid var(--line, #e5e2e9); border-radius: 12px;
  box-shadow: 0 12px 32px #24133812;
}
.language-options a {
  display: flex; align-items: center; min-height: 44px; padding: 9px 14px;
  border-radius: 7px; color: #514957; text-decoration: none;
}
.language-options a:is(:hover, :focus-visible, [aria-current="true"]) {
  color: #682eab; background: #f4effa;
}
html:not([lang="en"]) { font-synthesis: none; }
html[lang="ja"] body { font-family: "Noto Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; }
html[lang="ja"] :is(h1, h2, h3, h4) { line-height: 1.4; letter-spacing: -.025em; word-break: normal; overflow-wrap: anywhere; }
html:not([lang="en"]) :is(h1, h2, h3, h4, p, .text-link, .button, button, summary) { overflow-wrap: anywhere; }
html[lang="ja"] :is(h1, h2, h3, h4) { overflow-wrap: normal; line-break: strict; text-wrap: balance; }
html:not([lang="en"]) .button { white-space: normal; text-align: center; }
html[lang="de"] :is(h1, h2, h3, h4, button, .fe-fuel-labels) { hyphens: auto; }
.editorial-outputs > article { min-width: 0; }
.home-report-register { table-layout: fixed; width: 100%; }
.home-report-register :is(th, td) { overflow-wrap: anywhere; }
html:is([lang="de"], [lang="fr"]) .home-report-register :is(th, td) { hyphens: auto; }
.home-report-status { white-space: normal; min-width: 0; }
.fe-fuel-labels > div { min-width: 0; overflow-wrap: anywhere; }
/* Currency labels expand in some locales; reserve room without shrinking type. */
html:not([lang="en"]) .se-cashflow-chart { grid-template-columns: 82px minmax(0,1fr) 108px; }
html:not([lang="en"]) :is(.se-cashflow-scale span, .se-cashflow-balances strong) { white-space: nowrap; }
.se-cashflow-legend > span { min-width: 0; overflow-wrap: anywhere; }
@media (pointer: coarse) {
  .footer-links a, .back-link { min-height: 44px; display: inline-flex; align-items: center; }
}
@media (max-width: 1200px) {
  .orbital-story { grid-template-columns: minmax(0,1fr); }
  .orbital-scenarios { min-width: 0; }
  .orbital-scenarios a { min-width: 0; overflow-wrap: anywhere; }
}
@media (max-width: 600px) {
  /* Size ordinary tabs from their words; equal thirds split short translations. */
  html:not([lang="en"]) .pe-tabs:not(.pe-flow-tabs) > button { flex: 1 1 auto; }
  /* Put end values above their points so translated amounts cannot squeeze the plot. */
  html:not([lang="en"]) .se-cashflow-chart { grid-template-columns: 74px minmax(0,1fr); }
  html:not([lang="en"]) .se-cashflow-balances { grid-column: 2; font-size: 14px; margin: 0; pointer-events: none; }
  html:not([lang="en"]) .se-cashflow-balances strong { right: 0; transform: translateY(calc(-100% - 8px)); padding: 2px 4px; background: #fcfbfd; border-radius: 3px; }
  html:not([lang="en"]) .se-cashflow-weeks > span { max-width: 50%; overflow-wrap: anywhere; }
  html:not([lang="en"]) .se-cashflow-weeks { font-size: 12px; }
  html:not([lang="en"]) .se-cashflow-weeks > span:first-child { max-width: none; flex: 0 0 auto; white-space: nowrap; }
  html:not([lang="en"]) .se-cashflow-weeks > span:last-child { text-align: right; }
  html:not([lang="en"]) .pe-tabs.pe-flow-tabs > button { white-space: normal; line-height: 1.35; flex: 1 1 0; }
  html:not([lang="en"]) .pe-flow-arrow { flex: 0 0 16px; }
}
@media (max-width: 900px) {
  .language-menu { width: 100%; }
  .language-options { position: static; box-shadow: none; margin-block: 8px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .language-options a { min-width: 0; }
}
@media (max-width: 360px) {
  html[lang="ja"] .home-report-paper h3 { font-size: 22px; }
}
@media (forced-colors: active) {
  .language-options a[aria-current="true"] { outline: 1px solid Highlight; }
}
