/* One surface, one set of marks. The outer line is the deployment boundary. */
.deployment-workspace,.product-workspace,.cloud-shell .product-workspace{background:transparent;border:0;box-shadow:none}
.deployment-workspace>strong,.product-workspace>strong{font:26px/1.1 var(--serif);font-weight:400;color:var(--ink)}
.deployment-workspace .boundary-modules,.product-workspace>div{gap:28px;margin-top:18px}
.deployment-workspace .boundary-modules>div,.product-workspace>div>span{font-size:9px;line-height:1.4;gap:9px;color:#63799e}
.boundary-modules [data-product-icon],.product-workspace [data-product-icon]{background:none;border:0}
/* Paths are sequenced with their nodes by motion.js, including tab changes. */
.context-atlas.visual-arrived .context-route{animation:none;stroke-dasharray:none;stroke-dashoffset:0}
svg.harness-route{display:block;width:100%;height:57px;overflow:visible;fill:none;stroke:#b9caff70;stroke-width:1}
.harness-route path{vector-effect:non-scaling-stroke}
.harness-lab:has([data-model="open"][aria-pressed="true"]) .harness-route path:nth-child(1),
.harness-lab:has([data-model="frontier"][aria-pressed="true"]) .harness-route path:nth-child(2),
.harness-lab:has([data-model="own"][aria-pressed="true"]) .harness-route path:nth-child(3){stroke:#e6edff;stroke-width:1.25}
.context-graph>svg{overflow:visible}
@media(max-width:760px){
 .deployment-workspace .boundary-modules,.product-workspace>div{gap:24px}
 .deployment-workspace>strong,.product-workspace>strong{font-size:25px}
}
@media(prefers-reduced-motion:reduce){
 .visual-awaiting{opacity:1}
 .visual-arrived .connector-port,.visual-arrived .memory-layer,.visual-arrived .memory-pixel,.visual-arrived .vault-transfer rect{animation:none}
 .vault-transfer rect{transform:translateX(55px)}
}
