:root{--color-primary: #6366f1;--color-primary-dark: #4f46e5;--color-bg: #ffffff;--color-bg-secondary: #f8fafc;--color-text: #1e293b;--color-text-secondary: #64748b;--color-border: #e2e8f0;--color-tag-bg: #eef2ff;--color-tag-text: #4f46e5;--radius: 8px;--max-width: 720px;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif;color:var(--color-text);background:var(--color-bg);line-height:1.75;font-size:16px}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-dark)}img{max-width:100%;height:auto}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;width:100%;max-width:var(--max-width);margin:0 auto;padding:80px 20px 40px}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.navbar-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:56px}.navbar-logo{font-size:20px;font-weight:700;color:var(--color-text);letter-spacing:1px}.navbar-logo:hover{color:var(--color-primary)}.navbar-links{display:flex;gap:4px;list-style:none}.navbar-links a{display:inline-block;padding:6px 16px;border-radius:20px;font-size:14px;color:var(--color-text-secondary);transition:all .2s}.navbar-links a:hover,.navbar-links a.active{color:var(--color-primary);background:var(--color-tag-bg)}.navbar-toggle{display:none;background:none;border:none;font-size:24px;cursor:pointer;color:var(--color-text);padding:4px}@media (max-width: 600px){.navbar-toggle{display:block}.navbar-links{display:none;position:absolute;top:56px;left:0;right:0;flex-direction:column;background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:8px 20px;gap:2px}.navbar-links.open{display:flex}.navbar-links a{border-radius:var(--radius);padding:10px 16px}}.footer{border-top:1px solid var(--color-border);padding:24px 20px;text-align:center;font-size:13px;color:var(--color-text-secondary)}.footer a{color:var(--color-text-secondary)}.footer a:hover{color:var(--color-primary)}.hero{text-align:center;padding:40px 0 48px}.hero-avatar{width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),#a855f7);display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto 20px;color:#fff;-webkit-user-select:none;user-select:none}.hero-name{font-size:32px;font-weight:800;margin-bottom:4px;letter-spacing:1px}.hero-tagline{font-size:16px;color:var(--color-text-secondary);margin-bottom:24px}.hero-stats{display:flex;justify-content:center;gap:32px;font-size:14px;color:var(--color-text-secondary)}.hero-stats span{font-weight:600;color:var(--color-text)}.section-title{font-size:20px;font-weight:700;margin:48px 0 20px;display:flex;align-items:center;gap:8px}.section-title:after{content:"";flex:1;height:1px;background:var(--color-border)}.post-list{display:flex;flex-direction:column;gap:16px}.post-card{display:block;padding:20px 24px;border:1px solid var(--color-border);border-radius:var(--radius);transition:all .2s;color:var(--color-text)}.post-card:hover{border-color:var(--color-primary);box-shadow:0 2px 12px #6366f114;color:var(--color-text)}.post-card-title{font-size:18px;font-weight:600;margin-bottom:6px}.post-card-meta{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--color-text-secondary);margin-bottom:8px}.post-card-excerpt{font-size:14px;color:var(--color-text-secondary);line-height:1.6}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{display:inline-block;padding:3px 12px;border-radius:20px;font-size:12px;background:var(--color-tag-bg);color:var(--color-tag-text);cursor:pointer;border:none;transition:all .2s}.tag:hover,.tag.active{background:var(--color-primary);color:#fff}.post-header{text-align:center;padding:20px 0 32px}.post-title{font-size:28px;font-weight:800;margin-bottom:8px;line-height:1.3}.post-date{font-size:14px;color:var(--color-text-secondary)}.post-content{font-size:16px;line-height:1.85}.post-content h2{font-size:22px;font-weight:700;margin:32px 0 12px}.post-content h3{font-size:18px;font-weight:600;margin:24px 0 8px}.post-content p{margin:12px 0}.post-content ul,.post-content ol{padding-left:20px;margin:8px 0}.post-content li{margin:4px 0}.post-content code{background:var(--color-bg-secondary);padding:2px 6px;border-radius:4px;font-size:14px;font-family:var(--font-mono)}.post-content pre{background:#1e293b;color:#e2e8f0;padding:16px 20px;border-radius:var(--radius);overflow-x:auto;margin:16px 0;font-size:14px;line-height:1.6}.post-content pre code{background:none;padding:0;color:inherit}.post-content blockquote{border-left:3px solid var(--color-primary);padding:4px 16px;margin:16px 0;color:var(--color-text-secondary);background:var(--color-bg-secondary);border-radius:0 var(--radius) var(--radius) 0}.post-content hr{border:none;border-top:1px solid var(--color-border);margin:32px 0}.post-content a{text-decoration:underline;text-underline-offset:2px}.back-link{display:inline-flex;align-items:center;gap:4px;font-size:14px;color:var(--color-text-secondary);margin-bottom:16px}.back-link:hover{color:var(--color-primary)}.resume{max-width:680px;margin:0 auto}.resume-header{text-align:center;padding:24px 0 32px}.resume-name{font-size:32px;font-weight:800;letter-spacing:2px}.resume-subtitle{font-size:14px;color:var(--color-text-secondary);margin-top:4px}.resume-contact{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:12px;font-size:13px;color:var(--color-text-secondary)}.resume-section{margin-bottom:32px}.resume-section h2{font-size:18px;font-weight:700;padding-bottom:8px;border-bottom:2px solid var(--color-primary);margin-bottom:16px;display:flex;align-items:center;gap:8px}.resume-item{margin-bottom:16px}.resume-item-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}.resume-item-title{font-weight:600;font-size:15px}.resume-item-subtitle,.resume-item-date{font-size:13px;color:var(--color-text-secondary)}.resume-item p{font-size:14px;color:var(--color-text-secondary);margin-top:4px;line-height:1.6}.skills-list{display:flex;flex-wrap:wrap;gap:8px}.skill-badge{padding:6px 16px;border-radius:20px;font-size:13px;background:var(--color-bg-secondary);border:1px solid var(--color-border)}.empty-state{text-align:center;padding:60px 20px;color:var(--color-text-secondary)}.empty-state .icon{font-size:48px;margin-bottom:16px}.text-center{text-align:center}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}
