:root{color-scheme:dark;--bg:#0c1118;--panel:#131b25;--line:#2a3541;--text:#eef3f8;--muted:#a8b4c2;--accent:#bafa6a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.75 Inter,"Microsoft YaHei","PingFang SC",sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}header{max-width:1440px;margin:auto;padding:26px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-weight:700;font-size:14px;letter-spacing:1px}.mark{border:1px solid var(--accent);padding:4px 7px;color:var(--accent);letter-spacing:-1px}.brand-sub{color:var(--muted);font-weight:400}nav{display:flex;gap:30px;align-items:center;font-size:14px}nav a:hover,footer a:hover{color:var(--accent)}.nav-resume{padding:7px 14px;border:1px solid #53616f}main{max-width:1440px;margin:auto;padding:0 5%}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;padding:75px 0 66px;align-items:center}.eyebrow{font:12px/1.6 ui-monospace,monospace;letter-spacing:2px;color:var(--accent);margin:0 0 22px}h1{font-size:clamp(42px,5.1vw,74px);line-height:1.18;letter-spacing:-2px;font-weight:650;margin:0 0 24px}h1 span{color:var(--accent)}.intro{color:var(--muted);font-size:17px;line-height:1.9}.actions{display:flex;gap:12px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;padding:11px 20px;font-size:14px;font-weight:600;border:1px solid var(--line);cursor:pointer}.primary{background:var(--accent);color:#101711;border-color:var(--accent)}.secondary{background:transparent;color:var(--text)}.button:hover{filter:brightness(1.12);border-color:var(--accent)}.hero-meta{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px;font:12px/1.8 ui-monospace,monospace;color:var(--muted)}.hero-meta span+span{border-left:1px solid var(--line);padding-left:16px}.pipeline{background:linear-gradient(145deg,#18232e,#101821);border:1px solid #35434f;padding:24px}.panel-top,.panel-bottom{display:flex;justify-content:space-between;font:12px/1.6 ui-monospace,monospace;color:var(--muted)}.panel-top{padding-bottom:20px}.panel-bottom{padding-top:20px}.pipe-row{display:flex;gap:16px;align-items:center;padding:17px 10px;border-top:1px solid var(--line);position:relative}.pipe-row>span{font:12px ui-monospace,monospace;color:#7d8d9f}.pipe-row div{flex:1}.pipe-row strong{font-size:16px;font-weight:500;display:block}.pipe-row small{font-size:12px;color:var(--muted);display:block;margin-top:2px}.pipe-row b{font:10px ui-monospace,monospace;letter-spacing:.5px;color:#a5b5c3}.pipe-row.active{background:#bafa6a0e;border-left:2px solid var(--accent)}.pipe-row.active strong,.pipe-row.active b{color:var(--accent)}.topic-strip{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;font:12px/1.6 ui-monospace,monospace;letter-spacing:1px;color:#8f9dae}section:not(.hero){padding:76px 0;scroll-margin-top:20px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:10px}h2{font-size:32px;line-height:1.4;font-weight:550;margin:0;letter-spacing:-.5px}.section-heading>p{color:var(--muted);font-size:14px;margin:0}.projects{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.project{padding:27px;background:var(--panel);border:1px solid var(--line)}.featured{border-top:2px solid var(--accent)}.project-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px}.label{font-size:12px;color:var(--accent);border:1px solid #bafa6a55;padding:2px 9px}.research{color:#acc8f4;border-color:#acc8f455}.index{font:22px ui-monospace,monospace;color:#506173}h3{font-size:21px;font-weight:550;line-height:1.5;margin:0 0 14px}.project>p,.notes article>p{color:var(--muted);font-size:15px;line-height:1.85}.tags{display:flex;flex-wrap:wrap;gap:7px;margin:23px 0}.tags span{font-size:12px;color:#b6c4d2;padding:3px 8px;background:#ffffff06;border:1px solid var(--line)}summary{font-size:14px;cursor:pointer;color:var(--accent);padding:14px 0;border-top:1px solid var(--line)}.detail{color:#bec9d5;font-size:15px;line-height:1.9}.detail h4{font-size:15px;color:var(--text);margin:18px 0 5px}.detail p{margin:10px 0 17px}.notes{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.notes article{padding:24px 0;border-top:1px solid #51606f}.note-type{font:12px/1.6 ui-monospace,monospace;color:var(--muted);display:block;margin-bottom:18px}.notes h3{font-size:20px}.notes summary{margin-top:24px}pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:15px;background:#18212d;font-size:13px;line-height:1.7}.about{display:grid;grid-template-columns:.8fr 1.4fr;gap:12%;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about h2{font-size:37px}.about-text{font-size:21px;color:var(--text);margin:0 0 20px}.about>div>p:not(.about-text):not(.eyebrow){color:var(--muted)}.expertise{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:35px}.expertise span{display:block;font:12px ui-monospace,monospace;color:var(--accent);margin-bottom:12px}.expertise strong{font-size:15px}.expertise p{font-size:14px;color:var(--muted);line-height:1.8}.resume-sheet{border:1px solid var(--line);padding:36px;background:#101821}.resume-name{display:flex;justify-content:space-between;align-items:center;padding-bottom:25px;border-bottom:1px solid var(--line);gap:20px}.resume-name h3{font-size:30px;margin-bottom:5px}.resume-name p{margin:0;color:var(--muted)}.resume-name>span{font:13px/1.8 ui-monospace,monospace;color:var(--accent)}.resume-grid{display:grid;grid-template-columns:130px 1fr;gap:24px 45px;padding-top:30px}.resume-grid h4{margin:0;font-size:15px}.resume-grid p{margin:0 0 7px;color:#c3ccd7;font-size:15px}.resume-grid .muted{color:#8b9bad}footer{max-width:1440px;padding:28px 5%;margin:auto;display:flex;gap:20px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);color:var(--muted);font-size:12px}footer .brand{color:var(--accent)}footer .brand span{font-size:12px;color:var(--muted)}@media(max-width:1000px){.brand-sub{display:none}.hero{gap:30px}.projects{gap:12px}.project{padding:20px}.pipe-row{gap:10px}.pipe-row b{display:none}.notes{gap:20px}.about{gap:6%}}@media(max-width:720px){header{align-items:flex-start;gap:18px;flex-direction:column;padding:20px 6%}nav{width:100%;gap:0;justify-content:space-between}.hero{grid-template-columns:1fr;padding:46px 0}.hero h1{font-size:48px}.hero .eyebrow{font-size:11px}.pipeline{padding:20px;margin-top:10px}.pipe-row b{display:block}main{padding:0 6%}.topic-strip{font-size:10px;gap:14px}section:not(.hero){padding:50px 0}.section-heading{align-items:flex-start;flex-direction:column;gap:12px}.projects,.notes,.about{grid-template-columns:1fr}.project-top{margin-bottom:24px}.project{padding:25px}.notes{gap:16px}.about{gap:25px}.about h2{font-size:32px}.expertise{gap:12px}.resume-sheet{padding:22px}.resume-name{align-items:flex-start;flex-direction:column;gap:10px}.resume-grid{grid-template-columns:1fr;gap:10px}.resume-grid h4:not(:first-child){margin-top:17px}footer{align-items:flex-start;flex-direction:column;padding:24px 6%;gap:12px}footer p{margin:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{color-scheme:light;body{background:white;color:#111}header,footer,main>section:not(#resume),.topic-strip,.resume .section-heading{display:none}main{padding:0;max-width:none}#resume{padding:0}.resume-sheet{border:0;padding:0;background:white}.resume-name{border-color:#ccc}.resume-name p,.resume-name>span,.resume-grid p,.resume-grid .muted{color:#333}.resume-grid{grid-template-columns:110px 1fr;gap:20px 30px}.resume-name{flex-direction:row}.resume-grid h4{margin:0!important}a{text-decoration:none}@page{size:A4;margin:18mm}}

.project-date{font:12px/1.8 ui-monospace,monospace;color:var(--muted);margin:0 0 12px}.project-top{margin-bottom:20px}.research-block{margin-top:26px;border-left:2px solid var(--accent);padding:24px;background:var(--panel)}.research-block .eyebrow{margin-bottom:12px}.research-block p:last-child{color:var(--muted);font-size:15px;margin-bottom:0}.resume-name small{font-size:17px;color:var(--muted)}.resume-name>a{color:var(--accent);font-size:14px}.resume-projects>div+div{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}@media print{.resume-name>a{color:#222}.resume-projects>div{break-inside:avoid}.resume-projects>div+div{border-color:#ddd}.resume-name small{color:#555}.resume-grid{font-size:14px}.resume-grid p{font-size:14px}.resume-name{break-after:avoid}}

.note-link{display:inline-block;color:var(--accent);font-size:14px;margin-top:20px;border-bottom:1px solid var(--accent)}.note-featured{border-top-color:var(--accent)!important}.article-main{max-width:1000px;padding-top:55px;padding-bottom:60px}.article-main h1{font-size:clamp(30px,4vw,48px);line-height:1.4;letter-spacing:0}.article-main h2{font-size:27px;margin:0 0 20px}.article-main h3{font-size:20px;margin-top:25px}.article-main p,.article-main li{font-size:16px;color:#c5d0dc}.article-main section{padding:35px 0;border-top:1px solid var(--line)}.article-main pre{font-size:14px;line-height:1.8;padding:22px;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--line)}.article-main table{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed;margin:24px 0}.article-main th,.article-main td{border:1px solid var(--line);padding:12px;text-align:left;vertical-align:top;overflow-wrap:anywhere}.article-main th{color:var(--accent);background:var(--panel)}.article-main a{color:var(--accent)}.article-meta{font-size:13px!important;color:var(--muted)!important}.notice{border-left:3px solid var(--accent);padding:18px;background:var(--panel);font-size:14px;margin:25px 0}.article-toc{display:flex;flex-wrap:wrap;gap:14px;padding:16px 0;margin-bottom:25px}.stage-diagram{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:25px 0}.stage-diagram div{border:1px solid var(--line);padding:12px 8px;text-align:center;font-size:14px;background:var(--panel)}@media(max-width:720px){.article-main{padding-top:35px}.stage-diagram{grid-template-columns:1fr}.article-toc{justify-content:flex-start;width:auto}.article-main table{font-size:13px}.article-main td,.article-main th{padding:8px}.article-main pre{font-size:13px;padding:14px}}
/* Markdown paragraphs inside existing flex layouts */
.actions>p,.hero-meta>p,.tags>p,.panel-top>p,.panel-bottom>p{display:contents}.pipe-row div>p{margin:0}.article-main pre code{white-space:inherit;font:inherit}
