.journey-veil{position:fixed;inset:0;z-index:9999;pointer-events:auto;background:radial-gradient(circle at var(--journey-x,50%) var(--journey-y,50%),#b9d1db13,transparent 36%),#060b12;opacity:0}
html[data-journey=leaving]{cursor:progress}html[data-journey=leaving] #knowledge,html[data-journey=leaving] #labels{pointer-events:none}
.chapter-bridge{display:block;position:relative;height:104px;max-width:1220px;margin:4px auto 18px;color:#a9bac4;isolation:isolate;outline-offset:3px}
.chapter-bridge svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.chapter-trail{fill:none;stroke:#b0ced666;stroke-width:1.2;stroke-dasharray:3 8;vector-effect:non-scaling-stroke;transition:stroke .25s,filter .25s}
.chapter-trail-arrow{fill:none;stroke:#c7d7dd80;stroke-width:1.2;vector-effect:non-scaling-stroke}
.chapter-bridge .bridge-node{position:absolute;right:3%;top:26px;width:45px;height:45px;border-radius:50%;display:grid;place-items:center;border:1px solid #9bb9ca66;background:radial-gradient(circle at 32% 30%,#2d3844,#101720 70%);font:12px Georgia,serif;letter-spacing:.08em;box-shadow:0 0 32px #b3c2d10c;transition:border-color .25s,box-shadow .25s}
.bridge-caption{position:absolute;right:3%;top:78px;width:80px;transform:translateX(17px);font-size:10px;letter-spacing:.12em;text-align:center;color:#8c9fa9}
.bridge-tip{position:absolute;right:calc(3% + 62px);top:30px;font-size:12px;letter-spacing:.05em;padding:6px 10px;color:#ead6af;background:#0b131be6;opacity:0;transform:translateX(6px);transition:opacity .22s,transform .22s;pointer-events:none;white-space:nowrap}
.chapter-bridge:hover .chapter-trail,.chapter-bridge:focus-visible .chapter-trail{stroke:#e7c58eb3;filter:drop-shadow(0 0 4px #e7c58e35);animation:chapter-flow 5s linear infinite}
.chapter-bridge:hover .bridge-node,.chapter-bridge:focus-visible .bridge-node{border-color:#e7c58e;box-shadow:0 0 26px #e7c58e1c;color:#ead6af}
.chapter-bridge:hover .bridge-tip,.chapter-bridge:focus-visible .bridge-tip{opacity:1;transform:none}
.chapter-bridge[data-journey=previous] svg{transform:scaleX(-1)}
.chapter-bridge[data-journey=previous] .bridge-node{left:3%;right:auto}
.chapter-bridge[data-journey=previous] .bridge-caption{left:3%;right:auto;transform:translateX(-17px)}
.chapter-bridge[data-journey=previous] .bridge-tip{left:calc(3% + 62px);right:auto;transform:translateX(-6px)}
.chapter-bridge[data-journey=previous]:is(:hover,:focus-visible) .bridge-tip{transform:none}
@keyframes chapter-flow{to{stroke-dashoffset:-66}}
@media(max-width:760px){.chapter-bridge{height:100px;margin:22px 0 8px}.chapter-bridge .bridge-node{right:0}.bridge-caption{right:0}.bridge-tip{right:55px;font-size:11px;opacity:1;transform:none}.chapter-bridge[data-journey=previous] .bridge-node,.chapter-bridge[data-journey=previous] .bridge-caption{left:0}.chapter-bridge[data-journey=previous] .bridge-tip{left:55px;transform:none}}
@media(prefers-reduced-motion:reduce){.chapter-bridge *{animation:none!important;transition:none!important}}

@media(min-width:761px){.chapter-bridge{position:absolute;right:0;top:41%;width:41%;height:74px;margin:0;z-index:3}.chapter-bridge[data-journey=previous]{right:auto;left:0;width:35%;top:33%}.chapter-bridge .bridge-node{top:13px}.bridge-caption{top:64px}.bridge-tip{top:17px}}
.chapter-bridge{pointer-events:none}.chapter-bridge svg{pointer-events:none}.chapter-bridge .chapter-trail{pointer-events:stroke;stroke-width:1.4}.chapter-bridge .bridge-node,.chapter-bridge .bridge-caption{pointer-events:auto}.chapter-bridge:focus-visible{outline:none!important}.chapter-bridge:focus-visible .bridge-node{outline:2px solid var(--accent);outline-offset:5px}

.chapter-trail-hit{fill:none;stroke:transparent;stroke-width:24;pointer-events:stroke;vector-effect:non-scaling-stroke}
