/* Nexus Observatory theme. Tokens follow the Observatory design system (concept kit.css) and come from tokens.json:
   dark is the brand default, light by choice or by the device (the light presets are printed inline from tokens.json).
   This file styles the chrome, content, forms, knowledge articles, BuddyPress (Nouveau) and bbPress. */

/* ---------- tokens ---------- */
:root{
	--bg:var(--wp--preset--color--base);--surface:var(--wp--preset--color--surface);--elev:var(--wp--preset--color--elevated);
	--muted:var(--wp--preset--color--muted);--hover:var(--wp--preset--color--hover);--t1:var(--wp--preset--color--contrast);
	--t2:var(--wp--preset--color--contrast-2);--t3:var(--wp--preset--color--contrast-3);--accent:var(--wp--preset--color--accent);--accent-strong:var(--wp--preset--color--accent-strong);--accent-hover:var(--wp--preset--color--accent-hover);--accent-deep:var(--wp--preset--color--accent-deep);--accent-tint:var(--wp--preset--color--accent-tint);--on-accent:var(--wp--preset--color--on-accent);
	--hair:var(--wp--preset--color--hairline);--hair2:var(--wp--preset--color--hairline-strong);
	--sans:var(--wp--preset--font-family--sans);--mono:var(--wp--preset--font-family--mono);
	--r:5px;--rc:4px;--bar:64px;--gut:clamp(16px,4vw,48px);--focus:2px solid var(--accent);--glow:0 0 0 0 transparent;
	color-scheme:dark
}
/* Light-mode values of the presets are printed inline from tokens.json (Theme::light_css). */

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{background:var(--bg);color:var(--t1);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
::selection{background:var(--accent);color:#fff}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:var(--focus);outline-offset:2px;border-radius:2px}
a{text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-line:underline;text-decoration-color:var(--accent)}
/* Numbers line up: tabular figures and a slashed zero wherever counts, dates and metrics appear outside mono text. */
:where(table,time,.nxo-num,.count,.wp-block-post-date,.bbp-pagination,.bp-pagination,.activity-time-since){font-variant-numeric:tabular-nums slashed-zero}
img,video,svg{max-width:100%;height:auto}
hr{border:0;border-top:1px solid var(--hair2)}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip-link.screen-reader-text:focus{clip:auto!important;clip-path:none;height:auto;width:auto;left:8px;top:8px;z-index:100000;padding:12px 16px;background:var(--t1);color:var(--bg);border-radius:var(--r);font:500 14px/1 var(--sans);text-decoration:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.nxo-eyebrow,.nxo-meta{font:500 11px/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--t3)}
.nxo-eyebrow::before{content:"";display:inline-block;width:6px;height:6px;margin-right:9px;border-radius:50%;background:var(--accent);vertical-align:.1em}

/* ---------- top bar ---------- */
.nxo-site-header{position:sticky;top:var(--wp-admin--admin-bar--height,0);z-index:50}
.nxo-thm{display:inline-flex;gap:2px;box-sizing:border-box;height:36px;padding:3px;border:1px solid var(--hair2);border-radius:var(--r)}
.nxo-thm button{width:28px;height:28px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:var(--rc);background:transparent;color:var(--t3);cursor:pointer}
.nxo-thm button:hover,.nxo-thm button[aria-pressed=true]{color:var(--t1)}
.nxo-thm button[aria-pressed=true]{background:var(--hover)}
.nxo-thm svg,.nxo-btn__ico svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round}
.nxo-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 14px;border-radius:var(--r);border:1px solid transparent;font:500 14px/1 var(--sans);text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.nxo-btn--primary{background:var(--accent-strong);color:var(--on-accent)}.nxo-btn--primary:hover{background:var(--accent-hot,var(--accent-strong));color:var(--on-accent);text-decoration:none}
.nxo-btn--ghost{color:var(--t2)}.nxo-btn--ghost:hover{color:var(--t1);background:var(--hover)}
.nxo-btn--secondary{border-color:var(--hair2);color:var(--t1)}.nxo-btn--secondary:hover{background:var(--hover)}
.nxo-btn__ico{display:none}

/* ---------- layout ---------- */
/* Full width (ported from the estate's nexus-fullwidth.php; body.nexus-fullwidth from Theme::fullwidth_body_class).
   Running text keeps a readable measure (44rem, about 70 characters; in rem so headings and paragraphs share one column)
   inside the full width, with the title of a page, post or article on the same column (the estate's article header);
   blocks set wide or full, tables, figures and embeds keep the width. Headings never break inside a
   word. Where the floating dock is on the page (from 641px), the main column keeps clear of it: --nexus-dock-w from the
   accessibility dock, else --nx-dock-reserve, else 72px. Header and footer are never touched. */
body.nexus-fullwidth{--nexus-measure:44rem;--nexus-gutter:var(--gut);--nexus-gutter-start:var(--nexus-gutter)}
body.nexus-fullwidth :is(.entry-content,.wp-block-post-content,.post-content,.nx-prose)>:is(p,ul,ol,dl,blockquote,pre,h1,h2,h3,h4,h5,h6,.wp-block-list,.wp-block-quote,.wp-block-pullquote):not(.alignwide,.alignfull),body.nexus-fullwidth article>.entry-header,body.nexus-fullwidth:is(.page,.single-post,.single-nxo_article):not(.page-template-page-wide) .nxo-main>.nxo-page-head{max-inline-size:var(--nexus-measure);margin-inline:auto}
/* Headings never break inside a word: they are sized to fit (mono, about 0.57em a character with the tracking, in a
   column of 90vw less the gutters, down to 320px: words up to about 18 characters stay whole in h1, 22 in h2). Only a longer word may still wrap,
   as a last resort, so no page scrolls sideways (WCAG reflow at 320px). */
body.nexus-fullwidth :is(h1,h2,.entry-title,.page-title,.wp-block-post-title,.wp-block-query-title){word-break:normal;hyphens:manual;overflow-wrap:break-word}
body.nexus-fullwidth :is(h1,.wp-block-post-title,.wp-block-query-title){font-size:min(var(--wp--preset--font-size--xx-large),8.2vw)}
body.nexus-fullwidth .wp-site-blocks h2:not(.has-text-align-center,[class*=-font-size]){font-size:min(var(--wp--preset--font-size--x-large),7vw)}
@media (min-width:641px){html:has(.nxd[data-ready]:not([hidden])) body.nexus-fullwidth{--nexus-gutter-start:max(var(--nexus-gutter),calc(var(--nexus-dock-w,var(--nx-dock-reserve,72px)) + 8px))}html:has(.nxd[data-ready]:not([hidden])) body.nexus-fullwidth .wp-site-blocks>main:not(:is(header,footer,main) *){padding-inline-start:var(--nexus-gutter-start)!important;box-sizing:border-box}}
.nxo-main{padding-top:clamp(40px,6vw,88px);padding-bottom:clamp(56px,8vw,120px);min-height:60vh}
.nxo-page-head{margin-bottom:clamp(24px,4vw,48px);padding-bottom:24px;border-bottom:1px solid var(--hair)}
.nxo-page-head .wp-block-post-title,.nxo-page-head .wp-block-query-title{margin:12px 0 0}
.nxo-lede{font-size:var(--wp--preset--font-size--large);line-height:1.55;color:var(--t2)}
.nxo-page-head .nxo-lede{max-width:62ch}
.wp-block-post-content>*+*{margin-block-start:1.1em}
.wp-block-post-content :where(p,li){color:var(--t2)}
.wp-block-post-content :where(strong,b){color:var(--t1);font-weight:600}
.wp-block-post-content :where(h2,h3,h4){margin-block-start:1.8em}
.wp-block-post-content :where(ul,ol){padding-left:1.25em}
.wp-block-post-content table,.nxo-table{width:100%;border-collapse:collapse}
.wp-block-post-content :where(th,td){padding:10px 12px;border-bottom:1px solid var(--hair);text-align:left;vertical-align:top}
.wp-block-post-content td{font:400 13.5px/1.5 var(--mono)}
.wp-block-post-content th{font:500 11px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--t3)}
.wp-block-table{overflow-x:auto}
.wp-block-table :where(table,th,td,thead,tfoot){border:0}
.wp-block-table thead{border-bottom:1px solid var(--hair2)}
.wp-block-table :where(td,th){border-bottom:1px solid var(--hair)}
.wp-block-code code{background:none;border:0;padding:0}
:where(.wp-block-post-content) :not(pre)>code{font-family:var(--mono);font-size:.9em;background:var(--surface);border:1px solid var(--hair);border-radius:var(--rc);padding:.1em .35em}
.wp-block-image img{border-radius:var(--r)}
.wp-block-separator{border-top-width:1px}

