/* Nexus Translate: the participation bar, the banner and the suggestion panel. Theme tokens with fallbacks; logical
   properties, so right-to-left pages mirror; no web font, no outside asset. */
/* The participation control (0.4.0): one per page, in the chrome just above the site footer, inside the content
   width, the same on every network. Estate tokens (nexus-theme) with fallbacks. */
.nxtr-bar { display: block; margin: 0; padding-block: var(--nx-s3, .75rem); padding-inline: var(--nx-s3, 1rem); border-block-start: 1px solid var(--nx-border-hairline, #d0d5dd); background: var(--nx-bg-canvas, transparent); font-family: var(--nx-font-sans, inherit); font-size: .9rem; color: var(--nx-text-secondary, #344054); }
.nxtr-bar-inner { box-sizing: border-box; max-inline-size: var(--nx-container, 72rem); margin-inline: auto; display: flex; flex-wrap: wrap; align-items: center; gap: var(--nx-s2, .5rem) var(--nx-s4, 1.25rem); }
.nxtr-help { display: inline-flex; align-items: center; gap: .5rem; padding-block: .45rem; padding-inline: .8rem; border: 1px solid var(--nx-border-hairline-strong, #98a2b3); border-radius: var(--nx-r, 5px); background: var(--nx-bg-surface, #fff); color: var(--nx-text-primary, #101828); text-decoration: none; font-weight: 500; line-height: 1.2; transition: border-color .15s var(--nx-ease, ease), color .15s var(--nx-ease, ease); }
.nxtr-help:hover { border-color: var(--nx-accent, #0b57d0); color: var(--nx-accent, #0b57d0); }
.nxtr-help:focus-visible, .nxtr-bar a:focus-visible { outline: 2px solid var(--nx-focus, var(--nx-accent, #0b57d0)); outline-offset: 2px; }
.nxtr-help-mark { inline-size: .55rem; block-size: .55rem; border-radius: 50%; background: var(--nx-accent, #0b57d0); flex: none; }
.nxtr-credit a { color: var(--nx-text-secondary, #344054); text-decoration: underline; text-underline-offset: 3px; }
.nxtr-credit a:hover { color: var(--nx-accent, #0b57d0); }
.nxtr-offer { list-style: none; margin: .4rem 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.nxtr-offer a { display: inline-block; padding: .3rem .6rem; border: 1px solid var(--nx-border-hairline, #d0d5dd); border-radius: var(--nx-r, 5px); color: var(--nx-text-primary, #101828); text-decoration: none; }
.nxtr-offer a:hover { border-color: var(--nx-accent, #0b57d0); color: var(--nx-accent, #0b57d0); }
.nxtr-locked { color: var(--nx-text-muted, #555); }
.nxtr-banner { margin: 0; padding: .6rem 1rem; background: var(--nx-bg-elevated, #f2f4f7); color: var(--nx-text-primary, #101828); border-block-end: 1px solid var(--nx-border-hairline, #d0d5dd); font-size: .95rem; }
.nxtr-banner p { margin: 0; max-inline-size: 72rem; margin-inline: auto; }
.nxtr-fab { position: fixed; inset-block-end: 1rem; inset-inline-end: 1rem; z-index: 9998; padding: .55rem .9rem; border: 0; border-radius: .5rem; background: var(--nx-accent, #0b57d0); color: var(--nx-primary-ink, #fff); font: inherit; font-size: .9rem; cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,.2); }
.nxtr-fab:focus-visible, .nxtr-panel button:focus-visible, .nxtr-panel textarea:focus-visible, .nxtr-panel input:focus-visible { outline: 3px solid var(--nx-focus, #f79009); outline-offset: 2px; }
.nxtr-panel { position: fixed; inset-block-end: 1rem; inset-inline-end: 1rem; z-index: 9999; inline-size: min(28rem, calc(100vw - 2rem)); max-block-size: min(36rem, calc(100vh - 2rem)); overflow: auto; background: var(--nx-bg-surface, #fff); color: var(--nx-text-primary, #101828); border: 1px solid var(--nx-border-hairline, #d0d5dd); border-radius: .6rem; box-shadow: 0 8px 24px rgba(0,0,0,.18); font-size: .92rem; }
.nxtr-head { display: flex; justify-content: space-between; align-items: center; padding: .6rem .8rem; border-block-end: 1px solid var(--nx-border-hairline, #d0d5dd); }
.nxtr-close { border: 0; background: none; font-size: 1.3rem; cursor: pointer; color: inherit; }
.nxtr-body, .nxtr-helplink { padding: .6rem .8rem; }
.nxtr-unit h3 { font-size: .8rem; margin: .6rem 0 .2rem; text-transform: none; color: var(--nx-text-muted, #555); }
.nxtr-source, .nxtr-current { margin: 0; padding: .4rem .5rem; background: var(--nx-bg-elevated, #f2f4f7); border-radius: .3rem; }
.nxtr-state, .nxtr-rule { font-size: .8rem; color: var(--nx-text-muted, #555); }
.nxtr-sugg { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-block: .4rem; padding: .4rem; border: 1px dashed var(--nx-border-hairline, #d0d5dd); border-radius: .3rem; }
.nxtr-sugg p { flex: 1 1 100%; margin: 0; }
.nxtr-vote { border: 1px solid var(--nx-border-hairline, #d0d5dd); background: none; border-radius: .3rem; cursor: pointer; color: inherit; }
.nxtr-form label { display: block; margin-block: .5rem; }
.nxtr-form textarea, .nxtr-form input { display: block; inline-size: 100%; box-sizing: border-box; margin-block-start: .2rem; font: inherit; }
.nxtr-send { padding: .45rem .8rem; border: 0; border-radius: .3rem; background: var(--nx-accent, #0b57d0); color: var(--nx-primary-ink, #fff); cursor: pointer; font: inherit; }
.nxtr-report { margin-inline-start: .5rem; border: 0; background: none; text-decoration: underline; cursor: pointer; color: inherit; font: inherit; }
.nxtr-msg.err { color: var(--nx-danger, #b42318); }
.nxtr-msg.ok { color: var(--nx-success, #067647); }
.nxtr-credits { columns: 2 16rem; padding-inline-start: 1.2rem; }
.nxtr-credits-langs { color: var(--nx-text-muted, #555); font-size: .85em; }
@media (prefers-color-scheme: dark) {
  .nxtr-panel { background: var(--nx-bg-surface, #1d2939); color: var(--nx-text-primary, #f2f4f7); }
  .nxtr-source, .nxtr-current, .nxtr-banner { background: var(--nx-bg-elevated, #344054); color: var(--nx-text-primary, #f2f4f7); }
}
@media (prefers-reduced-motion: reduce) { .nxtr-panel, .nxtr-fab, .nxtr-help { transition: none; } }
