/* Shared footer settings: independent of homepage and download-page styles. */
footer .site-settings {
  position: relative;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  border: 0;
  color: #c5cedb;
  font: 500 14px/1.5 ui-sans-serif, system-ui, sans-serif;
}
footer .site-settings > summary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid #394354;
  border-radius: 9px;
  color: inherit;
  background: transparent;
  font: inherit;
  list-style: none;
  cursor: pointer;
}
footer .site-settings > summary::-webkit-details-marker { display: none; }
footer .site-settings > summary::after { content: none; }
footer .site-settings > summary:hover,
footer .site-settings[open] > summary { color: #fff; background: #202c3e; border-color: #69778b; }
footer .site-settings svg { width: 16px; height: 16px; flex-shrink: 0; }
footer .site-settings .settings-panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + 12px);
  z-index: 30;
  width: min(300px, calc(100vw - 40px));
  padding: 22px;
  border: 1px solid #dce2eb;
  border-radius: 14px;
  background: #fff;
  color: #152238;
  box-shadow: 0 12px 42px #0004;
  text-align: left;
  box-sizing: border-box;
}
footer .site-settings label { display: block; margin-bottom: 10px; font-weight: 650; }
footer .site-settings select {
  display: block;
  width: 100%;
  min-height: 44px;
  padding: 10px;
  border: 1px solid #bdc8d8;
  border-radius: 7px;
  color: #152238;
  background: #f7f9fc;
  font: inherit;
  color-scheme: light;
}
footer .site-settings .settings-panel p { margin: 12px 0 0; color: #536176; font: 400 13px/1.6 ui-sans-serif, system-ui, sans-serif; }
footer .site-settings .settings-panel a { color: #152238; }
footer .site-settings :focus-visible { outline: 2px solid #e83e60; outline-offset: 4px; }
.footer-grid { flex-wrap: wrap; }
@media (max-width: 640px) {
  footer .site-settings { align-self: flex-start; }
  footer .site-settings .settings-panel { left: 0; right: auto; }
}
