/* 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), square corners (0.9.33), 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: 0; 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: 0; 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: 0; 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); }
.nxtr-sw-link[aria-current="true"]:dir(rtl), [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 on a language page that is a machine draft, or leaves parts in English (0.9.33, owner 2026-11-09: on every
   page with a translation, no bordered box): one quiet line in the page's own language and direction, no border, no fill,
   no corner; the link opens this page's in-place editor in this language. */
.nxtr-draft { display: block; margin: 0; padding-block: var(--nx-s2, .5rem); padding-inline: 0; border: 0; border-radius: 0; background: none; box-shadow: none; color: var(--nx-text-secondary, CanvasText); font-family: var(--nx-font-sans, inherit); font-size: .875rem; line-height: 1.5; text-align: start; }
.nxtr-draft p { margin: 0; }
/* placed at page level (after the estate header, or before the footer without script): the page's gutter */
body > .nxtr-draft, nexus-header + .nxtr-draft, .site-content > .nxtr-draft { padding-inline: var(--nx-gutter, max(16px, 3vw)); }
.nxtr-draft a { color: var(--nx-text-primary, inherit); text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }
.nxtr-draft a:focus-visible { outline: 2px solid var(--nx-focus, var(--nx-accent, currentColor)); outline-offset: 2px; }
/* an English unit inside a right-to-left page (Segments marks it lang="en" dir="ltr") starts at its own side */
[dir="rtl"] [dir="ltr"][lang="en"]:is(p, li, dt, dd, td, th, figcaption, blockquote, label, legend, caption) { text-align: start; }
