@font-face{font-family:Portfolio Mono;src:url(/fonts/JetBrainsMono-Medium.woff2)format("woff2");font-weight:400 600;font-style:normal;font-display:swap}@font-face{font-family:Portfolio Mono;src:url(/fonts/JetBrainsMono-ExtraBold.woff2)format("woff2");font-weight:700 900;font-style:normal;font-display:swap}.pixel-home{--px-bg:#111718;--px-panel:#182123;--px-line:#354343;--px-text:#e9eee8;--px-muted:#a2b0ac;--px-green:#c0f566;--px-blue:#a6b9ff;background-color:var(--px-bg);color:var(--px-text);background-image:linear-gradient(#26313255 1px,#0000 1px),linear-gradient(90deg,#26313255 1px,#0000 1px);background-size:32px 32px;min-height:100vh;font-family:Portfolio Mono,PingFang SC,Microsoft YaHei,sans-serif;font-weight:500}.pixel-home *{box-sizing:border-box}.pixel-home a:focus-visible{outline:3px solid var(--px-green);outline-offset:5px}.pixel-home ::selection{background:var(--px-green);color:var(--px-bg)}.px-wrap{width:calc(100% - 96px);max-width:1280px;margin:0 auto}.px-header{z-index:40;border-bottom:1px solid var(--px-line);background:#111718f5;position:sticky;top:0}.px-header-inner{justify-content:space-between;align-items:center;gap:24px;height:88px;display:flex}.px-brand{letter-spacing:-.5px;align-items:center;gap:15px;font-size:16px;font-weight:800;display:flex}.px-logo{border:2px solid var(--px-green);width:44px;height:44px;box-shadow:3px 3px 0 var(--px-green);color:var(--px-green);place-content:center;font-size:16px;line-height:.95;display:grid;transform:none}.px-logo span{margin-left:12px}.px-brand-cn{letter-spacing:1px;color:var(--px-muted);margin-top:4px;font-size:11px;font-weight:500;display:block}.px-header nav{gap:36px;display:flex}.px-header nav a{font-size:14px}.px-header nav a>span{color:var(--px-green);margin-left:8px;font-size:11px}.px-header nav a:hover{color:var(--px-green)}.px-hero{grid-template-columns:minmax(0,1fr) 310px;align-items:center;gap:70px;padding:68px 0 62px;display:grid}.px-kicker{letter-spacing:1px;color:var(--px-muted);font-family:Portfolio Mono,PingFang SC,sans-serif;font-size:12px;line-height:1.6}.px-hero .px-kicker{letter-spacing:.5px;align-items:center;gap:10px;display:flex}.px-square{background:var(--px-green);flex-shrink:0;width:8px;height:8px}.px-hero h1{letter-spacing:-4px;margin:26px 0 24px;font-size:clamp(42px,5.4vw,78px);font-weight:800;line-height:1.15}.px-cursor{color:var(--px-text);animation:1.2s step-end infinite px-blink}.px-intro{color:var(--px-muted);max-width:620px;font-size:16px;line-height:1.9}.px-intro strong{color:var(--px-text);margin:0 5px;font-weight:600}.px-button{background:var(--px-green);border:2px solid var(--px-green);color:#142013;justify-content:space-between;align-items:center;gap:45px;margin-top:28px;padding:13px 20px;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:5px 5px #607d31}.px-button:hover{transform:translate(3px,3px);box-shadow:2px 2px #607d31}.px-profile{border:2px solid var(--px-line);background:var(--px-panel);box-shadow:8px 8px #070c0d}.px-windowbar{border-bottom:1px solid var(--px-line);letter-spacing:1px;height:40px;color:var(--px-muted);justify-content:space-between;align-items:center;gap:15px;padding:0 16px;font-size:12px;display:flex}.px-profile .px-windowbar{color:var(--px-green)}.px-profile-index{color:var(--px-muted);font-size:11px}.px-initials{letter-spacing:-12px;color:var(--px-blue);text-shadow:4px 4px #080e14;margin:15px 0 20px;font-size:90px;font-weight:800;line-height:1.3;position:relative}.px-initials>span{color:var(--px-green)}.px-initials>b{letter-spacing:0;color:var(--px-muted);font-size:26px;position:absolute;top:0;right:0}.px-profile h2{font-size:19px;font-weight:700}.px-profile h2>span{margin-top:5px;font-size:15px;font-weight:500;display:block}.px-profile-inner>p{color:var(--px-muted);margin-top:16px;font-size:13px;line-height:1.9}.px-profile-bottom{border-top:1px dashed var(--px-line);color:var(--px-muted);justify-content:space-between;margin-top:24px;padding-top:18px;font-size:11px;display:flex}.px-profile-bottom i{background:var(--px-green);width:6px;height:6px;margin-right:7px;display:inline-block}.px-focus-strip{border-block:1px solid var(--px-line);letter-spacing:1px;color:var(--px-muted);justify-content:space-between;align-items:center;gap:20px;padding:18px 0;font-size:12px;display:flex}.px-focus-strip>b{color:var(--px-green);font-size:18px}.px-work{padding-top:65px;padding-bottom:80px;scroll-margin-top:110px}.px-section-title{justify-content:space-between;align-items:end;gap:28px;margin-bottom:30px;display:flex}.px-section-title h2{letter-spacing:1px;margin-top:9px;font-size:32px;font-weight:600;line-height:1.4}.px-section-title h2>span{color:var(--px-green);margin-left:8px}.px-section-note{text-align:right;color:var(--px-muted);font-size:14px;line-height:1.8}.px-section-note>span{color:var(--px-green);font-size:11px}.px-project-grid{grid-template-columns:1fr 1fr;gap:30px;display:grid}.px-project{border:2px solid var(--px-line);background:var(--px-panel);min-width:0;transition:transform .15s,border-color .15s,box-shadow .15s;display:block}.px-project-bar{height:38px;color:var(--px-muted);letter-spacing:1px;border-bottom:1px solid var(--px-line);justify-content:space-between;align-items:center;padding:0 16px;font-size:11px;display:flex}.px-project-bar>span:last-child{color:var(--px-green);font-size:18px}.px-cover{aspect-ratio:16/9;background:#202d2c;width:100%;overflow:hidden}.px-cover>img{object-fit:cover;width:100%;height:100%;display:block}.px-empty-cover{background-image:linear-gradient(#50625d22 1px,#0000 1px),linear-gradient(90deg,#50625d22 1px,#0000 1px);background-size:20px 20px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.px-empty-cross{color:#7c9389;font-size:20px;position:absolute;top:12px;left:18px}.px-empty-number{color:#739284;letter-spacing:-5px;opacity:.6;font-size:clamp(50px,6vw,80px);font-weight:800;line-height:1.1}.px-empty-label{letter-spacing:2px;color:#a4b9ad;margin-top:16px;font-size:12px}.px-project-3 .px-cover,.px-project-6 .px-cover{background-color:#242b3c}.px-project-3 .px-empty-number,.px-project-6 .px-empty-number{color:#909cc5}.px-project-4 .px-cover{background-color:#302b34}.px-project-4 .px-empty-number{color:#b599b8}.px-project-copy{border-top:1px solid var(--px-line);padding:22px 22px 25px}.px-project-category{color:var(--px-green);margin-bottom:10px;font-size:11px}.px-project-copy h3{letter-spacing:-.5px;justify-content:space-between;align-items:start;gap:15px;font-size:21px;font-weight:700;line-height:1.45;display:flex}.px-project-copy h3>span{color:var(--px-muted);font-size:22px}.px-project-copy>p:last-child{color:var(--px-muted);margin-top:10px;font-size:14px;line-height:1.8}.px-about{border-top:1px solid var(--px-line);padding:65px 0 90px;scroll-margin-top:110px}.px-about-grid{grid-template-columns:1fr 1fr;gap:80px;margin-top:40px;display:grid}.px-bio-lead{letter-spacing:.5px;font-size:26px;line-height:1.7}.px-bio>p:nth-child(2){color:var(--px-muted);margin-top:24px;font-size:16px;line-height:1.95}.px-education{margin-top:36px}.px-education>div{border-bottom:1px solid var(--px-line);flex-wrap:wrap;justify-content:space-between;gap:6px 14px;padding:16px 0;display:flex;position:relative}.px-education strong{font-size:15px;font-weight:500}.px-education div>span{color:var(--px-muted);font-size:11px}.px-education div>p{width:100%;color:var(--px-muted);font-size:13px;line-height:1.8}.px-research{margin-top:30px}.px-research>p{color:var(--px-muted);margin-top:12px;font-size:14px;line-height:2}.px-experience{border:2px solid var(--px-line);background:var(--px-panel);height:fit-content;box-shadow:7px 7px #080d0e}.px-experience article{padding:25px 26px 28px}.px-experience article+article{border-top:1px dashed var(--px-line)}.px-experience-meta{color:var(--px-muted);justify-content:space-between;gap:15px;margin-bottom:14px;font-size:11px;display:flex}.px-experience-meta>span{color:var(--px-green)}.px-experience h3{justify-content:space-between;align-items:center;gap:10px;font-size:20px;font-weight:600;display:flex}.px-experience h3>span{color:var(--px-green);font-size:12px;font-weight:500}.px-experience article>p{color:var(--px-muted);margin-top:13px;font-size:14px;line-height:1.9}.pixel-home .px-footer{border-top:2px solid var(--px-green);color:var(--px-text);background:#0b1112;padding:52px 0 22px;scroll-margin-top:88px}.px-contact-row{justify-content:space-between;align-items:end;gap:40px;margin-top:20px;display:flex}.px-contact-row h2{letter-spacing:-2px;font-size:clamp(28px,3.6vw,48px);font-weight:700;line-height:1.35}.px-contact-row h2>span{color:var(--px-green)}.px-contact-row>div>p{color:var(--px-muted);margin-bottom:14px;font-size:14px;line-height:1.8}.px-email{border-bottom:1px solid var(--px-green);color:var(--px-green);justify-content:space-between;gap:30px;padding-bottom:10px;font-size:16px;display:flex}.px-footer-bottom{border-top:1px solid var(--px-line);color:var(--px-muted);justify-content:space-between;gap:20px;margin-top:52px;padding-top:20px;font-size:11px;display:flex}.px-skip{background:var(--px-green);color:#111;z-index:100;padding:12px;position:fixed;top:-100px;left:20px}.px-skip:focus{top:12px}@keyframes px-blink{0%,49%{opacity:1}50%,to{opacity:0}}@media (max-width:1050px){.px-wrap{width:calc(100% - 64px)}.px-hero{grid-template-columns:minmax(0,1fr) 260px;gap:32px}.px-hero h1{letter-spacing:-3px;font-size:clamp(36px,5.5vw,60px)}.px-hero .px-kicker{font-size:10px}.px-profile-inner{padding:20px}.px-initials{font-size:75px}.px-about-grid{gap:40px}.px-contact-row{flex-direction:column;align-items:start;gap:28px}.px-project-copy h3{font-size:18px}.px-focus-strip{letter-spacing:0;font-size:10px}}@media (max-width:700px){.px-wrap{width:calc(100% - 40px)}.px-header-inner{gap:15px;height:76px}.px-brand{gap:10px;font-size:12px}.px-brand-cn{letter-spacing:.5px;font-size:9px}.px-logo{width:32px;height:34px;font-size:12px}.px-header nav{gap:17px}.px-header nav a{font-size:13px}.px-header nav a>span{display:none}.px-hero{grid-template-columns:1fr;gap:36px;padding:45px 0 42px}.px-hero h1{letter-spacing:-2.5px;margin:23px 0;font-size:clamp(35px,9vw,58px)}.px-hero .px-kicker{letter-spacing:0;gap:7px;font-size:10px}.px-intro{font-size:15px}.px-profile{width:100%;max-width:100%}.px-profile-inner{grid-template-columns:95px 1fr;align-items:center;gap:0 22px;display:grid}.px-profile-index{grid-column:1/-1}.px-initials{letter-spacing:-7px;grid-row:2/4;margin:16px 0;font-size:58px}.px-initials>b{display:none}.px-profile h2{margin-top:12px;font-size:17px}.px-profile h2>span{margin-left:8px;font-size:13px;display:inline}.px-profile-inner>p{margin-top:8px;font-size:12px}.px-profile-bottom{grid-column:1/-1;margin-top:18px;padding-top:14px}.px-focus-strip{flex-wrap:wrap;justify-content:start;gap:10px 20px;font-size:10px}.px-focus-strip>b:last-child{display:none}.px-work{padding:44px 0 50px;scroll-margin-top:95px}.px-section-title{gap:15px}.px-section-title h2{font-size:25px}.px-section-note{font-size:12px}.px-kicker{font-size:11px}.px-project-grid{grid-template-columns:1fr;gap:25px}.px-project-copy{padding:20px}.px-project-copy h3{font-size:20px}.px-empty-number{font-size:70px}.px-about{padding:45px 0 55px;scroll-margin-top:95px}.px-about-grid{grid-template-columns:1fr;gap:34px;margin-top:25px}.px-bio-lead{font-size:24px}.px-bio>p:nth-child(2){font-size:15px}.px-contact-row h2{letter-spacing:-1.5px;font-size:clamp(25px,6.2vw,40px)}.px-email{gap:20px;font-size:14px}.px-footer-bottom{flex-wrap:wrap;font-size:10px}.px-footer-bottom>span:nth-child(2){display:none}}@media (prefers-reduced-motion:reduce){.px-cursor{animation:none}.px-project,.px-button{transition:none}}.pixel-home{--px-bg:#f7f7f2;--px-panel:#fff;--px-line:#b8b9b2;--px-text:#141613;--px-muted:#60635c;--px-green:#37ef16;--px-blue:#22209c;background:var(--px-bg);color:var(--px-text)}.px-wrap{max-width:1320px}.px-header{background:#f7f7f2f5;border-color:#222}.px-header-inner{height:70px}.px-logo{color:#161815;border-color:#161815;box-shadow:3px 3px #37ef16}.px-header nav a>span{color:#22209c}.px-header nav a:hover{color:#22209c;text-underline-offset:5px;text-decoration:underline}.px-hero{grid-template-columns:minmax(0,1fr) 390px;gap:55px;padding:80px 0 70px}.px-hero h1{letter-spacing:-3.5px;margin:28px 0;font-size:clamp(38px,4.7vw,67px);line-height:1.18}.px-hero h1>span{color:#141613}.px-hero .px-kicker{color:#22209c}.px-square{background:#22209c}.px-intro{color:#494c45;max-width:520px}.px-intro strong{background:#37ef16;margin:0 2px;padding:1px 5px}.px-button{color:#141613;background:#37ef16;border:1px solid #171a13;box-shadow:4px 4px #171a13}.px-button:hover{box-shadow:1px 1px #171a13}.px-hero-copy>.px-kicker{letter-spacing:1px;font-size:11px}.px-profile{color:#f5f5ef;background:#151714;border:1px solid #10120f;border-radius:10px;overflow:hidden;transform:rotate(1deg);box-shadow:8px 8px #dcded6}.px-profile .px-windowbar{color:#959b90;letter-spacing:0;background:#0a0c09;border-color:#34382f;height:38px;font-size:11px}.px-terminal-dots{color:#37ef16;letter-spacing:4px}.px-profile-inner{padding:28px}.px-profile-inner .px-terminal-hello{letter-spacing:-2px;color:#37ef16;margin:0 0 26px;font-size:40px;font-weight:800;line-height:1.12}.px-profile-inner .px-terminal-command{color:#37ef16;margin:0 0 12px;font-size:12px}.px-profile h2{font-size:18px}.px-profile h2>span{color:#f5f5ef;font-size:14px;display:inline}.px-profile-inner>p{color:#a8aea2;margin-top:12px}.px-terminal-line{letter-spacing:1px;color:#bfc5b8;justify-content:space-between;gap:12px;margin-top:16px;font-size:11px;display:flex}.px-terminal-line>span:last-child{color:#37ef16}.px-profile-bottom{color:#a8aea2;border-color:#44493e;font-size:9px}.px-cursor{color:inherit}.px-focus-strip{color:#22209c;border:0;padding:25px 0;font-size:11px;position:relative}.px-focus-strip:before,.px-focus-strip:after{content:"////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////";white-space:nowrap;letter-spacing:3px;height:16px;font-size:13px;position:absolute;left:0;right:0;overflow:hidden}.px-focus-strip:before{top:0}.px-focus-strip:after{bottom:0}.px-focus-strip>b{color:#22209c}.px-section-title .px-kicker{color:#fff;letter-spacing:.5px;background:#22209c;padding:2px 7px;display:inline-block}.px-section-title h2{font-size:30px;font-weight:500}.px-section-title h2>span,.px-section-note>span{color:#22209c}.px-project-grid{gap:40px 28px}.px-project{box-shadow:none;background:#fff;border:1px solid #94978c;border-radius:0 14px 0 0;overflow:hidden}.px-project:hover{border-color:#161815;transform:translate(-2px,-2px);box-shadow:5px 5px #37ef16}.px-project-bar{color:#55594e;background:#eeefe8;border-color:#94978c;height:35px}.px-project-bar>span:last-child{color:#141613}.px-cover,.px-project-3 .px-cover,.px-project-4 .px-cover,.px-project-6 .px-cover{background:#eeefe8}.px-empty-cover{background-image:radial-gradient(#a3a798 1px,#0000 1px);background-size:16px 16px}.px-empty-number,.px-project-3 .px-empty-number,.px-project-4 .px-empty-number,.px-project-6 .px-empty-number{color:#262a20;opacity:1;font-size:66px}.px-empty-label{color:#52594b;background:#eeefe8;padding:5px 10px}.px-empty-cross,.px-project-category{color:#22209c}.px-project-copy{border-color:#94978c;padding:22px}.px-project-copy h3{font-size:20px}.px-project-copy h3>span{color:#141613}.px-about{border-top:2px dotted #22209c}.px-experience{background:#fff;border:1px solid #94978c;box-shadow:5px 5px #ddd}.px-experience .px-windowbar{color:#22209c;background:#eeefe8}.px-experience-meta>span,.px-experience h3>span{color:#22209c}.px-bio-lead{font-size:25px}.pixel-home .px-footer{color:#f5f5ef;background:#151714;border-top:5px solid #37ef16}.px-footer .px-kicker,.px-footer-bottom,.px-contact-row>div>p{color:#b0b7a9}.px-footer .px-email{color:#37ef16}.px-footer .px-footer-bottom{border-color:#44493e}.pixel-home .px-contact-details{flex-direction:column;gap:10px;min-width:min(100%,430px);display:flex}.pixel-home .px-contact-details .px-email{width:100%;padding-bottom:8px;font-size:14px}.pixel-home .px-about{border-top:0;position:relative}.pixel-home .px-about:before{content:"////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////";white-space:nowrap;letter-spacing:3px;color:#22209c;pointer-events:none;height:16px;font-size:13px;line-height:16px;position:absolute;top:0;left:0;right:0;overflow:hidden}@media (max-width:1050px){.px-hero{grid-template-columns:minmax(0,1fr) 320px;gap:30px;padding:60px 0}.px-hero h1{letter-spacing:-2.5px;font-size:clamp(32px,4.5vw,48px)}.px-profile-inner{padding:24px}.px-profile-inner .px-terminal-hello{font-size:34px}}@media (max-width:700px){.px-header-inner{height:72px}.px-hero{grid-template-columns:1fr;gap:35px;padding:42px 0}.px-hero h1{letter-spacing:-2px;font-size:clamp(32px,7.8vw,52px)}.px-profile{transform:none}.px-profile-inner{padding:26px;display:block}.px-profile-inner .px-terminal-hello{font-size:38px}.px-profile h2{margin:0}.px-profile h2>span{margin-left:8px}.px-profile-bottom{margin-top:22px;padding-top:16px}.px-focus-strip{gap:8px 12px;padding:28px 0;font-size:9px}.px-project-grid{gap:28px}.px-section-title h2{font-size:25px}.px-section-note{font-size:11px}}@font-face{font-family:Portfolio Display;src:url(/fonts/TikTokSans-Variable.ttf)format("truetype");font-weight:300 900;font-style:normal;font-display:swap}@font-face{font-family:TikTok Sans;src:url(/fonts/TikTokSans-Variable.ttf)format("truetype");font-weight:300 900;font-style:normal;font-display:swap}.pixel-home .px-work>.px-section-title{margin-bottom:clamp(56px,7vw,100px)}.pixel-home .px-project{min-width:0;box-shadow:none;background:0 0;border:0;border-radius:0;font-family:TikTok Sans,Arial,sans-serif;font-weight:400;display:block;overflow:visible;container-type:inline-size}.pixel-home .px-project:hover{box-shadow:none;transform:none}.pixel-home .px-project .px-cover{aspect-ratio:16/9;border-radius:0;outline:2px solid #0000;transition:transform .22s,box-shadow .22s,outline-color .22s;position:relative}.pixel-home .px-project .px-cover>img{transition:transform .35s}.pixel-home .px-project-copy{--card-title-size:calc(100cqw * 60 / 823);--card-body-gap:calc(100cqw * 40 / 823);--card-description-gap:calc(100cqw * 24 / 823);gap:var(--card-body-gap);border:0;flex-direction:column;margin:0;padding:3.88821cqw 0 0;display:flex}.pixel-home .px-project-meta{color:#727272;font-variation-settings:"wdth" 100;letter-spacing:.02em;border-bottom:1px solid #d5d6cd;justify-content:space-between;align-items:baseline;gap:12px;margin:0;padding:0 0 1.45808cqw;font-family:TikTok Sans,Arial,sans-serif;font-size:2.18712cqw;font-weight:300;line-height:1.4;display:flex}.pixel-home .px-project-meta>span{font:inherit;letter-spacing:inherit}.pixel-home .px-project-body{align-items:start;column-gap:var(--card-body-gap);grid-template-columns:max-content minmax(0,1fr);display:grid}.pixel-home .px-project-body>.px-project-index,.pixel-home .px-project-body-copy h3{font-family:Portfolio Mono,PingFang SC,monospace;font-size:var(--card-title-size);letter-spacing:.02em;margin:0;padding:0;font-weight:800;line-height:1.4}.pixel-home .px-project-body>.px-project-index{color:#727272;transition:color .18s}.pixel-home .px-project-body-copy{gap:var(--card-description-gap);flex-direction:column;min-width:0;display:flex}.pixel-home .px-project-body-copy h3{color:#000;text-transform:none;display:block}.pixel-home .px-project-3 .px-project-body-copy h3{line-height:1.08}.pixel-home .px-project-body-copy h3>.px-project-name{font:inherit;color:inherit;letter-spacing:inherit;overflow-wrap:normal}.pixel-home .px-project-body-copy>.px-project-description{color:#727272;font-variation-settings:"wdth" 100;letter-spacing:.02em;margin:0;padding:0;font-family:TikTok Sans,Arial,sans-serif;font-size:2.67315cqw;font-weight:300;line-height:1.2}.pixel-home .px-project:focus-visible .px-cover{outline-color:#22209c;box-shadow:0 12px 28px #22209c29}.pixel-home .px-project:focus-visible .px-project-index{color:#37ef16}@media (hover:hover){.pixel-home .px-project:hover{transform:translateY(-4px)}.pixel-home .px-project:hover .px-cover{box-shadow:none;outline-color:#0000;transform:none}.pixel-home .px-project:hover .px-cover>img{transform-origin:50%;transform:scale(1.035)}.pixel-home .px-project:hover .px-project-index{color:#37ef16}.pixel-home .px-project-3:hover .px-project-index{color:#fc2f57}.pixel-home .px-research-01:hover .px-project-index{color:#4d19d3}.pixel-home .px-research-02:hover .px-project-index{color:#0e13fe}}@media (min-width:701px){.pixel-home .px-wrap{width:calc(100% - 9.375vw);max-width:1920px}.pixel-home .px-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(140px,11vw,200px) clamp(32px,4.15vw,80px);padding-bottom:0}.pixel-home .px-project-grid>.px-project:nth-child(2n){margin-top:clamp(140px,10.42vw,200px)}}@media (max-width:700px){.pixel-home .px-project-grid{grid-template-columns:1fr;row-gap:60px}.pixel-home .px-project-copy{--card-title-size:max(24px, calc(100cqw * 60 / 823));--card-body-gap:16px;--card-description-gap:16px;padding-top:20px}.pixel-home .px-project-meta{padding-bottom:12px;font-size:14px}.pixel-home .px-project-body-copy>.px-project-description{font-size:16px}}html:has(.pixel-home){scrollbar-width:none}html:has(.pixel-home)::-webkit-scrollbar{width:0;height:0;display:none}.pixel-home .px-overlay-scrollbar{z-index:100;width:8px;height:var(--px-scroll-thumb-height,72px);transform:translateY(var(--px-scroll-thumb-top,0px));cursor:grab;touch-action:none;background:#bfc1bd;border-radius:8px;position:fixed;top:0;right:0}.pixel-home .px-overlay-scrollbar:active{cursor:grabbing}.pixel-home .px-header{background:#f7f7f2;border-bottom:0}.pixel-home .px-header:after{content:"";background:#0003;width:100%;height:1.2px;display:block}.pixel-home .px-focus-strip{background:0 0;border:0}.pixel-home .px-focus-strip:before,.pixel-home .px-focus-strip:after{color:#22209c;pointer-events:none;display:block}.pixel-home .px-hero h1 .px-cursor{color:inherit;margin-left:.12em;display:inline-block}.pixel-home .px-name-interaction .px-cursor{transition:opacity .12s;animation:1.2s step-end infinite px-blink}.pixel-home .px-name-interaction.is-letter-hovering .px-cursor{opacity:0;animation:none}.pixel-home .px-name-interaction{isolation:isolate;touch-action:pan-y;-webkit-user-select:none;user-select:none}.pixel-home .px-name-line{white-space:nowrap;display:inline-block;position:relative}.pixel-home .px-name-line:first-child{align-items:baseline;column-gap:0;display:inline-flex}.pixel-home .px-name-avatar{object-fit:contain;opacity:.9;filter:drop-shadow(4px 6px #14161324);transform-origin:50% 68%;will-change:transform;width:100%;height:100%;transition:transform .42s cubic-bezier(.22,1,.36,1),filter .3s;display:block;transform:rotate(0)scale(1)}.pixel-home .px-name-avatar-wrap{z-index:3;vertical-align:-.22em;cursor:pointer;flex:0 0 1.35em;width:1.35em;height:1.35em;margin-left:-.05em;display:block;position:relative;top:.32em;left:-.04em}.pixel-home .px-name-avatar-wrap:hover .px-name-avatar{filter:drop-shadow(5px 7px #1416132e);transform:rotate(5deg)scale(1.13)}.pixel-home .px-name-letter{transform:translate3d(var(--name-shift-x,0px), var(--name-shift-y,0px), 0) rotate(var(--name-rotate,0deg)) scale(var(--name-scale,1));transform-origin:50% 78%;will-change:transform;cursor:pointer;z-index:1;transition:transform .42s cubic-bezier(.22,1,.36,1),color .2s;display:inline-block;position:relative}.pixel-home .px-name-letter.is-near{z-index:2}.pixel-home .px-name-letter.is-active{z-index:20}.pixel-home .px-name-glyph{display:inline-block}.pixel-home .px-name-sticker{z-index:2;pointer-events:none;opacity:0;width:1.08em;height:1.16em;transform:translate(-50%, -50%) scale(.7) rotate(var(--name-image-rotate,-8deg));transform-origin:50%;will-change:opacity, transform;backface-visibility:hidden;place-items:center;transition:opacity 80ms,transform .26s cubic-bezier(.22,1,.36,1);display:grid;position:absolute;top:50%;left:50%}.pixel-home .px-name-letter[data-name-letter="2"] .px-name-sticker{width:.92em;height:1em}.pixel-home .px-name-letter[data-name-letter="3"] .px-name-sticker{width:1.58em;height:1.7em;top:21%}.pixel-home .px-name-sticker img{object-fit:contain;filter:drop-shadow(3px 5px #14161324);width:100%;height:100%;display:block}.pixel-home .px-name-letter.is-active .px-name-glyph{visibility:hidden}.pixel-home .px-name-letter.is-active .px-name-sticker{opacity:1;transform:translate(-50%, -50%) scale(1) rotate(var(--name-image-rotate,0deg))}.pixel-home .px-hero-copy>.px-intro,.pixel-home .px-hero-copy>.px-button{display:none}.pixel-home .px-work>.px-section-title h2{font-family:Portfolio Mono,PingFang SC,monospace;font-weight:800}.pixel-home .px-about>.px-section-title,.pixel-home .px-about .px-bio-lead,.pixel-home .px-about .px-bio>p:nth-of-type(2){display:none}@media (min-width:701px){.pixel-home .px-hero h1{font-size:190px;line-height:1}.pixel-home .px-header-inner{height:auto;min-height:33.6px;padding:24px 0;font-family:Portfolio Mono,monospace}.pixel-home .px-brand{letter-spacing:.02em;font-family:Portfolio Mono,monospace;font-size:20px;font-weight:800;line-height:1.4}.pixel-home .px-header nav{gap:80px}.pixel-home .px-header nav a{letter-spacing:.02em;font-family:Portfolio Mono,monospace;font-size:16px;font-weight:700;line-height:1.4}.pixel-home .px-header nav a>span{display:none}.pixel-home .px-work{padding-top:65px;padding-bottom:240px}}@media (max-width:700px){.pixel-home .px-work{padding-top:72px}.pixel-home .px-brand{font-family:Portfolio Mono,monospace;font-weight:800}}@media (prefers-reduced-motion:reduce){.pixel-home .px-name-interaction .px-cursor{animation:none}.pixel-home .px-name-letter{transition:none;transform:none!important}.pixel-home .px-name-sticker{transition:none;transform:translate(-50%,-50%)!important}.pixel-home .px-project .px-cover,.pixel-home .px-project .px-cover>img,.pixel-home .px-project:hover .px-cover,.pixel-home .px-project:hover .px-cover>img{transform:none}}.pixel-home .px-about>.px-section-title{margin-bottom:30px;display:flex}.pixel-home .px-about>.px-section-title h2{display:none}@media (min-width:701px){.pixel-home .px-about-grid>.px-experience{transform:translateY(-117px)}}.pixel-home .px-section-title .px-kicker{justify-content:center;align-items:center;min-height:24px;padding:0 8px;line-height:1.2;display:inline-flex}.pixel-home .px-about>.px-section-title h2{letter-spacing:1px;white-space:nowrap;margin-top:9px;font-family:Portfolio Mono,PingFang SC,monospace;font-size:30px;font-weight:800;line-height:1.4;display:block}@media (max-width:1050px){.pixel-home .px-about>.px-section-title h2{font-size:clamp(22px,3.2vw,30px)}}@media (max-width:700px){.pixel-home .px-about>.px-section-title h2{margin-top:8px;font-size:clamp(16px,5.4vw,25px);line-height:1.35}}.pixel-home .px-focus-strip:before,.pixel-home .px-focus-strip:after,.pixel-home .px-about:before{content:"////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////";letter-spacing:3px;color:#22209c;height:16px;font-size:13px;line-height:normal}.pixel-home .px-about:before{display:none}@media (min-width:701px){.pixel-home .px-work{padding-bottom:80px}}.pixel-home .px-work>.px-section-title{align-items:center}.pixel-home .px-work .px-section-note{flex-direction:column;gap:8px;line-height:1.25;display:flex}.pixel-home .px-work .px-section-note>br{display:none}@media (max-width:420px){.pixel-home .px-header-inner{flex-wrap:wrap;gap:12px;height:auto;padding:16px 0}.pixel-home .px-header nav{justify-content:space-between;gap:12px;width:100%}}
