.tech-diagram-scope{--sz-sonzai:#82A995;--sz-your:#5f8dff;--sz-accent:#FFCE6B;--sz-fg:#F7F4EC;--sz-fg-3:rgba(247,244,236,0.65);--sz-fg-4:rgba(247,244,236,0.5);--sz-fg-5:rgba(247,244,236,0.25);--sz-border:rgba(247,244,236,0.12);--sz-bg:#0a0e12;--sz-bg-elevated:#0b100d}.tech-diagram-scope .diagram{margin:24px 0 12px;padding:24px 20px;background:rgba(247,244,236,.02);border:1px solid var(--sz-border);border-radius:12px;position:relative}.tech-diagram-scope .diagram-cap{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;font-family:Neue-Regrade,sans-serif;font-weight:600;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--sz-fg-4)}.tech-diagram-scope .diagram-cap .left{display:flex;align-items:center;gap:10px}.tech-diagram-scope .diagram-cap .left:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--sz-sonzai)}.tech-diagram-scope .diagram-cap .right{color:var(--sz-fg-5)}.tech-diagram-scope .diagram-svg{width:100%;height:auto;display:block}.tech-diagram-scope .legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:14px;padding-top:14px;border-top:1px solid var(--sz-border);font-family:Neue-Regrade,sans-serif;font-size:12px;letter-spacing:.02em;color:var(--sz-fg-3)}.tech-diagram-scope .legend-item{display:flex;align-items:center;gap:8px}.tech-diagram-scope .legend-swatch{width:13px;height:13px;border-radius:3px;border:1px solid}.tech-diagram-scope .legend-swatch.sonzai{background:rgba(130,169,149,.12);border-color:rgba(130,169,149,.55)}.tech-diagram-scope .legend-swatch.external{background:rgba(247,244,236,.04);border-color:rgba(247,244,236,.25);border-style:dashed}.tech-diagram-scope .legend-swatch.your{background:rgba(95,141,255,.1);border-color:rgba(95,141,255,.5)}.tech-diagram-scope .diagram-svg .node-bg{fill:rgba(247,244,236,.04);stroke:rgba(247,244,236,.22);stroke-width:1}.tech-diagram-scope .diagram-svg .node-bg.sonzai{fill:rgba(130,169,149,.09);stroke:rgba(130,169,149,.55)}.tech-diagram-scope .diagram-svg .node-bg.your{fill:rgba(95,141,255,.08);stroke:rgba(95,141,255,.45)}.tech-diagram-scope .diagram-svg .node-bg.external{fill:rgba(247,244,236,.025);stroke:rgba(247,244,236,.2);stroke-dasharray:4 3}.tech-diagram-scope .diagram-svg .node-title{font-family:Neue-Regrade,sans-serif;font-weight:600;font-size:13px;letter-spacing:.005em;fill:var(--sz-fg)}.tech-diagram-scope .diagram-svg .node-sub{font-family:Neue-Regrade,sans-serif;font-size:10.5px;fill:rgba(247,244,236,.66)}.tech-diagram-scope .diagram-svg .node-tag{font-family:Neue-Regrade,sans-serif;font-weight:600;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;fill:rgba(247,244,236,.5)}.tech-diagram-scope .diagram-svg .node-tag.sonzai{fill:var(--sz-sonzai)}.tech-diagram-scope .diagram-svg .arrow{fill:none;stroke:rgba(247,244,236,.4);stroke-width:1.3;stroke-linecap:round}.tech-diagram-scope .diagram-svg .arrow.accent{stroke:var(--sz-sonzai);stroke-width:1.5}.tech-diagram-scope .diagram-svg .arrow.dashed{stroke-dasharray:4 3}.tech-diagram-scope .diagram-svg .arrow-label{font-family:Neue-Regrade,sans-serif;font-size:10px;letter-spacing:.03em;fill:var(--sz-fg-3)}.tech-diagram-scope .diagram-svg .arrow-label.accent{fill:var(--sz-sonzai)}.tech-diagram-scope .diagram-svg .arrow-label-bg{fill:var(--sz-bg)}.tech-diagram-scope .diagram-svg .group-bg{fill:rgba(130,169,149,.035);stroke:rgba(130,169,149,.3);stroke-width:1}.tech-diagram-scope .diagram-svg .group-label{font-family:var(--font-fraunces),Georgia,serif;font-style:italic;font-size:13px;letter-spacing:.02em;text-transform:none;fill:var(--sz-sonzai)}.tech-diagram-scope .seq-svg .lifeline{stroke:rgba(247,244,236,.14);stroke-width:1;stroke-dasharray:3 4;fill:none}.tech-diagram-scope .seq-svg .seq-arrow{stroke:rgba(247,244,236,.5);stroke-width:1.4;fill:none}.tech-diagram-scope .seq-svg .seq-arrow.accent{stroke:var(--sz-sonzai);stroke-width:1.5}.tech-diagram-scope .seq-svg .seq-arrow.dashed{stroke-dasharray:5 3}.tech-diagram-scope .seq-svg .seq-label{font-family:Neue-Regrade,sans-serif;font-weight:600;font-size:12px;fill:var(--sz-fg)}.tech-diagram-scope .seq-svg .seq-label.accent{fill:var(--sz-sonzai)}.tech-diagram-scope .seq-svg .seq-sublabel{font-family:ui-monospace,JetBrains Mono,monospace;font-size:10.5px;fill:rgba(247,244,236,.66)}.tech-diagram-scope .seq-svg .seq-num{font-family:var(--font-fraunces),Georgia,serif;font-size:14px;fill:var(--sz-accent);letter-spacing:.02em}.tech-diagram-scope .seq-svg .seq-loop{fill:none;stroke:rgba(130,169,149,.4);stroke-width:1;stroke-dasharray:4 3}.tech-diagram-scope .seq-svg .seq-note{fill:rgba(255,206,107,.05);stroke:rgba(255,206,107,.3);stroke-width:1}.tech-diagram-scope .seq-svg .seq-note-text{font-family:Neue-Regrade,sans-serif;font-size:11px;fill:rgba(247,244,236,.85)}