.diagram-scroll{position:relative;display:flex;flex-direction:column;overflow-x:auto;-webkit-overflow-scrolling:touch;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);background:radial-gradient(1200px 600px at 70% 0%,rgba(52,101,227,.1),transparent 60%),radial-gradient(900px 500px at 15% 100%,rgba(124,92,252,.08),transparent 60%)}.diagram-scroll.js-viewer{overflow:hidden}.dg-canvas{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}.js-viewer .dg-canvas{cursor:grab;touch-action:pan-y}.js-viewer .dg-canvas.dragging{cursor:grabbing}.dg-toolbar{position:relative;z-index:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px}.dg-toolbar-hd{margin:0;font-size:12px;font-weight:600;color:#93a2bc;flex:1 1 auto}.dg-light .dg-toolbar-hd{color:#6b7280}.dg-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}@media(max-width:720px){.dg-toolbar-hd{display:none}}.dg-stats{margin:0;padding:2px 14px 10px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;font-size:12.5px;font-weight:600;color:#93a2bc}.dg-stats[hidden]{display:none}.dg-stats>span{flex:0 0 auto;white-space:nowrap}.dg-stats b{color:#fff;font-weight:700;font-variant-numeric:tabular-nums}.dg-stats-lab{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6e7c95}.dg-light .dg-stats{color:#6b7280}.dg-light .dg-stats b{color:#0b0f19}.dg-light .dg-stats-lab{color:#9aa3b2}.dg-phases{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 14px 12px}.dg-vlab{flex:0 0 auto;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6e7c95}.dg-light .dg-vlab{color:#9aa3b2}.dg-vw{flex:0 0 auto;padding:7px 13px;border-radius:100px;border:1px solid rgba(255,255,255,.18);background:#0b111fd9;color:#e9eef9;font-family:inherit;font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer;transition:all .15s ease}.dg-vw:hover{border-color:#ffffff6b;background:#141c30f2}.dg-vw.is-active{background:#3465e3;border-color:#3465e3;color:#fff}.dg-light .dg-vw{background:#fff;border-color:#d7dee9;color:#333b47}.dg-light .dg-vw:hover{border-color:#b9c4d6}.dg-light .dg-vw.is-active{background:#3465e3;border-color:#3465e3;color:#fff}.dg-vsep,.dg-ph{display:none}@media(max-width:900px){.dg-toolbar{padding:10px 12px 8px}#dgOut,#dgIn,#dgFit{display:none}.dg-btn{width:32px;height:32px;border-radius:10px;font-size:14px}.dg-chip{height:30px;padding:0 11px;font-size:10.5px}.dg-phases{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding:0 14px 12px;scrollbar-width:none}.dg-phases::-webkit-scrollbar{display:none}.dg-stats{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:12px;padding:0 14px 8px;font-size:11.5px}.dg-stats::-webkit-scrollbar{display:none}.dg-stats-lab{white-space:nowrap}.dg-vlab{display:none}.dg-vsep{display:block;flex:0 0 auto;width:1px;height:20px;background:#ffffff29}.dg-light .dg-vsep{background:#d7dee9}.dg-ph{display:block;flex:0 0 auto;padding:8px 13px;border-radius:100px;border:1px solid rgba(255,255,255,.18);background:#0b111fd9;color:#e9eef9;font-family:inherit;font-size:12.5px;font-weight:700;white-space:nowrap;cursor:pointer}.dg-light .dg-ph{background:#fff;border-color:#d7dee9;color:#333b47}.dg-ph.on{background:#3465e3;border-color:#3465e3;color:#fff}}.dg-btn{width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#0b111fd9;backdrop-filter:blur(8px);color:#e9eef9;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.dg-btn:hover{border-color:#fff6;background:#141c30f2}.dg-chip{height:36px;padding:0 14px;border-radius:100px;border:1px solid rgba(255,255,255,.18);background:#0b111fd9;backdrop-filter:blur(8px);color:#e9eef9;font-size:11.5px;font-weight:700;letter-spacing:.2px;white-space:nowrap;cursor:pointer;display:flex;align-items:center;transition:all .15s ease}.dg-chip:hover{border-color:#fff6;background:#141c30f2}.dg-chip.is-active{background:#3465e3;border-color:#3465e3;color:#fff}.dg-hint{position:absolute;bottom:14px;left:50%;transform:translate(-50%);z-index:5;padding:7px 14px;border-radius:100px;border:1px solid rgba(255,255,255,.14);background:#0b111fd9;backdrop-filter:blur(8px);color:#93a2bc;font-size:12px;font-weight:600;pointer-events:none;transition:opacity .4s ease}.dg-light{background:radial-gradient(1200px 600px at 70% 0%,rgba(52,101,227,.05),transparent 60%),radial-gradient(900px 500px at 15% 100%,rgba(124,92,252,.04),transparent 60%);border-top-color:#eef1f6!important;border-bottom-color:#eef1f6!important}.dg-light .dg-btn{background:#ffffffeb;border:1px solid #D7DEE9;color:#0b0f19}.dg-light .dg-btn:hover{border-color:#b9c4d6;background:#fff}.dg-light .dg-hint{background:#fffffff0;border-color:#d7dee9;color:#6b7280}.dg-light .dg-chip{background:#ffffffeb;border-color:#d7dee9;color:#0b0f19}.dg-light .dg-chip:hover{border-color:#b9c4d6;background:#fff}.dg-light .dg-chip.is-active{background:#3465e3;border-color:#3465e3;color:#fff}.diagram-scroll.dg-full{position:fixed;inset:0;z-index:300;height:100vh!important;border:none;background:#070a12}.diagram-scroll.dg-full .dg-canvas{height:auto!important;flex:1 1 auto}.diagram-scroll.dg-full.dg-light{background:#f7f8fb}body.dg-lock{overflow:hidden}.diagram-scroll,.diagram-scroll svg,.diagram-scroll text{-webkit-user-select:none;user-select:none}@keyframes dgFlow{to{stroke-dashoffset:-16}}@keyframes dgFlowSlow{to{stroke-dashoffset:-9}}@keyframes dgGoal{0%,to{filter:drop-shadow(0 0 14px var(--gl))}50%{filter:drop-shadow(0 0 30px var(--gl))}}@keyframes dgAcc{0%,to{stroke-opacity:.7}50%{stroke-opacity:1}}.e-big{stroke-dasharray:7 9;animation:dgFlow 1.1s linear infinite}.e-dash{animation:dgFlowSlow 2.8s linear infinite}.nd-goal{filter:drop-shadow(0 0 22px var(--gl));animation:dgGoal 4.5s ease-in-out infinite}.nd-acc{animation:dgAcc 3.6s ease-in-out infinite}.js-viewer .nd:hover rect,.js-viewer .nd:hover polygon{stroke-width:2.2}.diagram-scroll:not(.dg-light) .nd:hover rect,.diagram-scroll:not(.dg-light) .nd:hover polygon{filter:drop-shadow(0 0 10px rgba(91,140,255,.4))}.dg-light .nd:hover rect,.dg-light .nd:hover polygon{filter:drop-shadow(0 0 8px rgba(52,101,227,.3))}.js-viewer .nd{cursor:pointer}.dg-badge-pill{fill:#3465e32e;stroke:#5b8cff;stroke-width:1}.dg-badge-text{fill:#dce6ff;font:700 9.5px ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;letter-spacing:.2px}.dg-light .dg-badge-pill{fill:#eef3fe;stroke:#3465e3}.dg-light .dg-badge-text{fill:#1d3e8f}.dg-play-glow{fill:url(#dgDotGrad);pointer-events:none}.dg-play-core{fill:#f4f8ff;filter:drop-shadow(0 0 9px rgba(122,160,255,.95));pointer-events:none}.dg-light .dg-play-core{fill:#fff;filter:drop-shadow(0 0 7px rgba(52,101,227,.7))}.dg-trail{fill:#5b8cff;pointer-events:none}.dg-light .dg-trail{fill:#3465e3}.dg-pulse{fill:none;stroke:#7fa4ff;stroke-width:2;pointer-events:none}.dg-pulse-fail{stroke:#c2660a}.dg-light .dg-pulse{stroke:#3465e3}.dg-light .dg-pulse-fail{stroke:#b45309}.eg path{transition:stroke .3s ease,stroke-width .3s ease}.dg-play-edge{stroke:#5b8cff!important;stroke-width:2.6!important;filter:drop-shadow(0 0 6px rgba(91,140,255,.75))}.dg-light .dg-play-edge{stroke:#3465e3!important;filter:drop-shadow(0 0 5px rgba(52,101,227,.5))}.nd rect,.nd polygon{transition:filter .3s ease}.nd.dg-play-here rect,.nd.dg-play-here polygon{stroke-width:2.6;filter:drop-shadow(0 0 16px rgba(91,140,255,.85))}.dg-light .nd.dg-play-here rect,.dg-light .nd.dg-play-here polygon{filter:drop-shadow(0 0 12px rgba(52,101,227,.55))}.dg-tip-g{opacity:0;pointer-events:none}.dg-tip-g.dg-tip-in{animation:dgTipIn .34s cubic-bezier(.16,1,.3,1) both}@keyframes dgTipIn{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.dg-tip-pill{fill:#0b111ff0;stroke:#5b8cff;stroke-width:1}.dg-tip-text{fill:#e9eef9;font:700 10.5px ui-monospace,SFMono-Regular,Menlo,monospace}.dg-light .dg-tip-pill{fill:#fffffff7;stroke:#3465e3}.dg-light .dg-tip-text{fill:#0b0f19}.dg-art{position:absolute;z-index:13;left:0;top:0;width:min(330px,72%);padding:11px 13px;border-radius:12px;border:1px solid rgba(91,140,255,.42);background:#090e1af2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 18px 50px #00000080;pointer-events:none;opacity:0;transform:translateY(6px);transition:opacity .28s ease,transform .28s ease}.dg-art[hidden]{display:none}.dg-art.dg-art-in{opacity:1;transform:translateY(0)}.dg-art-hd{margin:0 0 7px;font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#7fa4ff}.dg-art-list{margin:0;padding:0;list-style:none;font:600 11.5px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#c7d2e6}.dg-art-list li{margin:0 0 6px;padding-left:11px;border-left:2px solid rgba(91,140,255,.55)}.dg-art-list li:last-child{margin-bottom:0}.dg-light .dg-art{background:#fffffff7;border-color:#b9c9ee;box-shadow:0 18px 50px #0b0f1929}.dg-light .dg-art-hd{color:#3465e3}.dg-light .dg-art-list{color:#33415c}.dg-light .dg-art-list li{border-left-color:#3465e3}@media(max-width:700px){.dg-art{left:10px;right:10px;width:auto;top:10px;font-size:11px}}.dg-invite{position:absolute;left:50%;bottom:16px;transform:translate(-50%);z-index:14;display:flex;flex-direction:column;align-items:center;gap:7px;pointer-events:none}.dg-invite[hidden]{display:none}.dg-invite-btn{pointer-events:auto;display:flex;align-items:center;gap:9px;height:46px;padding:0 22px;border-radius:100px;border:none;background:#3465e3;color:#fff;font-family:inherit;font-size:14px;font-weight:700;white-space:nowrap;cursor:pointer;box-shadow:0 14px 44px #3465e380;transition:transform .18s ease,background .18s ease}.dg-invite-btn:hover{transform:translateY(-1px);background:#2a55c4}.dg-invite-btn svg{width:15px;height:15px;fill:#fff;flex:0 0 auto}.dg-invite-sub{font-size:11.5px;font-weight:600;color:#93a2bc;text-align:center}.dg-light .dg-invite-sub{color:#6b7280}@media(max-width:720px){.dg-invite-btn{height:42px;padding:0 16px;font-size:12.5px;white-space:normal;line-height:1.25;text-align:left}}.dg-hint.dg-hint-big{font-size:15px;line-height:1.5;padding:12px 22px;color:#e9eef9;font-weight:600;border-color:#5b8cff8c;background:#0b111fed;max-width:min(86%,680px);white-space:normal;text-align:center}.dg-light .dg-hint.dg-hint-big{color:#0b0f19;background:#fffffff5;border-color:#b9c9ee}.dg-prog-time{font-size:11px;font-weight:700;color:#93a2bc;letter-spacing:.04em;padding:0 4px;white-space:nowrap;align-self:center}.dg-light .dg-prog-time{color:#6b7280}.dg-prog{display:flex;align-items:center;gap:6px;padding:0 6px}.dg-prog i{width:7px;height:7px;border-radius:50%;background:#ffffff2e;transition:all .3s ease}.dg-prog i.on{background:#5b8cff;box-shadow:0 0 8px #5b8cffcc}.dg-light .dg-prog i{background:#0b0f1926}.dg-light .dg-prog i.on{background:#3465e3;box-shadow:0 0 6px #3465e380}.dg-endcard{position:absolute;z-index:12;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;background:#0b111fed;border:1px solid rgba(91,140,255,.4);border-radius:20px;padding:26px 34px;backdrop-filter:blur(10px);box-shadow:0 24px 80px #00000080;max-width:min(88%,470px);animation:dgEndIn .45s cubic-bezier(.16,1,.3,1) both}@keyframes dgEndIn{0%{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}.dg-endcard-kicker{margin:0;font-size:10.5px;font-weight:700;letter-spacing:.18em;color:#7fa4ff}.dg-endcard-line{margin:10px 0 0;font-size:16.5px;line-height:1.5;font-weight:600;color:#e9eef9;text-wrap:balance}.dg-endcard-row{margin-top:18px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.dg-endcard-cta{font-family:inherit;background:#3465e3;color:#fff;border:none;border-radius:100px;padding:12px 22px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.dg-endcard-cta:hover{background:#2a55c4}.dg-endcard-again{font-family:inherit;background:none;border:1px solid rgba(255,255,255,.25);color:#c7d2e6;border-radius:100px;padding:12px 18px;font-size:13px;font-weight:600;cursor:pointer}.dg-endcard-again:hover{border-color:#ffffff80}.dg-light .dg-endcard{background:#fffffff7;border-color:#c9d6f2;box-shadow:0 24px 70px #0f172a40}.dg-light .dg-endcard-line{color:#0b0f19}.dg-light .dg-endcard-again{border-color:#c2cad6;color:#3d4553}@media(max-width:640px){.dg-endcard{padding:20px 22px}.dg-endcard-line{font-size:15px}}svg.dg-svg .nd,svg.dg-svg .eg{transition:opacity .45s ease}svg.dg-svg.dg-spot .nd{opacity:.28}svg.dg-svg.dg-spot .eg{opacity:.22}svg.dg-svg.dg-spot #dgBadges{opacity:.15;transition:opacity .45s ease}svg.dg-svg.dg-spot .nd.dg-play-here{opacity:1}svg.dg-svg.dg-spot .eg.dg-eg-live{opacity:1}.dg-tip-g{transform-box:fill-box;transform-origin:center}.dg-tip-ok.dg-tip-in,.dg-tip-fail.dg-tip-in{animation:dgTipPop .4s cubic-bezier(.34,1.56,.64,1) both}@keyframes dgTipPop{0%{opacity:0;transform:translateY(6px) scale(.9)}to{opacity:1;transform:none}}@keyframes dgThink{0%,to{filter:drop-shadow(0 0 6px rgba(91,140,255,.3))}50%{filter:drop-shadow(0 0 22px rgba(91,140,255,.95))}}.nd.dg-thinking rect,.nd.dg-thinking polygon{animation:dgThink .9s ease-in-out infinite}.dg-tip-think .dg-tip-text{fill:#afc3ff}.dg-tip-ok .dg-tip-pill{stroke:#34d399}.dg-tip-ok .dg-tip-text{fill:#4ade9f}.dg-tip-fail .dg-tip-pill{stroke:#c2660a}.dg-tip-fail .dg-tip-text{fill:#e8a360}.dg-light .dg-tip-fail .dg-tip-pill{stroke:#b45309}.dg-light .dg-tip-fail .dg-tip-text{fill:#b45309}.dg-light .dg-tip-ok .dg-tip-pill{stroke:#1e9e63}.dg-light .dg-tip-ok .dg-tip-text{fill:#1e9e63}@media(prefers-reduced-motion:reduce){.nd.dg-thinking rect,.nd.dg-thinking polygon{animation:none}}.dg-card{position:absolute;z-index:20;width:280px;max-width:calc(100% - 24px);background:#0b111ff7;border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:14px 16px;box-shadow:0 12px 32px #00000073;backdrop-filter:blur(10px);font-size:12.5px;line-height:1.5;color:#c7d1e6;-webkit-user-select:text;user-select:text}.dg-card h4{margin:0 26px 6px 0;font-size:13px;font-weight:700;color:#fff;letter-spacing:.2px}.dg-card p{margin:0 0 8px;color:#b6c2d9}.dg-card-close{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;color:#c7d1e6;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center}.dg-card-close:hover{background:#ffffff24}.dg-card-artifacts{margin:8px 0 0;padding:8px 10px;list-style:none;background:#5b8cff14;border-left:2px solid #5B8CFF;border-radius:6px;font:600 11px ui-monospace,SFMono-Regular,Menlo,monospace;color:#afc3ff}.dg-card-artifacts li{margin:0 0 5px}.dg-card-artifacts li:last-child{margin-bottom:0}.dg-light .dg-card{background:#fffffffa;border-color:#d7dee9;color:#3e4756;box-shadow:0 12px 28px #0f172a24}.dg-light .dg-card h4{color:#0b0f19}.dg-light .dg-card p{color:#4b5563}.dg-light .dg-card-close{background:#f4f6fb;border-color:#d7dee9;color:#3e4756}.dg-light .dg-card-close:hover{background:#edf0f6}.dg-light .dg-card-artifacts{background:#eef3fe;border-left-color:#3465e3;color:#274b9e}svg.dg-svg.dg-you .nd,svg.dg-svg.dg-guard .nd{opacity:.18;transition:opacity .25s ease}svg.dg-svg.dg-you .nd[data-you="1"]{opacity:1}svg.dg-svg.dg-solo .nd[data-you="1"]{opacity:.16;transition:opacity .25s ease}svg.dg-svg.dg-solo .nd:not([data-you="1"]) rect,svg.dg-svg.dg-solo .nd:not([data-you="1"]) polygon{stroke:#c2660a!important}svg.dg-svg.dg-solo .eg path:not(.e-big){opacity:.22;transition:opacity .25s ease}svg.dg-svg.dg-solo .dg-badge{opacity:.12;transition:opacity .25s ease}.dg-chip-warn.is-active{background:#c2660a!important;border-color:#c2660a!important;color:#fff!important}svg.dg-svg.dg-guard .nd[data-node=p1],svg.dg-svg.dg-guard .nd[data-node=p2],svg.dg-svg.dg-guard .nd[data-node=p3],svg.dg-svg.dg-guard .nd[data-node=vk],svg.dg-svg.dg-guard .nd[data-node=t9b],svg.dg-svg.dg-guard .nd[data-node=u2],svg.dg-svg.dg-guard .nd[data-node=t4],svg.dg-svg.dg-guard .nd[data-node=t6],svg.dg-svg.dg-guard .nd[data-node=t7],svg.dg-svg.dg-guard .nd[data-node=t9],svg.dg-svg.dg-guard .nd[data-node=v1],svg.dg-svg.dg-guard .nd[data-node=t10],svg.dg-svg.dg-guard .nd[data-node=c1]{opacity:1}svg.dg-svg.dg-you .eg path:not(.e-big),svg.dg-svg.dg-guard .eg path:not(.e-big){opacity:.25;transition:opacity .25s ease}@keyframes dgBlink{0%,to{opacity:1}50%{opacity:.22}}.dg-blink{animation:dgBlink .35s ease-in-out 2}@media(prefers-reduced-motion:reduce){.e-big,.e-dash,.nd-goal,.nd-acc{animation:none}.dg-blink{animation:none;filter:drop-shadow(0 0 14px rgba(91,140,255,.9))}}[data-anim=off] .e-big,[data-anim=off] .e-dash,[data-anim=off] .nd-goal,[data-anim=off] .nd-acc,[data-anim=off] .dg-blink{animation:none}@media(max-width:640px){.dg-controls{top:10px;right:10px;gap:6px}.dg-btn{width:34px;height:34px;border-radius:10px;font-size:14px}.dg-chip{height:32px;padding:0 11px;font-size:10.5px;border-radius:9px}.dg-hint{bottom:10px;font-size:11px;padding:6px 12px;white-space:nowrap}.dg-card{width:240px}}*{box-sizing:border-box}body{margin:0;background:#070a12;color:#e9eef9;font-family:Instrument Sans,-apple-system,sans-serif;line-height:1.6}a{color:#7fa4ff}.wrap{max-width:1140px;margin:0 auto;padding:0 24px}header.top{background:#0b0f19;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:20}header.top .wrap{display:flex;align-items:center;justify-content:space-between;min-height:66px;gap:16px}header.top img{width:200px;display:block}.back{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap}.intro{padding:clamp(40px,5vw,64px) 0 clamp(20px,3vw,30px);text-align:center}.eyebrow{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.2em;color:#7fa4ff}h1{margin:16px auto 0;max-width:860px;font-size:clamp(30px,3.8vw,46px);font-weight:700;line-height:1.1;text-wrap:balance}.lead{margin:18px auto 0;max-width:680px;font-size:clamp(16px,1.7vw,18.5px);line-height:1.6;color:#c7d2e6;text-wrap:pretty}.hint{margin:12px auto 0;max-width:620px;font-size:13px;color:#8fa0bc}footer{padding:clamp(40px,5vw,64px) 0;text-align:center;border-top:1px solid rgba(255,255,255,.08);margin-top:clamp(40px,5vw,64px)}footer p{margin:0 0 18px;font-size:15px;color:#c7d2e6}.cta{display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:14px 24px;border-radius:100px;background:#3465e3;color:#fff;font-size:15px;font-weight:700;text-transform:uppercase;text-decoration:none}@media(max-width:600px){header.top img{width:164px}}
