.resume-node{border:2px solid #3b82f6;border-radius:10px;width:120px!important;height:50px!important;padding:10px;display:flex;justify-content:center;align-items:center;font-size:13px;font-weight:600;color:#1e40af;background:linear-gradient(135deg,#eff6ff,#dbeafe);box-shadow:0 4px 12px -2px rgb(59 130 246/.2);position:relative;overflow:hidden}.resume-node:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(37,99,235,.1) 0,transparent 70%);animation:pulse 3s ease-in-out infinite}.resume-node-content{display:flex;align-items:center;justify-content:center;z-index:1}.job-node{border:1px solid #e2e8f0;border-radius:8px;width:140px!important;height:70px!important;padding:10px;font-size:12px;background:#ffffff;box-shadow:0 1px 3px rgb(0 0 0/.08);transition:all .15s ease;cursor:pointer}.job-node:hover{border-color:#3b82f6;box-shadow:0 4px 12px rgb(59 130 246/.15);transform:translateY(-1px)}.job-card-content{display:flex;flex-direction:column;gap:4px;height:100%;overflow:hidden}.job-title{font-weight:600;color:#1e293b;font-size:11px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.company-name{color:#64748b;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-type-badge{font-size:9px;padding:2px 5px;border-radius:3px;font-weight:500;background-color:#f1f5f9;color:#475569;width:-moz-fit-content;width:fit-content;margin-top:auto}.light-text .job-title{color:#ffffff}.light-text .company-name{color:rgba(255,255,255,.85)}.light-text .job-type-badge{background-color:rgba(255,255,255,.2);color:#ffffff}.loading-container{display:flex;flex-direction:column;align-items:center;gap:2rem}.graph-loader{width:400px;height:300px;position:relative}.resume-node-loader{width:60px;height:60px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #2563eb;border-radius:12px;position:absolute;top:40px;left:170px;animation:pulse 2s ease-in-out infinite}.job-node-loader{width:50px;height:40px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;position:absolute;opacity:0;animation:fadeInScale .5s ease-out forwards}.n1{left:100px;animation-delay:.2s}.n1,.n2{top:150px}.n2{left:175px;animation-delay:.4s}.n3{top:150px;left:250px;animation-delay:.6s}.n4{left:60px;animation-delay:.8s}.n4,.n5{top:230px}.n5{left:290px;animation-delay:1s}.connections{position:absolute;top:0;left:0;pointer-events:none}.connection{fill:none;stroke:#94a3b8;stroke-width:2;stroke-dasharray:10;opacity:0;animation:drawLine 1s ease-out forwards}.c1{animation-delay:.3s}.c2{animation-delay:.5s}.c3{animation-delay:.7s}.c4{animation-delay:.9s}.c5{animation-delay:1.1s}.floating-icons{position:absolute;inset:0;pointer-events:none}.floating-icon{position:absolute;font-size:20px;opacity:0;animation:float 3s ease-in-out infinite}.i1{top:30%;left:20%;animation-delay:.2s}.i2{top:40%;left:70%;animation-delay:.7s}.i3{top:60%;left:30%;animation-delay:1.2s}.i4{top:50%;left:80%;animation-delay:1.7s}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(37,99,235,.4)}50%{transform:scale(1.05);box-shadow:0 0 20px 10px rgba(37,99,235,0)}to{transform:scale(1);box-shadow:0 0 0 0 rgba(37,99,235,0)}}@keyframes fadeInScale{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes drawLine{0%{stroke-dashoffset:100;opacity:0}to{stroke-dashoffset:0;opacity:.6}}@keyframes float{0%{transform:translateY(0) rotate(0deg);opacity:0}30%{opacity:1}70%{opacity:1}to{transform:translateY(-100px) rotate(1turn);opacity:0}}