:root{--bg:#f4f5f7;--bg-alt:#fff;--text:#111118;--text-secondary:#3f4453;--accent:#16a34a;--accent-hover:#15803d;--accent-glow:#16a34a1a;--border:#dce0e6;--card-bg:#fff;--shadow:0 4px 20px #0000000f;--nav-bg:#f4f5f7d9;--gradient-1:#16a34a;--gradient-2:#0d9488;--gradient-3:#2563eb}.dark{--bg:#0a0a0f;--bg-alt:#111118;--text:#e4e4f0;--text-secondary:#a7adbb;--accent:#22c55e;--accent-hover:#16a34a;--accent-glow:#22c55e26;--border:#1a1a2a;--card-bg:#111118;--shadow:0 4px 24px #0006;--nav-bg:#0a0a0fd9;--gradient-1:#22c55e;--gradient-2:#06b6d4;--gradient-3:#10b981}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,sans-serif;line-height:1.7;transition:background .3s,color .3s;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(at 20%,#22c55e0f 0%,#0000 50%),radial-gradient(at 80% 20%,#06b6d40a 0%,#0000 50%),radial-gradient(at 50% 80%,#10b9810a 0%,#0000 50%);width:100%;height:100%;position:fixed;top:0;left:0}.container{max-width:900px;margin:0 auto;padding:0 24px}header{z-index:100;background:var(--nav-bg);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:fixed;top:0;left:0;right:0}nav{justify-content:space-between;align-items:center;height:64px;display:flex}.logo{color:var(--accent);font-family:JetBrains Mono,monospace;font-size:18px;font-weight:600;text-decoration:none}.logo:hover{opacity:.8}.nav-links{gap:2rem;display:flex}.mobile-menu-toggle{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:42px;height:42px;transition:all .2s;display:none}.mobile-menu-toggle span{background:currentColor;border-radius:999px;width:16px;height:2px;transition:transform .2s,opacity .2s;display:block}.mobile-menu-toggle.open span:first-child{transform:translateY(6px)rotate(45deg)}.mobile-menu-toggle.open span:nth-child(2){opacity:0}.mobile-menu-toggle.open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.mobile-menu{display:none}.nav-links a{color:var(--text-secondary);font-size:14px;font-weight:500;text-decoration:none;transition:color .2s;position:relative}.nav-links a:after{content:"";background:var(--accent);border-radius:1px;width:0;height:2px;transition:width .2s;position:absolute;bottom:-4px;left:0}.nav-links a:hover{color:var(--accent)}.nav-links a:hover:after{width:100%}.nav-links a.active{color:var(--accent)}.nav-links a.active:after{width:100%}.nav-actions{align-items:center;gap:8px;display:flex}.lang-dropdown{position:relative}.lang-btn{background:var(--card-bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:2px;min-width:52px;padding:5px 12px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;transition:all .2s;display:flex}.lang-btn:hover{border-color:var(--accent);color:var(--accent)}.lang-menu{background:var(--card-bg);border:1px solid var(--border);opacity:0;pointer-events:none;z-index:10;border-radius:8px;min-width:52px;transition:all .15s;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;transform:translateY(-4px)}.lang-menu.open{opacity:1;pointer-events:auto;transform:translateY(0)}.lang-menu:has(.active){opacity:1;pointer-events:auto;transform:translateY(0)}.lang-option{width:100%;color:var(--text-secondary);cursor:pointer;text-align:center;background:0 0;border:none;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500;transition:all .15s;display:block}.lang-option:hover{background:var(--accent-glow);color:var(--accent)}.lang-option.active{color:var(--accent);background:var(--accent-glow)}.theme-toggle{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;align-items:center;padding:8px;transition:all .2s;display:flex}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.hero{align-items:center;min-height:100vh;padding-top:64px;display:flex;position:relative}.hero-content{z-index:1;max-width:700px;position:relative}.hero-label{color:var(--accent);align-items:center;gap:8px;margin-bottom:16px;font-family:JetBrains Mono,monospace;font-size:14px;display:flex}.hero-label:before{content:"";background:var(--accent);width:40px;height:1px;display:inline-block}h1{letter-spacing:-2px;margin-bottom:8px;font-size:clamp(40px,8vw,72px);font-weight:800;line-height:1.05}.gradient-text{background:linear-gradient(135deg,var(--gradient-1),var(--gradient-2),var(--gradient-3));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@keyframes gradient-shift{0%,to{background-position:0%}50%{background-position:100%}}.hero-kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;font-size:15px;font-weight:700}.hero-role{color:var(--text-secondary);letter-spacing:-.03em;margin-bottom:18px;font-size:clamp(22px,4vw,34px);font-weight:700}.hero-desc{color:var(--text-secondary);max-width:620px;margin-bottom:40px;font-size:18px}.hero-desc a{color:var(--accent);font-weight:600;text-decoration:none}.hero-stats{gap:32px;margin-bottom:36px;display:flex}.hero-stat{flex-direction:column;display:flex}.hero-stat-num{color:var(--text);letter-spacing:-1px;font-size:28px;font-weight:700}.hero-stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;font-family:JetBrains Mono,monospace;font-size:12px}.hero-cta{gap:16px;display:flex}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;padding:14px 28px;font-size:14px;font-weight:600;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background:var(--accent);color:#000}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-3px)}.btn-ghost{color:var(--text);border:1px solid var(--border);background:0 0}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-3px)}.section{opacity:0;padding:100px 0;transition:all .7s cubic-bezier(.4,0,.2,1);transform:translateY(40px)}.section.revealed{opacity:1;transform:translateY(0)}.section-header{align-items:center;gap:16px;margin-bottom:48px;display:flex}.section-header.centered{text-align:center;flex-direction:column}.section-number{color:var(--accent);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:16px;font-weight:500}.section-header h2{color:var(--text);white-space:nowrap;margin-bottom:0;font-size:28px}.section-line{background:var(--border);flex:1;height:1px}.about-grid{grid-template-columns:1.2fr 1fr;align-items:start;gap:48px;display:grid}.about-text p{color:var(--text-secondary);margin-bottom:16px;font-size:16px}.about-group{border-top:1px solid var(--border);margin-top:28px;padding-top:20px}.about-group-label{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px;font-family:JetBrains Mono,monospace;font-size:12px}.skills{grid-template-columns:1fr 1fr;gap:8px;margin-top:20px;list-style:none;display:grid}.skills li{color:var(--text-secondary);cursor:default;padding:6px 0 6px 20px;font-family:JetBrains Mono,monospace;font-size:13px;transition:color .2s;position:relative}.skills li:hover{color:var(--accent)}.skills li:before{content:"▹";color:var(--accent);font-size:14px;position:absolute;left:0}.skills li i{vertical-align:middle;margin-right:8px;font-size:16px}.skills li .devicon-rust-plain{color:var(--text-secondary)}.tool-logo{vertical-align:middle;width:16px;height:16px;margin-right:8px;display:inline-block}.tool-logo-copilot{border-radius:4px;box-shadow:0 1px 4px #8534f32e}.avatar-frame{border:2px solid var(--accent);width:240px;height:240px;box-shadow:0 0 40px var(--accent-glow);border-radius:50%;margin:0 auto;transition:box-shadow .3s;overflow:hidden}.avatar-frame:hover{box-shadow:0 0 60px var(--accent-glow)}.avatar-img{object-fit:cover;width:100%;height:100%}.project-card{background:var(--card-bg);border:1px solid var(--border);opacity:0;border-radius:12px;margin-bottom:20px;padding:28px;transition:all .3s cubic-bezier(.4,0,.2,1);transform:translateY(30px)scale(.98)}.section.revealed .project-card{opacity:1;transform:translateY(0)scale(1)}.section.revealed .project-grid .project-card:first-child{transition-delay:.1s}.section.revealed .project-grid .project-card:nth-child(2){transition-delay:.2s}.section.revealed .project-grid .project-card:nth-child(3){transition-delay:.3s}.project-card:hover{box-shadow:var(--shadow);border-color:var(--accent);transform:translateY(-4px)}.project-card.featured{background:linear-gradient(135deg,var(--card-bg),var(--bg-alt));border:1px solid var(--accent);position:relative;overflow:hidden}.project-card.featured:before{content:"";background:linear-gradient(90deg,var(--gradient-1),var(--gradient-2),var(--gradient-3));height:3px;position:absolute;top:0;left:0;right:0}.project-label{color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-family:JetBrains Mono,monospace;font-size:12px}.project-card h3{color:var(--text);margin-bottom:10px;font-size:20px;font-weight:700;transition:color .2s}.project-card:hover h3{color:var(--accent)}.project-card p{color:var(--text-secondary);font-size:14px;line-height:1.6}.project-tech{flex-wrap:wrap;gap:6px;margin:14px 0;display:flex}.project-tech span{color:var(--accent);background:var(--accent-glow);border-radius:20px;padding:3px 10px;font-family:JetBrains Mono,monospace;font-size:11px;transition:all .2s}.project-tech span:hover{background:var(--accent);color:#000;transform:translateY(-1px)}.project-links{align-items:center;gap:12px;display:flex}.project-links a{color:var(--text-secondary);border-radius:6px;padding:6px;transition:all .2s}.project-links a:hover{color:var(--accent);background:var(--accent-glow);transform:translateY(-2px)}.project-grid{grid-template-columns:1fr;gap:14px;display:grid}.project-grid .project-card{margin-bottom:0}.project-grid .project-card h3{font-size:19px}.project-card-secondary{position:relative;overflow:hidden}.project-card-secondary:after{content:"";background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.2;height:1px;position:absolute;bottom:0;left:0;right:0}.project-card-topline{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.project-mini-label,.project-mini-metric{letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:11px}.project-mini-label{color:var(--text-secondary)}.project-mini-metric{color:var(--accent)}.project-meta{gap:20px;margin:10px 0 14px;display:flex}.project-meta-item{color:var(--text-secondary);align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:13px;display:flex}.project-meta-item svg{color:var(--accent)}.btn-link{color:var(--accent);border-radius:6px;padding:6px 12px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s}.btn-link:hover{background:var(--accent-glow)}.project-header-with-logo{align-items:center;gap:10px;margin-bottom:10px;display:flex}.project-logo{border-radius:4px;width:24px;height:24px}.section-intro{max-width:640px;color:var(--text-secondary);margin:0 0 22px}.writing-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.writing-card{background:var(--card-bg);border:1px solid var(--border);color:inherit;border-radius:12px;padding:24px;text-decoration:none;transition:all .3s}.writing-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-4px)}.writing-icon{color:var(--accent);margin-bottom:14px}.brand-icon-wrap{border:1px solid var(--border);background:linear-gradient(#1111180f,#11111805);border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.brand-icon{object-fit:contain;width:28px;height:28px;display:block}.brand-icon-hf{width:32px;height:32px}.brand-icon-lc{color:#1f2937;width:26px;height:26px}.writing-card h3{margin-bottom:8px;font-size:16px;font-weight:700}.writing-card p{color:var(--text-secondary);margin-bottom:8px;font-size:13px;line-height:1.6}.writing-link{color:var(--accent);font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500}.leetcode-stats{gap:16px;margin:10px 0;display:flex}.leetcode-stat{flex-direction:column;align-items:center;display:flex}.lc-num{color:var(--text);font-family:JetBrains Mono,monospace;font-size:18px;font-weight:700}.lc-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;font-family:JetBrains Mono,monospace;font-size:10px}.contact-content{text-align:center;max-width:500px;margin:0 auto}.contact-content p{color:var(--text-secondary);margin-bottom:32px;font-size:17px}footer{border-top:1px solid var(--border);text-align:center;padding:32px 0}.footer-social{justify-content:center;gap:20px;margin-bottom:12px;display:flex}.footer-social a{color:var(--text-secondary);border-radius:8px;padding:8px;transition:all .2s}.footer-social a:hover{color:var(--accent);background:var(--accent-glow);transform:translateY(-3px)}.footer-brand-icon{object-fit:contain;width:20px;height:20px;display:block}.footer-brand-icon-hf{width:24px;height:24px}.footer-brand-icon-lc{color:currentColor;width:20px;height:20px}.footer-text{color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:12px}#progress-bar{background:linear-gradient(90deg,var(--gradient-1),var(--gradient-2),var(--gradient-3));transform-origin:0 0;z-index:200;background-size:200% 100%;width:100%;height:3px;animation:3s ease-in-out infinite gradient-shift;position:fixed;top:0;left:0;transform:scaleX(0)}#back-top{z-index:99;background:var(--accent);color:#000;cursor:pointer;opacity:0;pointer-events:none;width:44px;height:44px;box-shadow:0 4px 16px var(--accent-glow);border:none;border-radius:12px;justify-content:center;align-items:center;transition:all .3s;display:flex;position:fixed;bottom:32px;right:32px;transform:translateY(20px)}#back-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}#back-top:hover{transform:translateY(-3px)}.contrib-grid{opacity:.72;grid-template-columns:repeat(52,1fr);gap:2px;margin-top:16px;display:grid}.contrib-cell{aspect-ratio:1;background:var(--border);border-radius:2px;width:100%;transition:all .2s}.contrib-cell:hover{z-index:2;border-radius:3px;transform:scale(1.5)}.contrib-cell.l1{background:#22c55e33}.contrib-cell.l2{background:#22c55e66}.contrib-cell.l3{background:#22c55e99}.contrib-cell.l4{background:#22c55ed9}.stats-highlights{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.stats-highlight-card,.stats-block{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:24px}.stats-highlight-card{flex-direction:column;justify-content:center;gap:4px;min-height:112px;display:flex}.stats-highlight-value{letter-spacing:-.04em;color:var(--text);font-size:32px;font-weight:800}.stats-highlight-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:11px}.stats-block{margin-bottom:20px}.stats-block-title{color:var(--text);margin-bottom:16px;font-size:16px;font-weight:600}.stats-summary{color:var(--text-secondary);margin-top:12px;font-family:JetBrains Mono,monospace;font-size:13px}.stats-inline-strip{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}.stats-inline-metric{border:1px solid var(--border);background:linear-gradient(180deg,var(--bg-alt),transparent);border-radius:12px;padding:14px}.stats-inline-value{color:var(--text);letter-spacing:-.03em;font-size:22px;font-weight:750;display:block}.stats-inline-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin-top:4px;font-family:JetBrains Mono,monospace;font-size:11px;display:block}.commit-list{gap:12px;display:grid}.commit-card{border:1px solid var(--border);background:linear-gradient(180deg,var(--bg-alt),transparent);color:inherit;border-radius:14px;padding:16px 18px;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:block}.commit-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}.commit-card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.commit-repo,.commit-sha,.commit-meta{font-family:JetBrains Mono,monospace}.commit-repo{letter-spacing:.05em;text-transform:uppercase;color:var(--accent);font-size:11px}.commit-sha{color:var(--text-secondary);font-size:11px}.commit-title{color:var(--text);margin-bottom:6px;font-size:15px;font-weight:650;line-height:1.45}.commit-body{color:var(--text-secondary);margin-bottom:8px;font-size:13px;line-height:1.6}.commit-meta{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.activity-empty{color:var(--text-secondary);font-size:14px}.section-divider{background:linear-gradient(90deg,transparent,var(--border),transparent);height:1px;margin:0}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}@media (width<=768px){nav{flex-wrap:wrap;gap:12px;height:auto;padding:10px 0}.nav-links{display:none}.mobile-menu-toggle{order:2;display:flex}.nav-actions{order:3;justify-content:flex-end;width:100%}.mobile-menu{border-top:1px solid var(--border);width:100%;padding:8px 0 4px;display:none}.mobile-menu.open{flex-direction:column;gap:4px;display:flex}.mobile-menu a{color:var(--text-secondary);border-radius:8px;padding:10px 4px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s}.mobile-menu a.active,.mobile-menu a:hover{color:var(--accent);background:var(--accent-glow)}.about-grid{text-align:center;grid-template-columns:1fr}.about-text p{text-align:left}.skills{text-align:left;grid-template-columns:1fr 1fr}.project-grid,.writing-grid,.stats-highlights,.stats-inline-strip{grid-template-columns:1fr}.section-header{flex-wrap:wrap}.section-line{display:none}.hero{padding-top:108px}.hero-kicker{letter-spacing:.1em;font-size:13px}.hero-cta,.project-meta{flex-direction:column;align-items:flex-start}.hero-stats{flex-wrap:wrap;gap:20px}.hero-stat-num{font-size:22px}.btn{justify-content:center;width:100%}.hero-cta{flex-direction:column}.avatar-frame{width:180px;height:180px}}
