:root{--bg:#050508;--text:#ffffffbf;--heading:#fff;--caption:#ffffff73;--line:#ffffff1a;--accent:#5eead4;--font:"IBM Plex Sans", Arial, Helvetica, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--sans:var(--font);--display:var(--font);--mono:var(--font);--glass-bg:#ffffff0a;--glass-border:#ffffff17;--max-width:1120px;--pad:24px;--nav-h:72px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}@property --accent{syntax:"<color>";inherits:true;initial-value:#5eead4}@keyframes neonCycle{0%{--accent:#5eead4}16%{--accent:#38bdf8}33%{--accent:#818cf8}50%{--accent:#c084fc}66%{--accent:#f472b6}83%{--accent:#34d399}to{--accent:#5eead4}}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h);animation:28s linear infinite neonCycle}body{background:var(--bg);color:var(--text);margin:0;font-size:16px;line-height:1.65;overflow-x:hidden}h1,h2,h3{color:var(--heading);margin:0;line-height:1.15}p{margin:0}a{color:inherit;text-decoration:none}.accent{color:var(--accent)}.glow-word{color:var(--accent);text-shadow:0 0 14px color-mix(in srgb, var(--accent) 42%, transparent), 0 0 30px color-mix(in srgb, var(--accent) 20%, transparent);font-weight:600}.scene{z-index:0;pointer-events:none;background:#050508;position:fixed;inset:0;overflow:hidden}.scene--mood{background:var(--mood-a);animation:30s ease-in-out infinite moodCycle}@property --mood-a{syntax:"<color>";inherits:true;initial-value:#06050f}@keyframes moodCycle{0%{--mood-a:#06050f}25%{--mood-a:#04070f}50%{--mood-a:#030b0b}75%{--mood-a:#070510}to{--mood-a:#06050f}}.page{z-index:1;position:relative}.container{width:100%;max-width:var(--max-width);padding-left:var(--pad);padding-right:var(--pad);margin:0 auto}.section{z-index:1;padding-top:110px;padding-bottom:110px;position:relative}.section:not(.play){content-visibility:auto;contain-intrinsic-size:auto 800px}.kicker{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;margin-bottom:22px;font-size:12px;font-weight:500;display:inline-flex}.section__intro{max-width:640px;margin-bottom:64px}.section__title{font-family:var(--display);letter-spacing:-.01em;font-size:clamp(30px,5vw,52px);font-weight:500;line-height:1.05}.neon-title{color:var(--accent);-webkit-text-fill-color:var(--accent)}.section__lede{color:#fff9;margin-top:20px;font-size:17px}.nav{z-index:30;height:var(--nav-h);align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.nav__inner{-webkit-backdrop-filter:blur(26px)saturate(180%);background:linear-gradient(#ffffff1a 0%,#ffffff05 42%,#fff0 72%),#ffffff09;border:1px solid #ffffff24;border-radius:18px;justify-content:space-between;align-items:center;width:100%;padding:9px 14px 9px 22px;transition:background .35s,border-color .35s,box-shadow .35s;display:flex;box-shadow:inset 0 1px #ffffff3d,inset 0 -1px #ffffff0a,0 10px 30px #00000052}.nav--scrolled .nav__inner{background:linear-gradient(#ffffff1f 0%,#ffffff05 45%,#fff0 75%),#0a0a108c;border-color:#ffffff2e;box-shadow:inset 0 1px #ffffff4d,inset 0 -1px #ffffff0d,0 14px 40px #00000073}.nav__brand{font-family:var(--display);color:#fff;letter-spacing:-.01em;font-size:21px;font-weight:600}.nav__links{align-items:center;gap:30px;display:flex}.nav__link{color:#fff9;font-size:14px;font-weight:500;transition:color .2s;position:relative}.nav__link:hover,.nav__link--active{color:#fff}.nav__link--active:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-8px;left:0;right:0}.nav__toggle{cursor:pointer;-webkit-backdrop-filter:blur(28px)saturate(180%);background:linear-gradient(#ffffff38 0%,#ffffff0a 40%,#fff0 60%),linear-gradient(#ffffff24 0%,#ffffff0f 100%);border:1px solid #ffffff38;border-radius:12px;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:0 9px;transition:transform .3s,border-color .3s;display:none;box-shadow:inset 0 1px #ffffff47,inset 0 -1px #ffffff0a,0 6px 18px #00000059}.nav__toggle:hover{border-color:#ffffff52;transform:translateY(-1px)}.nav__toggle span{background:#fff;border-radius:2px;height:1.6px;display:block}.btn{cursor:pointer;isolation:isolate;-webkit-backdrop-filter:blur(28px)saturate(180%);border:1px solid #ffffff38;border-radius:16px;justify-content:center;align-items:center;padding:14px 28px;font-size:15px;font-weight:600;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,border-color .35s,background .35s;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff47,inset 0 -1px #ffffff0a,0 8px 24px #00000059,0 18px 50px -12px #0000008c}.btn:hover{border-color:#ffffff52;transform:translateY(-2px);box-shadow:inset 0 1px #ffffff5c,inset 0 -1px #ffffff0f,0 12px 32px #0006,0 28px 70px -16px #0009}.btn:active{transform:translateY(0)}.btn--primary{color:#fff;background:linear-gradient(180deg, #ffffff38 0%, #ffffff0a 40%, #fff0 60%), linear-gradient(180deg, color-mix(in srgb, var(--accent) 55%, transparent) 0%, color-mix(in srgb, var(--accent) 32%, transparent) 100%);border-color:color-mix(in srgb, var(--accent) 55%, transparent);text-shadow:0 1px 2px #00000059}.btn--primary:hover{background:linear-gradient(180deg, #ffffff47 0%, #ffffff0f 40%, #fff0 60%), linear-gradient(180deg, color-mix(in srgb, var(--accent) 65%, transparent) 0%, color-mix(in srgb, var(--accent) 42%, transparent) 100%);border-color:color-mix(in srgb, var(--accent) 75%, transparent);box-shadow:0 1px 0 #ffffff61 inset, 0 -1px 0 #ffffff0f inset, 0 12px 32px #0006, 0 28px 70px -14px color-mix(in srgb, var(--accent) 40%, transparent)}.btn--ghost{color:#fff;background:linear-gradient(#ffffff38 0%,#ffffff0a 40%,#fff0 60%),linear-gradient(#ffffff24 0%,#ffffff0f 100%)}.btn--ghost:hover{background:linear-gradient(#ffffff47 0%,#ffffff0f 40%,#fff0 60%),linear-gradient(#fff3 0%,#ffffff17 100%)}@property --iris{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes irisSpin{to{--iris:360deg}}.nav__inner,.nav__toggle,.modal__close,.stack__pill,.stack__certs,.pypi__card,.pypi__userlink{position:relative}.nav__inner:before,.nav__toggle:before,.btn:before,.modal__close:before,.play__terminal:before,.stack__pill:before,.stack__certs:before,.pypi__card:before,.pypi__userlink:before,.plegend:before,.pnode__tile:before{content:"";border-radius:inherit;background:conic-gradient(from var(--iris), #ff5a5a80, #ffaa3c66, #f5f05059, #50e17866, #3cbeff73, #a050ff80, #ff50be73, #ff5a5a80) border-box;-webkit-mask-composite:destination-out;pointer-events:none;padding:1px;animation:10s linear infinite irisSpin;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.stack__pill:before{opacity:.32;animation:none}.pnode__tile:before{opacity:.4;z-index:3;animation:none}.plegend:before{opacity:.55;z-index:3}.hero{z-index:1;min-height:100svh;padding-top:calc(var(--nav-h) + 20px);align-items:center;padding-bottom:60px;display:flex;position:relative}.hero__inner{grid-template-columns:.86fr 1.14fr;align-items:center;gap:44px;width:100%;display:grid}.hero__dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 12px var(--accent);border-radius:50%;animation:2.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}.hero__name{font-family:var(--display);letter-spacing:-.03em;background:linear-gradient(115deg, #fff 0%, #fff 42%, var(--accent) 100%);-webkit-text-fill-color:transparent;color:#0000;filter:drop-shadow(0 4px 40px #00000080);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(42px,6.4vw,86px);font-weight:700;line-height:.94}.hero__lead{color:#ffffffbd;text-shadow:0 1px 18px #0000008c;max-width:420px;margin-top:22px;font-size:15.5px;line-height:1.68}.hero__meta{font-family:var(--sans);letter-spacing:.01em;color:#ffffff9e;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;font-size:14px;display:flex}.hero__meta-dot{background:var(--accent);border-radius:50%;width:4px;height:4px}.hero__avail{font-family:var(--sans);color:#ffffffb8;align-items:center;gap:6px;margin-top:22px;font-size:14px;transition:color .25s;display:inline-flex}.hero__avail:hover{color:var(--accent)}.hero__avail-arrow{color:var(--accent);font-size:14px;transition:transform .25s}.hero__avail:hover .hero__avail-arrow{transform:translate(2px,-2px)}.hero__cta{flex-wrap:wrap;gap:14px;margin-top:18px;display:flex}.hero__right{justify-content:center;display:flex}.hero__photo-wrap{justify-content:center;align-items:center;width:100%;max-width:580px;display:flex;position:relative}.hero-ap__wrap{flex-direction:column;align-items:center;width:100%;display:flex}.hero-ap{width:100%;height:auto;display:block;overflow:visible}.hero-ap__flow{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:10 34;opacity:.85;animation:2.4s linear infinite pipeFlow}.hero-ap__flow--rev{opacity:.6;animation:3.2s linear infinite pipeFlowRev}@keyframes pipeFlow{to{stroke-dashoffset:-44px}}@keyframes pipeFlowRev{to{stroke-dashoffset:44px}}.hero-ap__packets circle{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--accent) 90%, transparent))}.hero-ap__tick{stroke:#bed6ff47;stroke-width:1.1px}.hero-ap__tick--major{stroke:color-mix(in srgb, var(--accent) 70%, transparent);stroke-width:1.8px}.hero-ap__blade,.hero-ap__blade-edge{transform-box:view-box;transform-origin:200px 200px;transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .35s}.hero-ap__blade-edge{pointer-events:none}.hero-ap__mark{pointer-events:none;fill:#e9f1ff;opacity:.92;transition:fill .35s,opacity .35s}.hero-ap__blade--neon{fill:var(--accent);opacity:.9;filter:drop-shadow(0 0 12px color-mix(in srgb, var(--accent) 75%, transparent))}.hero-ap__blades a{cursor:pointer}.hero-ap__blades a:hover .hero-ap__blade,.hero-ap__blades a:focus-visible .hero-ap__blade,.hero-ap__blades a:hover .hero-ap__blade-edge,.hero-ap__blades a:focus-visible .hero-ap__blade-edge{transform:scale(1.06)}.hero-ap__blades a:hover .hero-ap__mark,.hero-ap__blades a:focus-visible .hero-ap__mark{fill:var(--accent);opacity:1}.hero-ap__blades a:focus-visible{outline:none}.hero-ap__blades a:focus-visible .hero-ap__blade-edge{stroke:var(--accent);stroke-width:2.4px}.hero-ap__caption{text-align:center;flex-direction:column;align-items:center;gap:4px;min-height:40px;margin-top:12px;display:flex}.hero-ap__caption-main{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;font-size:11.5px;display:inline-flex}.hero-ap__caption-dot{background:var(--accent);width:5px;height:5px;box-shadow:0 0 10px var(--accent);border-radius:50%;animation:2.6s ease-in-out infinite pulse}.hero-ap__caption-sub{font-family:var(--mono);letter-spacing:.08em;color:#ffffff5c;font-size:10.5px}.about__grid{grid-template-columns:1.1fr 1fr;align-items:start;gap:48px;display:grid}.about__lead{font-family:var(--display);letter-spacing:-.01em;color:#fff;font-size:clamp(28px,4vw,44px);font-weight:400;line-height:1.18}.about__body p{color:#ffffffb8;font-size:16.5px;line-height:1.8}.about__body p+p{margin-top:18px}.about__facts{letter-spacing:.04em;font-family:var(--mono)!important;color:var(--caption)!important;margin-top:26px!important;font-size:13px!important}.xp__list{margin:0;padding:0;list-style:none;position:relative}.xp__list:before{content:"";background:var(--line);width:1px;position:absolute;top:6px;bottom:6px;left:5px}.xp{grid-template-columns:40px minmax(0,1fr) 210px;align-items:start;padding-bottom:40px;display:grid;position:relative}.xp:last-child{padding-bottom:0}.xp__marker{background:var(--accent);border-radius:50%;width:11px;height:11px;margin-top:7px;position:relative}.xp__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.xp__role{color:#fff;letter-spacing:.005em;font-size:22px;font-weight:700}.xp__org{color:var(--accent);letter-spacing:.01em;font-size:15px;font-style:italic}.xp__org--link{transition:opacity .2s}.xp__org--link:hover{opacity:.75;text-underline-offset:3px;text-decoration:underline}.xp__org-arrow{white-space:nowrap}.xp__desc{color:#ffffffb8;max-width:680px;margin-top:8px;font-size:17px;line-height:1.65}.gobj{width:100%;height:100%;display:block;overflow:visible}.plegend{background:var(--line);border:1px solid var(--line);border-radius:20px;grid-template-columns:repeat(5,1fr);gap:1px;margin-top:62px;display:grid;position:relative;overflow:hidden}.plegend:after{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);pointer-events:none;background-repeat:no-repeat;background-size:34% 100%;height:1px;animation:7s linear infinite legendFlow;position:absolute;top:0;left:0;right:0}@keyframes legendFlow{0%{background-position:-45% 0}to{background-position:145% 0}}.plegend__cell{background:#050509;padding:14px 12px 16px;transition:background .5s;position:relative}.plegend__cell:hover{background:#08080f}.plegend__art{aspect-ratio:1/.86;width:100%;max-height:128px;margin:0 auto;position:relative}.plegend__label{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:#ffffff9e;justify-content:center;align-items:center;gap:9px;margin-top:4px;font-size:11.5px;display:flex}.plegend__num{color:var(--accent)}.pipeline__flow{margin-top:84px;position:relative}.pipeline__rail{pointer-events:none;background:linear-gradient(#0000 0,#ffffff2b 60px calc(100% - 60px),#0000 100%);width:1px;position:absolute;top:10px;bottom:26px;left:19px}.pipeline__flow--queue .pipeline__rail{background:0 0;border-left:1px dashed #ffffff29}.pstage{padding:58px 0 4px 76px;position:relative}.pipeline__stage:first-child .pstage{padding-top:6px}.pstage__marker{width:15px;height:15px;box-shadow:0 0 0 5px #050509, 0 0 20px color-mix(in srgb, var(--accent) 70%, transparent);background:radial-gradient(circle at 34% 30%,#fff,#93a8cb 46%,#232b3d);border-radius:50%;position:absolute;top:64px;left:12px}.pipeline__stage:first-child .pstage__marker{top:6px}.pstage__head{align-items:center;gap:16px;display:flex}.pstage__num{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);white-space:nowrap;font-size:11px}.pstage__name{font-family:var(--display);letter-spacing:.04em;text-transform:uppercase;color:#fff;white-space:nowrap;font-size:21px;font-weight:500}.pstage__rule{background:linear-gradient(90deg, var(--line), transparent);flex:1;min-width:20px;height:1px}.pstage__blurb{color:var(--caption);max-width:560px;margin-top:9px;font-size:14.5px}.pnode{grid-template-columns:40px 244px minmax(0,1fr);align-items:start;column-gap:36px;padding:30px 0 42px;display:grid;position:relative}.pnode__gutter{grid-area:1/1/span 2;align-self:stretch;position:relative}.pnode__gutter:after{content:"";background-image:linear-gradient(180deg, transparent, var(--accent), transparent);opacity:.85;background-repeat:no-repeat;background-size:100% 44%;width:1px;animation:4.6s linear infinite nodeFlow;position:absolute;top:0;bottom:0;left:19px}.pnode:nth-child(2n) .pnode__gutter:after{animation-delay:-2.3s}@keyframes nodeFlow{0%{background-position:0 -70%}to{background-position:0 170%}}.pnode--queued .pnode__gutter:after{display:none}.pnode__marker{z-index:2;width:13px;height:13px;box-shadow:0 0 0 5px #050509, 0 0 16px color-mix(in srgb, var(--accent) 55%, transparent);background:linear-gradient(140deg,#fff,#93a8cb 45%,#2b3448);border-radius:3px;transition:box-shadow .45s;position:absolute;top:34px;left:13px;transform:rotate(45deg)}.pnode:hover .pnode__marker{box-shadow:0 0 0 5px #050509, 0 0 26px color-mix(in srgb, var(--accent) 95%, transparent)}.pnode--queued .pnode__marker{background:0 0;border:1px solid #ffffff59;box-shadow:0 0 0 5px #050509}.pnode__tile{aspect-ratio:1/.94;border:1px solid var(--line);background:radial-gradient(118% 88% at 50% 6%,#ffffff0f,#0000 62%),#04040a;border-radius:22px;grid-area:1/2;transition:transform .55s cubic-bezier(.22,1,.36,1),border-color .45s,box-shadow .45s;position:relative;overflow:hidden}.pnode:hover .pnode__tile{border-color:#fff3;transform:translateY(-5px);box-shadow:0 28px 64px -24px #000000f2}.pnode__tile .gobj{width:auto;height:auto;transition:transform .85s cubic-bezier(.22,1,.36,1);position:absolute;inset:7%}.pnode:hover .pnode__tile .gobj{transform:scale(1.06)rotate(-2deg)}.pnode__tile-id{z-index:2;font-family:var(--display);color:#0000;-webkit-text-stroke:1px #ffffff3d;-webkit-user-select:none;user-select:none;font-size:30px;font-weight:500;line-height:1;transition:-webkit-text-stroke-color .5s;position:absolute;top:13px;left:17px}.pnode:hover .pnode__tile-id{-webkit-text-stroke-color:color-mix(in srgb, var(--accent) 85%, transparent)}.pnode__tile-tag{z-index:2;font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#ffffff6b;font-size:10px;position:absolute;bottom:13px;right:14px}.pnode--queued .pnode__tile{border-style:dashed}.pnode--queued .pnode__tile .gobj{opacity:.72}.pnode__body{grid-area:1/3;padding-top:4px}.pnode__kicker{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);flex-wrap:wrap;align-items:center;gap:11px;margin-bottom:12px;font-size:11.5px;display:flex}.pnode__kicker-dot{background:#ffffff59;border-radius:50%;width:3px;height:3px}.pnode__runtime{color:#ffffff6b}.pnode__name{font-family:var(--display);letter-spacing:-.01em;background:linear-gradient(115deg, #fff 0%, #fff 58%, var(--accent) 100%);-webkit-text-fill-color:transparent;color:#0000;background-position:0%;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;margin-bottom:15px;font-size:clamp(25px,3.2vw,34px);font-weight:500;line-height:1.12;transition:background-position .7s}.pnode:hover .pnode__name{background-position:100%}.pnode__desc{color:#ffffffb8;max-width:680px;font-size:16px;line-height:1.75}.pnode__readout{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;max-width:680px;margin-top:26px;display:flex}.pnode__stat{flex:128px;padding:15px 22px 15px 0}.pnode__stat+.pnode__stat{border-left:1px solid var(--line);padding-left:22px}.pnode__stat-value{font-family:var(--display);letter-spacing:-.01em;background:linear-gradient(120deg, #fff 0%, #cdd9ef 42%, var(--accent) 100%);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;font-size:25px;font-weight:600;line-height:1.05;display:block}.pnode__stat-label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--caption);margin-top:6px;font-size:10.5px;display:block}.pnode__tech{flex-wrap:wrap;gap:9px;margin-top:24px;display:flex}.pnode__chip{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#ffffffbd;border:1px solid var(--line);background:#ffffff04;border-radius:8px;padding:7px 13px;font-size:11.5px;transition:color .3s,border-color .3s,transform .3s,background .3s;position:relative}.pnode__chip:hover{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 60%, transparent);background:color-mix(in srgb, var(--accent) 8%, transparent);transform:translateY(-2px)}.pnode__links{flex-wrap:wrap;gap:14px 26px;margin-top:24px;display:flex}.pnode__link{color:#fff;align-items:center;gap:8px;font-size:14px;font-weight:600;transition:color .2s,gap .2s;display:inline-flex}.pnode__link:hover{color:var(--accent);gap:12px}.pnode__link-arrow{transition:transform .35s cubic-bezier(.22,1,.36,1);display:inline-block}.pnode__link:hover .pnode__link-arrow{transform:translate(6px)}.pipeline__sink{padding:6px 0 0 76px;position:relative}.pipeline__sink-marker{background:#050509;border:1px solid #fff6;border-radius:50%;width:11px;height:11px;position:absolute;top:8px;left:14px;box-shadow:0 0 0 5px #050509}.pipeline__sink-text{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--caption);font-size:11.5px}.pipeline__sink-count{color:var(--accent)}@media (width<=880px){.pnode{grid-template-columns:34px minmax(0,1fr);column-gap:22px;padding:24px 0 38px}.pnode__tile{grid-area:1/2;width:190px;max-width:62%;margin-bottom:24px}.pnode__body{grid-area:2/2;padding-top:0}.pstage,.pipeline__sink{padding-left:56px}.plegend{grid-template-columns:repeat(3,1fr)}}@media (width<=520px){.plegend{grid-template-columns:repeat(2,1fr);margin-top:44px}.pipeline__flow{margin-top:56px}.pnode__tile{width:152px}.pnode__tile-id{font-size:24px}}.contact__inner{grid-template-columns:1.05fr .95fr;align-items:center;gap:56px;display:grid}.contact__title{font-family:var(--display);letter-spacing:-.03em;font-size:clamp(40px,6vw,72px);font-weight:700;line-height:1.02}.contact__lede{color:#ffffff9e;max-width:420px;margin-top:20px;font-size:16px;line-height:1.7}.contact__cards{border-top:1px solid var(--line);flex-direction:column;max-width:460px;margin-top:34px;display:flex}.ccard{border-bottom:1px solid var(--line);align-items:center;gap:18px;padding:20px 4px;transition:padding-left .28s;display:flex}.ccard:hover{padding-left:10px}.ccard__icon{color:#ffffff8c;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;transition:color .28s;display:flex}.ccard:hover .ccard__icon{color:var(--accent)}.ccard__text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.ccard__label{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--caption);font-size:11px}.ccard__value{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:16px;transition:color .28s;overflow:hidden}.ccard:hover .ccard__value{color:var(--accent)}.ccard__arrow{color:#ffffff59;font-size:18px;transition:color .28s,transform .28s}.ccard:hover .ccard__arrow{color:var(--accent);transform:translate(4px)}.contact__right{justify-content:center;align-items:center;display:flex}.globe{aspect-ratio:1;width:100%;max-width:460px;position:relative}.globe__canvas{position:absolute;inset:0}.globe__canvas canvas{display:block;width:100%!important;height:100%!important}.globe__glow{background:radial-gradient(circle at 50% 55%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 68%);filter:blur(8px);border-radius:50%;position:absolute;inset:12%}.globe:before,.globe:after{content:"";pointer-events:none;background:#ffffff1f;position:absolute}.globe:before{height:1px;top:50%;left:0;right:0}.globe:after{width:1px;top:0;bottom:0;left:50%}.footer{border-top:1px solid var(--line);margin-top:90px}.footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:26px;padding-bottom:38px;display:flex}.footer__copy{font-family:var(--mono);color:var(--caption);font-size:12.5px}.footer__link{font-family:var(--mono);color:#ffffff8c;cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px;transition:color .2s}.footer__link:hover{color:var(--accent)}.modal{z-index:60;-webkit-backdrop-filter:blur(6px);background:#030408bd;justify-content:center;align-items:center;padding:24px;animation:.25s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal__panel{background:#0c0c12f2;border:1px solid #ffffff1f;border-radius:20px;outline:none;width:100%;max-width:620px;max-height:85vh;padding:32px;animation:.3s cubic-bezier(.22,1,.36,1) rise;overflow-y:auto;box-shadow:0 24px 70px #0009}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.modal__head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.modal__title{font-family:var(--display);font-size:26px;font-weight:500}.modal__close{-webkit-backdrop-filter:blur(28px)saturate(180%);color:#ffffffd9;cursor:pointer;background:linear-gradient(#ffffff38 0%,#ffffff0a 40%,#fff0 60%),linear-gradient(#ffffff24 0%,#ffffff0f 100%);border:1px solid #ffffff38;border-radius:12px;width:40px;height:40px;font-size:26px;line-height:1;transition:transform .25s,border-color .25s,color .25s;box-shadow:inset 0 1px #ffffff47,0 6px 18px #00000059}.modal__close:hover{color:#fff;border-color:#ffffff57;transform:translateY(-1px)}.modal__updated{font-family:var(--mono);color:var(--caption);margin-bottom:20px;font-size:12.5px}.modal__body{color:#ffffffb8;font-size:15px;line-height:1.7}.modal__body h3{color:var(--accent);letter-spacing:.04em;margin:22px 0 6px;font-size:14px}.modal__body p+p{margin-top:12px}.modal__body a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.reveal{opacity:0;transition:opacity .7s ease-out,transform .7s ease-out;transform:translateY(26px)}.reveal--visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;animation:none}.reveal{opacity:1;transition:none;transform:none}.hero__dot{animation:none}}@media (width<=920px){.hero__inner{grid-template-columns:1fr;gap:40px}.hero__right{order:-1;justify-content:flex-start}.hero__photo-wrap{max-width:300px}.about__grid{grid-template-columns:1fr;gap:28px}.contact__inner{grid-template-columns:1fr;gap:40px}.contact__right{order:-1}.globe{max-width:320px}}@media (width<=768px){.section{padding-top:80px;padding-bottom:80px}.nav__toggle{display:flex}.nav__links{top:var(--nav-h);padding:16px var(--pad) 22px;-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line);opacity:0;pointer-events:none;background:#050508f5;flex-direction:column;align-items:flex-start;gap:4px;transition:opacity .25s,transform .25s;position:absolute;left:0;right:0;transform:translateY(-12px)}.nav__links--open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav__link{width:100%;padding:10px 0;font-size:16px}.nav__link--active:after{display:none}.pnode__stat{flex:100%}.pnode__stat+.pnode__stat{border-left:none;border-top:1px solid var(--line);padding-left:0}.xp__head{flex-direction:column;gap:2px}.xp{grid-template-columns:40px minmax(0,1fr)}}.xp__aside{text-align:right;flex-direction:column;grid-column:3;align-items:flex-end;padding-left:24px;display:flex}.xp__date{letter-spacing:.01em;color:var(--accent);font-size:15px;font-style:italic;line-height:1.35;transition:opacity .3s}.xp__meta{margin-top:4px}.xp__highlight{text-align:right;margin-top:14px}.xp__highlight-value{color:var(--accent);font-size:clamp(30px,4vw,46px);font-weight:700;line-height:1;display:block}.xp__highlight-label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--caption);margin-top:7px;font-size:10.5px;display:block}@media (width<=768px){.xp__aside{text-align:left;flex-direction:row;grid-column:2;justify-content:flex-start;align-items:baseline;gap:24px;margin-top:16px;padding-left:0}.xp__highlight{text-align:left;margin-top:0}}.xp__content{transition:transform .4s cubic-bezier(.22,1,.36,1)}.xp:hover .xp__content{transform:translate(6px)}.nav__link{overflow:hidden}.nav__link:before{content:"";background:var(--accent);transform-origin:100%;border-radius:2px;width:100%;height:2px;transition:transform .4s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-8px;left:0;transform:scaleX(0)}.nav__link:hover:before{transform-origin:0;transform:scaleX(1)}.nav__link--active:before{display:none}.btn--primary{isolation:isolate;position:relative;overflow:hidden}.btn--primary:after{content:"";z-index:-1;background:linear-gradient(120deg,#0000 30%,#ffffff59 50%,#0000 70%);transition:transform .7s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:translate(-110%)}.btn--primary:hover:after{transform:translate(110%)}.btn--ghost{position:relative}.btn--ghost:before{content:"";border-radius:inherit;background:linear-gradient(120deg, transparent, color-mix(in srgb, var(--accent) 70%, transparent), transparent);-webkit-mask-composite:xor;opacity:0;pointer-events:none;padding:1px;transition:opacity .4s;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.btn--ghost:hover:before{opacity:1}.hero__name{background-size:220% 100%;animation:16s ease-in-out infinite gradientDrift}@keyframes gradientDrift{0%,to{background-position:0%}50%{background-position:100%}}.hero__lead,.hero__meta,.hero__avail,.hero__cta{animation:.9s cubic-bezier(.22,1,.36,1) backwards blurIn}.hero__name{animation:16s ease-in-out infinite gradientDrift,1s cubic-bezier(.22,1,.36,1) backwards blurIn}.hero__lead{animation-delay:.18s}.hero__meta{animation-delay:.32s}.hero__avail{animation-delay:.46s}.hero__cta{animation-delay:.6s}@keyframes blurIn{0%{opacity:0;filter:blur(8px);transform:translateY(14px)}to{opacity:1;filter:blur();transform:translateY(0)}}.hero__photo-wrap{animation:1.2s cubic-bezier(.22,1,.36,1) .35s backwards blurIn}.section__title{display:inline-block;position:relative}.section__title:after{content:"";background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 40%, transparent), transparent);transform-origin:0;border-radius:2px;width:100%;height:2px;transition:transform .9s cubic-bezier(.22,1,.36,1) .15s;position:absolute;bottom:-10px;left:0;transform:scaleX(0)}.reveal--visible .section__title:after{transform:scaleX(1)}.ccard__value{position:relative}.ccard__value:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:1px;transition:transform .4s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.ccard:hover .ccard__value:after{transform:scaleX(1)}.ccard__icon{transition:color .28s,transform .4s cubic-bezier(.22,1,.36,1)}.ccard:hover .ccard__icon{transform:rotate(-8deg)scale(1.12)}.contact__title.neon-title{background:linear-gradient(90deg, var(--accent) 0%, #fff 50%, var(--accent) 100%);-webkit-text-fill-color:transparent;color:#0000;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:6s linear infinite shimmerSlide}@keyframes shimmerSlide{to{background-position:-220% 0}}.section__title.neon-title:not(.contact__title){background:linear-gradient(90deg, var(--accent) 0%, #fff 55%, var(--accent) 100%);-webkit-text-fill-color:transparent;color:#0000;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:7s linear infinite shimmerSlide}.globe{animation:9s ease-in-out infinite globeBreathe}@keyframes globeBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.025)}}.globe__glow{animation:5s ease-in-out infinite glowPulse}@keyframes glowPulse{0%,to{opacity:.85;filter:blur(8px)}50%{opacity:1;filter:blur(14px)}}.section__intro.reveal--visible{animation:.9s cubic-bezier(.22,1,.36,1) slideUpFade}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.nav__brand{transition:text-shadow .4s,transform .4s}.nav__brand:hover{text-shadow:0 0 24px color-mix(in srgb, var(--accent) 60%, transparent);transform:translateY(-1px)}.hero__dot{position:relative}.hero__dot:after{content:"";border:1px solid var(--accent);opacity:0;border-radius:50%;animation:2.6s ease-out infinite ripple;position:absolute;inset:-3px}@keyframes ripple{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.2)}}.footer__link{position:relative}.footer__link:after{content:"";background:var(--accent);transform-origin:100%;width:100%;height:1px;transition:transform .35s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-3px;left:0;transform:scaleX(0)}.footer__link:hover:after{transform-origin:0;transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.hero__photo-wrap,.hero__name,.hero__lead,.hero__meta,.hero__avail,.hero__cta,.xp__marker-pulse,.hero__dot:after,.globe,.globe__glow,.contact__title.neon-title,.section__title.neon-title:not(.contact__title){animation:none!important}.pnode:hover .pnode__tile,.pnode:hover .pnode__tile .gobj,.xp:hover .xp__content,.hero-ap__blades a:hover .hero-ap__blade,.hero-ap__blades a:hover .hero-ap__blade-iris,.hero-ap__blades a:hover .hero-ap__blade-edge,.ccard:hover .ccard__icon{transform:none!important}.scene--mood,.hero-ap__flow,.plegend:after,.pnode__gutter:after{animation:none!important}.pnode__gutter:after{opacity:0}}.stack__grid{grid-template-columns:1fr 1fr;gap:52px 72px;display:grid}.stack__group-label{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--caption);margin-bottom:18px;font-size:12px}.stack__pills{flex-wrap:wrap;gap:11px;display:flex}.stack__pill{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#ffffffc7;border:1px solid var(--line);background:#ffffff04;border-radius:8px;padding:9px 16px;font-size:12.5px;transition:color .3s,border-color .3s,transform .3s,box-shadow .3s,background .3s}.stack__pill:hover{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 60%, transparent);background:color-mix(in srgb, var(--accent) 8%, transparent);box-shadow:0 8px 22px color-mix(in srgb, var(--accent) 18%, transparent);transform:translateY(-2px)}.stack__certs{border:1px solid var(--line);background:#ffffff05;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin-top:48px;padding:20px 24px;transition:border-color .35s,transform .35s,background .35s,box-shadow .35s;display:flex}.stack__certs:hover{border-color:color-mix(in srgb, var(--accent) 50%, transparent);background:#ffffff09;transform:translateY(-2px);box-shadow:0 16px 40px -18px #0009}.stack__certs-main{flex-direction:column;gap:4px;display:flex}.stack__certs-label{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:11px}.stack__certs-text{color:#fffc;font-size:15px}.stack__certs-arrow{color:#ffffff80;font-size:20px;transition:transform .35s,color .35s}.stack__certs:hover .stack__certs-arrow{color:var(--accent);transform:translate(5px)}.pypi__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:52px;display:flex}.pypi__title{font-family:var(--sans);letter-spacing:-.01em;color:#fff;font-size:clamp(40px,7vw,78px);font-weight:400;line-height:1}.pypi__title em{color:var(--accent);font-style:italic}.pypi__userlink{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#ffffffb3;border:1px solid var(--line);border-radius:999px;align-items:center;gap:8px;padding:11px 18px;font-size:12.5px;transition:color .3s,border-color .3s,transform .3s;display:inline-flex}.pypi__userlink:hover{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 55%, transparent);transform:translateY(-2px)}.pypi__grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.pypi__card{border:1px solid var(--line);background:#ffffff05;border-radius:16px;padding:26px 24px;transition:transform .45s cubic-bezier(.22,1,.36,1),border-color .45s,box-shadow .45s,background .45s}.pypi__card:hover{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:#ffffff09;transform:translateY(-4px);box-shadow:0 18px 50px -16px #0009}.pypi__card--incoming{border-style:dashed}.pypi__card-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.pypi__name{font-family:var(--display);color:#fff;font-size:19px;font-weight:600}.pypi__badge{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);border-radius:999px;padding:4px 10px;font-size:10.5px}.pypi__desc{color:#ffffffa8;font-size:14.5px;line-height:1.65}.pypi__links{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;margin-top:20px;font-size:12px;display:flex}.pypi__link-wrap{align-items:center;gap:8px;display:inline-flex}.pypi__sep{color:#ffffff4d}.pypi__link{color:#fffc;transition:color .25s}.pypi__link:hover{color:var(--accent)}.pypi__links--muted{color:#ffffff59}.pypi__soon{color:var(--accent);text-transform:none;letter-spacing:.04em;margin-left:6px}.play{padding-top:0;padding-bottom:0}.play__stage{background:radial-gradient(80% 70% at 50% 42%,#0b0b1a 0%,#05050b 72%),#050509;width:100%;height:100svh;position:relative;overflow:hidden}.play__canvas{cursor:grab;position:absolute;inset:0}.play__canvas.play--grabbing{cursor:grabbing}.play__canvas canvas{display:block;width:100%!important;height:100%!important}.play__cursor{left:var(--cx,-100px);top:var(--cy,-100px);border:1px solid color-mix(in srgb, var(--accent) 70%, transparent);opacity:0;pointer-events:none;border-radius:50%;width:26px;height:26px;margin:-13px 0 0 -13px;transition:opacity .3s;position:absolute}.play__canvas.play--hover .play__cursor{opacity:.85}.play__hint{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#ffffff61;pointer-events:none;font-size:11px;position:absolute;top:18px;left:22px}.play__terminal{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#fffc;cursor:pointer;-webkit-backdrop-filter:blur(20px)saturate(170%);background:linear-gradient(#ffffff29 0%,#ffffff08 50%,#0000 75%),#ffffff0d;border:1px solid #ffffff29;border-radius:12px;align-items:center;gap:8px;padding:10px 16px;font-size:12px;transition:transform .25s,border-color .25s,color .25s;display:inline-flex;position:absolute;bottom:18px;right:18px;box-shadow:inset 0 1px #ffffff38,0 8px 22px #0006}.play__terminal:hover{border-color:#ffffff4d;transform:translateY(-1px)}.play__terminal--on{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.play__terminal-tick{color:var(--accent)}.play__stage--full{z-index:90;border:none;border-radius:0;width:100vw;height:100vh;animation:.45s cubic-bezier(.22,1,.36,1) playExpand;position:fixed;inset:0}@keyframes playExpand{0%{opacity:.55;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.globe__glow,.globe:before,.globe:after{pointer-events:none}.globe__canvas{cursor:crosshair}.nav{padding-left:16px;padding-right:16px}.nav__links{gap:22px}.nav__link{font-size:13.5px}@media (width<=920px){.pypi__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.stack__grid{grid-template-columns:1fr;gap:36px}.pypi__grid{grid-template-columns:1fr}.pypi__head{align-items:flex-start}.play__stage{height:100svh}}@media (prefers-reduced-motion:reduce){.stack__pill:hover,.pypi__card:hover,.pypi__userlink:hover,.play__terminal:hover{transform:none!important}.nav__inner:before,.nav__toggle:before,.btn:before,.modal__close:before,.play__terminal:before,.stack__certs:before,.pypi__card:before,.pypi__userlink:before{animation:none}}
