@import"https://fonts.googleapis.com/css2?family=Caveat:wght@600&family=Zhi+Mang+Xing&display=swap";*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}:root{--color-bg: #09090b;--color-surface: rgba(24, 24, 27, .6);--color-border: rgba(255, 255, 255, .08);--color-text: #fafafa;--color-text-muted: #a1a1aa;--color-primary: #8b5cf6;--color-primary-glow: rgba(139, 92, 246, .4);--color-secondary: #3b82f6;--color-github: #24292e;--color-email: #ea4335;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;font-weight:400;letter-spacing:.015em;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;overflow-x:hidden;scroll-behavior:smooth}#root{min-height:100vh}.page-reveal{animation:pageFadeReveal .2s ease-out forwards}@keyframes pageFadeReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}a{color:inherit;text-decoration:none}button,select{font-family:inherit}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}::view-transition-old(root),::view-transition-new(root){animation-duration:.2s;animation-timing-function:ease-out}::view-transition-old(root){animation-name:fade-out}::view-transition-new(root){animation-name:fade-in}@keyframes fade-in{0%{opacity:0;transform:scale(.98);filter:blur(10px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.02);filter:blur(10px)}}.back-to-top{position:fixed;bottom:2rem;left:2rem;width:45px;height:45px;background:#1e1e2399;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000;opacity:0;transform:translateY(20px);transition:all .4s cubic-bezier(.175,.885,.32,1.275);pointer-events:none}.back-to-top.visible{opacity:1;transform:translateY(0);pointer-events:auto}.back-to-top:hover{background:#667eea4d;border-color:#667eea80;transform:scale(1.1)}@media(max-width:768px){.back-to-top{left:2rem;bottom:2rem;width:40px;height:40px}}.language-selector-wrapper{position:fixed;top:1.5rem;right:1.5rem;z-index:2000;font-family:Inter,sans-serif}.language-selector-pill{display:flex;align-items:center;gap:.6rem;background:#23232866;padding:.5rem 1rem;border-radius:100px;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 10px 30px #0000004d;transition:all .4s cubic-bezier(.175,.885,.32,1.275);cursor:pointer;-webkit-user-select:none;user-select:none}.language-selector-pill:hover{background:#32323799;border-color:#667eea66;transform:translateY(-2px);box-shadow:0 15px 45px #0006,0 0 20px #667eea33}.language-icon{font-size:1.1rem;filter:drop-shadow(0 0 5px rgba(255,255,255,.2))}.language-label{font-size:.85rem;font-weight:600;color:#fff;letter-spacing:.5px}.chevron{font-size:.75rem;opacity:.5;transition:transform .3s ease}.chevron.open{transform:rotate(180deg)}.language-dropdown{position:absolute;top:calc(100% + .8rem);right:0;min-width:120px;background:#19191ebf;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:.5rem;box-shadow:0 20px 50px #00000080;animation:dropdownFadeIn .3s cubic-bezier(.2,.8,.2,1) forwards;overflow:hidden;display:none}.language-dropdown.show{display:block}.dropdown-item{padding:.7rem 1.2rem;font-size:.9rem;color:#ffffffb3;border-radius:12px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.dropdown-item:hover{background:#ffffff14;color:#fff;padding-left:1.4rem}.dropdown-item.active{background:#667eea33;color:#a5b4fc;font-weight:600}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.mobile-language-overlay{display:none;position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1999;opacity:0;pointer-events:none;transition:opacity .3s ease}.mobile-language-sheet{display:none;position:fixed;left:0;right:0;bottom:0;background:#19191ef2;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border-top:1px solid rgba(255,255,255,.1);border-top-left-radius:32px;border-top-right-radius:32px;z-index:2100;padding:1.5rem 2rem 3rem;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.mobile-language-sheet.show{transform:translateY(0);pointer-events:auto}.sheet-handle{width:40px;height:4px;background:#ffffff26;border-radius:2px;margin:0 auto 1.5rem}.sheet-header h3{margin:0 0 1.5rem;font-size:1.2rem;font-weight:700;color:#fff}.sheet-items{display:flex;flex-direction:column;gap:.5rem}.sheet-item{display:flex;justify-content:space-between;align-items:center;padding:1.2rem;background:#ffffff08;border-radius:20px;font-size:1.1rem;color:#fffc;transition:background .3s ease}.sheet-item.active{background:#667eea26;color:#a5b4fc}.item-check{font-weight:700}.sheet-close{margin-top:1.5rem;width:100%;padding:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:100px;color:#fff;font-size:1rem;font-weight:600}@media(max-width:768px){.language-selector-wrapper{top:auto;bottom:2rem;right:2rem}.language-dropdown{display:none}.mobile-language-overlay{display:block}.mobile-language-overlay.show{opacity:1;pointer-events:auto}.mobile-language-sheet{display:block}.mobile-language-sheet.show{transform:translateY(0)}}.hero-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:80vh;padding:2rem;z-index:10}.hero-content-centered{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:800px}.avatar-wrapper{position:relative;margin-bottom:2rem;animation:floatInUp .8s cubic-bezier(.2,.8,.2,1) forwards;opacity:0;transform:translateY(30px)}.avatar-img{width:160px;height:160px;border-radius:50%;object-fit:cover;border:4px solid rgba(255,255,255,.1);position:relative;z-index:2;transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .5s}.avatar-wrapper:hover .avatar-img{transform:scale(1.05);border-color:var(--color-primary)}.avatar-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:160px;height:160px;border-radius:50%;background:var(--color-primary);filter:blur(40px);opacity:.3;z-index:1;transition:opacity .5s}.avatar-wrapper:hover .avatar-glow{opacity:.6}.hero-name{font-size:4rem;font-weight:800;margin-bottom:1rem;background:linear-gradient(135deg,#fff,#9eb0ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:floatInUp .8s cubic-bezier(.2,.8,.2,1) .1s forwards;opacity:0;transform:translateY(30px)}.hero-desc{font-family:Zhi Mang Xing,Caveat,cursive;font-size:2.2rem;color:#b0c0d0;margin-bottom:1.5rem;letter-spacing:2px;animation:floatInUp .8s cubic-bezier(.2,.8,.2,1) .2s forwards;opacity:0;transform:translateY(30px)}.hero-location-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.2rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--color-text-muted);font-size:.95rem;margin-bottom:3rem;animation:floatInUp .8s cubic-bezier(.2,.8,.2,1) .3s forwards;opacity:0;transform:translateY(30px)}.hero-location-badge svg{width:16px;height:16px}.pill-nav-container{display:flex;gap:1.2rem;flex-wrap:wrap;justify-content:center;animation:floatInUp .8s cubic-bezier(.2,.8,.2,1) .4s forwards;opacity:0;transform:translateY(30px)}.nav-pill{display:flex;align-items:center;gap:.8rem;padding:.8rem 1.8rem;background:#1e1e2380;border:1px solid var(--color-border);border-radius:30px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:var(--color-text);text-decoration:none;font-weight:500;font-size:1.05rem;transition:all .4s cubic-bezier(.2,.8,.2,1);cursor:pointer}.nav-pill svg,.pill-icon{width:20px;height:20px;opacity:.8;transition:opacity .4s,transform .4s}.nav-pill:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 10px 30px #0000004d}.travel-pill:hover{background:#8b5cf633;border-color:#8b5cf680;box-shadow:0 10px 30px #8b5cf633}.github-pill:hover{background:var(--color-github);border-color:#ffffff4d}.email-pill:hover{background:var(--color-email);border-color:#ffffff4d}.nav-pill:hover svg,.nav-pill:hover .pill-icon{opacity:1;transform:scale(1.1)}@keyframes floatInUp{to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.hero-name{font-size:2.8rem}.hero-desc{font-size:1.8rem}.avatar-img,.avatar-glow{width:120px;height:120px}.nav-pill{padding:.7rem 1.4rem;font-size:.95rem}}.animated-background-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden}.gradient-background{position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--color-bg);background-image:radial-gradient(at 0% 0%,rgba(139,92,246,.15) 0px,transparent 50%),radial-gradient(at 100% 0%,rgba(59,130,246,.15) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(139,92,246,.15) 0px,transparent 50%),radial-gradient(at 0% 100%,rgba(59,130,246,.15) 0px,transparent 50%);background-size:200% 200%;animation:gradientShift 20s ease infinite}@keyframes gradientShift{0%{background-position:0% 0%}50%{background-position:100% 100%}to{background-position:0% 0%}}.particles-canvas{position:absolute;top:0;left:0;width:100%;height:100%}.App{min-height:100vh;background:transparent;color:var(--color-text)}.route-loading{min-height:50vh;display:grid;place-items:center;color:#ffffffb8}.main-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;animation:pageReveal .8s cubic-bezier(.2,.8,.2,1) forwards}@keyframes pageReveal{0%{opacity:0;transform:translateY(30px) scale(.98);filter:blur(12px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.content-wrapper{max-width:1000px;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.content-section{display:flex;flex-direction:column;gap:2.5rem}@media(max-width:768px){.content-wrapper{grid-template-columns:1fr;gap:3rem}.profile-avatar{width:120px;height:120px}.profile-name{font-size:2rem}.main-container{padding:1rem}}
