@font-face{font-family:Arimo;src:url('../assets/fonts/arimo-variable.ttf') format('truetype');font-weight:400 700;font-display:swap}
:root{color-scheme:light;--ink:#20252d;--muted:#737d88;--blue:#287bd1;--green:#31916e;--amber:#bd8529;--line:#e6eaee;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;color:var(--ink);background:#f5f5f7}
*{box-sizing:border-box}body{margin:0}button{font:inherit}button:focus-visible,.graph-scroll:focus-visible{outline:3px solid #75b6ef;outline-offset:4px}button{touch-action:manipulation}.demo-stage{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px 48px 28px}.dashboard{width:min(1040px,100%);background:#fff;border:1px solid #dce1e6;border-radius:14px;box-shadow:0 25px 75px -35px #142e4c35,0 3px 12px #22385006;overflow:hidden}.toolbar{height:42px;padding:0 21px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(#fff,#fcfcfd);border-bottom:1px solid var(--line)}.brand,.toolbar-right{display:flex;align-items:center;gap:15px}.wordmark{font-family:Arimo,sans-serif;font-weight:600;font-size:18px;letter-spacing:-.85px;color:#0d274c}.divider{height:14px;width:1px;background:#dfe3e8}h1{font-size:12px;font-weight:550;letter-spacing:-.1px;margin:0;color:#646e79}.live-label{display:flex;align-items:center;gap:6px;font-size:10px;color:#6e7a86}.live-label i{width:5px;height:5px;border-radius:50%;background:var(--green)}.pause-button{border:0;background:transparent;color:#717d88;padding:6px;display:grid;place-items:center;border-radius:5px;cursor:pointer}.pause-button:hover{background:#edf2f6;color:#1e5286}.pause-button svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.case-strip{min-height:56px;display:flex;align-items:center;justify-content:space-between;padding:9px 22px 8px;border-bottom:1px solid #eef0f3;gap:20px}.eyebrow{font-size:8px;letter-spacing:1.5px;color:#8b949e;font-weight:650;display:flex;gap:10px;align-items:center}.eyebrow span{font-family:var(--mono);letter-spacing:.1px;color:#939da7;font-weight:400}h2{margin:0}.case-heading h2{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:590;letter-spacing:-.25px;margin-top:5px}.case-heading h2>span:first-child{color:#7b8691;font-weight:430;font-size:12px}.case-dot{color:#bac1c8;font-size:10px}.case-facts{display:flex;margin:0;gap:30px}.case-facts div{min-width:60px}.case-facts dt{font-size:9px;color:#8b959f;margin-bottom:4px}.case-facts dd{font-size:11px;margin:0;font-weight:560;font-variant-numeric:tabular-nums}.flow-section{background:linear-gradient(180deg,#fdfefe,#fbfcfe)}.flow-overline{display:flex;align-items:center;justify-content:space-between;padding:10px 22px 0;font-size:9px;color:#71808e;line-height:13px}.flow-overline>span:first-child{display:flex;align-items:center;gap:5px}.flow-overline b{font-weight:600;color:#3e556b;font-family:var(--mono)}.agent-key{width:5px;height:5px;border-radius:2px;background:#6488a9;display:inline-block}.quiet{color:#9ba4ad}.dot-separator{margin:0 6px;color:#bcc5cc}.graph-scroll{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#cfd8e0 transparent}.graph{width:100%;min-width:860px;min-height:280px;aspect-ratio:1024/300;position:relative;container-type:inline-size}.connections{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.flow-edge{stroke:#d6e0e8;stroke-width:1.1;fill:none;marker-end:url(#flow-arrow);color:#c8d3dd;transition:stroke .4s}.flow-edge.active{stroke:#83afd8;color:#79a7d1}.flow-edge.visited{stroke:#becedb;color:#b8cbd8}.source-path{stroke:#dce5eb;stroke-width:.7;stroke-dasharray:2 4;opacity:0;fill:none;transition:opacity .4s}.source-path.receiving{opacity:.85}.packet-halo{fill:#77afe4;opacity:.16}.packet{fill:#4e96d7}.packet.external{fill:#6eacbc}.packet.warn{fill:#cb9a50}.node{position:absolute;left:calc(var(--x)*100%/1024);top:calc(var(--y)*100%/336);width:12.3046875%;height:19.047619%;padding:7px 9px 6px;border:1px solid #e0e6eb;background:#fff;border-radius:8px;box-shadow:0 2px 4px #1b324405;transition:border-color .35s,box-shadow .35s,background .35s;overflow:hidden}.node-top{display:flex;align-items:center;justify-content:space-between;height:12px;gap:2px}.node-icon{color:#6d889e;display:block;width:13px;height:13px}.node-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.node-state{font-size:7px;letter-spacing:.15px;color:#a4adb5;display:flex;gap:3px;align-items:center;white-space:nowrap}.node-state::before{content:"";width:3px;height:3px;border-radius:50%;background:currentColor}.node h3{font-size:clamp(10px,1.12cqi,12px);font-weight:570;letter-spacing:-.15px;margin:5px 0 3px;line-height:1.1}.node-output{font-size:clamp(8px,.86cqi,9px);color:#8a96a1;line-height:1.1;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.node[data-state="work"]{border-color:#8dbce7;box-shadow:0 0 0 3px #4f9bdf08,0 4px 10px #357db00b;background:#fcfeff}.node[data-state="work"] .node-state{color:#397fbd}.node[data-state="work"] .node-icon{color:#287bd1}.node[data-state="work"] .node-output{color:#567793}.node[data-state="done"]{border-color:#d3e4db}.node[data-state="done"] .node-state{color:#44967b}.node[data-state="done"] .node-output{color:#537b6d}.node[data-state="warn"]{background:#fffdf8;border-color:#e7cd9d}.node[data-state="warn"] .node-state,.node[data-state="warn"] .node-icon{color:#b38436}.node[data-state="warn"] .node-output{color:#ac843d}.node[data-state="skipped"]{opacity:.5;box-shadow:none}.node.human{border-style:dashed;background:#fafafa}.node.human[data-state="warn"]{background:#fffaf1}.source{position:absolute;left:calc(var(--x)*100%/1024);top:calc(var(--y)*100%/336);transform:translate(-50%,-50%);display:flex;align-items:center;gap:5px;border:1px solid #e9edf0;background:#f8fafb;border-radius:5px;padding:4px 7px;color:#8e9aa5;font-size:8px;white-space:nowrap;transition:color .3s,border-color .3s,background .3s}.source i{width:3px;height:3px;border-radius:50%;background:#b9c7d1}.source.receiving{border-color:#b4d3e4;background:#f0f8fc;color:#46839e}.source.receiving i{background:#4e9dbb}.graph-caption{position:absolute;font-size:6.5px;letter-spacing:1.5px;color:#aeb9c3;white-space:nowrap}.parallel-caption{left:36.4%;top:38%}.intake-caption{left:5%;top:63%}.run-summary{height:27px;display:flex;align-items:center;padding:0 22px 8px;gap:9px;font-size:9px}.summary-state{color:#487da9;white-space:nowrap;font-weight:600}.run-summary p{margin:0;color:#8a96a1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-clock{margin-left:auto;color:#9ca7b0;font:8px var(--mono);white-space:nowrap}.run-progress{height:2px;background:#edf1f4;overflow:hidden}.run-progress i{display:block;height:100%;width:100%;background:#85b3d7;transform:scaleX(0);transform-origin:left}.event-console{padding:10px 21px 0;background:#142434;color:#aebfce}.console-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;font:8px var(--mono);color:#698096}.console-heading h2{display:flex;align-items:center;gap:6px;font:10px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#cad5df;font-weight:500}.console-indicator{width:4px;height:4px;border-radius:50%;background:#91bbaa;box-shadow:0 0 7px #82c4a840}.console-heading i{font-style:normal;margin:0 5px}#events{list-style:none;padding:0;margin:0;height:90px;display:flex;flex-direction:column;gap:0;font:8.5px/15px var(--mono);overflow:hidden;mask-image:linear-gradient(#000 75%,#000b)}.event{display:grid;grid-template-columns:48px 35px 96px minmax(0,1fr);gap:8px;white-space:nowrap;min-height:17px}.event time{color:#58738a}.event .level{font-size:7px;letter-spacing:.45px;color:#6ea3cf}.event .event-source{color:#a6bbcb;overflow:hidden;text-overflow:ellipsis}.event .event-message{color:#9aafc0;overflow:hidden;text-overflow:ellipsis}.event:first-child .event-message{color:#d1dde6}.event[data-level="WARN"] .level,.event[data-level="WARN"] .event-message{color:#d7b57b}.event[data-level="OK"] .level{color:#83b7a3}.event[data-level="DATA"] .level{color:#7baeb8}.console-footer{height:23px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff08;font-size:7px;letter-spacing:.1px;color:#627d94;margin-top:5px}.stage-caption{color:#a5adb6;font-size:10px;letter-spacing:.1px;margin:20px 0 0}.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}.is-paused .live-label i{background:#a2adb6}.is-paused .console-indicator{background:#7e91a2}.is-paused .source{transition:none}
@media(min-width:1200px) and (max-height:760px){.demo-stage{padding:30px 48px 20px}.dashboard{max-width:970px}.stage-caption{margin-top:14px}}
@media(max-width:760px){.demo-stage{padding:30px 16px;justify-content:flex-start}.dashboard{border-radius:11px}.toolbar{padding:0 14px}.brand{gap:10px}.toolbar-right{gap:5px}.live-label{font-size:8px}.case-strip{padding:13px 14px;display:block}.case-facts{margin-top:13px;gap:25px}.case-heading h2{font-size:14px}.flow-overline{padding:12px 14px 3px;font-size:8px}.quiet{display:none}.run-summary{padding-left:14px;padding-right:14px}.event-console{padding-left:14px;padding-right:14px}.event{grid-template-columns:36px 29px 70px minmax(0,1fr);gap:5px;font-size:8px}.console-footer{font-size:6.5px}.console-footer>span:last-child{display:none}.stage-caption{font-size:9px}.graph-scroll{padding-bottom:7px}.graph{width:860px}.toolbar h1{font-size:10px}.wordmark{font-size:17px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}.packet,.packet-halo{display:none}}
.packet-label{font:7.5px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;fill:#6389a4;paint-order:stroke;stroke:#fcfdfe;stroke-width:3px;stroke-linejoin:round}
/* V3: playback speed and inspectable event records. */
.speed-control{display:flex;gap:5px;align-items:center;font-size:9px;color:#788593}.speed-control select{font:10px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#486176;background:#f4f7fa;border:1px solid #e2e8ee;border-radius:5px;padding:4px 5px;cursor:pointer}.speed-control select:focus-visible{outline:2px solid #75b6ef;outline-offset:2px}
#events{overflow-y:auto;overflow-x:hidden;mask-image:none;scrollbar-width:thin;scrollbar-color:#3c566c transparent;display:block;overscroll-behavior:contain}.event-list-item{list-style:none;margin:0;padding:0}.event{width:100%;border:0;background:transparent;padding:0;text-align:left;font:inherit;line-height:15px;cursor:pointer;border-radius:2px;grid-template-columns:69px 35px 96px minmax(0,1fr) 10px;color:inherit}.event:hover,.event:focus-visible{background:#ffffff0c}.event:focus-visible{outline:1px solid #82b6df;outline-offset:-1px}.event-open{color:#7799b3;text-align:right;font-size:9px}.event-list-item:not(:first-child) .event-message{color:#9aafc0}.event[data-level="WARN"] .event-message{color:#d7b57b}
#event-dialog{border:1px solid #dce3e9;border-radius:15px;padding:0;width:min(780px,calc(100vw - 40px));max-height:calc(100svh - 48px);color:#263646;background:#fff;box-shadow:0 30px 110px #051b3e42;overflow:hidden}#event-dialog[open]{display:flex;flex-direction:column}#event-dialog::backdrop{background:#11263c50;backdrop-filter:blur(5px)}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 28px 19px;border-bottom:1px solid #e9edf1;flex-shrink:0}.detail-eyebrow{font:11px var(--mono);color:#728494;margin:0 0 9px}.dialog-header h2{font-size:21px;font-weight:570;letter-spacing:-.5px;line-height:1.3}.dialog-close{border:0;background:#f0f3f6;border-radius:50%;width:29px;height:29px;flex-shrink:0;color:#708191;font-size:21px;line-height:1;cursor:pointer}.dialog-body{overflow-y:auto;overscroll-behavior:contain;padding:22px 28px 28px;font-size:14px;line-height:1.55;min-height:0}.detail-description{font-size:16px;line-height:1.55;margin:0 0 21px;color:#34516c}.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;padding:17px 0;margin:0;border-top:1px solid #eef1f4;border-bottom:1px solid #eef1f4}.detail-meta dt{font-size:12px;color:#80909d;margin-bottom:3px}.detail-meta dd{font-size:13px;color:#4f6477;margin:0;overflow-wrap:anywhere}.detail-section{margin-top:26px}.detail-section h3{margin:0 0 12px;font-size:15px;font-weight:600;color:#28445e;letter-spacing:-.1px}.detail-section>p{margin:0 0 13px}.detail-data{margin:0}.detail-data>div{display:grid;grid-template-columns:minmax(150px,38%) minmax(0,1fr);gap:16px;padding:9px 0;border-bottom:1px solid #f0f2f5}.detail-data dt{font-size:13px;color:#7b8b99}.detail-data dd{margin:0;font-size:14px;color:#314c64;overflow-wrap:anywhere;white-space:pre-wrap}.detail-note{font-size:12px;color:#8493a0;line-height:1.5}.detail-changes>div{border-left:2px solid #96bad6;padding:3px 0 3px 13px;margin:12px 0}.detail-changes strong{font-size:13px;font-weight:550}.detail-changes span{font-size:12px;color:#81909d;margin-left:12px}.detail-changes p{font-size:13px;margin:3px 0;color:#61788c}.dependency{border-bottom:1px solid #e9eef2;padding:11px 0}.dependency summary{cursor:pointer;font-size:13px;color:#42637e}.dependency summary>span{font-weight:550}.dependency summary small{display:block;font:10px var(--mono);color:#91a0ad;margin:5px 0 0 15px;overflow-wrap:anywhere}.dependency>p{font-size:13px;color:#6b8091;margin:12px 0}.dependency button,.dialog-footer button{border:0;background:transparent;color:#347baf;padding:10px 0 2px;font-size:12px;cursor:pointer}.dialog-footer{padding:13px 28px;border-top:1px solid #e9edf1;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fafcfd;flex-shrink:0}.dialog-footer span{font-size:11px;color:#8b9aa7;margin-left:auto}.dialog-footer button{padding:0}
@media(max-width:760px){.event{grid-template-columns:62px 28px 62px minmax(0,1fr) 8px;gap:4px}.event-console{padding-left:12px;padding-right:12px}}
@media(max-width:600px){.toolbar-right{gap:7px}.live-label{display:none}.speed-control>span{display:none}.speed-control select{font-size:10px;padding:4px 2px}#event-dialog{width:calc(100vw - 20px);max-height:calc(100svh - 24px);border-radius:12px}.dialog-header{padding:19px 18px 15px}.dialog-header h2{font-size:18px}.dialog-body{padding:18px}.detail-meta{gap:13px}.detail-meta dd{font-size:12px}.detail-data>div{grid-template-columns:1fr;gap:3px}.detail-data dd{font-size:14px}.dialog-footer{padding:13px 18px;flex-wrap:wrap}.dialog-footer span{font-size:10px}}
/* The homepage supplies the landscape and outside spacing. */
html[data-embedded="true"],html[data-embedded="true"] body{background:transparent}
html[data-embedded="true"]{overflow:hidden}
html[data-embedded="true"] .demo-stage{min-height:0;padding:12px 8px;justify-content:flex-start;overflow:clip}
html[data-embedded="true"] .dashboard{max-width:1040px;flex-shrink:0;transform:scale(var(--dashboard-fit,1));transform-origin:top center}
html[data-embedded="true"] .stage-caption{display:none}
/* Fit the entire graph, including labels and packets, into its viewport. */
.graph-scroll{overflow:hidden;padding:0}
.graph{width:1024px;min-width:0;min-height:0;height:300px;aspect-ratio:auto;transform:scale(var(--graph-scale,1));transform-origin:top left}
.drag-enabled .toolbar{cursor:grab;touch-action:none;user-select:none}
.drag-enabled .toolbar-right{cursor:auto;touch-action:manipulation}
.drag-enabled .brand{border-radius:4px}
.drag-enabled .brand::before{content:"⠿";font-size:14px;color:#a4afb9;line-height:1}
.drag-enabled .brand:focus-visible{outline:2px solid #75b6ef;outline-offset:5px}
.is-dragging .toolbar{cursor:grabbing}
@media(max-width:600px){.drag-enabled .brand{gap:6px}.drag-enabled .brand::before{font-size:12px}.drag-enabled .divider{display:none}}
/* Narrow screens: the graph keeps at least 80 % size and scrolls sideways (graph-fit.mjs). */
.graph-scroll{position:relative}
.graph-scroll::before{content:"";display:block;width:calc(1024px * var(--graph-scale,1));height:1px;margin-bottom:-1px}
.graph{position:absolute;top:0;left:0}
.graph-scroll.is-scrollable{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}
.graph-scroll.is-scrollable::-webkit-scrollbar{display:none}
.graph-scroll.is-scrollable.past-start{-webkit-mask-image:linear-gradient(90deg,#0000,#000 28px,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#0000,#000 28px,#000 calc(100% - 28px),#0000)}
.graph-scroll.is-scrollable.at-end{-webkit-mask-image:none;mask-image:none}
.graph-scroll.is-scrollable.past-start.at-end{-webkit-mask-image:linear-gradient(90deg,#0000,#000 28px);mask-image:linear-gradient(90deg,#0000,#000 28px)}
.graph-hint{display:none}
.graph-scroll.is-scrollable+.graph-hint{display:flex;justify-content:center;align-items:center;gap:8px;margin:2px 14px 6px;font-size:10px;line-height:14px;color:#6d889e;letter-spacing:.1px}
.graph-hint span{color:#9fb2c2}
