:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;width:100vw;height:100vh;overflow:hidden}html{overflow:hidden;width:100vw;height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.app{width:100vw;height:100vh;display:flex;flex-direction:column;background:#0a0a0a;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden;position:fixed;top:0;left:0}.home-view{width:100%;min-height:100vh;background:linear-gradient(135deg,#0a0a0a,#1a1a1a);padding-bottom:2rem}.home-view .app-header{text-align:center;padding:1.5rem 1rem;background:#1a1a1acc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #333}.home-view .app-header h1{font-size:1.8rem;margin:0 0 .75rem;background:linear-gradient(45deg,#646cff,#4f46e5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.home-view .app-header p{font-size:.95rem;color:#aaa;margin:0;line-height:1.4;padding:0 .5rem}.main-content{padding:1rem;display:flex;flex-direction:column;gap:1.5rem;max-width:100%}.section{background:#1a1a1a99;border:1px solid #333;border-radius:12px;padding:1rem;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.section h2{margin:0 0 1rem;font-size:1.25rem;color:#fff;display:flex;align-items:center;gap:.5rem}@media (min-width: 640px){.home-view .app-header{padding:2rem 1.5rem}.home-view .app-header h1{font-size:2.2rem;margin-bottom:1rem}.home-view .app-header p{font-size:1.1rem}.main-content{padding:1.5rem;gap:2rem}.section{padding:1.5rem}.section h2{font-size:1.4rem;margin-bottom:1.25rem}}@media (min-width: 768px){.main-content{max-width:1200px;margin:0 auto;padding:2rem;gap:2.5rem}.section{padding:2rem}.section h2{font-size:1.5rem;margin-bottom:1.5rem}}@media (min-width: 1024px){.home-view .app-header{padding:3rem 2rem}.home-view .app-header h1{font-size:2.5rem}.home-view .app-header p{font-size:1.2rem}.main-content{padding:3rem;gap:3rem}.section{padding:3rem}}.dataset-selector-overlay{position:absolute;top:1rem;right:50%;transform:translate(50%);z-index:1001;pointer-events:none}.dataset-selector{pointer-events:auto;position:relative}.dataset-toggle-btn{background:#1a1a1ae6;border:1px solid rgba(100,108,255,.4);border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 12px #0000004d;display:flex;align-items:center;gap:8px}.dataset-toggle-btn:hover{background:#646cff33;border-color:#646cff99;transform:translateY(-1px);box-shadow:0 6px 20px #646cff4d}.dataset-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:8px;background:#1a1a1af2;border:1px solid rgba(100,108,255,.3);border-radius:12px;box-shadow:0 8px 32px #000c;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);min-width:320px;max-width:400px;max-height:400px;overflow-y:auto;z-index:1002}.dataset-header{padding:12px 16px;border-bottom:1px solid rgba(100,108,255,.2);display:flex;justify-content:space-between;align-items:center;background:#0000004d;border-radius:12px 12px 0 0}.dataset-header span{color:#fff;font-weight:500;font-size:14px}.close-dropdown{background:none;border:none;color:#888;font-size:18px;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-dropdown:hover{background:#ffffff1a;color:#fff}.dataset-list{padding:8px}.dataset-item{display:flex;flex-direction:column;gap:4px;padding:12px;cursor:pointer;border-radius:8px;transition:background-color .2s;border:1px solid transparent}.dataset-item:hover{background:#646cff1a;border-color:#646cff33}.dataset-item input[type=checkbox]{width:16px;height:16px;margin-right:8px;flex-shrink:0}.dataset-name{color:#fff;font-weight:500;font-size:13px;display:flex;align-items:center}.dataset-filename{color:#888;font-size:11px;margin-left:24px}.dataset-empty{padding:20px;text-align:center;color:#888;font-size:13px}@media (max-width: 768px){.dataset-selector-overlay{right:1rem;transform:none}.dataset-dropdown{left:auto;right:0;transform:none;min-width:280px}}.app-header{background:#1a1a1a;padding:1rem 2rem;border-bottom:1px solid #333;display:flex;justify-content:space-between;align-items:center}.app-header h1{margin:0;font-size:1.5rem;color:#fff}.current-file{display:flex;align-items:center;gap:1rem;font-size:.9rem}.reset-btn{padding:.5rem 1rem;background:#646cff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;transition:background-color .2s}.reset-btn:hover{background:#55f}.file-upload{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.drop-zone{width:100%;max-width:600px;min-height:300px;padding:2rem;border:2px dashed #666;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:all .3s ease;cursor:pointer;background:#1a1a1a;box-sizing:border-box}.drop-zone.drag-over{border-color:#646cff;background:#2a2a3a;transform:scale(1.02)}.drop-zone:hover{border-color:#888;background:#222}.drop-icon{font-size:3rem;margin-bottom:1rem;opacity:.6}.drop-text{font-size:1.2rem;margin-bottom:.5rem;font-weight:500}.drop-subtext{font-size:.9rem;color:#888;margin-bottom:1.5rem}.file-input{display:none}.upload-btn{padding:.75rem 2rem;background:#646cff;border:none;border-radius:6px;color:#fff;font-size:1rem;cursor:pointer;transition:background-color .2s}.upload-btn:hover{background:#55f}.supported-formats{margin-top:2rem;text-align:center;color:#888;font-size:.8rem}.format-list{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:.5rem}.format-item{background:#333;padding:.25rem .75rem;border-radius:4px;font-size:.7rem;text-transform:uppercase}.processing{display:flex;flex-direction:column;align-items:center;gap:1rem;color:#888}.spinner{width:40px;height:40px;border:4px solid #333;border-top:4px solid #646cff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.graph-container{flex:1;position:relative;overflow:hidden;width:100%;height:100%;touch-action:none}.graph-container canvas{touch-action:none}.graph-controls{position:absolute;top:1rem;right:1rem;z-index:100;transition:all .3s ease}.graph-controls.collapsed{background:none}.graph-controls.expanded{background:#1a1a1ae6;border-radius:8px;padding:1rem;padding-top:60px;min-width:200px}.gear-toggle{background:#646cffe6;border:none;color:#fff;cursor:pointer;font-size:1.2rem;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.gear-toggle:hover{background:#646cff;transform:rotate(90deg)}.gear-toggle{width:40px;height:40px;border-radius:50%;padding:0;position:absolute;top:0;right:0;z-index:101}.control-group{margin-bottom:1rem}.control-group:last-child{margin-bottom:0}.control-group label{display:block;margin-bottom:.5rem;font-size:.9rem}.control-group input,.control-group select{width:100%;padding:.25rem;background:#333;border:1px solid #555;color:#fff;border-radius:4px}.control-group input[type=range]{padding:0;height:20px;background:transparent;border:none}.control-group input[type=range]::-webkit-slider-track{background:#555;height:4px;border-radius:2px}.control-group input[type=range]::-webkit-slider-thumb{appearance:none;background:#646cff;height:16px;width:16px;border-radius:8px;cursor:pointer}.control-group input[type=range]::-moz-range-track{background:#555;height:4px;border-radius:2px;border:none}.control-group input[type=range]::-moz-range-thumb{background:#646cff;height:16px;width:16px;border-radius:8px;cursor:pointer;border:none}.control-group label{font-size:.8rem;margin-bottom:.25rem}.node-details-card{background:#1a1a1af2;border:1px solid #444;border-radius:12px;padding:0;min-width:280px;max-width:320px;box-shadow:0 8px 32px #000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-family:inherit;pointer-events:auto;z-index:1000}.card-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #333;background:#0000004d;border-radius:12px 12px 0 0}.card-title{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;flex:1;min-width:0}.card-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.depth-indicator{width:12px;height:12px;border-radius:50%;flex-shrink:0;border:2px solid rgba(255,255,255,.3)}.close-btn{background:none;border:none;color:#888;font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;flex-shrink:0}.close-btn:hover{background:#ffffff1a;color:#fff}.card-content{padding:16px}.detail-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px}.detail-row:last-child{margin-bottom:0}.detail-row .label{color:#aaa;font-weight:500;flex-shrink:0}.detail-row .value{color:#fff;font-weight:600;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.detail-row .value.highlight{color:#646cff;font-weight:700}.node-details-overlay{position:absolute;top:1rem;left:1rem;z-index:1000;pointer-events:none}.node-details-overlay .node-details-card{pointer-events:auto;animation:slideInLeft .3s ease-out}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.screen-legend-overlay{position:absolute;bottom:1rem;left:1rem;color:#fff;font-family:inherit;font-size:12px;text-shadow:1px 1px 2px rgba(0,0,0,.8);z-index:50;pointer-events:none}.screen-stats-overlay{position:absolute;bottom:1rem;right:1rem;color:#fff;font-family:inherit;font-size:13px;text-shadow:1px 1px 2px rgba(0,0,0,.8);z-index:50;pointer-events:none;text-align:right}.screen-filename-overlay{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);color:#fff;font-family:inherit;font-size:14px;font-weight:500;text-shadow:1px 1px 2px rgba(0,0,0,.8);z-index:50;pointer-events:none;text-align:center}.stat-line{margin-bottom:4px;font-weight:500;opacity:.9}.stat-line:last-child{margin-bottom:8px}.legend-items{display:flex;flex-direction:column;gap:2px;margin-top:8px}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;opacity:.85}.legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.back-nav-overlay{position:absolute;top:1rem;left:1rem;z-index:1000;pointer-events:none}.back-nav-btn{padding:10px 16px;background:#1a1a1ae6;border:1px solid rgba(100,108,255,.4);border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;gap:4px;box-shadow:0 4px 12px #0000004d}.back-nav-btn:hover{background:#646cff33;border-color:#646cff99;color:#fff;transform:translateY(-1px);box-shadow:0 6px 20px #646cff4d}.back-nav-btn:active{transform:translateY(0)}.browse-section{width:100%}.browse-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.browse-header h2{margin:0;font-size:1.3rem;color:#fff;display:flex;align-items:center;gap:.5rem}.loading-container{display:flex;justify-content:center;align-items:center;height:100vh;background:linear-gradient(135deg,#0a0f1c,#1a1f2e);color:#ccc;font-size:1.2rem}@media (min-width: 768px){.upload-browse-container{flex-direction:row;align-items:flex-start;gap:3rem}.upload-browse-container>*{flex:1}.section-divider{writing-mode:vertical-rl;text-orientation:mixed;margin:0 1rem;height:300px}.section-divider:before,.section-divider:after{width:1px;height:1rem;flex:1;background:linear-gradient(180deg,transparent,rgba(100,108,255,.3),transparent)}.main-content{max-width:1200px;margin:0 auto;padding:2rem;gap:2.5rem}}
