:root{--bg-color: #050505;--accent-color: #3b82f6;--text-primary: #ffffff;--text-secondary: #a1a1aa;--grid-line: rgba(255, 255, 255, .05);--node-bg: rgba(24, 24, 27, .8);--node-border: rgba(255, 255, 255, .1);--glass-bg: rgba(10, 10, 10, .4);--glass-border: rgba(255, 255, 255, .08);--conn-direct: #f59e0b;--conn-movement: #d946ef;--conn-genre: #06b6d4;--conn-era: #94a3b8;--conn-language: #22c55e;--conn-quality: #fbbf24}*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-color);color:var(--text-primary);font-family:Outfit,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;overflow:hidden}#root{width:100vw;height:100vh}.App{width:100%;height:100%;overflow:hidden;position:relative}.App:before{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;opacity:.04;pointer-events:none;z-index:1000;background-image:url(https://grainy-gradients.vercel.app/noise.svg);filter:contrast(150%) brightness(100%)}.lush-grid{position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(45deg,rgba(255,255,255,.01) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.01) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.01) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.01) 75%);background-size:800px 800px;background-position:0 0,0 400px,400px -400px,-400px 0px}.canvas-container{width:100vw;height:100vh;cursor:grab;position:absolute;top:0;left:0;overflow:hidden;background:radial-gradient(circle at 50% 50%,#1a1a1a,#050505)}.canvas-container:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,transparent 20%,rgba(0,0,0,.8) 100%)}.canvas-container:active{cursor:grabbing}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--glass-border);border-radius:16px}.btn{padding:10px 20px;border-radius:12px;background:#fff;color:#000;border:none;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-weight:800;font-size:11px;letter-spacing:.05em;text-transform:uppercase}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #ffffff1a}.btn:active{transform:translateY(0)}h1,h2,h3,h4,h5,h6{font-family:Outfit,sans-serif;letter-spacing:-.02em}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff3}::view-transition-old(root),::view-transition-new(root){animation-duration:.5s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(focal-movie),::view-transition-new(focal-movie){animation-duration:.7s;animation-timing-function:cubic-bezier(.65,0,.35,1);mix-blend-mode:normal}::view-transition-group(focal-movie){animation-timing-function:cubic-bezier(.65,0,.35,1)}::view-transition-old(focal-movie){animation-name:slide-and-fade-out}::view-transition-new(focal-movie){animation-name:slide-and-fade-in}@keyframes slide-and-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes slide-and-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff14,#ffffff0d 75%);background-size:200% 100%;animation:shimmer 2s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
