.skills-container{height:100%;min-height:520px;color:var(--color-text-primary);font-family:var(--font-sans);display:flex;position:relative;overflow:hidden}.skills-graph-area{flex-direction:column;flex:1;height:100%;display:flex;position:relative}.skills-filters{top:var(--space-4);left:var(--space-4);gap:var(--space-1);z-index:10;display:flex;position:absolute}.skills-filter-btn{color:var(--color-text-secondary);backdrop-filter:blur(8px);border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);cursor:pointer;transition:all var(--dur-fast);background:#171326a6;padding:5px 12px;font-size:.72rem;font-weight:700}.skills-filter-btn:hover{color:var(--color-text-primary);border-color:var(--color-border);background:#ffffff0d}.skills-filter-btn--active{background:var(--color-accent-soft);color:var(--color-text-primary);border-color:var(--color-accent);box-shadow:0 0 10px var(--color-accent-glow)}.skills-svg-canvas{cursor:grab;background-image:radial-gradient(circle,#a855f708 0%,#0000 70%),linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-position:50%;background-size:100% 100%,30px 30px,30px 30px;width:100%;height:100%}.skills-svg-canvas:active{cursor:grabbing}.link{stroke-opacity:.6;transition:stroke-opacity var(--dur-fast), stroke var(--dur-fast)}.link--cross{stroke-dasharray:4 3}.node-group{cursor:pointer}.node-group circle{stroke:#ffffff1a;stroke-width:1.5px;transition:r var(--dur-fast), stroke-width var(--dur-fast), stroke var(--dur-fast)}.node-group:hover circle{stroke:#fff;stroke-width:2px}.node--core circle{stroke:var(--color-accent);stroke-width:2.5px}.node-group text{font-family:var(--font-sans);text-shadow:0 1px 4px #000c,0 0 2px #000000e6;transition:font-size var(--dur-fast)}.skills-controls{bottom:var(--space-4);left:var(--space-4);gap:var(--space-1);z-index:10;flex-direction:column;display:flex;position:absolute}.skills-controls button{border-radius:var(--radius-sm);backdrop-filter:blur(8px);border:1px solid var(--color-border-subtle);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--dur-fast);background:#171326a6;justify-content:center;align-items:center;font-size:1.05rem;font-weight:700;display:flex}.skills-controls button:hover{color:var(--color-text-primary);border-color:var(--color-accent);box-shadow:0 0 8px var(--color-accent-glow);background:#ffffff0d}.skills-detail-sidebar{border-left:1px solid var(--color-border-subtle);width:320px;-webkit-backdrop-filter:var(--glass-blur-sm);opacity:0;pointer-events:none;height:100%;transition:transform var(--dur-slow) var(--ease-spring), opacity var(--dur-slow) var(--ease-spring);z-index:20;background:#17132659;flex-direction:column;flex-shrink:0;display:flex;position:absolute;top:0;bottom:0;right:0;transform:translate(100%)}.skills-detail-sidebar.visible{opacity:1;pointer-events:auto;transform:translate(0)}.skills-detail-content{padding:var(--space-6);flex-direction:column;height:100%;display:flex;position:relative;overflow-y:auto}.skills-detail-close{top:var(--space-4);right:var(--space-4);color:var(--color-text-muted);cursor:pointer;transition:color var(--dur-fast);background:0 0;border:none;font-size:1.5rem;position:absolute}.skills-detail-close:hover{color:var(--color-text-primary)}.skills-detail-badge{border-radius:var(--radius-full);margin-bottom:var(--space-3);align-self:start;padding:3px 10px;font-size:.68rem;font-weight:700;display:inline-block}.skills-detail-badge[data-cat=ds]{color:#00b8d4;background:#00b8d41f;border:1px solid #00b8d44d}.skills-detail-badge[data-cat=ef]{color:#10b981;background:#10b9811f;border:1px solid #10b9814d}.skills-detail-badge[data-cat=bm]{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b4d}.skills-detail-badge[data-cat=gs]{color:#8b5cf6;background:#7c3aed1f;border:1px solid #7c3aed4d}.skills-detail-title{margin-bottom:var(--space-5);font-size:1.4rem;font-weight:800;line-height:1.3}.skills-detail-body{gap:var(--space-5);flex-direction:column;flex:1;display:flex}.skills-detail-sec h3{color:var(--color-text-secondary);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;font-weight:700}.skills-detail-sec p{color:var(--color-text-primary);font-size:.85rem;line-height:1.6}.skills-detail-project{border-left:3px solid var(--color-accent);padding:var(--space-2) var(--space-3);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#ffffff05}.skills-detail-sec ul{flex-direction:column;gap:6px;list-style:none;display:flex}.skills-detail-sec li{color:var(--color-text-primary);padding-left:var(--space-3);font-size:.85rem;position:relative}.skills-detail-sec li:before{content:"»";color:var(--color-accent-bright);position:absolute;left:0}.skills-portal-launch-btn{width:100%;margin-top:var(--space-6);background:var(--gradient-purple);color:var(--color-text-primary);border:1px solid var(--color-border);font-family:var(--font-sans);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);cursor:pointer;box-shadow:0 4px 15px var(--color-accent-glow);transition:all var(--dur-fast);font-size:.82rem;font-weight:700}.skills-portal-launch-btn:hover{border-color:var(--color-accent-bright);transform:translateY(-2px);box-shadow:0 6px 20px #a855f766}.skills-portal-launch-btn:active{transform:translateY(0)}.skills-sidebar-empty{height:100%;padding:var(--space-6);text-align:center;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.skills-empty-icon{margin-bottom:var(--space-3);font-size:2.2rem;display:block}.skills-sidebar-empty p{font-size:.78rem;line-height:1.5}@media (width<=768px){.skills-container{flex-direction:column}.skills-detail-sidebar{border-left:none;border-top:1px solid var(--color-border-subtle);width:100%;height:180px;top:auto;bottom:0;transform:translateY(100%)}.skills-detail-sidebar.visible{transform:translateY(0)}}
