/* Continuous live engine. Geometry is stable SVG; animation never rebuilds it. */
.flow-grid{background-color:#061728;min-height:575px}
.flow-grid:after{opacity:.26}
.source-card{--neon:var(--source-color);border-color:var(--neon);background:linear-gradient(105deg,color-mix(in srgb,var(--neon) 9%,#061528),#081b2b 72%);box-shadow:inset 0 0 13px color-mix(in srgb,var(--neon),transparent 92%),0 0 9px color-mix(in srgb,var(--neon),transparent 80%);isolation:isolate}
.source-card:after,.output-card:after{content:"";position:absolute;inset:-1px;border:1px solid var(--neon);border-radius:inherit;box-shadow:0 0 10px var(--neon),inset 0 0 7px color-mix(in srgb,var(--neon),transparent 75%);opacity:.25;pointer-events:none;z-index:-1;animation:card-breathe 4.8s ease-in-out infinite}
.source-card:nth-child(2n):after{animation-delay:-1.1s}.source-card:nth-child(3n):after{animation-delay:-2.3s}
.source-card[aria-pressed=true]{border-color:var(--neon);background:linear-gradient(105deg,color-mix(in srgb,var(--neon) 15%,#061528),#0a2436);box-shadow:inset 0 0 18px color-mix(in srgb,var(--neon),transparent 85%),0 0 13px color-mix(in srgb,var(--neon),transparent 65%)}
.source-card:hover{border-color:var(--neon);filter:brightness(1.3);transform:none}
.source-icon{color:var(--neon);border-color:color-mix(in srgb,var(--neon),transparent 50%);box-shadow:0 0 12px color-mix(in srgb,var(--neon),transparent 70%);background:color-mix(in srgb,var(--neon) 15%,#082236)}
.source-icon svg{filter:drop-shadow(0 0 3px var(--neon))}
.source-card .node,.source-card[aria-pressed=true] .node{background:#e9ffff;border-color:var(--neon);box-shadow:0 0 7px var(--neon),0 0 14px var(--neon)}
.source-title{color:#ecfaff}.source-subtitle{color:#a4c0d1}
.output-card{--neon:var(--report-color);border:1px solid var(--neon);border-left-width:2px;background:linear-gradient(100deg,color-mix(in srgb,var(--neon) 8%,#081a2a),#071b2a);box-shadow:0 0 10px color-mix(in srgb,var(--neon),transparent 78%);isolation:isolate}
.output-card.selected,.output-card:hover{transform:none;border-color:var(--neon);box-shadow:0 0 17px color-mix(in srgb,var(--neon),transparent 56%)}
.output-card.receiving{animation:none;--arrival-phase:0s}
.output-card:after{animation:report-arrival var(--flow-duration,3.6s) linear infinite;animation-delay:var(--arrival-phase)}
.output-card .node{background:#efffff;box-shadow:0 0 8px var(--neon),0 0 16px var(--neon)}
.output-card .arrow{color:var(--neon)}.output-card small{color:#a1becd}
.report-thumb{box-shadow:0 0 11px color-mix(in srgb,var(--neon),transparent 60%);border-color:color-mix(in srgb,var(--neon),#fff 40%)}
.mini-bars i{transform-origin:center bottom;animation:mini-bar 4.6s ease-in-out infinite}
.mini-bars i:nth-child(2n){animation-delay:-1.2s}.mini-bars i:nth-child(3n){animation-delay:-2.4s}
.mini-line path{stroke-dasharray:100;stroke-dashoffset:0;animation:mini-line 5.5s ease-in-out infinite}
.mini-donut{animation:orbit 22s linear infinite}
.mini-grid i{animation:mini-cell 4s ease-in-out infinite}.mini-grid i:nth-child(3n){animation-delay:-1.4s}
.connectors{display:block;pointer-events:none}
.data-route path{fill:none;stroke:var(--route-color);stroke-linecap:round;stroke-linejoin:round}
.route-glow{stroke-width:7;opacity:.17;filter:blur(3px)}
.route-base{stroke-width:1.6;opacity:.8}
.data-route .route-head,.data-route .route-head-secondary{stroke:#edffff;stroke-width:2.5;stroke-dasharray:1.2 98.8;filter:drop-shadow(0 0 3px var(--route-color));animation:route-head var(--flow-duration,3.6s) linear infinite;animation-delay:var(--route-phase)}
.data-route .route-trail,.data-route .route-trail-secondary{stroke-width:3;opacity:.7;stroke-dasharray:8 92;animation:route-trail var(--flow-duration,3.6s) linear infinite;animation-delay:var(--route-phase)}
.data-route .route-head-secondary,.data-route .route-trail-secondary{animation-delay:calc(var(--route-phase) - var(--flow-duration,3.6s)/2)}
.engine-stage{isolation:isolate}
.engine-core{z-index:3;background:radial-gradient(circle at 50% 35%,#0b2e4b,#031422 75%);box-shadow:inset 0 0 35px #0b91c333,0 0 24px #009eff28}
.engine-wordmark{text-shadow:0 0 21px #49b9f36b;color:#fff}
.engine-halo{inset:-38px;z-index:-1;background:radial-gradient(circle,transparent 40%,#00bfff38 55%,#008cff22 63%,transparent 74%);animation:engine-breathe 5.4s ease-in-out infinite;will-change:transform,opacity}
.orbit-outer{border-color:#22c8ff;box-shadow:0 0 13px #00aaffaa,inset 0 0 15px #009dff5c}
.orbit-outer:before{border-top-color:#a3f4ff;border-bottom-color:#00bfffaa;animation-duration:24s;filter:drop-shadow(0 0 3px #0ff)}
.orbit-outer:after{border-color:#1cc4ff;opacity:.7}
.orbit-inner{border:2px solid #04cfff;box-shadow:0 0 13px #00bfffaa,inset 0 0 16px #00a6ff88}
.orbit-inner:after{border:1px dashed #43bbf5;animation:orbit 31s linear infinite reverse}
.orbit-middle{inset:13px;border:1px solid #19bbff;border-right:3px solid #b3f7ff;border-left:3px solid #17d5ff;box-shadow:0 0 9px #1cbcff77;animation:orbit 38s linear infinite reverse}
.ring-spark{position:absolute;inset:-1px;border-radius:50%;pointer-events:none;animation:orbit 13.5s linear infinite}
.ring-spark:before{content:"";position:absolute;left:50%;top:-3px;width:7px;height:7px;background:#d9ffff;border-radius:50%;box-shadow:0 0 5px #fff,0 0 12px #00d9ff,0 0 24px #00aaff}
.spark-counterclockwise{inset:23px;animation:orbit 19s linear infinite reverse}.spark-counterclockwise:before{width:5px;height:5px;box-shadow:0 0 6px white,0 0 12px #00bcff}
.engine-rays{position:absolute;inset:-54px;border-radius:50%;background:repeating-conic-gradient(from 12deg,transparent 0deg 12deg,#00bfff55 12.3deg 12.7deg,transparent 13deg 24deg);mask-image:radial-gradient(circle,transparent 45%,#000 56%,transparent 73%);animation:orbit 95s linear infinite;opacity:.65;z-index:-1}
.engine-electric{position:absolute;inset:-18px;border-radius:50%;box-shadow:0 0 40px #008cff66,inset 0 0 27px #00bdff88;border:2px solid #54d9ff88;opacity:.12;animation:engine-electric 7.2s ease-in-out infinite;pointer-events:none;z-index:1}
.engine-dust{position:absolute;inset:-12px;animation:orbit 48s linear infinite;pointer-events:none;z-index:1}
.engine-dust:before{content:"";position:absolute;width:2px;height:2px;top:50%;left:50%;background:#d4fcff;border-radius:50%;box-shadow:-125px -32px 2px #6ad6ff,-93px -105px 1px #10caff,17px -146px 2px #68caff,100px -90px 2px #71deff,143px 4px 1px #00bbff,91px 105px 1px #8defff,18px 149px 2px #16baff,-83px 109px 1px #46dfff,-143px 28px 2px #25bcff}
.engine-ring-label{position:absolute;inset:0;height:100%;width:100%;z-index:4;pointer-events:none;overflow:visible}
.engine-ring-label path{stroke:none;fill:none}.engine-ring-label text{stroke:none;fill:#c1efff;font-size:11px;font-weight:600;letter-spacing:1.45px}
.processing-step{border-color:#22618b;box-shadow:inset 0 0 10px #0051a211;color:#a7c9db;transition:border-color .65s,background .65s,color .65s,box-shadow .65s}
.processing-step:nth-child(2){--stage-neon:#c57aff}.processing-step:nth-child(3){--stage-neon:#5aff8e}.processing-step:nth-child(4){--stage-neon:#ffbb51}.processing-step:nth-child(5){--stage-neon:#24d5ff}.processing-step:nth-child(6){--stage-neon:#e8cb65}
.processing-step.active{border-color:var(--stage-neon,#2be4ff);color:#edffff;background:#0a3651;box-shadow:0 0 10px color-mix(in srgb,var(--stage-neon,#2be4ff),transparent 55%),inset 0 0 16px #0572bb33}
.processing-step.active svg{color:var(--stage-neon,#2be4ff);filter:drop-shadow(0 0 3px currentColor)}
.is-paused .experience *,.is-paused .experience *:before,.is-paused .experience *:after,.is-hidden .experience *,.is-hidden .experience *:before,.is-hidden .experience *:after,.is-offscreen .experience *,.is-offscreen .experience *:before,.is-offscreen .experience *:after{animation-play-state:paused!important}
.icon-button:disabled{opacity:.65;cursor:default}
@keyframes route-head{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes route-trail{from{stroke-dashoffset:108}to{stroke-dashoffset:8}}
@keyframes card-breathe{0%,100%{opacity:.2}50%{opacity:.55}}
@keyframes report-arrival{0%,44%,100%{opacity:.25}48%,96%{opacity:.85}55%{opacity:.3}}
@keyframes engine-breathe{0%,100%{opacity:.6;transform:scale(.98)}50%{opacity:1;transform:scale(1.045)}}
@keyframes engine-electric{0%,64%,100%{opacity:.1;transform:scale(1)}74%{opacity:.85;transform:scale(1.025)}89%{opacity:.17;transform:scale(1.01)}}
@keyframes mini-bar{0%,100%{transform:scaleY(.73)}45%{transform:scaleY(1)}}
@keyframes mini-line{0%,100%{stroke-dashoffset:0;opacity:1}50%{stroke-dashoffset:12;opacity:.65}}
@keyframes mini-cell{0%,100%{opacity:.6}50%{opacity:1}}
@media(max-width:930px) and (min-width:721px){.engine-ring-label text{font-size:10px}.engine-electric{inset:-12px}.engine-rays{inset:-35px}.source-subtitle{font-size:7px}}
@media(max-width:720px){.connectors{display:block}.source-card .node,.source-card[aria-pressed=true] .node{display:block;top:auto;bottom:-4px;left:calc(50% - 3px);right:auto}.flow-grid{gap:34px}.source-card:hover{transform:none}.engine-electric{inset:-14px}.engine-rays{inset:-40px}.column-hint{font-size:8px}}
@media(prefers-reduced-motion:reduce){.experience *,.experience *:before,.experience *:after{animation:none!important;transition:none!important}.route-head,.route-head-secondary{display:none}.route-trail,.route-trail-secondary{display:none}.engine-electric{opacity:.2}.engine-halo{opacity:.65}.source-card:after,.output-card:after{opacity:.35}}