/* lists of posts and articles */
.nxo-list{margin:0;padding:0}
.nxo-list>li{border-top:1px solid var(--hair);padding:24px 0}
.nxo-list>li:last-child{border-bottom:1px solid var(--hair)}
.nxo-list .wp-block-post-title{font:500 var(--wp--preset--font-size--x-large)/1.2 var(--sans);letter-spacing:-.01em;margin:8px 0}
.nxo-list .wp-block-post-title a:hover{color:var(--accent)}
.nxo-list .wp-block-post-excerpt{color:var(--t2);margin:0}
.nxo-list .wp-block-post-excerpt__more-text{display:none}
.wp-block-query-pagination{margin-top:32px;gap:12px;font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.wp-block-query-pagination a{text-decoration:none;color:var(--t2)}
.wp-block-query-pagination .current{color:var(--t1);box-shadow:inset 0 -1px 0 var(--accent)}
.wp-block-post-navigation-link a{text-decoration:none}
.wp-block-post-terms a{text-decoration:none;color:var(--t2)}.wp-block-post-terms a:hover{color:var(--t1)}

/* ---------- forms ---------- */
:where(input[type=text],input[type=email],input[type=search],input[type=url],input[type=password],input[type=number],input[type=tel],input[type=date],select,textarea){
	width:100%;max-width:100%;min-height:40px;padding:8px 12px;background:var(--surface);color:var(--t1);border:1px solid var(--hair2);border-radius:var(--r);font:400 15px/1.4 var(--sans)}
:where(input,select,textarea)::placeholder{color:var(--t3);opacity:1}
:where(input,select,textarea):focus{border-color:var(--t2);outline:var(--focus);outline-offset:1px}
textarea{min-height:120px;resize:vertical}
label{font-size:14px;color:var(--t2)}
:where(input[type=checkbox],input[type=radio]){accent-color:var(--accent);width:16px;height:16px}
:where(button,input[type=submit],input[type=button],.button,.wp-element-button){cursor:pointer}
.wp-block-search__inside-wrapper{gap:8px}
.wp-block-search__input{min-height:44px}
.wp-block-search__button{margin:0}
.wp-block-button__link:hover,.wp-element-button:hover{box-shadow:var(--glow)}

/* ---------- 404 and empty states ---------- */
.nxo-404 .nxo-code{font:400 clamp(64px,12vw,160px)/1 var(--mono);letter-spacing:-.06em;color:var(--t3)}
.nxo-links{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0;padding:0;list-style:none}
.nxo-links a{display:inline-flex;align-items:center;height:36px;padding:0 14px;border:1px solid var(--hair2);border-radius:var(--r);text-decoration:none;font-size:14px}
.nxo-links a:hover{background:var(--hover);color:var(--t1)}

/* ---------- legal footer ---------- */

/* ---------- knowledge articles ---------- */
.nxo-kb-meta{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}
.nxo-kb-body{max-width:760px}
.nxo-kb-aside{border-top:1px solid var(--hair);margin-top:48px;padding-top:24px}

/* ---------- BuddyPress (Nouveau) ---------- */
#buddypress{--bp-gap:16px;color:var(--t2);font-size:15px}
#buddypress a{color:var(--t1)}
#buddypress :where(.bp-navs ul){display:flex;flex-wrap:wrap;gap:4px;margin:0 0 24px;padding:0;border-bottom:1px solid var(--hair);background:transparent}
#buddypress .bp-navs li{background:transparent!important;border:0!important;margin:0}
#buddypress .bp-navs li a{display:inline-flex;align-items:center;gap:8px;padding:12px 12px;color:var(--t3);text-decoration:none;font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;background:transparent!important;border:0}
#buddypress .bp-navs li a:hover{color:var(--t1)}
#buddypress .bp-navs li:is(.selected,.current) a{color:var(--t1)!important;box-shadow:inset 0 -2px 0 var(--accent)}
#buddypress .bp-navs li .count{background:var(--muted)!important;color:var(--t2)!important;border:1px solid var(--hair)!important;border-radius:var(--rc);padding:2px 6px;font-size:11px}
#buddypress .bp-subnavs ul{border-bottom:0}
#buddypress :is(.button,.generic-button a,.generic-button button,input[type=submit],input[type=button],button.button,a.button){
	display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 12px;background:var(--surface)!important;color:var(--t1)!important;border:1px solid var(--hair2)!important;border-radius:var(--r)!important;font:500 13px/1 var(--sans)!important;text-decoration:none;box-shadow:none!important}
