/* Interactive modules only. Typography and page layout live in the common article system. */
.platform-article{--nx-accent-ink:var(--color-teal);--nx-muted:var(--color-text-60);--nx-line:var(--color-border-md);--nx-paper:var(--color-bg-card)}
.platform-article [hidden]{display:none!important}
.nx-lab{border:1px solid var(--nx-line);border-radius:22px;padding:30px;margin:0 0 58px;background:linear-gradient(145deg,var(--tint-teal-08),transparent 60%),var(--nx-paper);font-size:15px;line-height:1.65;scroll-margin-top:100px}.nx-lab-head{margin-bottom:24px}.nx-lab-head h3{font-family:var(--font-display);font-size:29px;line-height:1.25;font-weight:500;letter-spacing:-.012em;text-transform:none;color:var(--color-heading);margin:10px 0 12px}.nx-lab-head p{font-size:15px;line-height:1.7;color:var(--nx-muted)}.nx-lab h4{font-family:var(--font-body);font-size:17px;font-weight:650;line-height:1.5;letter-spacing:0;text-transform:none;color:var(--color-heading);margin:6px 0 10px}.nx-lab p{margin:0 0 16px}.nx-lab .nx-lab-note{font-size:11px;line-height:1.7;color:var(--nx-muted);border-top:1px solid var(--nx-line);margin:23px 0 0;padding-top:15px}
.nx-tabs{display:flex;gap:5px;flex-wrap:wrap;padding:5px;background:var(--color-hover-tint);border:1px solid var(--nx-line);border-radius:12px;margin-bottom:24px}.nx-tabs button{font-size:12px;line-height:1.4;flex:1;padding:11px 12px;border:1px solid transparent;border-radius:8px;color:var(--nx-muted);min-height:44px;transition:background .15s}.nx-tabs button[aria-selected="true"]{background:var(--nx-paper);color:var(--color-heading);border-color:var(--nx-line);box-shadow:0 2px 7px #0001}.nx-tabs button:hover{color:var(--color-heading)}.nx-panel{min-width:0}.nx-panel>p{font-size:14px;line-height:1.8}.nx-panel svg{width:100%;margin:8px 0 20px;overflow:visible}.nx-graph-lines path{stroke:var(--nx-accent-ink);stroke-width:2;opacity:.5}.nx-graph-node{fill:var(--nx-paper);stroke:var(--nx-accent-ink);stroke-width:1.5}.nx-graph-node--lead{fill:var(--tint-purple-15);stroke:#a894d3}.nx-panel svg text{font-family:var(--font-body);font-size:14px;fill:var(--color-heading)}.nx-panel svg .nx-graph-caption{font-size:12px;fill:var(--nx-muted)}
.nx-small-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--nx-muted)}.nx-file-icon{display:block;font-size:36px;color:var(--nx-accent-ink);line-height:1;margin:5px 0 20px}.nx-context-line{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.nx-context-line span{font-size:11px;border:1px solid var(--nx-line);border-radius:20px;padding:5px 10px;color:var(--nx-accent-ink)}.nx-pilot-title{display:flex;align-items:center;gap:18px;margin-bottom:20px}.nx-pilot-title>span{font-family:var(--font-display);font-size:42px;color:var(--nx-accent-ink);line-height:1}.nx-pilot-title h4{font-size:21px;margin:0}.nx-lab-dl{display:grid;gap:18px}.nx-lab-dl>div{display:grid;grid-template-columns:122px 1fr;gap:18px;border-top:1px solid var(--nx-line);padding-top:17px}.nx-lab-dl dt{font-size:11px;font-weight:600;color:var(--nx-muted)}.nx-lab-dl dd{font-size:14px;margin:0}
.nx-controls{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px}.nx-controls--single,.nx-controls--stack{grid-template-columns:1fr}.nx-controls label{display:grid;gap:8px;font-size:11px;color:var(--nx-muted);font-weight:600}.nx-controls input,.nx-controls select{width:100%;min-width:0;min-height:46px;font-size:13px;font-weight:400;padding:11px 12px;border-radius:8px;border:1px solid var(--color-border-strong);background:var(--color-bg);color:var(--color-heading)}.nx-controls select{padding-right:26px}.nx-controls input[aria-invalid]{border-color:#bd5656}.nx-priorities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.nx-priorities>div{border-top:1px solid var(--nx-line);padding-top:16px}.nx-priorities b{color:var(--nx-accent-ink);font-size:24px;font-family:var(--font-display);font-weight:400}.nx-priorities h4{font-size:14px;margin:10px 0}.nx-priorities p{font-size:12px;line-height:1.8}
.nx-journey{display:grid;list-style:none!important;margin:12px 0!important;padding:0!important}.nx-journey li{display:flex;gap:20px;padding-bottom:22px;position:relative}.nx-journey li:last-child{padding-bottom:0}.nx-journey li:before{content:"";position:absolute;width:1px;left:19px;top:41px;bottom:0;background:var(--nx-line)}.nx-journey li:last-child:before{display:none}.nx-journey li>span{width:39px;height:39px;border:1px solid var(--nx-line);border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:12px;color:var(--nx-accent-ink);font-family:var(--font-display)}.nx-journey h4{font-size:15px;margin:6px 0}.nx-journey p{font-size:13px;color:var(--nx-muted);line-height:1.7}
.nx-metric-layout{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.nx-metric-layout .nx-controls{margin:0}.nx-retention{text-align:center}.nx-ring{width:184px;height:184px;border-radius:50%;padding:9px;background:conic-gradient(#58bbab var(--retention),var(--nx-line) 0);margin:0 auto 18px;transform:rotate(-0deg)}.nx-ring>div{height:100%;border-radius:50%;background:var(--nx-paper);display:flex;flex-direction:column;align-items:center;justify-content:center}.nx-ring strong{font-family:var(--font-display);font-size:44px;font-weight:400;line-height:1.3}.nx-ring span{font-size:11px;color:var(--nx-muted)}.nx-retention p{font-size:12px;line-height:1.75;margin-bottom:10px}.nx-lab .nx-lab-error{font-size:13px;color:var(--color-heading);border-left:3px solid #ba7070;padding:12px;margin-top:20px;background:#ba707014}.nx-noscript{font-size:12px;margin-top:20px!important;padding:12px;border:1px solid var(--nx-line)}

.nx-lab-head h3{text-transform:uppercase;font-size:26px;font-weight:500;letter-spacing:.01em}.nx-lab :focus-visible{outline:2px solid var(--color-teal);outline-offset:4px}.nx-lab{margin-block:42px!important}.art__body .nx-lab p{margin-bottom:16px}.art__body .nx-lab .nx-lab-note{margin-bottom:0}
@media(max-width:580px){
.nx-lab{padding:21px 17px;border-radius:16px;margin-bottom:44px}
.nx-lab-head h3{font-size:27px}
.nx-lab-head p{font-size:14px}
.nx-tabs{gap:4px;padding:4px}
.nx-tabs button{font-size:11px;padding:10px 7px}
.nx-panel>p{font-size:13px}
.nx-controls{grid-template-columns:1fr;gap:15px}
.nx-controls input,.nx-controls select{font-size:16px}
.nx-priorities{grid-template-columns:1fr;gap:12px}
.nx-priorities>div{display:grid;grid-template-columns:29px 1fr;gap:4px 12px}
.nx-priorities b{grid-row:span 2;font-size:24px}
.nx-priorities h4{font-size:15px;margin:1px 0 5px}
.nx-priorities p{font-size:13px;margin:0}
.nx-lab-dl>div{grid-template-columns:1fr;gap:5px}
.nx-lab-dl dd{font-size:13px}
.nx-pilot-title h4{font-size:18px}
.nx-metric-layout{grid-template-columns:1fr;gap:24px}
.nx-ring{width:172px;height:172px}
.nx-journey li{gap:13px}
.nx-journey h4{font-size:14px}
.nx-panel svg text{font-size:20px}.nx-panel svg .nx-graph-caption{font-size:18px}}

