:root{color:#1f1b16;--page-bg:#f4f3ee;--page-bg-deep:#efe9de;--card-bg:#faf8f1e0;--card-bg-solid:#faf8f1;--card-border:#c7beaeb8;--text-main:#1f1b16;--text-muted:#6f665c;--text-soft:#7b7166;--accent:#c15f3c;--accent-dark:#8f452d;--accent-soft:#f0ded4;--warm-shadow:#513b2b1a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f4f3ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,PingFang SC,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(135deg, #f4f3eefa, #efe9def5 55%, #faf8f1f0), var(--page-bg);min-width:320px;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0}main{width:min(1160px,100% - 40px);margin:0 auto}.site-header{z-index:10;border-bottom:1px solid var(--card-border);-webkit-backdrop-filter:blur(22px)saturate(1.25);backdrop-filter:blur(22px)saturate(1.25);background:linear-gradient(135deg,#faf8f1eb,#f4f3eedb 55%,#f0ded480),#faf8f1c7;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;width:100vw;margin-left:50%;padding:18px max(20px,50vw - 580px);display:grid;position:sticky;top:0;transform:translate(-50%);box-shadow:inset 0 1px #ffffffb8,0 12px 36px #513b2b12}.brand-group{border:1px solid var(--card-border);background:#faf8f1b8;border-radius:8px;flex:none;align-items:center;gap:18px;padding:13px 18px;display:flex;box-shadow:0 10px 26px #513b2b0e}.brand,.brand-meta{color:var(--text-main);letter-spacing:0;flex:none;font-weight:800}nav{min-width:0;color:var(--text-muted);white-space:nowrap;gap:18px;font-size:14px;font-weight:700;display:flex}nav a{border-radius:6px;padding:6px 0}nav a:hover{color:var(--accent)}.export-pdf-button{color:#fffaf2;background:#c15f3c;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:9px 14px;font-size:13px;font-weight:900;line-height:1.2;display:inline-flex;box-shadow:0 10px 24px #c15f3c38}.export-pdf-button:hover{background:#ad5637}.export-pdf-button:disabled{cursor:wait;opacity:1}.export-spinner{border:2px solid #fffaf26b;border-top-color:#fffaf2;border-radius:999px;flex:none;width:16px;height:16px;animation:.75s linear infinite export-spin}@keyframes export-spin{to{transform:rotate(360deg)}}.pdf-export-clone .site-header{width:100%;margin-left:0;padding-left:0;padding-right:0;position:static;transform:none}.pdf-export-wrapper{background:var(--page-bg);width:794px;color:var(--text-main);gap:24px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,PingFang SC,sans-serif;display:grid}.pdf-page{background:linear-gradient(135deg, #f4f3eefa, #efe9def5 55%, #faf8f1f0), var(--page-bg);flex-direction:column;width:794px;height:1123px;padding:52px 56px 44px;display:flex;position:relative;overflow:hidden}.pdf-header,.pdf-page-title,.pdf-education{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.pdf-header{border-bottom:1px solid var(--card-border);margin-bottom:28px;padding-bottom:18px}.pdf-header h1,.pdf-page-title h2{color:var(--text-main);letter-spacing:0;margin:0}.pdf-header h1{font-size:34px;line-height:1.1}.pdf-header p,.pdf-hero-block p,.pdf-project p,.pdf-card p,.pdf-education p,.pdf-timeline-card li{color:var(--text-muted);margin:0;font-size:13px;line-height:1.68}.pdf-contact-lines{color:var(--accent-dark);text-align:right;gap:6px;font-size:12px;font-weight:800;line-height:1.4;display:grid}.pdf-page-body{gap:24px;display:grid}.pdf-hero-block,.pdf-card,.pdf-project,.pdf-timeline-card,.pdf-skill-card,.pdf-stat,.pdf-education{border:1px solid var(--card-border);background:var(--card-bg);border-radius:8px;box-shadow:0 14px 34px #513b2b12}.pdf-hero-block{padding:28px}.pdf-hero-block h2,.pdf-page-title h2{color:var(--text-main);margin:0 0 10px;font-size:26px;line-height:1.18}.pdf-eyebrow{color:var(--accent-dark);margin:0 0 8px;font-size:11px;font-weight:900;line-height:1.2}.pdf-stat-grid,.pdf-three-grid,.pdf-skill-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.pdf-stat{border-left:3px solid var(--accent);padding:14px}.pdf-stat strong{color:var(--accent-dark);margin-bottom:5px;font-size:20px;line-height:1.1;display:block}.pdf-stat span{color:var(--text-soft);font-size:11px;line-height:1.35}.pdf-card{min-height:154px;padding:18px}.pdf-card h3,.pdf-project h3,.pdf-timeline-card h3,.pdf-skill-card h3,.pdf-education h3{color:var(--text-main);margin:0 0 8px;font-size:17px;line-height:1.28}.pdf-card strong{color:var(--text-main);margin-top:12px;font-size:12px;line-height:1.55;display:block}.pdf-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.pdf-project{min-height:276px;padding:18px}.pdf-project>span{color:var(--accent);margin-bottom:10px;font-size:11px;font-weight:900;display:block}.pdf-impact{border-left:3px solid var(--accent);color:#4f463e;margin:14px 0;padding-left:10px;font-size:12px;line-height:1.55}.pdf-tags{flex-wrap:wrap;gap:7px;display:flex}.pdf-tags span{border:1px solid var(--card-border);color:#4f463e;background:#fffcf6d1;border-radius:6px;padding:5px 8px;font-size:10px;font-weight:800;line-height:1.1}.pdf-timeline{gap:12px;display:grid}.pdf-timeline-item{grid-template-columns:132px minmax(0,1fr);align-items:start;gap:14px;display:grid}.pdf-date{color:var(--accent);font-size:12px;font-weight:900;line-height:1.4}.pdf-timeline-card{padding:15px 17px}.pdf-timeline-card strong{color:var(--accent-dark);margin-bottom:8px;font-size:12px;display:block}.pdf-timeline-card ul{margin:0;padding-left:18px}.pdf-skill-card{min-height:124px;padding:16px}.pdf-education{margin-top:28px;padding:20px}.pdf-page-footer{border-top:1px solid var(--card-border);color:var(--text-soft);text-align:right;margin-top:auto;padding-top:12px;font-size:10px;line-height:1.2}a:focus-visible,button:focus-visible{outline-offset:4px;outline:3px solid #c15f3c47}.hero{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:stretch;gap:28px;padding:60px 0 52px;display:grid}.hero-copy,.metric-panel,.pillar-card,.project-card,.timeline-body,.contact-section{border:1px solid var(--card-border);background:var(--card-bg);box-shadow:0 20px 50px var(--warm-shadow);-webkit-backdrop-filter:blur(18px)saturate(1.15);backdrop-filter:blur(18px)saturate(1.15);border-radius:8px}.hero-copy{flex-direction:column;justify-content:center;padding:40px;display:flex}.role{color:var(--accent);margin:0 0 12px;font-size:14px;font-weight:800;line-height:1.5}h1,h2,h3,p{margin-top:0}h1{max-width:760px;color:var(--text-main);letter-spacing:0;margin-bottom:20px;font-size:48px;line-height:1.12}.summary{max-width:780px;color:var(--text-muted);margin-bottom:0;font-size:17px;line-height:1.8}.hero-actions,.contact-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.hero-actions a,.hero-actions button,.contact-actions a,.contact-actions button{color:#fffaf2;overflow-wrap:anywhere;word-break:break-word;background:#2f2721;border-radius:8px;justify-content:center;align-items:center;gap:8px;max-width:100%;min-height:44px;padding:11px 15px;font-weight:800;line-height:1.35;display:inline-flex}.hero-actions svg,.contact-actions svg{flex:none}.hero-actions a:nth-child(2),.hero-actions button:nth-child(2),.contact-actions a:nth-child(2),.contact-actions button:nth-child(2){background:var(--accent-soft);color:var(--accent-dark)}.metric-panel{grid-template-columns:1fr;gap:10px;padding:18px;display:grid}.metric{border-left:3px solid var(--accent);background:#fffcf6c7;border-radius:8px;padding:15px 16px}.metric:nth-child(2n){border-left-color:#b1ada1}.metric:nth-child(3n){border-left-color:var(--accent-dark)}.metric strong{color:var(--accent-dark);font-size:25px;line-height:1.15;display:block}.metric span{color:var(--text-soft);margin-top:7px;font-size:13px;line-height:1.55;display:block}.section{padding:52px 0}.section-header{max-width:760px;margin-bottom:24px}.section-header span{color:var(--accent-dark);letter-spacing:0;margin-bottom:9px;font-size:13px;font-weight:900;display:inline-block}.section-header h2,.contact-section h2{color:var(--text-main);letter-spacing:0;margin-bottom:12px;font-size:34px;line-height:1.22}.section-header p{color:var(--text-muted);margin-bottom:0;line-height:1.75}.pillar-grid,.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.pillar-card,.project-card{padding:22px}.pillar-card svg{color:var(--accent)}.pillar-card h3,.project-card h3{color:var(--text-main);margin:14px 0 10px;font-size:21px;line-height:1.3}.pillar-card p,.project-card p,.timeline-body li{color:var(--text-muted);line-height:1.7}.pillar-card p,.project-card p{margin-bottom:0}.pillar-card strong{color:var(--text-main);margin-top:14px;line-height:1.6;display:block}.project-section{padding-top:62px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{gap:18px;min-height:300px;display:grid}.project-category{color:var(--accent);font-size:13px;font-weight:900;line-height:1.5}.project-impact{border-left:3px solid var(--accent);color:#4f463e;align-items:flex-start;gap:9px;padding-left:12px;line-height:1.65;display:flex}.project-impact svg{color:var(--accent-dark);flex:none;margin-top:3px}.tags,.skill-cloud{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.tags span,.skill-cloud span{border:1px solid var(--card-border);color:#4f463e;overflow-wrap:anywhere;white-space:nowrap;background:#fffcf6d1;border-radius:8px;flex:none;justify-content:center;align-items:center;max-width:100%;height:34px;padding:7px 12px;font-size:12px;font-weight:800;line-height:1.2;display:inline-flex}.project-links{flex-wrap:wrap;gap:8px;margin-top:-6px;display:flex}.project-links a{color:#fffaf2;background:#2f2721;border-radius:8px;align-items:center;gap:5px;padding:8px 10px;font-size:12px;font-weight:900;line-height:1.2;display:inline-flex}.project-links a:nth-child(2){background:var(--accent-soft);color:var(--accent-dark)}.timeline{gap:14px;display:grid}.timeline-item{grid-template-columns:180px minmax(0,1fr);align-items:stretch;gap:18px;display:grid}.timeline-date{color:var(--accent);padding-top:22px;font-weight:900;line-height:1.5}.timeline-body{padding:22px}.timeline-title{align-items:center;gap:9px;display:flex}.timeline-title svg{color:var(--accent);flex:none}.timeline-title h3{color:var(--text-main);margin:0;font-size:20px;line-height:1.35}.job-title{color:var(--accent-dark);margin:8px 0 12px;font-weight:900;line-height:1.5}.timeline-body ul{margin:0;padding-left:20px}.timeline-body li+li{margin-top:6px}.skill-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.skill-group{border:1px solid var(--card-border);-webkit-backdrop-filter:blur(16px)saturate(1.12);backdrop-filter:blur(16px)saturate(1.12);background:#faf8f1c7;border-radius:8px;padding:18px;box-shadow:0 16px 42px #513b2b11}.skill-group h3{color:var(--text-main);margin-bottom:12px;font-size:18px;line-height:1.3}.skill-cloud{max-width:100%}.skill-cloud span{color:#3f372f;background:#fffcf6db;font-size:14px}.contact-section{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin:52px 0 40px;padding:34px;display:grid}.contact-section h2{max-width:780px}.contact-meta{color:var(--text-muted);flex-wrap:wrap;gap:14px;line-height:1.5;display:flex}.contact-meta span{overflow-wrap:anywhere;align-items:center;gap:7px;max-width:100%;display:inline-flex}.contact-meta svg{color:var(--accent);flex:none}.site-footer{background:var(--page-bg);color:var(--text-main);justify-content:center;align-items:center;margin:0 calc(50% - 50vw);padding:15px 20px;font-size:16px;line-height:1.4;display:flex}.contact-modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1f1b165c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.contact-modal{border:1px solid var(--card-border);background:var(--card-bg-solid);border-radius:8px;width:min(420px,100%);padding:28px;box-shadow:0 28px 80px #513b2b47}.contact-modal h2{color:var(--text-main);letter-spacing:0;margin-bottom:16px;font-size:28px;line-height:1.25}.contact-modal-lines{gap:10px;display:grid}.contact-modal-lines p{color:var(--text-main);overflow-wrap:anywhere;background:#fffcf6e6;border-radius:8px;margin:0;padding:12px 14px;font-size:18px;font-weight:800;line-height:1.45}@media (width<=920px){main{width:min(100% - 28px,760px)}.hero,.pillar-grid,.project-grid,.skill-groups,.contact-section{grid-template-columns:1fr}.hero{padding-top:38px}h1{font-size:40px}.metric-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-actions{margin-top:0}}@media (width<=640px){main{width:min(100% - 24px,100%)}.site-header{grid-template-columns:1fr;align-items:flex-start;gap:10px;width:100vw;margin-left:50%;padding:14px 12px;transform:translate(-50%)}.brand-group{justify-content:center;gap:14px;width:100%}nav{gap:14px;width:100%;padding-bottom:4px;overflow-x:auto}.export-pdf-button{width:100%}.hero{gap:18px;padding:26px 0 36px}.hero-copy,.metric-panel,.pillar-card,.project-card,.timeline-body,.contact-section,.skill-group{box-shadow:0 12px 30px #0f172a0d}.hero-copy,.contact-section{padding:24px}h1{font-size:33px}.summary{font-size:15px}.hero-actions,.contact-actions{margin-top:22px}.hero-actions a,.hero-actions button,.contact-actions a,.contact-actions button{width:100%}.metric-panel{grid-template-columns:1fr}.section{padding:38px 0}.section-header h2,.contact-section h2{font-size:27px}.project-card{min-height:auto}.timeline-item{grid-template-columns:1fr;gap:8px}.timeline-date{padding-top:0}.timeline-title{align-items:flex-start}.contact-modal{padding:24px}.contact-modal h2{font-size:25px}.contact-modal-lines p{font-size:16px}.site-footer{text-align:center;padding:12px 16px;font-size:14px}}
