.skills-section{padding-top:35px}.skills-heading{text-align:center;z-index:1;position:relative}.skills-heading .eyebrow{margin-bottom:12px}.skills-heading>p:last-child{color:var(--muted);margin:18px auto 0;font-size:16px}.skill-stage{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at center, var(--glow), transparent 52%);--glow:#fffaf2;--wire:17, 17, 17;width:min(100%,860px);height:640px;margin:-10px auto 0;position:relative;overflow:hidden}:root[data-theme=dark] .skill-stage{--glow:#25221e;--wire:243, 238, 228}.skill-stage.is-dragging{cursor:grabbing}.skill-stage:focus-visible{outline:2px dashed var(--accent);outline-offset:-2px;border-radius:24px}.skill-wireframe,.skill-globe{width:100%;height:100%;position:absolute;inset:0}.skill-wireframe{pointer-events:none}.floating-skill{--brand:var(--brand-light);--brand-ink:var(--ink-light);--facing:0;will-change:transform;transition:opacity .5s ease-out;position:absolute;top:50%;left:50%}:root[data-theme=dark] .floating-skill{--brand:var(--brand-dark);--brand-ink:var(--ink-dark)}.skill-body{flex-direction:column;align-items:center;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);display:flex}.skill-icon{color:var(--brand);filter:grayscale(calc(1 - var(--facing))) blur(calc((1 - var(--facing)) * .6px)) drop-shadow(0 2px 3px #1111111f);font-size:44px;transition:filter .3s,color .3s}.skill-name{white-space:nowrap;color:var(--muted);letter-spacing:1.4px;text-transform:uppercase;opacity:0;border-radius:100px;margin-top:8px;padding:2px 9px;font-size:10px;font-weight:700;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.floating-skill.is-front .skill-name{opacity:1}.floating-skill:hover{cursor:pointer;z-index:1000!important}.floating-skill:hover .skill-body{transform:scale(1.3)}.floating-skill:hover .skill-icon{filter:drop-shadow(0 0 16px var(--brand))}.floating-skill:hover .skill-name{opacity:1;color:var(--brand-ink);background:var(--brand);transform:translateY(4px)scale(1.05)}.skill-stage.is-dragging .floating-skill{cursor:grabbing}.skills-controls{text-align:center}.skills-controls p{color:var(--muted);margin-bottom:12px;font-size:12px}.skills-controls button{font:inherit;color:var(--ink);border:1.5px solid var(--ink);cursor:pointer;background:0 0;border-radius:100px;padding:9px 20px;font-size:13px;font-weight:700}.skills-controls button:hover{background:var(--ink);color:var(--paper)}.skills-controls button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.skills-readable{max-width:960px;margin:22px auto 0}.skills-readable summary{cursor:pointer;width:fit-content;color:var(--muted);margin:auto;padding:10px;font-size:14px;font-weight:600}.skills-categories{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:22px;padding:25px 0;display:grid}.skills-categories h3{font-size:16px;font-weight:700}.skills-categories ul{margin:0;padding:0;list-style:none}.skills-categories li{color:var(--muted);padding-block:4px;font-size:14px}@media (width<=760px){.skill-stage{height:clamp(360px,100vw,520px)}.skill-icon{font-size:34px}.skill-name{font-size:9px}.skills-categories{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.skills-controls button{display:none}.floating-skill,.skill-body,.skill-icon,.skill-name{will-change:auto;transition:none}}
