:root{--paper:#f5f4ef;--surface:#fff;--ink:#202822;--muted:#5a665e;--green:#235b40;--line:#d4d9d0;--soft:#e8ece4;--serif:Georgia,'Songti SC','Noto Serif CJK SC',serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--green);outline-offset:5px}a:hover{color:var(--green)}[hidden]{display:none!important}.container{max-width:1160px;padding:0 40px;margin:0 auto}.site-header{border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:94px;gap:24px}.brand{display:flex;align-items:center;gap:20px}.monogram{font-size:30px;font-weight:800;letter-spacing:-2px}.monogram span{color:var(--green)}.brand-domain{font-size:12px;letter-spacing:1px;color:var(--muted)}nav{display:flex;gap:30px;align-items:center;font-size:13px;font-weight:600}.github-nav{border-left:1px solid var(--line);padding-left:28px}.hero{display:grid;grid-template-columns:1fr 340px;gap:72px;padding-top:90px;padding-bottom:84px;align-items:center}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--green);margin:0 0 22px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:9px}h1{font-size:76px;line-height:1.1;letter-spacing:-4px;margin:0 0 26px;font-family:var(--serif);font-weight:500}.hero-subtitle{display:block;font-family:var(--sans);font-size:40px;font-weight:600;line-height:1.5;letter-spacing:-1px;margin-top:22px}.accent{color:var(--green)}.hero-description{font-size:15px;line-height:2;color:var(--muted);max-width:540px;margin:0 0 30px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;gap:25px;padding:12px 20px;border:1px solid var(--green);font-size:13px;font-weight:600}.primary{background:var(--green);color:white}.primary:hover{background:#183d2c;color:white}.secondary{background:transparent;color:var(--green)}.secondary:hover{background:var(--soft)}.location{font-size:11px;color:var(--muted);margin-top:26px}.divider{padding:0 10px;color:#788377}.hero-note{background:var(--soft);border:1px solid var(--line);padding:27px;transform:rotate(2deg);position:relative;box-shadow:9px 10px 0 #e1e4da}.note-top,.note-bottom{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:1px;color:var(--green)}.note-mark{font-family:var(--serif);font-size:94px;line-height:1.5;color:var(--green);text-align:center;padding:12px 0;letter-spacing:8px}.note-mark span{font-family:var(--sans);font-size:52px;vertical-align:10px}.note-title{font-family:var(--serif);font-size:29px;line-height:1.3;margin:0 0 14px}.note-description{font-size:11px;color:var(--muted);line-height:1.9}.note-bottom{border-top:1px solid #c6cfbf;padding-top:16px;margin-top:24px;font-size:8px}.skills-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.skills-inner{display:flex;gap:40px;padding-top:26px;padding-bottom:26px;align-items:center}.skills-inner .eyebrow{margin:0;flex-shrink:0;max-width:130px;line-height:1.9}.skills{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.skills li{border:1px solid var(--line);padding:4px 10px;font-size:11px;color:var(--muted);border-radius:3px}.section{padding-top:80px;padding-bottom:80px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:44px}.section-heading .eyebrow{margin-bottom:12px}h2{font-size:34px;line-height:1.4;letter-spacing:-1px;margin:0;font-weight:600}.heading-dot{color:var(--green)}.section-note{font-size:12px;color:var(--muted);margin:0;text-align:right;line-height:1.9}.company{padding:30px 0;border-top:1px solid var(--line)}.company:last-child{border-bottom:1px solid var(--line)}.company-heading{display:flex;gap:18px;align-items:flex-start}.company-number{font-size:11px;color:var(--green);padding-top:6px;font-family:monospace}.company-heading h3{font-family:var(--serif);font-size:25px;line-height:1.3;margin:0}.company-heading p{margin:6px 0 0;color:var(--muted);font-size:11px}.company-period{margin-left:auto;font-size:11px;color:var(--muted);padding-top:6px;white-space:nowrap}.roles{margin:24px 0 0 32px;border-left:1px solid var(--line);padding-left:26px}.role{margin-bottom:20px;position:relative}.role:last-child{margin-bottom:0}.role:before{content:'';position:absolute;left:-30px;top:9px;width:7px;height:7px;border-radius:50%;background:var(--green)}.role-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline}.role h4{margin:0;font-size:14px;font-weight:600}.role-heading>span{font-size:11px;color:var(--muted);white-space:nowrap}.role ul{margin:12px 0 0;padding-left:17px;color:var(--muted);font-size:13px;line-height:1.9;max-width:850px}.role li+li{margin-top:5px}.projects-section{background:#eaece5;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-controls{display:flex;justify-content:space-between;gap:20px;margin-bottom:16px}.filter-buttons{display:flex;gap:6px;flex-wrap:wrap}.filter{border:1px solid #c5ccc1;background:transparent;font-size:12px;border-radius:3px;padding:8px 14px;color:var(--muted)}.filter.active{background:var(--green);border-color:var(--green);color:#fff}.search-wrap input{width:240px;border:1px solid #c5ccc1;border-radius:3px;padding:8px 12px;background:var(--paper);font-size:12px;color:var(--ink)}.search-wrap input::placeholder{color:var(--muted)}.results-count{font-size:11px;color:var(--muted);margin:0 0 18px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.project-card{background:var(--paper);border:1px solid #cbd1c6;padding:23px;display:flex;flex-direction:column;transition:transform .18s,border-color .18s;min-height:228px}.project-card:hover{transform:translateY(-3px);border-color:var(--green)}.card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.org{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--green)}.stars{font-size:11px;color:var(--muted)}.project-card h3{font-size:16px;line-height:1.5;margin:17px 0 10px;overflow-wrap:anywhere}.project-card h3 a{display:block}.project-card h3 a>span[aria-hidden]{color:var(--green);font-weight:400}.project-card>p{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 24px}.card-bottom{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:15px;border-top:1px solid var(--line);font-size:9px;color:var(--muted)}.project-footnote{margin:24px 0 0;font-size:10px;line-height:1.9;color:var(--muted)}.empty-state{text-align:center;padding:44px;border:1px dashed var(--muted);font-size:14px}.closing{padding-top:70px;padding-bottom:70px;text-align:center}.closing .eyebrow{margin-bottom:16px}.closing h2{font-size:28px}.closing>a{display:inline-block;margin-top:24px;font-size:13px;color:var(--green);border-bottom:1px solid var(--green);padding-bottom:4px}.footer{display:flex;gap:20px;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;padding-bottom:28px;font-size:10px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-150%);z-index:100;background:var(--green);color:#fff;padding:10px 20px}.skip-link:focus{transform:translateY(0);color:#fff}@media(min-width:1400px){.hero{padding-top:110px;padding-bottom:100px}}@media(max-width:1000px){.hero{grid-template-columns:1fr 280px;gap:40px}h1{font-size:64px}.hero-subtitle{font-size:32px}.hero-note{padding:22px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-actions{gap:10px}.button{gap:12px;padding:11px 15px}.location{line-height:1.9}}@media(max-width:700px){.container{padding-left:22px;padding-right:22px}.header-inner{min-height:76px;gap:12px}.brand-domain{display:none}.monogram{font-size:26px}nav{gap:16px;font-size:11px}.github-nav{padding-left:0;border-left:0}.hero{grid-template-columns:1fr;padding-top:50px;padding-bottom:50px;gap:42px}h1{font-size:60px}.hero-subtitle{font-size:32px}.hero-description{font-size:14px}.hero-note{max-width:360px;width:100%;margin:0 auto;transform:rotate(1deg)}.note-mark{font-size:70px;line-height:1.25;padding:12px}.note-mark span{font-size:42px;vertical-align:4px}.note-title{font-size:26px}.skills-inner{display:block;padding-top:22px;padding-bottom:22px}.skills-inner .eyebrow{max-width:none;margin-bottom:14px}.skills{gap:6px}.section{padding-top:50px;padding-bottom:50px}.section-heading{display:block;margin-bottom:30px}h2{font-size:30px}.section-note{text-align:left;margin-top:12px}.company{padding:24px 0}.company-heading{gap:12px;flex-wrap:wrap}.company-heading h3{font-size:23px}.company-period{margin-left:25px;width:100%;padding-top:0}.roles{margin-left:4px;padding-left:20px}.role:before{left:-24px}.role-heading{display:block}.role-heading>span{display:block;margin-top:4px}.role h4{font-size:13px}.role ul{font-size:12px}.project-controls{flex-direction:column;gap:12px}.search-wrap input{width:100%}.filter{font-size:11px;padding:8px 12px}.project-grid{grid-template-columns:1fr}.project-card{min-height:210px}.closing{padding-top:50px;padding-bottom:50px}.closing h2{font-size:24px}.footer{flex-wrap:wrap;gap:10px}.footer>span:nth-child(2){width:100%;order:3}.footer>a{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}@media print{body{background:#fff;color:#000;font-size:10pt}.container{max-width:none;padding-left:0;padding-right:0}.site-header,nav,.hero-note,.hero-actions,.projects-section,.closing,.skip-link,.footer>a{display:none!important}.hero{display:block;padding-top:0;padding-bottom:15px}h1{font-size:34pt;letter-spacing:-1px;margin-bottom:10px}.hero-subtitle{font-size:16pt;margin-top:10px}.hero-subtitle br{display:none}.hero-description{font-size:10pt;max-width:none}.location{margin-top:10px}.skills-inner{padding-top:12px;padding-bottom:12px}.skills li{font-size:8pt}.section{padding-top:20px;padding-bottom:0}.section-heading{margin-bottom:15px}h2{font-size:20pt}.eyebrow{margin-bottom:8px!important}.company{padding:15px 0;break-inside:avoid}.company-heading h3{font-size:16pt}.role{margin-bottom:10px;break-inside:avoid}.role ul{font-size:9pt;line-height:1.6}.roles{margin-top:14px}.footer{margin-top:20px;font-size:8pt}.footer>span:nth-child(2){display:none}a{color:inherit}@page{margin:16mm}}
