@font-face{font-family:ZenMaruGothic-Medium;src:url(/assets/font/ZenMaruGothic-Medium.ttf) format("truetype");font-weight:500;font-display:swap}:root{--paper: rgba(255, 255, 255, .96);--paper-solid: #ffffff;--ink: #2b221f;--muted: #5c514a;--body: #493f3a;--line: rgba(43, 34, 31, .16);--accent: #b85f0b;--accent-soft: rgba(184, 95, 11, .1);--shadow: 0 24px 90px rgba(52, 38, 27, .18);--page-width: 1120px;font-family:ZenMaruGothic-Medium,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0;color:var(--ink);background:#e6ded5}html[data-lang=en] .resume-panel[data-resume-lang=zh],html[data-lang=zh] .resume-panel[data-resume-lang=en]{display:none}html[data-lang=en] .language-toggle,.resume-panel[lang=en]{font-family:Times New Roman,Times,serif}html[data-lang=zh] .language-toggle,.resume-panel[lang=zh-CN]{font-family:SimSun,宋体,Songti SC,STSong,"Noto Serif CJK SC","Source Han Serif SC",serif}a{color:inherit;text-decoration:none}.background-image{position:fixed;inset:0;z-index:-2;background:url(/assets/desktop-banner/1.webp) center / cover no-repeat;filter:saturate(.95) brightness(1.03)}.page-tint{position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,#ffffff9e,#f1eae2d1),#f2ece580;backdrop-filter:blur(10px)}.language-toggle{position:fixed;top:18px;right:18px;z-index:5;min-width:82px;min-height:40px;padding:8px 14px;border:1px solid rgba(255,255,255,.82);border-radius:8px;color:var(--accent);background:#ffffffdb;box-shadow:0 12px 36px #34261b29;backdrop-filter:blur(16px);cursor:pointer;font:inherit;font-size:.9rem;font-weight:800}.language-toggle:hover{background:var(--paper-solid)}.language-toggle:focus-visible{outline:3px solid rgba(184,95,11,.28);outline-offset:3px}.resume-page{width:min(var(--page-width),calc(100% - 32px));margin:42px auto;padding:clamp(28px,4vw,56px);border:1px solid rgba(255,255,255,.7);border-radius:8px;background:var(--paper);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.resume-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:start;padding-bottom:30px;border-bottom:2px solid var(--line)}.eyebrow{margin:0 0 12px;color:var(--accent);font-size:.9rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{overflow-wrap:anywhere}h1{margin:0;font-size:clamp(3.2rem,8vw,6.3rem);line-height:.92;letter-spacing:0}.headline{max-width:760px;margin:20px 0 0;color:var(--muted);font-size:clamp(1.08rem,2vw,1.35rem);line-height:1.65}.hero-facts{display:grid;grid-template-columns:160px minmax(0,1fr);gap:8px 16px;max-width:860px;margin:20px 0 0}.hero-facts dt{color:var(--muted);font-size:.88rem}.hero-facts dd{margin:0;font-weight:800;line-height:1.45}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}.tag-list li{padding:6px 10px;border-radius:8px;color:var(--accent);background:var(--accent-soft);font-size:.78rem;font-weight:800}.contact-block{display:grid;gap:10px;min-width:260px;font-style:normal;text-align:right}.contact-block a{display:grid;gap:2px;color:var(--accent);font-weight:800}.contact-block a span{color:var(--muted);font-size:.72rem;text-transform:uppercase}.resume-section{display:grid;grid-template-columns:178px minmax(0,1fr);gap:30px;padding:30px 0;border-bottom:1px solid var(--line)}.section-title{display:grid;align-content:start;gap:8px}.section-title span{color:var(--accent);font-size:.82rem;font-weight:800}.section-title h2{margin:0;font-size:1rem;line-height:1.25;text-transform:uppercase}.section-body>p,.compact-list,.highlight-list,.project-entry li,.skill-group p{color:var(--body);font-weight:500;line-height:1.75}.summary-section .section-body p{margin:0;max-width:820px;font-size:1.08rem}.resume-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 34px;border-bottom:1px solid var(--line)}.resume-grid .resume-section{border-bottom:0}.fact-list{display:grid;grid-template-columns:minmax(120px,.45fr) minmax(0,1fr);gap:12px 16px;margin:0}.fact-list dt{color:var(--muted)}.fact-list dd{margin:0;font-weight:800}.compact-list{margin:0;padding-left:18px}.compact-list li+li{margin-top:8px}.highlight-list{margin:0;padding-left:18px}.highlight-list li+li{margin-top:8px}.project-timeline{display:grid;gap:18px}.project-entry{padding:0 0 18px;border-bottom:1px solid var(--line)}.project-entry:last-child{padding-bottom:0;border-bottom:0}.project-heading{display:grid;gap:6px}.project-heading h3{margin:0;font-size:1.18rem}.project-heading h3 a:hover{color:var(--accent)}.project-heading p{margin:0;color:var(--ink);font-size:.98rem;font-weight:800;line-height:1.45}.project-stack{margin:10px 0 0;color:var(--accent);font-size:.92rem;font-weight:800;line-height:1.55}.project-meta{margin:6px 0 0;color:var(--muted);font-size:.88rem;font-weight:600;line-height:1.5}.project-entry ul{margin:14px 0 0;padding-left:18px}.project-entry li+li{margin-top:8px}.skill-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.skill-group{padding:16px;border:1px solid var(--line);border-radius:8px;background:#ffffff61}.skill-group h3{margin:0 0 10px;color:var(--accent);font-size:1rem}.skill-group p{margin:0}.award-list{display:grid;grid-template-columns:1fr;gap:14px}.award-item{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}.award-item:last-child,.award-item:only-child{padding-bottom:0;border-bottom:0}.award-item>span{color:var(--accent);font-size:.82rem;font-weight:800}.award-item h3{margin:0;font-size:1rem;line-height:1.35}.award-item p{margin:6px 0 0;color:var(--body);font-weight:500;line-height:1.45}.resume-panel[lang=zh-CN] .headline,.resume-panel[lang=zh-CN] .section-body>p,.resume-panel[lang=zh-CN] .compact-list,.resume-panel[lang=zh-CN] .highlight-list,.resume-panel[lang=zh-CN] .project-entry li,.resume-panel[lang=zh-CN] .skill-group p,.resume-panel[lang=zh-CN] .award-item p{font-weight:600}.beian-footer{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 22px;padding-top:22px;border-top:1px solid var(--line);color:#2b221f94;font-size:.86rem}.beian-footer a{display:inline-flex;align-items:center;gap:5px}.beian-footer a:hover{color:var(--accent)}.beian-footer img{width:14px;height:14px}@media(max-width:920px){.language-toggle{top:12px;right:12px}.resume-page{width:min(100% - 20px,var(--page-width));margin:10px auto;padding:24px}.resume-header,.resume-section,.resume-grid,.skill-columns,.award-list{grid-template-columns:1fr}.resume-section{gap:14px}.contact-block{min-width:0;text-align:left}}@media(max-width:620px){.resume-page{padding:20px 16px}h1{font-size:clamp(2.8rem,16vw,4.5rem)}.fact-list{grid-template-columns:1fr;gap:6px}.fact-list dd{margin-bottom:10px}.project-heading{display:grid}.project-heading span{width:fit-content}.award-item{grid-template-columns:1fr;gap:6px}}
