.logo-stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 clamp(20px, 5vw, 76px) 36px;
  overflow: hidden;
}
.landing-intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  padding: clamp(96px, 16svh, 180px) 0 24px;
}
.logo-frame {
  width: min(220px, 41vw);
  height: min(24svh, 220px);
  display: grid;
  place-items: center;
}
.logo-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 1;
  transform: scale(1);
  transition: opacity 150ms ease-out, transform 240ms cubic-bezier(.23,1,.32,1);
}
.logo-frame img.changing {
  opacity: 0;
  transform: scale(.985);
}
.hero-wordmark {
  margin: 20px 0 0;
  color: var(--white);
  font: 400 clamp(25px, 3vw, 32px)/1.2 var(--serif);
  letter-spacing: -.015em;
  text-align: center;
  text-wrap: balance;
}
.home-copy {
  position: relative;
  width: min(100%, 1000px);
  margin-top: 28px;
  padding-top: 0;
  color: var(--smoke);
  animation: copy-arrive 700ms ease-out both;
}
.home-page .site-footer::before {
  content: "";
  display: block;
  width: min(100%, 1000px);
  margin: 0 auto 24px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #c90020 18%, #c90020 82%, transparent);
}
.home-lead {
  max-width: 660px;
  margin: 0 auto;
  color: var(--red);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  text-wrap: balance;
}
.home-lead span { color: inherit; font: inherit; }
.home-copy ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 17px 36px;
  position: relative;
  max-width: 660px;
  margin: 22px auto 0;
  padding: 0;
  list-style: none;
}
.home-copy li {
  position: relative;
  padding-left: 14px;
  font-size: 14px;
  line-height: 1.5;
  text-wrap: pretty;
}
.home-copy li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .65em;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #ba344e;
}
.home-copy code { color: #d8cbd0; font: .9em var(--mono); }
.home-principle {
  margin: 25px 0 0;
  color: #c5b8be;
  font-size: 12px;
  letter-spacing: .015em;
  text-align: center;
}
@keyframes copy-arrive {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 700px) {
  .site-head { padding-inline: 18px; }
  .logo-stage { padding-inline: 18px; padding-bottom: 24px; }
  .logo-frame { width: min(210px, 48vw); height: min(24svh, 210px); }
  .home-copy { width: min(100%, 1000px); margin-top: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .logo-frame img { transition: none; }
  .home-copy { animation: none; }
}


.early-access {
  width: min(100%, 64ch);
  margin-top: 36px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
  scroll-margin-top: 24px;
}
.early-access-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 16px; }
.early-access h2 { margin: 0; font: inherit; font-size: 15px; color: var(--white); }
.early-access-heading > span { color: var(--red); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.early-access > p { margin: 10px 0; color: var(--smoke); font-size: 12px; line-height: 1.6; }
.early-access .signup-note { font-size: 10px; }

.signup-label { display: block; margin: 15px 0 6px; font-size: 11px; color: var(--white); }
.signup-row { display: flex; gap: 8px; }
.signup-row input { flex: 1; min-width: 0; border: 1px solid #63545c; border-radius: 3px; padding: 11px 12px; background: #100c0f; color: var(--white); font: inherit; font-size: 13px; }
.signup-row button, #signup-retry { border: 1px solid #ed4962; border-radius: 3px; padding: 10px 14px; background: #a9102c; color: white; font: inherit; font-size: 11px; cursor: pointer; }
.signup-row button:disabled { background: #2d2026; border-color: #63545c; color: #bfb1b8; cursor: default; }
.signup-row input:focus-visible, .signup-consent input:focus-visible { outline: 2px solid white; outline-offset: 3px; }
.signup-consent { display: flex; gap: 9px; align-items: flex-start; margin: 12px 0; color: var(--smoke); font-size: 11px; }
.signup-consent input { margin: 3px 0 0; accent-color: var(--red); }
.signup-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.signup-status { color: #c8bfc3; font-size: 11px; min-height: 1.6em; }
.signup-status[data-error="true"] { color: #ffa6b4; }
.signup-note a { text-decoration: underline; text-underline-offset: 3px; }
@media(max-width:460px) { .signup-row { flex-direction: column; } .signup-row button { padding: 12px; } }

.early-access[hidden], .early-access [hidden] { display: none; }
.signup-success { margin-top: 22px; padding: 2px 0 2px 16px; border-left: 2px solid #a9102c; }
.signup-success h2 { margin: 0 0 8px; color: var(--white); font: inherit; font-size: 15px; font-weight: 500; }
.signup-success h2:focus { outline: none; }
.signup-success p { margin: 6px 0; max-width: 52ch; color: var(--smoke); font-size: 12px; line-height: 1.6; }
.early-access:has(.signup-success:not([hidden])) > .early-access-heading,
.early-access:has(.signup-success:not([hidden])) > p:not(.signup-note) { display: none; }

@media (max-width: 480px) {
  .logo-stage { padding-inline: 24px; }
  .landing-intro { padding: 96px 0 36px; }
  .logo-frame { width: 160px; height: 160px; }
  .home-copy ul { grid-template-columns: 1fr; gap: 12px; margin-top: 20px; }
  .home-copy li { font-size: 14px; }
  .home-principle { max-width: 30ch; margin: 22px auto 0; }
}


/* A front-facing workspace specimen. Interfaces above; local guarantees below. */
.home-machinery { width: min(100%, 1000px); margin: 40px 0 0; --diagram-line: var(--machinery-quiet, #333034); --diagram-red: var(--machinery-focus, #ec334e); }
.workspace-illustration { position:relative; display:grid; grid-template-columns:minmax(0, 3fr) 100px minmax(0,1.15fr); align-items:stretch; }
.workspace-machine { border:1px solid var(--diagram-line); border-radius:9px; background:linear-gradient(145deg,var(--machinery-panel, #141214),var(--machinery-inset, #080808) 70%); overflow:hidden; }
.machine-title { display:flex; align-items:center; gap:8px; min-height:42px; padding:0 17px; border-bottom:1px solid var(--machinery-quiet, #282529); color:var(--machinery-ink, #ded8dc); font:12px/1.4 var(--sans); }
.machine-dot { width:5px; height:5px; border-radius:50%; background:var(--machinery-focus, #d92442); box-shadow:0 0 10px color-mix(in srgb, var(--machinery-focus, #d92442) 25.1%, transparent); flex-shrink:0; }
.machine-meta { margin-left:auto; color:var(--machinery-metadata, #70696e); font-size:8px; letter-spacing:1px; }
.workspace-surfaces { display:grid; grid-template-columns:1fr 1fr; gap:25px; padding:23px 24px 0; }
.surface-title { display:flex; align-items:center; gap:9px; color:var(--machinery-ink, #e0d9dd); font:12px/1.4 var(--sans); margin-bottom:9px; }
.surface-icon { margin-left:auto; color:var(--machinery-metadata, #80777e); }
.surface p { margin:11px 0 0; color:var(--machinery-muted, #a396a0); font:11px/1.5 var(--sans); }
.terminal-demo,.browser-demo { height:155px; border:1px solid var(--machinery-quiet, #40363c); border-radius:4px; background:var(--machinery-inset, #080708); overflow:hidden; }
.terminal-demo { color:var(--machinery-muted, #d2c4cc); font:10px/1.5 var(--mono); display:flex; flex-direction:column; }
.tui-topbar { display:flex; gap:12px; align-items:center; height:23px; padding:0 8px; background:var(--machinery-panel, #20171d); border-bottom:1px solid var(--machinery-line, #5b3a4d); color:var(--machinery-muted, #b09aa7); font-size:8px; }
.tui-topbar b { color:var(--machinery-ink, #ead9e3); font-weight:500; }
.tui-topbar>span:last-child { margin-left:auto; color:var(--machinery-focus, #b97387); }
.tui-body { display:flex; flex:1; min-height:0; }
.tui-rail { width:23px; flex-shrink:0; border-right:1px solid var(--machinery-quiet, #3a2a34); display:flex; flex-direction:column; align-items:center; gap:9px; padding-top:7px; color:var(--machinery-metadata, #75616e); font-size:8px; }
.tui-rail b { color:var(--machinery-focus, #e85b78); font-weight:500; }
.terminal-split { display:grid; grid-template-columns:1.2fr 1fr; flex:1; min-width:0; }
.tui-pane { min-width:0; }
.tui-pane+.tui-pane { border-left:1px solid var(--machinery-line, #684355); }
.tui-pane header { display:flex; justify-content:space-between; height:20px; padding:3px 7px; border-bottom:1px solid var(--machinery-quiet, #3d2935); color:var(--machinery-muted, #aa94a2); font:8px/1.5 var(--mono); }
.tui-shell header { color:var(--machinery-ink, #ead1df); border-bottom-color:var(--machinery-focus, #a74666); background:var(--machinery-panel, #25131e); }
.tui-pane header>span { color:var(--machinery-muted, #9b657f); }
.tui-lines { padding:7px; overflow:hidden; white-space:nowrap; font-size:9px; line-height:1.65; }
.terminal-prompt,.terminal-cursor { color:var(--machinery-focus, #ed5273); font-weight:400; }
.tui-output { color:var(--machinery-metadata, #9a8b95); }
.tui-agent-label { color:var(--machinery-muted, #c4a6b8); font-size:8px; }
.tui-lines i { display:block; height:2px; width:75%; background:var(--machinery-line, #58414e); margin:6px 0; }
.tui-lines i:nth-of-type(2) { width:52%; }
.tui-lines i:nth-of-type(3) { width:65%; }
.tui-agent-status { color:var(--machinery-focus, #ae6b88); font-size:8px; }
.tui-status { height:18px; display:flex; gap:15px; align-items:center; padding:0 7px; background:var(--machinery-panel, #171016); border-top:1px solid var(--machinery-line, #48313e); color:var(--machinery-metadata, #8f7786); font-size:7px; }
.tui-status>span:last-child { margin-left:auto; }
.browser-address { height:21px; display:flex; align-items:center; gap:4px; padding:0 8px; border-bottom:1px solid var(--machinery-quiet, #30292e); }
.browser-address i { display:block; width:3px; height:3px; background:var(--machinery-line, #62545d); border-radius:50%; }
.browser-address span { margin:auto; color:var(--machinery-metadata, #8d7e87); font:7px var(--sans); }
.browser-canvas { position:relative; height:132px; background:radial-gradient(ellipse at 70% 80%,color-mix(in srgb, var(--machinery-quiet, #3b1020) 22.0%, transparent),transparent 80%); }
.mini-window { position:absolute; left:12px; top:13px; width:64%; height:70px; background:var(--machinery-inset, #100d10); border:1px solid var(--machinery-line, #4c3b46); border-radius:3px; }
.mini-window span { display:block; padding:3px 5px; border-bottom:1px solid var(--machinery-quiet, #33282f); color:var(--machinery-metadata, #96818e); font:7px var(--sans); }
.mini-window>i { display:block; color:var(--machinery-focus, #b9415b); margin:6px; font:8px var(--mono); }
.mini-window-front { left:auto; right:10px; top:49px; width:56%; height:64px; }
.mini-window-front>i { height:2px; width:60%; background:var(--machinery-line, #54404b); margin:6px; }
.mini-window-front>i:last-child { width:35%; }
.workspace-spine { height:33px; padding:4px 24px 0; }
.workspace-spine svg { width:100%; height:100%; fill:none; stroke:var(--machinery-line, #44333f); stroke-width:1; }
.workspace-foundation { display:grid; grid-template-columns:repeat(3,1fr); padding:0 14px 20px; }
.foundation-piece { text-align:center; padding:10px 3px 3px; }
.foundation-piece+ .foundation-piece { border-left:1px solid var(--machinery-panel, #252025); }
.foundation-piece svg { display:block; width:27px; height:27px; margin:0 auto 8px; fill:none; stroke:var(--machinery-metadata, #8b6f80); stroke-width:1.1; transition:stroke 600ms ease; }
.foundation-piece strong { display:block; color:var(--machinery-muted, #bbaeB6); font:11px/1.5 var(--sans); transition:color 600ms ease; }
.foundation-piece>span { display:block; margin-top:5px; color:var(--machinery-muted, #9d8b98); font:10px/1.4 var(--sans); }
.peer-connection { text-align:center; color:var(--machinery-muted, #a78c9b); font:10px/1.5 var(--sans); }
.peer-wire { display:block; width:100%; height:24px; overflow:visible; }
.peer-wire path { fill:none; stroke:var(--machinery-line, #49313f); stroke-width:1; }
.local-packet { fill:var(--machinery-focus, #ef3a56); stroke:none; opacity:0; }
.peer-packet { fill:var(--machinery-focus, #ef3a56); opacity:0; }
.peer-connection small { color:var(--machinery-metadata, #7d6b75); font-size:8px; }
.workspace-peer .machine-title { padding:0 12px; font-size:10px; }
.peer-stack { padding:10px 8px 0; }
.peer-stack svg { width:100%; height:130px; fill:none; stroke:var(--machinery-metadata, #6e5765); stroke-width:1; }
.peer-stack .peer-work { stroke:var(--machinery-focus, #d73c59); opacity:.25; transition:opacity 600ms ease; }
.workspace-peer p { margin:0 10px 18px; text-align:center; color:var(--machinery-muted, #c0aeba); font:11px/1.5 var(--sans); }
.peer-detail { border-top:1px solid var(--machinery-quiet, #2c2329); padding:13px 10px; color:var(--machinery-muted, #a28d9b); text-align:center; font:10px/1.7 var(--sans); }
.machinery-bottom { display:flex; justify-content:space-between; align-items:center; gap:15px; margin:20px 0 0; min-height:36px; }
.machinery-bottom p { display:flex; align-items:baseline; gap:14px; margin:0; font:11px/1.7 var(--sans); color:var(--machinery-muted, #aaa0a6); }
.machinery-step { white-space:nowrap; color:var(--machinery-focus, #d34a65); font-size:9px; font-variant-numeric:tabular-nums; letter-spacing:1px; }
.machinery-pause { flex-shrink:0; border:0; background:none; padding:8px 0 8px 12px; color:var(--machinery-metadata, #80767e); font:9px/1.5 var(--sans); cursor:pointer; }
.machinery-pause:hover { color:var(--machinery-focus, #e83b57); }
.machinery-pause:focus-visible { outline:2px solid var(--machinery-ink, #eee); outline-offset:4px; }
@media(max-width:700px) {
 .workspace-illustration { grid-template-columns:minmax(0,1fr); }
 .workspace-peer { max-width:280px; width:100%; justify-self:center; }
 .peer-connection { height:80px; position:relative; display:flex; align-items:center; justify-content:center; gap:20px; }
 .peer-wire { width:70px; transform:rotate(90deg); position:absolute; left:calc(50% - 35px); top:28px; }
 .peer-connection>span { margin-right:32px; }
 .peer-connection small { margin-left:32px; text-align:left; }
 .peer-stack { padding-top:0; }
 .peer-stack svg { height:90px; }
 .workspace-peer p { margin-bottom:10px; }
 .peer-detail { padding:9px; }
 .machinery-bottom { align-items:flex-start; }
 .machinery-bottom p { display:block; }
 .machinery-step { display:block; margin-bottom:5px; }
}
/* A phone stacks the two surfaces, so each keeps the size it has on a desktop. */
@media(max-width:460px) {
 .workspace-surfaces { grid-template-columns:minmax(0,1fr); gap:22px; padding:18px 14px 0; }
}
@media(max-width:420px) {
 .machine-title { padding-inline:13px; }
 .machine-meta { font-size:7px; letter-spacing:.5px; }
 .foundation-piece strong { font-size:10px; }
 .foundation-piece>span { max-width:10ch; margin:5px auto 0; font-size:8px; }
 .workspace-foundation { padding-inline:8px; }
}
@media(prefers-reduced-motion:reduce) { .foundation-piece :is(svg,strong),.peer-work { transition:none; } }

/* A single moving signal, preceded by a soft pulse at its origin. */
.workspace-flow { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; z-index:2; fill:none; }
.flow-track { stroke:var(--machinery-focus, #de4967); stroke-width:1; opacity:0; }
.flow-trail { stroke:var(--machinery-focus, #fa6b87); stroke-width:1.6; stroke-linecap:round; opacity:0; }
.flow-head { fill:var(--machinery-ink, #ffd8e1); stroke:var(--machinery-focus, #fa6b87); stroke-width:1; opacity:0; filter:drop-shadow(0 0 4px var(--machinery-focus, #ef446f)); }
.motion-node { position:relative; --source-glow:0; --arrival-glow:0; }
:is(.terminal-demo,.browser-demo).motion-node { box-shadow:0 0 0 1px rgb(var(--machinery-glow, 240 71 110) / calc(var(--source-glow) * .55)),0 0 22px rgb(var(--machinery-glow, 202 28 71) / calc(var(--source-glow) * .18)); }
.foundation-piece.motion-node::before,.peer-stack.motion-node::before { content:""; position:absolute; pointer-events:none; inset:-4px 0 30%; background:radial-gradient(ellipse at 50% 35%,rgb(var(--machinery-glow, 225 41 86) / calc((var(--source-glow) + var(--arrival-glow)) * .19)),transparent 70%); }
.foundation-piece.motion-node svg { stroke:var(--machinery-focus, rgb(calc(139 + (var(--source-glow) + var(--arrival-glow)) * 100) calc(111 + (var(--source-glow) + var(--arrival-glow)) * 12) calc(128 + (var(--source-glow) + var(--arrival-glow)) * 30))); transition:none; }
.peer-stack.motion-node svg { stroke:var(--machinery-focus, rgb(calc(110 + var(--arrival-glow) * 110) calc(87 + var(--arrival-glow) * 15) calc(101 + var(--arrival-glow) * 40))); }
.workspace-illustration[data-phase="0"] .tui-shell { background:var(--machinery-panel, #150d13); }
.workspace-illustration[data-phase="2"] .tui-agent-status { color:var(--machinery-ink, #e2a6bd); }
.workspace-illustration[data-phase="3"] .peer-work { opacity:1; }

.browser-demo .mini-window-front { transform:translateY(calc(var(--source-glow, 0) * -3px)); }
.tui-agent .tui-lines i { transform-origin:left; transform:scaleX(var(--work-progress,1)); }

.diagram-scroll { display:grid; place-items:center; flex-shrink:0; width:40px; height:40px; margin-top:24px; border:1px solid var(--machinery-quiet, #3b2c34); border-radius:50%; color:var(--machinery-muted, #bc8a9c); transition:color 180ms ease,border-color 180ms ease; }
.diagram-scroll svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; }
.diagram-scroll:hover { color:var(--machinery-focus, #f14968); border-color:var(--machinery-focus, #a83854); }
.diagram-scroll:focus-visible { outline:2px solid var(--machinery-ink, #f7eaf0); outline-offset:5px; }
.home-machinery { scroll-margin-top:16px; }
.home-machinery:focus { outline:none; }
@media(prefers-reduced-motion:reduce) { .diagram-scroll { transition:none; } }

.tui-agent header>.tui-agent-name { color:var(--machinery-muted, #d6b9ca); }
.tui-agent-identity { display:flex; align-items:center; gap:5px; height:24px; margin-bottom:2px; }
.tui-agent-logo { display:block; width:20px; height:20px; object-fit:contain; flex-shrink:0; }
.tui-agent-identity[data-tone="mono"] .tui-agent-logo { filter:invert(1); opacity:.9; }
.tui-agent-product { color:var(--machinery-muted, #c9b5c1); font:7px/1.3 var(--sans); white-space:normal; }
.tui-agent .tui-lines { padding-top:4px; }
.tui-agent .tui-lines i { margin:4px 0; }
.workspace-peer .machine-title { min-height:50px; }

.surface-protocol { display:block; margin-top:4px; color:var(--machinery-muted, #bd8299); font-size:9px; }

.pane-actions { display:flex; align-items:center; gap:4px; flex-shrink:0; color:var(--machinery-muted, #a8889b); }
.pane-actions svg { display:block; width:10px; height:10px; fill:none; stroke:currentColor; stroke-width:1; }
.tui-pane header { align-items:center; }
.tui-agent-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.window-actions { float:right; display:flex; gap:4px; color:var(--machinery-muted, #a8889b); }
.window-actions svg { display:block; width:7px; height:7px; fill:none; stroke:currentColor; stroke-width:1; }

.durability-strip { display:flex; align-items:center; gap:12px; padding:17px 20px; border-top:1px solid var(--machinery-line, #54303e); background:linear-gradient(100deg,color-mix(in srgb, var(--machinery-panel, #25101b) 50.2%, transparent),var(--machinery-inset, #100c0f)); }
.durability-icon { width:28px; height:28px; flex-shrink:0; fill:none; stroke:var(--machinery-focus, #d05b7a); stroke-width:1.1; }
.durability-strip strong { color:var(--machinery-ink, #e5c4d3); font:13px/1.4 var(--sans); }
.durability-strip p { color:var(--machinery-muted, #a98c9c); margin:5px 0 0; font:10px/1.55 var(--sans); }
.durability-status { margin-left:auto; max-width:12ch; color:var(--machinery-focus, #c67b97); font:9px/1.5 var(--sans); text-align:right; }
.workspace-surfaces .tui-body,.workspace-surfaces .browser-canvas { transition:opacity 200ms ease; }
.workspace-illustration[data-detached="true"] :is(.tui-body,.browser-canvas) { opacity:.22; }
.durability-strip.motion-node { box-shadow:inset 0 0 26px rgb(var(--machinery-glow, 225 41 86) / calc(var(--source-glow) * .12)); }
@media(max-width:420px){
 .durability-strip { gap:8px; padding:15px 12px; }
 .durability-strip strong { font-size:12px; }
 .durability-strip p { font-size:9px; }
 .durability-status { font-size:8px; }
}
@media(prefers-reduced-motion:reduce){ .workspace-surfaces :is(.tui-body,.browser-canvas){transition:none;} }

/* Experimental worlds sit below the peer, as a navigable atlas rather than a cloud. */
.peer-worlds { display:grid; grid-template-rows:auto minmax(190px,1fr); gap:22px; min-width:0; }
.peer-connection { align-self:start; margin-top:100px; }
.network-worlds { position:relative; min-width:0; border:1px solid var(--machinery-quiet, #382c35); border-radius:6px; background:linear-gradient(145deg,var(--machinery-panel, #120e12),var(--machinery-inset, #080808)); display:flex; flex-direction:column; overflow:hidden; }
.worlds-heading { display:flex; align-items:center; justify-content:space-between; gap:6px; padding:11px 10px 8px; border-bottom:1px solid var(--machinery-panel, #251c23); }
.worlds-heading strong { color:var(--machinery-muted, #c8b3c0); font:10px/1.4 var(--sans); }
.worlds-heading>span { color:var(--machinery-metadata, #806573); font:6px/1.4 var(--sans); letter-spacing:.6px; }
.worlds-map { display:block; width:100%; min-height:126px; flex:1; }
.worlds-topology { fill:none; stroke:var(--machinery-line, #644053); stroke-width:.8; }
.world-terminal { fill:var(--machinery-inset, #100d10); stroke:var(--machinery-metadata, #967187); stroke-width:.8; }
.world-canvas { fill:var(--machinery-panel, #110d12); stroke:var(--machinery-metadata, #785a79); stroke-width:.8; }
.world-outposts { fill:none; stroke:var(--machinery-metadata, #957386); stroke-width:.8; }
.world-walk { fill:none; stroke:var(--machinery-focus, #da6a91); stroke-width:1; stroke-dasharray:2 7; opacity:.22; }
.world-traveler { fill:var(--machinery-focus, #f2adca); opacity:.65; filter:drop-shadow(0 0 3px var(--machinery-focus, #b64072)); }
.worlds-key { display:grid; gap:5px; padding:9px 11px 12px; border-top:1px solid var(--machinery-panel, #251c23); color:var(--machinery-muted, #a38b99); font:8px/1.4 var(--sans); }
.worlds-key>span { display:flex; align-items:center; gap:6px; }
.worlds-key i { width:5px; height:5px; border:1px solid var(--machinery-muted, #ad7c95); }
.worlds-key .canvas-key { border-color:var(--machinery-metadata, #826a9a); transform:rotate(45deg); }
.world-link { fill:none; stroke:var(--machinery-metadata, #7b4763); stroke-width:.8; opacity:.5; }
.world-link-peer { stroke-dasharray:2 4; }
.world-signal { fill:var(--machinery-focus, #d882ae); opacity:0; filter:drop-shadow(0 0 3px var(--machinery-focus, #aa396c)); }
@media(max-width:700px){
 .peer-connection { margin-top:0; }
 .peer-worlds { justify-self:center; width:100%; max-width:342px; gap:22px; }
 .workspace-peer { max-width:none; }
 .network-worlds { min-height:230px; }
 .worlds-heading strong { font-size:12px; }
 .worlds-heading>span { font-size:7px; }
 .worlds-key { font-size:9px; }
}

/* Diagrams change only when asked; motion stays within the selected slide. */
.machinery-carousel { width:min(100%,1000px); margin:40px 0 0; scroll-margin-top:16px; }
.machinery-carousel:focus { outline:none; }
.carousel-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:25px; padding-bottom:16px; border-bottom:1px solid var(--machinery-quiet, #2b2028); }
.carousel-toolbar[hidden],.machinery-slide[hidden] { display:none; }
.carousel-topics { display:flex; gap:20px; }
.carousel-topics button { padding:8px 0; border:0; background:none; color:var(--machinery-metadata, #8f8089); font:12px/1.5 var(--sans); cursor:pointer; transition:color 180ms ease; }
.carousel-topics button[aria-pressed="true"] { color:var(--machinery-ink, #f2c4d5); box-shadow:0 1px var(--machinery-focus, #b73c63); }
.carousel-topics button:hover { color:var(--machinery-focus, #ee587c); }
.carousel-navigation { display:flex; gap:8px; align-items:center; }
.carousel-position { min-width:40px; color:var(--machinery-metadata, #8f7986); font:10px/1.5 var(--sans); font-variant-numeric:tabular-nums; }
.carousel-navigation button { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--machinery-quiet, #3b2b35); border-radius:50%; color:var(--machinery-muted, #d0acbf); background:var(--machinery-inset, #0c090c); font:17px var(--sans); cursor:pointer; }
.carousel-navigation button:hover { color:var(--machinery-focus, #ff9bbd); border-color:var(--machinery-metadata, #98506e); }
.carousel-toolbar button:focus-visible { outline:2px solid var(--machinery-ink, #f4e1eb); outline-offset:4px; }
.machinery-carousel .home-machinery { margin:0; width:100%; }
.carousel-stage { min-height:620px; }
.factory-diagram { margin:0; }
.factory-starters { display:flex; gap:18px; align-items:center; margin-bottom:16px; color:var(--machinery-muted, #b29aab); font:9px/1.6 var(--sans); }
.factory-starters>span:first-child { color:var(--machinery-metadata, #816676); font-size:7px; letter-spacing:.7px; }
.factory-plant { padding:12px; border:1px solid var(--machinery-line, #45313f); border-radius:7px; background:color-mix(in srgb, var(--machinery-inset, #100c10) 50.2%, transparent); }
.factory-plant-label { display:flex; align-items:baseline; gap:10px; padding:0 2px 12px; color:var(--machinery-muted, #9c8293); font:9px/1.5 var(--sans); }
.factory-plant-label strong { color:var(--machinery-muted, #d6b5cc); font-size:12px; font-weight:400; }
.factory-plant-label small { margin-left:auto; color:var(--machinery-metadata, #7f6577); font-size:8px; }
.factory-line { display:grid; position:relative; grid-template-columns:.92fr 1.2fr 1.3fr 1fr; gap:24px 18px; }
.factory-station { position:relative; min-width:0; padding:12px; border:1px solid var(--machinery-quiet, #3c2b38); border-radius:4px; background:linear-gradient(145deg,var(--machinery-panel, #171016),var(--machinery-inset, #0a080a)); --factory-origin:0; --factory-arrival:0; box-shadow:0 0 22px rgb(var(--machinery-glow, 182 47 104) / calc(var(--factory-origin) * .16)); }
.factory-station[data-current="true"] { border-color:var(--machinery-focus, #a8587e); }
.factory-station-title { display:flex; align-items:center; gap:7px; margin-bottom:13px; }
.factory-station-title>span { color:var(--machinery-muted, #ad6d8c); font:7px/1.4 var(--sans); letter-spacing:.5px; }
.factory-station-title h3 { margin:0; color:var(--machinery-ink, #e0c5d8); font:11px/1.4 var(--sans); }
.factory-station-title small { margin-left:auto; color:var(--machinery-metadata, #967587); font:8px var(--sans); }
.factory-order { grid-area:1/1; }
.factory-build { grid-area:1/2; }
.factory-checks { grid-area:1/3; }
.factory-run-store { grid-area:2/1; }
.factory-try { grid-area:2/2/3/4; }
.factory-release-lane { grid-area:1/4/3/5; display:flex; flex-direction:column; gap:12px; min-width:0; }
.factory-station p { margin:11px 0 0; color:var(--machinery-muted, #ac91a2); font:9px/1.65 var(--sans); }
.factory-tag { display:block; margin-top:10px; color:var(--machinery-focus, #bd769a); font:7px/1.55 var(--mono); }
.factory-spec { border-left:1px solid var(--machinery-metadata, #79465f); background:var(--machinery-inset, #0b080b); padding:9px; min-height:46px; }
.factory-spec>span { color:var(--machinery-muted, #c9aebf); font:9px/1.55 var(--sans); }
.factory-spec i { display:block; width:85%; height:2px; background:var(--machinery-line, #513746); margin-top:8px; }
.factory-spec i:last-child { width:60%; }
.factory-schematic-store { display:grid; gap:5px; padding:9px 0; margin-top:6px; border-bottom:1px solid var(--machinery-quiet, #30202c); color:var(--machinery-muted, #a68a9b); font:8px/1.5 var(--mono); }
.factory-schematic-store strong { color:var(--machinery-muted, #d0a7bd); font-weight:400; }
.factory-private-file { color:var(--machinery-muted, #c089aa); }
.factory-builder-boundary { padding:9px; border:1px solid var(--machinery-metadata, #7c4c68); background:color-mix(in srgb, var(--machinery-quiet, #28121e) 43.9%, transparent); border-radius:3px; }
.factory-box-title { display:flex; align-items:center; gap:6px; margin-bottom:9px; }
.factory-box-title svg { width:12px; height:12px; fill:none; stroke:var(--machinery-muted, #cba3bc); stroke-width:1; }
.factory-box-title strong { color:var(--machinery-ink, #dbafc7); font:9px var(--sans); }
.factory-box-title>span { margin-left:auto; color:var(--machinery-muted, #aa718d); font:7px var(--mono); }
.factory-builder { border:1px solid var(--machinery-line, #4e3043); background:var(--machinery-inset, #0c080b); border-radius:3px; overflow:hidden; }
.factory-builder-agents { display:flex; align-items:center; gap:7px; padding:7px; border-bottom:1px solid var(--machinery-quiet, #35222f); }
.factory-builder-agents span { color:var(--machinery-muted, #a38396); font:7px/1.4 var(--sans); }
.factory-build-code { padding:3px 7px; }
.factory-build-code i { display:block; width:90%; height:2px; background:var(--machinery-metadata, #915a78); margin:7px 0; transform-origin:left; transform:scaleX(var(--factory-code,1)); }
.factory-build-code i:nth-child(2) { width:65%; }.factory-build-code i:last-child { width:76%; }
.factory-public-checks { padding:7px; border-top:1px solid var(--machinery-quiet, #35222f); color:var(--machinery-muted, #c58aa8); font:7px/1.4 var(--mono); }
.factory-builder-boundary>p { font-size:8px; }
.factory-builder-boundary>code { display:block; margin-top:10px; color:var(--machinery-muted, #be91ab); font:7px/1.4 var(--mono); }
.factory-builder-boundary>small { display:block; margin-top:5px; color:var(--machinery-metadata, #896c7d); font:7px/1.5 var(--sans); }
.factory-base-store { margin-top:12px; color:var(--machinery-muted, #c5a6b9); font:9px var(--sans); }
.factory-base-store span { display:block; margin-top:5px; color:var(--machinery-metadata, #8e7284); font:7px/1.5 var(--mono); }
.factory-hidden-source { color:var(--machinery-muted, #c19ab3); font:8px/1.5 var(--sans); border-bottom:1px solid var(--machinery-line, #473044); padding-bottom:9px; }
.factory-candidate-seed { color:var(--machinery-muted, #bca0b4); font:8px/1.5 var(--sans); margin:10px 0 8px; }
.factory-candidate-seed span { color:var(--machinery-metadata, #8f6885); margin-left:8px; }
.factory-capsules { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; }
.factory-capsules>span { border:1px solid var(--machinery-line, #65415f); border-radius:2px; background:var(--machinery-panel, #1c101c); padding:8px 3px; text-align:center; color:var(--machinery-muted, #c29bb9); font:8px var(--mono); }
.factory-capsule-rule { font-size:8px!important; }
.factory-verdict-key { margin-top:11px; padding-top:10px; border-top:1px solid var(--machinery-line, #4a3045); color:var(--machinery-muted, #bf8fb0); font:8px/1.5 var(--sans); }
.factory-verdict-key strong { display:block; color:var(--machinery-muted, #d4b2ca); font-weight:400; margin-bottom:3px; }
.factory-verdict-key>span { display:block; font-size:7px; }
.factory-run-store { min-width:0; border:1px solid var(--machinery-quiet, #40303b); border-radius:4px; padding:13px 11px; background:var(--machinery-panel, #151015); display:flex; flex-direction:column; justify-content:center; gap:9px; }
.factory-run-store strong { color:var(--machinery-muted, #c8a8bd); font:11px var(--sans); font-weight:400; }
.factory-run-store>span { color:var(--machinery-muted, #9f8295); font:9px/1.5 var(--sans); }
.factory-run-store code { color:var(--machinery-muted, #b185a0); font:7px/1.5 var(--mono); overflow-wrap:anywhere; }
.factory-run-store small { color:var(--machinery-metadata, #806274); font:8px/1.5 var(--sans); }
.factory-try-surfaces { display:grid; grid-template-columns:1.2fr 1fr; gap:12px; }
.factory-try-window { border:1px solid var(--machinery-line, #62445a); border-radius:3px; background:var(--machinery-inset, #0a070a); overflow:hidden; }
.factory-try-window header { display:flex; justify-content:space-between; padding:6px 8px; border-bottom:1px solid var(--machinery-quiet, #402b39); color:var(--machinery-muted, #bb87a5); font:7px/1.5 var(--mono); }
.factory-try-window>div { display:flex; padding:7px; gap:7px; height:40px; }
.factory-try-window i { flex:1; border:1px solid var(--machinery-line, #52354d); border-top:3px solid var(--machinery-metadata, #915274); background:var(--machinery-panel, #20111d); opacity:var(--factory-preview,1); }
.factory-console { background:var(--machinery-inset, #0a070a); border:1px solid var(--machinery-line, #463040); padding:10px; display:flex; flex-direction:column; gap:8px; color:var(--machinery-muted, #a68198); font:7px/1.5 var(--mono); }
.factory-console>span:first-child { color:var(--machinery-muted, #d094b4); }
.factory-try-boundary { display:flex; gap:14px; margin-top:10px; color:var(--machinery-muted, #b87899); font:8px var(--sans); }
.factory-close-note { display:block; margin-top:9px; color:var(--machinery-metadata, #8b6d7f); font:8px/1.6 var(--sans); }
.factory-chair { display:flex; gap:8px; align-items:flex-start; padding:5px 3px; color:var(--machinery-muted, #ab8ba0); }
.factory-chair>svg { width:20px; height:20px; flex-shrink:0; fill:none; stroke:var(--machinery-muted, #b38ea8); stroke-width:1; }
.factory-chair strong { display:block; font:11px/1.4 var(--sans); color:var(--machinery-muted, #d2b2c7); }
.factory-chair span { display:block; margin-top:4px; font:8px/1.6 var(--sans); }
.factory-current-pass { padding:9px 0; border-block:1px solid var(--machinery-line, #593044); font:8px/1.5 var(--sans); }
.factory-current-pass strong { display:block; color:var(--machinery-ink, #dba5c1); font-weight:400; }
.factory-current-pass span { display:block; margin-top:5px; color:var(--machinery-muted, #a96d8a); font-size:7px; }
.factory-product { flex:1; }
.factory-recheck { color:var(--machinery-muted, #b886a4); font:8px/1.5 var(--sans); margin-bottom:8px; }
.factory-artifact { position:relative; width:54px; height:63px; margin:0 auto; }
.factory-artifact>svg { width:100%; height:100%; fill:var(--machinery-panel, #1b0d17); stroke:var(--machinery-muted, #a56a8d); stroke-width:1; }
.factory-artifact>strong { position:absolute; top:20px; left:18px; color:var(--machinery-ink, #e7c1d8); font:18px var(--serif); }
.factory-artifact>img { position:absolute; bottom:-2px; right:-3px; }
.factory-product code { color:var(--machinery-muted, #d3a3be); font-size:8px; }
.factory-install-note { display:block; margin-top:10px; color:var(--machinery-metadata, #8e6e81); font:8px/1.6 var(--sans); }
.factory-routes { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; z-index:2; fill:none; }
.factory-guide { stroke:var(--machinery-metadata, #84506e); stroke-width:.8; opacity:.4; }
.factory-route { stroke:var(--machinery-focus, #bb6b97); stroke-width:1; opacity:.3; }
.factory-trace { stroke:var(--machinery-ink, #f4b6dc); stroke-width:1.5; stroke-linecap:round; }
.factory-packet,.factory-feedback-packet { fill:var(--machinery-ink, #f3bfdc); filter:drop-shadow(0 0 3px var(--machinery-focus, #cf669f)); }
.factory-feedback { stroke:var(--machinery-muted, #a26490); stroke-width:.8; stroke-dasharray:2 4; opacity:.55; }
.factory-feedback-packet { opacity:0; }
.factory-caption { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:10px; min-height:32px; }
.factory-caption>p { display:flex; gap:13px; margin:0; color:var(--machinery-muted, #bca1b2); font:11px/1.6 var(--sans); }
.factory-step { white-space:nowrap; color:var(--machinery-focus, #c77da7); font-size:9px; }
.factory-pause { border:0; background:none; padding:8px 0 8px 12px; color:var(--machinery-metadata, #987e8e); font:9px var(--sans); cursor:pointer; white-space:nowrap; }
.factory-pause:focus-visible,.factory-reference summary:focus-visible { outline:2px solid var(--machinery-ink, #f0d8e7); outline-offset:4px; }
.factory-reference { margin-top:6px; border-top:1px solid var(--machinery-quiet, #33242f); color:var(--machinery-muted, #9d8294); font:11px/1.7 var(--sans); }
.factory-reference summary { cursor:pointer; padding:10px 0; color:var(--machinery-muted, #ba97ae); }
.factory-reference-body { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:5px 0 18px; }
.factory-reference h3 { margin:0 0 10px; color:var(--machinery-ink, #d7b7cc); font-size:12px; font-weight:400; }
.factory-reference p { margin:8px 0; }
.factory-reference dl { margin:0; }.factory-reference dt { color:var(--machinery-muted, #c4a0b6); margin-top:12px; }.factory-reference dd { margin:3px 0 0; }
.factory-reference code { color:var(--machinery-muted, #b98faa); font:9px/1.6 var(--mono); overflow-wrap:anywhere; }
.factory-planned { grid-column:1/-1; border:1px dashed var(--machinery-line, #574653); padding:15px; color:var(--machinery-metadata, #8d7c88); }
.factory-planned>span { display:inline-block; border:1px dashed var(--machinery-line, #564552); padding:7px 10px; margin:0 10px 6px 0; }
.factory-proof-note { padding-bottom:14px; color:var(--machinery-muted, #aa7d98); font-size:10px; }
@media(max-width:850px){
 .factory-line { grid-template-columns:1fr 1.2fr 1.3fr; gap:25px 16px; }
 .factory-release-lane { grid-area:3/1/4/4; display:grid; grid-template-columns:.8fr 1fr 1.2fr; align-items:stretch; gap:16px; }
 .factory-chair { padding:12px; }
}
@media(max-width:700px){
 .carousel-toolbar { align-items:flex-start; gap:10px; }.carousel-topics { flex-direction:column; align-items:flex-start; gap:3px; }.carousel-topics button { padding:5px 0; font-size:11px; }.carousel-navigation{gap:6px;}.carousel-position{font-size:9px;min-width:28px;}.carousel-stage{min-height:0;}
 .factory-starters { flex-wrap:wrap; gap:7px 14px; }.factory-starters>span:first-child{width:100%;}
 .factory-line { grid-template-columns:1fr 1fr; gap:25px 18px; }
 .factory-order { grid-area:1/1; }.factory-build{grid-area:1/2;}.factory-checks{grid-area:2/2;}.factory-run-store{grid-area:2/1;}.factory-try{grid-area:3/1/4/3;}.factory-release-lane{grid-area:4/1/5/3;grid-template-columns:1fr 1fr;}.factory-chair{grid-column:1/-1;}
 .factory-reference-body { grid-template-columns:1fr; }
 .factory-caption>p{display:block;}.factory-step{display:block;margin-bottom:4px;}
 .factory-plant-label small { display:none; }
}
@media(max-width:460px){
 .factory-plant { padding:10px; }.factory-line { display:flex;flex-direction:column;gap:24px; }.factory-release-lane{display:flex;flex-direction:column;}.factory-run-store{order:1;}
 .factory-station{padding:14px;}.factory-station p{font-size:11px;}.factory-station-title h3{font-size:13px;}.factory-station-title>span{font-size:8px;}
 .factory-builder-boundary>p,.factory-capsule-rule{font-size:10px!important;}.factory-builder-boundary>code{font-size:8px;}.factory-builder-boundary>small{font-size:9px;}
 .factory-hidden-source,.factory-candidate-seed,.factory-verdict-key,.factory-tag,.factory-try-boundary,.factory-close-note,.factory-chair span,.factory-current-pass,.factory-recheck,.factory-install-note{font-size:9px;}
 .factory-verdict-key>span,.factory-current-pass>span{font-size:8px;}.factory-try-surfaces{grid-template-columns:1fr;}.factory-console{font-size:9px;}.factory-try-window header{font-size:8px;}
 .factory-run-store{gap:8px;}.factory-run-store code{font-size:9px;}
}
@media(prefers-reduced-motion:reduce){.carousel-topics button,.theme-swatch{transition:none;}}
@keyframes diagram-enter { from { opacity:0; transform:translateX(6px); } to { opacity:1; transform:translateX(0); } }
.machinery-slide:not([hidden]) { animation:diagram-enter 220ms ease-out both; }
@media(prefers-reduced-motion:reduce){ .machinery-slide:not([hidden]) { animation:none; } }

.factory-line[data-station="2"] .factory-chair strong { color:var(--machinery-ink, #f0bddf); }

.factory-egress { color:var(--machinery-muted, #b27c99); border-top:1px solid var(--machinery-line, #513044); margin-top:9px; padding-top:7px; font:7px/1.5 var(--sans); }

/* Palette roles come from assets/themes.css; scope them to this carousel. */
.machinery-carousel[data-diagram-theme] { background:var(--machinery-bg, transparent); border-radius:8px; padding:18px; }
.carousel-theme { display:flex; align-items:center; gap:7px; margin-left:auto; color:var(--machinery-metadata,#8f8089); font:12px/1.5 var(--sans); }
.carousel-theme > span:first-child { margin-right:3px; }
.theme-swatch { flex-shrink:0; width:16px; height:16px; padding:0; border:1px solid var(--machinery-quiet,#3b2b35); border-radius:50%; background:radial-gradient(circle, var(--swatch-fill) 0 3.5px, var(--swatch-ground) 4px); cursor:pointer; transition:border-color .15s, transform .15s; }
.theme-swatch:hover { border-color:var(--machinery-metadata,#98506e); transform:scale(1.15); }
.theme-swatch[aria-pressed="true"] { border-color:var(--machinery-ink,#f2c4d5); box-shadow:0 0 0 2px var(--machinery-panel,#120d11), 0 0 0 3px var(--machinery-ink,#f2c4d5); }
.theme-swatch:focus-visible { outline:2px solid var(--machinery-focus,#ec9fbe); outline-offset:4px; }
.carousel-theme-name { min-width:118px; margin-left:5px; color:var(--machinery-ink,#f2c4d5); }
.world-grid-dot { fill:var(--machinery-line,#55404d); }
@media(max-width:700px) { .carousel-toolbar { flex-wrap:wrap; }.carousel-theme { order:3; width:100%; margin:3px 0 0; flex-wrap:wrap; row-gap:10px; }.carousel-navigation { margin-left:auto; } }
@media(max-width:460px) { .carousel-theme-name { flex-basis:100%; min-width:0; margin-left:0; } }
.machinery-carousel[data-diagram-theme="silkcircuit-dawn"] .tui-agent-identity[data-tone="mono"] .tui-agent-logo { filter:none; }
