/* One continuous message journey. Normal document flow is the default. */
.journey{--journey-progress:0;--journey-aqua:#9cded3;position:relative;background:#151b1d;padding-top:110px;border-top:1px solid #344245;isolation:isolate}
.journey-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:64px;padding-bottom:60px}
.journey-heading h2{max-width:680px}.journey-heading>p{max-width:350px;font-size:15px;color:#b7c7c5}
.journey-navigation{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:26px;padding-bottom:20px;width:100%}
.journey-stops{display:flex;align-items:center;gap:12px;min-width:0}.journey-stops button{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 10px;background:none;border:1px solid transparent;border-radius:6px;font-size:13px;color:#b7c7c5;transition:color .2s,border-color .2s,background .2s}
.journey-stops button span{font-family:Plex,monospace;font-size:11px;color:#91aaa5}.journey-stops button b{font-weight:400}.journey-stops button[aria-pressed=true]{color:var(--paper);border-color:#4c6461;background:#202d2d}.journey-stops button[aria-pressed=true] span{color:var(--orange)}.journey-stops button:hover{color:var(--paper);border-color:var(--orange)}.journey-stops button:active{background:#34413d}.journey-stop-line{height:1px;width:clamp(20px,4vw,60px);background:#4b605d}.journey-motion{display:flex;align-items:center;gap:7px;background:none;border:0;min-height:44px;padding:8px 0;color:#b7c7c5;font-size:11px}.journey-motion .icon{width:14px;height:14px}.journey-motion:hover{color:var(--paper)}
.journey-canvas{min-width:0}.journey-track{position:relative}.journey-stage{min-width:0}.journey-stage-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:80px;align-items:center;padding-top:65px;padding-bottom:65px;min-height:580px;width:100%}.journey-stage+.journey-stage{border-top:1px solid #344245}
.journey-copy{max-width:440px}.journey-copy h3{font-size:clamp(2.4rem,4.1vw,3.7rem);line-height:1.12;letter-spacing:-.04em}.journey-copy>p{font-size:14px;color:#b7c7c5;margin-top:25px;line-height:1.85}.journey-command{display:flex;flex-direction:column;gap:10px;margin-top:28px}.journey-command code{font-size:12px;line-height:1.7;color:var(--journey-aqua);overflow-wrap:anywhere}.journey-command>span{font-size:12px;line-height:1.7;color:#9bb1ae;max-width:350px}
.journey-visual{position:relative;min-width:0;isolation:isolate}.journey-bubble{position:absolute;border:1px solid #577773;border-radius:50%;pointer-events:none;z-index:-1;animation:journey-bubble-drift 6s ease-in-out infinite}.j-bubble-a{width:76px;height:76px;top:45px;right:-20px}.j-bubble-b{width:22px;height:22px;top:13px;right:45px;animation-delay:-2s}.j-bubble-c{width:94px;height:94px;right:-25px;top:50px}
.journey-thread-header{display:flex;align-items:center;gap:12px;padding-bottom:21px;border-bottom:1px solid #4c605d;font-size:12px;color:var(--paper)}.journey-thread-header>.icon{width:28px;height:28px}.journey-thread-header small{margin-left:auto;font-size:11px;color:#a6bdb9}.journey-message{margin-top:26px;padding:22px 25px;border:1px solid #4e6560;border-radius:14px 14px 4px 14px;background:#202b2b;width:92%;margin-left:auto}.journey-person{display:block;font-size:12px;font-weight:600;color:var(--paper)}.journey-message p,.journey-reply p{font-size:14px;line-height:1.85;margin-top:8px;color:#d3dedb}.journey-message code{color:var(--orange);font-size:12px}.journey-reply{display:grid;grid-template-columns:56px 1fr;gap:15px;align-items:start;margin-top:32px;padding-right:20px}.journey-reply img{width:56px;height:56px;object-fit:contain;transform:rotate(-8deg)}.journey-queue{position:relative;display:flex;align-items:center;gap:15px;margin:28px 0 0 72px;padding-top:20px;border-top:1px dashed #526d65}.journey-queue-mark{display:flex;align-items:center;justify-content:center;border:1px solid #59796d;border-radius:50%;width:33px;height:33px;color:var(--journey-aqua)}.journey-queue strong{font-size:13px;font-weight:400;display:block}.journey-queue>div>span{display:block;font-family:Plex,monospace;font-size:11px;color:#9bb1ae;margin-top:7px}.journey-down{position:absolute;width:70px;height:60px;right:10px;top:7px;color:var(--orange)}
.journey-machine{height:430px}.journey-machine-wires{position:absolute;width:100%;height:100%;inset:0;z-index:-1;stroke:#55756f;stroke-width:1.2}.journey-machine-packet{stroke:var(--orange);stroke-width:2.5;stroke-dasharray:9 120;animation:journey-packet 5s linear infinite}.journey-runners{position:absolute;top:0;left:20%;right:20%;display:flex;align-items:center;flex-direction:column;gap:9px;background:#151b1d;padding:8px 12px 18px;white-space:nowrap}.journey-runners>strong{font-size:12px;color:var(--journey-aqua);font-weight:400;margin-bottom:6px}.journey-runners>span{font-size:13px}.journey-runners small{font-size:11px;color:#a6bdb9;margin-left:5px}.journey-runners>span:last-child{font-size:11px}.journey-runners>span:last-child small{display:block;text-align:center;margin-top:5px}.journey-host{position:absolute;top:175px;left:12%;right:12%;min-height:99px;background:#202c2c;border:1px solid #648076;border-radius:13px;display:flex;align-items:center;gap:14px;padding:4px 22px 4px 12px}.journey-host img{width:84px;height:84px;object-fit:contain}.journey-host>div{flex:1;min-width:0}.journey-host strong{display:block;font-size:18px;letter-spacing:-.035em}.journey-host span{display:block;font-size:11px;color:#b7c7c5;margin-top:8px;line-height:1.6}.journey-host>.icon{width:24px;height:24px;color:var(--journey-aqua)}.journey-connected{position:absolute;top:347px;left:0;right:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;text-align:center}.journey-connected>div{background:#151b1d}.journey-connected .icon{display:block;width:28px;height:28px;margin:0 auto 12px;color:var(--journey-aqua)}.journey-connected strong{display:block;font-size:13px;font-weight:400}.journey-connected span{display:block;font-size:11px;color:#a6bdb9;line-height:1.5;margin-top:7px}
.journey-result-sheet{background:var(--paper);color:#172421;border-radius:14px 14px 14px 3px;padding:24px 28px;transform:rotate(-2deg);max-width:500px;margin-right:15px}.journey-result-head{display:flex;align-items:center;gap:8px;font-size:13px}.journey-result-head img{width:45px;height:45px;object-fit:contain}.journey-result-head>span{font-size:11px;color:#52635c;margin-left:auto}.journey-result-sheet p{font-size:14px;line-height:1.8;margin-top:18px}.journey-result-sheet pre{font-size:11px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;background:#dce4d8;padding:15px;margin:18px 0}.journey-result-saved{display:flex;align-items:center;gap:9px;font-size:11px;color:#42624b}.journey-result-saved .icon{width:18px;height:18px}.journey-followup{background:#283831;border:1px solid #537262;border-radius:14px 14px 4px 14px;margin:25px 0 0 auto;width:85%;padding:19px 24px;position:relative;transform:rotate(1deg)}.journey-followup>span{display:block;font-size:11px;color:var(--journey-aqua)}.journey-followup p{font-size:14px;line-height:1.8;margin-top:7px;padding-right:17px}.journey-followup>.icon{position:absolute;right:15px;bottom:19px;width:18px;height:18px;color:var(--journey-aqua)}
.journey-bottom{padding-top:10px;padding-bottom:32px;width:100%}.journey-current{height:70px;position:relative;margin:0 14px 14px}.journey-current>svg{position:absolute;width:100%;height:80px;inset:0;color:#46615b;stroke-width:1}.journey-current-active{stroke:var(--orange);stroke-width:1.5;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--journey-progress)*100)}.journey-swimmer{position:absolute;left:0;top:0;width:68px;height:68px;transform:translateX(var(--journey-fish-x,0px)) rotate(var(--journey-fish-angle,-6deg));will-change:transform}.journey-swimmer img{width:100%;height:100%;object-fit:contain;animation:journey-fin 2.4s ease-in-out infinite}.journey-current-bubble{position:absolute;left:60%;top:10px;width:10px;height:10px;border:1px solid #6e978d;border-radius:50%}.journey-caption{display:flex;align-items:center;justify-content:space-between;gap:40px}.journey-caption>p{font-size:11px;color:#9bb1ae;max-width:570px}.journey-caption>a{display:flex;align-items:center;gap:14px;min-height:44px;font-size:12px;white-space:nowrap}.journey-caption>a:hover{color:var(--journey-aqua)}.journey-caption .icon{width:17px;height:17px}
.journey[data-layout=horizontal] .journey-scroll{height:var(--journey-height)}.journey[data-layout=horizontal] .journey-window{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;overflow:hidden}.journey[data-layout=horizontal] .journey-canvas{flex:1;min-height:0;display:flex;align-items:center;overflow:hidden}.journey[data-layout=horizontal] .journey-track{display:flex;width:100%;transform:translate3d(var(--journey-x,0px),0,0);will-change:transform}.journey[data-layout=horizontal] .journey-stage{flex:0 0 100%;width:100%;border:0}.journey[data-layout=horizontal] .journey-stage-inner{padding-top:20px;padding-bottom:20px;min-height:0;height:100%;gap:clamp(40px,6vw,90px)}.journey[data-layout=horizontal] .journey-bottom{padding-bottom:18px}.journey[data-layout=horizontal] .journey-navigation{padding-top:20px;padding-bottom:10px}
@keyframes journey-packet{from{stroke-dashoffset:8}to{stroke-dashoffset:-120}}@keyframes journey-bubble-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes journey-fin{0%,100%{transform:rotate(-4deg) translateY(2px)}50%{transform:rotate(4deg) translateY(-4px)}}
.journey[data-paused=true] *{animation-play-state:paused!important}html[data-motion=off] .journey *{animation:none!important;transition:none!important}html[data-motion=off] .journey-swimmer{transform:none;will-change:auto}
@media(min-width:1000px) and (max-height:800px){.journey[data-layout=horizontal] .journey-copy h3{font-size:2.8rem}.journey[data-layout=horizontal] .journey-copy>p{font-size:13px;margin-top:18px}.journey[data-layout=horizontal] .journey-command{margin-top:18px}.journey[data-layout=horizontal] .journey-machine{height:360px}.journey[data-layout=horizontal] .journey-host{top:140px}.journey[data-layout=horizontal] .journey-connected{top:285px}.journey[data-layout=horizontal] .journey-visual:not(.journey-machine){font-size:90%}.journey[data-layout=horizontal] .journey-message{margin-top:15px;padding:15px 20px}.journey[data-layout=horizontal] .journey-reply{margin-top:20px}.journey[data-layout=horizontal] .journey-queue{margin-top:18px;padding-top:14px}.journey[data-layout=horizontal] .journey-result-sheet{padding:14px 22px}.journey[data-layout=horizontal] .journey-result-sheet p{margin-top:8px;font-size:13px}.journey[data-layout=horizontal] .journey-result-sheet pre{margin:12px 0;padding:10px}.journey[data-layout=horizontal] .journey-followup{margin-top:15px;padding:12px 20px}.journey[data-layout=horizontal] .journey-current{height:55px;margin-bottom:0}.journey[data-layout=horizontal] .journey-bottom{padding-bottom:10px}}
@media(max-width:1100px){.journey-stage-inner{gap:44px}.journey-host{left:4%;right:4%;padding-right:14px}.journey-host strong{font-size:16px}.journey-host img{width:70px;height:70px}.journey-host>.icon{display:none}.journey-runners{left:12%;right:12%}}
@media(max-width:999px){.journey{padding-top:80px}.journey-heading{gap:40px;padding-bottom:30px}.journey-heading h2{font-size:clamp(2rem,5.5vw,3.8rem)}.journey-heading>p{font-size:14px;max-width:300px}.journey-stage-inner{min-height:0;padding-top:50px;padding-bottom:65px;gap:40px;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.journey-copy h3{font-size:clamp(2rem,4.6vw,2.8rem)}.journey-copy>p{font-size:13px;margin-top:20px}.journey-message p,.journey-reply p,.journey-result-sheet p,.journey-followup p{font-size:12px}.journey-message{padding:18px;width:100%}.journey-reply{gap:10px;grid-template-columns:42px 1fr;padding-right:0}.journey-reply img{width:42px;height:42px}.journey-queue{margin-left:52px}.journey-down{width:43px;right:0}.journey-thread-header{font-size:11px;gap:7px;flex-wrap:wrap}.journey-thread-header small{font-size:11px}.journey-result-sheet{padding:18px;margin-right:0}.journey-result-sheet pre{font-size:11px}.journey-result-head>span{font-size:11px}.journey-followup{padding:15px 18px;width:95%}.journey-connected{gap:10px}.journey-connected strong{font-size:11px}.journey-connected span{font-size:11px}.journey-host{gap:7px}.journey-host strong{font-size:14px}.journey-host span{font-size:11px}.journey-runners{left:2%;right:2%}.journey-host img{width:60px;height:60px}.journey-machine{height:410px}.journey-caption{gap:24px}.journey-current-active{stroke-dashoffset:0}.journey-swimmer{left:45%;transform:rotate(-6deg);will-change:auto}}
@media(max-width:650px){.journey{padding-top:65px}.journey-heading{display:block;padding-bottom:25px}.journey-heading>p{margin-top:22px;max-width:440px}.journey-navigation{gap:15px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}.journey-stops{gap:3px;width:100%}.journey-stops button{gap:7px;padding:8px;font-size:12px}.journey-stop-line{flex:1;min-width:9px;width:auto}.journey-motion{margin-left:auto;padding-top:0;padding-bottom:0}.journey-stage-inner{grid-template-columns:minmax(0,1fr);gap:38px;padding-top:38px;padding-bottom:50px}.journey-copy{max-width:100%}.journey-copy h3{font-size:clamp(2rem,8vw,2.8rem)}.journey-copy>p{font-size:14px;max-width:480px}.journey-command{margin-top:21px}.journey-command code{font-size:11px}.journey-command>span{font-size:12px}.journey-visual{max-width:480px;width:100%;justify-self:center}.journey-thread-header{font-size:11px}.journey-thread-header small{font-size:11px}.journey-message p,.journey-reply p,.journey-result-sheet p,.journey-followup p{font-size:13px}.journey-reply{grid-template-columns:46px 1fr;gap:11px}.journey-reply img{width:46px;height:46px}.journey-queue{margin-left:57px}.journey-queue strong{font-size:12px}.journey-queue>div>span{font-size:11px}.j-bubble-a,.j-bubble-c{right:-5px}.journey-machine{height:410px}.journey-host{left:5%;right:5%;top:168px}.journey-host img{width:76px;height:76px}.journey-host strong{font-size:16px}.journey-host span{font-size:11px}.journey-runners{left:5%;right:5%;padding-top:10px}.journey-runners>span{font-size:13px}.journey-runners>span:last-child{font-size:11px}.journey-connected{top:342px}.journey-connected strong{font-size:12px}.journey-connected span{font-size:11px}.journey-result-sheet{margin:4px 5px;padding:18px 20px}.journey-result-sheet pre{font-size:11px}.journey-result-head>span{font-size:11px}.journey-followup{width:90%;margin-top:24px}.journey-bottom{padding-top:0;padding-bottom:35px}.journey-caption{align-items:flex-start;flex-direction:column;gap:12px}.journey-caption>p{font-size:11px;max-width:350px}.journey-current{margin-left:0;margin-right:0}.journey-current>svg{height:60px}.journey-swimmer{width:60px;height:60px}.journey-current-bubble{display:none}}
@media(prefers-reduced-motion:reduce){html:not([data-motion]) .journey *{animation:none!important;transition:none!important}}

.journey-caption{justify-content:flex-end}

/* Keep the supporting labels readable when the diagram stacks on phones. */
.journey-thread-header,.journey-result-head{flex-wrap:wrap}.journey-thread-header small,.journey-result-head>span{line-height:1.5}.journey-runners{white-space:normal;text-align:center}.journey-runners>span{max-width:100%}
@media(max-width:650px){.journey-caption{align-items:flex-end}.journey-connected span{overflow-wrap:break-word}.journey-result-saved{align-items:flex-start;line-height:1.5}.journey-result-saved .icon{flex-shrink:0}}
@media(max-width:360px){.journey-host img{width:64px;height:64px;flex-shrink:0}.journey-host strong{font-size:15px}.journey-connected strong{font-size:11px}.journey-result-head{gap:7px}.journey-result-head>span{flex-basis:100%;margin-left:0}}
