.skills-index{--skills-tier-current-focus:var(--foreground);--skills-tier-commercial-foundation:color-mix(in srgb, var(--foreground) 50%, var(--background));--skills-tier-engineering-toolkit:var(--background);--skills-accent:var(--accent);container-type:size}.skills-graph-status,.skills-force-canvas{font-family:var(--font-jetbrains-mono), ui-monospace, monospace}.skills-graph{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.skills-force-canvas{touch-action:pan-y;-webkit-user-select:none;user-select:none;min-height:0;position:absolute;inset:0;overflow:hidden}.skills-force-canvas>.force-graph-container,.skills-force-canvas canvas{width:100%;height:100%;display:block}.skills-force-canvas canvas{cursor:grab}.skills-force-canvas canvas:active{cursor:grabbing}.skills-graph-status{z-index:2;color:var(--foreground);letter-spacing:0;opacity:0;pointer-events:none;text-transform:uppercase;font-size:.7rem;font-weight:600;position:absolute;bottom:.35rem;left:0}.skills-graph-status.is-visible{opacity:1}@media (max-width:639px){.skills-graph{flex:none;height:300px;min-height:300px}.skills-graph-status{bottom:.2rem}}@media (prefers-reduced-motion:reduce){.skills-graph-status{transition:none}}.skills-open-map{border-bottom:1px solid var(--accent);color:var(--accent);font-family:var(--font-jetbrains-mono), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;background:0 0;align-items:center;gap:.35rem;padding:0 0 .2rem;font-size:.6rem;display:inline-flex}.skills-open-map svg{flex:none;display:inline-block}.skills-open-map:hover,.skills-open-map:focus-visible{color:var(--foreground)}.skills-open-map:hover svg,.skills-open-map:focus-visible svg{transform:translate(2px,-2px)}.skills-atlas{--atlas-rule:color-mix(in srgb, var(--foreground) 23%, transparent);min-height:100%;color:var(--foreground);grid-template-columns:minmax(15rem,22%) minmax(0,55%) minmax(17rem,23%);display:grid}.skills-atlas-intro,.skills-atlas-graph,.skills-atlas-details{min-width:0;min-height:0}.skills-atlas-intro{border-right:1px dashed var(--atlas-rule);flex-direction:column;padding:clamp(2rem,4vw,4.5rem) clamp(1.5rem,3.3vw,4rem);display:flex}.skills-atlas-kicker,.skills-atlas-subtitle,.skills-atlas-drag,.skills-atlas-picker,.skills-details-label,.skills-detail-tag,.skills-detail-copy,.skills-detail-heading,.skills-related-skills,.skills-related-projects{font-family:var(--font-jetbrains-mono), ui-monospace, monospace}.skills-atlas-kicker{letter-spacing:.12em;text-transform:uppercase;margin-bottom:clamp(1rem,5vh,4rem);font-size:.62rem}.skills-atlas-intro h2{font-family:"Arial Narrow", "Helvetica Neue", var(--font-geist-sans), sans-serif;letter-spacing:-.07em;text-transform:uppercase;flex-direction:column;font-size:clamp(4rem,5.8vw,6.5rem);font-weight:700;font-stretch:75%;line-height:.78;display:flex}.skills-atlas-intro h2 span:first-child{letter-spacing:.08em;font-size:.28em;line-height:1}.skills-atlas-subtitle{letter-spacing:.12em;text-transform:uppercase;margin-top:clamp(2rem,5vh,5rem);font-size:.82rem;font-weight:600;line-height:1.65}.skills-atlas-copy{max-width:18rem;color:color-mix(in srgb, var(--foreground) 86%, transparent);font-family:var(--font-geist-sans), sans-serif;margin-top:1.35rem;font-size:.96rem;line-height:1.62}.skills-atlas-drag{letter-spacing:.1em;text-transform:uppercase;margin-top:1.75rem;font-size:.64rem;font-weight:600}.skills-atlas-drag:before{content:"↕";margin-right:.55rem;font-size:1.1rem}.skills-atlas-graph{padding:.75rem 1.5rem 2rem;display:flex;position:relative;overflow:hidden}.skills-atlas-graph .skills-graph{width:100%;height:100%}.skills-atlas-picker{letter-spacing:.08em;text-transform:uppercase;margin-top:1.75rem;font-size:.62rem;display:block}.skills-atlas-picker span{margin-bottom:.35rem;display:block}.skills-atlas-picker select{border:1px solid var(--atlas-rule);background:var(--background);width:100%;max-width:15rem;color:var(--foreground);font-family:var(--font-geist-sans), sans-serif;letter-spacing:0;text-transform:none;padding:.58rem .65rem;font-size:clamp(.94rem,.9vw,1.05rem);font-weight:600;line-height:1.35}.skills-atlas-picker select option{font-family:var(--font-geist-sans), sans-serif;font-size:1rem;font-weight:600}.skills-capabilities{font-family:var(--font-jetbrains-mono), ui-monospace, monospace;margin-top:1.35rem}.skills-capabilities p{letter-spacing:.1em;text-transform:uppercase;font-size:.58rem;font-weight:600}.skills-capabilities ul{flex-wrap:wrap;gap:.35rem .55rem;margin-top:.55rem;display:flex}.skills-capabilities li{color:color-mix(in srgb, var(--foreground) 76%, transparent);font-size:.56rem;line-height:1.4}.skills-capabilities li:not(:last-child):after{content:" ·"}.skills-atlas-details{border-left:1px dashed var(--atlas-rule);padding:clamp(2rem,3.5vw,3.5rem) clamp(1.4rem,3vw,3rem);overflow:auto}.skills-details-label{border-bottom:1px solid var(--atlas-rule);letter-spacing:.1em;text-transform:uppercase;padding-bottom:.65rem;font-size:.62rem}.skills-atlas-details h3{font-family:var(--font-geist-sans), sans-serif;letter-spacing:0;text-transform:uppercase;margin-top:2rem;font-size:clamp(2rem,3vw,3.25rem);font-weight:800;line-height:.95}.skills-detail-tag{border:1px solid var(--atlas-rule);letter-spacing:.08em;text-transform:uppercase;margin-top:1.2rem;padding:.3rem .55rem;font-size:.56rem;display:inline-block}.skills-detail-copy{max-width:22rem;color:color-mix(in srgb, var(--foreground) 82%, transparent);font-family:var(--font-geist-sans), sans-serif;margin-top:1.1rem;font-size:.92rem;line-height:1.6}.skills-detail-connections{max-width:22rem;color:color-mix(in srgb, var(--foreground) 86%, transparent);font-family:var(--font-jetbrains-mono), ui-monospace, monospace;overflow-wrap:anywhere;margin-top:.55rem;font-size:.68rem;line-height:1.55}.skills-detail-heading{letter-spacing:.1em;text-transform:uppercase;margin-top:2rem;font-size:.58rem;font-weight:600}.skills-related-skills{letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;font-size:.56rem;display:flex}.skills-related-skills button{border:1px solid var(--atlas-rule);background:0 0;padding:.3rem .45rem}.skills-related-skills button:hover,.skills-related-skills button:focus-visible{border-color:var(--accent);background:var(--accent);color:var(--accent-foreground)}.skills-project-heading{border-top:1px solid var(--atlas-rule);padding-top:1.7rem}.skills-related-projects{margin-top:.65rem}.skills-related-projects li{border-bottom:1px solid var(--atlas-rule)}.skills-related-projects a{min-height:2.75rem;color:var(--foreground);letter-spacing:.02em;grid-template-columns:1.7rem minmax(0,1fr) 1rem;align-items:center;gap:.55rem;padding:.65rem 0;font-size:.7rem;display:grid}.skills-related-projects strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.skills-related-projects i{font-size:.9rem;font-style:normal}.skills-related-projects a:hover,.skills-related-projects a:focus-visible{text-underline-offset:.25rem;text-decoration:underline}@media (max-width:1199px){.skills-atlas{min-height:100%;display:block;container-type:inline-size}.skills-atlas-intro{border-right:0;border-bottom:1px dashed var(--atlas-rule);min-height:0;padding:clamp(1.4rem,4vw,2.25rem) clamp(1.25rem,4vw,2rem) clamp(1.15rem,3vw,1.5rem)}.skills-atlas-kicker{margin-bottom:clamp(.65rem,2.2vh,1.1rem)}.skills-atlas-intro h2{font-size:clamp(3.35rem,10vw,4.8rem);line-height:.86;display:block}.skills-atlas-subtitle{margin-top:clamp(.85rem,2.4vh,1.25rem)}.skills-atlas-copy{max-width:46ch;margin-top:.85rem}.skills-atlas-picker{max-width:32rem;margin-top:1rem}.skills-capabilities,.skills-atlas-drag{margin-top:1rem}.skills-atlas-graph{border-bottom:1px dashed var(--atlas-rule);height:clamp(24rem,40vh,30rem);min-height:24rem;padding:1.25rem 1.25rem 2.75rem}.skills-atlas-details{border-left:0;min-height:0}}@media (min-width:900px) and (max-width:1199px){.skills-atlas{grid-template-columns:minmax(13rem,27%) minmax(0,48%) minmax(15rem,25%);min-height:100%;display:grid}.skills-atlas-intro{border-right:1px dashed var(--atlas-rule);border-bottom:0;padding:clamp(1.35rem,2.4vw,2.1rem)}.skills-atlas-intro h2{font-size:clamp(3.1rem,7vw,4.7rem)}.skills-atlas-copy{font-size:.88rem}.skills-capabilities li{font-size:.52rem}.skills-atlas-graph{border-bottom:0;height:100%;min-height:0;padding:1rem 1rem 1.5rem}.skills-atlas-details{border-left:1px dashed var(--atlas-rule);padding:1.75rem 1.25rem}}@media (max-width:639px){.skills-atlas{min-height:100%;display:block;container-type:inline-size}.skills-atlas-intro{min-height:0;padding:1.35rem 1.25rem 1.15rem}.skills-atlas-kicker{margin-bottom:.6rem}.skills-atlas-intro h2{font-size:3rem;line-height:.9;display:block}.skills-atlas-subtitle{margin-top:.75rem;font-size:.64rem;line-height:1.5}.skills-atlas-copy{max-width:38ch;margin-top:.75rem;font-size:.84rem;line-height:1.55}.skills-atlas-drag{display:none}.skills-atlas-graph{height:auto;min-height:28rem;padding:1.5rem .3rem 2.8rem}.skills-atlas-graph .skills-graph{height:23rem;min-height:23rem}.skills-atlas-picker{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem;margin-top:1rem;font-size:.66rem;display:grid}.skills-atlas-picker span{margin:0}.skills-atlas-picker select{width:100%;max-width:none;min-height:2.7rem;font-size:1rem}.skills-atlas-details{min-height:0;padding:1.5rem 1.25rem 2rem}.skills-atlas-details h3{margin-top:1rem;font-size:2.2rem}.skills-detail-copy{margin-top:.9rem}.skills-detail-heading{margin-top:1.25rem}.mobile-skills-panel .skills-compact{min-height:25rem!important}.skills-compact .skills-graph{height:20.75rem;min-height:20.75rem;margin-top:.4rem;display:flex}}@media (max-width:639px) and (max-height:700px){.mobile-skills-panel .skills-compact{min-height:22rem!important}.skills-compact .skills-graph{height:17.5rem;min-height:17.5rem}.skills-atlas-intro{padding:1rem 1.15rem .85rem}.skills-atlas-intro h2{font-size:2.55rem}.skills-atlas-subtitle{margin-top:.5rem}.skills-atlas-copy{margin-top:.5rem;font-size:.78rem;line-height:1.45}.skills-atlas-picker,.skills-capabilities{margin-top:.75rem}.skills-atlas-graph{min-height:20rem;padding-top:1rem}.skills-atlas-graph .skills-graph{height:15.75rem;min-height:15.75rem}}
