/* NIDI.OS components - generated by wordpress/themes/build_theme.py from website/design-system/build_systems.py. Do not edit. */
.nd{font-family:var(--font-sans);color:var(--ink);--fs:1;--lh:1}
.nd *{box-sizing:border-box}
[data-site="nidi"]{--site:var(--site-nidi);--site-text:var(--site-nidi-text);--site-tint:var(--site-nidi-tint);--site-on:var(--site-nidi-on)}
[data-site="ods"]{--site:var(--site-ods);--site-text:var(--site-ods-text);--site-tint:var(--site-ods-tint);--site-on:var(--site-ods-on)}
[data-site="ntrc"]{--site:var(--site-ntrc);--site-text:var(--site-ntrc-text);--site-tint:var(--site-ntrc-tint);--site-on:var(--site-ntrc-on)}
[data-site="platform"]{--site:var(--site-platform);--site-text:var(--site-platform-text);--site-tint:var(--site-platform-tint);--site-on:var(--site-platform-on)}
[data-site="research"]{--site:var(--ink);--site-text:var(--ink);--site-tint:var(--surface-sunk);--site-on:var(--paper)}
.nd a{color:var(--site-text,var(--site-nidi-text))}
.nd :focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.nd-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.nd-chip{display:inline-flex;align-items:center;gap:7px;padding:2px 10px;border-radius:var(--radius-pill);font-family:var(--font-sans);font-weight:600;font-size:calc(12px * var(--fs));line-height:1.5;border:1px solid;white-space:nowrap}
.nd-chip::before{content:"";width:8px;height:8px;flex:none;border:1.5px solid currentColor}
.nd-chip-live{color:var(--status-live);background:var(--status-live-bg)}
.nd-chip-live::before{border-radius:50%;background:currentColor}
.nd-chip-dev{color:var(--status-dev);background:var(--status-dev-bg)}
.nd-chip-dev::before{border-radius:50%;background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
.nd-chip-proposed{color:var(--status-proposed);background:var(--status-proposed-bg)}
.nd-chip-proposed::before{border-radius:50%}
.nd-chip-held{color:var(--status-held);background:var(--status-held-bg);border-style:dashed}
.nd-chip-held::before{transform:rotate(45deg);width:7px;height:7px;background:currentColor}
.nd-chip-outside{color:var(--ink-muted);background:var(--surface-sunk);border-style:dotted}
.nd-chip-outside::before{border-radius:1px}
.nd-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:var(--radius-button);font-family:var(--font-sans);font-weight:600;font-size:calc(15px * var(--fs));line-height:1;text-decoration:none;cursor:pointer;border:var(--stroke-control) solid transparent}
.nd .nd-btn-primary,.nd-btn-primary{background:var(--site,var(--site-nidi));color:var(--site-on,var(--site-nidi-on));border-color:var(--site,var(--site-nidi))}
.nd .nd-btn-secondary,.nd-btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}
.nd .nd-btn-quiet,.nd-btn-quiet{background:transparent;color:var(--site-text,var(--site-nidi-text));padding:0 8px;text-decoration:underline;text-underline-offset:3px}
.nd a.nd-mark,.nd-mark{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.nd-mark-sq{width:34px;height:34px;border-radius:var(--radius-m);background:var(--site);display:grid;place-items:center;color:var(--site-on);font-family:var(--font-display);font-weight:700;font-size:13px}
.nd-mark-name{font-family:var(--font-display);font-weight:700;font-size:calc(17px * var(--fs));line-height:1.1}
.nd-mark-sub{display:block;font-size:calc(12px * var(--fs));line-height:1.3;color:var(--ink-muted)}
.nd-header{display:flex;align-items:center;gap:28px;min-height:72px;padding:0 64px;background:var(--surface);border-bottom:var(--stroke-card) solid var(--line)}
.nd-header nav{display:flex;gap:20px;flex:1;flex-wrap:wrap}
.nd-header nav a{color:var(--ink-muted);text-decoration:none;font-size:calc(15px * var(--fs));padding:12px 2px;border-bottom:3px solid transparent}
.nd-header nav a[aria-current="page"]{color:var(--ink);font-weight:700;border-bottom-color:var(--site)}
.nd-card{background:var(--surface);border:var(--stroke-card) solid var(--line);border-radius:var(--radius-l);padding:24px;display:flex;flex-direction:column;gap:10px}
.nd-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.nd-card h3{margin:0;font-family:var(--font-sans);font-weight:700;font-size:calc(20px * var(--fs));line-height:1.35}
.nd-card p{margin:0;font-size:calc(15px * var(--fs));line-height:calc(1.6 * var(--lh));color:var(--ink-muted)}
.nd-card-link{font-weight:600;font-size:calc(14px * var(--fs))}
.nd-stat{display:flex;flex-direction:column;gap:4px;padding:16px;background:var(--surface);border:var(--stroke-card) solid var(--line);border-radius:var(--radius-l)}
.nd-stat b{font-family:var(--font-display);font-weight:700;font-size:calc(32px * var(--fs));line-height:1.1;font-variant-numeric:tabular-nums}
.nd-stat span{font-size:calc(14px * var(--fs));color:var(--ink-muted)}
.nd-stat em{font-family:var(--font-mono);font-style:normal;font-size:calc(11px * var(--fs));color:var(--status-dev)}
.nd-stat-unverified b{color:var(--ink-muted)}
.nd-quote{margin:0;padding:24px;border-top:4px solid var(--site,var(--site-nidi));background:var(--surface)}
.nd-quote blockquote{margin:0;font-family:var(--font-display);font-weight:700;font-size:calc(24px * var(--fs));line-height:1.25}
.nd-quote figcaption{margin-top:8px;font-size:calc(13px * var(--fs));color:var(--ink-muted)}
.nd-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;counter-reset:s}
.nd-steps li{counter-increment:s;padding:16px;background:var(--surface);border:var(--stroke-card) solid var(--line);border-radius:var(--radius-l);display:flex;flex-direction:column;gap:6px}
.nd-steps li::before{content:counter(s,decimal-leading-zero);font-family:var(--font-mono);font-size:calc(12px * var(--fs));color:var(--site-text,var(--ink-muted))}
.nd-steps strong{font-size:calc(17px * var(--fs));line-height:1.3}
.nd-steps span{font-size:calc(14px * var(--fs));line-height:calc(1.45 * var(--lh));color:var(--ink-muted)}
.nd a.nd-tool,.nd-tool{display:grid;grid-template-columns:40px 1fr auto;gap:14px;align-items:center;padding:16px;background:var(--surface);border:var(--stroke-card) solid var(--line);border-radius:var(--radius-l);text-decoration:none;color:var(--ink)}
.nd-tool:hover{border-color:var(--site-platform)}
.nd-tool-ic{width:40px;height:40px;border-radius:var(--radius-m);background:var(--site-platform-tint);color:var(--site-platform-text);display:grid;place-items:center}
.nd-tool b{display:block;font-size:calc(16px * var(--fs));line-height:1.35}
.nd-tool code{font-family:var(--font-mono);font-size:calc(13px * var(--fs));color:var(--ink-muted)}
.nd-tool small{display:block;font-size:calc(14px * var(--fs));color:var(--ink-muted)}
.nd-rungs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.nd-rung{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;padding:14px 18px;background:var(--surface);border:var(--stroke-card) solid var(--line);border-radius:var(--radius-l)}
.nd-rung-n{font-family:var(--font-mono);font-size:calc(13px * var(--fs));color:var(--site-text,var(--ink-muted))}
.nd-rung b{display:block;font-size:calc(17px * var(--fs));line-height:1.3}
.nd-rung span{font-size:calc(14px * var(--fs));color:var(--ink-muted)}
.nd-legend{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:calc(14px * var(--fs));color:var(--ink-muted);list-style:none;margin:0;padding:0}
.nd-legend li{display:flex;align-items:center;gap:8px}
.nd-dot{display:inline-block;border:2px solid var(--surface)}
.nd-notice{display:flex;gap:12px;align-items:flex-start;padding:16px 24px;border-radius:var(--radius-l);border:var(--stroke-card) solid;font-size:calc(15px * var(--fs));line-height:calc(1.6 * var(--lh))}
.nd-notice-info{background:var(--site-nidi-tint);border-color:var(--site-nidi);color:var(--ink)}
.nd-notice-held{background:var(--status-held-bg);border-color:var(--status-held);border-style:dashed;color:var(--ink)}
.nd-footer{padding:32px 64px;background:var(--surface);border-top:var(--stroke-card) solid var(--line);display:flex;flex-direction:column;gap:10px}
.nd-footer nav{display:flex;gap:22px;flex-wrap:wrap}
.nd-footer nav a{color:var(--ink-muted);font-size:calc(14px * var(--fs))}
.nd-footer p{margin:0;font-size:calc(13px * var(--fs));color:var(--ink-muted)}
.nd-access{display:grid;grid-template-columns:minmax(260px,320px) 1fr;gap:20px;align-items:start}
.nd-access-panel{padding:18px;background:var(--surface);border:var(--stroke-card) solid var(--line-strong);border-radius:var(--radius-l);display:flex;flex-direction:column;gap:14px}
.nd-access-panel h2{margin:0;font-family:var(--font-sans);font-size:16px;font-weight:700}
.nd-access-panel fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.nd-access-panel legend{font-size:13px;font-weight:600;color:var(--ink-muted);margin-bottom:4px}
.nd-seg{display:flex;flex-wrap:wrap;gap:6px}
.nd-seg button{min-height:40px;padding:0 12px;border-radius:var(--radius-m);border:var(--stroke-control) solid var(--line-strong);background:var(--surface);color:var(--ink);font-family:var(--font-sans);font-size:14px;cursor:pointer}
.nd-seg button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink);font-weight:700}
.nd-access-sample{padding:16px;background:var(--paper);border:1px dashed var(--line-strong);border-radius:var(--radius-l);display:flex;flex-direction:column;gap:12px}
/* ---- inclusive mode: any container, any site, any theme ---- */
[data-access~="large"]{--fs:var(--access-scale-large)}
[data-access~="larger"]{--fs:var(--access-scale-larger)}
[data-access~="easy"]{--lh:1.2;word-spacing:0.1em;letter-spacing:0.01em}
[data-access~="easy"] p,[data-access~="easy"] li{text-align:left;max-width:60ch}
[data-access~="easy"] em,[data-access~="easy"] i{font-style:normal;font-weight:700}
[data-access~="easy"] a,[data-theme="contrast"] a{text-decoration:underline;text-underline-offset:3px}
[data-access~="calm"] *,[data-access~="calm"] *::before{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media (prefers-reduced-motion:reduce){.nd *{animation:none!important;transition:none!important}}
[data-theme="contrast"] .nd-card,[data-theme="contrast"] .nd-stat,[data-theme="contrast"] .nd-tool,[data-theme="contrast"] .nd-rung,[data-theme="contrast"] .nd-steps li{border-width:2px}
