.ambient-blob{position:fixed;border-radius:50%;filter:blur(120px);pointer-events:none;z-index:0;opacity:.35;transition:opacity 1.2s ease;will-change:transform}.ambient-blob.dim{opacity:.08}@keyframes blob-float-1{0%,to{transform:translate(0) scale(1)}25%{transform:translate(150px,-80px) scale(1.1)}50%{transform:translate(80px,120px) scale(.95)}75%{transform:translate(-100px,60px) scale(1.05)}}@keyframes blob-float-2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-180px,100px) scale(1.15)}66%{transform:translate(120px,-100px) scale(.9)}}@keyframes blob-float-3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(200px,150px) scale(1.2)}}@keyframes blob-float-4{0%,to{transform:translate(0) scale(1)}40%{transform:translate(-150px,-120px) scale(1.1)}80%{transform:translate(180px,80px) scale(.95)}}.node{transition:all .25s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;display:block;color:inherit;text-decoration:none;cursor:pointer}.node:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.node:hover .node-open-hint{opacity:1}.node-open-hint{position:absolute;bottom:8px;right:10px;font-size:10px;color:#0f172a;background:#fffffff2;padding:3px 8px;border-radius:4px;opacity:0;transition:opacity .2s;pointer-events:none;border:1px solid #e2e8f0;font-weight:600}.node.on{box-shadow:0 4px 12px #00000014}.node.off{opacity:.55;filter:grayscale(.4)}.node-toggle-area{cursor:pointer;z-index:10}.metric-num{font-variant-numeric:tabular-nums;transition:color .3s ease}.preset-card{cursor:pointer}.preset-card.active{box-shadow:0 8px 24px #7c3aed26;transform:translateY(-1px)}.preset-card:hover{transform:translateY(-2px)}.preset-card.active[data-preset=none]{border-color:#475569;box-shadow:0 8px 24px #47556926}.preset-card.active[data-preset=none] .preset-check{background:#475569;border-color:#475569}.preset-card.active[data-preset=none] .preset-check svg{opacity:1}.preset-card.active[data-preset=minimal]{border-color:#0284c7;box-shadow:0 8px 24px #0284c726}.preset-card.active[data-preset=minimal] .preset-check{background:#0284c7;border-color:#0284c7}.preset-card.active[data-preset=minimal] .preset-check svg{opacity:1}.preset-card.active[data-preset=basic]{border-color:#7c3aed;box-shadow:0 8px 24px #7c3aed26}.preset-card.active[data-preset=basic] .preset-check{background:#7c3aed;border-color:#7c3aed}.preset-card.active[data-preset=basic] .preset-check svg{opacity:1}.preset-card.active[data-preset=full]{border-color:#059669;box-shadow:0 8px 24px #05966926}.preset-card.active[data-preset=full] .preset-check{background:#059669;border-color:#059669}.preset-card.active[data-preset=full] .preset-check svg{opacity:1}#horizon-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:linear-gradient(to right,#cbd5e1,#818cf8,#38bdf8,#10b981);outline:none}#horizon-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #0f172a;cursor:grab;box-shadow:0 2px 8px #00000026;-webkit-transition:transform .1s;transition:transform .1s}#horizon-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}#horizon-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.05)}#horizon-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #0f172a;cursor:grab;box-shadow:0 2px 8px #00000026}.switch{width:36px;height:20px;border-radius:10px;position:relative;transition:background .2s;flex-shrink:0}.switch.on{background:#10b981}.switch.off{background:#cbd5e1}.switch:after{content:"";position:absolute;top:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:left .2s}.switch.on:after{left:18px}.switch.off:after{left:2px}.arrow-svg{pointer-events:none}.flow-channel{stroke-dasharray:8 12;animation:flow-stream 1.8s linear infinite}@keyframes flow-stream{to{stroke-dashoffset:-20}}@keyframes pulse-glow{0%,to{box-shadow:0 4px 12px #10b98126}50%{box-shadow:0 4px 20px #10b98166}}.profit-positive{animation:pulse-glow 2s ease-in-out infinite}.flow-particle{filter:drop-shadow(0 0 4px currentColor)}#graphContainer>.grid{position:relative;z-index:1}@keyframes particle-fade{0%{opacity:0}10%{opacity:1}90%{opacity:1}to{opacity:0}}@keyframes coin-rain{0%{transform:translateY(-10px) scale(.5);opacity:0}20%{opacity:1}to{transform:translateY(40px) scale(1);opacity:0}}
