.space-container{position:fixed;inset:0;background:radial-gradient(ellipse 80% 60% at 10% 20%,rgba(88,28,135,.15) 0,transparent 60%),radial-gradient(ellipse 60% 80% at 85% 70%,rgba(30,58,138,.12) 0,transparent 55%),radial-gradient(ellipse 50% 40% at 50% 50%,rgba(15,23,42,.8) 0,transparent 70%),radial-gradient(ellipse 120% 100% at 50% 100%,#09091e 0,transparent 70%),linear-gradient(180deg,#080818,#0d0d2b 30%,#111132 60%,#0a0a1a);overflow:hidden;font-family:Inter,system-ui,-apple-system,sans-serif;cursor:grab}.space-container.panning{cursor:grabbing}.space-container:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 40% 35% at 15% 30%,rgba(139,92,246,.06) 0,transparent 60%),radial-gradient(ellipse 35% 40% at 80% 65%,rgba(59,130,246,.05) 0,transparent 55%),radial-gradient(ellipse 30% 25% at 60% 15%,rgba(236,72,153,.04) 0,transparent 50%);pointer-events:none;z-index:0;animation:nebulaShift 60s ease-in-out infinite alternate}@keyframes nebulaShift{0%{opacity:1;transform:scale(1) translate(0)}50%{opacity:.7;transform:scale(1.05) translate(-1%,1%)}to{opacity:1;transform:scale(1) translate(1%,-1%)}}.space-container:after{content:"";inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.015;z-index:0}.space-container:after,.star-layer{position:absolute;pointer-events:none}.star-layer{inset:-150px;will-change:transform}.star{position:absolute;background:#fff;border-radius:50%;box-shadow:0 0 4px 1px hsla(0,0%,100%,.3)}.star-layer:first-child .star:nth-child(3n){animation:twinkle 3s ease-in-out infinite}.star-layer:nth-child(2) .star:nth-child(4n){animation:twinkle 4s ease-in-out .5s infinite}.star-layer:nth-child(3) .star:nth-child(5n){animation:twinkle 5s ease-in-out 1s infinite}.star-layer:nth-child(6) .star{animation:twinkle 6s ease-in-out infinite;box-shadow:0 0 8px 2px hsla(0,0%,100%,.5)}@keyframes twinkle{0%,to{opacity:inherit}50%{opacity:.2}}.shooting-star{position:absolute;pointer-events:none;z-index:50;animation:shootStar var(--speed,2s) linear forwards}.shooting-star:after,.shooting-star:before{content:"";position:absolute}.shooting-star:before{top:0;left:0;width:4px;height:4px;background:#fff;border-radius:50%;box-shadow:0 0 6px 2px hsla(0,0%,100%,.9),0 0 15px 4px rgba(200,220,255,.5)}.shooting-star:after{top:0;left:4px;width:var(--length,180px);height:2px;background:linear-gradient(90deg,hsla(0,0%,100%,.9),rgba(200,220,255,.6) 20%,rgba(150,180,255,.3) 50%,transparent);transform-origin:left center}@keyframes shootStar{0%{transform:rotate(var(--angle,40deg)) translate(0);opacity:0}5%{opacity:1}85%{opacity:1}to{transform:rotate(var(--angle,40deg)) translate(-200vw);opacity:0}}.pan-layer{position:absolute;top:0;left:0;width:100%;height:100%;will-change:transform;transition:transform .05s ease-out}.space-container.panning .pan-layer{transition:none}.space-node{position:absolute;cursor:grab;z-index:10;transition:transform .3s cubic-bezier(.34,1.56,.64,1),z-index 0s}.space-node.dragging,.space-node:active{cursor:grabbing;z-index:100}.space-node.dragging .node-content{transform:scale(1.06);border-color:var(--level-color,#6366f1);background:rgba(35,35,55,.95)}.space-node.dragging .node-glow{opacity:.4}.node-content{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 28px;min-width:110px;background:linear-gradient(135deg,color-mix(in srgb,var(--level-color,#6366f1) 12%,rgba(15,15,30,.85)),color-mix(in srgb,var(--level-color,#6366f1) 5%,rgba(10,10,25,.92)));backdrop-filter:blur(20px) saturate(130%);-webkit-backdrop-filter:blur(20px) saturate(130%);border-radius:16px;border:1px solid color-mix(in srgb,var(--level-color,#6366f1) 30%,hsla(0,0%,100%,.06));transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;position:relative;box-shadow:0 4px 24px color-mix(in srgb,var(--level-color,#6366f1) 15%,transparent),0 1px 3px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.04)}.node-content:before{content:"";position:absolute;top:0;left:20%;right:20%;height:1.5px;background:linear-gradient(90deg,transparent,var(--level-color,#6366f1),transparent);border-radius:0 0 2px 2px;opacity:.7;transition:all .3s ease}.node-content:after{content:"";position:absolute;inset:-1px;border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--level-color,#6366f1) 20%,transparent) 0,transparent 40%,transparent 60%,color-mix(in srgb,var(--level-color,#6366f1) 10%,transparent) 100%);z-index:-1;opacity:0;transition:opacity .3s ease}.node-icon{font-size:1.6rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.node-name{color:hsla(0,0%,100%,.92);font-size:.78rem;font-weight:600;text-align:center;letter-spacing:.02em;text-shadow:0 1px 3px rgba(0,0,0,.4)}.space-node:hover .node-content{background:linear-gradient(135deg,color-mix(in srgb,var(--level-color,#6366f1) 22%,rgba(20,20,40,.88)),color-mix(in srgb,var(--level-color,#6366f1) 12%,rgba(15,15,35,.92)));border-color:color-mix(in srgb,var(--level-color,#6366f1) 50%,hsla(0,0%,100%,.1));transform:translateY(-4px) scale(1.02);box-shadow:0 8px 32px color-mix(in srgb,var(--level-color,#6366f1) 30%,transparent),0 2px 8px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.08)}.space-node:hover .node-content:before{left:12%;right:12%;opacity:1}.space-node:hover .node-content:after{opacity:1}.space-node:hover .node-glow{opacity:.2}.node-glow{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);width:90%;height:50px;border-radius:50%;background:radial-gradient(ellipse,var(--level-color,#6366f1),transparent 70%);opacity:0;filter:blur(20px);transition:all .4s ease;pointer-events:none}.space-node.selected .node-glow{opacity:.6}.space-node.selected .node-content{background:linear-gradient(135deg,color-mix(in srgb,var(--level-color,#6366f1) 30%,rgba(20,20,35,.88)),color-mix(in srgb,var(--level-color,#6366f1) 18%,rgba(15,15,30,.92)));border-color:var(--level-color,#a855f7);transform:translateY(-5px) scale(1.03);box-shadow:0 8px 40px color-mix(in srgb,var(--level-color,#6366f1) 40%,transparent),0 0 80px color-mix(in srgb,var(--level-color,#6366f1) 15%,transparent),inset 0 1px 0 hsla(0,0%,100%,.1)}.space-node.selected .node-content:before{left:8%;right:8%;height:2px;opacity:1}.space-node.selected .node-content:after{opacity:1}.space-node.in-path .node-content{border:1.5px solid transparent;background:linear-gradient(135deg,rgba(15,15,30,.9),rgba(20,15,35,.92)) padding-box,linear-gradient(135deg,#a855f7,#ec4899,#6366f1,#a855f7) border-box;background-size:100% 100%,300% 300%;animation:energyBorder 4s ease-in-out infinite}@keyframes energyBorder{0%,to{background-position:0 50%,0 50%}50%{background-position:0 50%,100% 50%}}.space-node.in-path .node-content:before{background:linear-gradient(90deg,transparent,#ec4899,transparent);animation:none;opacity:.8}.space-node.in-path .node-glow{opacity:.3;background:radial-gradient(ellipse,#a855f7,#ec4899 50%,transparent 70%)}.space-node.completed .node-content:before{background:linear-gradient(90deg,transparent,#10b981,transparent)}.connections{pointer-events:none;z-index:5}.connection-line{stroke-linecap:round;stroke-linejoin:round;animation:lineBreath 4s ease-in-out infinite;transition:stroke .3s ease,stroke-width .3s ease,opacity .3s ease}@keyframes lineBreath{0%,to{filter:drop-shadow(0 0 2px rgba(139,92,246,.2));opacity:.5}50%{filter:drop-shadow(0 0 5px rgba(139,92,246,.35));opacity:.75}}.connection-line.active{animation:none;stroke:#a855f7!important;opacity:1;filter:drop-shadow(0 0 6px rgba(168,85,247,.6))}@keyframes accentFloat{0%,to{opacity:.6}50%{opacity:1}}.space-node .node-content:before{animation:accentFloat 4s ease-in-out infinite}.space-node:nth-child(2) .node-content:before{animation-delay:.4s}.space-node:nth-child(3) .node-content:before{animation-delay:.8s}.space-node:nth-child(4) .node-content:before{animation-delay:1.2s}.space-node:nth-child(5) .node-content:before{animation-delay:1.6s}.space-node:nth-child(6) .node-content:before{animation-delay:2s}.space-node:nth-child(7) .node-content:before{animation-delay:2.4s}.space-node:nth-child(8) .node-content:before{animation-delay:2.8s}.space-node:nth-child(9) .node-content:before{animation-delay:3.2s}.pan-indicator{position:fixed;bottom:20px;right:20px;padding:8px 14px;background:rgba(0,0,0,.4);backdrop-filter:blur(12px);border-radius:20px;border:1px solid hsla(0,0%,100%,.05);color:hsla(0,0%,100%,.5);font-size:.75rem;font-family:SF Mono,Fira Code,monospace;z-index:100;pointer-events:none}.bright-star{position:absolute;background:#fff;border-radius:50%;box-shadow:0 0 10px 3px hsla(0,0%,100%,.8),0 0 20px 6px rgba(200,220,255,.4),0 0 40px 10px rgba(150,180,255,.2);animation:starTwinkle 4s ease-in-out infinite}@keyframes starTwinkle{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}