.background[data-v-0a872381]{z-index:-1;background:radial-gradient(70rem 45rem at 78% -8%, #6d5df01a, transparent 60%), radial-gradient(55rem 40rem at 0% 108%, #0d9bd414, transparent 60%), var(--bg);transition:background-color .5s;position:fixed;inset:0;overflow:hidden}.aurora[data-v-0a872381]{filter:blur(72px);opacity:.75;position:absolute;inset:0}.blob[data-v-0a872381]{will-change:transform;border-radius:50%;position:absolute}.blob-1[data-v-0a872381]{background:radial-gradient(circle, var(--glow-violet), transparent 66%);width:34rem;height:34rem;animation:26s ease-in-out infinite alternate drift-a-0a872381;top:-12rem;right:-8rem}.blob-2[data-v-0a872381]{background:radial-gradient(circle, var(--glow-cyan), transparent 66%);width:26rem;height:26rem;animation:32s ease-in-out infinite alternate drift-b-0a872381;top:44%;left:-13rem}.blob-3[data-v-0a872381]{background:radial-gradient(circle,#f276c41f,#0000 65%);width:22rem;height:22rem;animation:38s ease-in-out infinite alternate drift-c-0a872381;bottom:-8rem;right:18%}.grid[data-v-0a872381]{background-image:radial-gradient(var(--line) 1px, transparent 1px);opacity:.34;background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 58% at 50% 18%,#000 12%,#0000 74%);mask-image:radial-gradient(70% 58% at 50% 18%,#000 12%,#0000 74%)}.pointer-glow[data-v-0a872381]{background:radial-gradient(540px circle at var(--px,50%) var(--py,50%), #8b7cff0e, transparent 72%);position:absolute;inset:0}@keyframes drift-a-0a872381{0%{transform:translate(0,0)scale(1)}to{transform:translate(-5rem,4rem)scale(1.12)}}@keyframes drift-b-0a872381{0%{transform:translate(0,0)scale(1)}to{transform:translate(4rem,-3rem)scale(1.08)}}@keyframes drift-c-0a872381{0%{transform:translate(0,0)scale(1)}to{transform:translate(-3rem,-2.5rem)scale(1.2)}}@media (hover:none),(width<=768px){.aurora[data-v-0a872381]{filter:blur(50px);opacity:.55}.blob-3[data-v-0a872381],.pointer-glow[data-v-0a872381]{display:none}}.footer[data-v-06670410]{padding:3.2rem 0 calc(2.6rem + var(--safe-bottom,0px));border-top:1px solid var(--line);position:relative}.footer-inner[data-v-06670410]{text-align:center;flex-direction:column;align-items:center;gap:.75rem;display:flex}.to-top[data-v-06670410]{border:1px solid var(--line-strong);width:2.8rem;height:2.8rem;color:var(--text-2);border-radius:50%;place-items:center;transition:color .2s,border-color .2s,transform .2s;display:grid}.to-top[data-v-06670410]:hover{color:var(--violet);border-color:var(--violet);transform:translateY(-3px)}.to-top svg[data-v-06670410]{width:1.15rem;height:1.15rem}.copy[data-v-06670410]{color:var(--text-2);font-size:.9rem}.beian[data-v-06670410]{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;display:flex}.beian-link[data-v-06670410]{color:var(--text-3);align-items:center;gap:.3rem;font-size:.78rem;transition:color .2s;display:inline-flex}.beian-link[data-v-06670410]:hover{color:var(--text-1)}.beian-link img[data-v-06670410]{display:block}.beian-sep[data-v-06670410]{color:var(--line-strong)}.note[data-v-06670410]{color:var(--text-3);font-size:.82rem}.nav[data-v-e43b8983]{z-index:60;height:var(--nav-h);border-bottom:1px solid #0000;transition:background-color .3s,border-color .3s;position:fixed;inset:0 0 auto}.nav.is-scrolled[data-v-e43b8983]{background:var(--bg-soft);background:color-mix(in srgb, var(--bg) 78%, transparent);border-bottom-color:var(--line);-webkit-backdrop-filter:blur(18px)}.progress[data-v-e43b8983]{background:var(--grad);transform-origin:0;opacity:.9;width:100%;height:2px;position:absolute;bottom:-1px;left:0;transform:scaleX(0)}.nav-inner[data-v-e43b8983]{justify-content:space-between;align-items:center;gap:1rem;height:100%;display:flex}.brand[data-v-e43b8983]{align-items:center;gap:.65rem;display:inline-flex}.brand-text[data-v-e43b8983]{letter-spacing:.06em;font-size:1.16rem;font-weight:700;line-height:1;position:relative}.brand-sep[data-v-e43b8983]{background:var(--line-strong);width:1px;height:1.05rem}.brand-alias[data-v-e43b8983]{font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-3);font-size:.68rem;font-weight:500;transform:translateY(.5px)}.nav-links[data-v-e43b8983]{align-items:center;gap:clamp(.6rem,2vw,1.6rem);display:flex}.nav-links a[data-v-e43b8983]{color:var(--text-2);padding:.4rem .2rem;font-size:.94rem;transition:color .2s;position:relative}.nav-links a[data-v-e43b8983]:after{content:"";background:var(--grad);transform-origin:0;border-radius:2px;height:1.5px;transition:transform .28s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:.2rem;right:.2rem;transform:scaleX(0)}.nav-links a[data-v-e43b8983]:hover,.nav-links a.active[data-v-e43b8983]{color:var(--text-1)}.nav-links a.active[data-v-e43b8983]:after,.nav-links a[data-v-e43b8983]:hover:after{transform:scaleX(1)}.nav-actions[data-v-e43b8983]{align-items:center;gap:.75rem;display:flex}.theme-toggle[data-v-e43b8983],.menu-toggle[data-v-e43b8983]{border:1px solid var(--line);width:2.4rem;height:2.4rem;color:var(--text-2);border-radius:50%;place-items:center;transition:color .2s,border-color .2s,transform .2s;display:grid}.theme-toggle[data-v-e43b8983]:hover,.menu-toggle[data-v-e43b8983]:hover{color:var(--text-1);border-color:var(--line-strong);transform:translateY(-1px)}.theme-toggle svg[data-v-e43b8983]{width:1.15rem;height:1.15rem}.menu-toggle[data-v-e43b8983]{flex-direction:column;justify-content:center;align-items:center;gap:5px;display:none}.menu-toggle span[data-v-e43b8983]{background:currentColor;width:1rem;height:1.5px;transition:transform .25s}.nav.is-open .menu-toggle span[data-v-e43b8983]:first-child{transform:translateY(3.25px)rotate(45deg)}.nav.is-open .menu-toggle span[data-v-e43b8983]:last-child{transform:translateY(-3.25px)rotate(-45deg)}.mobile-menu[data-v-e43b8983]{display:none}@media (width<=920px){.nav-links[data-v-e43b8983],.nav-cta[data-v-e43b8983]{display:none}.menu-toggle[data-v-e43b8983]{display:flex}.mobile-menu[data-v-e43b8983]{min-height:100svh;padding:calc(var(--nav-h) + 2rem + var(--safe-top,0px)) clamp(1.6rem, 7vw, 3rem) calc(3rem + var(--safe-bottom,0px));background:var(--bg-soft);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(24px);flex-direction:column;justify-content:space-between;display:flex}.theme-toggle[data-v-e43b8983],.menu-toggle[data-v-e43b8983]{width:2.75rem;height:2.75rem}.mobile-menu ul[data-v-e43b8983]{flex-direction:column;gap:.3rem;display:flex}.mobile-menu a[data-v-e43b8983]{font-family:var(--font-display);border-bottom:1px solid var(--line);align-items:baseline;gap:1rem;padding:.9rem .2rem;font-size:clamp(1.7rem,7vw,2.4rem);font-weight:600;display:flex}.mobile-menu .num[data-v-e43b8983]{font-family:var(--font-mono);color:var(--violet);font-size:.72rem}.mobile-email[data-v-e43b8983]{color:var(--text-3);font-family:var(--font-mono);font-size:.82rem}}@media (width<=480px){.brand-sep[data-v-e43b8983],.brand-alias[data-v-e43b8983]{display:none}}.menu-enter-active[data-v-e43b8983],.menu-leave-active[data-v-e43b8983]{transition:opacity .3s}.menu-enter-from[data-v-e43b8983],.menu-leave-to[data-v-e43b8983]{opacity:0}.page-enter-active[data-v-13e434ed],.page-leave-active[data-v-13e434ed]{transition:opacity .25s}.page-enter-from[data-v-13e434ed],.page-leave-to[data-v-13e434ed]{opacity:0}.about[data-v-31ddf4b7]{padding-block:clamp(5rem,12vh,8.5rem)}.about-grid[data-v-31ddf4b7]{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:center;gap:clamp(2.5rem,6vw,5.5rem);display:grid}.visual-card[data-v-31ddf4b7]{padding:1.4rem;overflow:hidden}.visual-card[data-v-31ddf4b7]:before{content:"";background:var(--grad-soft);filter:blur(52px);z-index:0;height:60%;position:absolute;inset:-40% -20% auto}.visual-card[data-v-31ddf4b7]>*{z-index:1;position:relative}.visual-top[data-v-31ddf4b7]{font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-3);align-items:center;gap:.5rem;font-size:.7rem;display:flex}.live-dot[data-v-31ddf4b7]{background:var(--mint);border-radius:50%;width:.5rem;height:.5rem;animation:2.4s ease-out infinite pulse-31ddf4b7}@keyframes pulse-31ddf4b7{0%{box-shadow:0 0 #6ff0cd80}70%{box-shadow:0 0 0 7px #6ff0cd00}to{box-shadow:0 0 #6ff0cd00}}.live-text[data-v-31ddf4b7]{color:var(--mint)}.visual-code[data-v-31ddf4b7]{margin-left:auto}.avatar-wrap[data-v-31ddf4b7]{place-items:center;margin-block:2.2rem 1.5rem;display:grid}.avatar-ring[data-v-31ddf4b7]{aspect-ratio:1;background:conic-gradient(from 180deg, var(--violet), var(--cyan), var(--pink), var(--violet));border-radius:50%;place-items:center;width:min(13rem,55%);animation:16s linear infinite spin-31ddf4b7;display:grid;position:relative}.avatar[data-v-31ddf4b7]{background:radial-gradient(circle at 32% 26%, #ffffff17, transparent 55%), var(--bg-elevated);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;width:90%;height:90%;animation:16s linear infinite spin-reverse-31ddf4b7;display:flex;position:relative;overflow:hidden}.avatar-name[data-v-31ddf4b7]{font-family:var(--font-display);background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(3.6rem,9vw,5.2rem);font-weight:700;line-height:1}.avatar-sub[data-v-31ddf4b7]{font-family:var(--font-mono);letter-spacing:.3em;color:var(--text-3);font-size:.6rem;position:relative}.avatar-photo[data-v-31ddf4b7]{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.visual-name[data-v-31ddf4b7]{text-align:center;font-family:var(--font-display);letter-spacing:.08em;font-size:1.4rem;font-weight:600}.visual-role[data-v-31ddf4b7]{text-align:center;color:var(--text-3);font-size:.85rem;font-family:var(--font-mono);letter-spacing:.05em;margin-top:.3rem}.visual-quote[data-v-31ddf4b7]{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--card);color:var(--text-2);margin-top:1.8rem;padding:1.15rem 1.2rem;font-size:.95rem;line-height:1.7}.visual-quote cite[data-v-31ddf4b7]{color:var(--text-3);margin-top:.35rem;font-size:.72rem;font-style:normal;display:block}@keyframes spin-31ddf4b7{to{transform:rotate(360deg)}}@keyframes spin-reverse-31ddf4b7{to{transform:rotate(-360deg)}}.bio[data-v-31ddf4b7]{color:var(--text-2);flex-direction:column;gap:.9rem;margin-top:1.6rem;font-size:1.02rem;display:flex}.facts[data-v-31ddf4b7]{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:2rem;display:grid}.fact[data-v-31ddf4b7]{border-radius:var(--radius-m);flex-direction:column;gap:.25rem;padding:1.05rem 1.2rem;transition:transform .28s,border-color .28s,background-color .28s;display:flex}.fact[data-v-31ddf4b7]:hover{border-color:color-mix(in srgb, var(--violet) 42%, var(--line));background:var(--card-hover);transform:translateY(-4px)}.fact-label[data-v-31ddf4b7]{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);font-size:.68rem}.fact-value[data-v-31ddf4b7]{color:var(--text-1);font-size:.98rem;font-weight:600}.about-cta[data-v-31ddf4b7]{margin-top:1.8rem}.about-cta svg[data-v-31ddf4b7]{width:.95rem;height:.95rem}@media (width<=900px){.about-grid[data-v-31ddf4b7]{grid-template-columns:1fr}.visual-card[data-v-31ddf4b7]{max-width:30rem}}@media (width<=480px){.facts[data-v-31ddf4b7]{grid-template-columns:1fr}}.contact[data-v-0d65e4f2]{padding-block:clamp(5rem,12vh,8rem) clamp(6rem,14vh,9.5rem)}.contact-inner[data-v-0d65e4f2]{position:relative}.cta-card[data-v-0d65e4f2]{z-index:1;text-align:center;max-width:52rem;margin-inline:auto;padding:clamp(2.2rem,6vw,4.2rem);position:relative;overflow:hidden}.cta-glow[data-v-0d65e4f2]{background:radial-gradient(42% 70% at 18% 10%, var(--glow-violet), transparent 60%), radial-gradient(45% 80% at 90% 90%, var(--glow-cyan), transparent 62%);filter:blur(22px);opacity:.8;pointer-events:none;position:absolute;inset:-30%}.cta-card[data-v-0d65e4f2]>*{position:relative}.cta-card .eyebrow[data-v-0d65e4f2]:before{display:none}.cta-card .section-title[data-v-0d65e4f2]{margin-top:1.1rem}.cta-card .section-desc[data-v-0d65e4f2]{margin-inline:auto}.contact-actions[data-v-0d65e4f2]{flex-wrap:wrap;justify-content:center;gap:.9rem;margin-top:2.1rem;display:flex}.contact-actions svg[data-v-0d65e4f2]{width:1.05rem;height:1.05rem}.email-address[data-v-0d65e4f2]{font-family:var(--font-mono);color:var(--text-3);cursor:pointer;margin-top:1.5rem;font-size:.88rem;transition:color .2s}.email-address[data-v-0d65e4f2]:hover{color:var(--violet)}.socials[data-v-0d65e4f2]{justify-content:center;gap:.7rem;margin-top:2rem;display:flex}.socials a[data-v-0d65e4f2]{border:1px solid var(--line);background:var(--card);color:var(--text-2);border-radius:999px;align-items:center;gap:.55rem;padding:.55rem 1.05rem;font-size:.85rem;transition:transform .25s,border-color .25s,color .25s;display:inline-flex}.socials a[data-v-0d65e4f2]:hover{color:var(--text-1);border-color:var(--line-strong);transform:translateY(-3px)}.socials svg[data-v-0d65e4f2]{width:1.05rem;height:1.05rem}.experience[data-v-560a8ed7]{padding-block:clamp(5rem,12vh,8.5rem)}.experience-head[data-v-560a8ed7]{max-width:46rem}.timeline[data-v-560a8ed7]{flex-direction:column;gap:2.2rem;margin-top:clamp(2.6rem,6vh,4rem);display:flex;position:relative}.timeline[data-v-560a8ed7]:before{content:"";background:linear-gradient(180deg, var(--violet), var(--line) 30%, var(--line) 80%, transparent);opacity:.6;width:1px;position:absolute;top:.5rem;bottom:.5rem;left:5.3rem}.timeline-item[data-v-560a8ed7]{grid-template-columns:7.5rem minmax(0,1fr);gap:1.6rem;display:grid;position:relative}.marker[data-v-560a8ed7]{justify-content:flex-end;padding-top:1.65rem;display:flex}.marker-core[data-v-560a8ed7]{background:var(--grad);width:.8rem;height:.8rem;box-shadow:0 0 0 4px color-mix(in srgb, var(--bg) 70%, var(--violet)), 0 0 18px var(--glow-violet);border-radius:50%;position:relative}.timeline-card[data-v-560a8ed7]{border-radius:var(--radius-m);max-width:44rem;padding:1.55rem 1.7rem;transition:transform .3s,border-color .3s,background-color .3s}.timeline-card[data-v-560a8ed7]:hover{border-color:color-mix(in srgb, var(--violet) 40%, var(--line));background:var(--card-hover);transform:translate(8px)}.timeline-top[data-v-560a8ed7]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.period[data-v-560a8ed7]{font-family:var(--font-mono);letter-spacing:.08em;border:1px solid var(--line-strong);color:var(--violet);border-radius:999px;padding:.28rem .7rem;font-size:.76rem}.org[data-v-560a8ed7]{color:var(--text-3);font-size:.82rem;font-family:var(--font-mono)}.timeline-card h3[data-v-560a8ed7]{font-family:var(--font-display);margin-top:1rem;font-size:1.25rem;font-weight:600}.timeline-card p[data-v-560a8ed7]{color:var(--text-2);max-width:36rem;margin-top:.55rem;font-size:.95rem}.timeline-card .tags[data-v-560a8ed7]{flex-wrap:wrap;gap:.5rem;margin-top:1.15rem;display:flex}@media (width<=720px){.timeline[data-v-560a8ed7]:before{left:.35rem}.timeline-item[data-v-560a8ed7]{grid-template-columns:2rem minmax(0,1fr);gap:.8rem}.marker[data-v-560a8ed7]{justify-content:flex-start}.marker-core[data-v-560a8ed7]{width:.7rem;height:.7rem}.period[data-v-560a8ed7]{font-size:.68rem}}.hero[data-v-d9f7b99a]{min-height:100svh;padding-top:calc(var(--nav-h) + 2rem);flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}.hero-grid[data-v-d9f7b99a]{grid-template-columns:1.12fr .88fr;align-items:center;gap:clamp(2rem,6vw,5rem);padding-block:clamp(3rem,7vh,5rem);display:grid}.pill[data-v-d9f7b99a]{border:1px solid var(--line);background:var(--card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-2);border-radius:999px;align-items:center;gap:.6rem;padding:.5rem 1.05rem;font-size:.85rem;display:inline-flex}.dot[data-v-d9f7b99a]{background:var(--mint);border-radius:50%;width:.48rem;height:.48rem;animation:2.4s ease-out infinite pulse-d9f7b99a;position:relative;box-shadow:0 0 #6ff0cd80}@keyframes pulse-d9f7b99a{0%{box-shadow:0 0 #6ff0cd80}70%{box-shadow:0 0 0 8px #6ff0cd00}to{box-shadow:0 0 #6ff0cd00}}h1[data-v-d9f7b99a]{font-family:var(--font-display);letter-spacing:-.035em;margin-top:1.4rem;font-size:clamp(2.7rem,7vw,5.2rem);font-weight:700;line-height:1.06}.hello[data-v-d9f7b99a]{letter-spacing:-.01em;color:var(--text-2);margin-bottom:.35rem;font-size:.46em;font-weight:500;display:block}.name[data-v-d9f7b99a]{display:inline-block}.typed-line[data-v-d9f7b99a]{min-height:1.9rem;font-family:var(--font-display);color:var(--text-1);align-items:baseline;gap:.55rem;margin-top:1.3rem;font-size:clamp(1.12rem,2.4vw,1.5rem);font-weight:500;display:flex}.typed[data-v-d9f7b99a]{color:var(--violet)}.caret[data-v-d9f7b99a]{background:var(--violet);align-self:center;width:2px;height:1.25em;animation:1s step-end infinite blink-d9f7b99a;display:inline-block}@keyframes blink-d9f7b99a{50%{opacity:0}}.intro[data-v-d9f7b99a]{max-width:33rem;color:var(--text-2);margin-top:1.15rem;font-size:1.05rem}.hero-actions[data-v-d9f7b99a]{flex-wrap:wrap;gap:.9rem;margin-top:2rem;display:flex}.hero-actions svg[data-v-d9f7b99a]{width:1rem;height:1rem}.stats[data-v-d9f7b99a]{flex-wrap:wrap;gap:0;margin-top:clamp(2.2rem,5vh,3.2rem);display:flex}.stat[data-v-d9f7b99a]{min-width:8.4rem;padding:.4rem 1.7rem .4rem 0}.stat+.stat[data-v-d9f7b99a]{border-left:1px solid var(--line);padding-left:1.7rem}.stat-value[data-v-d9f7b99a]{font-family:var(--font-display);letter-spacing:-.02em;background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.7rem;font-weight:700}.stat-label[data-v-d9f7b99a]{color:var(--text-3);margin-top:.2rem;font-size:.82rem}.hero-visual[data-v-d9f7b99a]{aspect-ratio:1;justify-self:center;width:100%;max-width:30rem;position:relative}.halo[data-v-d9f7b99a]{background:radial-gradient(circle, var(--glow-violet), transparent 68%);filter:blur(10px);border-radius:50%;position:absolute;inset:18%}.ring[data-v-d9f7b99a]{border-radius:50%;position:absolute;inset:0}.ring-outer[data-v-d9f7b99a]{border:1px dashed var(--line-strong);animation:70s linear infinite spin-d9f7b99a}.ring-outer[data-v-d9f7b99a]:before,.ring-outer[data-v-d9f7b99a]:after{content:"";background:var(--violet);width:.55rem;height:.55rem;box-shadow:0 0 18px var(--glow-violet);border-radius:50%;position:absolute}.ring-outer[data-v-d9f7b99a]:before{top:10%;left:20%}.ring-outer[data-v-d9f7b99a]:after{background:var(--cyan);box-shadow:0 0 18px var(--glow-cyan);bottom:18%;right:12%}.ring-inner[data-v-d9f7b99a]{border:1px solid var(--line);background:radial-gradient(circle at 32% 28%,#ffffff0d,#0000 62%);animation:46s linear infinite spin-reverse-d9f7b99a;inset:15%}.orb[data-v-d9f7b99a]{border:1px solid var(--line-strong);background:linear-gradient(180deg, #ffffff1a, #ffffff05), var(--bg-elevated);box-shadow:inset 0 1px 0 #ffffff1f, 0 30px 70px -30px var(--glow-violet);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;display:flex;position:absolute;inset:22%;overflow:hidden}.orb-glow[data-v-d9f7b99a]{background:conic-gradient(from 210deg,#0000 0deg,#8b7cff2e 90deg,#0000 200deg,#45d5ff29 320deg,#0000 360deg);border-radius:50%;animation:9s linear infinite spin-d9f7b99a;position:absolute;inset:8%}.monogram[data-v-d9f7b99a]{font-family:var(--font-display);background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(3.4rem,8vw,5.6rem);font-weight:700;line-height:1.15;display:block;position:relative}.orb-sub[data-v-d9f7b99a]{font-family:var(--font-mono);letter-spacing:.34em;color:var(--text-3);font-size:.68rem;display:block;position:relative}.orb-photo[data-v-d9f7b99a]{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.chip[data-v-d9f7b99a]{border:1px solid var(--line-strong);background:var(--bg-soft);background:color-mix(in srgb, var(--bg-soft) 86%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--font-mono);white-space:nowrap;border-radius:999px;align-items:center;gap:.45rem;padding:.55rem .95rem;font-size:.72rem;display:inline-flex;position:absolute;box-shadow:0 14px 36px -18px #00000080}.chip-dot[data-v-d9f7b99a]{background:var(--dot);width:.42rem;height:.42rem;box-shadow:0 0 10px var(--dot);border-radius:50%}.chip-1[data-v-d9f7b99a]{animation:7s ease-in-out infinite float-a-d9f7b99a;top:16%;left:-1%}.chip-2[data-v-d9f7b99a]{animation:8s ease-in-out infinite float-b-d9f7b99a;top:4%;right:8%}.chip-3[data-v-d9f7b99a]{animation:9s ease-in-out infinite float-b-d9f7b99a;bottom:14%;left:-2%}.chip-4[data-v-d9f7b99a]{animation:7.5s ease-in-out infinite float-a-d9f7b99a;bottom:2%;right:-3%}@keyframes float-a-d9f7b99a{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes float-b-d9f7b99a{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.fade-up[data-v-d9f7b99a],.fade-in[data-v-d9f7b99a]{animation:1s cubic-bezier(.16,1,.3,1) both fade-up-d9f7b99a;animation-delay:var(--d,0s)}.fade-in[data-v-d9f7b99a]{animation-name:fade-in-scale-d9f7b99a}@keyframes fade-up-d9f7b99a{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes fade-in-scale-d9f7b99a{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:none}}@keyframes spin-d9f7b99a{to{transform:rotate(360deg)}}@keyframes spin-reverse-d9f7b99a{to{transform:rotate(-360deg)}}.marquee[data-v-d9f7b99a]{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:auto;padding-block:1.15rem;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee-track[data-v-d9f7b99a]{width:max-content;animation:32s linear infinite marquee-d9f7b99a;display:flex}.marquee:hover .marquee-track[data-v-d9f7b99a]{animation-play-state:paused}.marquee-group[data-v-d9f7b99a]{flex-shrink:0;display:flex}.marquee-item[data-v-d9f7b99a]{font-family:var(--font-display);color:var(--text-2);white-space:nowrap;align-items:center;gap:.7rem;padding-inline:1.4rem;font-size:1.05rem;font-weight:500;display:inline-flex}.marquee-dot[data-v-d9f7b99a]{background:var(--violet);opacity:.7;border-radius:50%;width:5px;height:5px}@keyframes marquee-d9f7b99a{to{transform:translate(-50%)}}@media (width<=960px){.hero-grid[data-v-d9f7b99a]{grid-template-columns:1fr;gap:1rem}.hero-copy[data-v-d9f7b99a]{text-align:left}.hero-visual[data-v-d9f7b99a]{display:none}}@media (width<=560px){.stat[data-v-d9f7b99a]{min-width:7rem}.stat+.stat[data-v-d9f7b99a]{padding-left:1.1rem}.stat[data-v-d9f7b99a]:first-child{padding-right:1.1rem}}.projects[data-v-1017b336]{padding-block:clamp(5rem,12vh,8.5rem)}.projects-head[data-v-1017b336]{max-width:46rem}.project-grid[data-v-1017b336]{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:clamp(2.6rem,6vh,4rem);display:grid}.project-card[data-v-1017b336]{border:1px solid var(--line);border-radius:var(--radius-l);background:linear-gradient(180deg, var(--card-hover), var(--card));box-shadow:var(--surface-shadow);flex-direction:column;transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .4s,box-shadow .4s;display:flex;position:relative;overflow:hidden}.project-card[data-v-1017b336]:before{content:"";background:linear-gradient(90deg, transparent, var(--line-strong), transparent);z-index:2;opacity:0;height:1px;transition:opacity .35s;position:absolute;inset:0 0 auto}.project-card[data-v-1017b336]:hover{border-color:var(--line-strong);transform:translateY(-8px);box-shadow:0 36px 80px -34px #0000009e}.project-card[data-v-1017b336]:hover:before{opacity:1}.project-card.featured[data-v-1017b336]{grid-column:1/-1;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);display:grid}.project-card.featured .cover[data-v-1017b336]{min-height:20rem}.project-card.featured .project-body[data-v-1017b336]{justify-content:center}.project-card.featured h3[data-v-1017b336]{font-size:clamp(1.55rem,2.6vw,2.25rem)}.cover[data-v-1017b336]{isolation:isolate;place-items:center;min-height:11.5rem;display:grid;position:relative;overflow:hidden}.project-card:not(.featured) .cover[data-v-1017b336]{min-height:10.5rem}.cover-noise[data-v-1017b336]{z-index:0;opacity:.3;background-image:radial-gradient(#ffffff59 1px,#0000 1px);background-size:14px 14px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(90% 90% at 50% 30%,#000,#0000 72%);mask-image:radial-gradient(90% 90% at 50% 30%,#000,#0000 72%)}.cover[data-v-1017b336]:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0000 52%,#02040c47);position:absolute;inset:0}.cover[data-v-1017b336]:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(105deg,#0000 42%,#ffffff24 50%,#0000 58%);transition:transform .9s cubic-bezier(.16,1,.3,1);position:absolute;inset:-40%;transform:translate(-72%)rotate(8deg)}.project-card:hover .cover[data-v-1017b336]:after{transform:translate(72%)rotate(8deg)}.cover-tag[data-v-1017b336]{z-index:3;-webkit-backdrop-filter:blur(10px);letter-spacing:.08em;color:#ffffffeb;background:#080a1459;border:1px solid #ffffff3d;border-radius:999px;padding:.3rem .75rem;font-size:.7rem;font-weight:600;position:absolute;top:1.05rem;left:1.05rem}.cover-year[data-v-1017b336]{z-index:3;font-family:var(--font-mono);letter-spacing:.14em;color:#ffffffb8;font-size:.68rem;position:absolute;bottom:.9rem;right:1.05rem}.cover-icon-wrap[data-v-1017b336]{z-index:2;aspect-ratio:1;-webkit-backdrop-filter:blur(12px);background:#080a1452;border:1px solid #ffffff38;border-radius:1.25rem;place-items:center;width:clamp(3.9rem,22%,5.4rem);transition:transform .5s cubic-bezier(.16,1,.3,1);display:grid;position:relative;box-shadow:inset 0 1px #ffffff1f,0 18px 40px -18px #0000008c}.cover-icon-wrap[data-v-1017b336]:before{content:"";border:1px dashed #ffffff4d;border-radius:1.7rem;transition:transform .8s;position:absolute;inset:-11px}.cover-icon-wrap svg[data-v-1017b336]{color:#fffffff0;width:1.7rem;height:1.7rem}.project-card:hover .cover-icon-wrap[data-v-1017b336]{transform:translateY(-3px)scale(1.06)}.project-card:hover .cover-icon-wrap[data-v-1017b336]:before{transform:rotate(18deg)scale(1.04)}.theme-violet .cover[data-v-1017b336]{background:radial-gradient(130% 160% at 14% 0,#a58afff2,#0000 58%),radial-gradient(120% 150% at 94% 100%,#456effdb,#0000 56%),linear-gradient(135deg,#3b2f8f,#14162e)}.theme-cyan .cover[data-v-1017b336]{background:radial-gradient(140% 170% at 88% 0,#45d5ffeb,#0000 56%),radial-gradient(110% 150% at 0 100%,#2982becc,#0000 62%),linear-gradient(135deg,#0b3a52,#0e182a)}.theme-pink .cover[data-v-1017b336]{background:radial-gradient(130% 160% at 85% 0,#f276c4e6,#0000 55%),radial-gradient(120% 150% at 0 100%,#a656e6c7,#0000 60%),linear-gradient(135deg,#3e1740,#181027)}.theme-mint .cover[data-v-1017b336]{background:radial-gradient(130% 160% at 12% 0,#6ff0cdc7,#0000 58%),radial-gradient(110% 150% at 95% 100%,#3caaaac2,#0000 60%),linear-gradient(135deg,#0d3f3c,#0e1f25)}.project-body[data-v-1017b336]{flex-direction:column;flex:1;align-items:flex-start;padding:1.35rem 1.45rem 1.45rem;display:flex;position:relative}.project-no[data-v-1017b336]{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-3);font-size:.68rem;position:absolute;top:1.2rem;right:1.35rem}.project-body h3[data-v-1017b336]{font-family:var(--font-display);letter-spacing:-.01em;margin-top:.2rem;padding-right:2.2rem;font-size:1.28rem;font-weight:600;transition:color .25s}.project-card:hover .project-body h3[data-v-1017b336]{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.project-desc[data-v-1017b336]{color:var(--text-2);margin-top:.5rem;font-size:.92rem}.project-tags[data-v-1017b336]{flex-wrap:wrap;gap:.45rem;margin-top:1rem;display:flex}.project-link[data-v-1017b336]{color:var(--text-3);align-items:center;gap:.45rem;margin-top:auto;padding-top:1.25rem;font-size:.84rem;font-weight:600;transition:color .25s;display:inline-flex}.project-link svg[data-v-1017b336]{width:1rem;height:1rem;transition:transform .3s}.project-card:hover .project-link[data-v-1017b336]{color:var(--violet)}.project-card:hover .project-link svg[data-v-1017b336]{transform:translate(2px,-2px)}@media (width<=1020px){.project-grid[data-v-1017b336]{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card.featured[data-v-1017b336]{flex-direction:column;grid-column:auto;display:flex}.project-card.featured .cover[data-v-1017b336]{min-height:10.5rem}.project-card.featured .project-body[data-v-1017b336]{justify-content:flex-start}.project-card.featured h3[data-v-1017b336]{font-size:1.28rem}}@media (width<=720px){.project-grid[data-v-1017b336]{grid-template-columns:1fr}}.skills[data-v-529bdbdd]{padding-block:clamp(5rem,12vh,8.5rem)}.skills-head[data-v-529bdbdd]{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2rem;display:flex}.skills-head .section-desc[data-v-529bdbdd]{text-align:right;margin-top:0}.skill-grid[data-v-529bdbdd]{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;margin-top:clamp(2.5rem,5vh,3.5rem);display:grid}.skill-card[data-v-529bdbdd]{padding:1.6rem 1.5rem 1.7rem;transition:transform .3s,border-color .3s,background-color .3s;overflow:hidden}.skill-card[data-v-529bdbdd]:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.45;height:1px;position:absolute;inset:0 0 auto}.skill-card[data-v-529bdbdd]:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:var(--card-hover);transform:translateY(-6px)}.skill-head[data-v-529bdbdd]{border-bottom:1px solid var(--line);align-items:center;gap:.9rem;padding-bottom:1.2rem;display:flex}.skill-index[data-v-529bdbdd]{font-family:var(--font-mono);border:1px solid color-mix(in srgb, var(--accent) 48%, transparent);color:var(--accent);border-radius:.45rem;padding:.18rem .5rem;font-size:.8rem}.skill-head h3[data-v-529bdbdd]{font-family:var(--font-display);letter-spacing:.01em;font-size:1.18rem;font-weight:600}.skill-bars[data-v-529bdbdd]{flex-direction:column;gap:1.05rem;margin-top:1.3rem;display:flex}.skill-meta[data-v-529bdbdd]{justify-content:space-between;align-items:baseline;margin-bottom:.45rem;font-size:.9rem;display:flex}.skill-level[data-v-529bdbdd]{font-family:var(--font-mono);color:var(--text-3);font-size:.72rem}.bar-track[data-v-529bdbdd]{background:var(--line);border-radius:99px;height:5px;overflow:hidden}.bar-fill[data-v-529bdbdd]{border-radius:inherit;background:var(--accent);background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 70%, transparent), var(--accent));height:100%;box-shadow:none;box-shadow:0 0 12px color-mix(in srgb, var(--accent) 55%, transparent);transition:width 1.15s cubic-bezier(.16,1,.3,1) .35s}.learning[data-v-529bdbdd]{border-radius:var(--radius-m);flex-wrap:wrap;align-items:center;gap:clamp(1.2rem,3vw,2.6rem);margin-top:1.1rem;padding:1.2rem 1.5rem;display:flex}.learning-label[data-v-529bdbdd]{white-space:nowrap;align-items:center;gap:.65rem;font-weight:600;display:inline-flex}.learning-label svg[data-v-529bdbdd]{width:1.3rem;height:1.3rem;color:var(--violet)}.learning-list[data-v-529bdbdd]{flex-wrap:wrap;gap:.7rem 1.6rem;display:flex}.learning-list li[data-v-529bdbdd]{color:var(--text-2);font-family:var(--font-mono);align-items:center;gap:.5rem;font-size:.85rem;display:inline-flex}.learn-dot[data-v-529bdbdd]{background:var(--grad);border-radius:50%;width:5px;height:5px}@media (width<=1020px){.skill-grid[data-v-529bdbdd]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.skills-head .section-desc[data-v-529bdbdd]{text-align:left}.skill-grid[data-v-529bdbdd]{grid-template-columns:1fr}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07080d;--bg-soft:#0b0c14;--bg-elevated:#10121c;--card:#ffffff09;--card-hover:#ffffff0f;--line:#ffffff17;--line-strong:#ffffff29;--text-1:#f3f4f8;--text-2:#f3f4f8b8;--text-3:#f3f4f87a;--violet:#8b7cff;--blue:#6a8dff;--cyan:#45d5ff;--pink:#f276c4;--mint:#6ff0cd;--grad:linear-gradient(100deg, #a99bff 0%, #8b7cff 28%, #5f8cff 64%, #45d5ff 100%);--grad-soft:linear-gradient(120deg, #8b7cff38, #45d5ff29);--glow-violet:#8b7cff52;--glow-cyan:#45d5ff38;--surface-shadow:0 24px 60px -24px #0000008c;--font-display:"Space Grotesk", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif;--font-body:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", Roboto, sans-serif;--font-mono:"SF Mono", ui-monospace, "Cascadia Code", "JetBrains Mono", Menlo, Consolas, monospace;--container:1160px;--radius-s:10px;--radius-m:16px;--radius-l:24px;--radius-xl:32px;--nav-h:72px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7fb;--bg-soft:#fff;--bg-elevated:#fff;--card:#0c0e1a09;--card-hover:#0c0e1a0f;--line:#0c0e1a17;--line-strong:#0c0e1a29;--text-1:#171926;--text-2:#171926ad;--text-3:#17192675;--grad:linear-gradient(100deg, #6d5df0 0%, #4d68f0 50%, #0d9bd4 100%);--grad-soft:linear-gradient(120deg, #6d5df021, #0d9bd41a);--glow-violet:#6d5df02e;--glow-cyan:#0d9bd424;--surface-shadow:0 24px 56px -28px #1e22443d}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 20px)}body{min-height:100vh;font-family:var(--font-body);color:var(--text-1);background-color:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior-x:none;font-size:16px;line-height:1.75;overflow-x:hidden}img,svg{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}button,a,input,select,textarea{touch-action:manipulation}img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}ul,ol{padding:0;list-style:none}::selection{color:var(--text-1);background:#8b7cff5c}:focus-visible{outline:2px solid var(--violet);outline-offset:3px;border-radius:4px}input,textarea{appearance:none;border-radius:0}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-3) 55%, transparent);border:2px solid var(--bg);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--violet) 65%, transparent)}.container{width:min(100% - clamp(2.4rem, 8vw, 5rem), var(--container));margin-inline:auto}.section{padding-block:clamp(4.5rem,10vh,7.5rem);position:relative}.eyebrow{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--violet);align-items:center;gap:.6rem;font-size:.78rem;display:inline-flex}.eyebrow:before{content:"";background:var(--grad);width:2rem;height:1px}.section-title{font-family:var(--font-display);letter-spacing:-.025em;margin-top:.8rem;font-size:clamp(1.9rem,3.6vw,2.9rem);font-weight:600;line-height:1.18}.section-desc{max-width:38rem;color:var(--text-2);margin-top:1rem;font-size:1.02rem}.gradient-text{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.reveal{opacity:0;transform:translateY(var(--reveal-y,26px)) scale(var(--reveal-scale,1));will-change:opacity, transform;transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1)}.reveal.is-revealed{opacity:1;transform:none}.btn{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.82rem 1.5rem;font-size:.95rem;font-weight:600;line-height:1;transition:transform .25s,box-shadow .25s,border-color .25s,background-color .25s;display:inline-flex;position:relative}.btn svg{width:1.05em;height:1.05em}.btn-primary{color:#fff;background:linear-gradient(100deg,#7664ff,#5577f0 55%,#2da7d8);box-shadow:0 10px 32px -12px #6c6cffa6,inset 0 1px #ffffff47}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 44px -14px #6c6cffcc,inset 0 1px #ffffff47}.btn-ghost{color:var(--text-1);border:1px solid var(--line-strong);background:var(--card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.btn-ghost:hover{border-color:color-mix(in srgb, var(--violet) 55%, var(--line));background:var(--card-hover);transform:translateY(-2px)}.btn-sm{padding:.62rem 1.12rem;font-size:.88rem}.tag{border:1px solid var(--line);background:var(--card);color:var(--text-2);font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;padding:.28rem .7rem;font-size:.72rem;display:inline-flex}.glass{border:1px solid var(--line);border-radius:var(--radius-l);background:linear-gradient(180deg, var(--card-hover), var(--card));-webkit-backdrop-filter:blur(16px);box-shadow:var(--surface-shadow);position:relative}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
