/* Nexus Translate: the language switcher, design A (owner 2026-11-05): a globe and the current code in a 5 px bordered button;
   a list of native names with codes, the current one marked with an inset accent bar, "Help translate this page" last.
   Estate tokens with fallbacks, logical properties (RTL mirrors), 5 px corners, never pills. Themes may restyle it
   inside their slots; this is the look wherever no theme does (observatory.global, nexusobservatory.com). */
.nxtr-sw { position: relative; display: inline-block; font-family: var(--nx-font-sans, inherit); font-size: .9rem; }
.nxtr-sw-btn { display: inline-flex; align-items: center; gap: .4rem; min-block-size: 44px; min-inline-size: 44px; padding-inline: .75rem; border: 1px solid var(--nx-border-hairline-strong, currentColor); border-radius: var(--nx-r, 5px); background: var(--nx-bg-surface, transparent); color: var(--nx-text-primary, CanvasText); cursor: pointer; list-style: none; }
.nxtr-sw-btn::-webkit-details-marker { display: none; }
.nxtr-sw-btn::before { content: ""; inline-size: 16px; block-size: 16px; flex: none; background: currentColor; -webkit-mask: var(--nxtr-globe) center / contain no-repeat; mask: var(--nxtr-globe) center / contain no-repeat; --nxtr-globe: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c3 3 3 15 0 18M12 3c-3 3-3 15 0 18'/%3E%3C/svg%3E"); }
.nxtr-sw-cur { font-size: 0; }
.nxtr-sw-cur::after { content: attr(data-code); font-size: .8125rem; font-weight: 600; letter-spacing: .06em; font-variant-numeric: tabular-nums; }
.nxtr-sw-name { flex: 1 1 auto; }
.nxtr-sw-code { flex: none; margin-inline-start: 1rem; font-size: .75rem; letter-spacing: .06em; color: var(--nx-text-muted, color-mix(in srgb, CanvasText 60%, Canvas)); font-variant-numeric: tabular-nums; }
.nxtr-sw-btn::after { content: ""; inline-size: .45em; block-size: .45em; border-inline-end: 2px solid currentColor; border-block-end: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.nxtr-sw[open] > .nxtr-sw-btn::after { transform: rotate(-135deg); }
.nxtr-sw-btn:focus-visible, .nxtr-sw-link:focus-visible { outline: 2px solid var(--nx-focus, var(--nx-accent, currentColor)); outline-offset: 2px; }
.nxtr-sw-list { position: absolute; inset-inline-end: 0; inset-block-start: calc(100% + 4px); z-index: 50; min-inline-size: 12rem; max-block-size: 70vh; overflow: auto; margin: 0; padding: .25rem; list-style: none; border: 1px solid var(--nx-border-hairline-strong, currentColor); border-radius: var(--nx-r, 5px); background: var(--nx-bg-elevated, Canvas); color: var(--nx-text-primary, CanvasText); }
.nxtr-sw-link { display: flex; align-items: center; min-block-size: 44px; padding-inline: .75rem; border-radius: var(--nx-r-sm, 2px); color: inherit; text-decoration: none; }
.nxtr-sw-link:hover { background: var(--nx-bg-muted, color-mix(in srgb, CanvasText 10%, Canvas)); }
.nxtr-sw-link[aria-current="true"] { font-weight: 600; box-shadow: inset 3px 0 0 var(--nx-accent, #f79009); }
[dir="rtl"] .nxtr-sw-link[aria-current="true"] { box-shadow: inset -3px 0 0 var(--nx-accent, #f79009); }
.nxtr-sw-help .nxtr-sw-link { color: var(--nx-text-muted, color-mix(in srgb, CanvasText 70%, Canvas)); font-size: .8125rem; }
@media (forced-colors: active) { .nxtr-sw-link[aria-current="true"] { border-inline-start: 3px solid Highlight; box-shadow: none; } }
.nxtr-sw-help { border-block-start: 1px solid var(--nx-border-hairline, color-mix(in srgb, CanvasText 25%, Canvas)); margin-block-start: .25rem; padding-block-start: .25rem; }
.nxtr-sw--footer .nxtr-sw-list { inset-block-start: auto; inset-block-end: calc(100% + 4px); inset-inline-end: auto; inset-inline-start: 0; }
.nxtr-sw--drawer { display: block; }
.nxtr-sw--drawer .nxtr-sw-btn { inline-size: 100%; justify-content: space-between; }
.nxtr-sw--drawer .nxtr-sw-list { position: static; margin-block-start: 4px; max-block-size: none; }
.nxtr-sw-foot { padding-block: .75rem; }
.nxtr-sw-head { display: inline-flex; align-items: center; margin-inline-start: auto; padding-inline: .75rem; }
@media (prefers-reduced-motion: no-preference) { .nxtr-sw-btn::after { transition: transform .15s; } }
.nxtr-sw-off .nxtr-sw-link { color: var(--nx-text-muted, color-mix(in srgb, CanvasText 65%, Canvas)); }
.nxtr-sw-soon { flex: none; margin-inline-start: 1rem; font-size: .75rem; text-decoration: underline; text-underline-offset: 2px; }
/* The notice above a language page that is a machine draft, or leaves parts in English: a quiet 5 px bordered note, no fill. */
.nxtr-draft { margin-block: 0 1rem; padding: .5rem .75rem; border: 1px solid var(--nx-border-hairline-strong, currentColor); border-inline-start-width: 3px; border-radius: var(--nx-r, 5px); background: transparent; color: var(--nx-text-primary, CanvasText); font-size: .875rem; line-height: 1.5; }
.nxtr-draft p { margin: 0; }
.nxtr-draft a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.nxtr-draft a:focus-visible { outline: 2px solid var(--nx-focus, var(--nx-accent, currentColor)); outline-offset: 2px; }
@media (forced-colors: active) { .nxtr-draft { border-color: CanvasText; } }
