/* One authored strand follows the world; these captions carry its meaning in HTML. */
.parallel-caption{position:absolute;right:5%;bottom:99px;z-index:3;display:block;margin:0;padding:0;font-size:11px;line-height:1.5;color:#9bb7ac;pointer-events:none}
.parallel-caption>span,.parallel-caption>code:not(.code-destination){opacity:calc(1 - var(--software-handoff,0))}
.scene-label-wrap{display:flex;align-items:center;flex-shrink:0;line-height:1}
.scene-label-wrap>.scene-label{flex:0 0 auto!important;width:max-content!important;max-width:max-content!important}
.parallel-caption .code-destination{position:absolute;right:10px;bottom:100%;display:block;width:max-content;padding-bottom:8px;font:11px/1.5 monospace;color:#c3e3d4;opacity:0;text-shadow:0 1px 3px #000,0 0 8px #000}
.parallel-caption code{color:#bfeada;font:15px monospace;margin-right:7px}.parallel-caption small{font:inherit;color:#8da49e}
.static-journey .parallel-caption{display:block;top:98px;bottom:auto;left:5%;right:auto}
.static-journey .parallel-caption .code-destination{display:none}
.static-journey .parallel-caption>span,.static-journey .scene-label-wrap{opacity:1}
.static-journey .chapter::after{content:'';position:absolute;left:2.5%;top:0;bottom:0;width:1px;background:linear-gradient(#8dc9b222,#8dc9b266,#8dc9b222);z-index:1;pointer-events:none}
.chapter-6 .chapter-credit{color:#bce4d3}
.software-thread-end{position:relative;margin:40px 0 0;padding:20px 24px;border-left:1px solid #93c4b1;color:#cee8dc;font:clamp(11px,1.1vw,14px)/1.9 monospace;white-space:pre-wrap}
.software-thread-end::before{content:'';position:absolute;left:-1px;top:-42px;width:80px;height:42px;border:1px solid #93c4b1;border-width:0 0 0 1px;border-radius:22px 0 0 0;opacity:.65}
.software-thread-end .code-comment{color:#a6bdba}
.journey-preparation{position:absolute;z-index:5;right:5%;top:110px;width:286px;padding:22px 24px;border:1px solid #acc8bf33;border-radius:12px;background:linear-gradient(135deg,#0d1b22f5,#091117f0);color:#e4eee8;box-shadow:0 12px 60px #0002}
.journey-preparation[hidden]{display:none}
.preparation-heading{display:flex;align-items:center;gap:12px;color:#c2e9d6;font:13px monospace;margin:0 0 14px}
.preparation-heading code{font-size:25px;letter-spacing:-.12em}
.journey-preparation [role=status]{font-size:13px;line-height:1.6;margin:0;min-height:42px}
.preparation-steps{display:flex;gap:5px;list-style:none;margin:16px 0 10px;padding:0}
.preparation-steps li{flex:1;font-size:9px;color:#92a8a6;padding-top:10px;border-top:2px solid #35434a;transition:border-color .4s,color .4s}
.preparation-steps li[data-complete=true]{color:#d0eadd;border-color:#addcc9}
.preparation-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;line-height:1.5;color:#a6b7b9}
.preparation-foot button{color:#e0e9e4;background:none;border:0;padding:12px 0 12px 12px;min-height:44px;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.preparation-status{font-size:11px;color:#b1c3be;margin:14px 0 0;line-height:1.5}
.graphics-options-panel{max-height:calc(100svh - 150px);overflow-y:auto;overscroll-behavior:contain}
.orientation-note{margin:18px 0 0;padding-top:15px;border-top:1px solid #b1c3be33;font-size:12px;line-height:1.65;color:#bdccc8}
.orientation-note[hidden]{display:none}.orientation-note p{margin:0}.orientation-note strong{color:#e7f1eb;font-weight:500}.orientation-note button{font:inherit;border:0;padding:12px 0;background:none;color:#d5e7dc;cursor:pointer;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.capture-art .journey-preparation,.capture-art .parallel-caption{display:none}
@media(max-width:760px){
 .parallel-caption{left:24px;right:24px;bottom:70px;font-size:9px;line-height:1.6;padding:0;text-align:right}
 .parallel-caption .code-destination{right:auto;left:0;top:0;bottom:auto;font-size:10px;padding:0;line-height:1.6}
 .parallel-caption .parallel-desktop,.parallel-caption>code:not(.code-destination){display:none}
 .scene-label-wrap{grid-column:1/-1;opacity:calc(1 - var(--software-handoff,0))}
 .journey-preparation{top:auto;bottom:110px;right:22px;left:22px;width:auto;padding:15px 18px}
 .preparation-heading{margin-bottom:7px;font-size:12px}.preparation-heading code{font-size:20px}
 .journey-preparation [role=status]{min-height:0;font-size:12px}.preparation-steps{margin:12px 0 4px}
 .software-thread-end{padding:16px;margin-top:28px;font-size:11px}
}
@media(max-height:700px) and (max-width:760px){.parallel-caption{bottom:72px}}
@media(max-width:360px){.parallel-caption .code-destination{font-size:9px}}
@media(min-width:761px) and (max-height:550px){.journey-preparation{top:90px;padding:14px 18px}.parallel-caption{bottom:80px}}
@media(prefers-reduced-motion:reduce){.preparation-steps li{transition:none}}
@media print{.journey-preparation,.parallel-caption,.orientation-note{display:none}}
