.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:#111;color:white;padding:15px}.skip-link:focus{top:12px}
:focus-visible{outline:3px solid var(--tick);outline-offset:5px}button,a{touch-action:manipulation}button{cursor:pointer}
.nav{padding:28px 48px 0;grid-template-columns:1fr auto;gap:24px}.nav .links{gap:25px}.nav .right{display:none}
.explore{position:relative;max-width:1600px;margin:auto;padding:60px 48px 24px;display:grid;grid-template-columns:38% 62%;min-height:850px;color:var(--ink)}
.intro{position:relative;z-index:3;pointer-events:none}.intro>*{pointer-events:auto}.intro h1{font-size:clamp(48px,5.2vw,80px);letter-spacing:-.055em;line-height:1.01;margin:8px 0 26px;font-weight:800}.intro h1 span{color:var(--tick)}
.intro p{font-size:20px;line-height:1.5;color:#585856;max-width:450px}.intro .cta-row{gap:16px;margin-top:28px;flex-wrap:nowrap}.intro .cta{font-size:11px;letter-spacing:.12em;padding:20px 25px;gap:10px;white-space:nowrap}.intro .cta img{width:15px;filter:invert(1)}.intro .resume-link{background:transparent;color:var(--ink);border:1px solid #777}.intro .resume-link img{filter:none}
.project-preview{margin-top:34px;padding:24px 26px;border:1px solid #b6b6b4;border-radius:12px;background:#eaeae9;min-height:270px;box-shadow:0 10px 30px #00000004}.preview-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.preview-top span,.micro{font:11px 'JetBrains Mono',monospace;letter-spacing:.13em;text-transform:uppercase;color:#626260}.preview-top span::before{content:'';display:inline-block;width:7px;height:7px;background:var(--tick);border-radius:50%;margin-right:10px}.preview-top button{padding:6px}.preview-top img{width:16px}.project-preview h2{font-size:27px;letter-spacing:-.04em;margin:20px 0 15px}.project-preview p{font-size:16px;color:#30302e;margin:10px 0 20px;line-height:1.5}.preview-tags{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 23px}.preview-tags span{font:11px 'JetBrains Mono',monospace;border:1px solid #c7c7c5;border-radius:5px;padding:8px}.preview-link{display:inline-flex;align-items:center;gap:10px;color:#bd3607;font-weight:600;font-size:15px}.preview-link img{width:18px}.project-preview[hidden]{display:none}
.universe{position:relative;min-height:700px;isolation:isolate}.map-portrait{position:absolute;left:42.5%;top:8%;width:auto;height:83%;aspect-ratio:3/4;transform:translateX(-50%);object-fit:contain;mix-blend-mode:normal;z-index:1;pointer-events:none}
.connections{position:absolute;width:100%;height:100%;inset:0;overflow:visible;z-index:2;pointer-events:none}.orbit{fill:none;stroke:#aaa;stroke-width:1;stroke-dasharray:3 5}.route{fill:none;stroke:#aaa;stroke-width:1.2;transition:stroke .3s}.route.active{stroke:var(--tick);stroke-width:2}.signal{fill:none;stroke:var(--tick);stroke-width:4;stroke-linecap:round;stroke-dasharray:1 99;animation:transmit 12s linear infinite}.signal.s2{animation-delay:-6s}.signal.s3{animation-delay:-3s}.signal.s4{animation-delay:-9s}
.map-node{position:absolute;z-index:4;display:flex;align-items:center;gap:12px;text-align:left;max-width:270px;border-radius:40px;padding:5px 10px 5px 5px;background:#e0e0e0ed}.map-node .node-icon{display:grid;place-items:center;border-radius:50%;border:1px solid #aaa;width:58px;height:58px;flex-shrink:0;background:#e9e9e8;transition:background .25s,box-shadow .25s}.node-icon img{width:25px;height:25px}.map-node strong{display:block;font-size:17px;letter-spacing:-.03em}.map-node small{display:block;font:11px 'JetBrains Mono',monospace;color:#626260;margin-top:7px;line-height:1.5}.map-node[aria-pressed=true] .node-icon{background:var(--tick);border-color:var(--tick);box-shadow:0 0 0 5px #ff5a1f24}.map-node[aria-pressed=true] img{filter:invert(1)}.map-node:hover .node-icon{box-shadow:0 0 0 7px #ff5a1f20}.map-node[data-visited=true] strong::after{content:' ·';color:#be3d0c}.node-impact{top:0;left:10%}.node-agents{top:14%;left:65%}.node-lab{top:59%;left:68%}.node-journey{top:87%;left:46%}
.orb-trigger{position:absolute;left:28%;top:25%;width:65px;height:65px;z-index:5;border-radius:50%;border:1px solid transparent;background:transparent}.orb-trigger:hover,.orb-trigger:focus-visible{border-color:var(--tick);box-shadow:0 0 0 10px #ff5a1f15}.orb-trigger::after{content:'Send a signal';position:absolute;white-space:nowrap;left:50%;top:110%;transform:translateX(-50%);font:10px 'JetBrains Mono',monospace;background:#111;color:white;padding:8px 10px;border-radius:4px;opacity:0;transition:opacity .2s}.orb-trigger:hover::after,.orb-trigger:focus-visible::after{opacity:1}.burst .signal{animation-duration:1.2s;stroke-width:6}.burst .node-icon{animation:node-flash 1.2s ease-out}.burst .node-agents .node-icon{animation-delay:.15s}.burst .node-lab .node-icon{animation-delay:.3s}.burst .node-journey .node-icon{animation-delay:.45s}
.constellation{fill:none;stroke:var(--tick);stroke-width:1.5;opacity:0}.celebrating .constellation{animation:constellation 4s ease both}.explore-bar{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #b7b7b5;padding:28px 0 22px;margin-top:10px}.explore-controls{display:flex;align-items:center;gap:18px}.explore-controls button{font:11px 'JetBrains Mono',monospace;color:#474745;display:flex;align-items:center;gap:8px;min-height:40px}.explore-controls img{width:15px}.explore-controls kbd{border:1px solid #aaa;padding:4px 7px;border-radius:4px}.explore-hint{font:11px 'JetBrains Mono',monospace;color:#626260}.exploration-status{font:12px 'JetBrains Mono',monospace;color:#a9320a;min-height:18px;margin-top:12px}
.command-dialog{border:1px solid #454545;background:#141413;color:#eee;width:min(600px,calc(100% - 32px));border-radius:15px;padding:26px;box-shadow:0 28px 100px #0006}.command-dialog::backdrop{background:#15151566;backdrop-filter:blur(5px)}.command-head{display:flex;justify-content:space-between;align-items:center;font:11px 'JetBrains Mono',monospace;letter-spacing:.15em;color:#bbb}.command-head button{padding:8px;color:#ddd}.command-dialog label{display:block;font:12px 'JetBrains Mono',monospace;margin:24px 0 10px;color:#ccc}.command-dialog input{box-sizing:border-box;width:100%;border:1px solid #686868;border-radius:7px;background:transparent;padding:17px;color:white;font:19px 'JetBrains Mono',monospace;caret-color:var(--tick)}.command-results{display:grid;gap:3px;margin:16px 0}.command-results button{color:#eee;text-align:left;padding:15px 14px;border-radius:6px}.command-results button:hover,.command-results button:focus-visible{background:var(--tick);color:#111}.command-results small{display:block;color:#bbb;font-size:12px;margin-top:5px}.command-results button:hover small,.command-results button:focus-visible small{color:#222}.command-help{font:11px 'JetBrains Mono',monospace;color:#aaa;line-height:1.7}.secret-note{border-top:1px solid #555;padding-top:18px;line-height:1.65}.secret-note h3{color:#ff8659}.secret-note p{color:#ddd}.command-empty{padding:16px;font-size:14px;color:#ccc}
.motion-paused *, .motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important;scroll-behavior:auto!important}.motion-paused .constellation{animation:none!important}.motion-paused .celebrating .constellation{opacity:1}.section{scroll-margin-top:24px}#agentlink,#nexus-project{scroll-margin-top:24px}
@keyframes transmit{to{stroke-dashoffset:-100}}@keyframes node-flash{30%{box-shadow:0 0 0 16px #ff5a1f25}100%{box-shadow:0 0 0 0 #ff5a1f00}}@keyframes constellation{0%,100%{opacity:0}20%,80%{opacity:.8}}
@media(min-width:1600px){.explore{min-height:930px}.universe{min-height:780px}}
@media(max-width:1150px){.nav .links{gap:15px;font-size:10px}.explore{padding:45px 30px 20px;grid-template-columns:40% 60%}.intro h1{font-size:54px}.intro p{font-size:17px}.intro .cta{padding:17px 18px;font-size:10px}.map-node{gap:7px;max-width:210px}.map-node strong{font-size:14px}.map-node small{font-size:9px}.map-node .node-icon{width:46px;height:46px}.node-agents{left:60%}.node-lab{left:61%}.universe{min-height:670px}.project-preview{padding:20px}.project-preview h2{font-size:24px}}
@media(max-width:800px){.nav{padding:25px 24px 0}.nav .links{display:flex;gap:18px}.nav .links a:nth-child(1),.nav .links a:nth-child(4),.nav .links a:nth-child(5){display:none}.nav .brand{font-size:11px;letter-spacing:.1em}.explore{display:flex;flex-direction:column;padding:35px 24px 12px;min-height:0}.intro{display:contents}.intro h1{font-size:clamp(42px,8vw,65px);max-width:600px;order:0;margin-bottom:5px}.intro>p{order:1;max-width:530px}.intro .cta-row{order:2;margin-top:10px}.universe{order:3;width:100%;min-height:0;height:auto;aspect-ratio:1.12;margin-top:35px}.map-portrait{top:3%;left:41.5%;height:90%}.map-node strong{font-size:13px}.map-node small{font-size:9px;max-width:130px}.node-impact{left:0;top:0}.node-agents{left:auto;right:0;top:18%}.node-lab{left:auto;right:0;top:62%}.node-journey{top:87%;left:31%}.project-preview{order:4;margin-top:30px;min-height:0}.exploration-status{order:5}.explore-bar{order:6;flex-wrap:wrap;margin-top:0;padding-top:8px}.orb-trigger{left:27%;top:22%;width:50px;height:50px}.explore-hint{font-size:10px}.explore-controls{gap:15px}.node-icon img{width:21px}.project-preview p{max-width:none}}
@media(max-width:430px){.nav .links{gap:12px}.nav .brand{font-size:9px}.nav .links a{font-size:9px}.explore{padding-left:20px;padding-right:20px}.map-node{max-width:168px}.map-node .node-icon{width:38px;height:38px}.map-node strong{font-size:12px}.map-node small{font-size:8px}.node-agents{top:23%}.node-lab{top:65%}.node-journey{top:89%}.universe{aspect-ratio:.95}.explore-hint{line-height:1.7}.intro .cta{padding:17px 21px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.celebrating .constellation{opacity:1}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.explore{min-height:0;padding-top:55px}.intro h1{font-size:clamp(48px,4.5vw,72px)}.universe{min-height:660px}.map-portrait{mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 94%,transparent);mask-composite:intersect}.connections{z-index:0}.orb-trigger{left:28%;top:23%}#projects{padding-top:32px}.nav .links a{color:#454543}.nav .links a.active::after{display:none}
@media(max-width:800px){.explore{padding-top:35px}.intro h1{font-size:clamp(42px,8vw,65px)}.universe{min-height:0}.orb-trigger{left:27%;top:22%}}

@media(max-width:430px){.nav{grid-template-columns:1fr;gap:14px}.nav .brand{font-size:11px;white-space:nowrap}.nav .links{justify-content:flex-start;gap:24px}.nav .links a{font-size:10px}.map-node small{font-size:9px}.map-node{max-width:180px}.node-impact{max-width:205px}.map-portrait{top:10%;height:80%}.node-journey{left:28%}.node-journey small{max-width:150px}}

.orb-trigger{left:27%;top:17%}.preview-tags{display:grid;grid-template-columns:repeat(3,1fr)}.preview-tags span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:84px;text-align:center}.preview-tags img{width:25px;height:25px}@media(max-width:800px){.orb-trigger{left:20%;top:10%}}

/* Keep map geometry independent of preview text and its grid row height. */
.universe{align-self:start;height:clamp(660px,50vw,780px);min-height:0}
/* Normalize the source's ~224 gray to white before multiply compositing.
   White contributes no tint; the source's real shadows remain visible. */
.map-portrait{filter:brightness(1.14);mix-blend-mode:multiply}
.portrait-shadow{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;mix-blend-mode:multiply}
@media(max-width:800px){.universe{height:auto;aspect-ratio:1.12}}
@media(max-width:430px){.universe{aspect-ratio:.95}}

.universe{background:var(--bg)}.explore{overflow-anchor:none}@media(min-width:801px){.project-preview{min-height:390px}}
