*{box-sizing:border-box;margin:0;padding:0}body{color:#24292f;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;line-height:1.5}a{color:#0969da;text-decoration:none}a:hover{text-decoration:underline}code{background:#f0f1f3;border-radius:3px;padding:1px 5px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.9em}.container{max-width:960px;margin:0 auto;padding:2rem 1.5rem}.terminal-window{background:#1a1b26;border-radius:10px;margin:2em 0;font-family:SF Mono,Fira Code,JetBrains Mono,Consolas,Courier New,monospace;overflow:hidden;box-shadow:0 12px 36px #00000040}.terminal-header{background:#16161e;border-bottom:1px solid #2a2b3d;align-items:center;gap:8px;padding:10px 16px;display:flex}.terminal-dot{border-radius:50%;width:12px;height:12px;display:inline-block}.terminal-dot.red{background:#f7768e}.terminal-dot.yellow{background:#e0af68}.terminal-dot.green{background:#9ece6a}.terminal-title{color:#565f89;margin-left:8px;font-size:13px}.terminal-body{color:#a9b1d6;padding:22px 24px;font-size:14.5px;line-height:1.9}.terminal-body p{margin:0}.tm-prompt{color:#9ece6a}.tm-cmd{color:#7aa2f7}.tm-out{color:#c0caf5}.tm-com{color:#565f89}.tm-key{color:#bb9af7}.tm-str{color:#9ece6a}.tm-blink{vertical-align:text-bottom;background:#9ece6a;width:8px;height:16px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.tech-tags{flex-wrap:wrap;gap:8px;margin:1em 0;display:flex}.tech-tag{color:#7aa2f7;white-space:nowrap;background:#1a1b26;border:1px solid #2a2b3d;border-radius:20px;padding:5px 14px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px}.project-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;margin:1.5em 0;display:grid}.project-card{border:1px solid #d0d7de;border-radius:10px;flex-direction:column;padding:20px;transition:box-shadow .2s,transform .2s;display:flex}.project-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0000001f}.project-card h3{margin:0 0 4px;font-size:18px}.project-card h3 a{text-decoration:none}.project-card .project-icon{margin-bottom:8px;font-size:22px}.project-card .project-desc{color:#57606a;flex-grow:1;margin:6px 0 12px;font-size:14px;line-height:1.6}.project-card .project-sub{margin:8px 0 0;padding:0;list-style:none}.project-card .project-sub li{color:#57606a;border-top:1px solid #f0f0f0;padding:3px 0;font-size:13px}.project-card .project-sub li a{text-decoration:none}.project-card .project-sub li:first-child{border-top:none}.project-card .project-meta{gap:6px;margin-top:auto;padding-top:10px;display:flex}.project-badge{color:#57606a;background:#f0f1f3;border-radius:4px;padding:2px 10px;font-family:SF Mono,Consolas,monospace;font-size:12px;display:inline-block}.contact-section{text-align:center;background:#1a1b26;border-radius:12px;margin:2em 0;padding:32px 24px}.contact-section h2{color:#a9b1d6;margin-top:0}.contact-section p{color:#565f89}.contact-links{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:20px;display:flex}.contact-link{border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.contact-link:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 6px 20px #0000004d}.contact-link i{font-size:18px}.contact-link.github{color:#fff;background:#24292e}.contact-link.email{color:#1a1b26;background:#7aa2f7}.section-title{border-bottom:2px solid #e1e4e8;align-items:center;gap:10px;margin-top:2em;padding-bottom:8px;display:flex}.section-title .section-num{color:#7aa2f7;font-family:SF Mono,Consolas,monospace;font-size:.9em}.lang-sub{color:#8b949e;font-size:.85em;font-weight:400}.stats-row{background:#f6f8fa;border-radius:10px;flex-wrap:wrap;gap:24px;margin:1.5em 0;padding:20px;display:flex}.stat-item{text-align:center;flex:1;min-width:100px}.stat-num{color:#0969da;font-family:SF Mono,Consolas,monospace;font-size:28px;font-weight:700}.stat-label{color:#57606a;margin-top:4px;font-size:13px}.bilingual p{margin:4px 0}.bilingual .lang-en{color:#24292f}.bilingual .lang-cn{color:#57606a}.project-github-stats{gap:6px;margin-top:auto;padding-top:10px;display:none}.project-github-stats .project-badge{align-items:center;gap:4px;display:inline-flex}.project-github-stats .project-badge i{font-size:11px}.activity-list{margin:1.5em 0}.activity-item{border-radius:8px;align-items:flex-start;gap:12px;padding:12px 16px;transition:background .2s;display:flex}.activity-item:hover{background:#f6f8fa}.activity-icon{color:#7aa2f7;background:#1a1b26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.activity-content{flex:1;font-size:14px;line-height:1.6}.activity-action{color:#57606a}.activity-repo{font-weight:600}.activity-time{color:#8b949e;margin-left:8px;font-size:12px}.heatmap-container{text-align:center;margin:1.5em 0;overflow-x:auto}.heatmap-container img{border-radius:8px;max-width:100%}.heatmap-legend{color:#8b949e;justify-content:flex-end;align-items:center;gap:4px;margin-top:8px;font-size:12px;display:flex}.heatmap-legend .heatmap-cell{border-radius:2px;width:12px;height:12px;display:inline-block}
