:root{--bg: #0a0e17;--bg-soft: #101726;--card: #131c2e;--border: #1e2a45;--text: #e6edf7;--text-dim: #8ea0b8;--accent-1: #22d3ee;--accent-2: #a78bfa;--accent-3: #f472b6;--radius: 14px;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}::selection{background:#22d3ee4d}.container{max-width:960px;margin:0 auto;padding:0 24px}a{color:var(--accent-1);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-3)}.nav{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0e17b3;border-bottom:1px solid var(--border)}.nav-inner{max-width:960px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between}.logo{font-weight:700;font-size:18px;background:linear-gradient(90deg,var(--accent-1),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.nav-links{display:flex;gap:24px;font-size:14px}.nav-links a{color:var(--text-dim)}.nav-links a:hover{color:var(--accent-1)}.glow{position:fixed;width:480px;height:480px;border-radius:50%;filter:blur(160px);opacity:.22;pointer-events:none;z-index:-1}.glow-1{top:-120px;left:-80px;background:var(--accent-1)}.glow-2{top:40%;right:-160px;background:var(--accent-2)}.glow-3{bottom:-140px;left:30%;background:var(--accent-3)}.hero{padding:96px 0 64px}.avatar{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;font-size:40px;font-weight:800;color:#0a0e17;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));margin-bottom:24px;box-shadow:0 0 40px #22d3ee59}.hero h1{font-size:44px;line-height:1.2;letter-spacing:-.5px}.hero h1 .grad{background:linear-gradient(90deg,var(--accent-1),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.hero .tagline{margin-top:12px;font-size:18px;color:var(--text-dim)}.code-line{margin-top:24px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:13px;color:var(--accent-1);background:var(--bg-soft);border:1px solid var(--border);padding:12px 16px;border-radius:10px;display:inline-block}.skills{margin-top:28px;display:flex;flex-wrap:wrap;gap:10px}.skill-tag{font-family:JetBrains Mono,Consolas,monospace;font-size:13px;padding:5px 14px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--text-dim);transition:all .2s}.skill-tag:hover{border-color:var(--accent-1);color:var(--accent-1);box-shadow:0 0 16px #22d3ee40}.section{padding:64px 0}.section-title{display:flex;align-items:center;gap:12px;font-size:26px;margin-bottom:32px}.section-title .bar{width:4px;height:22px;border-radius:2px;background:linear-gradient(180deg,var(--accent-1),var(--accent-2))}.section-title code{font-family:JetBrains Mono,Consolas,monospace;font-size:14px;color:var(--text-dim);font-weight:400}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.project-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;transition:transform .2s,box-shadow .2s,border-color .2s}.project-card:hover{transform:translateY(-4px);border-color:var(--accent-1);box-shadow:0 12px 32px #22d3ee1f}.project-card h3{font-size:18px;margin-bottom:8px}.project-card p{font-size:14px;color:var(--text-dim);margin-bottom:16px}.project-lang{font-family:JetBrains Mono,Consolas,monospace;font-size:12px;color:var(--accent-2)}.blog-list{display:flex;flex-direction:column;gap:16px}.blog-item{display:flex;align-items:baseline;gap:20px;padding:16px 20px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .2s}.blog-item:hover{border-color:var(--accent-2)}.blog-item time{font-family:JetBrains Mono,Consolas,monospace;font-size:13px;color:var(--text-dim);flex-shrink:0}.blog-item .title{font-size:15px;color:var(--text)}.blog-item:hover .title{color:var(--accent-2)}.footer{border-top:1px solid var(--border);padding:32px 0 40px;text-align:center;color:var(--text-dim);font-size:13px}.footer .socials{display:flex;justify-content:center;gap:18px;margin-bottom:12px}@media (max-width: 640px){.hero{padding:64px 0 48px}.hero h1{font-size:32px}.blog-item{flex-direction:column;gap:4px;align-items:flex-start}.nav-links{gap:16px}}
