:root{--background:#f7f8f6;--surface:#fff;--surface-strong:#e9eee9;--text:#1d2420;--muted:#5f6b64;--line:#d9dfd8;--accent:#0f8f67;--accent-strong:#086247;--accent-soft:#dceee7;--shadow:0 28px 90px #1e32281f}@media (prefers-color-scheme:dark){:root{--background:#101411;--surface:#171d19;--surface-strong:#202923;--text:#eef4ef;--muted:#a9b8ad;--line:#2c3830;--accent:#58c99d;--accent-strong:#8be2bd;--accent-soft:#17382b;--shadow:0 28px 90px #00000052}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);color:var(--text);margin:0;font-family:Segoe UI,PingFang SC,Microsoft YaHei,Arial,sans-serif}a{color:inherit;text-decoration:none}main{min-height:100dvh;overflow:hidden}.nav{z-index:10;border-bottom:1px solid color-mix(in srgb, var(--line) 74%, transparent);background:color-mix(in srgb, var(--background) 88%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:center;gap:24px;min-height:68px;padding:0 5vw;display:flex;position:sticky;top:0}.brand{font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:13px;font-weight:700}.navLinks{color:var(--muted);white-space:nowrap;align-items:center;gap:clamp(14px,2vw,28px);font-size:14px;display:flex}.navLinks a,.writingList a,.button{transition:transform .18s,color .18s,background .18s,border-color .18s}.navLinks a:hover,.writingList a:hover{color:var(--text)}.button:active,.writingList a:active{transform:translateY(1px)}.hero{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:center;gap:clamp(32px,6vw,86px);min-height:calc(100dvh - 68px);padding:clamp(40px,7vw,88px) 5vw 48px;display:grid}.heroCopy{max-width:680px}.eyebrow{color:var(--accent-strong);letter-spacing:.16em;margin:0 0 22px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;max-width:760px;margin-bottom:24px;font-size:clamp(42px,6.2vw,82px);line-height:.98}.lead{max-width:610px;color:var(--muted);margin-bottom:34px;font-size:clamp(17px,1.55vw,21px);line-height:1.65}.heroActions,.footerActions{flex-wrap:wrap;gap:12px;display:flex}.button{border:1px solid var(--line);white-space:nowrap;border-radius:14px;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:0 18px;font-weight:750;display:inline-flex}.button.primary{border-color:var(--accent);background:var(--accent);color:#fff}.button.primary:hover{background:var(--accent-strong)}.button.secondary{background:var(--surface);color:var(--text)}.button.secondary:hover{border-color:var(--accent);color:var(--accent-strong)}.heroVisual{border:1px solid var(--line);background:var(--surface-strong);box-shadow:var(--shadow);border-radius:18px;position:relative;overflow:hidden}.heroVisual img{width:100%;height:auto;display:block}.signalStrip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(3,1fr);display:grid}.signalStrip div{gap:6px;padding:28px 5vw;display:grid}.signalStrip div+div{border-left:1px solid var(--line)}.signalStrip strong{font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:32px}.signalStrip span{color:var(--muted)}.section{padding:clamp(68px,9vw,118px) 5vw}.sectionIntro{max-width:720px;margin-bottom:38px}.sectionIntro h2,.methodPanel h2,.footer h2{letter-spacing:0;margin-bottom:14px;font-size:clamp(32px,4vw,56px);line-height:1.05}.sectionIntro p,.methodPanel p,.footer p,.project p,.methodItem p{color:var(--muted);line-height:1.7}.projectGrid{grid-template-columns:1.1fr .9fr;gap:18px;display:grid}.project{border:1px solid var(--line);background:var(--surface);border-radius:18px;flex-direction:column;justify-content:space-between;min-height:310px;padding:clamp(24px,3.5vw,42px);display:flex}.project1{background:linear-gradient(145deg, var(--accent-soft), transparent 58%), var(--surface);grid-row:span 2}.project span{color:var(--accent-strong);margin-bottom:18px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:800;display:block}.project h3{margin-bottom:14px;font-size:clamp(26px,2.8vw,42px);line-height:1.08}.project ul{flex-wrap:wrap;gap:8px;margin:28px 0 0;padding:0;list-style:none;display:flex}.project li{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:8px 11px;font-size:13px}.method{background:var(--surface);grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:clamp(24px,5vw,72px);display:grid}.methodPanel{border:1px solid var(--line);background:var(--background);border-radius:18px;align-self:start;padding:clamp(24px,4vw,46px)}.methodPanel svg{color:var(--accent);margin-bottom:26px}.methodList{gap:16px;display:grid}.methodItem{border-bottom:1px solid var(--line);grid-template-columns:34px minmax(0,1fr);gap:18px;padding:8px 0 24px;display:grid}.methodItem svg{color:var(--accent);margin-top:4px}.methodItem h3{margin-bottom:6px;font-size:22px}.writingList{gap:12px;max-width:980px;display:grid}.writingList a{border:1px solid var(--line);background:var(--surface);border-radius:18px;justify-content:space-between;align-items:center;gap:18px;padding:22px clamp(18px,3vw,30px);font-size:clamp(18px,2vw,24px);font-weight:760;display:flex}.writingList a:hover{border-color:var(--accent)}.footer{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;padding:clamp(46px,7vw,86px) 5vw;display:grid}.footer p{max-width:700px;margin-bottom:0}.resumePage{min-height:100dvh;padding:clamp(28px,5vw,64px) 5vw}.backLink{color:var(--muted);align-items:center;gap:10px;font-weight:760;display:inline-flex}.backLink:hover{color:var(--text)}.resumeHero{max-width:880px;padding:clamp(58px,8vw,112px) 0 clamp(36px,5vw,72px)}.resumeGrid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.resumeBlock{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:clamp(22px,3vw,34px)}.resumeBlock h2{margin-bottom:18px;font-size:24px}.resumeBlock ul{color:var(--muted);gap:10px;margin:0;padding:0;list-style:none;display:grid}@media (prefers-reduced-motion:no-preference){.heroCopy,.heroVisual,.project,.methodPanel,.methodItem,.writingList a{animation:.52s cubic-bezier(.16,1,.3,1) both riseIn}.heroVisual,.project2,.methodItem:nth-child(2),.writingList a:nth-child(2){animation-delay:90ms}.project3,.methodItem:nth-child(3),.writingList a:nth-child(3){animation-delay:.15s}}@keyframes riseIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.nav{flex-direction:column;justify-content:center;align-items:flex-start;padding-top:14px;padding-bottom:14px}.navLinks{width:100%;overflow-x:auto}.hero,.method,.footer,.resumeGrid{grid-template-columns:1fr}.hero{padding-top:38px}.projectGrid,.signalStrip{grid-template-columns:1fr}.project1{grid-row:auto}.signalStrip div+div{border-left:0;border-top:1px solid var(--line)}.footer{align-items:start}}@media (max-width:560px){.hero,.section,.footer,.nav{padding-left:18px;padding-right:18px}h1{font-size:42px}.button,.footerActions,.heroActions{width:100%}}
