/* Celestial Nodes / Show the Work — a responsive expression of the public story. */
:root{--cs-cyan:#66e5fa;--cs-mint:#6aebc2;--cs-blue:#72baff;--cs-violet:#b19aff;--cs-coral:#ff899d;--cs-gold:#ffd166;--cs-line:#64d8f42e;--cs-ink:#061225;--cs-muted:#b4c8da}
html{scroll-padding-top:116px}body{background:#030915;color:#edf6ff}body:after{opacity:.19}
.ns-wrap{width:calc(100% - clamp(32px,5vw,180px));max-width:none;margin-inline:auto}
body .site-header{background:#040c19ed;border-bottom:1px solid #74cde126;backdrop-filter:blur(18px)}
.header-inner{min-height:86px}.primary-nav{gap:clamp(14px,1.45vw,36px)}.primary-nav a{font-size:clamp(12px,.83vw,18px)}
.app-background{opacity:.24}.ambient-canvas{opacity:.75}.app-background::after{background:linear-gradient(180deg,#03091533,#030915a8 50%,#03091555)}
.ns-kicker{color:var(--cs-cyan);letter-spacing:.16em;font-size:clamp(11px,.77vw,15px);line-height:1.7}
h1,h2,h3{text-wrap:balance}p{line-height:1.8}body h2{letter-spacing:-.045em;line-height:1.08}body h2 em{font-style:normal;color:var(--cs-gold)}
.ns-btn{min-height:48px;border-radius:4px;padding:15px 23px;font-weight:600}.ns-btn-primary,.ns-btn-story{color:#071220;background:var(--cs-gold);border-color:var(--cs-gold);box-shadow:0 7px 30px #ffd16614}.ns-btn-primary:hover{background:#ffe29b;border-color:#ffe29b}.ns-btn-ghost{background:#081a2bd9;border-color:#6cdaef52}
body .logo-lead{padding:clamp(45px,5vw,110px) 0 58px;background:radial-gradient(ellipse at 20% 0%,#15296755,transparent 55%)}
body .logo-opening-grid{grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:clamp(28px,4vw,110px);align-items:center}
body .logo-opening-copy{display:block;grid-column:1;grid-row:1;max-width:none;padding:0;background:none;border:0;box-shadow:none}
body .logo-showcase{grid-column:2;grid-row:1;min-width:0;border-color:#6adcf638;box-shadow:0 0 80px #1484c014}
body .logo-opening-title{font:650 clamp(46px,5.4vw,112px)/1.01 system-ui,sans-serif;letter-spacing:-.058em;margin:22px 0 25px;max-width:13ch;color:#eff8ff}
body .logo-opening-copy .logo-opening-title span{color:var(--cs-gold);background:none;-webkit-text-fill-color:currentColor}
body .logo-lead .logo-stage{height:auto;max-height:none;aspect-ratio:16/9}body .logo-opening-copy .ns-actions{flex-direction:row;flex-wrap:wrap;max-width:none;margin-block:25px}body .logo-opening-copy .ns-inline-note{margin-top:22px}
body .logo-opening-copy>p:not(.ns-kicker):not(.logo-opening-title){font-size:clamp(16px,1.15vw,24px);max-width:52ch;color:var(--cs-muted)}
body .logo-opening-copy .ns-inline-note{font-size:13px!important}.cs-hero-tag{display:inline-flex;align-items:center;gap:9px;margin-bottom:15px;padding:8px 12px;border:1px solid #7bdec32b;border-radius:3px;color:var(--cs-mint);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.cs-hero-tag:before{content:"";width:6px;height:6px;background:currentColor;border-radius:50%}
body .logo-toolbar,body .logo-caption{background:#050f20ea}body .logo-toolbar{flex-wrap:wrap;gap:12px}.logo-stage{max-height:none}.logo-tabs{flex-wrap:wrap}.logo-tabs button{min-height:40px}
.cs-manifesto{display:flex;justify-content:space-between;gap:20px;padding:27px 0;border-block:1px solid var(--cs-line);margin-top:44px;color:#8bbacc;font-size:clamp(10px,.8vw,17px);text-transform:uppercase;letter-spacing:.15em}
.cs-section{padding:clamp(64px,6.5vw,150px) 0;border-bottom:1px solid var(--cs-line);position:relative;isolation:isolate;scroll-margin-top:110px}
.cs-section-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:end;gap:clamp(26px,5vw,120px);margin-bottom:clamp(32px,4vw,75px)}
.cs-section-head h2{font-size:clamp(35px,4vw,84px);margin:15px 0 0;max-width:23ch}.cs-section-head>p{max-width:58ch;font-size:clamp(16px,1.06vw,23px);color:var(--cs-muted);margin:0}
.cs-contract{background:linear-gradient(115deg,#061327e8,#06152799 65%,#161630c9)}
.cs-contract:before{content:"";position:absolute;inset:0;z-index:-1;background:url('/assets/images/project-northstar-hero-1600.webp') center 43%/cover no-repeat;opacity:.16;pointer-events:none}
.cs-proof-graph{height:150px;text-align:center;position:relative;color:var(--cs-gold);font-size:11px;letter-spacing:.17em}.cs-proof-graph span{display:inline-block;background:#071b30;border:1px solid #ffd16644;padding:11px 18px;position:relative;z-index:1}.cs-proof-graph svg{position:absolute;inset:12px 0 0;width:100%;height:138px;overflow:visible;fill:#bcf4ff;stroke:#79dff5;stroke-width:1}.cs-proof-line{fill:none;stroke-dasharray:11 16;animation:cs-flow 6s linear infinite;animation-play-state:paused;opacity:.55}
.cs-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.7vw,36px)}
.cs-proof-card{--accent:var(--cs-cyan);position:relative;display:flex;flex-direction:column;text-align:left;min-width:0;min-height:210px;padding:clamp(24px,2.6vw,58px);color:var(--cs-muted);background:#0b2640df;border:1px solid color-mix(in srgb,var(--accent) 26%,transparent);border-radius:9px;cursor:pointer;transition:background .3s,border-color .3s,box-shadow .3s}
.cs-proof-card:nth-child(2){--accent:var(--cs-mint)}.cs-proof-card:nth-child(3){--accent:var(--cs-blue)}.cs-proof-card:nth-child(4){--accent:var(--cs-violet)}.cs-proof-card:nth-child(5){--accent:var(--cs-coral)}.cs-proof-card:nth-child(6){--accent:var(--cs-gold)}
.cs-proof-card[aria-pressed=true]{border-color:var(--accent);background:#103350ed;box-shadow:0 0 30px color-mix(in srgb,var(--accent) 12%,transparent)}.cs-step{color:var(--accent);font-size:clamp(11px,.8vw,16px);font-weight:600;letter-spacing:.08em}.cs-proof-card strong{font-size:clamp(21px,1.65vw,35px);color:#eef8ff;letter-spacing:-.025em;margin:20px 0 10px}.cs-proof-card>span:last-child{font-size:clamp(14px,.94vw,19px);line-height:1.75;max-width:44ch}
.cs-proof-detail{display:flex;align-items:center;gap:32px;justify-content:space-between;background:#07172cb8;border-bottom:1px solid var(--cs-line);padding:24px 0;min-height:126px;color:var(--cs-muted)}.cs-proof-detail p{max-width:96ch;margin:0;font-size:clamp(14px,1vw,20px)}.cs-proof-detail strong{color:white}.cs-tour-toggle{flex:none;background:#0d2840;border:1px solid #6bdaf558;border-radius:4px;color:#e9faff;padding:12px 18px;min-height:44px;cursor:pointer}.cs-contract-rule{font-size:clamp(13px,1.08vw,24px);color:#f4e5bb;text-transform:uppercase;letter-spacing:.055em;text-align:center;margin:34px auto 14px}.cs-caption{color:#91acbf;font-size:clamp(12px,.76vw,16px);line-height:1.7;margin-top:18px}.cs-contract>.ns-wrap>.cs-caption{text-align:center}
.cs-node-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(32px,5vw,120px);align-items:center}.cs-node-map{position:relative;aspect-ratio:5/3;min-height:420px;border:1px solid var(--cs-line);background:radial-gradient(ellipse,#12507666,transparent 65%),#041326b3;border-radius:8px;overflow:hidden}.cs-node-map svg{position:absolute;inset:0;width:100%;height:100%;stroke:#75d9ee66;fill:none;stroke-width:1.4;stroke-dasharray:9 10;animation:cs-flow 10s linear infinite;animation-play-state:paused}.cs-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;width:clamp(70px,8vw,138px);height:clamp(70px,8vw,138px);border-radius:50%;background:#081a31;border:1px solid #638fa9;color:#e4f8ff;cursor:pointer}.cs-node strong{font-size:clamp(12px,1.15vw,22px)}.cs-node span{font-size:clamp(9px,.68vw,14px);color:#9eb8cb}.cs-node[aria-pressed=true]{border-color:var(--cs-gold);box-shadow:0 0 0 7px #ffd1660a,0 0 30px #ffd16618}.cs-node-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(120px,13vw,210px);aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid var(--cs-cyan);box-shadow:0 0 0 10px #72e4ff0a,0 0 70px #34c8ff24;background:#07304ade}.cs-node-core>span{font-size:10px;letter-spacing:.13em;color:var(--cs-cyan)}.cs-node-core strong{font-size:clamp(19px,2vw,34px);line-height:1.12;margin:10px 0}.cs-node-core small{font-size:9px;color:#a9c9df}.cs-node-reading h3{font-size:clamp(32px,3.3vw,64px);margin:15px 0}.cs-node-reading>p{color:var(--cs-muted);max-width:48ch}.cs-node-reading dl{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:32px 0}.cs-node-reading dt{color:var(--cs-cyan);font-size:12px;text-transform:uppercase;letter-spacing:.1em}.cs-node-reading dd{margin:8px 0 0;color:#c4d7e4;font-size:14px}.cs-node-reading .cs-gold-note{color:var(--cs-gold);border-left:2px solid #ffd16670;padding-left:18px}
.cs-lab{background:linear-gradient(140deg,#071a2cbf,#091226bf)}.cs-lab-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:start}.cs-lab-visual,.cs-lab-controls{border:1px solid var(--cs-line);background:#06172bcc;border-radius:8px;padding:clamp(23px,3vw,65px);min-width:0}.cs-formula{color:var(--cs-cyan);font:500 clamp(22px,2.5vw,45px)/1.6 ui-monospace,Consolas,monospace;margin:0 0 20px}.cs-formula span{display:block;font-size:.55em;color:#aebee6}.cs-lab-visual svg{width:100%;height:auto;overflow:hidden}.cs-plot-grid{fill:none;stroke:#90c6e422;stroke-width:1}.cs-curve{fill:none;stroke:var(--cs-cyan);stroke-width:3}.cs-tangent{fill:none;stroke:var(--cs-gold);stroke-width:2}.cs-lab-visual circle{fill:var(--cs-gold)}.cs-lab-visual text{fill:#a5c6d9;font:18px ui-monospace,monospace}.cs-lab-controls label{display:flex;justify-content:space-between;margin:0 0 12px;font-size:14px;color:#d8eefa}.cs-lab-controls input{width:100%;accent-color:var(--cs-gold);margin-bottom:22px}.cs-lab-controls select{width:100%;min-height:46px;background:#102b43;color:white;border:1px solid #75d7ed55;border-radius:3px;padding:10px 14px;font:inherit}.cs-results{margin:24px 0}.cs-results>div{border-top:1px solid var(--cs-line);padding:17px 0}.cs-results dt{font-size:11px;color:#9ebbcf;text-transform:uppercase;letter-spacing:.1em}.cs-results dd{font:500 clamp(16px,1.5vw,25px)/1.5 ui-monospace,Consolas,monospace;color:var(--cs-cyan);margin:8px 0 0;overflow-wrap:anywhere}.cs-results>div:last-child dd{color:var(--cs-gold)}.cs-lab-limit{font-size:13px;color:#a5bdcf}.cs-lab-controls [role=status]{display:block}.cs-method{border:1px solid var(--cs-line);border-radius:5px;margin-top:25px;padding:22px 25px;background:#071a2e}.cs-method summary{cursor:pointer;color:#dff6ff;min-height:30px}.cs-method pre{overflow:auto;background:#041121;padding:22px;color:#a4e9df;font-size:14px;line-height:1.9}.cs-method p{max-width:95ch;font-size:14px;color:#aabfd0}
.cs-research-grid,.cs-plane-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,45px)}.cs-research-grid article,.cs-plane-grid article{border:1px solid var(--cs-line);border-top:2px solid #76d9f17a;background:linear-gradient(145deg,#0e2940e8,#06152de0);padding:clamp(25px,3vw,60px);border-radius:5px;min-width:0}.cs-research-grid article:nth-child(2){border-top-color:var(--cs-violet)}.cs-research-grid article:nth-child(3){border-top-color:var(--cs-gold)}.cs-research-grid h3,.cs-plane-grid h3{font-size:clamp(23px,2.25vw,43px);line-height:1.2;letter-spacing:-.04em;margin:23px 0}.cs-research-grid p,.cs-plane-grid p{font-size:clamp(14px,.97vw,20px);color:var(--cs-muted)}.cs-research-grid .cs-equation{font:500 clamp(13px,1.08vw,23px)/1.8 ui-monospace,monospace;color:var(--cs-gold);padding:20px 0;border-block:1px solid var(--cs-line);overflow-wrap:anywhere}.cs-plane-grid article>span{font-size:11px;letter-spacing:.1em;color:var(--cs-cyan)}
.cs-lattice-section{padding-block:80px}.cs-lattice-section .lattice{max-width:none;margin:0}.cs-lattice-section .lattice-viewport{height:clamp(430px,45vw,800px)}
body .ns-page-hero{padding-top:clamp(60px,7vw,150px);padding-bottom:clamp(60px,6vw,130px);background:radial-gradient(ellipse at 85% 15%,#19437044,transparent 60%)}body .ns-page-hero h1{font-size:clamp(42px,5.2vw,108px);line-height:1.02;letter-spacing:-.055em;max-width:20ch}
body .ultra-chapter-heading{background:linear-gradient(90deg,#040d1ee6,#061427aa);padding:clamp(22px,3vw,55px);border-left:1px solid #78e1ff55}body .ultra-stage{border-radius:6px;background-color:#05122580}.ns-card,.ns-qualify-card,.ns-callout,.ns-prose details{border-color:var(--cs-line);background-color:#081a30c4}
body .story-page-hero{padding:clamp(60px,6vw,130px) 0}body .story-page-hero-grid{grid-template-columns:1.1fr .9fr;gap:6vw}body .story-page-hero h1{font-size:clamp(45px,5.6vw,112px);letter-spacing:-.055em;line-height:1.02}.story-cover-card{transform:none!important}.story-section{padding-block:clamp(60px,6vw,140px)}.story-section h2{font-size:clamp(35px,4vw,84px)}.story-section-head{gap:5vw}.story-mode-card{padding:clamp(25px,2.8vw,60px);background:#0b2640e8;border-color:var(--cs-line)}.story-mode-card h3{font-size:clamp(22px,1.8vw,38px)}.story-mode-card p{font-size:clamp(14px,1vw,22px)}.story-wide-visual{display:none}.story-node,.story-node.core{animation-play-state:paused}
body[data-motion=playing] [data-cs-visible=true] .story-node,body[data-motion=playing] [data-cs-visible=true].cs-node-map svg,body[data-motion=playing] [data-tour-playing=true] .cs-proof-line{animation-play-state:running}
body[data-motion=paused] *{animation-play-state:paused!important}.global-motion{z-index:1000;background:#0c263bea;border-color:#7de4fb70;min-height:44px;border-radius:4px}.cs-section button:focus-visible,.cs-section a:focus-visible,.cs-section input:focus-visible,.cs-section select:focus-visible{outline:3px solid var(--cs-gold);outline-offset:5px}
@keyframes cs-flow{to{stroke-dashoffset:-216}}
.cs-lab-visual .cs-math-probe{fill:#66e5fa;opacity:.8}
.cs-node-map{width:100%;min-width:0}
.cs-science-scene{position:relative;height:clamp(205px,19vw,340px);margin:25px -12px 12px;border-block:1px solid #76dcf51d;background:radial-gradient(ellipse,#10335377,transparent 70%);overflow:hidden;grid-column:1/-1}.cs-science-scene canvas{display:block;width:100%;height:100%}.cs-scene-note{position:absolute;bottom:10px;left:12px;right:12px;pointer-events:none;color:#7fa3bb;font:9px/1.6 ui-monospace,monospace;letter-spacing:.09em}.cs-fabric-scene{height:clamp(240px,24vw,410px);margin:0 0 30px;border:1px solid var(--cs-line);border-radius:6px}.cs-fabric-labels{position:absolute;top:22px;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);text-align:center;color:#a9d7e9;font:10px/1.6 ui-monospace,monospace;letter-spacing:.08em}.cs-science-scene:not([data-drawn=true]):before{content:"";position:absolute;left:25%;right:25%;top:25%;bottom:25%;border:1px solid #6ae4ff66;border-radius:50%;transform:rotate(-20deg);box-shadow:0 0 35px #3ebdff22}
@media(max-width:760px){.cs-fabric-labels{font-size:8px;letter-spacing:0;padding-inline:5px}.cs-science-scene{height:220px}.cs-fabric-scene{height:250px}.cs-scene-note{font-size:8px}}
@media(min-width:2000px){.logo-opening-copy .ns-actions{max-width:50ch}.cs-section-head>p{justify-self:end}.cs-proof-card{min-height:255px}.cs-node-map{min-height:600px}.ns-page-hero .ns-lead{font-size:clamp(20px,1.3vw,28px)}}
@media(max-width:1200px){body .logo-opening-grid{grid-template-columns:1fr}body .logo-opening-copy{grid-column:1;grid-row:1}body .logo-showcase{grid-column:1;grid-row:2}body .logo-opening-title{max-width:17ch;font-size:clamp(45px,7vw,90px)}body .logo-opening-copy>p:not(.ns-kicker){max-width:65ch}.cs-node-layout{grid-template-columns:1.1fr .9fr}.cs-lab-grid{grid-template-columns:1fr 1fr}.cs-research-grid{grid-template-columns:1fr}.cs-research-grid article{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px}.cs-research-grid .ns-kicker{grid-column:1/-1}.cs-research-grid h3{margin:12px 0}.cs-research-grid .cs-equation{margin:10px 0}.cs-research-grid article>p:last-child{grid-column:1/-1}}
@media(max-width:1000px){.cs-section-head{grid-template-columns:1fr;gap:23px}.cs-node-layout,.cs-lab-grid{grid-template-columns:1fr}.cs-node-map{min-height:460px}.cs-node{width:95px;height:95px}.cs-node-core{width:160px}.cs-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-proof-card{min-height:200px}.cs-plane-grid{grid-template-columns:1fr}.cs-plane-grid h3{margin:14px 0}.story-page-hero-grid{grid-template-columns:1fr!important}.cs-manifesto{letter-spacing:.08em;font-size:10px;flex-wrap:wrap}.cs-proof-graph{height:110px}.cs-proof-graph svg{height:98px}}
@media(max-width:760px){html{scroll-padding-top:86px}.header-inner{min-height:76px}.ns-wrap{width:calc(100% - 32px)}body .logo-lead{padding-top:35px}body .logo-opening-title{font-size:clamp(42px,9vw,68px)}body .logo-opening-copy>p:not(.ns-kicker):not(.logo-opening-title){font-size:16px}.logo-toolbar{padding:14px}.logo-tabs button{font-size:10px;padding:9px}.logo-caption{padding:14px;flex-wrap:wrap;gap:12px}body .logo-showcase{margin:0}.cs-section{padding-block:55px}.cs-section-head h2{font-size:clamp(32px,8vw,54px)}.cs-proof-graph{display:none}.cs-proof-grid{grid-template-columns:1fr}.cs-proof-card{min-height:0;padding:23px}.cs-proof-card strong{margin:14px 0 8px}.cs-proof-detail{min-height:0;align-items:flex-start;flex-direction:column;gap:17px}.cs-node-map{min-height:370px;aspect-ratio:auto}.cs-node{width:74px;height:74px}.cs-node-core{width:117px}.cs-node-core strong{font-size:19px}.cs-node-core>span{font-size:8px}.cs-node-core small{font-size:7px}.cs-node strong{font-size:12px}.cs-node span{font-size:8px}.cs-node-reading dl{gap:24px 18px}.cs-lab-visual,.cs-lab-controls{padding:22px}.cs-formula{font-size:25px}.cs-results dd{font-size:18px}.cs-method{padding:17px}.cs-method pre{font-size:11px;padding:14px}.cs-research-grid article{display:block}.cs-research-grid h3{font-size:27px;margin:18px 0}.cs-lattice-section .lattice-viewport{height:440px}.cs-manifesto{display:grid;grid-template-columns:1fr;gap:13px}body .ns-page-hero h1{font-size:clamp(39px,9vw,68px)}.story-node-map{min-height:460px}.story-download-cta .ns-actions{flex-wrap:wrap}.ns-btn{max-width:100%;white-space:normal;text-align:center}.cs-contract-rule{font-size:12px}.cs-node-map .cs-node:nth-of-type(1){top:12%}.cs-node-map .cs-node:nth-of-type(4){top:88%}}
@media(forced-colors:active){.cs-contract:before,.cs-proof-graph,.cs-node-map svg{display:none}.cs-section,.cs-proof-card,.cs-proof-detail,.cs-node,.cs-node-core,.cs-lab-controls,.cs-lab-visual,.cs-method,.cs-research-grid article,.cs-plane-grid article{background:Canvas;color:CanvasText;border:1px solid CanvasText;box-shadow:none}.cs-proof-card[aria-pressed=true],.cs-node[aria-pressed=true]{outline:3px solid Highlight}.cs-section p,.cs-section strong,.cs-section h2 em{color:CanvasText}.cs-curve{stroke:CanvasText}.cs-tangent{stroke:Highlight}}
@media(max-width:760px){body .logo-opening-grid{gap:35px}body .logo-opening-copy{grid-row:2}body .logo-showcase{grid-row:1}body .logo-lead .logo-stage-network{aspect-ratio:4/5}}
