/* Personal constellations: finite entrance motion, with deliberate direct manipulation. */
.milestone-atlas{margin:64px 0 60px;border-top:1px solid currentColor;padding-top:34px;color:var(--lt-ink,#282e31)}
.atlas-heading h3{font-size:clamp(25px,3vw,38px);font-weight:400;letter-spacing:-.04em;margin:12px 0}
.atlas-heading>p:last-child{font-size:13px;opacity:.65;margin:0}
.milestone-map{height:240px;position:relative;margin:15px 0 20px}
.milestone-map svg{position:absolute;width:100%;height:100%;overflow:visible;pointer-events:none}
.milestone-map path{stroke:#827563;stroke-width:1;fill:none;stroke-dasharray:3 6;opacity:.5}
.milestone-map button{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-15px);background:none;border:0;color:inherit;cursor:pointer;min-width:60px;padding:10px 5px;text-align:center;font:13px var(--f-body,Arial)}
.milestone-star{display:block;width:8px;height:8px;background:#837665;border-radius:50%;margin:0 auto 15px;position:relative}
.milestone-star:after{content:"";position:absolute;inset:-9px;border:1px solid #a68459;border-radius:50%;opacity:0;transition:opacity .25s,transform .25s;transform:scale(.7)}
.milestone-map button[aria-pressed=true] .milestone-star:after,.milestone-map button:hover .milestone-star:after{opacity:.8;transform:scale(1)}
.milestone-map small{display:block;font-size:10px;margin-top:6px;opacity:.65;white-space:nowrap}
.milestone-card{border-left:2px solid #a68459;padding:8px 0 8px 24px;max-width:650px;min-height:190px}
.milestone-card .label{font-size:11px;margin-bottom:12px}
.milestone-card h4{font-size:22px;font-weight:400;letter-spacing:-.025em;margin:0 0 12px}
.milestone-card>p:not(.label){font-size:15px;line-height:1.7;margin-bottom:16px}
.milestone-card a{font-size:12px;border-bottom:1px solid #a6845966;padding-bottom:4px}
.milestone-map button:focus-visible{outline:2px solid #a68459;outline-offset:3px}
.constellation-passage{position:relative;z-index:1;background:#192126;color:#edf0ef;padding:70px 0 85px;overflow:hidden}
.constellation-passage>.wrap{display:grid;grid-template-columns:.8fr 1.4fr;gap:48px;align-items:center}
.constellation-intro h2{font-size:clamp(30px,3.5vw,48px);font-weight:400;letter-spacing:-.045em;line-height:1.15;margin:16px 0 22px}
.constellation-intro>p:not(.label){font-size:15px;line-height:1.8;color:#aebcc2;max-width:34ch}
.constellation-intro>a{display:inline-block;margin-top:24px;font-size:12px;color:#cfb38e}
.constellation-workbench{min-width:0}
#constellationDrawing{display:block;width:100%;height:auto;overflow:visible;touch-action:pan-y}
.constellation-background circle{fill:#d0dce6;opacity:.32}
.constellation-link{stroke:#c3d0d9;stroke-width:1.1;opacity:.65;fill:none;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.5s ease,opacity .3s}
.constellation-passage.is-visible .constellation-link{stroke-dashoffset:0}
.constellation-link.elastic{stroke:#e1b77d;stroke-width:1.8;opacity:1}
.constellation-joint{fill:#edf5ff;filter:drop-shadow(0 0 5px #afcbe1);pointer-events:none}
.constellation-hit{fill:transparent;cursor:grab;touch-action:none}
.constellation-hit:active{cursor:grabbing}
.constellation-halo{fill:none;stroke:#d6be99;stroke-width:1;opacity:.55;pointer-events:none}
.constellation-caption{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #ffffff22;padding-top:16px;font-size:10px;letter-spacing:.03em;color:#b5c0c7}
.constellation-caption span:first-child{color:#dfc39c}
.constellation-scrub{display:flex;align-items:center;gap:18px;font-size:11px;color:#aebcc2;margin:22px 0 16px}
.constellation-scrub input{min-width:0;flex:1;accent-color:#d2b189;height:30px;cursor:ew-resize}
.constellation-states{display:flex;gap:9px;flex-wrap:wrap}
.constellation-states button{background:transparent;border:1px solid #ffffff25;border-radius:50%;color:#d9e1e5;width:40px;height:40px;font:12px var(--f-mono,monospace);cursor:pointer}
.constellation-states button[aria-pressed=true]{background:#d2b189;color:#192126;border-color:#d2b189}
.constellation-states button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.constellation-footnote{font-size:11px;line-height:1.6;color:#91a1ab;max-width:65ch;margin:20px 0 0}
@media(max-width:760px){
 .milestone-map{height:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:25px 10px;margin:34px 0}
 .milestone-map svg{display:none}.milestone-map button{position:static;transform:none;min-height:76px;font-size:12px}.milestone-card{min-height:220px;padding-left:18px}
 .constellation-passage>.wrap{grid-template-columns:1fr;gap:16px}.constellation-passage{padding:50px 0}.constellation-intro>p:not(.label){max-width:48ch}.constellation-intro>a{margin-top:8px}.constellation-caption{font-size:11px}.constellation-states button{width:44px;height:44px}
}
@media(prefers-reduced-motion:reduce){.constellation-link{transition:none;stroke-dashoffset:0}.milestone-star:after{transition:none}}

body.constellation-active #inst{opacity:0!important;visibility:hidden;pointer-events:none}
.constellation-passage{padding-left:var(--pad,24px);padding-right:var(--pad,24px)}
.milestone-map{height:310px;max-width:820px;margin:35px auto 70px}.milestone-map svg{height:100%}.milestone-map path{stroke-dasharray:none;stroke-opacity:.4}.milestone-atlas{border-top-color:#86786633}
.mechanism-choices{display:flex;gap:10px;flex-wrap:wrap}.mechanism-choices button,.connected-demo button{padding:10px 14px;color:#dbe4e9;border:1px solid #ffffff30;background:none;cursor:pointer;font:12px var(--f-body,Arial)}
.mechanism-choices button[aria-pressed=true],.connected-demo button[aria-pressed=true]{background:#cfb38e;color:#192126}.mechanism-choices button:focus-visible,.connected-demo button:focus-visible{outline:2px solid white;outline-offset:3px}
#mechanismDescription{font-size:12px;line-height:1.7;color:#aebcc2;margin:18px 0 0}.connected-demo{margin-top:26px;border-top:1px solid #ffffff20;padding-top:18px}.connected-demo summary{cursor:pointer;font-size:13px;color:#cfb38e}.connected-demo>p{font-size:12px;line-height:1.6;color:#aebcc2}.connected-demo svg{display:block;width:100%;height:auto}.connected-demo #connectedStates{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:760px){.milestone-map{display:block;height:300px;margin:25px 0 50px}.milestone-map svg{display:block}.milestone-map button{position:absolute;transform:translate(-50%,-15px);font-size:10px;min-height:60px}.milestone-map small{font-size:8px}.milestone-map button[data-milestone=spacex]{left:84%}.milestone-map button[data-milestone=cambridge]{left:15%}}
