:root{--bg:#05070f;--bg-soft:#0a0f1e;--surface:#ffffff08;--surface-hover:#ffffff0f;--border:#ffffff17;--border-strong:#ffffff29;--text:#e6edf7;--text-dim:#9aa7bd;--text-faint:#5d6b82;--accent:#22d3ee;--accent-2:#a78bfa;--gradient:linear-gradient(135deg, #22d3ee 0%, #818cf8 50%, #a78bfa 100%);--glow:#22d3ee73;--radius:16px;--nav-h:68px;--max-w:1100px;--font-mono:"JetBrains Mono", "SF Mono", "Fira Code", ui-monospace, monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.7;overflow-x:hidden}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;display:block}::selection{background:#22d3ee4d}.bg-grid{z-index:-2;background-image:linear-gradient(#94a3b80d 1px,#0000 1px),linear-gradient(90deg,#94a3b80d 1px,#0000 1px);background-size:56px 56px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 0,#000 40%,#0000 100%);mask-image:radial-gradient(80% 60% at 50% 0,#000 40%,#0000 100%)}.bg-glow{z-index:-1;pointer-events:none;background:radial-gradient(600px 380px at 15% -10%,#22d3ee29,#0000 60%),radial-gradient(700px 420px at 90% 10%,#a78bfa24,#0000 60%),radial-gradient(500px 400px at 50% 110%,#818cf81a,#0000 60%);position:fixed;inset:0}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(28px)}.reveal.visible{opacity:1;transform:none}.container{max-width:var(--max-w);margin:0 auto;padding:0 24px}.section{padding:92px 0;position:relative}.section-head{margin-bottom:48px}.section-label{font-family:var(--font-mono);letter-spacing:3px;text-transform:uppercase;color:var(--accent);align-items:center;gap:10px;margin-bottom:10px;font-size:13px;display:inline-flex}.section-label:before{content:"";background:var(--accent);width:26px;height:1px}.section-title{letter-spacing:-.5px;background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(28px,4vw,40px);font-weight:800}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.btn-primary{background:var(--gradient);color:#05070f;box-shadow:0 4px 24px #818cf859}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 32px #22d3ee66}.btn-ghost{border-color:var(--border-strong);color:var(--text);background:0 0}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .3s,border-color .3s,box-shadow .3s}.card:hover{border-color:var(--border-strong);transform:translateY(-6px);box-shadow:0 16px 40px #00000059,0 0 0 1px #22d3ee14}.nav{height:var(--nav-h);z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#05070fb8;border-bottom:1px solid #ffffff0f;transition:border-color .3s;position:fixed;top:0;left:0;right:0}.nav.scrolled{border-bottom-color:var(--border-strong)}.nav-inner{max-width:var(--max-w);justify-content:space-between;align-items:center;height:100%;margin:0 auto;padding:0 24px;display:flex}.nav-logo{letter-spacing:.3px;align-items:center;gap:10px;font-size:17px;font-weight:700;display:flex}.nav-logo-badge{background:var(--gradient);color:#05070f;width:34px;height:34px;box-shadow:0 0 18px var(--glow);border-radius:10px;place-items:center;font-size:14px;font-weight:800;display:grid}.nav-links{align-items:center;gap:6px;display:flex}.nav-link{color:var(--text-dim);border-radius:8px;padding:8px 14px;font-size:14px;transition:color .2s,background .2s}.nav-link:hover{color:var(--text);background:var(--surface-hover)}.nav-burger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.nav-burger span{background:var(--text);border-radius:2px;width:22px;height:2px;transition:transform .3s,opacity .3s}@media (width<=768px){.nav-links{top:var(--nav-h);border-bottom:1px solid var(--border);background:#05070ff5;flex-direction:column;align-items:stretch;gap:4px;padding:16px 24px 24px;transition:transform .35s cubic-bezier(.22,1,.36,1);position:fixed;left:0;right:0;transform:translateY(-110%)}.nav-links.open{transform:none}.nav-link{padding:12px 14px;font-size:15px}.nav-burger{display:flex}}.hero{min-height:100vh;padding-top:var(--nav-h);align-items:center;display:flex;position:relative}.hero-inner{max-width:var(--max-w);grid-template-columns:1.25fr .75fr;align-items:center;gap:48px;width:100%;margin:0 auto;padding:60px 24px;display:grid}.hero-code{font-family:var(--font-mono);color:var(--text-faint);margin-bottom:20px;font-size:13px}.hero-code span{color:var(--accent)}.hero-name{letter-spacing:-1.5px;margin-bottom:10px;font-size:clamp(38px,6vw,64px);font-weight:800;line-height:1.08}.hero-name .grad{background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-role{color:var(--accent);margin-bottom:18px;font-size:clamp(17px,2.4vw,22px);font-weight:500}.hero-tagline{color:var(--text-dim);max-width:520px;margin-bottom:32px;font-size:16px}.hero-actions{flex-wrap:wrap;gap:14px;display:flex}.hero-stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:40px;display:grid}.stat-item{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 10px}.stat-value{background:var(--gradient);color:#0000;font-size:24px;font-weight:800;font-family:var(--font-mono);-webkit-background-clip:text;background-clip:text}.stat-label{color:var(--text-faint);margin-top:2px;font-size:12px}.hero-avatar-wrap{justify-content:center;display:flex}.avatar-ring{width:300px;height:300px;position:relative}.avatar-ring:before{content:"";background:conic-gradient(from 0deg, var(--accent), var(--accent-2), transparent 60%, var(--accent));filter:blur(6px);opacity:.8;border-radius:50%;animation:6s linear infinite spin;position:absolute;inset:-14px}.avatar{border:1px solid var(--border-strong);background:radial-gradient(circle at 30% 25%,#16233f,#0a0f1e 70%);border-radius:50%;place-items:center;display:grid;position:absolute;inset:14px;overflow:hidden}.avatar-text{letter-spacing:-2px;background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:88px;font-weight:800}.avatar-deco{background:radial-gradient(circle at 50% 60%,#22d3ee1f,#0000 60%);position:absolute;inset:0}.orbit-dot{background:var(--accent);width:14px;height:14px;box-shadow:0 0 14px var(--accent);transform-origin:150px 150px;border-radius:50%;animation:6s linear infinite spin;position:absolute}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=900px){.hero-inner{text-align:center;grid-template-columns:1fr;padding:48px 24px}.hero-tagline{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.avatar-ring{width:220px;height:220px}.avatar-text{font-size:64px}.orbit-dot{transform-origin:110px 110px}.hero-stats{grid-template-columns:repeat(2,1fr)}}.about-grid{grid-template-columns:1fr 1fr;align-items:start;gap:48px;display:grid}.about-text p{color:var(--text-dim);margin-bottom:16px;font-size:16px}.about-points{flex-direction:column;gap:14px;display:flex}.about-point{align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.about-point-icon{background:#22d3ee1f;border:1px solid #22d3ee40;border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:15px;display:grid}.about-point h4{margin-bottom:4px;font-size:15px}.about-point p{color:var(--text-faint);margin:0;font-size:13.5px}@media (width<=900px){.about-grid{grid-template-columns:1fr;gap:28px}}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.skill-item{padding:20px 22px}.skill-top{align-items:center;gap:12px;margin-bottom:14px;display:flex}.skill-icon{background:var(--surface-hover);border:1px solid var(--border);width:40px;height:40px;font-family:var(--font-mono);color:var(--accent);border-radius:10px;place-items:center;font-size:13px;font-weight:700;display:grid}.skill-name{font-size:15px;font-weight:600}.skill-percent{font-family:var(--font-mono);color:var(--text-dim);margin-left:auto;font-size:13px}.skill-bar{background:#ffffff12;border-radius:999px;height:6px;overflow:hidden}.skill-bar-fill{background:var(--gradient);border-radius:999px;width:0;height:100%;transition:width 1.1s cubic-bezier(.22,1,.36,1);box-shadow:0 0 12px #22d3ee80}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.project-card{flex-direction:column;gap:14px;padding:26px;display:flex}.project-head{justify-content:space-between;align-items:center;display:flex}.project-name{font-size:18px;font-weight:700}.project-stars{font-family:var(--font-mono);color:var(--text-dim);align-items:center;gap:6px;font-size:13px;display:flex}.project-desc{color:var(--text-dim);flex:1;font-size:14px}.project-tags{flex-wrap:wrap;gap:8px;display:flex}.project-tag{font-family:var(--font-mono);color:#c4b5fd;background:#a78bfa1a;border:1px solid #a78bfa38;border-radius:999px;padding:4px 10px;font-size:12px}.project-link{color:var(--accent);align-items:center;gap:6px;font-size:14px;font-weight:600;transition:gap .2s;display:inline-flex}.project-link:hover{gap:10px}.timeline{padding-left:30px;position:relative}.timeline:before{content:"";background:linear-gradient(180deg, var(--accent), var(--accent-2), transparent);opacity:.4;width:2px;position:absolute;top:6px;bottom:6px;left:8px}.timeline-item{padding-bottom:36px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-dot{background:var(--bg);border:3px solid var(--accent);width:14px;height:14px;box-shadow:0 0 12px var(--glow);border-radius:50%;position:absolute;top:8px;left:-30px}.timeline-date{font-family:var(--font-mono);color:var(--accent);margin-bottom:4px;font-size:13px}.timeline-title{margin-bottom:6px;font-size:16px;font-weight:600}.timeline-desc{color:var(--text-dim);max-width:640px;font-size:14px}.contact-inner{text-align:center;max-width:640px;margin:0 auto}.contact-title{letter-spacing:-.5px;margin-bottom:14px;font-size:clamp(26px,4vw,38px);font-weight:800}.contact-title .grad{background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text}.contact-sub{color:var(--text-dim);margin-bottom:36px;font-size:16px}.contact-socials{flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:40px;display:flex}.social-btn{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;transition:border-color .2s,transform .2s,box-shadow .2s;display:inline-flex}.social-btn:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 8px 24px #22d3ee26}.social-icon{background:var(--gradient);color:#05070f;border-radius:8px;place-items:center;width:28px;height:28px;font-size:11px;font-weight:800;display:grid}.contact-email{font-family:var(--font-mono);color:var(--text-dim);border:1px dashed var(--border-strong);border-radius:999px;align-items:center;gap:10px;padding:14px 26px;font-size:15px;transition:color .2s,border-color .2s;display:inline-flex}.contact-email:hover{color:var(--accent);border-color:var(--accent)}.footer{border-top:1px solid var(--border);text-align:center;padding:28px 24px}.footer p{color:var(--text-faint);font-size:13px;font-family:var(--font-mono)}.footer p a{color:var(--accent)}
