Sign in Create account
:host {
--h-canvas: #ffffff;
--h-elevated: #fafafa;
--h-sunken: #f4f4f5;
--h-hover: #ededed;
--h-line: rgba(0, 0, 0, 0.1);
--h-line-strong: rgba(0, 0, 0, 0.2);
--h-text: #000000;
--h-text-2: #262626;
--h-muted: #525252;
--h-primary-bg: #000000;
--h-primary-ink: #ffffff;
--h-primary-hover: #262626;
--h-shadow: 0 28px 64px -28px rgba(0, 0, 0, 0.28);
--h-scrim: rgba(255, 255, 255, 0.92);
--h-accent: var(--h-text);
--h-a: var(--h-text);
--h-b: var(--h-text);
--h-c: var(--h-text);
--h-sans: "IBM Plex Sans", "IBM Plex Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
--h-body: "IBM Plex Sans", "IBM Plex Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
--h-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
--h-stuck-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
--h-a11y-mark: #ffda00;
--h-dc-canvas: #000000;
--h-dc-elevated: #0a0a0a;
--h-dc-sunken: #000000;
--h-dc-hover: #1f1f1f;
--h-dc-line: rgba(255, 255, 255, 0.55);
--h-dc-line-strong: #ffffff;
--h-dc-text: #ffffff;
--h-dc-text-2: #ffffff;
--h-dc-muted: #f0f0f0;
--h-dc-accent: #ffda00;
--h-lc-canvas: #ffffff;
--h-lc-elevated: #ffffff;
--h-lc-sunken: #ffffff;
--h-lc-hover: #e6e6e6;
--h-lc-line: rgba(0, 0, 0, 0.6);
--h-lc-line-strong: #000000;
--h-lc-text: #000000;
--h-lc-text-2: #000000;
--h-lc-muted: #111111;
--h-lc-accent: #0000cc;
--h-r: 5px;
--h-r-chip: 4px;
--h-fast: 120ms;
--h-base: 180ms;
--h-ease: cubic-bezier(0.2, 0, 0, 1);
--h-gutter: 32px;
--h-max: 1216px;
--h-net-h: 32px;
--h-bar-h: 56px;
--h-ctx-h: 44px;
}
:host([data-theme="dark"]) {
--h-canvas: #000000;
--h-elevated: #111111;
--h-sunken: #0a0a0a;
--h-hover: #1a1a1a;
--h-line: rgba(255, 255, 255, 0.1);
--h-line-strong: rgba(255, 255, 255, 0.2);
--h-text: #ffffff;
--h-text-2: #d4d4d4;
--h-muted: #a3a3a3;
--h-primary-bg: #ffffff;
--h-primary-ink: #000000;
--h-primary-hover: #e5e5e5;
--h-shadow: 0 28px 64px -24px rgba(0, 0, 0, 0.9);
--h-scrim: rgba(0, 0, 0, 0.88);
}
:host([data-inst="gcri"]) { --h-accent: #ffc800; --h-accent-text: #000000; --h-a: #ffe66d; --h-b: #ffc800; --h-c: #ffa800; }
:host([data-inst="grf"]) { --h-accent: #d81c45; --h-accent-text: #d81c45; --h-a: #ffb3c1; --h-b: #ff4d6d; --h-c: #e11d48; }
:host([data-inst="gra"]) { --h-accent: #2563eb; --h-accent-text: #2563eb; --h-a: #9ec5ff; --h-b: #4f8cff; --h-c: #2563eb; }
:host([data-inst="ra"]) { --h-accent: #081df4; --h-accent-text: #081df4; --h-a: #aab4ff; --h-b: #4a5cff; --h-c: #081df4; }
:host([data-inst="nxs"]) { --h-accent: #b3122e; --h-accent-text: #b3122e; --h-a: #e0a800; --h-b: #d9480f; --h-c: #b3122e; }
:host([data-inst="grx"]) { --h-accent: #c2410c; --h-accent-text: #c2410c; --h-a: #ea7a3a; --h-b: #c2410c; --h-c: #9a3412; }
:host([data-inst="gcri"][data-theme="dark"]) { --h-accent: #ffc800; --h-accent-text: #ffc800; --h-a: #fff1a8; --h-b: #ffc800; --h-c: #ffa800; }
:host([data-inst="grf"][data-theme="dark"]) { --h-accent: #ff5c75; --h-accent-text: #ff5c75; --h-a: #ffd1da; --h-b: #ff8fa3; --h-c: #ff5c75; }
:host([data-inst="gra"][data-theme="dark"]) { --h-accent: #6ea8ff; --h-accent-text: #6ea8ff; --h-a: #cfe3ff; --h-b: #8fbaff; --h-c: #6ea8ff; }
:host([data-inst="ra"][data-theme="dark"]) { --h-accent: #8c9aff; --h-accent-text: #8c9aff; --h-a: #c9cfff; --h-b: #8c9aff; --h-c: #5b6cff; }
:host([data-inst="nxs"][data-theme="dark"]) { --h-accent: #e4546f; --h-accent-text: #e4546f; --h-a: #ffc93d; --h-b: #ff7a45; --h-c: #e4546f; }
:host([data-inst="grx"][data-theme="dark"]) { --h-accent: #ff8a3d; --h-accent-text: #ff8a3d; --h-a: #ffc29a; --h-b: #ff8a3d; --h-c: #e8691f; }
:host([data-inst="nxs"]) { --h-accent: #b3122e; --h-a: #e0a800; --h-b: #d9480f; --h-c: #b3122e; }
:host([data-inst="index"]) { --h-accent: #c94a00; --h-a: #ff8a4c; --h-b: #ff5f00; --h-c: #c94a00; }
:host([data-inst="index"][data-theme="dark"]) { --h-accent: #ff8a4c; --h-a: #ffb07f; --h-b: #ff5f00; --h-c: #ff8a4c; }
:host {
--h-rule: linear-gradient(90deg, var(--h-a), var(--h-b), var(--h-c));
--h-focus: var(--h-accent-text, var(--h-accent));
display: block;
position: relative;
z-index: 90;
width: 100%;
color-scheme: light;
}
:host([data-nxf]) { z-index: auto; }
:host([data-menu-open]) { z-index: 2147483000; }
:host([data-theme="dark"]) { color-scheme: dark; }
:host([data-sticky]) { position: sticky; top: var(--nxh-top, 0px); }
:host([data-float]) { position: fixed; top: var(--nxh-top, 0px); left: 0; right: 0; }
:host([data-sticky]) { transition: transform 260ms cubic-bezier(0.2, 0, 0, 1), opacity 200ms ease; }
:host([data-hide]) { transform: translateY(calc(-100% - var(--nxh-top, 0px))); opacity: 0; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { :host([data-sticky]) { transition: none; } }
:host([hidden]) { display: none; }
*, *::before, *::after { box-sizing: border-box; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; margin: 0; padding: 0; cursor: pointer; }
ul, ol { list-style: none; margin: 0; padding: 0; }
svg { display: block; flex: none; }
.ic { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:focus { outline: none; }
:focus-visible { outline: 2px solid var(--h-focus); outline-offset: 2px; border-radius: var(--h-r); }
.h {
position: relative;
background: var(--h-canvas);
color: var(--h-text-2);
font: 400 14px/1.4 var(--h-sans);
border-block-end: 1px solid var(--h-line);
-webkit-font-smoothing: antialiased;
}
.wrap { max-width: var(--h-max); margin: 0 auto; padding: 0 var(--h-gutter); display: flex; align-items: center; min-width: 0; }
.net { background: var(--h-sunken); border-block-end: 1px solid var(--h-line); height: var(--h-net-h); overflow: hidden; transition: height var(--h-base) var(--h-ease), border-color var(--h-base) var(--h-ease); }
:host([data-stuck]) .net { height: 0; border-color: transparent; overflow: hidden; visibility: hidden; }
:host([data-stuck]) { --h-bar-h: 48px; --h-ctx-h: 40px; box-shadow: 0 1px 0 var(--h-line), var(--h-stuck-shadow); }
.net .wrap { height: var(--h-net-h); gap: 20px; }
.eyebrow { font: 500 11px/1 var(--h-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--h-muted); white-space: nowrap; display: inline-flex; align-items: center; gap: 10px; }
.rule { display: inline-block; width: 16px; height: 2px; background: var(--h-rule); flex: none; }
.net ul { display: flex; align-items: center; gap: 2px; min-width: 0; flex: 1; }
.net a { display: inline-flex; align-items: center; height: var(--h-net-h); padding: 0 8px; font-size: 12.5px; color: var(--h-text-2); position: relative; white-space: nowrap; transition: color var(--h-fast) var(--h-ease); }
.net a:hover { color: var(--h-text); }
.net a[aria-current] { color: var(--h-text); font-weight: 500; }
.net a[aria-current]::after { content: ""; position: absolute; left: 8px; right: 8px; bottom: 0; height: 2px; background: var(--h-accent); }
.net .foundry { margin-inline-start: auto; gap: 6px; }
.bar .wrap { height: var(--h-bar-h); gap: 20px; }
.main { flex: 1; min-width: 0; }
.menus { display: flex; align-items: center; gap: 2px; }
.trig, .link {
display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 12px; border-radius: var(--h-r);
font: 400 14px/1 var(--h-sans); color: var(--h-text-2); white-space: nowrap; position: relative;
transition: color var(--h-fast) var(--h-ease), background-color var(--h-fast) var(--h-ease);
}
.trig:hover, .link:hover { color: var(--h-text); background: var(--h-hover); }
.trig[aria-expanded="true"] { color: var(--h-text); }
.trig[aria-expanded="true"]::after, .link[aria-current]::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: -8px; height: 2px; background: var(--h-accent); }
.link[aria-current] { color: var(--h-text); }
.chev { width: 14px; height: 14px; transition: transform var(--h-base) var(--h-ease); }
.trig[aria-expanded="true"] .chev { transform: rotate(180deg); }
.end { display: flex; align-items: center; gap: 12px; margin-inline-start: auto; flex: none; }
.end .contact { height: 40px; }
.end slot[name="a11y"] { display: contents; }
.end ::slotted([data-nx-a11y-slot]) { display: inline-flex; align-items: center; flex: none; }
.end ::slotted([data-nx-a11y-slot]:empty) { display: none; }
.end slot[name="lang"] { display: contents; }
.end ::slotted([data-nx-lang-slot]) { display: inline-flex; align-items: center; flex: none; }
.end ::slotted([data-nx-lang-slot]:empty) { display: none; }
:host([data-lang-slotted]) .end .nx-lang { display: none; }
.d-lang { display: none; padding-block: 12px; border-block-start: 1px solid var(--h-line); }
:host([data-lang-slotted]) .d-lang { display: block; }
.d-lang slot { display: block; }
.theme { display: inline-flex; align-items: center; height: 32px; border: 0; padding: 0; gap: 2px; }
.theme button { display: inline-flex; align-items: center; justify-content: center; gap: 0; width: 32px; height: 32px; padding: 0; border-radius: var(--h-r); font: 400 12.5px/1 var(--h-sans); color: var(--h-muted); transition: color var(--h-fast) var(--h-ease), background-color var(--h-fast) var(--h-ease); }
.theme button:hover { color: var(--h-text); }
.theme button[aria-pressed="true"] { background: var(--h-hover); color: var(--h-text); font-weight: 500; }
.theme .ic { width: 16px; height: 16px; }
.theme .tl { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.theme button[aria-pressed="true"] { color: var(--h-text); box-shadow: inset 0 -2px 0 var(--h-accent); }
@media (max-width: 640px) {
}
.nx-lang { position: relative; display: inline-flex; }
.nx-lang__menu { position: relative; }
.nx-lang__btn { list-style: none; display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 9px; border: 1px solid var(--h-line-strong); border-radius: var(--h-r); font: 400 12.5px/1 var(--h-sans); color: var(--h-muted); cursor: pointer; white-space: nowrap; }
.nx-lang__btn::-webkit-details-marker { display: none; }
.nx-lang__btn:hover { color: var(--h-text); }
.nx-lang__i, .nx-lang__chev { width: 14px; height: 14px; }
.nx-lang__code { display: none; }
.nx-lang__list { position: absolute; inset-inline-end: 0; top: calc(100% + 8px); z-index: 4; min-width: 176px; max-height: 60vh; overflow: auto; margin: 0; padding: 4px; background: var(--h-canvas); border: 1px solid var(--h-line); border-radius: var(--h-r); box-shadow: var(--h-shadow); }
.nx-lang__link { display: flex; align-items: center; min-height: 32px; padding: 0 8px; border-radius: var(--h-r); color: var(--h-text-2); font-size: 13px; }
a.nx-lang__link:hover { background: var(--h-hover); color: var(--h-text); }
.nx-lang__item.is-current .nx-lang__link { color: var(--h-text); font-weight: 500; }
.nx-lang__item.is-unavailable .nx-lang__link { color: var(--h-muted); justify-content: space-between; gap: 12px; cursor: default; }
.flags { display: inline-flex; align-items: center; gap: 4px; margin-inline-start: 7px; vertical-align: middle; flex: none; }
.flag { display: block; height: 10px; width: auto; border-radius: 1.5px; box-shadow: 0 0 0 0.5px var(--h-line-strong); }
.flag-ch { width: 10px; }
.flag-us { width: 19px; }
.flag-ca { width: 20px; }
.net .flags { margin-inline-start: 6px; gap: 3px; }
.net .flag { height: 8px; }
.net .flag-ch { width: 8px; } .net .flag-us { width: 15.2px; } .net .flag-ca { width: 16px; }
.r-t .flags { margin-inline-start: 8px; }
.f-site .flags { margin-inline-start: 12px; gap: 6px; }
.f-site .flag { height: 14px; } .f-site .flag-ch { width: 14px; } .f-site .flag-us { width: 26.6px; } .f-site .flag-ca { width: 28px; }
.f-copy .flags { margin-inline-start: 8px; }
.nx-lang__vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.nx-lang__soon { font: 400 10.5px/1 var(--h-mono); letter-spacing: 0.06em; text-transform: uppercase; color: var(--h-muted); white-space: nowrap; }
.nx-lang__list { min-width: 248px; }
.f-lang .nx-lang__btn { height: 40px; padding: 0 14px; }
.rows.two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
.burger { display: none; height: 40px; gap: 8px; padding: 0 14px 0 12px; align-items: center; justify-content: center; border: 1px solid var(--h-line-strong); border-radius: var(--h-r); color: var(--h-text); font: 500 14px/1 var(--h-sans); }
.burger .ic { width: 18px; height: 18px; }
.panel {
--p-in: max(var(--h-gutter), calc((100vw - 1560px) / 2));
position: fixed; left: 0; right: 0; top: var(--nxh-bottom, 160px); z-index: 2;
max-height: calc(100vh - var(--nxh-bottom, 160px)); overflow-y: auto; overscroll-behavior: contain;
background: var(--h-canvas); color: var(--h-text-2); border-block: 1px solid var(--h-line); border-radius: 0; box-shadow: var(--h-shadow);
}
.panel[hidden] { display: none; }
.panel::before { content: ""; position: sticky; top: 0; display: block; height: 2px; margin: -1px -1px 0; background: var(--h-rule); border-radius: var(--h-r) var(--h-r) 0 0; z-index: 1; }
.p-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px var(--p-in); border-block-end: 1px solid var(--h-line); }
.p-head .eyebrow:first-child { color: var(--h-text-2); }
.p-meta { display: flex; align-items: center; gap: 12px; min-width: 0; }
.p-meta .sep { width: 20px; height: 1px; background: var(--h-line-strong); flex: none; }
.p-meta .eyebrow:last-child { overflow: hidden; text-overflow: ellipsis; }
.all { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; font: 500 12.5px/1 var(--h-sans); color: var(--h-text-2); white-space: nowrap; }
.all:hover { color: var(--h-text); }
.arrow { width: 13px; height: 13px; }
.p-body { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)) 272px; gap: 0 28px; padding: 22px var(--p-in) 26px; }
.p-body.tabbed { grid-template-columns: 200px minmax(0, 1fr) 272px; }
.vtabs { display: flex; flex-direction: column; gap: 2px; padding-inline-end: 20px; border-inline-end: 1px solid var(--h-line); }
.vtab { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; width: 100%; min-height: 44px; padding: 9px 12px; border-radius: var(--h-r); text-align: start; color: var(--h-text-2); box-shadow: inset 2px 0 0 transparent; transition: background-color var(--h-fast) var(--h-ease), box-shadow var(--h-fast) var(--h-ease), color var(--h-fast) var(--h-ease); }
.vtab:hover { background: var(--h-hover); color: var(--h-text); }
.vtab[aria-selected="true"] { background: var(--h-elevated); color: var(--h-text); box-shadow: inset 2px 0 0 var(--h-accent); }
.vtab[aria-selected="true"]:dir(rtl) { box-shadow: inset -2px 0 0 var(--h-accent); }
.arrow:dir(rtl) { scale: -1 1; }
.vtab:focus-visible { outline-offset: -2px; }
.vt-l { font: 500 13.5px/1.2 var(--h-sans); letter-spacing: -0.005em; }
.vt-d { font: 400 11.5px/1.3 var(--h-body); color: var(--h-muted); }
.vpane { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: 0 28px; min-width: 0; animation: nxh-in var(--h-base) var(--h-ease); }
.vpane[hidden] { display: none; }
@keyframes nxh-in { from { transform: translateY(4px); } to { transform: none; } }
.rail.slim { padding: 0; background: none; border: 0; }
.viz { height: 200px; margin: -6px 0 18px; }
.viz canvas { display: block; width: 100%; height: 100%; }
.p-body[data-rail="none"] { grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); }
.col { display: flex; flex-direction: column; gap: 26px; min-width: 0; }
.g-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-block-end: 10px; border-block-end: 1px solid var(--h-line); }
.g-head .eyebrow { color: var(--h-text-2); }
.g-head a.eyebrow:hover { color: var(--h-text); }
.g-desc { font: 400 11.5px/1.25 var(--h-body); color: var(--h-muted); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; white-space: normal; overflow: hidden; min-width: 0; }
.rows { margin-top: 6px; }
.row {
display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 5px 8px; margin: 0 -8px; border-radius: var(--h-r);
transition: background-color var(--h-fast) var(--h-ease);
}
.row:hover, .row:focus-visible { background: var(--h-hover); }
.row:focus-visible { outline-offset: -2px; }
.row[aria-current] .r-t { color: var(--h-accent-text, var(--h-accent)); }
.itile { display: inline-flex; width: 32px; height: 32px; align-items: center; justify-content: center; border: 1px solid var(--h-line); border-radius: var(--h-r); color: var(--h-text-2); flex: none; transition: border-color var(--h-fast) var(--h-ease), color var(--h-fast) var(--h-ease); }
.row:hover .itile, .row:focus-visible .itile { border-color: var(--h-line-strong); color: var(--h-text); }
.r-txt { display: block; min-width: 0; flex: 1; }
.r-t { display: block; font: 500 13.5px/1.2 var(--h-sans); letter-spacing: -0.005em; color: var(--h-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.r-d { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; margin-top: 3px; font: 400 12px/1.35 var(--h-body); color: var(--h-muted); white-space: normal; overflow: hidden; }
.row .arrow { opacity: 0; color: var(--h-muted); transition: opacity var(--h-fast) var(--h-ease), transform var(--h-fast) var(--h-ease); }
.row:hover .arrow, .row:focus-visible .arrow { opacity: 1; transform: translateX(2px); }
.row.compact { min-height: 38px; padding-block: 3px; gap: 10px; }
.row.compact .itile { width: 28px; height: 28px; }
.row.compact .itile .ic { width: 15px; height: 15px; }
.vpane .row.compact .r-t { font-weight: 450; color: var(--h-text-2); }
.vpane .row.compact:hover .r-t, .vpane .row.compact:focus-visible .r-t { color: var(--h-text); }
.rail { display: flex; flex-direction: column; padding: 20px; background: var(--h-elevated); border: 1px solid var(--h-line); border-radius: var(--h-r); min-width: 0; }
.feat { display: block; margin-top: 10px; border-radius: var(--h-r); }
.feat-t { display: flex; align-items: center; gap: 8px; margin-top: 0; font: 500 15px/1.25 var(--h-sans); letter-spacing: -0.01em; color: var(--h-text); }
.feat-d { display: block; margin-top: 4px; font: 400 12.5px/1.45 var(--h-body); color: var(--h-muted); }
.feat:hover .feat-t .arrow { transform: translateX(2px); }
.acts { display: flex; flex-direction: column; gap: 8px; margin-top: 18px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: var(--h-r); font: 500 13px/1 var(--h-sans); white-space: nowrap; transition: background-color var(--h-fast) var(--h-ease), border-color var(--h-fast) var(--h-ease); }
.btn.primary { background: var(--h-primary-bg); color: var(--h-primary-ink); }
.btn.primary:hover { background: var(--h-primary-hover); }
.btn.secondary { border: 1px solid var(--h-line-strong); color: var(--h-text); }
.btn.secondary:hover { border-color: var(--h-text); background: var(--h-hover); }
.pts { margin: 18px 0 0; border-block-start: 1px solid var(--h-line); }
.pt { display: flex; flex-direction: column; gap: 5px; padding: 10px 0; border-block-end: 1px solid var(--h-line); }
.pt-v { font: 400 12px/1.45 var(--h-body); color: var(--h-text-2); }
.p-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; padding: 12px 24px; border-block-start: 1px solid var(--h-line); }
.p-foot a { font: 400 12.5px/1 var(--h-sans); color: var(--h-muted); min-height: 24px; display: inline-flex; align-items: center; }
.p-foot a:hover { color: var(--h-text); }
.ctx { border-block-start: 1px solid var(--h-line); }
.ctx .wrap { height: var(--h-ctx-h); gap: 16px; }
.crumbs { display: flex; align-items: center; gap: 8px; flex: none; min-width: 0; font-size: 13px; }
.crumbs li { display: flex; align-items: center; gap: 8px; min-width: 0; white-space: nowrap; }
.crumbs li + li::before { content: "/"; color: var(--h-muted); }
.crumbs a { color: var(--h-muted); min-height: 24px; display: inline-flex; align-items: center; }
.crumbs a:hover { color: var(--h-text); }
.crumbs a[aria-current] { color: var(--h-text); font-weight: 500; }
.vsep { width: 1px; height: 18px; background: var(--h-line-strong); flex: none; }
.inl { display: flex; align-items: center; gap: 2px; min-width: 0; flex: 1; overflow-x: auto; scrollbar-width: none; }
.inl::-webkit-scrollbar { display: none; }
.inl a[hidden] { display: none; }
.inl a { display: inline-flex; align-items: center; height: 32px; padding: 0 10px; border-radius: var(--h-r); font-size: 13px; color: var(--h-text-2); white-space: nowrap; }
.inl a:hover { background: var(--h-hover); color: var(--h-text); }
.inl a[aria-current] { color: var(--h-text); font-weight: 500; box-shadow: inset 0 -2px 0 var(--h-accent); border-radius: 0; }
.ctx .trig { height: 32px; font-size: 13px; flex: none; border: 1px solid var(--h-line-strong); }
.ctx .trig[aria-expanded="true"]::after { display: none; }
.drawer { position: fixed; inset: var(--nxh-bottom, 56px) 0 0 0; z-index: 3; background: var(--h-canvas); color: var(--h-text-2); overflow-y: auto; overscroll-behavior: contain; padding: 8px 20px 40px; border-block-start: 1px solid var(--h-line); }
.drawer[hidden] { display: none; }
.d-sec { border-block-end: 1px solid var(--h-line); }
.d-btn { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 56px; padding: 8px 0; text-align: start; }
.d-btn .d-l { display: block; font: 500 16px/1.2 var(--h-sans); color: var(--h-text); letter-spacing: -0.01em; }
.d-btn .eyebrow { display: block; margin-top: 6px; white-space: normal; line-height: 1.45; }
.d-btn[aria-expanded="true"] .chev { transform: rotate(180deg); }
.d-body { padding: 0 0 18px; }
.d-body[hidden] { display: none; }
.d-group + .d-group { margin-top: 18px; }
.d-group .g-head { margin-bottom: 4px; }
.d-acts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
.d-links { display: flex; flex-direction: column; padding: 12px 0; border-block-end: 1px solid var(--h-line); }
.d-links a { display: flex; align-items: center; justify-content: space-between; min-height: 44px; font: 500 15px/1.2 var(--h-sans); color: var(--h-text); }
.d-net { padding: 18px 0 0; }
.d-net ul { margin-top: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.d-net a { display: flex; align-items: center; min-height: 40px; font-size: 14px; color: var(--h-text-2); }
.d-net a[aria-current] { color: var(--h-text); font-weight: 500; box-shadow: inset 2px 0 0 var(--h-accent); padding-inline-start: 10px; }
.d-net a[aria-current]:dir(rtl) { box-shadow: inset -2px 0 0 var(--h-accent); }
.d-crumbs { padding: 14px 0 4px; }
@media (max-width: 1279px) {
.panel .r-d, .panel .g-desc { display: none; }
.p-body { grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)) 232px; gap: 0 24px; }
.p-body.tabbed { grid-template-columns: 184px minmax(0, 1fr) 232px; }
.vpane { gap: 0 24px; }
.vt-d { display: none; }
.row { min-height: 38px; }
}
@media (max-width: 1199px) { .nx-lang__label { display: none; } .nx-lang__code { display: inline; } .theme .tl { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } .theme button { padding: 0 7px; } .end .contact { display: none; } }
@media (max-width: 959px) {
:host { --h-gutter: 16px; --h-bar-h: 56px; --h-ctx-h: 40px; }
.net, .main, .end .contact { display: none; }
.bar .wrap { justify-content: space-between; }
.burger { display: inline-flex; }
.ctx .inl, .ctx .vsep, .ctx .trig { display: none; }
.crumbs { flex: 1; overflow: hidden; }
.crumbs li:not(:first-child):not(:last-child) { display: none; }
.crumbs li:last-child { overflow: hidden; }
.crumbs li:last-child a { overflow: hidden; text-overflow: ellipsis; display: block; line-height: 24px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; } }
.f { position: relative; background: var(--h-elevated); color: var(--h-text); border-top: 1px solid var(--h-line); font: 400 14px/1.5 var(--h-body); -webkit-font-smoothing: antialiased; }
.f::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 2px; background: var(--h-rule); }
.f-wrap { max-width: var(--h-max); margin: 0 auto; padding: 44px var(--h-gutter) 24px; }
.f-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 16px 40px; padding-bottom: 32px; }
.f-id { min-width: 0; }
.f-site { font: 500 22px/1.25 var(--h-sans); letter-spacing: -0.015em; color: var(--h-text); text-decoration: none; }
.f-site:hover { text-decoration: underline; text-underline-offset: 3px; }
.f-role { margin: 8px 0 0; color: var(--h-text-2); font-size: 14px; line-height: 1.55; max-width: 76ch; }
.f-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.f-acts slot[name="lang"] { display: contents; }
.f-acts ::slotted([data-nx-lang-slot]) { display: inline-flex; align-items: center; }
.f-acts ::slotted([data-nx-lang-slot]:empty) { display: none; }
:host([data-lang-slotted]) .f-lang { display: none; }
.f-act { appearance: none; display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 14px; border: 1px solid var(--h-line-strong); border-radius: var(--h-r); background: var(--h-canvas); color: var(--h-text); font: 500 13px/1 var(--h-sans); text-decoration: none; cursor: pointer; white-space: nowrap; }
.f-act:hover { background: var(--h-hover); }
.f-docs { background: var(--h-primary-bg); border-color: var(--h-primary-bg); color: var(--h-primary-ink); }
.f-docs:hover { background: var(--h-primary-hover); border-color: var(--h-primary-hover); }
.f-row { border-top: 1px solid var(--h-line); padding: 26px 0 30px; }
.f-row-h { margin: 0 0 22px; }
.f-cols { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 28px 32px; }
.f-col { min-width: 0; }
.f-col > summary { list-style: none; cursor: default; display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.f-col > summary::-webkit-details-marker { display: none; }
.f-ch { display: inline-flex; align-items: center; gap: 10px; min-width: 0; font: 600 13.5px/1.3 var(--h-sans); color: var(--h-text); }
.f-ci { display: inline-grid; place-items: center; flex: none; width: 26px; height: 26px; border: 1px solid var(--h-line); border-radius: var(--h-r); background: var(--h-canvas); color: var(--h-text-2); }
.f-ci .ic { width: 14px; height: 14px; }
.f-chev { display: none; }
.f-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.f-col a { color: var(--h-text-2); text-decoration: none; font: 400 13.5px/1.35 var(--h-body); display: inline-flex; align-items: center; min-height: 28px; padding: 3px 0; }
.f-col a:hover { color: var(--h-text); }
.f-col a:hover > span:last-child { text-decoration: underline; text-underline-offset: 3px; }
.f-li { display: inline-flex; width: 16px; height: 16px; margin-inline-end: 10px; color: var(--h-muted); flex: none; transition: color var(--h-fast) var(--h-ease); }
.f-li .ic { width: 15px; height: 15px; stroke-width: 1.6; }
.f-col a:hover .f-li { color: var(--h-text); }
.f-col a[aria-current="page"] { color: var(--h-text); font-weight: 500; }
.f-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; padding-top: 18px; border-top: 1px solid var(--h-line); color: var(--h-muted); font: 400 12.5px/1.4 var(--h-body); }
.f-copy { font: 500 12px/1.4 var(--h-mono); letter-spacing: 0.02em; color: var(--h-text-2); }
.f-links { list-style: none; margin-block: 0; margin-inline: auto 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 20px; }
.f-links a { color: var(--h-text-2); text-decoration: none; display: inline-flex; align-items: center; min-height: 24px; }
.f-links a:hover { color: var(--h-text); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1080px) { .f-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); } .f-head { grid-template-columns: 1fr; align-items: start; } }
@media (max-width: 720px) {
.f-wrap { padding: 32px 16px 20px; }
.f-head { gap: 14px; padding-bottom: 24px; }
.f-site { font-size: 20px; }
.f-row { padding: 14px 0 16px; }
.f-row-h { margin-bottom: 6px; }
.f-cols { grid-template-columns: 1fr; gap: 0; }
.f-col { border-bottom: 1px solid var(--h-line); }
.f-col > summary { cursor: pointer; min-height: 48px; margin: 0; }
.f-chev { display: block; flex: none; transition: transform var(--h-fast) var(--h-ease); }
.f-col[open] .f-chev { transform: rotate(180deg); }
.f-col ul { padding-bottom: 10px; }
.f-col a { min-height: 40px; }
.f-links { margin-inline-start: 0; }
}
.itile.ccf { border-color: transparent; font: 14px/1 "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; }
.row.cty { gap: 7px; min-height: 26px; padding-block: 2px; align-items: flex-start; }
.row.cty .itile.ccf { width: 16px; height: 16px; margin-top: 1px; }
.row.cty .r-t { font: 400 11px/1.35 var(--h-mono); letter-spacing: 0.01em; color: var(--h-text-2); white-space: normal; overflow: visible; text-overflow: clip; word-break: normal; overflow-wrap: normal; hyphens: none; }
.row.cty:hover .r-t, .row.cty:focus-visible .r-t { color: var(--h-text); }
.row.cty .arrow { display: none; }
.onp { display: none; position: relative; border-block-start: 1px solid var(--h-line); background: inherit; }
:host([data-stuck][data-onp]) .onp { display: block; }
.onp .wrap { height: 40px; gap: 16px; }
.onp-l { flex: 0 0 auto; }
.onp-list { --onp-fs: 0px; --onp-fe: 0px; display: flex; align-items: center; gap: 2px; flex: 1; min-width: 0; margin: 0; padding: 0; list-style: none; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scroll-padding-inline: 40px; scrollbar-width: none; -webkit-mask-image: linear-gradient(to right, transparent 0, black var(--onp-fs), black calc(100% - var(--onp-fe)), transparent 100%); mask-image: linear-gradient(to right, transparent 0, black var(--onp-fs), black calc(100% - var(--onp-fe)), transparent 100%); }
.onp-list:dir(rtl) { -webkit-mask-image: linear-gradient(to left, transparent 0, black var(--onp-fs), black calc(100% - var(--onp-fe)), transparent 100%); mask-image: linear-gradient(to left, transparent 0, black var(--onp-fs), black calc(100% - var(--onp-fe)), transparent 100%); }
.onp-list[data-fade~="start"] { --onp-fs: 40px; }
.onp-list[data-fade~="end"] { --onp-fe: 40px; }
.onp-list > li { flex: none; scroll-snap-align: start; }
.onp-list::-webkit-scrollbar { display: none; }
.onp-list a { display: inline-flex; align-items: center; height: 30px; padding: 0 10px; border-radius: var(--h-r); font: 400 13px/1 var(--h-body); color: var(--h-muted); white-space: nowrap; text-decoration: none; transition: color var(--h-fast) var(--h-ease), background var(--h-fast) var(--h-ease); }
.onp-list a:hover { background: var(--h-hover); color: var(--h-text); }
.onp-list a:focus-visible { outline: 2px solid var(--h-focus); outline-offset: -2px; }
.onp-list a[aria-current] { color: var(--h-text); font-weight: 500; box-shadow: inset 0 -2px 0 var(--h-accent); border-radius: 0; }
.onp-n { flex: 0 0 auto; font: 500 11px/1 var(--h-mono); letter-spacing: 0.08em; color: var(--h-muted); font-variant-numeric: tabular-nums; direction: ltr; unicode-bidi: isolate; }
.onp-prog { position: absolute; inset-inline-start: 0; inset-block-end: -1px; height: 2px; width: var(--onp-p, 0%); background: linear-gradient(90deg, var(--h-a), var(--h-b), var(--h-c)); transition: width 120ms linear; pointer-events: none; }
@media (max-width: 760px) { .onp-l { display: none; } .onp .wrap { height: 38px; gap: 10px; } }
@media (prefers-reduced-motion: reduce) { .onp-prog, .onp-list a { transition: none; } }
@media print { .onp { display: none !important; } }
:host([data-a11y~="readable-font"]) .h, :host([data-a11y~="readable-font"]) .h * { font-family: Verdana, "Atkinson Hyperlegible", Tahoma, Arial, sans-serif !important; }
:host([data-a11y~="dyslexia-font"]) .h, :host([data-a11y~="dyslexia-font"]) .h * { font-family: "OpenDyslexic", Verdana, Arial, sans-serif !important; }
:host([data-a11y~="letter-spacing"]) .h * { letter-spacing: var(--readabler-letter-spacing, 0.05em) !important; }
:host([data-a11y~="font-sizing"]) :is(.main .menus, .net ul, .inl, .crumbs, .onp-list, .end) { zoom: var(--a11y-font, 1); }
:host([data-a11y~="highlight-links"]) a { outline: 2px solid var(--readabler-color, var(--h-a11y-mark)) !important; outline-offset: 2px; text-decoration: underline !important; }
:host([data-a11y~="highlight-focus"]) :focus-visible, :host([data-a11y~="highlight-focus"]) :focus { outline: 3px solid var(--readabler-color, var(--h-a11y-mark)) !important; outline-offset: 2px !important; }
:host([data-a11y~="highlight-hover"]) :is(a, button, summary):hover { outline: 2px dashed var(--readabler-color, var(--h-a11y-mark)) !important; outline-offset: 2px; }
:host([data-a11y~="dark-contrast"]) { --h-canvas: var(--h-dc-canvas); --h-elevated: var(--h-dc-elevated); --h-sunken: var(--h-dc-sunken); --h-hover: var(--h-dc-hover); --h-line: var(--h-dc-line); --h-line-strong: var(--h-dc-line-strong); --h-text: var(--h-dc-text); --h-text-2: var(--h-dc-text-2); --h-muted: var(--h-dc-muted); --h-accent: var(--h-dc-accent); color-scheme: dark; }
:host([data-a11y~="light-contrast"]) { --h-canvas: var(--h-lc-canvas); --h-elevated: var(--h-lc-elevated); --h-sunken: var(--h-lc-sunken); --h-hover: var(--h-lc-hover); --h-line: var(--h-lc-line); --h-line-strong: var(--h-lc-line-strong); --h-text: var(--h-lc-text); --h-text-2: var(--h-lc-text-2); --h-muted: var(--h-lc-muted); --h-accent: var(--h-lc-accent); color-scheme: light; }
:host([data-a11y~="stop-animations"]) *, :host([data-a11y~="stop-animations"]) *::before, :host([data-a11y~="stop-animations"]) *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
:host([data-a11y~="hide-images"]) img { visibility: hidden !important; }
:host { --h-code: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace; }
:host(:lang(ar)), :host(:lang(fa)), :host(:lang(ur)), :host(:lang(ckb)), :host(:lang(sdh)), :host(:lang(lki)), :host(:lang(hac)), :host(:lang(azb)), :host(:lang(prs)), :host(:lang(bal)), :host(:lang(glk)), :host(:lang(mzn)), :host(:lang(lrc)), :host(:lang(bqi)) { --h-sans: "Vazirmatn", "IBM Plex Sans", "Noto Sans Arabic", "Segoe UI", Tahoma, "Geeza Pro", sans-serif; --h-body: "Vazirmatn", "IBM Plex Sans", "Noto Sans Arabic", "Segoe UI", Tahoma, "Geeza Pro", sans-serif; --h-mono: "Vazirmatn", "IBM Plex Sans", "Noto Sans Arabic", "Segoe UI", Tahoma, "Geeza Pro", sans-serif; --h-code: "IBM Plex Mono", "Vazirmatn", ui-monospace, "SFMono-Regular", Consolas, monospace; --nx-lh-body: 1.8; --nx-lh-heading: 1.45; --nx-weight-heading: 500; --nx-weight-strong: 500; font-synthesis-weight: none; font-synthesis-style: none; font-variant-numeric: lining-nums; text-justify: inter-word; }
:host(:lang(ar)) *, :host(:lang(fa)) *, :host(:lang(ur)) *, :host(:lang(ckb)) *, :host(:lang(sdh)) *, :host(:lang(lki)) *, :host(:lang(hac)) *, :host(:lang(azb)) *, :host(:lang(prs)) *, :host(:lang(bal)) *, :host(:lang(glk)) *, :host(:lang(mzn)) *, :host(:lang(lrc)) *, :host(:lang(bqi)) * { letter-spacing: 0 !important; text-transform: none !important; }
:host(:lang(ar)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]), :host(:lang(ar)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]) *, :host(:lang(fa)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]), :host(:lang(fa)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]) *, :host(:lang(ur)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]), :host(:lang(ur)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]) *, :host(:lang(ckb)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]), :host(:lang(ckb)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]) *, :host(:lang(sdh)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]), :host(:lang(sdh)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]) *, :host(:lang(lki)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]), :host(:lang(lki)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]) *, :host(:lang(hac)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]), :host(:lang(hac)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]) *, :host(:lang(azb)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]), :host(:lang(azb)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]) *, :host(:lang(prs)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]), :host(:lang(prs)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]) *, :host(:lang(bal)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]), :host(:lang(bal)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]) *, :host(:lang(glk)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]), :host(:lang(glk)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]) *, :host(:lang(mzn)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]), :host(:lang(mzn)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]) *, :host(:lang(lrc)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]), :host(:lang(lrc)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]) *, :host(:lang(bqi)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]), :host(:lang(bqi)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]) * { --h-mono: "IBM Plex Mono", "Vazirmatn", ui-monospace, "SFMono-Regular", Consolas, monospace; font-weight: 400; unicode-bidi: isolate; }
:host(:lang(ar)) :is(h1, h2, h3, h4, h5, h6, [role=heading]), :host(:lang(fa)) :is(h1, h2, h3, h4, h5, h6, [role=heading]), :host(:lang(ur)) :is(h1, h2, h3, h4, h5, h6, [role=heading]), :host(:lang(ckb)) :is(h1, h2, h3, h4, h5, h6, [role=heading]), :host(:lang(sdh)) :is(h1, h2, h3, h4, h5, h6, [role=heading]), :host(:lang(lki)) :is(h1, h2, h3, h4, h5, h6, [role=heading]), :host(:lang(hac)) :is(h1, h2, h3, h4, h5, h6, [role=heading]), :host(:lang(azb)) :is(h1, h2, h3, h4, h5, h6, [role=heading]), :host(:lang(prs)) :is(h1, h2, h3, h4, h5, h6, [role=heading]), :host(:lang(bal)) :is(h1, h2, h3, h4, h5, h6, [role=heading]), :host(:lang(glk)) :is(h1, h2, h3, h4, h5, h6, [role=heading]), :host(:lang(mzn)) :is(h1, h2, h3, h4, h5, h6, [role=heading]), :host(:lang(lrc)) :is(h1, h2, h3, h4, h5, h6, [role=heading]), :host(:lang(bqi)) :is(h1, h2, h3, h4, h5, h6, [role=heading]) { font-weight: var(--nx-weight-heading, 500); line-height: var(--nx-lh-heading, 1.45); }
:host(:lang(ar)) :is(b, strong, th, dt, summary, legend), :host(:lang(fa)) :is(b, strong, th, dt, summary, legend), :host(:lang(ur)) :is(b, strong, th, dt, summary, legend), :host(:lang(ckb)) :is(b, strong, th, dt, summary, legend), :host(:lang(sdh)) :is(b, strong, th, dt, summary, legend), :host(:lang(lki)) :is(b, strong, th, dt, summary, legend), :host(:lang(hac)) :is(b, strong, th, dt, summary, legend), :host(:lang(azb)) :is(b, strong, th, dt, summary, legend), :host(:lang(prs)) :is(b, strong, th, dt, summary, legend), :host(:lang(bal)) :is(b, strong, th, dt, summary, legend), :host(:lang(glk)) :is(b, strong, th, dt, summary, legend), :host(:lang(mzn)) :is(b, strong, th, dt, summary, legend), :host(:lang(lrc)) :is(b, strong, th, dt, summary, legend), :host(:lang(bqi)) :is(b, strong, th, dt, summary, legend) { font-weight: var(--nx-weight-strong, 500); }
:host(:lang(ar)) :is(p, li, dd, blockquote, figcaption), :host(:lang(fa)) :is(p, li, dd, blockquote, figcaption), :host(:lang(ur)) :is(p, li, dd, blockquote, figcaption), :host(:lang(ckb)) :is(p, li, dd, blockquote, figcaption), :host(:lang(sdh)) :is(p, li, dd, blockquote, figcaption), :host(:lang(lki)) :is(p, li, dd, blockquote, figcaption), :host(:lang(hac)) :is(p, li, dd, blockquote, figcaption), :host(:lang(azb)) :is(p, li, dd, blockquote, figcaption), :host(:lang(prs)) :is(p, li, dd, blockquote, figcaption), :host(:lang(bal)) :is(p, li, dd, blockquote, figcaption), :host(:lang(glk)) :is(p, li, dd, blockquote, figcaption), :host(:lang(mzn)) :is(p, li, dd, blockquote, figcaption), :host(:lang(lrc)) :is(p, li, dd, blockquote, figcaption), :host(:lang(bqi)) :is(p, li, dd, blockquote, figcaption) { line-height: var(--nx-lh-body, 1.8); }
:host(:lang(ar)) :is(.f-site, .f-role, .f-copy, .f-boundary, .g-desc, .feat-d, .feat-t, .acct-d, .pt-v), :host(:lang(fa)) :is(.f-site, .f-role, .f-copy, .f-boundary, .g-desc, .feat-d, .feat-t, .acct-d, .pt-v), :host(:lang(ur)) :is(.f-site, .f-role, .f-copy, .f-boundary, .g-desc, .feat-d, .feat-t, .acct-d, .pt-v), :host(:lang(ckb)) :is(.f-site, .f-role, .f-copy, .f-boundary, .g-desc, .feat-d, .feat-t, .acct-d, .pt-v), :host(:lang(sdh)) :is(.f-site, .f-role, .f-copy, .f-boundary, .g-desc, .feat-d, .feat-t, .acct-d, .pt-v), :host(:lang(lki)) :is(.f-site, .f-role, .f-copy, .f-boundary, .g-desc, .feat-d, .feat-t, .acct-d, .pt-v), :host(:lang(hac)) :is(.f-site, .f-role, .f-copy, .f-boundary, .g-desc, .feat-d, .feat-t, .acct-d, .pt-v), :host(:lang(azb)) :is(.f-site, .f-role, .f-copy, .f-boundary, .g-desc, .feat-d, .feat-t, .acct-d, .pt-v), :host(:lang(prs)) :is(.f-site, .f-role, .f-copy, .f-boundary, .g-desc, .feat-d, .feat-t, .acct-d, .pt-v), :host(:lang(bal)) :is(.f-site, .f-role, .f-copy, .f-boundary, .g-desc, .feat-d, .feat-t, .acct-d, .pt-v), :host(:lang(glk)) :is(.f-site, .f-role, .f-copy, .f-boundary, .g-desc, .feat-d, .feat-t, .acct-d, .pt-v), :host(:lang(mzn)) :is(.f-site, .f-role, .f-copy, .f-boundary, .g-desc, .feat-d, .feat-t, .acct-d, .pt-v), :host(:lang(lrc)) :is(.f-site, .f-role, .f-copy, .f-boundary, .g-desc, .feat-d, .feat-t, .acct-d, .pt-v), :host(:lang(bqi)) :is(.f-site, .f-role, .f-copy, .f-boundary, .g-desc, .feat-d, .feat-t, .acct-d, .pt-v) { line-height: var(--nx-lh-body, 1.8); }
:host(:lang(ar)) :is(.has-text-align-justify, [style*="text-align: justify"], [style*="text-align:justify"], [align="justify"]), :host(:lang(fa)) :is(.has-text-align-justify, [style*="text-align: justify"], [style*="text-align:justify"], [align="justify"]), :host(:lang(ur)) :is(.has-text-align-justify, [style*="text-align: justify"], [style*="text-align:justify"], [align="justify"]), :host(:lang(ckb)) :is(.has-text-align-justify, [style*="text-align: justify"], [style*="text-align:justify"], [align="justify"]), :host(:lang(sdh)) :is(.has-text-align-justify, [style*="text-align: justify"], [style*="text-align:justify"], [align="justify"]), :host(:lang(lki)) :is(.has-text-align-justify, [style*="text-align: justify"], [style*="text-align:justify"], [align="justify"]), :host(:lang(hac)) :is(.has-text-align-justify, [style*="text-align: justify"], [style*="text-align:justify"], [align="justify"]), :host(:lang(azb)) :is(.has-text-align-justify, [style*="text-align: justify"], [style*="text-align:justify"], [align="justify"]), :host(:lang(prs)) :is(.has-text-align-justify, [style*="text-align: justify"], [style*="text-align:justify"], [align="justify"]), :host(:lang(bal)) :is(.has-text-align-justify, [style*="text-align: justify"], [style*="text-align:justify"], [align="justify"]), :host(:lang(glk)) :is(.has-text-align-justify, [style*="text-align: justify"], [style*="text-align:justify"], [align="justify"]), :host(:lang(mzn)) :is(.has-text-align-justify, [style*="text-align: justify"], [style*="text-align:justify"], [align="justify"]), :host(:lang(lrc)) :is(.has-text-align-justify, [style*="text-align: justify"], [style*="text-align:justify"], [align="justify"]), :host(:lang(bqi)) :is(.has-text-align-justify, [style*="text-align: justify"], [style*="text-align:justify"], [align="justify"]) { text-align: start !important; }
:host(:lang(zh)) { --h-sans: "Nexus Page SC", "IBM Plex Sans SC", "IBM Plex Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif; --h-body: "Nexus Page SC", "IBM Plex Sans SC", "IBM Plex Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif; --h-mono: "Nexus Page SC", "IBM Plex Sans SC", "IBM Plex Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif; --h-code: "IBM Plex Mono", "IBM Plex Sans SC", ui-monospace, "SFMono-Regular", Consolas, monospace; --nx-lh-body: 1.7; --nx-lh-heading: 1.4; --nx-weight-heading: 600; --nx-weight-strong: 600; font-synthesis-weight: none; font-synthesis-style: none; font-variant-numeric: lining-nums; line-break: strict; text-autospace: normal; }
:host(:lang(zh)) * { letter-spacing: 0 !important; text-transform: none !important; }
:host(:lang(zh)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]), :host(:lang(zh)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]) * { --h-mono: "IBM Plex Mono", "IBM Plex Sans SC", ui-monospace, "SFMono-Regular", Consolas, monospace; font-weight: 400; unicode-bidi: isolate; }
:host(:lang(zh)) :is(h1, h2, h3, h4, h5, h6, [role=heading]) { font-weight: var(--nx-weight-heading, 600); line-height: var(--nx-lh-heading, 1.4); text-wrap: balance; }
:host(:lang(zh)) :is(b, strong, th, dt, summary, legend) { font-weight: var(--nx-weight-strong, 600); }
:host(:lang(zh)) :is(p, li, dd, blockquote, figcaption) { line-height: var(--nx-lh-body, 1.7); }
:host(:lang(zh)) :is(.f-site, .f-role, .f-copy, .f-boundary, .g-desc, .feat-d, .feat-t, .acct-d, .pt-v) { line-height: var(--nx-lh-body, 1.7); }
:host(:lang(zh)) :is(.has-text-align-justify, [style*="text-align: justify"], [style*="text-align:justify"], [align="justify"]) { text-align: start !important; }
:host(:lang(ja)) { --h-sans: "IBM Plex Sans JP", "IBM Plex Sans", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, "Noto Sans CJK JP", sans-serif; --h-body: "IBM Plex Sans JP", "IBM Plex Sans", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, "Noto Sans CJK JP", sans-serif; --h-mono: "IBM Plex Sans JP", "IBM Plex Sans", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, "Noto Sans CJK JP", sans-serif; --h-code: "IBM Plex Mono", "IBM Plex Sans JP", ui-monospace, "SFMono-Regular", Consolas, monospace; --nx-lh-body: 1.7; --nx-lh-heading: 1.4; --nx-weight-heading: 500; --nx-weight-strong: 500; font-synthesis-weight: none; font-synthesis-style: none; font-variant-numeric: lining-nums; line-break: strict; text-autospace: normal; word-break: auto-phrase; overflow-wrap: break-word; }
:host(:lang(ja)) * { letter-spacing: 0 !important; text-transform: none !important; }
:host(:lang(ja)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]), :host(:lang(ja)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]) * { --h-mono: "IBM Plex Mono", "IBM Plex Sans JP", ui-monospace, "SFMono-Regular", Consolas, monospace; font-weight: 400; unicode-bidi: isolate; }
:host(:lang(ja)) :is(h1, h2, h3, h4, h5, h6, [role=heading]) { font-weight: var(--nx-weight-heading, 500); line-height: var(--nx-lh-heading, 1.4); text-wrap: balance; word-break: auto-phrase; }
:host(:lang(ja)) :is(b, strong, th, dt, summary, legend) { font-weight: var(--nx-weight-strong, 500); }
:host(:lang(ja)) :is(p, li, dd, blockquote, figcaption) { line-height: var(--nx-lh-body, 1.7); }
:host(:lang(ja)) :is(.f-site, .f-role, .f-copy, .f-boundary, .g-desc, .feat-d, .feat-t, .acct-d, .pt-v) { line-height: var(--nx-lh-body, 1.7); }
:host(:lang(ja)) :is(.has-text-align-justify, [style*="text-align: justify"], [style*="text-align:justify"], [align="justify"]) { text-align: start !important; }
:host(:lang(ko)) { --h-sans: "IBM Plex Sans KR", "IBM Plex Sans", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans CJK KR", sans-serif; --h-body: "IBM Plex Sans KR", "IBM Plex Sans", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans CJK KR", sans-serif; --h-mono: "IBM Plex Sans KR", "IBM Plex Sans", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans CJK KR", sans-serif; --h-code: "IBM Plex Mono", "IBM Plex Sans KR", ui-monospace, "SFMono-Regular", Consolas, monospace; --nx-lh-body: 1.7; --nx-lh-heading: 1.4; --nx-weight-heading: 500; --nx-weight-strong: 500; font-synthesis-weight: none; font-synthesis-style: none; font-variant-numeric: lining-nums; line-break: strict; word-break: keep-all; overflow-wrap: break-word; }
:host(:lang(ko)) * { letter-spacing: 0 !important; text-transform: none !important; }
:host(:lang(ko)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]), :host(:lang(ko)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]) * { --h-mono: "IBM Plex Mono", "IBM Plex Sans KR", ui-monospace, "SFMono-Regular", Consolas, monospace; font-weight: 400; unicode-bidi: isolate; }
:host(:lang(ko)) :is(h1, h2, h3, h4, h5, h6, [role=heading]) { font-weight: var(--nx-weight-heading, 500); line-height: var(--nx-lh-heading, 1.4); text-wrap: balance; }
:host(:lang(ko)) :is(b, strong, th, dt, summary, legend) { font-weight: var(--nx-weight-strong, 500); }
:host(:lang(ko)) :is(p, li, dd, blockquote, figcaption) { line-height: var(--nx-lh-body, 1.7); }
:host(:lang(ko)) :is(.f-site, .f-role, .f-copy, .f-boundary, .g-desc, .feat-d, .feat-t, .acct-d, .pt-v) { line-height: var(--nx-lh-body, 1.7); }
:host(:lang(ko)) :is(.has-text-align-justify, [style*="text-align: justify"], [style*="text-align:justify"], [align="justify"]) { text-align: start !important; }
:host(:lang(hi)) { --h-sans: "IBM Plex Sans Devanagari", "IBM Plex Sans", "Noto Sans Devanagari", "Kohinoor Devanagari", "Nirmala UI", sans-serif; --h-body: "IBM Plex Sans Devanagari", "IBM Plex Sans", "Noto Sans Devanagari", "Kohinoor Devanagari", "Nirmala UI", sans-serif; --h-mono: "IBM Plex Sans Devanagari", "IBM Plex Sans", "Noto Sans Devanagari", "Kohinoor Devanagari", "Nirmala UI", sans-serif; --h-code: "IBM Plex Mono", "IBM Plex Sans Devanagari", ui-monospace, "SFMono-Regular", Consolas, monospace; --nx-lh-body: 1.75; --nx-lh-heading: 1.45; --nx-weight-heading: 500; --nx-weight-strong: 500; font-synthesis-weight: none; font-synthesis-style: none; font-variant-numeric: lining-nums; }
:host(:lang(hi)) * { letter-spacing: 0 !important; text-transform: none !important; }
:host(:lang(hi)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]), :host(:lang(hi)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]) * { --h-mono: "IBM Plex Mono", "IBM Plex Sans Devanagari", ui-monospace, "SFMono-Regular", Consolas, monospace; font-weight: 400; unicode-bidi: isolate; }
:host(:lang(hi)) :is(h1, h2, h3, h4, h5, h6, [role=heading]) { font-weight: var(--nx-weight-heading, 500); line-height: var(--nx-lh-heading, 1.45); }
:host(:lang(hi)) :is(b, strong, th, dt, summary, legend) { font-weight: var(--nx-weight-strong, 500); }
:host(:lang(hi)) :is(p, li, dd, blockquote, figcaption) { line-height: var(--nx-lh-body, 1.75); }
:host(:lang(hi)) :is(.f-site, .f-role, .f-copy, .f-boundary, .g-desc, .feat-d, .feat-t, .acct-d, .pt-v) { line-height: var(--nx-lh-body, 1.75); }
:host(:lang(bn)) { --h-sans: "Noto Sans Bengali", "IBM Plex Sans", "Kohinoor Bangla", "Nirmala UI", sans-serif; --h-body: "Noto Sans Bengali", "IBM Plex Sans", "Kohinoor Bangla", "Nirmala UI", sans-serif; --h-mono: "Noto Sans Bengali", "IBM Plex Sans", "Kohinoor Bangla", "Nirmala UI", sans-serif; --h-code: "IBM Plex Mono", "Noto Sans Bengali", ui-monospace, "SFMono-Regular", Consolas, monospace; --nx-lh-body: 1.75; --nx-lh-heading: 1.45; --nx-weight-heading: 400; --nx-weight-strong: 400; font-synthesis-weight: none; font-synthesis-style: none; font-variant-numeric: lining-nums; }
:host(:lang(bn)) * { letter-spacing: 0 !important; text-transform: none !important; }
:host(:lang(bn)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]), :host(:lang(bn)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]) * { --h-mono: "IBM Plex Mono", "Noto Sans Bengali", ui-monospace, "SFMono-Regular", Consolas, monospace; font-weight: 400; unicode-bidi: isolate; }
:host(:lang(bn)) :is(h1, h2, h3, h4, h5, h6, [role=heading]) { font-weight: var(--nx-weight-heading, 400); line-height: var(--nx-lh-heading, 1.45); }
:host(:lang(bn)) :is(b, strong, th, dt, summary, legend) { font-weight: var(--nx-weight-strong, 400); }
:host(:lang(bn)) :is(p, li, dd, blockquote, figcaption) { line-height: var(--nx-lh-body, 1.75); }
:host(:lang(bn)) :is(.f-site, .f-role, .f-copy, .f-boundary, .g-desc, .feat-d, .feat-t, .acct-d, .pt-v) { line-height: var(--nx-lh-body, 1.75); }
:host(:lang(aii)) { --h-sans: "Noto Sans Syriac Eastern", "IBM Plex Sans", "Segoe UI Historic", sans-serif; --h-body: "Noto Sans Syriac Eastern", "IBM Plex Sans", "Segoe UI Historic", sans-serif; --h-mono: "Noto Sans Syriac Eastern", "IBM Plex Sans", "Segoe UI Historic", sans-serif; --h-code: "IBM Plex Mono", "Noto Sans Syriac Eastern", ui-monospace, "SFMono-Regular", Consolas, monospace; --nx-lh-body: 1.8; --nx-lh-heading: 1.45; --nx-weight-heading: 500; --nx-weight-strong: 500; font-synthesis-weight: none; font-synthesis-style: none; font-variant-numeric: lining-nums; }
:host(:lang(aii)) * { letter-spacing: 0 !important; text-transform: none !important; }
:host(:lang(aii)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]), :host(:lang(aii)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]) * { --h-mono: "IBM Plex Mono", "Noto Sans Syriac Eastern", ui-monospace, "SFMono-Regular", Consolas, monospace; font-weight: 400; unicode-bidi: isolate; }
:host(:lang(aii)) :is(h1, h2, h3, h4, h5, h6, [role=heading]) { font-weight: var(--nx-weight-heading, 500); line-height: var(--nx-lh-heading, 1.45); }
:host(:lang(aii)) :is(b, strong, th, dt, summary, legend) { font-weight: var(--nx-weight-strong, 500); }
:host(:lang(aii)) :is(p, li, dd, blockquote, figcaption) { line-height: var(--nx-lh-body, 1.8); }
:host(:lang(aii)) :is(.f-site, .f-role, .f-copy, .f-boundary, .g-desc, .feat-d, .feat-t, .acct-d, .pt-v) { line-height: var(--nx-lh-body, 1.8); }
:host(:lang(aii)) :is(.has-text-align-justify, [style*="text-align: justify"], [style*="text-align:justify"], [align="justify"]) { text-align: start !important; }
:host(:lang(hy)) { --h-sans: "Noto Sans Armenian", "IBM Plex Sans", "Segoe UI", sans-serif; --h-body: "Noto Sans Armenian", "IBM Plex Sans", "Segoe UI", sans-serif; --h-mono: "Noto Sans Armenian", "IBM Plex Sans", "Segoe UI", sans-serif; --h-code: "IBM Plex Mono", "Noto Sans Armenian", ui-monospace, "SFMono-Regular", Consolas, monospace; --nx-lh-body: 1.65; --nx-lh-heading: 1.3; --nx-weight-heading: 500; --nx-weight-strong: 500; font-synthesis-weight: none; font-synthesis-style: none; font-variant-numeric: lining-nums; }
:host(:lang(hy)) * { letter-spacing: 0 !important; text-transform: none !important; }
:host(:lang(hy)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]), :host(:lang(hy)) :is(code, kbd, samp, pre, var, data, .nx-code, .nx-uni, .nx-num, [data-nx-code], [data-num], [class*="-code"], [class*="-uni"], [class*="-num"]) * { --h-mono: "IBM Plex Mono", "Noto Sans Armenian", ui-monospace, "SFMono-Regular", Consolas, monospace; font-weight: 400; unicode-bidi: isolate; }
:host(:lang(hy)) :is(h1, h2, h3, h4, h5, h6, [role=heading]) { font-weight: var(--nx-weight-heading, 500); line-height: var(--nx-lh-heading, 1.3); }
:host(:lang(hy)) :is(b, strong, th, dt, summary, legend) { font-weight: var(--nx-weight-strong, 500); }
:host(:lang(hy)) :is(p, li, dd, blockquote, figcaption) { line-height: var(--nx-lh-body, 1.65); }
:host(:lang(hy)) :is(.f-site, .f-role, .f-copy, .f-boundary, .g-desc, .feat-d, .feat-t, .acct-d, .pt-v) { line-height: var(--nx-lh-body, 1.65); }
:host(:lang(hy)) :is(.has-text-align-justify, [style*="text-align: justify"], [style*="text-align:justify"], [align="justify"]) { text-align: start !important; }
:host(:not(:lang(ar)):not(:lang(fa)):not(:lang(ur)):not(:lang(ckb)):not(:lang(sdh)):not(:lang(lki)):not(:lang(hac)):not(:lang(azb)):not(:lang(prs)):not(:lang(bal)):not(:lang(glk)):not(:lang(mzn)):not(:lang(lrc)):not(:lang(bqi))) :is(.nx-lang__list, .nx-lang-list, [data-nx-lang-list]) :lang(ar), :host(:not(:lang(ar)):not(:lang(fa)):not(:lang(ur)):not(:lang(ckb)):not(:lang(sdh)):not(:lang(lki)):not(:lang(hac)):not(:lang(azb)):not(:lang(prs)):not(:lang(bal)):not(:lang(glk)):not(:lang(mzn)):not(:lang(lrc)):not(:lang(bqi))) :is(.nx-lang__list, .nx-lang-list, [data-nx-lang-list]) :lang(fa), :host(:not(:lang(ar)):not(:lang(fa)):not(:lang(ur)):not(:lang(ckb)):not(:lang(sdh)):not(:lang(lki)):not(:lang(hac)):not(:lang(azb)):not(:lang(prs)):not(:lang(bal)):not(:lang(glk)):not(:lang(mzn)):not(:lang(lrc)):not(:lang(bqi))) :is(.nx-lang__list, .nx-lang-list, [data-nx-lang-list]) :lang(ur), :host(:not(:lang(ar)):not(:lang(fa)):not(:lang(ur)):not(:lang(ckb)):not(:lang(sdh)):not(:lang(lki)):not(:lang(hac)):not(:lang(azb)):not(:lang(prs)):not(:lang(bal)):not(:lang(glk)):not(:lang(mzn)):not(:lang(lrc)):not(:lang(bqi))) :is(.nx-lang__list, .nx-lang-list, [data-nx-lang-list]) :lang(ckb), :host(:not(:lang(ar)):not(:lang(fa)):not(:lang(ur)):not(:lang(ckb)):not(:lang(sdh)):not(:lang(lki)):not(:lang(hac)):not(:lang(azb)):not(:lang(prs)):not(:lang(bal)):not(:lang(glk)):not(:lang(mzn)):not(:lang(lrc)):not(:lang(bqi))) :is(.nx-lang__list, .nx-lang-list, [data-nx-lang-list]) :lang(sdh), :host(:not(:lang(ar)):not(:lang(fa)):not(:lang(ur)):not(:lang(ckb)):not(:lang(sdh)):not(:lang(lki)):not(:lang(hac)):not(:lang(azb)):not(:lang(prs)):not(:lang(bal)):not(:lang(glk)):not(:lang(mzn)):not(:lang(lrc)):not(:lang(bqi))) :is(.nx-lang__list, .nx-lang-list, [data-nx-lang-list]) :lang(lki), :host(:not(:lang(ar)):not(:lang(fa)):not(:lang(ur)):not(:lang(ckb)):not(:lang(sdh)):not(:lang(lki)):not(:lang(hac)):not(:lang(azb)):not(:lang(prs)):not(:lang(bal)):not(:lang(glk)):not(:lang(mzn)):not(:lang(lrc)):not(:lang(bqi))) :is(.nx-lang__list, .nx-lang-list, [data-nx-lang-list]) :lang(hac), :host(:not(:lang(ar)):not(:lang(fa)):not(:lang(ur)):not(:lang(ckb)):not(:lang(sdh)):not(:lang(lki)):not(:lang(hac)):not(:lang(azb)):not(:lang(prs)):not(:lang(bal)):not(:lang(glk)):not(:lang(mzn)):not(:lang(lrc)):not(:lang(bqi))) :is(.nx-lang__list, .nx-lang-list, [data-nx-lang-list]) :lang(azb), :host(:not(:lang(ar)):not(:lang(fa)):not(:lang(ur)):not(:lang(ckb)):not(:lang(sdh)):not(:lang(lki)):not(:lang(hac)):not(:lang(azb)):not(:lang(prs)):not(:lang(bal)):not(:lang(glk)):not(:lang(mzn)):not(:lang(lrc)):not(:lang(bqi))) :is(.nx-lang__list, .nx-lang-list, [data-nx-lang-list]) :lang(prs), :host(:not(:lang(ar)):not(:lang(fa)):not(:lang(ur)):not(:lang(ckb)):not(:lang(sdh)):not(:lang(lki)):not(:lang(hac)):not(:lang(azb)):not(:lang(prs)):not(:lang(bal)):not(:lang(glk)):not(:lang(mzn)):not(:lang(lrc)):not(:lang(bqi))) :is(.nx-lang__list, .nx-lang-list, [data-nx-lang-list]) :lang(bal), :host(:not(:lang(ar)):not(:lang(fa)):not(:lang(ur)):not(:lang(ckb)):not(:lang(sdh)):not(:lang(lki)):not(:lang(hac)):not(:lang(azb)):not(:lang(prs)):not(:lang(bal)):not(:lang(glk)):not(:lang(mzn)):not(:lang(lrc)):not(:lang(bqi))) :is(.nx-lang__list, .nx-lang-list, [data-nx-lang-list]) :lang(glk), :host(:not(:lang(ar)):not(:lang(fa)):not(:lang(ur)):not(:lang(ckb)):not(:lang(sdh)):not(:lang(lki)):not(:lang(hac)):not(:lang(azb)):not(:lang(prs)):not(:lang(bal)):not(:lang(glk)):not(:lang(mzn)):not(:lang(lrc)):not(:lang(bqi))) :is(.nx-lang__list, .nx-lang-list, [data-nx-lang-list]) :lang(mzn), :host(:not(:lang(ar)):not(:lang(fa)):not(:lang(ur)):not(:lang(ckb)):not(:lang(sdh)):not(:lang(lki)):not(:lang(hac)):not(:lang(azb)):not(:lang(prs)):not(:lang(bal)):not(:lang(glk)):not(:lang(mzn)):not(:lang(lrc)):not(:lang(bqi))) :is(.nx-lang__list, .nx-lang-list, [data-nx-lang-list]) :lang(lrc), :host(:not(:lang(ar)):not(:lang(fa)):not(:lang(ur)):not(:lang(ckb)):not(:lang(sdh)):not(:lang(lki)):not(:lang(hac)):not(:lang(azb)):not(:lang(prs)):not(:lang(bal)):not(:lang(glk)):not(:lang(mzn)):not(:lang(lrc)):not(:lang(bqi))) :is(.nx-lang__list, .nx-lang-list, [data-nx-lang-list]) :lang(bqi) { font-family: "Segoe UI", Tahoma, "Geeza Pro", "Noto Sans Arabic", system-ui, sans-serif; }
:host(:not(:lang(zh))) :is(.nx-lang__list, .nx-lang-list, [data-nx-lang-list]) :lang(zh) { font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif; }
:host(:not(:lang(ja))) :is(.nx-lang__list, .nx-lang-list, [data-nx-lang-list]) :lang(ja) { font-family: "Hiragino Sans", "Yu Gothic", Meiryo, "Noto Sans CJK JP", system-ui, sans-serif; }
:host(:not(:lang(ko))) :is(.nx-lang__list, .nx-lang-list, [data-nx-lang-list]) :lang(ko) { font-family: "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans CJK KR", system-ui, sans-serif; }
:host(:not(:lang(hi))) :is(.nx-lang__list, .nx-lang-list, [data-nx-lang-list]) :lang(hi) { font-family: "Kohinoor Devanagari", "Nirmala UI", "Noto Sans Devanagari", system-ui, sans-serif; }
:host(:not(:lang(bn))) :is(.nx-lang__list, .nx-lang-list, [data-nx-lang-list]) :lang(bn) { font-family: "Kohinoor Bangla", "Nirmala UI", "Noto Sans Bengali", system-ui, sans-serif; }
:host(:not(:lang(aii))) :is(.nx-lang__list, .nx-lang-list, [data-nx-lang-list]) :lang(aii) { font-family: "Segoe UI Historic", "Noto Sans Syriac Eastern", "Noto Sans Syriac", system-ui, sans-serif; }
:host(:not(:lang(hy))) :is(.nx-lang__list, .nx-lang-list, [data-nx-lang-list]) :lang(hy) { font-family: "Segoe UI", "Noto Sans Armenian", "Mshtakan", system-ui, sans-serif; }
:host(:not(:lang(ru))) :is(.nx-lang__list, .nx-lang-list, [data-nx-lang-list]) :lang(ru) { font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif; }
:host :is(table, .nx-num, [data-num], [data-nx-num]) { font-variant-numeric: tabular-nums lining-nums; }
:host :is(bdi, .nx-ltr, [data-nx-bidi]) { unicode-bidi: isolate; }
:host .nx-ltr { direction: ltr; }
:host :is(.nx-arrow, .nx-chev, .nx-dir, [data-nx-mirror], .lucide-arrow-right, .lucide-arrow-left, .lucide-chevron-right, .lucide-chevron-left, .lucide-move-right, .lucide-arrow-up-right):dir(rtl) { scale: -1 1; }
:host :is(img, video, canvas, picture, iframe, .nx-logo, [data-nx-no-mirror], .maplibregl-map, .nx-figure, .nx-chart, .nx-map):dir(rtl) { scale: none; }
:host :is(.footnote-backref, .nx-backref, a[href^="#fnref"]):dir(rtl) { display: inline-block; scale: -1 1; }
.onp-prog { display: none; }
.nxa { --nxa-text: var(--h-text, var(--nx-text-primary, CanvasText)); --nxa-text-2: var(--h-text-2, var(--nx-text-secondary, CanvasText)); --nxa-muted: var(--h-muted, var(--nx-text-muted, GrayText)); --nxa-line: var(--h-line, var(--nx-border-hairline, GrayText)); --nxa-line-strong: var(--h-line-strong, var(--nx-border-hairline-strong, GrayText)); --nxa-bg: var(--h-canvas, var(--nx-bg-elevated, Canvas)); --nxa-hover: var(--h-hover, var(--nx-bg-hover, Canvas)); --nxa-accent: var(--h-accent, var(--nx-accent, Highlight)); --nxa-shadow: var(--h-shadow, var(--nx-shadow, 0 12px 32px -12px color-mix(in srgb, CanvasText 45%, transparent))); --nxa-r: var(--h-r, 5px); --nxa-ri: var(--h-r-chip, 4px); --nxa-font: var(--h-sans, var(--nx-font-sans, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif)); position: relative; display: inline-flex; flex: none; font-family: var(--nxa-font); font-size: 13px; line-height: 1.2; text-align: start; }
nx-account { display: inline-flex; flex: none; min-inline-size: 36px; min-block-size: 36px; align-items: center; }
nx-account > a { color: inherit; font-size: 13px; text-decoration: none; padding: 0 10px; }
.nxa *, .nxa *::before, .nxa *::after { box-sizing: border-box; }
.nxa .nxa__btn { display: inline-flex; align-items: center; gap: 8px; block-size: 36px; min-inline-size: 36px; max-inline-size: 220px; margin: 0; padding-block: 0; padding-inline: 10px; border: 1px solid var(--nxa-line-strong); border-radius: var(--nxa-r); background: transparent; color: var(--nxa-text-2); font: 500 13px/1 var(--nxa-font); letter-spacing: normal; text-transform: none; text-decoration: none; white-space: nowrap; cursor: pointer; box-shadow: none; transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease; }
.nxa .nxa__btn:hover, .nxa[data-open] .nxa__btn { background: var(--nxa-hover); color: var(--nxa-text); border-color: var(--nxa-line-strong); }
.nxa .nxa__btn:focus-visible { outline: 2px solid var(--nxa-accent); outline-offset: 2px; }
.nxa .nxa__i { inline-size: 16px; block-size: 16px; flex: none; }
.nxa .nxa__chev { inline-size: 14px; block-size: 14px; color: var(--nxa-muted); transition: transform 0.15s ease; }
.nxa[data-open] .nxa__chev { transform: rotate(180deg); }
.nxa .nxa__lbl { overflow: hidden; text-overflow: ellipsis; }
.nxa .nxa__av { inline-size: 24px; block-size: 24px; flex: none; border-radius: 4px; object-fit: cover; background: var(--nxa-hover); }
.nxa .nxa__av--i { display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--nxa-line-strong); color: var(--nxa-text); font: 600 12px/1 var(--nxa-font); }
.nxa .nxa__av--l { inline-size: 36px; block-size: 36px; font-size: 15px; }
.nxa .nxa__menu { position: absolute; inset-inline-end: 0; inset-block-start: calc(100% + 6px); z-index: 1400; inline-size: min(18rem, calc(100vw - 16px)); margin: 0; padding: 0; overflow: hidden; border: 1px solid var(--nxa-line-strong); border-radius: var(--nxa-r); background: var(--nxa-bg); color: var(--nxa-text); box-shadow: var(--nxa-shadow); }
.nxa .nxa__menu[hidden] { display: none; }
.nxa .nxa__head, .nxa .nxa__who { display: flex; padding: 10px 12px; border-block-end: 1px solid var(--nxa-line); }
.nxa .nxa__head { flex-direction: column; gap: 4px; }
.nxa .nxa__who { align-items: center; gap: 10px; }
.nxa .nxa__eye { color: var(--nxa-muted); font: 500 10.5px/1 var(--h-mono, var(--nx-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)); letter-spacing: 0.08em; text-transform: uppercase; }
.nxa .nxa__ttl, .nxa .nxa__nm { color: var(--nxa-text); font: 500 13.5px/1.3 var(--nxa-font); overflow: hidden; text-overflow: ellipsis; }
.nxa .nxa__sep { block-size: 1px; margin: 4px 0; background: var(--nxa-line); }
.nxa .nxa__menu > .nxa__item:first-of-type { margin-block-start: 6px; }
.nxa .nxa__item { display: flex; align-items: center; gap: 10px; min-block-size: 36px; margin: 2px 6px; padding: 8px 10px; border-radius: var(--nxa-ri); color: var(--nxa-text-2); font: 500 13px/1.2 var(--nxa-font); text-decoration: none; cursor: pointer; }
.nxa .nxa__menu > .nxa__item:last-child { margin-block-end: 6px; }
.nxa .nxa__item .nxa__i { color: var(--nxa-muted); }
.nxa .nxa__item:hover, .nxa .nxa__item:focus-visible { background: var(--nxa-hover); color: var(--nxa-text); outline: none; }
.nxa .nxa__item:focus-visible { box-shadow: inset 0 0 0 2px var(--nxa-accent); }
.nxa .nxa__item:hover .nxa__i, .nxa .nxa__item:focus-visible .nxa__i { color: var(--nxa-text); }
.nxa .nxa__i--flip:dir(rtl) { transform: scaleX(-1); }
@media (max-width: 719px) {
.nxa .nxa__btn { padding-inline: 9px; gap: 6px; }
.nxa .nxa__btn .nxa__lbl { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.nxa .nxa__chev { display: none; }
}
@media (prefers-reduced-motion: reduce) { .nxa .nxa__btn, .nxa .nxa__chev { transition: none; } }
@media (max-width: 599px) {
.bar .wrap { gap: 8px; }
.end { gap: 6px; }
.burger { padding: 0 10px; }
.burger .bl { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
@media (max-width: 599px) {
:host([data-brand]) .bar .wrap { gap: 8px; }
:host([data-brand]) .end { gap: 6px; }
:host([data-brand]) .burger { padding: 0 10px; }
:host([data-brand]) .burger .bl { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
:host([dir="rtl"]) :is(p, li, a, button, summary, span, h2, h3, dt, dd, small) { unicode-bidi: plaintext; }
.f { padding-bottom: var(--nx-dock-reserve, 0px); }
.hexhome { display: inline-flex; flex: none; align-items: center; justify-content: center; inline-size: 28px; block-size: 28px; margin-inline-end: 4px; border-radius: var(--h-r); color: var(--h-text); visibility: hidden; opacity: 0; transition: opacity .16s ease, visibility 0s linear .16s; }
.hexhome__img { inline-size: 24px; block-size: 24px; object-fit: contain; border-radius: 6px; }
.hexhome svg { inline-size: 20px; block-size: 20px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linejoin: round; }
:host([data-stuck]) .hexhome { visibility: visible; opacity: 1; transition: opacity .16s ease, visibility 0s; }
.hexhome:hover, .hexhome:focus-visible { color: var(--h-hex-hover, #d81c45); }
:host([data-theme="dark"]) .hexhome:hover, :host([data-theme="dark"]) .hexhome:focus-visible { color: var(--h-hex-hover-dark, #ff4d6d); }
.hexhome:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .hexhome, :host([data-stuck]) .hexhome { transition: none; } }
@media (max-width: 599px) {
:host([data-brand]) .burger { order: 0; }
:host([data-brand]) .hexhome { order: 1; display: none; margin-inline: 4px 0; }
:host([data-brand][data-stuck]) .hexhome { display: inline-flex; }
:host([data-brand]) .end { order: 3; }
}
@media (min-width: 960px) {
.bar .wrap { position: relative; }
.hexhome { position: absolute; inset-inline-start: calc(var(--h-gutter) - 30px); inset-block-start: 50%; margin: 0; transform: translateY(-50%); }
}
@media (min-width: 960px) {
:host([data-crowd]) .end .contact { display: none; }
:host([data-crowd]) .theme .tl { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
:host([data-crowd]) .theme button { padding: 0 7px; }
:host([data-crowd]) .nx-lang__label { display: none; }
:host([data-crowd]) .nx-lang__code { display: inline; }
:host([data-crowd]) .nxa .nxa__btn { padding-inline: 9px; gap: 6px; }
:host([data-crowd]) .nxa .nxa__btn .nxa__lbl { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:host([data-crowd]) .nxa .nxa__chev { display: none; }
:host([data-crowd="2"]) .main { visibility: hidden; }
:host([data-crowd="2"]) .burger { display: inline-flex; }
}
.nx-lang__item.is-unavailable{display:none}
The Global Risks Index · Baseline Edition 2026 · preparatory working draft
The Global Risks Index The open, multi-domain index family that reads hazard, vulnerability, macro-financial fragility, coping capacity and systemic coupling for every country, with intervals, sources and corrections on every value.
FIG 1 · Country profiles: select a country UN M49 region Nexus Reports baskısı
Loading the map
+ − ⟲
Andorra Antigua ve Barbuda Bahreyn Barbados Komorlar Yeşil Burun Adaları Dominika Mikronezya (Federal Devletleri) Grenada Kiribati Saint Kitts ve Nevis Saint Lucia Liechtenstein Monako Maldivler Marshall Adaları Malta Mauritius Nauru Palau Singapur San Marino São Tomé ve Príncipe Seyşeller Tonga Tuvalu Vatikan (Holy See) Saint Vincent ve Grenadinler Samoa Equal Earth · Natural Earth 1:110m Values when released
Afrika Amerika Asya Avrupa OkyanusyaCountry edition drafted Country edition planned Profile only
195 profiles. Colour shows facts, not risk: UN M49 region or the Nexus Reports country edition. Risk classes replace them here when an edition is released. Select a country to open its profile; drag to pan, use + and − to zoom; press a legend item to isolate it. Source: UN M49 regions (UN Statistics Division) and Nexus Reports editions. Page GRX-HOME Sayı Baseline Edition 2026 Evidence close 2026-09-30 Values not yet published Yöntem v1.0.0-draft
02 Maruziyet
Exposure and coverage at a glance Source observations from open grids, never index values: index values publish with the edition. Each figure names its source and opens its region or country.
People by region Afrika 1.51 bn 18.8% Amerika 1.03 bn 12.8% Asya 4.74 bn 58.8% Avrupa 725.0 m 9.0% Okyanusya 41.9 m 0.5% GHSL 2025, European Commission JRC (CC BY 4.0), summed over first-level units.
People on land at or below 10 m Afrika 72.9 m 4.8% of the region Amerika 60.9 m 5.9% of the region Asya 595.2 m 12.6% of the region Avrupa 37.8 m 5.2% of the region Okyanusya 3.6 m 8.5% of the region GEBCO 2024 Grid (public domain) and GHSL 2025 (CC BY 4.0); people on land at or below 10 m.
Administrative units mapped, by level ADM1 3,188195 countries ADM2 48,764175 countries ADM3 95,84674 countries ADM4 93,96917 countries ADM5 699,5963 countries geoBoundaries, each country and level on its own licence; share-alike layers kept separate.
Countries with people on land at or below 10 m Afrika 39of 54 Amerika 33of 35 Asya 40of 48 Avrupa 30of 44 Okyanusya 14of 14 GEBCO 2024 Grid (public domain) and GHSL 2025 (CC BY 4.0); people on land at or below 10 m.
03 Harita
Global exposure map People per H3 cell from the GHSL 2025 grid on a tilted world map. Scroll moves the page; Ctrl or ⌘ and scroll, or + and −, zoom the map; drag to pan, right-drag to tilt and turn; select a country to open it.
FIG 2 · Population exposure by H3 cell, GHSL 2025 UN M49 region Nexus Reports baskısı Bir ülke bulun
Loading the map
+ − ⟲
Equal Earth · Natural Earth 1:110m Values when released
Afrika Amerika Asya Avrupa OkyanusyaCountry edition drafted Country edition planned Profile only
195 profiles. Colour shows facts, not risk: UN M49 region or the Nexus Reports country edition. Risk classes replace them here when an edition is released. Select a country to open its profile; drag to pan, use + and − to zoom; press a legend item to isolate it. Source: UN M49 regions (UN Statistics Division) and Nexus Reports editions. 04 Endeks
What NXS-GRX (canonical data, provenance and risk) is The open, multi-domain index family that reads hazard, vulnerability, macro-financial fragility, coping capacity and systemic coupling for every country, with intervals, sources and corrections on every value.
P1 A family of indices, not one monolithic score NXS-GRX (canonical data, provenance and risk) publishes twenty domain indices, four pillar indices, a composite and six instruments. The composite never appears without every pillar and domain beside it, and no independent dimension is collapsed silently.
P2 Classes with intervals, never league tables Every value carries a 90% interval from Monte Carlo analysis over normalisation, weights, imputation and aggregation. Countries are placed in risk classes with a stated class probability; pages list countries by name or code, never by value.
P3 No data is not zero A missing input is shown as missing, an imputed input is flagged, and a value is withheld when coverage falls below the method’s minimum. An empty profile, an unavailable source and an observed zero render differently.
P4 Every value resolves to its source Each value carries its source release, licence, retrieval time, method version and transformation chain (W3C PROV). A correction anywhere propagates to every dependent value and is logged publicly.
P5 Measured, modelled and perceived are kept apart Status glyphs separate observed, reported, estimated, inferred, forecast, simulated, scenario and expert input. Perception signals form their own instrument and are never blended into measured risk.
P6 Systemic by construction Standalone risk and coupling-adjusted risk are reported side by side, from typed dependency networks across trade, finance, energy, food, infrastructure and information.
P7 Licence-gated and reproducible A source enters a public value only when its licence admits that use; withheld values are counted, not hidden. Methods, code paths, seeds and digests are published per release so any value can be recomputed.
P8 Information, not authority NXS-GRX is research and risk-analytics information. It is not a rating, an official classification, a warning, a benchmark or advice, and it never decides for an institution.
05 Yönetim kurulu
The world board Composite, coupled composite and the four pillars for the world, with change, interval, class probability and trend, and the countries that moved most.
No movements yet. Changes since the previous edition are listed here from the second edition on, with the indicators that drove them.
Your watchlist No countries on your watchlist. Add a country from its profile; the list stays in this browser.
06 Frontier
Why a new index Established indices each read part of risk well. None reads all of it on one grammar with uncertainty, systemic coupling, forecasts, scenarios and provenance on every value.
46
established indices compared
17
gaps no index closes yet
20
domain indices in four pillars
195
country sites, every province
90%
interval on every value, 1,000 draws
The gap matrix What established indices miss What NXS-GRX does
01 Açık No index unifies hazard, vulnerability, conflict, macro-finance, cyber, health, food, nature and technology in one structure.
NXS-GRX Twenty index domain indices in four pillars, one grammar.
Source: the landscape, 2026-10 02 Açık Systemic and cascading risk is described, not modelled.
NXS-GRX Coupling instrument: typed dependency networks, contagion models, coupled beside standalone composite.
Source: the landscape, 2026-10 03 Açık Subnational coverage is thin and not comparable
NXS-GRX ADM1, ADM2 and one H3 fabric for hazard, exposure and capacity.
Source: the landscape, 2026-10 04 Açık Uncertainty is rarely reported; ranks are over-read
NXS-GRX 90% intervals, class probabilities and Sobol sensitivity on every value; no league tables.
Source: the landscape, 2026-10 05 Açık Data lags one to three years
NXS-GRX Pulse instrument: weekly nowcast over admitted event streams.
Source: the landscape, 2026-10 06 Açık Few indices forecast or are back-tested
NXS-GRX Outlook instrument with published verification scorecards
Source: the landscape, 2026-10 All 17 gaps 07 Açık Scenario projections are rare and macro-only
NXS-GRX Pathways instrument: SSP × warming level and transition families to 2030, 2050 and 2100.
Source: the landscape, 2026-10 08 Açık Perceived and measured risk are blurred
NXS-GRX Perception instrument kept separate, with a published gap.
Source: the landscape, 2026-10 09 Açık Values rarely trace to sources, versions and licences.
NXS-GRX Record-level provenance, licence gate, public correction log
Source: the landscape, 2026-10 10 Açık Machine access is weak (PDF and spreadsheet releases)
NXS-GRX API, SDMX keys, vector tiles, bulk files and versioned releases.
Source: the landscape, 2026-10 11 Açık Licence restrictions block derived reuse
NXS-GRX Per-source licence gate; withheld values counted
Source: the landscape, 2026-10 12 Açık Coverage gaps cluster in fragile and small-island states.
NXS-GRX Coverage vector per country; imputation flagged and capped.
Source: the landscape, 2026-10 13 Açık Capacity on paper is mistaken for performance
NXS-GRX Capability ladder from listed to demonstrated in real events.
Source: the landscape, 2026-10 14 Açık Methods change and break comparability
NXS-GRX Semantic versions, back-cast series, digests per release
Source: the landscape, 2026-10 15 Açık Neglected domains: AI, space weather, biosecurity, minerals, digital infrastructure, tail risk.
NXS-GRX Exponential technology and strategic systems series; Tail instrument.
Source: the landscape, 2026-10 16 Açık No shared taxonomy across indices
NXS-GRX hazards with HIPs crosswalks; indicators with 501 crosswalks to source code lists.
Source: the landscape, 2026-10 17 NXS-GRX Exceedance curves, return-period losses and expected shortfall where loss can be modelled.
Source: the landscape, 2026-10 Families read, each with what it leaves open Established risk and resilience indices, read for interoperability and validity checks. Names are those of their stewards and are cited for reference only; no text of any index is reproduced and no endorsement is implied.
07 Nasıl çalışır
Nasıl çalışır Ten journeys from the registries: source to profile, a run, provenance, correction, the composite, a country profile, a release, the instruments, a data offer and API access. Select a step to trace it. Play runs only when you press it.
NXS-GRX · Pipeline
From source to profile Source to profile · A run you follow · Provenance · Düzeltme · Pillars and composite · Ülke profili · Edition release · Seven instruments · Data offer · API access .
Licensed sources become indicators, domain indices, four pillars and the composite, then country profiles, series and the API.
01 Sources 01 205 kayıtlı kaynak 02 Event streams 03 Scenario families 04 Surveys and elicitation 02 Harmonise 05 Harmonised series 06 Dependency network 03 Indicators 07 451 indicators 04 Sub-indices 08 86 sub-indices 05 Domains 09 20 domain indices 06 Pillars 10 Hazard and threat exposure 11 Human and systems vulnerability 12 Macro-financial and structural fragility 13 Lack of coping and adaptive capacity 14 Systemic coupling score 07 Composite and instruments 15 NXS-GRX Composite Risk 16 Pulse 17 Outlook 18 Yollar 19 Tail 20 Perception 08 Outputs 21 NXS-GRX Coupled Risk 22 195 country profiles 23 54 series indices 24 API, tiles and bulk files 08 Composite
Four pillars, one composite, never alone Composite = (HTE × VUL × MSF × LCC)^(1/4), each pillar on 0–10 floored at 0.1; pillar = expert-weighted geometric mean of its domain indices.
HTE Hazard and threat exposure What can strike, how often, how hard and who and what stands in its way? 5 domain indices.
Endeksler VUL Human and systems vulnerability How susceptible are people, livelihoods, ecosystems and essential systems to harm when a shock arrives? 8 domain indices.
Endeksler MSF Macro-financial and structural fragility How much fiscal, financial, external, digital and technological room does the system have before stress turns into crisis? 5 domain indices.
Endeksler LCC Lack of coping and adaptive capacity Can institutions anticipate, absorb, respond, recover and adapt? 2 domain indices.
Endeksler FIG 3 · Simulator: four pillars to the composite and coupled composite
Simulator: Composite = (HTE × VUL × MSF × LCC)^¼ with each pillar floored at 0.1; Coupled = Composite × (1 + κ·S). Draws vary weights, aggregation and inputs. The positions are starting points, not NXS-GRX values. Simulated on your own inputs; not a measured result. 09 Araçlar
Seven instruments, seven questions 10 Endeksler
Twenty domain indices in four pillars Each domain index has its own page with components, indicators, aggregation and intervals. Pick a pillar.
Hazard and threat exposure 5 Human and systems vulnerability 8 Macro-financial and structural fragility 5 Lack of coping and adaptive capacity 2
HTE: What can strike, how often, how hard and who and what stands in its way?
VUL: How susceptible are people, livelihoods, ecosystems and essential systems to harm when a shock arrives?
MSF: How much fiscal, financial, external, digital and technological room does the system have before stress turns into crisis?
LCC: Can institutions anticipate, absorb, respond, recover and adapt?
11 Tehlikeler
14 hazard domains The Nexus Hazard Standard (Hazard Standard) sorts every hazard into fourteen domains and their families.
12 Seri
Global, sector, strategic, technology, thematic and regional 13 Ülkeler
195 country sites by region One site per country with every province and district on terrain maps. Values publish with the edition.
14 Okuma
How to read NXS-GRX Classes, not ranks Very low 0.0 to < 2.0
Düşük 2.0 to < 3.5
Orta 3.5 to < 5.0
Yüksek 5.0 to < 6.5
Very high 6.5 to 10.0
A class is printed with its probability (share of Monte Carlo draws inside the class). Below 60% the adjacent class is printed too (for example High, 54% · Very high, 41%).
The status of every value Glyph Durum Means ● OBSERVED Measured directly and published by the source □ REPORTED Reported or declared by a publisher, not independently measured ◆ ESTIMATED Estimated or modelled by a stated method ▲ INFERRED Inferred from related signals ◇ FORECAST Probabilistic statement about a future period ◈ SIMULATED Output of a simulation or stochastic event set ○ SCENARIO Conditional on a named scenario, not a prediction ◎ EXPERT INPUT Structured expert judgement
When there is no value Statü Means PUBLISHEDReleased in an edition with interval, class and sources NO_DATANo admitted input; not a zero INSUFFICIENT_EVIDENCECoverage below the method minimum; value withheld WITHHELDAn input’s licence or the public-safe screen does not admit public display; counted DEGRADEDPublished with a stated quality limitation
15 Clients
Kime hizmet eder Solutions by sector: what each user needs, the products that answer it and the journeys that deliver it.
GOV Governments and national agencies Prioritise prevention, plan subnationally and report on Sendai.
IFI Multilaterals and development banks Screen country and project context, read fiscal resilience.
UN UN system and humanitarian agencies Compare needs with intervals, watch weekly signals.
REG Merkez bankaları ve denetim otoriteleri Design supervisory scenarios, read systemic coupling and replicate methods.
INS Sigortacılar ve reasürörler Read hazard, exposure and protection gaps, run tails.
FIN Bankalar ve varlık yöneticileri Read sovereign and systemic context, run climate pathways.
CORP Şirketler ve tedarik zincirleri Screen sites and suppliers, watch chokepoints and keep country context current.
GOV Kentler ve altyapı işletmecileri Read hexagon-level hazard and dependency layers for planning, investment.
ACA Araştırma ve akademi Replicate every value, study and extend the methods, contribute data and review.
ACA Developers and frontier-tech builders Build applications, models.
NGO Civil society and NGOs Target programmes with open profiles and contribute local evidence.
MED Medya ve vatandaşlar Explain risk with intervals and classes, and embed maps.
16 Journeys
Görevler ve kullanıcı yolculukları Every task is a run you can follow: who acts at each job, the technology, the checks and the gates where it waits for review.
The methods the indices and instruments run on, grouped in fabrics, each with its own page.
121
methods named across them
10
construction steps, OECD/JRC
Universal mathematics and statistics 14 methods Tehlike bilimi 6 methods Exposure and asset intelligence 3 methods Vulnerability, fragility and resilience 5 methods Sonuç ve kayıp 4 methods Katastrofi riski 5 methods Networks, dependency and systemic risk 5 methods Finansal risk 7 methods Sigorta ve reasürans 5 methods Markets, trade and supply chains 5 methods Sovereign, macro and development 5 methods Policy, regulation and governance 4 methods Su riski 6 methods Food, agriculture and fisheries 5 methods Enerji riski 5 methods Sağlık ve epidemiyoloji 6 methods Climate, nature and biodiversity 5 methods Critical infrastructure and industrial systems 4 methods Cyber, AI and frontier technology 5 methods Geopolitics, conflict and human security 4 methods Projects, programmes and infrastructure investment 5 methods Risk data 4 methods Scientific assurance 4 methods 18 Veri
Data, licences and the API Every source is registered with its licence. Only what a licence admits reaches a public value.
205
registered sources, each with its licence
115
sources the register admits for public display
501
crosswalks to source code lists
19 Stewardship
Three independent stewards, three lenses The Global Centre for Risk and Innovation (GCRI) works through GCRI US in Washington, DC and GCRI Canada in Ontario. GCRI Canada leads the Nexus Consortium as Lead Institution, Consortium Secretariat and lead contracting organisation. The Global Risks Forum (GRF) and The Global Risks Alliance (GRA) keep independent mandates as consortium stewards. Technology, infrastructure and service providers act at arm’s length and have no control over institutional governance, research, publications, national priorities or customer, sovereign and community data.
Evidence and methods GCRI Canada Evidence, methods, risk ontology, data discipline, verifiable records and correction.
Leadership and the annual programme Global Risks Forum Leadership, institutional dialogue and the stewardship of Nexus Universe. It records the programme gates G0 to G7.
Finansal hazırlık Global Risks Alliance Finance, insurance and development readiness. Risk evidence becomes diligence material, never an approval or a transaction.
20 Yönetişim
Governance and corrections Every value moves through recorded states. Anyone can submit a correction, and every correction is logged in public.
The life of a value Taslak Computed Evidence bound Reviewed Approved for release Yayımlandı Corrected Superseded
An edition is published after review, not to a calendar; the dates are evidence cuts.
Form · grx-alerts This form opens here once it is switched on. Until then, send it through the Nexus Reports gateway .
Built to be checked Every value will open to its indicators, sources, method version and correction log. Read the method, try the simulators, and tell us where we are wrong.
Durum The methodology, structure and definitions of The Global Risks Index are a preparatory working draft (2026), circulated for review and comment and not for implementation. No value appears until an edition is released from a governed evidence cut; values then carry intervals, classes, sources and their correction pathway. Simulators run the published methods on numbers you choose and never show a NXS-GRX value.
What NXS-GRX is not NXS-GRX is research and risk-analytics information. It is not a credit or ESG rating and uses no rating scale, not a benchmark for financial instruments, not official statistics, not an emergency warning or official classification, and not advice. It must not be used to evaluate natural persons. Risk classes are bands on a published scale, never rankings of countries or people.
Pulse signals and outlook probabilities are information for review by competent authorities, never public warnings; official warnings come only from mandated authorities.
Institutions and sources The Nexus Consortium is stewarded by three independent not-for-profit institutions: The Global Centre for Risk and Innovation (GCRI), through GCRI US in Washington, DC and GCRI Canada in Ontario, with GCRI Canada as Lead Institution, Consortium Secretariat and lead contracting organisation; The Global Risks Forum (GRF); and The Global Risks Alliance (GRA). Technology, infrastructure and service providers work with the Consortium at arm’s length under written agreements, like every other external party in the public-private-planet model, and hold no role in its stewardship.
Every value carries the attribution of its sources, which keep their own licences. External names are cited for interoperability only. Nexus-authored text is intended for CC BY 4.0 on release.
Avis en français La méthodologie et les définitions du NXS-GRX sont un projet de travail préparatoire (2026). Le NXS-GRX est une information de recherche et d’analyse des risques : ni notation, ni indice de référence financier, ni statistique officielle, ni alerte, ni conseil. Les classes de risque sont des bandes sur une échelle publiée, non des classements.