.route{padding:28px 20px 24px;border-bottom:1px solid var(--hairline);background:var(--surface)}.route.bare{background:transparent;border:0;padding:40px 0 8px;margin-top:24px;border-top:1px solid var(--hairline)}.route svg{width:100%;height:auto;display:block;overflow:visible}.route .lbl{font-family:var(--font-mono-stack);font-size:10px;letter-spacing:.06em;text-transform:uppercase;fill:var(--label)}.route-label{font-family:var(--font-mono-stack);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--label);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:flex;justify-content:space-between;margin-bottom:12px}.route-legend{display:none;font-family:var(--font-mono-stack);font-size:11px;color:var(--label);margin-top:10px;letter-spacing:.02em}@media (max-width:760px){.route .lbl{display:none}.route-legend{display:block}}.dg{position:relative}.dg svg{width:100%;height:auto;display:block;overflow:visible;font-family:var(--font-mono-stack)}.dg .lbl{font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;fill:var(--label)}.dg .lbl.ink{fill:var(--graphite)}.dg .lbl.sm{font-size:10px}.dg .lbl.sig{fill:var(--signal)}.dg .lbl.code{text-transform:none;letter-spacing:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.dg .node{fill:var(--white)}.dg .node,.dg .sat{stroke:var(--graphite);stroke-width:1}.dg .sat{fill:var(--surface)}.dg .edge{stroke:var(--hairline);stroke-width:1;fill:none}.dg .edge.on{stroke:var(--graphite)}.dg .edge.sig{stroke:var(--signal);stroke-width:1.5}.dg .packet{fill:var(--signal)}.dg .tip{pointer-events:none}.dg .tip rect{fill:var(--graphite)}.dg .tip text{fill:var(--white);font-size:10.5px;letter-spacing:.02em}.story-frame{position:relative;aspect-ratio:16/9;background:var(--surface);border:1px solid var(--hairline);overflow:hidden}.story-clip{position:absolute;inset:0}.story-video video{width:100%;height:100%;object-fit:cover;background:var(--graphite);display:block}.story-video .cap b{font-weight:500;color:var(--graphite)}.story-video .cap{padding:10px 0 0;border:0}.dg-scroll{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);grid-gap:40px;gap:40px;align-items:start}.dg-scroll .step,.dg-scroll .steps{display:flex;flex-direction:column}.dg-scroll .step{min-height:62vh;justify-content:center;padding:24px 0;border-top:1px solid var(--hairline);transition:opacity .4s}.dg-scroll .step h4{font-weight:500;font-size:22px;letter-spacing:-.03em;margin:8px 0 10px}.dg-scroll .step p{color:var(--graphite);max-width:40ch}.dg-scroll .step .detail{margin-top:14px;line-height:1.6;max-width:46ch}.dg-scroll .sticky .hint{margin-top:8px;text-transform:none;letter-spacing:0}.dg-scroll .step.off{opacity:.28}.dg-scroll .sticky{position:-webkit-sticky;position:sticky;top:72px}.dg-scroll .sticky .bar{padding:10px 0;margin-bottom:12px}.dg-scroll .sticky .bar,.dg-stepper .bar{display:flex;justify-content:space-between;border-bottom:1px solid var(--hairline)}.dg-stepper .bar{align-items:center;gap:16px;padding:12px 0;border-top:1px solid var(--hairline);margin-top:12px}.dg-stepper .dots{display:flex;gap:6px}.dg-stepper .dots button{width:22px;height:22px;border:1px solid var(--hairline);border-radius:2px;font-family:var(--font-mono-stack);font-size:10px;color:var(--label);transition:background .25s,color .25s,border-color .25s}.dg-stepper .dots button[aria-current=step]{background:var(--graphite);color:var(--white);border-color:var(--graphite)}.dg-stepper .dots button:hover{border-color:var(--graphite)}.dg-stepper .ctl{display:flex;gap:8px}.dg-stepper .ctl button{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--graphite);font-size:13px;transition:background .3s,color .3s}.dg-stepper .ctl button:hover{background:var(--signal);border-color:var(--signal);color:var(--white)}.dg-stepper .ctl button:disabled{opacity:.3;pointer-events:none}.dg-stepper .caption{display:grid;grid-template-columns:80px minmax(0,1fr);grid-gap:16px;gap:16px;padding:18px 0 0;min-height:96px}.dg-stepper .caption h4{font-weight:500;font-size:20px;letter-spacing:-.03em;margin-bottom:6px}.dg-stepper .caption p{color:var(--graphite);max-width:60ch}.dg-schematic .legend{display:flex;gap:24px;padding:10px 0;border-top:1px solid var(--hairline);margin-top:12px}@media (max-width:760px){.dg-scroll{grid-template-columns:minmax(0,1fr)}.dg-scroll .sticky{position:static}.dg-scroll.is-mobile .sticky{position:-webkit-sticky;position:sticky;top:56px;background:var(--white);z-index:2;padding-bottom:6px;border-bottom:1px solid var(--hairline);max-height:38vh}.dg-scroll.is-mobile .scene svg{max-height:calc(38vh - 44px);width:100%;height:auto;margin:0 auto}.dg-scroll.is-mobile .lbl{font-size:19px}.dg-scroll.is-mobile .lbl.sm,.dg-scroll.is-mobile .tip text{font-size:15px}.dg-scroll .steps{order:2}.dg-scroll .step{min-height:0;padding:20px 0}.dg-scroll .step.off{opacity:.55}.dg-stepper .caption{grid-template-columns:minmax(0,1fr);gap:6px}}