/* AnonyID's mapping onto the shared footer's --foot-* tokens (static/footer/footer.css stays byte-identical, owner
   2026-10-19 D6 = A, audit ECO-011), the way anony-balance static/balance.css does: every theme (anonylabs, anonychat,
   anonyvpn, anonymail) defines the same --fg/--rule/--surface/--font/--mono, so one mapping serves them all. */
html {
  --foot-fg: var(--fg); --foot-fg-2: var(--fg-2); --foot-fg-3: var(--fg-3); --foot-rule: var(--rule);
  --foot-rule-strong: var(--rule-strong); --foot-accent: var(--fg); --foot-panel: var(--surface);
  --foot-hover: color-mix(in srgb, var(--fg) 7%, transparent); --foot-current: color-mix(in srgb, var(--fg) 10%, transparent);
  --foot-sans: var(--font); --foot-mono: var(--mono);
}
/* the app shell's foot: the legal line, then the picker (the shared footer bar's order) */
.appfoot { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 20px; }
.appfoot .meta { margin: 0; }
/* settings cards clip their content (settings.css .card overflow: hidden): an open picker in a row must spill out */
.card:has(.langsw[open]) { overflow: visible; }
.card:has(.langsw[open]) .langsw { z-index: 5; }
/* the foot sits under .appmain (z-index 2): while its picker is open it comes on top */
.appfoot:has(.langsw[open]) { z-index: 3; }
/* the sign-in pages' foot: the picker where the old select was, never wider than the pane */
.formpane__foot .langsw { justify-self: auto; max-width: 100%; }
