.diagram{justify-items:center;gap:var(--space-2);max-width:48rem;padding:var(--space-8) var(--space-6);border-radius:var(--radius);background:var(--color-bg-subtle);margin:0;display:grid}.diagram .node{align-content:center;gap:var(--space-1);width:100%;max-width:24rem;padding:var(--space-4);border:1px solid var(--color-line-strong);border-radius:var(--radius);background:var(--color-bg);text-align:center;display:grid}.diagram .node span{color:var(--color-ink-muted);font-size:var(--font-size-sm)}.diagram .node .stage-name{color:var(--color-link);letter-spacing:.02em;font-weight:700}.diagram .edge{color:var(--color-ink-muted);font-size:var(--font-size-sm);text-align:center;justify-items:center;display:grid}.diagram .edge:before,.diagram .edge:after{content:"";width:1px;height:var(--space-3);background:var(--color-line-strong)}.diagram .edge:after{border-inline:6px solid #0000;border-top:8px solid var(--color-line-strong);background:0 0;width:0;height:0}.diagram .edge.up:before{border-inline:6px solid #0000;border-bottom:8px solid var(--color-line-strong);background:0 0;width:0;height:0}.diagram .edge.up:after{width:1px;height:var(--space-3);background:var(--color-line-strong);border:0}.diagram .system{justify-items:center;gap:var(--space-4);width:100%;padding:var(--space-4) var(--space-4) var(--space-6);border:2px solid var(--color-brand);border-radius:var(--radius);display:grid}.diagram .system-name{font-weight:800}.diagram .system-note{color:var(--color-ink-muted);font-size:var(--font-size-sm);text-align:center}.diagram .lanes{justify-items:center;gap:var(--space-3);width:100%;display:grid}.diagram .plug{justify-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-4);border:1px solid var(--color-link);border-radius:var(--radius);background:var(--color-bg);color:var(--color-link);font-size:var(--font-size-sm);text-align:center;display:grid}.diagram .plug strong{letter-spacing:.02em}.diagram .links{justify-items:center;gap:var(--space-1);color:var(--color-link);font-size:var(--font-size-sm);text-align:center;display:grid}.diagram .parts{gap:var(--space-2);margin-top:var(--space-2);display:grid}.diagram .part{padding:var(--space-2) var(--space-3);border:1px solid var(--color-line-strong);border-radius:var(--radius);background:var(--color-bg-subtle);color:var(--color-ink-muted);font-size:var(--font-size-sm)}.diagram .part.is-plug{border-color:var(--color-link)}.diagram .chips{justify-content:center;gap:var(--space-1);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.diagram .node .chip{padding:0 var(--space-2);border:1px solid var(--color-line-strong);border-radius:var(--radius);color:var(--color-link);letter-spacing:.02em;font-weight:700}.diagram .node .chip.is-plug{border-color:var(--color-link)}.diagram .flows{gap:var(--space-8);width:100%;display:grid}.diagram .flow{align-content:start;justify-items:center;gap:var(--space-2);display:grid}.diagram .flow-name{font-weight:800}.diagram.case-flow{justify-items:stretch;gap:var(--space-8);max-width:none}.diagram .flow-block{gap:var(--space-3);display:grid}.diagram .row-label{font-weight:800}.diagram .flow-row{justify-items:center;gap:var(--space-2);display:grid}.diagram .flow-node{align-content:center;justify-items:center;gap:var(--space-1);width:100%;max-width:20rem;padding:var(--space-4);border:1px solid var(--color-line-strong);border-radius:var(--radius);background:var(--color-bg);text-align:center;display:grid}.diagram .flow-node.gritdb{border:2px solid var(--color-brand)}.diagram .flow-node .logos{justify-content:center;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.diagram .flow-node .logos img{object-fit:contain;width:auto;min-width:0;max-width:100%;height:2.5rem;display:block}.diagram .flow-node .logos .is-logo{height:2.25rem}.diagram .flow-node .logos .is-stacked{height:3rem}.diagram .flow-node .logos .is-wordmark{height:1.125rem}.diagram .flow-node .caption{color:var(--color-ink-muted);font-size:var(--font-size-sm)}.diagram .flow-group{gap:var(--space-2);width:100%;max-width:20rem;display:grid}.diagram .flow-edge{color:var(--color-ink-muted);font-size:var(--font-size-sm);text-align:center;justify-items:center;display:grid}.diagram .flow-edge:before{content:"";width:1px;height:var(--space-3);background:var(--color-line-strong)}.diagram .flow-edge:after{content:"";border-inline:6px solid #0000;border-top:8px solid var(--color-line-strong);width:0;height:0}.diagram .fwd:before{content:"↓ ";content:"↓ " / ""}.diagram .back:before{content:"↑ ";content:"↑ " / ""}.diagram figcaption{margin-top:var(--space-2);color:var(--color-ink-muted);font-size:var(--font-size-sm)}.diagram.split{max-width:52rem;padding:var(--space-6) var(--space-3);overflow-wrap:normal;word-break:keep-all;justify-items:stretch;container:engine-split/inline-size}.diagram .split-top,.diagram .split-box{column-gap:var(--space-2);grid-template-columns:minmax(0,1fr) 2.25rem minmax(0,1fr);display:grid}.diagram .split-top{padding-inline:calc(var(--space-2) + 2px)}.diagram .split-box{row-gap:var(--space-3);padding:var(--space-2);border:2px solid var(--color-brand);border-radius:var(--radius)}.diagram .split-client,.diagram .split-engine{align-content:start;gap:var(--space-1);min-width:0;padding:var(--space-2);border:1px solid var(--color-line-strong);border-radius:var(--radius);background:var(--color-bg);text-align:center;display:grid}.diagram .split-client span,.diagram .split-engine span{color:var(--color-ink-muted);font-size:.8125rem}.diagram .split-engine.is-an{border-color:var(--color-link)}.diagram .split-client.is-tx,.diagram .split-down.is-tx,.diagram .split-route.is-tx,.diagram .split-engine.is-tx{grid-column:1}.diagram .split-client.is-an,.diagram .split-down.is-an,.diagram .split-route.is-an,.diagram .split-engine.is-an{grid-column:3}.diagram .split-client{grid-row:1}.diagram .split-down{grid-row:2}.diagram .split-name,.diagram .split-entry{grid-column:1/-1}.diagram .split-name{text-align:center;grid-row:1;font-weight:800}.diagram .split-entry{padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--color-bg-inverse);color:var(--color-ink-inverse);font-size:var(--font-size-sm);text-align:center;grid-row:2;font-weight:600}.diagram .split-route{color:var(--color-link);font-size:var(--font-size-sm);grid-row:3;justify-items:center;font-weight:700;display:grid}.diagram .split-route span{order:-1}.diagram .split-engine,.diagram .split-link{grid-row:4}.diagram .split-link{align-content:center;justify-items:center;gap:var(--space-1);color:var(--color-link);font-size:var(--font-size-sm);text-align:center;grid-column:2;display:grid}.diagram .split-link-label{font-weight:700}.diagram .split-link-label:after{content:" →";content:" →" / ""}.diagram .split-link-sub{color:var(--color-ink-muted);display:none}.diagram .split-down,.diagram .split-route:before{background:var(--color-line-strong);justify-self:center;width:1px}.diagram .split-down{height:var(--space-6);position:relative}.diagram .split-route:before{content:"";height:var(--space-4)}.diagram .split-down:after,.diagram .split-route:after{content:"";border-inline:6px solid #0000;border-top:8px solid var(--color-line-strong);width:0;height:0;display:block}.diagram .split-down:after{position:absolute;bottom:-8px;left:-6px}.diagram .split-chips{justify-content:center;gap:var(--space-1);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.diagram .split-engine .split-chips span{padding:0 var(--space-1);border:1px solid var(--color-line-strong);border-radius:var(--radius);color:var(--color-link);letter-spacing:.02em;font-weight:700}.diagram.split figcaption{text-align:center}@container engine-split (width<=16em){.diagram .split-top,.diagram .split-box{overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr)}.diagram .split-top{row-gap:var(--space-2)}.diagram .split-client.is-tx,.diagram .split-client.is-an,.diagram .split-down.is-tx,.diagram .split-route.is-tx,.diagram .split-route.is-an,.diagram .split-engine.is-tx,.diagram .split-engine.is-an,.diagram .split-link,.diagram .split-name,.diagram .split-entry{grid-area:auto/1}.diagram .split-down.is-an{display:none}.diagram .split-name{order:1}.diagram .split-entry{order:2}.diagram .split-route.is-tx{order:3}.diagram .split-engine.is-tx{order:4}.diagram .split-link{order:5}.diagram .split-route.is-an{order:6}.diagram .split-engine.is-an{order:7}.diagram .split-link-label:after{content:" ↓";content:" ↓" / ""}}@media (width>=30rem){.diagram.split{padding-inline:var(--space-4)}.diagram .split-top,.diagram .split-box{grid-template-columns:minmax(0,1fr) 2.75rem minmax(0,1fr)}.diagram .split-top{padding-inline:calc(var(--space-3) + 2px)}.diagram .split-box,.diagram .split-client,.diagram .split-engine{padding:var(--space-3)}.diagram .split-client span,.diagram .split-engine span{font-size:var(--font-size-sm)}.diagram .split-engine .split-chips span{padding:0 var(--space-2)}}@media (width>=48rem){.diagram .flow-row{justify-content:center;align-items:center;display:flex}.diagram .flow-node,.diagram .flow-group{flex:1 1 0;max-width:16rem}.diagram .flow-edge{padding:0 var(--space-2) var(--space-4);flex:0 0 8rem;position:relative}.diagram .flow-edge:before{bottom:var(--space-2);width:calc(100% - 8px);height:1px;position:absolute;left:0}.diagram .flow-edge:after{right:0;bottom:calc(var(--space-2) - 5px);border:5px solid #0000;border-inline:0;border-left:8px solid var(--color-line-strong);position:absolute}.diagram .flows{column-gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr))}.diagram .lanes{column-gap:var(--space-4);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.diagram .links{align-self:center}.diagram .fwd:before{content:"→ ";content:"→ " / ""}.diagram .back:before{content:"← ";content:"← " / ""}.diagram.split{padding:var(--space-8) var(--space-6)}.diagram .split-top,.diagram .split-box{column-gap:var(--space-4);grid-template-columns:minmax(0,1fr) 8rem minmax(0,1fr)}.diagram .split-top{padding-inline:calc(var(--space-4) + 2px)}.diagram .split-box{padding:var(--space-4)}.diagram .split-link-sub{display:block}}.diagram.ai-loop{overflow-wrap:break-word;word-break:keep-all;justify-items:stretch;max-width:none}.diagram .loop-grid{gap:var(--space-2);grid-template-columns:minmax(0,1fr);display:grid}.diagram .loop-zone{align-content:start;gap:var(--space-4);min-width:0;padding:var(--space-4);border:1px solid var(--color-line-strong);border-radius:var(--radius);background:var(--color-bg);display:grid}.diagram .loop-zone.is-gritdb{border:2px solid var(--color-brand)}.diagram .loop-head{justify-items:center;gap:var(--space-1);text-align:center;display:grid}.diagram .loop-head img{object-fit:contain;width:auto;max-width:100%;height:3rem;display:block}.diagram .loop-head .loop-photo{border-radius:var(--radius);height:3.75rem}.diagram .loop-head .loop-logo{height:2.25rem}.diagram .loop-name{font-weight:800}.diagram .loop-sub{color:var(--color-ink-muted);font-size:var(--font-size-sm)}.diagram .loop-steps{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.diagram .loop-steps li{column-gap:var(--space-2);grid-template-columns:1.75rem minmax(0,1fr);align-items:start;display:grid}.diagram .loop-steps strong,.diagram .loop-steps .detail{grid-column:2}.diagram .loop-steps .detail{color:var(--color-ink-muted);font-size:var(--font-size-sm)}.diagram .loop-no{background:var(--color-brand);width:1.75rem;height:1.75rem;color:var(--color-ink);font-size:var(--font-size-sm);border-radius:50%;grid-row:1/span 2;place-items:center;font-weight:800;display:grid}.diagram .loop-stores{gap:var(--space-2);padding:var(--space-3) 0 0;border-top:1px dashed var(--color-line-strong);font-size:var(--font-size-sm);margin:0;list-style:none;display:grid}.diagram .loop-stores li{align-items:center;gap:var(--space-2);display:flex}.diagram .loop-stores img{flex:none;width:auto;height:1.75rem}.diagram .loop-stores span{min-width:0}.diagram .loop-arrow{color:var(--color-link);font-size:var(--font-size-sm);text-align:center;justify-items:center;font-weight:700;display:grid}.diagram .loop-arrow:before{content:"";width:2px;height:var(--space-4);background:var(--color-brand)}.diagram .loop-arrow:after{content:"";border-inline:7px solid #0000;border-top:10px solid var(--color-brand);width:0;height:0}.diagram .loop-arrow .sub{color:var(--color-ink-muted);font-weight:400}.diagram .loop-back{margin-top:var(--space-2);padding:var(--space-3) var(--space-4);border:2px dashed var(--color-brand);border-radius:var(--radius);text-align:center}.diagram .loop-back-label{align-items:center;gap:var(--space-2);font-weight:700;display:inline-flex}.diagram .loop-back-label .loop-no{flex:none}.diagram.ai-loop figcaption{margin-top:var(--space-4);text-align:center}@media (width>=64rem){.diagram .loop-grid{--loop-arrow:7.5rem;grid-template-columns:minmax(0, 1fr) var(--loop-arrow) minmax(0, 1fr) var(--loop-arrow) minmax(0, 1fr);column-gap:var(--space-2);row-gap:0}.diagram .loop-arrow{padding:0 var(--space-1) var(--space-4);align-self:center;position:relative}.diagram .loop-arrow:before{bottom:var(--space-2);width:calc(100% - 10px);height:2px;position:absolute;left:0}.diagram .loop-arrow:after{right:0;bottom:calc(var(--space-2) - 6px);border:7px solid #0000;border-inline:0;border-left:10px solid var(--color-brand);position:absolute}.diagram .loop-back{height:var(--space-12);margin:0 calc((100% - 2 * var(--loop-arrow) - 4 * var(--space-2)) / 6);border:2px dashed var(--color-brand);border-radius:0 0 var(--radius) var(--radius);border-top:0;grid-column:1/-1;padding:0;position:relative}.diagram .loop-back:before{content:"";border-inline:7px solid #0000;border-bottom:10px solid var(--color-brand);margin-left:2px;position:absolute;top:0;left:-8px}.diagram .loop-back-label{padding:0 var(--space-3);background:var(--color-bg-subtle);white-space:nowrap;position:absolute;bottom:0;left:50%;transform:translate(-50%,50%)}.diagram.ai-loop figcaption{margin-top:var(--space-8)}}.diagram.fix{overflow-wrap:break-word;word-break:keep-all;justify-items:stretch;max-width:none}.diagram .fix-title{justify-content:center;align-items:center;gap:var(--space-2);font-weight:800;display:flex}.diagram .fix-title .loop-no{flex:none}.diagram .fix-pic{width:100%;max-width:18rem;height:auto;margin-inline:auto;display:block}.diagram .fix-legend{margin-top:calc(-1 * var(--space-2));color:var(--color-ink-muted);font-size:var(--font-size-sm);text-align:center}.diagram .fix-cost{padding-top:var(--space-3);border-top:1px dashed var(--color-line-strong);color:var(--color-ink-muted);font-size:var(--font-size-sm)}.diagram .fix-bars{gap:var(--space-2);font-size:var(--font-size-sm);margin:0;display:grid}.diagram .fix-bars dt{font-weight:700}.diagram .fix-bars div{gap:var(--space-1) var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.diagram .fix-bars dd{margin:0}.diagram .fix-bars .bar{grid-column:1/-1}.diagram .fix-bars svg{background:var(--color-bg-subtle);border-radius:2px;width:100%;height:.5rem;display:block}.diagram .fix-bars .bar-hot{fill:var(--color-chart-accent)}.diagram .fix-bars .bar-avg{fill:var(--color-chart-muted)}.diagram .fix-pic .s-floor{stroke:var(--color-line-strong);stroke-width:2px}.diagram .fix-pic .s-arm{fill:none;stroke:var(--color-ink-muted);stroke-width:7px;stroke-linecap:round;stroke-linejoin:round}.diagram .fix-pic .s-grip{fill:none;stroke:var(--color-ink);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.diagram .fix-pic .s-dark{fill:var(--color-ink)}.diagram .fix-pic .s-lens{fill:var(--color-brand)}.diagram .fix-pic .s-fov{fill:var(--color-brand);opacity:.16}.diagram .fix-pic .s-bin{fill:var(--color-bg-subtle);stroke:var(--color-ink);stroke-width:2px;stroke-linejoin:round}.diagram .fix-pic .s-item{fill:var(--color-link)}.diagram .fix-pic .s-shiny{fill:var(--color-line-strong)}.diagram .fix-pic .s-glint{fill:var(--color-bg)}.diagram .fix-pic .s-out{fill:var(--color-line);stroke:var(--color-ink);stroke-width:2px;stroke-linejoin:round}.diagram .fix-pic .s-glare{fill:none;stroke:var(--color-brand);stroke-width:2px;stroke-linecap:round}.diagram .fix-pic .s-ghost{fill:none;stroke:var(--color-ink-muted);stroke-width:1.5px;stroke-dasharray:3 2}.diagram .fix-pic .s-bad{fill:var(--color-bg);stroke:var(--color-ink);stroke-width:2px}.diagram .fix-pic .s-bad-x,.diagram .fix-pic .s-good-v{fill:none;stroke:var(--color-ink);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.diagram .fix-pic .s-good{fill:var(--color-brand)}.diagram .fix-pic .s-hard{fill:none;stroke:var(--color-brand);stroke-width:2px;stroke-dasharray:4 3}.diagram .fix-pic .s-heat{fill:var(--color-chart-accent)}.diagram .fix-pic .h0{fill-opacity:.08}.diagram .fix-pic .h1{fill-opacity:.28}.diagram .fix-pic .h2{fill-opacity:.55}.diagram .fix-pic .h3{fill-opacity:.9}.diagram .fix-pic .s-pick{fill:none;stroke:var(--color-ink);stroke-width:2px;stroke-dasharray:5 3}.diagram .fix-pic .s-db{fill:var(--color-bg-subtle);stroke:var(--color-ink);stroke-width:2px}.diagram .fix-pic .s-row{stroke:var(--color-line-strong);stroke-width:2px;stroke-linecap:round}.diagram .fix-pic .s-rows{fill:var(--color-line-strong)}.diagram .fix-pic .s-flow{stroke:var(--color-ink-muted);stroke-width:2.5px}.diagram .fix-pic .s-flow-head{fill:var(--color-ink-muted)}.diagram .fix-pic .s-win{fill:var(--color-bg);stroke:var(--color-ink);stroke-width:2px}.diagram .fix-pic .s-winbar{fill:var(--color-ink)}.diagram .fix-pic .s-wait,.diagram .fix-pic .s-col{fill:var(--color-line)}.diagram .fix-pic .s-col-on{fill:var(--color-chart-accent)}.diagram .fix-pic .s-core{fill:var(--color-ink)}.diagram .fix-pic .s-axis{stroke:var(--color-line-strong);stroke-width:1.5px}.diagram .fix-pic .s-bar{fill:var(--color-chart-accent)}.diagram .loop-head .loop-icon{width:auto;height:3rem;display:block}.diagram .loop-icon .n-line{stroke:var(--color-line-strong);stroke-width:1.5px}.diagram .loop-icon .n-node{fill:var(--color-link)}.diagram .loop-icon .n-out{fill:var(--color-brand)}
