@keyframes gentle-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-animation{0%{transform:scale(1);opacity:1}to{transform:scale(2);opacity:0}}@keyframes spin-dashed{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes particle-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}.skills-constellation{min-height:100vh;background:#040810;display:flex;align-items:center;justify-content:center}.skills-constellation__section{width:100%;max-width:1152px;padding:4rem 1rem}.skills-constellation__header{text-align:center;margin-bottom:3rem}.skills-constellation__title{font-size:clamp(1.25rem,5vw,2.5rem);font-weight:700;margin-bottom:1rem;background:linear-gradient(90deg,#6366f1,#60a5fa,#38bdf8);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);color:rgba(0,0,0,0)}@media(min-width:768px){.skills-constellation__title{font-size:clamp(1.7rem,5vw,2.5rem)}}.skills-constellation__subtitle{color:#9ca3af;font-size:1.125rem}.skills-constellation__container{position:relative;width:100%;height:500px;background:linear-gradient(135deg,#040810,rgba(30,58,138,.1));border-radius:1.5rem;border:1px solid rgba(55,65,81,.3);overflow:hidden}.skills-constellation__canvas{position:absolute;inset:0;width:100%;height:100%}.skills-constellation__skill{position:absolute;transform:translate(-50%,-50%);cursor:pointer;z-index:10;transition:all .5s ease}.skills-constellation__skill--highlighted{z-index:20;transform:translate(-50%,-50%) scale(1.5)}.skills-constellation__orb{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.875rem;position:relative;transition:all .5s ease;box-shadow:0 0 20px rgba(0,0,0,.4)}.skills-constellation__orb--highlighted{box-shadow:0 0 40px rgba(0,0,0,.8),0 0 80px rgba(0,0,0,.4)}.skills-constellation__orb-text{position:relative;z-index:10}.skills-constellation__pulse-ring{position:absolute;inset:0;border-radius:50%;animation:pulse-animation 1s infinite}.skills-constellation__label{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:.75rem;opacity:0;transform:translateX(-50%) translateY(.5rem);transition:all .3s ease;pointer-events:none}.skills-constellation__label--visible{opacity:1;transform:translateX(-50%) translateY(0)}.skills-constellation__label-content{padding:.5rem 1rem;background:rgba(17,24,39,.95);backdrop-filter:blur(8px);border-radius:.5rem;border:1px solid rgba(55,65,81,.5);text-align:center;position:relative}.skills-constellation__label-name{color:#fff;font-weight:700;font-size:.875rem}.skills-constellation__label-category{color:#9ca3af;font-size:.75rem;margin-top:.25rem}.skills-constellation__label-arrow{position:absolute;top:-1px;left:50%;transform:translateX(-50%) rotate(45deg);width:.5rem;height:.5rem;background:rgba(17,24,39,.95);border-left:1px solid rgba(55,65,81,.5);border-top:1px solid rgba(55,65,81,.5)}.skills-constellation__connection-indicator{position:absolute;inset:0;border-radius:50%;border:2px dashed;opacity:.6;animation:spin-dashed 3s linear infinite}.skills-constellation__floating-elements{position:absolute;inset:0;pointer-events:none}.skills-constellation__floating-particle{position:absolute;width:.5rem;height:.5rem;background:rgba(147,197,253,.3);border-radius:50%;animation:particle-pulse 2s ease-in-out infinite}.skills-constellation__categories{margin-top:2rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.skills-constellation__category{padding:.5rem 1rem;border-radius:9999px;border:1px solid rgba(75,85,99,.5);background:rgba(31,41,55,.4);color:#d1d5db;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease}.skills-constellation__category:hover{background:rgba(55,65,81,.4)}.skills-constellation__category--hovered{background:rgba(37,99,235,.2);border-color:rgba(96,165,250,.5);color:#93c5fd;box-shadow:0 0 20px rgba(59,130,246,.2)}.skills-constellation__category-icon{margin-right:.5rem}@media(max-width:768px){.skills-constellation__section{padding:2rem 1rem}.skills-constellation__container{height:400px}.skills-constellation__orb{width:48px;height:48px;font-size:.75rem}.skills-constellation__skill--highlighted{transform:translate(-50%,-50%) scale(1.3)}}@media(max-width:480px){.skills-constellation__categories{gap:.5rem}.skills-constellation__category{padding:.375rem .75rem;font-size:.75rem}}