@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&family=Instrument+Sans:wght@300;400;500&display=swap";.cb-view{color:var(--text)}.cb-body{position:relative;flex:1;min-width:0;min-height:0;overflow:auto;display:flex;padding:8px 12px;box-sizing:border-box}.cb-stage{position:relative}.cb-edges{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.cb-dot{filter:drop-shadow(0 0 2.5px currentColor);pointer-events:none}.cb-title{position:absolute;font-size:14px;color:var(--text-disabled);white-space:nowrap}.cb-card{position:absolute;box-sizing:border-box;border-radius:6px;border:1px solid var(--hue-line);background:var(--hue-card);padding:12px 14px 10px;display:flex;flex-direction:column;gap:3px;overflow:hidden;box-shadow:inset 0 3px 0 var(--hue-base),var(--shadow-card)}.cb-card h3{margin:0;font-family:IBM Plex Mono,monospace;font-size:15px;line-height:1.4;padding-bottom:2px;color:var(--hue-text);font-weight:600;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.cb-sub{font-size:13px;color:color-mix(in srgb,var(--hue-hot) 70%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cb-link{cursor:pointer}.cb-link:hover{border-color:var(--hue-rim)}.cb-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cb-centre{padding:16px 18px 12px;gap:4px;border-color:var(--hue-rim);box-shadow:inset 0 4px 0 var(--hue-base),var(--shadow-raised)}.cb-centre h3{font-size:20px;-webkit-line-clamp:3}.cb-services{margin-top:10px;display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--hue-text);line-height:1.4}.cb-pill{position:absolute;max-width:180px;box-sizing:border-box;padding:4px 9px;border-radius:6px;background:var(--bg);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:1px;font-size:11px;line-height:1.3;pointer-events:auto}.cb-pill-label{color:var(--text);font-weight:600}.cb-empty{position:absolute;margin:0;text-align:center;font-size:13px;color:var(--text-disabled)}@media (prefers-reduced-motion:reduce){.cb-dot{display:none}}.cb-hue{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block}.cb-card.dim,.cb-pill.dim,.cb-edge.dim,.cb-row.dim{opacity:.6}.cb-card,.cb-pill,.cb-edge,.cb-row{transition:opacity .15s}.cb-edge.lit .cb-line{stroke:var(--accent)}.cb-icon{position:absolute;right:10px;top:12px;color:#9a9a9a}.cb-kpis{position:relative;display:flex;gap:10px;flex-wrap:wrap;padding:0 28px 14px}.cb-kpi{display:flex;flex-direction:column;gap:2px;min-width:104px;padding:8px 14px;text-align:left;cursor:pointer;color:var(--text);font:inherit;background:#2d2d2d;border:1px solid var(--border);border-radius:6px}.cb-kpi b{font-size:22px;font-weight:600;line-height:1.15}.cb-kpi span{font-size:12.5px;color:var(--text-disabled)}.cb-kpi:hover{border-color:var(--border-hi,#565656)}.cb-kpi[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.cb-kpi:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cb-main{position:relative;flex:1;min-height:0;display:flex;gap:16px;padding:0 28px 20px}.cb-diagram{flex:1;min-width:0;display:flex;background:#262626;border:1px solid var(--border);border-radius:6px}.cb-conn{flex:0 0 clamp(340px,30%,460px);box-sizing:border-box;overflow:auto;padding:4px 16px 12px;background:#2d2d2d;border:1px solid var(--border);border-radius:6px;font-size:13px;line-height:1.45}.cb-main.stacked{flex-direction:column;overflow:auto;padding:0 16px 20px}.cb-main.stacked .cb-diagram{flex:none;height:70vh}.cb-main.stacked .cb-conn{flex:none;overflow:visible}.cb-sec{padding:10px 0;border-bottom:1px solid var(--border)}.cb-sec:last-child{border-bottom:0}.cb-sec h3{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--text-medium)}.cb-sec p{margin:0}.cb-dim{color:var(--text-disabled)}.cb-row{display:flex;flex-direction:column;gap:3px;padding:8px;margin:0 -8px 2px;border-radius:6px}.cb-row:hover{background:#363636}.cb-row-head{display:flex;align-items:center;gap:8px;min-width:0}.cb-row-head .cb-icon{position:static}.cb-row-name{font-family:IBM Plex Mono,monospace;font-size:13px;color:var(--text);overflow-wrap:anywhere;text-align:left}button.cb-row-name{background:none;border:0;padding:0;cursor:pointer}button.cb-row-name:hover{color:var(--accent);text-decoration:underline}.cb-badge{margin-left:auto;flex:none;font-size:11.5px;color:var(--text-medium);border:1px solid var(--border);border-radius:999px;padding:0 8px}.cb-row-key,.cb-row-ref{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--text-medium);overflow-wrap:anywhere;padding-left:16px}.cb-row-ref{color:var(--text-disabled)}.cb-row-note{font-size:12px;color:var(--text-disabled);padding-left:16px}.cb-more{align-self:flex-start;margin-left:16px;background:none;border:0;padding:0;font:inherit;font-size:12px;color:var(--text-disabled);cursor:pointer}.cb-more:hover{color:var(--text);text-decoration:underline}.cb-compact .cb-sub,.cb-compact .cb-services{display:none}.cb-compact .cb-card{padding:8px 10px}.cb-compact .cb-card h3{font-size:13px;line-height:1.3;-webkit-line-clamp:2}.cb-compact .cb-centre h3{font-size:15px}.cb-compact .cb-title{font-size:12px}.cb-compact .cb-icon{right:6px;top:8px}.cb-peek{position:absolute;z-index:5;max-width:300px;max-height:190px;overflow:auto;box-sizing:border-box;padding:8px 10px;border-radius:6px;background:var(--bg);border:1px solid var(--border-hi,#565656);box-shadow:var(--shadow-raised);display:flex;flex-direction:column;gap:2px;pointer-events:none;font-size:12px;line-height:1.4}.cb-peek-title{color:var(--text);font-weight:600;margin-bottom:2px}.cb-peek code{font-family:IBM Plex Mono,monospace;font-size:11.5px;color:var(--text-medium);overflow-wrap:anywhere}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:rgba(255,255,255,.5);padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:rgba(0,89,220,.08);border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.rf-dim{opacity:.34;filter:saturate(.5);transition:opacity .16s ease,filter .16s ease}.rf-shift{transition:transform .76s cubic-bezier(.5,0,.2,1)}.react-flow__edge{transition:opacity .2s ease}.rf-edge-hide{opacity:0}.rf-minimap-behind{opacity:.22;z-index:0;transition:opacity .2s ease}@keyframes rf-swap-in{0%{opacity:0}to{opacity:1}}@keyframes rf-fade-in{0%{opacity:0}to{opacity:1}}.rf-fade-in{animation:rf-fade-in .26s ease both}.rf-swap-in>*{animation:rf-swap-in .18s ease both}@keyframes rf-frame-grow{0%{transform:scale(var(--rf-from))}to{transform:scale(var(--rf-to))}}.rf-frame-grow{animation:rf-frame-grow .76s cubic-bezier(.5,0,.2,1) both}.rf-iso *,.rf-frame-grow *{scrollbar-width:thin;scrollbar-color:#3a3a3a transparent}.rf-iso ::-webkit-scrollbar,.rf-frame-grow ::-webkit-scrollbar{width:0;height:9px}.rf-iso ::-webkit-scrollbar-track,.rf-frame-grow ::-webkit-scrollbar-track{background:transparent}.rf-iso ::-webkit-scrollbar-thumb,.rf-frame-grow ::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:5px}.rf-iso ::-webkit-scrollbar-thumb:hover{background:#4d4d4d}.rf-flow-edge{stroke-dasharray:6 5;animation:rf-flow-dash .9s linear infinite}@keyframes rf-flow-dash{to{stroke-dashoffset:-11}}@media (prefers-reduced-motion: reduce){.rf-flow-edge{animation:none}}@keyframes rf-reveal-fade{0%{opacity:0}to{opacity:1}}@keyframes rf-reveal-edge-draw{to{stroke-dashoffset:0}}.rf-reveal-edge{stroke-dasharray:100;stroke-dashoffset:100;animation:rf-reveal-edge-draw .2s ease-out forwards}.rf-reveal-node{position:relative;animation:rf-reveal-border-in .2s ease-out both;animation-delay:var(--rf-outline-delay, 0ms)}@keyframes rf-reveal-border-in{0%,92%{border-color:transparent}to{border-color:var(--rf-reveal-accent, #8a8a8a);border-color:color-mix(in srgb,var(--rf-reveal-accent, #8a8a8a) 40%,transparent)}}.rf-reveal-node:before,.rf-reveal-node:after{content:"";position:absolute;box-sizing:border-box;border:0 solid var(--rf-reveal-accent, #8a8a8a);border-radius:inherit;pointer-events:none;width:0;height:0;animation-duration:.2s;animation-timing-function:ease-out;animation-delay:var(--rf-outline-delay, 0ms);animation-fill-mode:both}.rf-reveal-node:before{top:0;right:0;border-top-width:2px;border-right-width:2px;animation-name:rf-reveal-trace-tr}.rf-reveal-node:after{bottom:0;left:0;border-bottom-width:2px;border-left-width:2px;animation-name:rf-reveal-trace-bl}@keyframes rf-reveal-trace-tr{0%{width:0;height:0}50%{width:100%;height:0}to{width:100%;height:100%}}@keyframes rf-reveal-trace-bl{0%{width:0;height:0}50%{width:100%;height:0}to{width:100%;height:100%}}.rf-reveal-text{animation:rf-reveal-fade .14s ease-out both;animation-delay:var(--rf-text-delay, .3s)}.rf-reveal-backing{animation:rf-reveal-fade .16s ease-out both;animation-delay:var(--rf-box-delay, .5s)}@media (prefers-reduced-motion: reduce){.rf-reveal-node:before,.rf-reveal-node:after{content:none}.rf-reveal-node{animation:rf-reveal-fade .16s ease both;animation-delay:0ms!important}.rf-reveal-text{animation:rf-reveal-fade .12s ease both;animation-delay:0ms!important}.rf-reveal-backing{animation:rf-reveal-fade .16s ease both;animation-delay:0ms!important}.rf-reveal-edge{animation:none;stroke-dasharray:none;stroke-dashoffset:0}}.edit-mode .react-flow__handle{opacity:0!important;width:10px!important;height:10px!important;min-width:0!important;min-height:0!important;background:var(--link)!important;border:2px solid var(--bg)!important;border-radius:50%!important;transition:opacity .12s ease}.edit-mode .react-flow__node:hover .react-flow__handle,.edit-mode .react-flow__handle.connecting,.edit-mode .react-flow__handle-connecting{opacity:1!important}.edit-mode .react-flow__edge.selected .react-flow__edge-path{stroke:var(--text)!important;stroke-width:3!important}.isolate-code-pane code[class*=language-]{padding-left:0!important}.isolate-code-pane .linenumber{min-width:1.4em!important;padding-right:0!important;margin-right:8px!important;text-align:right}.react-flow__node.rf-happy>div{border-color:#c6f135!important;box-shadow:0 0 0 2px #c6f13547,0 0 24px 4px #c6f13559!important}.react-flow__node.rf-happy-failure>div{border-color:#f5a524!important;box-shadow:0 0 0 2px #f5a52447,0 0 24px 4px #f5a52459!important}.om-root{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg);color:var(--text);min-height:0}.om-bar{display:flex;flex-direction:column;gap:6px;padding:10px 16px;border-bottom:1px solid var(--border);position:relative;z-index:5}.om-row{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap}.om-stage{position:relative;flex:1;min-height:0}.om-canvas{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;cursor:grab;touch-action:none;background:#0f1115}.om-dotgrid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(#2a2f38 1px,transparent 1px);background-size:22px 22px;opacity:.6}.om-canvas:active{cursor:grabbing}.om-world{position:absolute;left:0;top:0;transform-origin:0 0;--inv:1}.om-links{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;z-index:10}.om-chips{position:absolute;left:0;top:0;z-index:11}.om-tile{position:absolute;box-sizing:border-box;border-radius:6px;border:1px solid var(--border);cursor:pointer;overflow:hidden;transition:left .5s cubic-bezier(.3,0,.2,1),top .5s cubic-bezier(.3,0,.2,1),width .5s cubic-bezier(.3,0,.2,1),height .5s cubic-bezier(.3,0,.2,1),opacity .2s}.om-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.om-tile h3,.om-tile p{margin:0;overflow:hidden;text-overflow:ellipsis}.om-tile h3{white-space:nowrap}.om-area{background:var(--hue-nested);border-color:var(--hue-line)}.om-area[data-depth="1"]{background:var(--hue-fill);border-color:var(--hue-rim)}.om-area[data-depth="3"],.om-area[data-depth="5"]{background:var(--hue-fill)}.om-tile.om-area p{color:color-mix(in srgb,var(--hue-hot) 80%,transparent)}.om-hd{padding:12px 14px 0;box-sizing:border-box;height:112px;overflow:hidden}.om-area[data-depth="1"]>.om-hd{height:200px}.om-area[data-depth="1"] .om-hd{padding:22px 26px 0}.om-area h3{font-size:calc(26px*var(--o-tscale,1));font-weight:600;color:var(--hue-text);line-height:1.2;opacity:var(--o-name,0);white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.om-area p{line-height:1.4;font-size:17px;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.om-area[data-depth="1"] h3{font-size:calc(44px*var(--o-tscale,1));font-weight:700;color:var(--hue-hot);line-height:1.1}.om-area[data-depth="1"] p{font-size:22px;margin-top:6px}.om-area .om-meta{font-size:18px;margin-top:6px;white-space:nowrap;color:color-mix(in srgb,var(--hue-hot) 70%,transparent)}.om-area:hover{border-color:var(--hue-rim)}.om-code{background:var(--hue-card);border-color:var(--hue-line);padding:13px 12px 10px;display:flex;flex-direction:column;gap:3px;box-shadow:inset 0 3px 0 var(--hue-base),var(--shadow-card)}.om-code h3{font-size:22px;line-height:1.25;color:var(--hue-text);white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.om-code p{font-size:18px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35}.om-code .om-lang{font-size:15px;margin-top:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.om-code:hover{border-color:var(--hue-rim)}.om-tile.om-code p{color:color-mix(in srgb,var(--hue-hot) 80%,transparent)}.om-tile.om-code .om-lang,.om-tile.om-code .om-kind{color:color-mix(in srgb,var(--hue-hot) 60%,transparent)}.om-code.sel{border-color:var(--accent);box-shadow:inset 0 3px 0 var(--hue-base),0 0 0 2px var(--accent)}.om-moved{margin-left:8px;font-size:15px;font-weight:400;color:var(--hue-text);border:1px solid var(--hue-rim);border-radius:999px;padding:0 8px}.om-world.has-sel .om-code:not(.near):not(.sel):not(.prev){opacity:.45}.om-world.has-sel .om-code.near,.om-world.has-sel .om-code.sel{z-index:8!important}.om-world.has-sel .om-code.sel{overflow:visible}.om-world.has-sel .om-code.near>h3,.om-world.has-sel .om-code.sel>h3{opacity:1!important;white-space:nowrap;color:var(--text);font-size:max(22px,calc(11px*var(--inv)))}.om-world.has-sel .om-code.sel>h3{color:var(--accent);font-weight:600}.om-world.has-sel .om-code.sel>h3>span:first-child{overflow:visible}.om-link{fill:none;stroke:var(--text-disabled);vector-effect:non-scaling-stroke;stroke-linecap:round;opacity:0;transition:opacity .2s,stroke .2s}.om-link.top{opacity:.5}.om-link.top.hi{stroke:var(--accent);opacity:1}.om-link.top.dim{opacity:.15}.om-world:not(.has-focus):not(.has-sel) .om-links.hovering .om-link.top:not(.hi),.om-world:not(.has-sel) .om-links.hovering .om-link.lo{opacity:.15}.om-link.lo{opacity:.35;animation:om-fade .4s}.om-link.hov{stroke:var(--accent);stroke-width:2;opacity:1;animation:om-fade .15s}.om-end.hov{animation:om-fade .15s}.om-world.has-focus .om-link.top,.om-world.has-focus .om-chip.top{opacity:0}@keyframes om-fade{0%{opacity:0}}.om-world.has-sel .om-link.lo,.om-world.has-sel .om-link.top,.om-world.has-sel .om-chip.top{opacity:0}.om-link.sel{stroke:var(--accent);stroke-width:2;opacity:1}.om-link.async{stroke-dasharray:7 5}.om-link.data{stroke-dasharray:2 4}.om-end{fill:var(--accent)}.om-chip{position:absolute;white-space:nowrap;pointer-events:none;font-size:20px;background:var(--surface);border:1px solid var(--border-hi);color:var(--text-medium);border-radius:999px;padding:0 .5em;line-height:1.5;box-shadow:var(--shadow-card);transform:translate(var(--x),var(--y)) translate(-50%,-50%);transition:opacity .2s}.om-chip.top{opacity:var(--o-chip-top,1)}.om-chip.top.hi{border-color:var(--accent);color:var(--accent)}.om-chip.top.dim{opacity:calc(.3*var(--o-chip-top,1))}.om-chip.sel{font-size:13px;opacity:var(--o-chip-sel,1);border-color:var(--accent);color:var(--accent)}.om-tools{position:absolute;left:16px;bottom:16px;z-index:3;display:flex;flex-direction:column}.om-mini{position:absolute;right:16px;bottom:16px;width:200px;height:126px;box-sizing:border-box;z-index:3;cursor:pointer;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-raised);transition:right .3s ease}.om-mini svg{display:block;width:100%;height:100%}.om-kind{font-size:15px;white-space:nowrap}.om-stage.panel-open .om-mini{right:376px}.om-mini .vp{fill:none;stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke}.om-panel{position:absolute;top:12px;right:12px;bottom:12px;width:340px;z-index:4;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.om-refs{font-family:var(--font-mono);font-size:11.5px;color:var(--text-disabled);padding:0 8px 4px;word-break:break-all}@media (max-width:720px){.om-mini{display:none}.om-panel{left:8px;right:8px;top:auto;width:auto;max-height:58%}}.om-code>h3{opacity:var(--o-name,0)}.om-code>.om-kind{opacity:var(--o-kind,0)}.om-code>p{opacity:var(--o-desc,0)}.om-code>.om-lang{opacity:var(--o-lang,0)}.om-area p{opacity:var(--o-desc,0)}.om-area .om-meta{opacity:var(--o-meta,0)}.om-code>*,.om-area h3,.om-area p,.om-area .om-meta{pointer-events:none;transition:opacity .15s}.om-link.port{opacity:.35;stroke-width:2;animation:om-fade .4s}.om-link.port.hi{stroke:var(--accent);opacity:.9}.om-chip.port{font-size:14px;opacity:var(--o-chip-port,1);pointer-events:auto;cursor:pointer;font-family:inherit;animation:om-fade .4s}.om-chip.port:hover,.om-chip.port:focus-visible,.om-chip.port.hi{border-color:var(--accent);color:var(--accent);outline:none}.om-world.has-sel .om-link.port,.om-world.has-sel .om-chip.port{opacity:0;pointer-events:none}.om-tile.lit{outline:2px solid var(--accent);outline-offset:1px}.om-link.trail{stroke:var(--warning);stroke-width:2.5}.om-end.trail{fill:var(--warning)}.om-chip.trail{border-color:var(--warning);color:var(--warning)}.om-tile.prev{outline:2px solid var(--warning);outline-offset:1px;z-index:8!important;overflow:visible}.om-world.has-sel .om-code.prev>h3{opacity:1!important}.om-prevlabel{position:absolute;left:-1px;bottom:calc(100% + 3px);background:var(--warning);color:var(--on-action);border-radius:6px 6px 0 0;padding:1px 8px;white-space:nowrap;line-height:1.2;font-size:max(14px,calc(11px*var(--inv)));font-weight:600;pointer-events:none}.om-prevdot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--warning);margin-right:6px}.om-prevtext{margin-left:6px;font-size:11px;color:var(--warning)}@media (prefers-reduced-motion:reduce){.om-tile,.om-link,.om-chip,.om-mini,.om-code>*,.om-area h3,.om-area p,.om-area .om-meta{transition:none}.om-link.lo,.om-link.hov,.om-link.port,.om-chip.port{animation:none}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--mono: "IBM Plex Mono", monospace;--sans: "Instrument Sans", sans-serif;--radius: 4px;--transition: .12s ease}:root{--area: var(--blue);--area-rim: var(--blue-rim);--area-fill: var(--blue-fill)}:root[data-area=maps]{--area: var(--orange);--area-rim: var(--orange-rim);--area-fill: var(--orange-fill)}:root[data-area=tour]{--area: var(--green);--area-rim: var(--green-rim);--area-fill: var(--green-fill)}:root[data-area=plain]{--area: var(--grey);--area-rim: var(--grey-rim);--area-fill: var(--grey-fill)}:root[data-mode=edit]{--area: var(--purple);--area-rim: var(--purple-rim);--area-fill: var(--purple-fill)}.area-rail{border-left:2px solid var(--area)}.area-header{border-bottom:1px solid var(--area-rim);padding-bottom:.7rem}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}.error{color:var(--error);font-family:var(--mono);font-size:.8rem}.home{height:100vh;display:grid;place-items:center;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:48px 48px}.home-inner{display:flex;flex-direction:column;align-items:center;gap:1rem;background:var(--bg);border:1px solid var(--border-hi);padding:3rem 4rem;text-align:center}.wordmark{font-family:var(--mono);font-size:2.4rem;font-weight:600;letter-spacing:-.03em;line-height:1}.wordmark-slash{color:var(--accent);text-shadow:0 0 12px var(--accent-glow),0 0 30px var(--accent-glow)}.wordmark-name{color:var(--text);margin-left:.25rem}.wordmark-sub{font-family:var(--mono);font-size:.72rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}.home-actions{display:flex;gap:.75rem;margin-top:.75rem;flex-wrap:wrap;justify-content:center}.btn-primary,.btn-ghost{font-family:var(--mono);font-size:.78rem;font-weight:600;letter-spacing:.04em;padding:.65rem 1.4rem;border-radius:var(--radius);cursor:pointer;transition:all var(--transition);border:1px solid transparent}.btn-primary{background:var(--action);color:var(--on-action);border-color:var(--action)}.btn-primary:hover{background:transparent;color:var(--action)}.btn-ghost{background:transparent;color:var(--muted);border-color:var(--border-hi)}.btn-ghost:hover{color:var(--text);border-color:var(--accent)}.page{max-width:600px;margin:0 auto;padding:3rem 2rem;display:flex;flex-direction:column;gap:1.25rem}.back{background:none;border:none;color:var(--muted);font-family:var(--mono);font-size:.75rem;cursor:pointer;padding:0;align-self:flex-start;transition:color var(--transition)}.back:hover{color:var(--area)}.page-title{font-family:var(--mono);font-size:1.4rem;font-weight:600;color:var(--text)}.page-sub{color:var(--muted);font-size:.85rem}.card-list{display:flex;flex-direction:column;gap:.5rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:.2rem;transition:border-color var(--transition)}.card:hover:not(:disabled){border-color:var(--accent)}.card:disabled{opacity:.35;cursor:not-allowed}.card--recommended{border-color:var(--recommend)}.card--recommended:hover:not(:disabled){border-color:var(--recommend)}.card-badge-hint{color:var(--recommend);font-size:.72rem}.card-badge{font-family:var(--mono);font-size:.6rem;font-weight:600;color:var(--accent);letter-spacing:.12em}.card-title{font-family:var(--mono);font-size:.85rem;color:var(--text)}.card-sub{font-size:.8rem;color:var(--muted)}.badge{font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.18rem .55rem;border:1px solid var(--primary-container-hover);border-radius:2px;color:var(--accent);background:var(--primary-container)}.loading-bar{height:1px;background:var(--border);overflow:hidden}.loading-bar span{display:block;height:100%;width:45%;background:var(--action);animation:sweep 1.2s ease-in-out infinite}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(320%)}}.diagram-page{min-height:100vh;display:flex;flex-direction:column;padding:1.5rem 2rem;gap:1.25rem;max-width:1600px;margin:0 auto}.diagram-header{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.diagram-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.diagram-repo{font-family:var(--mono);font-size:.95rem;font-weight:600;color:var(--text)}.mermaid-wrap{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);padding:2rem;overflow:auto;min-height:300px}.mermaid-wrap svg{max-width:100%;height:auto}.raw{border:1px solid var(--border);border-radius:var(--radius)}.raw summary{padding:.65rem 1rem;font-family:var(--mono);font-size:.72rem;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--surface)}.raw summary:hover{color:var(--text)}.raw pre{padding:1rem;font-family:var(--mono);font-size:.72rem;color:var(--text);overflow:auto;max-height:360px;line-height:1.7}.token-create{display:flex;gap:.5rem}.token-input{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .75rem;color:var(--text);font-family:var(--mono);font-size:.8rem}.token-input:focus{outline:none;border-color:var(--accent)}.token-reveal{display:flex;flex-direction:column;gap:.4rem;background:var(--surface);border:1px solid var(--warning);border-radius:var(--radius);padding:.75rem 1rem}.token-value{font-family:var(--mono);font-size:.8rem;color:var(--accent);word-break:break-all}.token-row{display:flex;align-items:center;gap:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem 1rem}.token-row .card-title{flex:1}@keyframes tourBubbleIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes edgeFlow{to{stroke-dashoffset:-18}}@keyframes nodeSettle{0%{transform:scale(.94)}60%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes nodeBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.022)}}@keyframes ringSweep{to{stroke-dashoffset:0}}@keyframes wordIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes armIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@keyframes drawIn{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.tour-word{display:inline-block;animation:wordIn .38s ease both;animation-delay:calc(var(--i) * 22ms)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.react-flow__node-group{width:auto;height:auto;padding:0;border:none;border-radius:0;background:none}
