*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);height:100vh;overflow:hidden}#loading-spinner{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#ffffff80;z-index:9999}#popup-message{display:none;position:fixed;top:20px;right:24px;z-index:1000;pointer-events:none;padding:10px 18px;border-radius:4px;font-size:15px;font-weight:500;background:#222;color:#fff;opacity:.96;box-shadow:0 2px 8px #0000001a}.spinner{border:8px solid #eee;border-top:8px solid #667eea;border-radius:50%;width:60px;height:60px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#app{display:flex;height:100vh}.sidebar{width:25%;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px;box-shadow:2px 0 10px #0000001a;overflow-y:auto}.canvas-container{flex:1;position:relative;background:#1a1a2e}#graphCanvas{width:100%;height:100%;cursor:grab}#graphCanvas:active{cursor:grabbing}.control-group{margin-bottom:20px;padding:15px;background:#fffc;border-radius:8px;box-shadow:0 2px 8px #0000001a}.control-group h3{margin-bottom:10px;color:#333;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}input[type=text]{width:100%;padding:10px;border:2px solid #e1e5e9;border-radius:6px;font-size:14px;transition:border-color .3s}input[type=text]:focus{outline:none;border-color:#667eea}button{width:100%;padding:10px 15px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:8px}button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}button:disabled{opacity:.6;cursor:not-allowed;transform:none}.slider-container{margin:10px 0}.slider-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;font-size:13px;color:#555}input[type=range]{width:100%;height:6px;border-radius:3px;background:#e1e5e9;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#667eea;cursor:pointer;box-shadow:0 2px 6px #0003}.checkbox-container{display:flex;align-items:center;margin:10px 0}.checkbox-container input[type=checkbox]{margin-right:8px;transform:scale(1.2)}.stats{font-size:12px;color:#666;margin-top:10px;padding-top:10px;border-top:1px solid #e1e5e9}.loading{opacity:.7;pointer-events:none}#suggestions{position:absolute;width:75.5%;min-width:120px;max-width:350px;background:#fff;border:1.5px solid #667eea;max-height:220px;overflow-y:auto;font-size:14px;z-index:100;color:#222;border-radius:7px;box-shadow:0 4px 18px #667eea1a;margin-top:2px;transition:box-shadow .2s}#suggestions div{padding:10px 16px;cursor:pointer;transition:background .15s,color .15s;border-bottom:1px solid #f0f0fa}#suggestions div:last-child{border-bottom:none}#suggestions div:hover,#suggestions div.selected{background:#e7eafe;color:#4b4b6b}#suggestions:empty{border:none;background:transparent;box-shadow:none}.control-group.instructions{background:#f7f8fa;border-left:4px solid #667eea;color:#333;font-size:13px;margin-bottom:20px;padding:18px 18px 12px}.control-group.instructions h3{color:#4b4b6b;font-size:15px;margin-bottom:12px;letter-spacing:.5px}.control-group.instructions ul{list-style:disc inside;padding-left:10px;color:#444;font-size:13px;line-height:1.7}.control-group.instructions li{margin-bottom:4px;padding-left:2px}
