@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-cyrillic-ext-wght-normal.1o60yhwqd7ueg.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-cyrillic-wght-normal.0n0q_nh7u2mrm.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-vietnamese-wght-normal.0nt7ek_nfk5a4.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-latin-ext-wght-normal.39q78sztp1ci5.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-latin-wght-normal.20f3xrkj613ah.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-cyrillic-ext-wght-normal.2ij5maosbedmv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-cyrillic-wght-normal.33c6-jfmyetfr.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-symbols2-wght-normal.0peao-xekk45v.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-vietnamese-wght-normal.3lyzf0uofk1_2.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-latin-ext-wght-normal.18_jyrw-ln1dm.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-latin-wght-normal.1t7tphccnfzmb.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
:root{--bg:#070c0f;--text:#e4e9e5;--secondary:#b0c0c2;--muted:#8c9ca0;--accent:#a7d4c4;--line:#9cbabb3b;--sans:"Geist Variable",Arial,sans-serif;--mono:"Geist Mono Variable",monospace;--edge:clamp(24px,4.2vw,80px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0}body{font-family:var(--sans);-webkit-font-smoothing:antialiased;font-weight:350}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:0}button:disabled{cursor:default;opacity:.65}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:1px}::selection{color:#07100e;background:#a7d4c4}p,h1,h2,h3{margin:0}p{line-height:1.6}button,a,summary{transition:color .18s,opacity .18s}a:hover,button:hover{color:var(--accent)}.experience{min-height:3200svh;position:relative}.scroll-distance{pointer-events:none;height:3200svh}.world-container{z-index:0;background:var(--bg);position:fixed;inset:0}.world-canvas{width:100%;height:100%}.composition-shade{z-index:3;pointer-events:none;background:linear-gradient(90deg,#070c0fbd,#070c0f73 28%,#0000 62%),linear-gradient(#070c0fa6,#0000 15% 80%,#070c0ff2);position:fixed;inset:0}.experience-header{z-index:6;padding:30px var(--edge);pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.experience-header a,.experience-header button{pointer-events:auto}.wordmark{letter-spacing:-1px;align-items:center;gap:18px;font-size:21px;font-weight:550;display:flex}.wordmark span{font-family:var(--mono);letter-spacing:1.6px;color:var(--secondary);border-left:1px solid var(--line);padding-left:18px;font-size:9px;font-weight:400}.header-actions{align-items:center;gap:30px;font-size:12px;display:flex}.reading-button{color:var(--secondary);padding:12px 0}.header-resume{padding:12px 0}.header-resume span{color:var(--accent);margin-left:13px}.scene-caption{z-index:4;right:var(--edge);pointer-events:none;flex-direction:column;align-items:flex-end;gap:13px;display:flex;position:fixed;top:140px}.scene-caption>span:first-child{font-family:var(--mono);letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-size:10px}.scene-caption>span:last-child{color:var(--muted);font-size:11px}.caption-rule{background:var(--line);width:30px;height:1px}.portfolio-overlay{z-index:4;pointer-events:none;outline:none;position:fixed;inset:0}.chapter{left:var(--edge);max-width:420px;width:calc(100% - var(--edge)*2);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .22s;position:absolute;top:50%;translate:0 -50%}.chapter[data-active=true]{visibility:visible;opacity:1}.chapter a,.chapter button,.chapter details{pointer-events:auto}.chapter-initialization{max-width:540px;top:47%}.chapter h1{letter-spacing:-2.6px;margin:23px 0;font-size:clamp(40px,4.4vw,70px);font-weight:370;line-height:1.13}.chapter h1 span{color:#a6b6b8}.chapter h2{letter-spacing:-1.8px;margin:18px 0 22px;font-size:clamp(34px,3.6vw,53px);font-weight:360;line-height:1.13}.eyebrow{font-family:var(--mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--accent);font-size:10px;line-height:1.5}.opening-role{color:var(--secondary);letter-spacing:.1px;font-size:14px}.enter-link{border-bottom:1px solid var(--line);align-items:center;gap:36px;margin-top:46px;padding-bottom:10px;font-size:12px;display:inline-flex}.enter-link span{color:var(--accent);font-size:18px}.description{color:var(--secondary);max-width:400px;font-size:14px;line-height:1.75}.quiet-meta{margin-top:27px;font-size:12px}.quiet-meta p+p{margin-top:12px}.quiet-meta span{color:var(--muted);font-size:10px}.skill-paths{color:var(--secondary);margin-top:24px;font-size:12px;line-height:1.9}.skill-paths>div+div{margin-top:18px}.skill-paths h3{letter-spacing:.4px;font-size:10px;font-family:var(--mono);color:var(--accent);margin:14px 0 6px;font-weight:400}.skill-paths p{line-height:1.9}.text-note{color:var(--muted);margin-top:14px;font-size:10px;line-height:1.7}.technical-copy{color:var(--secondary);margin-top:22px;font-size:12px;line-height:1.9}.technology-line{font-family:var(--mono);color:var(--muted);margin-top:22px;font-size:10px;line-height:1.9}.process-readout{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--accent);align-items:center;gap:22px;margin-top:27px;padding:14px 0;font-size:12px;display:flex}.mono{font-family:var(--mono);white-space:nowrap;font-size:9px}.formula{font-family:var(--mono);color:var(--accent);margin-top:24px;font-size:12px}.date-label{color:var(--muted);font-family:var(--mono);margin-top:22px;font-size:10px}.chapter h2.role-title{margin:12px 0 18px;font-size:clamp(26px,2.8vw,40px);line-height:1.2}.contributions{color:var(--secondary);margin:18px 0 0;padding:0;font-size:12px;line-height:1.75;list-style:none}.contributions li{margin-top:9px;padding-left:13px;position:relative}.contributions li:before{content:"−";color:var(--accent);position:absolute;left:0}.encounter-label{font-family:var(--mono);color:var(--accent);letter-spacing:.5px;margin-top:24px;font-size:9px}.work-kind{color:var(--accent);margin:-10px 0 20px;font-size:10px}.project-details{margin:20px 0;font-size:12px;line-height:1.7}.project-details dt{font-family:var(--mono);color:var(--accent);margin-top:16px;font-size:9px}.project-details dd{color:var(--secondary);margin:5px 0 0}.result-line{color:var(--accent);margin-top:16px;font-size:12px}.text-link{border-bottom:1px solid var(--line);margin-top:12px;padding-bottom:5px;font-size:12px;display:inline-block}.generation-phrase{color:var(--accent);margin:0 0 23px;font-size:15px}.generation-phrase span{transition:opacity .2s}.publication-title{color:var(--secondary);font-size:14px;line-height:1.65;display:block}.recognition{margin-top:20px}.recognition p{gap:16px;margin:8px 0;font-size:11px;line-height:1.7;display:flex}.recognition p span{color:var(--muted);font-family:var(--mono);padding-top:2px;font-size:9px}.credentials{border-top:1px solid var(--line);color:var(--secondary);margin-top:20px;font-size:11px}.credentials summary{cursor:pointer;color:var(--accent);justify-content:space-between;gap:30px;padding:14px 0;list-style:none;display:flex}.credentials summary::-webkit-details-marker{display:none}.credentials>div{overscroll-behavior:contain;max-height:190px;padding:0 10px 10px 0;overflow:auto}.credentials ul{margin:0;padding:0;list-style:none}.credentials li{margin-bottom:10px;line-height:1.7}.credentials li span{color:var(--muted)}.contact-link{border-bottom:1px solid var(--accent);align-items:center;gap:40px;margin-top:20px;padding:14px 0;font-size:17px;display:inline-flex}.contact-link span{color:var(--accent)}.email-label{color:var(--muted);margin-top:14px;font-size:11px}.contact-links{gap:22px;margin-top:30px;font-size:12px;display:flex}.contact-links a span{color:var(--muted);font-size:11px}.resume-link{border-bottom:1px solid var(--line);align-items:center;gap:40px;margin-top:32px;padding-bottom:9px;font-size:11px;display:inline-flex}.restart-link{font-family:var(--mono);color:var(--muted);margin-top:28px;font-size:9px;display:block}.journey-controls{z-index:6;left:var(--edge);right:var(--edge);justify-content:space-between;align-items:center;gap:28px;display:flex;position:fixed;bottom:27px}.index-toggle{text-align:left;min-width:65px;padding:12px 0;font-size:11px}.index-toggle span{color:var(--accent);margin-left:12px}.stage-navigation{align-items:flex-end;gap:clamp(10px,1.55vw,28px);display:flex}.stage-navigation a{min-width:24px;min-height:44px;color:var(--muted);flex-direction:column;justify-content:flex-end;align-items:center;gap:14px;padding-bottom:5px;display:flex}.stage-tick{background:#597177;width:1px;height:6px;transition:transform .2s,background .2s}.stage-nav-label{letter-spacing:.2px;font-size:9px}.stage-navigation a[aria-current=step]{color:var(--accent)}.stage-navigation a[aria-current=step] .stage-tick{background:var(--accent);transform:scaleY(2)}.control-end{align-items:center;gap:22px;display:flex}.motion-control{color:var(--muted);padding:12px 0;font-size:10px}.progress-number{font-family:var(--mono);color:var(--secondary);min-width:32px;font-size:10px}.journey-progress{z-index:6;background:#142327;height:2px;position:fixed;bottom:0;left:0;right:0}.journey-progress>div{background:var(--accent);transform-origin:0;height:100%;transform:scaleX(0)}.journey-map{z-index:8;left:var(--edge);width:440px;max-width:calc(100vw - var(--edge)*2);border:1px solid var(--line);background:#0c1519;padding:24px 28px;position:fixed;bottom:95px;box-shadow:0 20px 70px #0008}.journey-map>p{color:var(--accent);margin-bottom:20px;font-size:12px}.journey-map a{justify-content:space-between;align-items:center;gap:20px;min-height:37px;font-size:11px;display:flex}.journey-map a span:last-child{color:var(--muted);font-size:10px}.world-label{white-space:nowrap;font-family:var(--mono);letter-spacing:.5px;color:#aac7c4;pointer-events:none;-webkit-user-select:none;user-select:none;background:#070c0fbf;border-left:1px solid #698a89;padding:4px 7px;font-size:9px;display:block}.world-label.faint{color:#859ca1}.loading-state{z-index:9;background:var(--bg);font-family:var(--mono);letter-spacing:.5px;color:var(--secondary);justify-content:center;align-items:center;gap:18px;font-size:10px;display:flex;position:fixed;inset:0}.loading-symbol{background:var(--accent);width:5px;height:5px;box-shadow:0 0 24px #a7d4c4}.skip-link{z-index:10;background:var(--accent);color:var(--bg);padding:15px;position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip-link:focus{transform:none}.fallback-notice,.noscript-notice{z-index:6;top:80px;left:var(--edge);right:var(--edge);color:var(--secondary);background:#0b1518;padding:16px;font-size:12px;position:fixed}.is-reading{min-height:100vh}.is-reading .scroll-distance{display:none}.is-reading .world-container{opacity:.25}.is-reading .scene-caption{display:none}.is-reading .composition-shade{background:linear-gradient(90deg,#070c0fe6,#070c0f66)}.reading-content{padding:140px var(--edge) 170px;pointer-events:auto;max-width:880px;position:relative;inset:auto}.reading-content .chapter{visibility:visible;pointer-events:auto;width:100%;max-width:620px;margin-bottom:110px;scroll-margin-top:120px;position:relative;inset:auto;translate:none;opacity:1!important;transform:none!important}.reading-content .chapter:last-child{margin-bottom:0}.reading-content .work-entry+.work-entry{margin-top:55px}.reading-content .description{max-width:570px}.reading-content .enter-link{display:none}.reading-content .credentials>div{max-height:none}.reading-content .chapter-generation{max-width:620px}.is-reading .stage-navigation{display:none}.is-reading .journey-controls{padding:24px var(--edge);background:linear-gradient(#0000,#070c0f 40%);bottom:0;left:0;right:0}@media (min-width:1500px){.chapter{max-width:460px}.description{font-size:15px}.chapter h2{font-size:56px}.chapter h1{font-size:76px}.scene-caption{top:160px}}@media (max-width:1100px){.stage-nav-label{display:none}.stage-navigation{gap:22px}.stage-navigation a{min-width:20px}.scene-caption{top:120px}.chapter{max-width:390px}.chapter h2{font-size:42px}.chapter h1{font-size:55px}}@media (max-width:700px){:root{--edge:24px}.experience-header{padding:19px var(--edge)}.wordmark{gap:12px;font-size:19px}.wordmark span{letter-spacing:1px;padding-left:12px;font-size:8px}.header-actions{gap:18px;font-size:10px}.scene-caption{top:97px;right:var(--edge)}.scene-caption>span:last-child,.caption-rule{display:none}.scene-caption>span:first-child{letter-spacing:1px;font-size:8px}.composition-shade{background:linear-gradient(#070c0fa6,#070c0f14 22%,#070c0fba 54%,#070c0fe8 79%,#070c0f 94%)}.chapter{max-width:100%;width:calc(100% - var(--edge)*2);top:auto;bottom:106px;translate:none}.chapter-initialization{max-width:370px;bottom:25%}.chapter h1{letter-spacing:-1.9px;margin:18px 0;font-size:46px}.chapter h2{letter-spacing:-1.2px;margin:12px 0 17px;font-size:36px}.eyebrow{letter-spacing:1.2px;font-size:8px}.opening-role{font-size:11px}.enter-link{margin-top:29px}.description{max-width:100%;font-size:12px;line-height:1.7}.quiet-meta{margin-top:15px;font-size:10px}.quiet-meta span{font-size:9px}.quiet-meta p+p{margin-top:9px}.skill-paths{margin-top:13px;font-size:10px}.skill-paths>div+div{margin-top:10px}.skill-paths h3,.text-note{margin-top:10px;font-size:9px}.technology-line{margin-top:13px;font-size:8px}.technical-copy{margin-top:14px;font-size:10px}.process-readout{margin-top:16px;padding:12px 0;font-size:10px}.formula{margin-top:15px;font-size:10px}.chapter h2.role-title{font-size:29px;line-height:1.16}.contributions{margin-top:12px;font-size:10px}.contributions li{margin-top:7px}.date-label{margin-top:15px;font-size:9px}.encounter-label{margin-top:15px;font-size:8px}.work-kind{margin:0 0 11px;font-size:9px}.project-details{margin:13px 0;font-size:10px}.project-details dt{margin-top:11px;font-size:8px}.project-details dd{margin-top:4px}.publication-title{font-size:12px}.recognition{margin-top:14px}.recognition p{margin:6px 0;font-size:10px}.generation-phrase{margin-bottom:15px;font-size:12px}.credentials{margin-top:12px;font-size:10px}.credentials>div{max-height:135px}.credentials summary{padding:10px 0}.contact-link{margin-top:15px;font-size:16px}.contact-links{gap:20px;margin-top:23px;font-size:11px}.email-label{font-size:10px}.resume-link{margin-top:24px}.restart-link{margin-top:22px}.journey-controls{gap:16px;bottom:22px}.stage-navigation{flex:1;justify-content:center;gap:3px}.stage-navigation a{min-width:14px;min-height:44px}.stage-tick{height:5px}.index-toggle{min-width:54px;font-size:10px}.index-toggle span{margin-left:7px}.control-end{gap:14px}.motion-control,.progress-number{font-size:9px}.scene-caption{opacity:.8}.world-label{font-size:8px}.journey-map{padding:18px;bottom:86px}.journey-map a{min-height:37px;font-size:10px}.journey-map a span:last-child{font-size:9px}.reading-content{padding-top:130px}.reading-content .chapter{margin-bottom:80px;scroll-margin-top:95px}.reading-content .chapter-initialization{margin-bottom:80px}.reading-content .description{font-size:14px}.reading-content .contributions,.reading-content .project-details,.reading-content .skill-paths{font-size:12px}}@media (max-height:720px) and (min-width:701px){.chapter{max-width:450px;top:49%}.chapter h2{margin:12px 0 15px;font-size:34px}.description{font-size:12px}.eyebrow{font-size:9px}.skill-paths{margin-top:12px;font-size:11px}.chapter h2.role-title{font-size:29px}.technology-line{margin-top:13px;font-size:9px}.contributions{margin-top:10px;font-size:11px}.project-details{margin:12px 0;font-size:11px}.project-details dt{margin-top:10px}.encounter-label{margin-top:12px}.recognition{margin-top:10px}.recognition p{margin:5px 0}.credentials{margin-top:12px}.chapter-generation h2{font-size:32px}.generation-phrase{margin-bottom:12px}.publication-title{font-size:12px}.scene-caption{top:105px}.chapter-initialization h1{font-size:52px}}@media (max-width:700px) and (max-height:740px){.chapter{bottom:88px}.chapter h2{margin-bottom:12px;font-size:31px}.chapter h2.role-title{font-size:25px}.chapter-initialization{bottom:25%}.contributions{font-size:9px;line-height:1.6}.chapter-generation h2{font-size:28px}.recognition p{font-size:9px}.generation-phrase{margin-bottom:10px}.scene-caption{top:80px}.eyebrow{font-size:8px}.experience-header{padding-top:14px}.chapter-about .description{font-size:11px}.quiet-meta{margin-top:10px}.chapter-projects .description{font-size:11px}.project-details,.chapter-tokenization .skill-paths{font-size:9px}}@media (max-height:500px) and (orientation:landscape){.experience-header{padding-top:10px;padding-bottom:10px}.scene-caption{top:70px}.chapter{pointer-events:auto;overscroll-behavior:contain;max-width:65%;padding-right:20px;top:75px;bottom:65px;overflow-y:auto;translate:none}.chapter h2,.chapter h2.role-title{font-size:26px}.chapter-initialization h1{font-size:35px}.chapter-initialization{max-width:70%}.enter-link{margin-top:15px}.journey-controls{bottom:10px}.reading-content .chapter{max-width:100%;padding-right:0;overflow:visible}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}.chapter,.generation-phrase span,.stage-tick{transition:opacity .15s}.loading-symbol{box-shadow:none}}@media print{.world-container,.experience-header,.scene-caption,.journey-controls,.journey-progress,.composition-shade,.loading-state{display:none!important}body{color:#000;background:#fff}.reading-content{padding:0}.reading-content .chapter{break-inside:avoid}.description,.technology-line,.contributions,.project-details dd{color:#333}}.experience:not([data-current-stage=tokenization]) .token-annotation,.experience:not([data-current-stage=embedding]) .embedding-annotation,.is-reading .world-label,.is-reading .world-annotation{visibility:hidden}@media (max-width:700px){.stage-navigation{display:none}.index-toggle,.motion-control{min-width:44px;min-height:44px}}.reading-content [data-generated-word]{opacity:1!important}.journey-map{overscroll-behavior:contain;max-height:calc(100svh - 170px);overflow-y:auto}.chapter:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