#buddypress :is(.button,.generic-button a,.generic-button button,input[type=submit]):hover{background:var(--hover)!important}
#buddypress :is(input[type=submit].button-primary,#bp-browse-button,.bp-primary-action,#aw-whats-new-submit){background:var(--accent-strong)!important;color:var(--on-accent)!important;border-color:var(--accent-strong)!important}
#buddypress :is(input[type=submit].button-primary,#bp-browse-button,.bp-primary-action,#aw-whats-new-submit):hover{box-shadow:var(--glow)!important}
#buddypress .item-list,#buddypress .activity-list{margin:0;padding:0;list-style:none}
#buddypress .item-list>li,#buddypress .activity-list>li{background:transparent!important;border:0!important;border-top:1px solid var(--hair)!important;padding:20px 0!important;margin:0!important}
#buddypress .item-list.grid>li{border:1px solid var(--hair)!important;border-radius:var(--r)}
#buddypress .grid>li .list-wrap{background:var(--surface)!important;border:0!important;border-radius:var(--r)}
#buddypress img.avatar{border-radius:50%;border:1px solid var(--hair)}
#buddypress :is(.item-title,.list-title,.activity-header) a{text-decoration:none;font-weight:500}
#buddypress :is(.item-meta,.activity-header .time-since,.activity-meta,.user-nicename,.last-activity){color:var(--t3);font-family:var(--mono);font-size:12px}
#buddypress .activity-inner{color:var(--t2);background:transparent!important;border:0!important;padding:8px 0!important}
#buddypress .activity-comments{border-left:1px solid var(--hair);margin-left:24px;padding-left:16px}
#buddypress :is(.bp-feedback,.bp-messages){background:var(--surface)!important;border:1px solid var(--hair2)!important;border-left:3px solid var(--accent)!important;border-radius:var(--r);color:var(--t2)!important;box-shadow:none!important}
#buddypress .bp-feedback .bp-icon{background:transparent!important;color:var(--accent)!important}
#buddypress :is(.dir-search,.groups-members-search,.bp-dir-search-form) input[type=search]{min-height:36px}
#buddypress #item-header{border-bottom:1px solid var(--hair);padding-bottom:24px;margin-bottom:24px}
#buddypress #item-header-cover-image{background:transparent}
#buddypress #header-cover-image{background:var(--surface)!important;border-bottom:1px solid var(--hair)}
#buddypress :is(table.profile-fields,table.notification-settings,table.bp-tables-user,.notifications){width:100%;border-collapse:collapse;background:transparent}
#buddypress :is(table) :is(th,td){padding:10px 12px;border-bottom:1px solid var(--hair)!important;border-top:0!important;background:transparent!important;color:var(--t2)}
#buddypress :is(table) th{font:500 11px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--t3)}
#buddypress .standard-form :is(label,legend){color:var(--t2);font-weight:500}
#buddypress .standard-form p.description{color:var(--t3)}
#buddypress #message-threads li{border-top:1px solid var(--hair)}
#buddypress #message-threads li.selected,#buddypress #message-threads li:hover{background:var(--surface)}
#buddypress .bp-pagination{color:var(--t3);font-family:var(--mono);font-size:12px}
#buddypress .bp-pagination a{text-decoration:none}
#buddypress #whats-new-form{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r);padding:16px}
#buddypress #whats-new{background:var(--bg)}
#buddypress .bp-list li .item-avatar img.avatar{max-width:64px}
.buddypress-wrap .select-wrap{background:var(--surface)!important;border:1px solid var(--hair2)!important;border-radius:var(--r)}
.buddypress-wrap .select-wrap select{color:var(--t1)!important;background:transparent!important}
.buddypress-wrap .select-wrap span.select-arrow::before{color:var(--t3)!important}
.buddypress-wrap .bp-tooltip::after{background:var(--elev);color:var(--t1);border:1px solid var(--hair2)}

