body:not(.in-lab):not(.in-lab-hub){background:#060707;color:#ddd;overflow:hidden}
.video,.wash,.grain,.home .hero,.hint{display:none!important}
.home{position:fixed;inset:0;padding:0;min-height:0;display:block}
#home-graph{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab;background:#060707}
#home-graph.dragging{cursor:grabbing}
#graph-canvas,#graph-labels{position:absolute;inset:0;width:100%;height:100%}
#graph-labels{pointer-events:none}
.graph-node{position:absolute;left:0;top:0;pointer-events:auto;border:0;background:none;color:#808585;padding:10px 13px;text-align:left;white-space:nowrap;cursor:pointer;opacity:var(--node-opacity,.7);transform:translateY(-50%) scale(var(--node-scale,1));transform-origin:left center;font:600 clamp(12px,1.3vw,19px)/1.2 Arial,'Microsoft YaHei',sans-serif;letter-spacing:.06em;transition:color .25s,opacity .18s;will-change:left,top,transform,opacity;text-shadow:0 1px 12px #000}
.graph-node::before{content:'';position:absolute;left:-2px;top:50%;width:4px;height:4px;border-radius:50%;background:#a1aaaa;box-shadow:0 0 8px #a1aaaa44}
.graph-node small{display:block;margin-top:6px;font:9px/1.4 monospace;letter-spacing:.18em;color:#555c5d}
.graph-node.ready{font-size:clamp(24px,3vw,44px);color:#c8cece}
.graph-node:hover,.graph-node:focus-visible{color:white;opacity:1!important;outline:0;text-shadow:0 0 15px rgba(225,235,235,.45),0 1px 12px #000}
.graph-node:focus-visible{outline:1px solid #aaa;outline-offset:3px}
.graph-preview{position:absolute;bottom:100%;left:12px;width:100px;height:130px;object-fit:cover;border-radius:3px;opacity:0;transform:translateY(8px);transition:.25s;pointer-events:none}
.graph-node:hover .graph-preview,.graph-node:focus-visible .graph-preview{display:none}
.graph-guide{position:absolute;bottom:27px;left:0;width:100%;text-align:center;color:#656b6b;font:10px monospace;letter-spacing:.18em;pointer-events:none}.graph-guide span{margin-left:20px;font-size:9px}
#graph-reset{position:absolute;right:28px;bottom:24px;background:none;border:0;color:#787f7f;cursor:pointer;font-size:11px;padding:10px}
body:not(.in-lab):not(.in-lab-hub) .nav{color:#ddd;padding-top:22px}
body:not(.in-lab):not(.in-lab-hub) .brand,body:not(.in-lab):not(.in-lab-hub) .links button,body:not(.in-lab):not(.in-lab-hub) .talk{color:#d4d7d7}
.nav .links{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:15px}
.nav .hamburger i{background:#d4d7d7}.mobile{background:#080a0af5}.mobile button{color:#ddd}
@media(max-width:760px){.graph-node{font-size:11px;padding:12px 9px}.graph-node small{font-size:7px;letter-spacing:.09em}.graph-node.ready{font-size:25px}.graph-guide{bottom:24px;font-size:9px}.graph-guide span{display:none}#graph-reset{right:9px;bottom:47px;font-size:10px}.graph-preview{width:76px;height:98px}.nav .links{display:none}.nav .brand b{font-size:22px}}
@media(prefers-reduced-motion:reduce){.graph-node,.graph-preview{transition:none}}
.nav .works-nav-link{color:#d4d7d7;text-decoration:none;cursor:pointer}.nav .works-nav-link:after{content:' /';margin-right:.3em}.nav .works-nav-link:hover{text-decoration:underline;text-underline-offset:4px}
.mobile .works-mobile-link{color:#ddd;text-decoration:none;font-size:38px;font-weight:600;letter-spacing:-.08em;text-align:left}
@media(max-width:760px){.mobile .works-mobile-link{min-height:56px;font-size:clamp(34px,11vw,48px)}}
