@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500&family=Noto+Serif+SC:wght@400;600&display=swap');
:root{--paper:#f3efe6;--ink:#282720;--muted:#7d7a70;--blue:#78909a;--line:rgba(0,0,0,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:12px "DM Sans",sans-serif}header{position:fixed;z-index:20;width:100%;padding:18px 5vw;background:#f3efe6e8;backdrop-filter:blur(12px);display:flex;justify-content:space-between;border-bottom:1px solid #0000000c}header a{color:inherit;text-decoration:none;margin-left:18px}section{min-height:100vh;padding:95px 6vw}#cv>h1{font:600 52px "Noto Serif SC";margin:20px 0 8px}#cv>h1 i{font:300 22px "DM Sans";font-style:normal;margin-left:14px}#cv>p{color:var(--muted)}em,small{font-style:normal}.cols{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:6vw;margin-top:25px}.cols main>h2{border-top:1px solid var(--line);padding-top:18px;margin-top:25px}h2{font:600 15px "Noto Serif SC"}h2 em{font:400 8px "DM Sans";color:var(--muted);margin-left:8px;letter-spacing:.12em}h3{font:600 14px "Noto Serif SC"}h3 small,.cols p em,article strong i,article li i{display:block;font:400 8.5px/1.5 "DM Sans";font-style:normal;color:var(--muted);margin-top:3px}article{position:relative;padding:4px 20px;margin:16px 0 22px}article p{font-size:10.5px;color:var(--blue);line-height:1.55}article ul{padding-left:16px;margin:7px 0}article li{font-size:9.5px;line-height:1.65;margin-bottom:5px}.entryline{display:flex;justify-content:space-between;gap:20px}.entryline strong{font:600 13px "Noto Serif SC"}.entryline time{font-size:9px;color:var(--muted);white-space:nowrap}#report{border:0;background:none;padding:0;text-align:left;cursor:pointer;color:inherit}#report:hover{color:var(--blue)}.research{display:grid;grid-template-columns:1fr 1fr;gap:11px 25px}.static-research p{margin:0;border-left:2px solid #87917d;padding:4px 0 4px 11px}.static-research strong{font:600 11px "Noto Serif SC"}.static-research b{display:block;font:400 8.5px "DM Sans";color:var(--blue);margin:3px 0}.static-research small{display:block;font-size:9px;line-height:1.55;color:var(--muted)}.static-research small i{display:block;font-style:normal;margin-top:3px}aside{border-left:1px solid var(--line);padding-left:22px}aside p{font-size:10px}aside p small{display:block;color:var(--muted);font-size:8.5px;margin-top:3px}#works>h2{border-bottom:1px solid var(--line);padding-bottom:18px}#works>button{width:100%;border:0;border-bottom:1px solid var(--line);background:none;padding:28px;display:grid;grid-template-columns:70px 1fr;text-align:left;font-size:12px;cursor:pointer}#works>button:hover{background:#ffffff66}#works b{font:400 38px "Noto Serif SC"}#works b small{display:block;font:400 11px "DM Sans";color:var(--muted);margin-top:7px}
.reader{position:fixed;inset:0;z-index:30;background:#171714;display:none;align-items:center;justify-content:center;gap:12px;padding:1vh 2vw;perspective:2500px}.reader.open{display:flex}.reader>button{width:42px;height:42px;border-radius:50%;background:#111b;color:#fff;border:1px solid #fff8;cursor:pointer}.close{position:absolute;z-index:20;right:18px;top:15px}.book{position:relative;display:flex;width:min(88vw,calc(96vh * 1.414));height:min(96vh,calc(88vw / 1.414));filter:drop-shadow(0 22px 34px #000c);perspective:2400px}.sheet{width:50%;height:100%;overflow:hidden;background:#eee}.sheet img,.flip-sheet img{width:100%;height:100%;object-fit:cover;display:block}.spine{position:absolute;z-index:5;top:0;bottom:0;left:calc(50% - 5px);width:10px;background:linear-gradient(90deg,#0009,#fff2,#0008);pointer-events:none}.flip-sheet{display:none;position:absolute;z-index:10;top:0;width:50%;height:100%;overflow:hidden;background:#eee;backface-visibility:hidden;transform-style:preserve-3d;box-shadow:-12px 0 25px #0007}.flip-sheet.next{display:block;left:50%;transform-origin:left;animation:turnNext .82s cubic-bezier(.3,.05,.16,1)}.flip-sheet.prev{display:block;left:0;transform-origin:right;animation:turnPrev .82s cubic-bezier(.3,.05,.16,1)}@keyframes turnNext{0%{transform:rotateY(0);filter:brightness(1)}48%{filter:brightness(.7)}100%{transform:rotateY(-180deg);filter:brightness(.92)}}@keyframes turnPrev{0%{transform:rotateY(0);filter:brightness(1)}48%{filter:brightness(.7)}100%{transform:rotateY(180deg);filter:brightness(.92)}}
.viewer{display:none;position:fixed;inset:0;z-index:40;background:#ddd9cf}.viewer.open{display:grid;grid-template-rows:auto 1fr}.viewer-head{padding:14px 24px;display:flex;justify-content:space-between;align-items:center;background:#f3efe6;border-bottom:1px solid var(--line)}.viewer-head small{font-size:8px;letter-spacing:.14em;color:var(--muted)}.viewer-head h1{font:500 22px "Noto Serif SC";margin:4px 0}.viewer-head p{font-size:9px;color:var(--muted);margin:0}.viewer-actions{display:flex;align-items:center;gap:12px}.viewer-actions a{color:inherit;text-decoration:none;font-size:9px;border-bottom:1px solid;padding:6px 0}.vclose{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:none;font-size:20px}.pdf-object,.pdf-object iframe{width:100%;height:100%;border:0;background:#777}
@media(max-width:700px){.cols,.research{grid-template-columns:1fr}aside{border:0;padding-left:0}.entryline{display:block}.entryline time{display:block;margin-top:5px}#works{padding:85px 20px}#works>button{grid-template-columns:35px 1fr;padding:22px 0}#works b{font-size:27px}.reader{padding:2px;gap:3px}.book{width:78vw;height:92vh}.left-sheet{display:none}.sheet{width:100%}.spine{display:none}.flip-sheet.next,.flip-sheet.prev{left:0;width:100%;transform-origin:left}.viewer-head{align-items:flex-start}.viewer-actions a{display:none}}
/* V6: restore V3 resume layout */
.resume{min-height:100vh;padding:105px 6vw 58px;background:linear-gradient(135deg,#f7f3eb 0%,#ece9df 100%)}.resume-head{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;padding-bottom:28px;border-bottom:1px solid var(--line)}.eyebrow{font-size:9px;letter-spacing:.18em}.resume-head h1{font:600 clamp(46px,5.8vw,82px)/1 "Noto Serif SC";margin:17px 0 10px}.resume-head h1 small{font:300 clamp(18px,2vw,30px)/1 "DM Sans";letter-spacing:.08em;margin-left:16px;color:var(--ink)}.role{margin:0;color:var(--muted);font-size:12px;letter-spacing:.07em}.role span{font-size:9px;letter-spacing:.03em}.resume address{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-style:normal}.resume address a,.resume address span{color:inherit;text-decoration:none;font-size:10px}.cv-grid{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:7vw;padding-top:30px}.cv-block{padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--line)}.cv-block h2,.resume-side h2{font:600 14px "Noto Serif SC";margin:0 0 18px}.cv-block h2>b{font:400 9px "DM Sans";color:var(--blue);margin-right:12px}.cv-block h2 em,.resume-side h2 em{font:400 8px "DM Sans";color:var(--muted);letter-spacing:.12em;margin-left:8px}.cv-block article{padding-left:28px;margin:0 0 18px}.cv-block .entryline{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.cv-block .entryline strong{font:600 13px "Noto Serif SC"}.cv-block .entryline strong i{display:block;font:400 8.5px/1.45 "DM Sans";color:var(--muted);margin-top:2px}.cv-block time{font-size:9px;color:var(--muted);white-space:nowrap}.cv-block article>p{margin:5px 0;color:var(--blue);font-size:10.5px}.cv-block article>p span{font-size:8.5px;color:var(--muted)}.cv-block article>small{display:block;font-size:9px;line-height:1.6;color:var(--muted)}.cv-block article>small i,.cv-block li i{display:block;font-style:normal;color:#8a867c;margin-top:2px}.cv-block ul{padding-left:16px;margin:7px 0}.cv-block li{font-size:9.5px;line-height:1.65;margin:4px 0}.research{padding-left:28px}.resume-side{border-left:1px solid var(--line);padding-left:26px}.resume-side section{padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--line)}.resume-side p{font-size:10px;line-height:1.5}.resume-side p>span{display:block;color:var(--muted);font-size:8.5px;margin-top:2px}.resume-side p>b{color:var(--blue);font-size:9px}.down{display:flex;justify-content:space-between;color:inherit;text-decoration:none;border-bottom:1px solid;padding:11px 0;font-size:10px}.down span{color:var(--muted)}
@media(max-width:700px){.resume{padding:90px 22px 50px}.resume-head{align-items:flex-start;flex-direction:column}.resume-head h1 small{display:block;margin:10px 0 0}.resume address{align-items:flex-start}.cv-grid{grid-template-columns:1fr}.cv-block article,.research{padding-left:0}.resume-side{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.cv-block .entryline{flex-direction:column;gap:4px}}