/* Nouveau surfaces drawn on light greys by default */
.groups-header .desc-wrap{background:transparent!important;border:0!important;padding:0!important}
.groups-header .desc-wrap .group-description{border:1px solid var(--hair)!important;border-radius:var(--r)}
.buddypress-wrap .activity-list .activity-item,.buddypress-wrap .bp-list li{box-shadow:none!important}
.activity-list.bp-list .activity-item{border-left:0!important;border-right:0!important;border-bottom:0!important}
.activity-list.bp-list{background:transparent!important;border:0!important}
.buddypress-wrap.bp-dir-hori-nav:not(.bp-vertical-navs) nav:not(.tabbed-links){border-top:0!important;border-bottom:1px solid var(--hair)!important;box-shadow:none!important}
.buddypress-wrap .bp-navs li:is(.current,.selected) a{background:transparent!important;color:var(--t1)!important}
.buddypress-wrap .bp-navs li.dynamic a .count{background:var(--accent)!important;color:#fff!important}
.activity-list .activity-item .activity-content :is(.activity-inner,blockquote),.activity-list .activity-item .activity-meta.action,.buddypress-wrap .activity-list :is(.load-more,.load-newest),.groups-header .desc-wrap .group-description,.groups-manage-members-list ul li:nth-child(2n),.buddypress-wrap .profile.edit .editfield,.buddypress-wrap .standard-form .description,.bp-messages-content #thread-preview .preview-content .preview-message,.bp-messages-content #bp-message-thread-list li:nth-child(2n) .message-content,.buddypress-wrap :is(.bp-tables-user,table.forum,table.wp-profile-fields) tbody tr,.buddypress-wrap :is(.bp-tables-user,table.wp-profile-fields) tr.alt td{background:var(--surface)!important;color:var(--t2);border-color:var(--hair)!important;box-shadow:none!important}
.buddypress-wrap .standard-form :is(input[type=search],input[type=text],input[type=email],input[type=password],input[type=url],input[type=number],input[type=tel],input[type=date],select,textarea){background-color:var(--surface)!important;color:var(--t1)!important;border:1px solid var(--hair2)!important;border-radius:var(--r)!important}
#message-threads li.selected{background-color:var(--surface)!important}
.buddypress-wrap :is(.activity-list,.item-list) li .activity-header p,.buddypress-wrap .activity-header{color:var(--t3)}

/* ---------- bbPress ---------- */
#bbpress-forums{font-size:15px;color:var(--t2);background:transparent}
#bbpress-forums a{color:var(--t1)}
#bbpress-forums :is(p,.bbp-topic-description,.bbp-forum-content,.bbp-reply-content,.bbp-topic-content) a,#buddypress :is(p,.activity-inner,.item-desc) a{text-decoration:underline;text-underline-offset:.18em}
#bbpress-forums :is(ul.bbp-forums,ul.bbp-topics,ul.bbp-replies,ul.bbp-lead-topic,ul.bbp-search-results){border:1px solid var(--hair)!important;border-radius:var(--r);overflow:hidden;background:transparent}
#bbpress-forums :is(li.bbp-header,li.bbp-footer) *{font:inherit;letter-spacing:inherit}
#bbpress-forums :is(li.bbp-header,li.bbp-footer){background:var(--surface)!important;border-color:var(--hair)!important;color:var(--t3);font:500 11px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase}
#bbpress-forums :is(div.odd,ul.odd,div.even,ul.even){background:transparent!important}
#bbpress-forums :is(li.bbp-body ul.forum,li.bbp-body ul.topic,div.bbp-reply-header,div.bbp-topic-header){border-top:1px solid var(--hair)!important;background:transparent!important}
#bbpress-forums div.bbp-reply-header,#bbpress-forums div.bbp-topic-header{background:var(--surface)!important;color:var(--t3)}
#bbpress-forums :is(.bbp-forum-title,.bbp-topic-permalink){font-weight:500;font-size:16px;text-decoration:none}
#bbpress-forums :is(.bbp-topic-meta,.bbp-forum-content,.bbp-reply-post-date,.bbp-topic-post-date,p.bbp-topic-meta){color:var(--t3);font-size:13px}
#bbpress-forums .bbp-breadcrumb{font:500 12px/1.4 var(--mono);letter-spacing:.06em;color:var(--t3)}
#bbpress-forums .bbp-breadcrumb a{text-decoration:none;color:var(--t2)}
#bbpress-forums :is(.bbp-reply-content,.bbp-topic-content){color:var(--t2);font-size:15px}
#bbpress-forums fieldset.bbp-form{border:1px solid var(--hair2);border-radius:var(--r);padding:16px;background:var(--surface)}
#bbpress-forums fieldset.bbp-form legend{font-weight:500;color:var(--t1);padding:0 6px}
#bbpress-forums :is(.bbp-template-notice,div.indicator-hint){background:var(--surface)!important;border:1px solid var(--hair2)!important;border-left:3px solid var(--accent)!important;border-radius:var(--r)!important;color:var(--t2)!important}
#bbpress-forums .bbp-template-notice p{color:var(--t2)}
#bbpress-forums :is(button.button,input[type=submit]){min-height:36px;padding:0 14px;background:var(--accent-strong);color:var(--on-accent);border:0;border-radius:var(--r);font:500 14px/1 var(--sans)}
#bbpress-forums :is(button.button,input[type=submit]):hover{box-shadow:var(--glow)}
#bbpress-forums .bbp-pagination{color:var(--t3);font-family:var(--mono);font-size:12px}
#bbpress-forums .bbp-pagination-links :is(a,span.current){border:1px solid var(--hair2);border-radius:var(--rc);background:transparent;color:var(--t1);opacity:1}
#bbpress-forums .bbp-pagination-links span.current{border-color:var(--accent)}
#bbpress-forums :is(.bbp-author-name,.bbp-author-role){color:var(--t2)}
#bbpress-forums img.avatar{border-radius:50%}
#bbpress-forums div.bbp-the-content-wrapper textarea{background:var(--surface);color:var(--t1)}
#bbpress-forums .quicktags-toolbar{background:var(--surface);border-color:var(--hair2)}
@media (max-width:600px){#bbpress-forums li.bbp-forum-info,#bbpress-forums li.bbp-topic-title{width:100%}#bbpress-forums :is(li.bbp-forum-topic-count,li.bbp-forum-reply-count,li.bbp-topic-voice-count,li.bbp-topic-reply-count,li.bbp-forum-freshness,li.bbp-topic-freshness){display:none}}

/* Language switcher: the page views' control (site-src/i18n.css .lng rules), opened by theme.js. */
.lng{position:relative;display:inline-flex;flex:none;margin-inline-end:0}
.lng:empty{display:none}
.lng-b{display:inline-flex;align-items:center;gap:6px;box-sizing:border-box;height:36px;padding:0 10px;border:1px solid var(--hair2);border-radius:5px;background:transparent;color:var(--t2);font:500 11.5px var(--mono);letter-spacing:.06em;cursor:pointer}
.lng-b svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.2}
.lng-b:hover,.lng-b[aria-expanded=true]{color:var(--t1);border-color:var(--t3)}
.lng-b:focus-visible,.lng-m a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.lng-m{position:absolute;top:calc(100% + 6px);inset-inline-end:0;z-index:60;min-width:200px;max-height:70vh;overflow:auto;margin:0;padding:6px;list-style:none;background:var(--bg);border:1px solid var(--hair2);border-radius:5px;box-shadow:0 20px 40px rgba(0,0,0,.35)}
.lng-m a{display:block;padding:8px 10px;border-radius:4px;color:var(--t2);font:400 14px var(--sans);text-decoration:none}
.lng-m a:hover{background:var(--hover);color:var(--t1)}
.lng-m a[aria-current=true]{color:var(--t1);box-shadow:inset 2px 0 0 var(--accent)}
/* Phones: icon and code only, tight, so the top bar keeps its own actions. */
@media (max-width:700px){.lng{margin-inline-end:0}.lng-b{height:36px;gap:4px;padding:0 7px;font-size:10.5px;letter-spacing:.02em}.lng-b svg{width:13px;height:13px}.lng-m{position:fixed;top:56px;inset-inline:12px auto;min-width:0;width:min(260px,calc(100vw - 24px))}}
.lng-m a[aria-current=true]:dir(rtl){box-shadow:inset -2px 0 0 var(--accent)}
/* The sub-header rides in the sticky site header on theme pages (no fixed layer, no spacer). */
.nxo-site-header .nx-sub{position:relative;top:auto;inset-inline:auto;z-index:auto}
