/* 9senses ML Explainer 2.0 - baseline-compatible, self-contained fallbacks */
.nsx{
  --nsx-a:var(--nsx-accent,#58A7F9);
  --nsx-ink:rgba(255,255,255,.8);
  --nsx-head:rgba(214,214,214,.88);
  --nsx-muted:rgba(255,255,255,.5);
  --nsx-tw:'Special Elite','Courier New',monospace;
  --nsx-body:'Open Sans',Helvetica,Arial,sans-serif;
  position:relative;width:100%;color:var(--nsx-ink);font-family:var(--nsx-body);isolation:isolate;
}
.nsx-top{display:grid;grid-template-columns:minmax(150px,168px) 1fr;
  gap:clamp(16px,2.2vw,28px);align-items:stretch}
.nsx-steps{list-style:none!important;margin:0!important;padding:0!important;
  display:flex;flex-direction:column;justify-content:space-between}
.nsx-steps li{margin:0!important;padding:0!important}
.nsx-step{appearance:none;border:0;background:transparent;cursor:pointer;width:100%;
  display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:baseline;text-align:left;
  padding:4px 6px 4px 9px;border-left:2px solid transparent;color:var(--nsx-muted);
  font-family:var(--nsx-tw);font-size:clamp(14px,1.25vw,17px);line-height:1.2;
  transition:color .45s ease,border-color .45s ease,background .45s ease}
.nsx-step:hover,.nsx-step:focus-visible{color:#fff;outline:none;background:rgba(255,255,255,.04)}
.nsx-step.nsx-on{color:#fff;border-left-color:var(--nsx-a);
  background:linear-gradient(90deg,rgba(255,255,255,.05),transparent 72%)}
.nsx-step-num{font-size:.76em;color:rgba(255,255,255,.3);text-align:right}
.nsx-step.nsx-on .nsx-step-num{color:var(--nsx-a)}
.nsx-step-label{display:block}
.nsx-stage{position:relative;width:100%;overflow:visible}
.nsx-canvas{position:absolute;inset:0;width:100%;height:100%}
.nsx-node{position:absolute;z-index:3;display:grid;place-items:center;
  pointer-events:none;text-align:center;font-family:var(--nsx-tw);font-weight:400;
  letter-spacing:.04em;text-transform:lowercase;color:rgba(255,255,255,.58);
  transition:color .9s ease,border-color .9s ease,box-shadow .9s ease}
.nsx-node{transform:translate(-50%,-50%);width:clamp(74px,8vw,94px);height:clamp(34px,3.4vw,42px);
  border:1px solid rgba(255,255,255,.18);border-radius:999px;
  font-size:clamp(12px,1.05vw,15px);line-height:1;text-shadow:0 0 9px rgba(0,0,0,.7)}
.nsx-node.nsx-on,.nsx-core.nsx-on{color:#fff;
  border-color:color-mix(in srgb,var(--nsx-a) 65%,rgba(255,255,255,.3));
  box-shadow:0 0 22px color-mix(in srgb,var(--nsx-a) 26%,transparent)}
.nsx-progress{height:2px;background:rgba(255,255,255,.12);margin:clamp(14px,1.8vw,22px) 0 0;overflow:hidden}
.nsx-progress span{display:block;height:100%;width:0;background:var(--nsx-a);
  transition:width 1.2s cubic-bezier(.4,0,.2,1)}
.nsx-detail{position:relative;margin-top:clamp(16px,2vw,24px)}
.nsx-panel{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .5s ease;pointer-events:none}
.nsx-panel.nsx-on{position:relative;opacity:1;visibility:visible;pointer-events:auto}
.nsx-panel-title{font-family:var(--nsx-tw)!important;font-weight:400!important;
  font-size:clamp(18px,1.75vw,23px)!important;line-height:1.2!important;
  color:var(--nsx-head)!important;margin:0 0 10px!important;padding:0!important;white-space:normal}
.nsx-panel-cols{display:grid;grid-template-columns:1fr minmax(200px,.66fr);
  column-gap:clamp(20px,2.6vw,34px);row-gap:0;align-items:start}
.nsx-panel-main p{margin:0;font-size:clamp(14px,1.05vw,16px);line-height:1.62}
.nsx-facet{margin:0 0 12px}
.nsx-facet:last-child{margin-bottom:0}
.nsx-facet b{display:block;font-family:var(--nsx-tw);font-weight:400;
  font-size:clamp(12px,1vw,14px);color:var(--nsx-a);margin:0 0 3px;letter-spacing:.02em}
.nsx-facet p{margin:0;font-size:clamp(12.5px,.95vw,14px);line-height:1.55;color:rgba(255,255,255,.66)}
@media (max-width:820px){
  .nsx-top{grid-template-columns:1fr;gap:14px}
  .nsx-steps{flex-direction:row;flex-wrap:wrap;gap:2px 10px}
  .nsx-step{width:auto;grid-template-columns:auto auto;padding:3px 8px 3px 7px}
  .nsx-panel-cols{grid-template-columns:1fr;row-gap:14px}
}
@media (prefers-reduced-motion:reduce){
  .nsx-step,.nsx-node,.nsx-core,.nsx-panel,.nsx-progress span{transition:none!important}
}
