.journey-page{--journey-ink: hsl(var(--foreground));--journey-muted: hsl(var(--muted-foreground));--journey-accent: hsl(var(--primary));--journey-line: hsl(var(--border) / .85);--journey-surface: hsl(var(--card));--journey-surface-raised: hsl(var(--secondary));--journey-background: hsl(var(--background));--journey-on-accent: hsl(var(--primary-foreground));min-height:100svh;background:var(--journey-background);color:var(--journey-ink);padding:clamp(7rem,10vw,9rem) clamp(1.25rem,6vw,7rem) clamp(4rem,8vw,7rem);font-family:Helvetica Neue,PingFang SC,Microsoft YaHei,sans-serif}.journey-page :is(button,a,summary):focus-visible{outline:2px solid var(--journey-accent);outline-offset:5px}.journey-page a,.journey-page button{-webkit-tap-highlight-color:transparent}.journey-hero{position:relative;padding-top:1rem}.journey-eyebrow{font:10px/1.7 ui-monospace,SFMono-Regular,monospace;letter-spacing:.17em;text-transform:uppercase;color:var(--journey-muted)}.journey-hero-top,.journey-hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:2rem}.journey-hero-top{padding-bottom:4.5rem}.journey-hero-top .journey-eyebrow:first-child{color:var(--journey-accent)}.journey-hero-copy{display:grid;grid-template-columns:1fr 160px;gap:1rem;align-items:center}.journey-hero h1{font-size:clamp(2rem,4.8vw,4.5rem);font-weight:500;letter-spacing:-.06em;line-height:1.25}.journey-display{font:clamp(2.9rem,6.4vw,6.5rem)/1.12 "Instrument Serif",Georgia,serif;letter-spacing:-.035em;margin-top:1rem}.journey-display em{color:var(--journey-accent)}.journey-hero-mark{width:160px;height:160px;display:grid;place-items:center;border-radius:50%;border:1px solid hsl(var(--primary) / .25);color:var(--journey-accent);position:relative;background:radial-gradient(ellipse at center,hsl(var(--primary) / .09),transparent 70%)}.journey-hero-mark:before,.journey-hero-mark:after{content:"";position:absolute;inset:12px;border:1px solid hsl(var(--primary) / .17);border-radius:50%;transform:rotate(-30deg) scaleX(.58)}.journey-hero-mark:after{transform:rotate(30deg) scaleX(.58)}.journey-hero-mark svg{width:85px;height:85px;position:relative;z-index:1;transition:transform .5s}.journey-hero-mark:hover svg{transform:translate(6px,-6px)}.journey-hero-bottom{padding:2.5rem 0 3rem}.journey-hero-bottom p{color:var(--journey-muted);max-width:34rem;font-size:14px;line-height:1.9}.journey-hero-bottom svg{color:var(--journey-accent);flex-shrink:0}.journey-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--journey-line)}.journey-index a{display:flex;align-items:center;gap:.8rem;padding:1.3rem 1.5rem;font-size:14px;transition:background .2s,color .2s}.journey-index a:first-child{padding-left:0}.journey-index a+a{border-left:1px solid var(--journey-line)}.journey-index a:hover{color:var(--journey-accent);background:hsl(var(--primary) / .025)}.journey-index svg{margin-left:auto}.journey-index-number{color:var(--journey-muted);font:10px ui-monospace,monospace}.journey-index sup{color:var(--journey-accent);font:9px ui-monospace,monospace;align-self:start}.journey-section{padding-top:clamp(4rem,8vw,7rem);scroll-margin-top:105px}.journey-section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.5rem}.journey-section-heading .journey-eyebrow{color:var(--journey-accent);margin-bottom:.9rem}.journey-section-heading h2{font-size:clamp(1.6rem,2.8vw,2.5rem);font-weight:500;letter-spacing:-.05em;text-wrap:balance}.journey-section-note{font-size:11px;color:var(--journey-muted);max-width:11rem;text-align:right;line-height:1.8}.interactive-surface{position:relative;--pointer-x: 50%;--pointer-y: 50%}.interactive-surface:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(450px circle at var(--pointer-x) var(--pointer-y),hsl(var(--primary) / .11),transparent 65%);pointer-events:none;opacity:0;transition:opacity .35s}.interactive-surface:focus-within:after{opacity:.65}@media(hover:hover)and (pointer:fine){.interactive-surface:hover:after{opacity:1}}.project-feature{scroll-margin-top:30px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:2.5rem;align-items:start}.project-stage{border-radius:18px;background:var(--journey-surface-raised);padding:2rem 1.5rem 3.5rem;box-shadow:0 15px 50px hsl(var(--background) / .25)}.project-preview{display:block;width:100%;aspect-ratio:4/3;position:relative;overflow:hidden;border-radius:8px;background:var(--journey-surface)}.project-preview img,.project-preview video{object-fit:contain;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.project-preview:hover img{transform:scale(1.025)}.project-preview-hint{position:absolute;bottom:1rem;right:1rem;display:inline-flex;align-items:center;gap:.5rem;padding:.6rem .8rem;border-radius:30px;color:var(--journey-ink);background:hsl(var(--background) / .91);font-size:11px}.project-stage-number{position:absolute;left:1.5rem;bottom:1.3rem;color:hsl(var(--foreground) / .42);font:10px ui-monospace,monospace;letter-spacing:.15em}.project-story{min-width:0;padding-top:.5rem}.project-story .journey-eyebrow{font-size:10px;letter-spacing:.07em}.project-story h3{font-size:clamp(1.3rem,2.15vw,2rem);line-height:1.45;font-weight:500;letter-spacing:-.03em;overflow-wrap:anywhere;margin:.8rem 0}.project-date{font:10px/1.8 ui-monospace,monospace;color:var(--journey-muted)}.project-description{font-size:13px;line-height:1.95;color:hsl(var(--foreground) / .7);margin:1.2rem 0;white-space:pre-line}.journey-tags{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0}.journey-tags li{border:1px solid var(--journey-line);border-radius:4px;font:9px/1.5 ui-monospace,monospace;color:hsl(var(--foreground) / .7);padding:.25rem .5rem}.project-actions{display:flex;flex-wrap:wrap;gap:.65rem 1.2rem;margin-top:1.8rem}.project-actions a{display:inline-flex;align-items:center;gap:.45rem;font-size:11px;color:var(--journey-accent);min-height:36px;border-bottom:1px solid hsl(var(--primary) / .25);transition:color .2s,transform .2s}.project-actions a:hover{color:var(--journey-ink);transform:translateY(-2px)}.project-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.5rem;margin-top:2.5rem}.project-selector button{display:flex;align-items:center;min-height:75px;padding:1rem .2rem;text-align:left;gap:1rem;border-bottom:1px solid var(--journey-line);transition:color .25s,background .25s}.project-selector button:hover,.project-selector button[aria-pressed=true]{color:var(--journey-accent);background:hsl(var(--primary) / .02)}.project-selector-number{color:var(--journey-muted);font:10px ui-monospace,monospace}.project-selector button[aria-pressed=true] .project-selector-number{color:var(--journey-accent)}.project-selector-title{flex:1;font-size:12px;line-height:1.7}.project-selector svg{flex-shrink:0}.publication-grid{display:block;width:100%;overflow:hidden;border:1px solid var(--journey-line);border-radius:14px;background:var(--journey-line)}.publication-card{display:flex;width:100%;min-height:30rem;flex-direction:column;align-items:flex-start;padding:clamp(2rem,4vw,4rem);background:var(--journey-surface)}.publication-card-featured{background:linear-gradient(135deg,hsl(var(--primary) / .08),transparent 52%),var(--journey-surface)}.publication-card>svg{width:26px;height:26px;margin-bottom:1.5rem;color:var(--journey-accent)}.publication-card h3{max-width:78rem;margin:0 0 2rem;font-size:clamp(1.75rem,3.2vw,3rem);font-weight:500;letter-spacing:-.035em;line-height:1.2}.publication-card>p,.publication-copy>p{max-width:none;color:var(--journey-muted);font-size:1.125rem;line-height:1.9}.publication-copy{width:100%;max-width:78rem}.publication-label{margin-top:1.75rem;color:var(--journey-accent)!important;font:12px/1.5 ui-monospace,monospace!important;letter-spacing:.1em;text-transform:uppercase}.career-timeline{position:relative}.career-track{position:absolute;left:27%;top:.5rem;bottom:2rem;width:1px;background:var(--journey-line)}.career-track>div{height:100%;width:2px;transform-origin:top;background:linear-gradient(hsl(var(--primary) / .45),var(--journey-accent));box-shadow:0 0 16px hsl(var(--primary) / .47)}.career-entry{position:relative;display:grid;grid-template-columns:27% 1fr;gap:0}.career-date{position:sticky;top:110px;height:fit-content;padding:0 2rem 1rem 0;display:flex;flex-direction:column;gap:.7rem;color:var(--journey-muted);font:10px/1.8 ui-monospace,monospace}.career-year{font:62px/1 "Instrument Serif",Georgia,serif;color:hsl(var(--foreground) / .86)}.career-node{position:absolute;top:.6rem;right:-5px;width:11px;height:11px;background:var(--journey-accent);border:3px solid var(--journey-background);border-radius:50%;box-shadow:0 0 0 1px hsl(var(--primary) / .33)}.career-content{margin-left:2.5rem;padding-bottom:2.5rem;margin-bottom:2.5rem;border-bottom:1px solid var(--journey-line);min-width:0}.career-entry:last-child .career-content{margin-bottom:0}.career-company{display:flex;align-items:start;justify-content:space-between;gap:1rem}.career-company>div{display:flex;align-items:center;gap:1rem}.career-company img{object-fit:contain;background:hsl(var(--foreground) / .94);border-radius:10px;padding:7px;flex-shrink:0}.career-company h3{font-size:25px;font-weight:500;letter-spacing:-.03em}.career-company p{font-size:12px;color:var(--journey-muted);margin-top:.3rem}.career-company a{padding:.5rem;color:var(--journey-accent)}.career-achievements{list-style:none;margin:1.7rem 0 1.3rem}.career-achievements li{display:flex;align-items:baseline;gap:1rem;margin-bottom:1rem}.career-achievements li>span{color:var(--journey-accent);font:10px ui-monospace,monospace}.career-achievements p{color:hsl(var(--foreground) / .75);font-size:13px;line-height:1.9}.journey-details{font-size:12px;line-height:1.9;color:var(--journey-muted)}.journey-details summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:40px;color:var(--journey-accent);list-style:none}.journey-details summary::-webkit-details-marker{display:none}.journey-details[open] summary svg{transform:rotate(180deg)}.journey-details>div{padding-top:.8rem}.journey-details>div>ul:not(.journey-tags):not(.contribution-evidence){list-style:disc;padding-left:1rem;margin-top:1rem}.journey-details li+li{margin-top:.5rem}.journey-details p{overflow-wrap:anywhere}.contribution-toolbar{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:2rem}.contribution-metrics{display:flex;gap:2.5rem}.contribution-metrics>div{display:flex;flex-direction:column;gap:.5rem}.contribution-metrics strong{font:56px/1 "Instrument Serif",Georgia,serif;color:var(--journey-accent);font-variant-numeric:tabular-nums}.contribution-metrics>div>span{font:10px ui-monospace,monospace;color:var(--journey-muted)}.contribution-bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start}.contribution-card{border:1px solid var(--journey-line);border-radius:16px;background:var(--journey-surface);min-width:0;overflow:hidden;transition:border-color .3s,box-shadow .3s}.contribution-card:hover,.contribution-card:focus-within{border-color:hsl(var(--primary) / .38);box-shadow:0 0 24px hsl(var(--primary) / .035)}.contribution-card article{padding:1.5rem;min-height:320px;display:flex;flex-direction:column}.contribution-card-top{margin-bottom:1.4rem;display:flex;align-items:center;gap:.7rem}.repo-avatar{position:relative;height:38px;width:38px;flex-shrink:0;display:grid;place-items:center;background:hsl(var(--primary) / .08);border-radius:9px;color:var(--journey-accent);font:23px "Instrument Serif",Georgia,serif;overflow:hidden}.repo-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.repo-link{flex-shrink:0;margin-left:auto;padding:6px;color:var(--journey-accent)}.contribution-card h3{min-width:0;flex:1;line-height:1.25;font-size:28px;font-weight:500;margin:0;letter-spacing:-.04em;overflow-wrap:anywhere}.contribution-description{color:hsl(var(--foreground) / .67);font-size:12px;line-height:1.9;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin-bottom:1.3rem}.contribution-card-bottom{margin-top:auto;display:flex;flex-wrap:wrap;gap:.8rem;font:10px ui-monospace,monospace;color:var(--journey-muted);padding-block:.5rem 1rem}.contribution-card-bottom>span{display:inline-flex;align-items:center;gap:.3rem}.contribution-card-bottom .repo-stars{margin-left:auto}.contribution-card .journey-details{border-top:1px solid var(--journey-line);font-size:11px}.contribution-evidence{list-style:none;margin-top:1rem}.contribution-evidence a{display:grid;grid-template-columns:1fr auto;gap:.3rem;padding:.6rem;border-radius:6px;border:1px solid var(--journey-line)}.contribution-evidence a>span:first-child{font:10px ui-monospace,monospace;color:var(--journey-accent)}.contribution-evidence a>span:nth-child(2){grid-row:2;overflow-wrap:anywhere}.contribution-evidence svg{grid-row:1;grid-column:2}.contribution-evidence a:hover{background:hsl(var(--primary) / .04)}.contribution-empty{padding:2rem 0;color:var(--journey-muted)}.journey-footer{margin-top:5rem;border-top:1px solid var(--journey-line);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;font:10px ui-monospace,monospace;letter-spacing:.12em;color:var(--journey-muted)}.journey-footer-dot{width:7px;height:7px;border-radius:50%;background:var(--journey-accent);box-shadow:0 0 16px hsl(var(--primary) / .47)}@media(max-width:1000px){.journey-hero-copy{grid-template-columns:1fr 110px}.journey-hero-mark{width:110px;height:110px}.journey-hero-mark svg{width:64px;height:64px}.project-feature{scroll-margin-top:30px;grid-template-columns:1fr;gap:2rem}.project-preview{aspect-ratio:16/9}.project-story h3{font-size:28px}.project-description{max-width:48rem}.contribution-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-section-note{display:none}}@media(max-width:600px){.journey-page{padding:6.5rem 1.25rem 3rem}.journey-hero-top{padding-bottom:2.5rem}.journey-hero-top .journey-eyebrow:last-child{display:none}.journey-hero-copy{grid-template-columns:1fr}.journey-hero-mark{display:none}.journey-display{font-size:clamp(2.4rem,10vw,3.8rem)}.journey-hero-bottom{padding:1.5rem 0 2rem}.journey-hero-bottom p{font-size:12px}.journey-index a{padding:1rem .65rem;gap:.45rem;font-size:11px;flex-wrap:wrap}.journey-index{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-index a:nth-child(odd){border-left:0}.journey-index-number,.journey-index svg{display:none}.journey-index a:first-child{padding-left:.2rem}.journey-index sup{font-size:8px}.journey-section-heading{margin-bottom:1.8rem}.project-stage{padding:1rem .8rem 2.5rem;border-radius:12px}.project-stage-number{left:.8rem;bottom:.9rem;font-size:8px}.project-preview-hint{bottom:.6rem;right:.6rem;font-size:9px;padding:.4rem}.project-preview-hint svg{width:12px}.project-story h3{font-size:23px}.project-selector{grid-template-columns:1fr;margin-top:1.7rem}.project-selector button{min-height:60px}.publication-card{min-height:24rem;padding:1.5rem}.publication-card h3{font-size:clamp(1.55rem,8vw,2.25rem)}.publication-card>p,.publication-copy>p{font-size:1rem}.career-track{left:4px}.career-entry{display:block;padding-left:25px}.career-date{position:relative;top:auto;padding:0 0 1rem;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.8rem}.career-year{font-size:38px}.career-node{left:-25px;top:12px;right:auto}.career-content{margin-left:0}.career-company h3{font-size:22px}.career-company img{width:38px;height:38px}.career-company>div{gap:.7rem}.career-achievements li{gap:.65rem}.career-achievements p{font-size:12px}.contribution-toolbar{flex-direction:column;align-items:start}.contribution-metrics{gap:2rem}.contribution-metrics strong{font-size:44px}.contribution-metrics>div>span{font-size:9px}.contribution-bento{grid-template-columns:1fr}.contribution-card article{padding:1.3rem;min-height:290px}}@media(prefers-reduced-motion:reduce){.journey-page *,.journey-page *:before,.journey-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.interactive-surface{transform:none!important}.interactive-surface:after{display:none}}
