*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #0066cc;--primary-dark: #0052a3;--accent: #00a86b;--text-primary: #222;--text-secondary: #555;--text-muted: #888;--text-body: #444;--bg-primary: #fff;--bg-light: #f8f9fa;--bg-code: #f1f3f5;--border-primary: #222;--border-light: #e5e5e5;--border-lighter: #f0f0f0}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text-primary);background:var(--bg-primary);line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased}a{color:var(--text-primary)}a:hover{color:var(--primary)}code{background:var(--bg-code);padding:2px 6px;border-radius:3px;font-size:.9em;font-family:inherit;color:var(--text-primary)}.container{max-width:760px;margin:0 auto;padding:0 24px}.profile{padding:80px 0 48px;border-bottom:2px solid var(--border-primary)}.profile h1{font-size:40px;font-weight:700;letter-spacing:-.5px}.profile .role{font-size:19px;color:var(--text-secondary);margin-top:4px}.profile .intro{margin-top:20px;font-size:16px;color:var(--text-body);line-height:1.8}.profile .intro p{margin-bottom:12px}.profile .intro p:last-child{margin-bottom:0}.contact-links{margin-top:24px;display:flex;gap:16px}.contact-links a{color:var(--text-muted);font-size:22px;text-decoration:none;transition:color .2s;display:flex}.contact-links a:hover{color:var(--text-primary)}.section{padding:48px 0;border-bottom:1px solid var(--border-light)}.section:last-child{border-bottom:none}.section-title{font-size:26px;font-weight:700;margin-bottom:32px;letter-spacing:-.3px;position:relative;padding-bottom:12px}.section-title:after{content:"";position:absolute;bottom:0;left:0;width:40px;height:3px;background:var(--primary);border-radius:2px}.exp-timeline{position:relative;padding-left:40px}.exp-timeline:before{content:"";position:absolute;left:8px;top:8px;bottom:0;width:2px;background:linear-gradient(to bottom,var(--primary),rgba(0,102,204,.3))}.exp-item{position:relative;margin-bottom:48px;padding-bottom:0}.exp-item:last-child{margin-bottom:0}.exp-item:before{content:"";position:absolute;left:-38px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--primary);border:2px solid var(--primary-dark);z-index:1}.exp-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}.exp-company{font-size:21px;font-weight:700}.exp-period{font-size:16px;color:var(--text-muted)}.exp-position{font-size:16px;color:var(--text-secondary);margin-top:2px}.exp-desc{font-size:16px;color:var(--text-muted);margin-top:2px}.exp-list{margin-top:12px;padding-left:20px;list-style:none}.exp-list li{font-size:16px;color:var(--text-body);margin-bottom:8px;line-height:1.65}.exp-list li:before{content:"• ";margin-left:-20px;padding-right:8px;color:var(--primary)}.exp-tech{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}.exp-tech span{font-size:14px;color:#666;background:#f5f5f5;padding:3px 12px;border-radius:3px}.project-item{position:relative;margin-bottom:36px;padding-bottom:36px;padding-left:20px;border-bottom:1px solid var(--border-lighter)}.project-item:before{content:"";position:absolute;left:0;top:2px;bottom:36px;width:3px;background:var(--primary);border-radius:2px}.project-item[data-category=side]:before{background:var(--accent)}.project-item:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}.project-item:last-child:before{bottom:0}.project-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}.project-title{font-size:19px;font-weight:700;margin-right:8px}.project-meta{font-size:16px;color:var(--text-muted)}.project-company{font-size:16px;color:var(--text-secondary);margin-top:2px}.project-desc{font-size:16px;color:var(--text-body);margin-top:10px;line-height:1.75}.project-detail-title{font-size:15px;font-weight:700;color:var(--text-primary);margin-top:20px;margin-bottom:10px}.project-list{padding-left:20px;list-style:none}.project-list li{font-size:16px;color:var(--text-body);margin-bottom:6px;line-height:1.65}.project-list li:before{content:"• ";margin-left:-20px;padding-right:8px;color:var(--primary)}.project-tech{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}.project-tech span{font-size:14px;color:#666;background:#f5f5f5;padding:3px 12px;border-radius:3px}.project-link{display:inline-block;margin-top:10px;font-size:15px;color:var(--primary);text-decoration:none}.project-link:hover{text-decoration:underline}.badge{display:inline-block;font-size:12px;font-weight:600;padding:3px 10px;border-radius:12px;margin-left:6px;vertical-align:middle;letter-spacing:.3px}.badge-new{color:#1a7f37;background:#dafbe1;border:1px solid #b7f5c4}.badge-maintain{color:#0550ae;background:#ddf4ff;border:1px solid #b6e0fe}.badge-enhance{color:#953800;background:#fff8c5;border:1px solid #ffe499}.badge-side{color:#6e40c9;background:#eddeff;border:1px solid #d9bfff}.skill-item{margin-bottom:24px}.skill-item:last-child{margin-bottom:0}.skill-category{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:12px;position:relative;padding-left:12px}.skill-category:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:4px;background:var(--primary);border-radius:50%}.skill-items{display:flex;flex-wrap:wrap;gap:8px}.skill-tag{display:inline-block;padding:6px 14px;background:var(--bg-light);border:1px solid var(--border-light);border-radius:16px;font-size:14px;color:var(--text-body);transition:all .2s;cursor:default}.skill-tag:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 8px #06c3}.edu-item{margin-bottom:16px}.edu-item:last-child{margin-bottom:0}.edu-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}.edu-school{font-size:19px;font-weight:700}.edu-period{font-size:16px;color:var(--text-muted)}.edu-major{font-size:16px;color:var(--text-secondary);margin-top:2px}.edu-desc{font-size:15px;color:var(--text-secondary);margin-top:8px;line-height:1.75}.footer{padding:48px 0;text-align:center;font-size:15px;color:var(--text-muted)}@media(max-width:600px){body{font-size:15px}.profile{padding:48px 0 32px}.profile h1{font-size:32px}.profile .role{font-size:17px}.section{padding:36px 0}.section-title{font-size:22px;margin-bottom:24px}.exp-company,.edu-school{font-size:18px}.project-title{font-size:17px}.exp-period,.exp-position,.exp-desc,.project-meta,.project-company,.project-desc,.edu-period,.edu-major,.exp-list li,.project-list li{font-size:15px}.skill-tag{font-size:13px;padding:5px 12px}.exp-tech span,.project-tech span{font-size:13px}.skill-item{margin-bottom:16px}.exp-header,.project-header,.edu-header{flex-direction:column;gap:2px}}
