:root{--bg: #0a0a0b;--bg-soft: #111113;--line: rgba(255, 255, 255, .08);--text: #f2f2f0;--muted: #8a8a93;--accent: #a78bfa;--accent-2: #67e8f9;--gradient: linear-gradient(100deg, #a78bfa 0%, #818cf8 45%, #67e8f9 100%);--font-display: "Syne", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace;--nav-h: 72px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:var(--accent);color:#0a0a0b}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}.grain{position:fixed;top:-50%;right:-50%;bottom:-50%;left:-50%;width:200%;height:200%;pointer-events:none;z-index:9998;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 8s steps(10) infinite}@keyframes grain{0%,to{transform:translate(0)}10%{transform:translate(-5%,-8%)}30%{transform:translate(3%,-12%)}50%{transform:translate(-9%,4%)}70%{transform:translate(7%,8%)}90%{transform:translate(-4%,3%)}}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;border-radius:50%;translate:-50% -50%}.cursor-dot{width:8px;height:8px;background:var(--accent)}.cursor-ring{width:36px;height:36px;border:1px solid rgba(167,139,250,.5);transition:width .25s ease,height .25s ease,border-color .25s ease}.cursor-ring.is-hover{width:64px;height:64px;border-color:var(--accent-2)}@media(hover:none),(pointer:coarse){.cursor-dot,.cursor-ring{display:none}}.container{width:min(1280px,92vw);margin-inline:auto}section{padding-block:clamp(80px,12vw,160px);position:relative}.section-head{display:flex;align-items:baseline;gap:24px;margin-bottom:clamp(40px,6vw,80px)}.section-head .index{font-family:var(--font-mono);font-size:14px;color:var(--accent)}.section-head h2{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,5vw,4rem);line-height:1;text-transform:uppercase;letter-spacing:-.02em}.gradient-text{background:var(--gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);display:flex;align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0a0b99;border-bottom:1px solid var(--line)}.nav .container{display:flex;align-items:center;justify-content:space-between}.nav-logo{font-family:var(--font-display);font-weight:800;font-size:18px;letter-spacing:-.02em}.nav-links{display:flex;align-items:center;gap:32px;font-size:14px;color:var(--muted)}.nav-links a{transition:color .2s}.nav-links a:hover{color:var(--text)}.lang-toggle{font-family:var(--font-mono);font-size:13px;padding:6px 14px;border:1px solid var(--line);border-radius:99px;color:var(--muted);transition:color .2s,border-color .2s}.lang-toggle:hover{color:var(--text);border-color:var(--accent)}.lang-toggle .active{color:var(--text);font-weight:500}@media(max-width:720px){.nav-links a{display:none}}.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:var(--nav-h);overflow:hidden}.hero-glow{position:absolute;width:60vw;height:60vw;max-width:800px;max-height:800px;border-radius:50%;background:radial-gradient(circle,rgba(129,140,248,.18) 0%,transparent 65%);top:10%;right:-15%;pointer-events:none;filter:blur(20px)}.hero-kicker{font-family:var(--font-mono);font-size:clamp(12px,1.4vw,15px);color:var(--accent);margin-bottom:24px;display:flex;align-items:center;gap:12px}.hero-kicker:before{content:"";width:40px;height:1px;background:var(--accent)}.hero h1{font-family:var(--font-display);font-weight:800;font-size:clamp(3rem,11vw,9.5rem);line-height:.95;letter-spacing:-.03em;text-transform:uppercase}.hero h1 .line{display:block;overflow:hidden}.hero-sub{margin-top:40px;max-width:540px;color:var(--muted);font-size:clamp(15px,1.6vw,18px)}.hero-cta{margin-top:48px;display:flex;gap:20px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border-radius:99px;font-size:15px;font-weight:500;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s}.btn-primary{background:var(--gradient);color:#0a0a0b}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 10px 40px #818cf859}.btn-ghost{border:1px solid var(--line);color:var(--text)}.btn-ghost:hover{border-color:var(--accent);transform:translateY(-3px)}.hero-scroll{position:absolute;bottom:32px;left:50%;translate:-50%;font-family:var(--font-mono);font-size:12px;color:var(--muted);animation:bob 2.2s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.marquee{border-block:1px solid var(--line);padding-block:18px;overflow:hidden;white-space:nowrap;background:var(--bg-soft)}.marquee-track{display:inline-flex;gap:48px;animation:marquee 28s linear infinite}.marquee-track span{font-family:var(--font-display);font-weight:700;font-size:20px;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:48px}.marquee-track span:after{content:"✦";color:var(--accent);font-size:14px}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.about-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(40px,6vw,100px);align-items:start}.about-text{font-size:clamp(18px,2.2vw,26px);line-height:1.5;font-weight:300}.about-text strong{font-weight:600;color:var(--text)}.about-meta{display:flex;flex-direction:column;gap:28px}.meta-block h3{font-family:var(--font-mono);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:12px}.meta-block ul{list-style:none;color:var(--muted);font-size:15px}.meta-block li{padding-block:6px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px}@media(max-width:860px){.about-grid{grid-template-columns:1fr}}.xp-item{display:grid;grid-template-columns:220px 1fr auto;gap:clamp(24px,4vw,64px);padding-block:40px;border-top:1px solid var(--line);align-items:start}.xp-logo{align-self:center;display:flex;align-items:center;padding-inline:clamp(8px,2vw,32px)}.xp-item:last-child{border-bottom:1px solid var(--line)}.xp-period{font-family:var(--font-mono);font-size:14px;color:var(--muted)}.xp-body h3{font-family:var(--font-display);font-weight:700;font-size:clamp(1.3rem,2.4vw,1.8rem);margin-bottom:4px}.xp-body .xp-company{color:var(--accent);font-size:15px;margin-bottom:16px;display:block}.xp-body ul{list-style:none;color:var(--muted);font-size:15px}.xp-body li{padding-left:20px;position:relative;margin-bottom:6px}.xp-body li:before{content:"→";position:absolute;left:0;color:var(--accent-2)}.org-logo{height:60px;width:auto;filter:brightness(0) invert(.92);opacity:.9}.org-logo-edu{height:36px}.edu-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.edu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:56px}.edu-card{border:1px solid var(--line);border-radius:16px;padding:28px;background:var(--bg-soft)}.edu-card .edu-school{font-family:var(--font-mono);font-size:13px;color:var(--accent)}.edu-card h3{font-family:var(--font-display);font-size:1.1rem;font-weight:700;margin-block:8px}.edu-card p{color:var(--muted);font-size:14px}@media(max-width:720px){.xp-item{grid-template-columns:1fr;gap:12px}.xp-logo{order:-1;padding-top:0}.org-logo{height:32px}}.project-card{display:grid;grid-template-columns:80px 1fr auto;gap:clamp(20px,3vw,48px);align-items:start;padding:clamp(28px,4vw,48px) 0;border-top:1px solid var(--line);position:relative;transition:background .3s}.project-card:last-of-type{border-bottom:1px solid var(--line)}.project-card:hover{background:linear-gradient(90deg,rgba(167,139,250,.05),transparent 70%)}.project-index{font-family:var(--font-mono);font-size:14px;color:var(--muted);padding-top:10px}.project-main h3{font-family:var(--font-display);font-weight:800;font-size:clamp(1.6rem,4vw,3rem);letter-spacing:-.02em;line-height:1.05;transition:color .25s;display:inline-block}.project-card:hover .project-main h3{background:var(--gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.project-type{font-family:var(--font-mono);font-size:13px;color:var(--accent-2);margin-top:6px}.project-desc{margin-top:14px;color:var(--muted);font-size:15px;max-width:620px}.project-stack{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.tag{font-family:var(--font-mono);font-size:12px;padding:5px 12px;border:1px solid var(--line);border-radius:99px;color:var(--muted);transition:border-color .2s,color .2s}.project-card:hover .tag{border-color:#a78bfa59}.project-meta{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:10px;padding-top:10px}.project-year{font-family:var(--font-mono);font-size:14px;color:var(--muted)}.project-arrow{font-size:22px;color:var(--accent);transition:transform .25s ease}.project-card:hover .project-arrow{transform:translate(4px,-4px)}.badge-private{font-family:var(--font-mono);font-size:11px;padding:3px 10px;border-radius:99px;background:#67e8f91a;color:var(--accent-2)}.others{margin-top:64px}.others h3{font-family:var(--font-mono);font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:20px}.others-list{display:flex;flex-wrap:wrap;gap:12px}.other-chip{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border:1px solid var(--line);border-radius:99px;font-size:14px;transition:border-color .2s,transform .2s}.other-chip:hover{border-color:var(--accent);transform:translateY(-2px)}.other-chip .lang{font-family:var(--font-mono);font-size:12px;color:var(--accent-2)}@media(max-width:720px){.project-card{grid-template-columns:1fr;gap:8px}.project-index{display:none}.project-meta{flex-direction:row;align-items:center}}.timeline{position:relative;padding-left:32px}.timeline:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:1px;background:linear-gradient(180deg,var(--accent),rgba(103,232,249,.25))}.timeline-item{position:relative;padding-bottom:clamp(40px,6vw,72px)}.timeline-item:last-child{padding-bottom:0}.timeline-marker{position:absolute;left:-32px;top:6px}.timeline-dot{display:block;width:11px;height:11px;border-radius:50%;background:var(--gradient);box-shadow:0 0 16px #a78bfa99}.timeline-dot.is-upcoming{background:transparent;border:2px solid var(--accent-2);box-shadow:0 0 16px #67e8f980;animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.timeline-card{display:grid;grid-template-columns:1fr auto;gap:clamp(24px,3vw,48px);align-items:start}.timeline-poster{width:clamp(160px,18vw,240px);border-radius:14px;border:1px solid var(--line);display:block;transition:transform .3s ease}.timeline-poster:hover{transform:scale(1.03) rotate(-1deg)}.badge-upcoming{font-family:var(--font-mono);font-size:13px;padding:6px 14px;border-radius:99px;border:1px solid var(--accent-2);color:var(--accent-2);white-space:nowrap}@media(max-width:720px){.timeline-card{grid-template-columns:1fr}.timeline-poster{width:min(280px,100%)}}.timeline-date{font-family:var(--font-mono);font-size:13px;color:var(--accent);margin-bottom:12px}.timeline-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.timeline-top h3{font-family:var(--font-display);font-weight:800;font-size:clamp(1.4rem,3vw,2.2rem);letter-spacing:-.02em}.badge-rank{font-family:var(--font-mono);font-size:13px;padding:6px 14px;border-radius:99px;background:var(--gradient);color:#0a0a0b;font-weight:600;white-space:nowrap}.timeline-subject{font-family:var(--font-mono);font-size:14px;color:var(--accent-2);margin-top:10px}.timeline-desc{margin-top:12px;color:var(--muted);font-size:15px;max-width:640px}.timeline-team{margin-top:10px;font-size:14px;color:var(--text)}.timeline-body .project-stack{margin-top:16px}.timeline-link{display:inline-block;margin-top:16px;font-family:var(--font-mono);font-size:13px;color:var(--accent);border-bottom:1px solid rgba(167,139,250,.35);padding-bottom:2px;transition:color .2s,border-color .2s}.timeline-link:hover{color:var(--accent-2);border-color:var(--accent-2)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.skill-card{border:1px solid var(--line);border-radius:16px;padding:32px;background:var(--bg-soft)}.skill-card h3{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:20px}.skill-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-langs{list-style:none}.skill-langs li{display:flex;justify-content:space-between;padding-block:10px;border-bottom:1px solid var(--line);font-size:15px}.skill-langs li:last-child{border-bottom:none}.skill-langs .level{color:var(--muted);font-family:var(--font-mono);font-size:13px}.contact{text-align:center}.contact h2{font-family:var(--font-display);font-weight:800;font-size:clamp(2.6rem,9vw,7.5rem);line-height:1;text-transform:uppercase;letter-spacing:-.03em;margin-bottom:32px}.contact p{color:var(--muted);max-width:480px;margin-inline:auto;margin-bottom:48px}.contact-links{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}footer{border-top:1px solid var(--line);padding-block:28px}footer .container{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-family:var(--font-mono);font-size:12px;color:var(--muted)}footer a:hover{color:var(--text)}
