.diagram-svg{background:var(--surface);border:1px solid var(--ink-10);border-radius:var(--radius-card);padding:.9rem 1.1rem}.screen--surface .diagram-svg,.docs-main .diagram-svg{background:var(--canvas)}.diagram-svg svg{width:100%;height:auto;display:block}.diagram-svg .c-backend,.diagram-svg .c-frontend,.diagram-svg .c-database,.diagram-svg .c-cloud,.diagram-svg .c-external,.diagram-svg .c-messagebus{fill:var(--surface);stroke:var(--ink-35);stroke-width:1px}.diagram-svg .c-security{fill:var(--surface);stroke:var(--defect)}.diagram-svg .c-region{fill:var(--ink-05);stroke:var(--ink-10);stroke-dasharray:9 4}.diagram-svg [class$=-group]{fill:var(--ink-05);stroke:var(--ink-10);stroke-dasharray:7 3}.diagram-svg .c-security-group{fill:color-mix(in srgb, var(--defect) 5%, transparent);stroke:color-mix(in srgb, var(--defect) 40%, transparent)}.diagram-svg .c-lane{fill:var(--ink-05);stroke:var(--ink-10);stroke-dasharray:7 3}.diagram-svg rect:not([class]),.diagram-svg path:not([class]){fill:none;stroke:currentColor}.diagram-svg rect[fill^="url(#grid)"]{stroke:none}.diagram-svg .c-mask{fill:var(--surface);stroke:none}.diagram-svg .a-default,.diagram-svg .a-dashed{stroke:var(--ink-35);fill:none}.diagram-svg .a-dashed{stroke-dasharray:6 4}.diagram-svg .m-default,.diagram-svg .m-dashed{fill:var(--ink-35);stroke:var(--ink-35)}.diagram-svg .a-emphasis{stroke:var(--ink);fill:none;stroke-width:1.5px}.diagram-svg .m-emphasis{fill:var(--ink);stroke:var(--ink)}.diagram-svg .a-security{stroke:var(--defect);fill:none;stroke-dasharray:6 4}.diagram-svg .m-security{fill:var(--defect);stroke:var(--defect)}.diagram-svg .t-primary{fill:var(--ink)}.diagram-svg .t-muted,.diagram-svg .t-backend,.diagram-svg .t-frontend,.diagram-svg .t-cloud,.diagram-svg .t-external,.diagram-svg .t-messagebus,.diagram-svg .t-database{fill:var(--ink-70)}.diagram-svg .t-security{fill:var(--defect)}.diagram-svg .t-dim{fill:var(--ink-62)}.diagram-svg .s-backend,.diagram-svg .s-frontend,.diagram-svg .s-cloud,.diagram-svg .s-external,.diagram-svg .s-database{color:var(--ink-22)}.diagram-svg .s-security{color:var(--defect)}.diagram-svg text{font-family:JetBrains Mono Variable,ui-monospace,monospace}.diagram-svg .c-grid{fill:none;stroke:var(--ink-05)}.diagram-svg svg{background:0 0}.diagram-svg g.is-link{cursor:pointer}.diagram-svg g.is-link:hover>rect:not(.c-mask),.diagram-svg g.is-link:focus-visible>rect:not(.c-mask),.diagram-svg g.is-link.is-hover>rect:not(.c-mask){stroke:var(--brand-primary);stroke-width:2px;fill:var(--surface);filter:drop-shadow(var(--shadow-raised))}.diagram-svg g.is-link:focus-visible{outline:none}.diagram-svg g.is-active>rect:not(.c-mask){stroke:var(--brand-primary);stroke-width:2px;fill:var(--surface);filter:drop-shadow(var(--shadow-raised))}.diagram-svg g.is-active>text.t-primary,.diagram-svg g.is-link:hover>text.t-primary{fill:var(--ink)}.diagram-svg [data-legend]{display:none}.diagram-svg [data-node-id=thomas]>rect:not(.c-mask),.diagram-svg [data-node-id=roles]>rect:not(.c-mask){stroke:var(--role-thomas)}.diagram-svg [data-node-id=thomas] .semantic-sigil,.diagram-svg [data-node-id=roles] .semantic-sigil{color:var(--role-thomas)}.diagram-svg [data-node-id=shaper]>rect:not(.c-mask),.diagram-svg [data-node-id=spec87]>rect:not(.c-mask){stroke:var(--role-shaper)}.diagram-svg [data-node-id=shaper] .semantic-sigil,.diagram-svg [data-node-id=spec87] .semantic-sigil{color:var(--role-shaper)}.diagram-svg [data-node-id=builder]>rect:not(.c-mask),.diagram-svg [data-node-id=tra139]>rect:not(.c-mask),.diagram-svg [data-node-id=tra142]>rect:not(.c-mask){stroke:var(--role-builder)}.diagram-svg [data-node-id=builder] .semantic-sigil,.diagram-svg [data-node-id=tra139] .semantic-sigil,.diagram-svg [data-node-id=tra142] .semantic-sigil{color:var(--role-builder)}.diagram-svg [data-node-id=rin]>rect:not(.c-mask),.diagram-svg [data-node-id=rin125]>rect:not(.c-mask){stroke:var(--role-rin)}.diagram-svg [data-node-id=rin] .semantic-sigil,.diagram-svg [data-node-id=rin125] .semantic-sigil{color:var(--role-rin)}.diagram-svg [data-node-id=qa]>rect:not(.c-mask),.diagram-svg [data-node-id=qa125]>rect:not(.c-mask){stroke:var(--role-qa)}.diagram-svg [data-node-id=qa] .semantic-sigil,.diagram-svg [data-node-id=qa125] .semantic-sigil{color:var(--role-qa)}.diagram-svg [data-node-id=thomas]>rect:not(.c-mask),.diagram-svg [data-node-id=roles]>rect:not(.c-mask),.diagram-svg [data-node-id=shaper]>rect:not(.c-mask),.diagram-svg [data-node-id=spec87]>rect:not(.c-mask),.diagram-svg [data-node-id=builder]>rect:not(.c-mask),.diagram-svg [data-node-id=tra139]>rect:not(.c-mask),.diagram-svg [data-node-id=tra142]>rect:not(.c-mask),.diagram-svg [data-node-id=rin]>rect:not(.c-mask),.diagram-svg [data-node-id=rin125]>rect:not(.c-mask),.diagram-svg [data-node-id=qa]>rect:not(.c-mask),.diagram-svg [data-node-id=qa125]>rect:not(.c-mask){fill:var(--surface);stroke-width:1.5px}.diagram-svg [data-node-id=thomas]>text.t-primary,.diagram-svg [data-node-id=shaper]>text.t-primary,.diagram-svg [data-node-id=builder]>text.t-primary,.diagram-svg [data-node-id=rin]>text.t-primary,.diagram-svg [data-node-id=qa]>text.t-primary,.diagram-svg [data-node-id=roles]>text.t-primary,.diagram-svg [data-node-id=spec87]>text.t-primary,.diagram-svg [data-node-id=tra139]>text.t-primary,.diagram-svg [data-node-id=tra142]>text.t-primary,.diagram-svg [data-node-id=rin125]>text.t-primary,.diagram-svg [data-node-id=qa125]>text.t-primary{fill:var(--ink)}.diagram[data-diagram=five-roles] .diagram-svg .c-security,.diagram[data-diagram=client-studio] .diagram-svg .c-security,.diagram[data-diagram=hub-and-spokes] .diagram-svg .c-security,.diagram[data-diagram=ticket-lifecycle] .diagram-svg .c-security,.diagram[data-diagram=skill-routing] .diagram-svg .c-security,.idiagram[data-diagram=five-roles] .diagram-svg .c-security,.idiagram[data-diagram=client-studio] .diagram-svg .c-security,.idiagram[data-diagram=hub-and-spokes] .diagram-svg .c-security,.idiagram[data-diagram=ticket-lifecycle] .diagram-svg .c-security,.idiagram[data-diagram=skill-routing] .diagram-svg .c-security,.diagram[data-diagram=five-roles] .diagram-svg .a-security,.diagram[data-diagram=client-studio] .diagram-svg .a-security,.idiagram[data-diagram=client-studio] .diagram-svg .a-security,.diagram[data-diagram=hub-and-spokes] .diagram-svg .a-security,.diagram[data-diagram=ticket-lifecycle] .diagram-svg .a-security,.diagram[data-diagram=skill-routing] .diagram-svg .a-security,.idiagram[data-diagram=five-roles] .diagram-svg .a-security,.idiagram[data-diagram=hub-and-spokes] .diagram-svg .a-security,.idiagram[data-diagram=ticket-lifecycle] .diagram-svg .a-security,.idiagram[data-diagram=skill-routing] .diagram-svg .a-security{stroke:var(--role-rin)}.diagram[data-diagram=five-roles] .diagram-svg .m-security,.diagram[data-diagram=client-studio] .diagram-svg .m-security,.idiagram[data-diagram=client-studio] .diagram-svg .m-security,.diagram[data-diagram=hub-and-spokes] .diagram-svg .m-security,.diagram[data-diagram=ticket-lifecycle] .diagram-svg .m-security,.diagram[data-diagram=skill-routing] .diagram-svg .m-security,.idiagram[data-diagram=five-roles] .diagram-svg .m-security,.idiagram[data-diagram=hub-and-spokes] .diagram-svg .m-security,.idiagram[data-diagram=ticket-lifecycle] .diagram-svg .m-security,.idiagram[data-diagram=skill-routing] .diagram-svg .m-security{fill:var(--role-rin);stroke:var(--role-rin)}.diagram[data-diagram=five-roles] .diagram-svg .t-security,.diagram[data-diagram=client-studio] .diagram-svg .t-security,.idiagram[data-diagram=client-studio] .diagram-svg .t-security,.diagram[data-diagram=hub-and-spokes] .diagram-svg .t-security,.diagram[data-diagram=ticket-lifecycle] .diagram-svg .t-security,.diagram[data-diagram=skill-routing] .diagram-svg .t-security,.idiagram[data-diagram=five-roles] .diagram-svg .t-security,.idiagram[data-diagram=hub-and-spokes] .diagram-svg .t-security,.idiagram[data-diagram=ticket-lifecycle] .diagram-svg .t-security,.idiagram[data-diagram=skill-routing] .diagram-svg .t-security{fill:var(--role-rin)}.diagram[data-diagram=five-roles] .diagram-svg .s-security,.diagram[data-diagram=client-studio] .diagram-svg .s-security,.idiagram[data-diagram=client-studio] .diagram-svg .s-security,.diagram[data-diagram=hub-and-spokes] .diagram-svg .s-security,.diagram[data-diagram=ticket-lifecycle] .diagram-svg .s-security,.diagram[data-diagram=skill-routing] .diagram-svg .s-security,.idiagram[data-diagram=five-roles] .diagram-svg .s-security,.idiagram[data-diagram=hub-and-spokes] .diagram-svg .s-security,.idiagram[data-diagram=ticket-lifecycle] .diagram-svg .s-security,.idiagram[data-diagram=skill-routing] .diagram-svg .s-security{color:var(--role-rin)}.idiagram .diagram-svg g.is-link:hover>rect:not(.c-mask),.idiagram .diagram-svg g.is-link:focus-visible>rect:not(.c-mask),.idiagram .diagram-svg g.is-link.is-hover>rect:not(.c-mask),.idiagram .diagram-svg g.is-active>rect:not(.c-mask){stroke:var(--brand-primary);stroke-width:2px;fill:var(--surface)}.idiagram--flow .diagram-svg .a-flow{fill:none;stroke:var(--ink-35);stroke-width:3.5px;stroke-linecap:round;stroke-dasharray:.22 1.78;stroke-dashoffset:.22px;opacity:.95;pointer-events:none;animation:12s cubic-bezier(.45,0,.55,1) infinite flow-out}.idiagram--flow .diagram-svg .a-flow--back{stroke:var(--role-thomas);stroke-dashoffset:-1px;animation-name:flow-back}.idiagram--flow .diagram-svg .a-flow-label>text{--label-base:var(--ink-70);animation:12s ease-out infinite flow-label}.idiagram--flow .diagram-svg .a-flow-label>text.t-primary{--label-base:var(--ink)}.idiagram--flow .diagram-svg .a-flow-label>text.t-security{--label-base:var(--role-rin)}.idiagram--flow .diagram-svg .a-flow-reply{opacity:0;pointer-events:none;animation:12s ease-out infinite flow-reply}.idiagram--flow .diagram-svg .a-flow-reply>text{font-weight:600}.idiagram--flow .diagram-svg [data-flow-key="1"],.idiagram--flow .diagram-svg [data-flow-key="1"]>text{animation-delay:3s}.idiagram--flow .diagram-svg [data-flow-key="2"],.idiagram--flow .diagram-svg [data-flow-key="2"]>text{animation-delay:6s}.idiagram--flow .diagram-svg [data-flow-key="3"],.idiagram--flow .diagram-svg [data-flow-key="3"]>text{animation-delay:9s}.idiagram--flow .diagram-svg [data-flow-to=thomas]{--flow-ink:var(--role-thomas)}.idiagram--flow .diagram-svg [data-flow-to=shaper]{--flow-ink:var(--role-shaper)}.idiagram--flow .diagram-svg [data-flow-to=builder]{--flow-ink:var(--role-builder)}.idiagram--flow .diagram-svg [data-flow-to=rin]{--flow-ink:var(--role-rin)}.idiagram--flow .diagram-svg [data-flow-to=qa]{--flow-ink:var(--role-qa)}.idiagram--flow[data-seq] .diagram-svg .a-flow--out,.idiagram--flow[data-seq] .diagram-svg .a-flow-label{--flow-ink:var(--ink)}.idiagram--flow[data-seq] .diagram-svg [data-flow-from=client],.idiagram--flow[data-seq] .diagram-svg [data-flow-from=frontier_query]{--flow-ink:var(--brand-primary)}.idiagram--flow[data-seq] .diagram-svg [data-flow-from=tracker]{--flow-ink:var(--ink)}.idiagram--flow[data-seq] .diagram-svg [data-flow-from=thomas]{--flow-ink:var(--role-thomas)}.idiagram--flow[data-seq] .diagram-svg [data-flow-from=shaper]{--flow-ink:var(--role-shaper)}.idiagram--flow[data-seq] .diagram-svg [data-flow-from=builder]{--flow-ink:var(--role-builder)}.idiagram--flow[data-seq] .diagram-svg [data-flow-from=rin]{--flow-ink:var(--role-rin)}.idiagram--flow[data-seq] .diagram-svg [data-flow-from=qa]{--flow-ink:var(--role-qa)}.idiagram--flow .diagram-svg .a-flow--out{stroke:var(--flow-ink,var(--ink-35))}.idiagram--flow .diagram-svg .a-flow-reply>text{fill:var(--flow-ink,var(--ink))}.idiagram--flow[data-flow=paused] .diagram-svg .a-flow,.idiagram--flow[data-flow=paused] .diagram-svg .a-flow-label>text,.idiagram--flow[data-flow=paused] .diagram-svg .a-flow-reply{animation-play-state:paused}@keyframes flow-out{0%{stroke-dashoffset:.22px}10%,to{stroke-dashoffset:-1px}}@keyframes flow-back{0%,15%{stroke-dashoffset:-1px}25%,to{stroke-dashoffset:.22px}}@keyframes flow-label{0%,14%{fill:var(--flow-ink);opacity:1;font-weight:600}15%,25%{fill:var(--label-base);opacity:0;font-weight:400}27%,to{fill:var(--label-base);opacity:1;font-weight:400}}@keyframes flow-reply{0%,14%{opacity:0}16%,24%{opacity:1}26%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.idiagram--flow .diagram-svg .a-flow,.idiagram--flow .diagram-svg .a-flow-reply{display:none}.idiagram--flow .diagram-svg .a-flow-label>text{animation:none}}
