.journey-network{--jn-bg-1: rgba(30, 32, 37, .78);--jn-bg-2: rgba(17, 19, 21, .78);--jn-fg: #f4f3ef;--jn-fg-muted: rgba(244, 243, 239, .64);--jn-fg-faint: rgba(244, 243, 239, .42);--jn-line: rgba(255, 255, 255, .08);--jn-line-2: rgba(255, 255, 255, .14);--jn-accent: #a78bfa;--jn-accent-bright: #c4b5fd;--jn-accent-glow: rgba(167, 139, 250, .7);--jn-font-sans: -apple-system, BlinkMacSystemFont, "Inter", "Helvetica Neue", Arial, sans-serif;--jn-font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--jn-loop: 5.5s;--jn-pulse-start: .2s;--jn-fil-base-delay: 1.6s;--jn-fil-width: 1.6;--jn-fil-opacity: .95;position:relative;border-radius:22px;background:linear-gradient(180deg,var(--jn-bg-1) 0%,var(--jn-bg-2) 100%);border:1px solid var(--jn-line-2);overflow:hidden;aspect-ratio:7 / 5;box-shadow:0 30px 60px #0006;color:var(--jn-fg);font-family:var(--jn-font-sans)}.journey-network:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(190,165,255,.06) 0%,transparent 55%),radial-gradient(ellipse at 85% 0%,rgba(255,255,255,.05) 0%,transparent 55%),radial-gradient(ellipse at 0% 100%,rgba(255,255,255,.02) 0%,transparent 60%);pointer-events:none}.jn-stage{position:absolute;inset:0 25% 0 0;overflow:hidden}.jn-ring{position:absolute;left:50%;top:50%;border-radius:50%;border:1px solid rgba(255,255,255,.045);transform:translate(-50%,-50%);pointer-events:none}.jn-ring--1{width:44%;aspect-ratio:1}.jn-ring--2{width:72%;aspect-ratio:1}.jn-ring--3{width:104%;aspect-ratio:1;border-style:dashed;border-color:#ffffff06}.jn-pulse{position:absolute;left:50%;top:50%;width:24px;height:24px;border-radius:50%;border:1.8px solid var(--jn-accent-glow);transform:translate(-50%,-50%) scale(.3);opacity:0;pointer-events:none;box-shadow:0 0 32px #bea5ff47;animation:jnPulse 2s ease-out var(--jn-pulse-start) infinite;animation-play-state:paused}@keyframes jnPulse{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}4%{opacity:1}70%,to{opacity:0;transform:translate(-50%,-50%) scale(10)}}.jn-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.jn-filament{stroke:#a78bfad9;stroke-width:var(--jn-fil-width);fill:none;vector-effect:non-scaling-stroke;stroke-dasharray:100;stroke-dashoffset:100;opacity:0;filter:drop-shadow(0 0 4px rgba(167,139,250,.5));animation:jnFilament var(--jn-loop) ease-out calc(var(--jn-fil-base-delay) + var(--fil-delay, 0s)) 1 forwards;animation-play-state:paused}@keyframes jnFilament{0%{stroke-dashoffset:100;opacity:0}18%,to{stroke-dashoffset:0;opacity:var(--jn-fil-opacity)}}.jn-node{position:absolute;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;background:#f4f3ef59;border:1px solid rgba(244,243,239,.08)}.jn-node--r1{width:8px;height:8px;background:#f4f3ef8c}.jn-node--r2{width:7px;height:7px;background:#f4f3ef52}.jn-node--r3{width:6px;height:6px;background:#f4f3ef29;border-color:transparent}.jn-node--matched{animation:jnMatch var(--jn-loop) ease-out var(--light-delay, .7s) 1 forwards;animation-play-state:paused}@keyframes jnMatch{0%,12%{background:#f4f3ef59;box-shadow:none;transform:translate(-50%,-50%) scale(1)}16%{background:var(--jn-accent);box-shadow:0 0 0 3px #a78bfa33,0 0 14px var(--jn-accent-glow);transform:translate(-50%,-50%) scale(1.5)}55%,to{background:var(--jn-accent);box-shadow:0 0 0 2px #a78bfa1f,0 0 10px #a78bfa99;transform:translate(-50%,-50%) scale(1.2)}}.jn-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#f8f4fff2,#d8cbf7d9);display:grid;place-items:center;color:#3c325ab3;box-shadow:0 0 0 4px #dccdfa0f,0 0 0 8px #dccdfa08,0 0 24px #bea5ff66,inset 0 1px #ffffff80;z-index:5;animation:jnCoreBreath 4s ease-in-out infinite}@keyframes jnCoreBreath{0%,to{box-shadow:0 0 0 4px #dccdfa0f,0 0 0 8px #dccdfa08,0 0 24px #bea5ff59,inset 0 1px #ffffff80}50%{box-shadow:0 0 0 5px #dccdfa17,0 0 0 10px #dccdfa0a,0 0 36px #bea5ff99,inset 0 1px #ffffff8c}}.jn-core-shield{display:grid;place-items:center;opacity:.6}.jn-feed{position:absolute;top:0;right:0;bottom:0;width:25%;min-width:168px;padding:18px 16px 18px 20px;font-family:var(--jn-font-mono);z-index:7;display:flex;flex-direction:column}.jn-feed-head{display:flex;align-items:center;gap:6px;font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:#c4b5fdbf;margin-bottom:8px;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.04);text-shadow:0 1px 4px rgba(0,0,0,.5)}.jn-feed-pulse{width:5px;height:5px;border-radius:50%;background:var(--jn-accent);box-shadow:0 0 6px var(--jn-accent-glow);animation:jnFeedPulse 1.2s ease-in-out infinite}@keyframes jnFeedPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}.jn-feed-body{display:flex;flex-direction:column;gap:6px;flex:1;min-height:0}.jn-feed-line{display:grid;grid-template-columns:10px 1fr;gap:8px;align-items:center;font-size:9.5px;line-height:1.4;letter-spacing:.02em;color:#f4f3efc7;opacity:0;transform:translateY(2px);animation:jnFeedLine var(--jn-loop) ease-out var(--feed-at, 0s) 1 forwards;animation-play-state:paused;text-shadow:0 1px 4px rgba(0,0,0,.55)}.jn-feed-marker{position:relative;width:10px;height:10px;display:inline-block}.jn-feed-marker:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:4px;border-radius:50%;background:#f4f3ef73;box-shadow:0 0 3px #f4f3ef40}.jn-feed-line--verdict{color:var(--jn-accent-bright);font-size:10.5px;font-weight:500;margin-top:4px;padding-top:6px;border-top:1px solid rgba(167,139,250,.18);text-shadow:0 1px 4px rgba(0,0,0,.6),0 0 12px rgba(167,139,250,.3)}.jn-feed-line--verdict .jn-feed-marker:before{width:6px;height:6px;background:var(--jn-accent);box-shadow:0 0 8px #a78bfad9,0 0 2px #ffffff80}@keyframes jnFeedLine{0%{opacity:0;transform:translateY(2px)}6%,to{opacity:1;transform:translateY(0)}}.reveal.in .jn-pulse,.reveal.in .jn-filament,.reveal.in .jn-node--matched,.reveal.in .jn-feed-line{animation-play-state:running}@media(prefers-reduced-motion:reduce){.jn-pulse,.jn-filament,.jn-node--matched,.jn-core,.jn-feed-pulse,.jn-feed-line{animation:none}.jn-feed-line{opacity:1;transform:none}.jn-node--matched{background:var(--jn-accent);box-shadow:0 0 8px #a78bfa8c}}@media(max-width:520px){.jn-stage{right:33%}.jn-feed{width:33%;min-width:0;padding:14px 12px}.jn-feed-line{font-size:9px}.jn-feed-line--verdict{font-size:10px}}
