/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--bg:#000;--text:#fff;--line:#ffffff21;--muted:#ffffff94}*{box-sizing:border-box}html{background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg);color:var(--text);font-family:var(--font-tiktok),"TikTok Sans",Arial,Helvetica,sans-serif;margin:0;overflow-x:hidden}button,span,h1,h2,p{font-family:inherit}button{color:inherit}.adaptive-picture{display:contents}.adaptive-picture img:not([src]){visibility:hidden}.site-header{z-index:20;justify-content:space-between;align-items:flex-start;width:100%;height:clamp(72px,5.2vw,100px);padding:clamp(10px,1.05vw,20px) clamp(22px,2.1vw,40px) 0;display:flex;position:absolute;top:0;left:0}.brand-slot{flex:none;width:clamp(72px,4.45vw,86px);height:clamp(48px,3.55vw,68px)}.brand-logo{object-fit:contain;object-position:top left;width:100%;height:100%;display:block}.site-nav{white-space:nowrap;justify-content:space-between;align-items:center;width:min(51.7vw,992px);padding-top:clamp(2px,.2vw,4px);font-size:clamp(11px,.83vw,16px);font-weight:700;display:flex}.site-nav button,.site-nav>.nav-static{font-size:inherit;font-weight:inherit;isolation:isolate;background:0 0;border:0;padding:clamp(7px,.55vw,11px) clamp(9px,.72vw,14px);line-height:1.2;display:block;position:relative;overflow:hidden}.site-nav button{cursor:pointer}.site-nav button:before,.site-nav>.nav-static:before{z-index:-1;content:"";background:#fff;transition:transform .62s cubic-bezier(.76,0,.24,1);position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-102%)}.site-nav .nav-label{z-index:1;color:#fff;mix-blend-mode:difference;position:relative}.site-nav button:focus-visible{outline-offset:3px;outline:1px solid #ffffffbf}.site-nav button:hover:before,.site-nav button:focus-visible:before,.site-nav button.active:before,.site-nav>.nav-static:hover:before{transform:translate(0)}.hero{height:clamp(520px,47.3vw,900px);position:relative;overflow:hidden}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero-title,.hero-internship .hero-title,.hero-visual .hero-title,.hero-ai-playground .hero-title{z-index:2;width:auto;max-width:calc(100vw - 80px);height:64px;animation:.62s cubic-bezier(.22,1,.36,1) 80ms both reveal-up;display:block;position:absolute;top:clamp(82px,7.7vw,148px);left:clamp(24px,2.1vw,40px)}.profile-grid{z-index:2;flex-direction:column;gap:clamp(20px,1.35vw,26px);width:32%;font-size:clamp(12px,.84vw,16px);line-height:1.2;animation:.62s cubic-bezier(.22,1,.36,1) .19s both reveal-up;display:flex;position:absolute;top:clamp(180px,12.5vw,240px);left:65.5%;right:auto}.profile-line{grid-template-columns:min(8.55vw,164px) minmax(190px,1fr);column-gap:clamp(22px,2.2vw,42px);display:grid}.profile-line span{color:#ffffffa8;font-weight:600}.profile-line strong{white-space:nowrap;font-weight:600}.hero-charm-shell{z-index:1;transform-origin:50% 0;animation:.9s cubic-bezier(.16,1,.3,1) .3s both charm-in;position:absolute}.hero-charm{object-fit:contain;transform-origin:50% 2%;width:100%;height:auto;display:block}.hero-internship,.hero-visual,.hero-ai-playground{height:clamp(520px,47.3vw,900px)}.hero-internship .hero-charm-shell,.hero-visual .hero-charm-shell,.hero-ai-playground .hero-charm-shell{top:clamp(168px,15.3vw,294px);left:clamp(88px,8.1vw,156px)}.hero-internship .hero-charm-shell{width:clamp(120px,11.12vw,214px)}.hero-visual .hero-charm-shell{width:clamp(76px,6.98vw,134px)}.hero-ai-playground .hero-charm-shell{width:clamp(106px,9.8vw,188px)}.internship-intro,.visual-intro,.ai-intro{z-index:2;width:min(28vw,538px);font-size:clamp(11px,.83vw,16px);font-weight:400;line-height:1.08;animation:.62s cubic-bezier(.22,1,.36,1) .19s both reveal-up;position:absolute;top:clamp(88px,8.25vw,158px);left:51.8%}.internship-intro p,.visual-intro p,.ai-intro p{margin:0}.internship-intro p+p,.ai-intro p+p{margin-top:clamp(22px,1.8vw,35px)}.hero-visual .profile-grid{left:65.9%}.internship-row,.gallery-row,.ai-project-item{isolation:isolate;border-top:1px solid var(--line);content-visibility:auto;contain:layout paint style;contain-intrinsic-size:320px;width:100%;position:relative;overflow:hidden}.internship-row:before,.gallery-row:before{z-index:0;content:"";pointer-events:none;background:#fff;transition:transform .68s cubic-bezier(.76,0,.24,1);position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-101%)}@keyframes reveal-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes charm-in{0%{opacity:0;transform:translateY(24px)rotate(-4deg)}58%{opacity:1;transform:translateY(0)rotate(1.2deg)}to{opacity:1;transform:translateY(0)rotate(0)}}@keyframes charm-brush-sway{0%{transform:translate(0)rotate(0)}18%{transform:translate(5px)rotate(6deg)}40%{transform:translate(-3px)rotate(-4deg)}59%{transform:translate(2px)rotate(2.4deg)}75%{transform:translate(-1px)rotate(-1.2deg)}88%{transform:translate(.5px)rotate(.45deg)}to{transform:translate(0)rotate(0)}}@media(hover:hover)and (pointer:fine){.hero-charm-shell:hover .hero-charm{will-change:transform;animation:1.18s cubic-bezier(.45,0,.55,1) both charm-brush-sway}.internship-row:hover:before,.gallery-row:hover:before{transform:translate(0)}}.internship-row{height:clamp(236px,17.45vw,335px)}.internship-image{z-index:1;width:min(30.31vw,582px);height:auto;display:block;position:absolute;top:50%;left:1.56%;transform:translateY(-50%)}.internship-copy{z-index:1;mix-blend-mode:difference;width:min(33vw,635px);position:absolute;top:clamp(32px,2.3vw,44px);left:51.5%}.internship-copy h2,.gallery-row h2{margin:0;font-size:clamp(16px,1.25vw,24px);font-weight:750;line-height:1.15}.internship-copy p{color:var(--muted);margin:clamp(16px,1.4vw,27px) 0 0;font-size:clamp(15px,1.12vw,21.5px);font-weight:400;line-height:1.18}.internship-row time{z-index:1;mix-blend-mode:difference;white-space:nowrap;font-size:clamp(13px,.83vw,16px);font-weight:600;position:absolute;top:clamp(34px,2.35vw,45px);right:7.3%}.row-arrow{z-index:1;mix-blend-mode:difference;object-fit:contain;width:clamp(30px,2.5vw,48px);height:clamp(30px,2.5vw,48px);transition:transform .22s;display:block;position:absolute;top:clamp(20px,2vw,38px);right:clamp(17px,1.75vw,34px)}.internship-row:hover .row-arrow,.gallery-row:hover .row-arrow{transform:translate(4px,-4px)}.gallery-row{height:clamp(205px,14.95vw,287px)}.gallery-row:nth-child(2),.gallery-row:nth-child(3){height:clamp(196px,13.45vw,258px)}.gallery-row:nth-child(4),.gallery-row:nth-child(5){height:clamp(230px,17.1vw,328px)}.gallery-row h2{z-index:1;mix-blend-mode:difference;text-align:right;width:min(31vw,595px);font-size:clamp(15px,1.05vw,20px);position:absolute;top:clamp(14px,1.1vw,21px);left:auto;right:calc(36px + clamp(46px,3.15vw,60px))}.gallery-images{z-index:1;align-items:stretch;gap:min(.26vw,5px);height:min(10vw,192px);display:flex;position:absolute;top:clamp(12px,.92vw,18px);left:clamp(24px,2.3vw,44px)}.gallery-images img{object-fit:contain;flex:none;width:auto;height:100%;display:block}.gallery-row .row-arrow{width:clamp(28px,2vw,38px);height:clamp(28px,2vw,38px);top:clamp(13px,1vw,19px);right:36px}.experience-labels{z-index:1;mix-blend-mode:difference;grid-template-columns:minmax(215px,278px) minmax(150px,282px);column-gap:clamp(20px,1.8vw,35px);font-size:clamp(13px,.83vw,16px);font-weight:500;line-height:1.15;display:grid;position:absolute;top:50%;left:67.3%;transform:translateY(-36%)}.experience-labels>div{flex-direction:column;gap:clamp(15px,1.2vw,23px);display:flex}.experience-labels span{white-space:nowrap}.ai-project-group{border-top:1px solid var(--line);padding-bottom:36px}.ai-project-item{contain:none;content-visibility:visible;border-top:0;height:clamp(176px,14.94vw + 8px,314px);overflow:visible}.ai-project-group-experience .ai-project-item,.ai-project-group-skills .ai-project-item{height:clamp(176px,14.94vw + 8px,314px)}.ai-group-title{z-index:1;mix-blend-mode:difference;margin:0;font-size:clamp(20px,1.82vw,35px);font-weight:750;line-height:1.05;position:absolute;top:clamp(25px,2.35vw,45px);left:clamp(22px,2.1vw,40px)}.ai-project-meta{z-index:1;width:14.8%;min-height:clamp(48px,4.75vw,91px);position:absolute;top:clamp(44px,4.25vw,82px);left:51.8%}.ai-project-label{align-items:center;width:69.5%;min-height:clamp(48px,4.75vw,91px);padding:0 clamp(12px,1.1vw,21px);display:flex;position:relative;overflow:hidden}.ai-project-label:before{z-index:0;content:"";pointer-events:none;background:#fff;transition:transform .68s cubic-bezier(.76,0,.24,1);position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-101%)}.ai-project-meta h3{z-index:1;mix-blend-mode:difference;white-space:pre-line;width:100%;margin:0;font-size:clamp(11px,.83vw,16px);font-weight:500;line-height:1.08;position:relative}.ai-item-arrow{object-fit:contain;width:clamp(20px,1.9vw,36px);height:clamp(20px,1.9vw,36px);transition:filter .26s,transform .22s;display:block;position:absolute;top:clamp(12px,1vw,19px);right:0}.ai-project-image{z-index:1;aspect-ratio:405/213;object-fit:cover;width:min(28.4vw,582px);display:block;position:absolute;top:36px;right:36px}@media(hover:hover)and (pointer:fine){.ai-project-item:hover .ai-project-label:before{transform:translate(0)}.ai-project-item:hover .ai-item-arrow{filter:brightness(0)saturate()invert(31%)sepia(98%)saturate(4880%)hue-rotate(238deg)brightness(98%)contrast(106%);transform:translate(4px,-4px)}}@media(max-width:1050px){.site-nav{width:67vw}.profile-grid{width:45vw;left:auto;right:4vw}.profile-line{grid-template-columns:120px minmax(180px,1fr)}.experience-labels{grid-template-columns:190px 120px;font-size:12px;left:66%}}@media(max-width:760px){.site-header{align-items:flex-start;height:92px;padding:16px 18px 0;position:relative}.brand-slot{width:76px;height:54px}.site-nav{scrollbar-width:none;justify-content:flex-end;gap:18px;width:auto;max-width:calc(100vw - 112px);padding:4px 0 12px;overflow-x:auto}.site-nav::-webkit-scrollbar{display:none}.site-nav>.nav-static{display:none}.hero,.hero-internship,.hero-visual,.hero-ai-playground{height:900px}.hero-title,.hero-internship .hero-title,.hero-visual .hero-title,.hero-ai-playground .hero-title{width:auto;max-width:calc(100vw - 40px);height:min(64px,14vw);top:48px;left:20px}.profile-grid{gap:13px;width:calc(100vw - 44px);font-size:12px;top:178px;left:22px;right:auto}.profile-line{grid-template-columns:120px 1fr;column-gap:18px}.profile-line strong{white-space:normal}.internship-intro,.visual-intro,.ai-intro{width:calc(100vw - 40px);font-size:12px;line-height:1.2;top:138px;left:20px}.hero-internship .hero-charm-shell,.hero-visual .hero-charm-shell,.hero-ai-playground .hero-charm-shell{top:430px;left:50%}.hero-internship .hero-charm-shell{width:182px;margin-left:-91px}.hero-visual .hero-charm-shell{width:114px;margin-left:-57px}.hero-ai-playground .hero-charm-shell{width:160px;margin-left:-80px}.internship-row{flex-direction:column;gap:17px;height:auto;min-height:0;padding:22px 20px 28px;display:flex}.internship-image,.internship-copy,.internship-row time{width:100%;position:static;transform:none}.internship-copy{padding-right:42px}.internship-copy p{margin-top:10px}.internship-row time{color:var(--muted)}.gallery-row{height:auto;min-height:0;padding:22px 20px 28px}.gallery-row h2,.gallery-images,.experience-labels{position:static}.gallery-row h2{text-align:left;width:auto}.gallery-images{flex-wrap:wrap;gap:5px;width:100%;height:auto;margin-top:18px}.gallery-images img{width:auto;max-width:100%;height:120px}.experience-labels{display:none}.ai-project-item,.ai-project-group-experience .ai-project-item,.ai-project-group-skills .ai-project-item{flex-direction:column;gap:18px;height:auto;min-height:0;padding:22px 20px 28px;display:flex}.ai-project-group{padding-bottom:0}.ai-group-title,.ai-project-meta,.ai-project-image{position:static}.ai-group-title{margin-bottom:4px;font-size:24px}.ai-project-meta{align-items:flex-start;width:100%;min-height:32px;display:flex}.ai-project-meta h3{width:100%;font-size:13px}.ai-project-label{width:calc(100% - 46px);min-height:44px;padding:0 14px}.ai-item-arrow{width:28px;height:28px;margin-left:auto;position:static}.ai-project-image{aspect-ratio:405/213;width:100%}.row-arrow,.gallery-row .row-arrow{width:32px;height:32px;top:18px;right:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-title,.profile-grid,.hero-charm-shell,.hero-charm,.ai-intro,.internship-intro,.visual-intro{animation:none}.row-arrow,.ai-item-arrow{transition:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.content-page{min-height:100vh;color:#fff;background:#000}.content-copy-toast{z-index:60;pointer-events:none;color:#333;gap:10px;min-height:44px;padding:10px 16px;background:#f4f4f4;border-radius:14px;box-shadow:0 8px 24px #0000003d;font-size:16px;font-weight:700;line-height:1;opacity:0;transition:opacity .2s ease,transform .2s ease;align-items:center;display:flex;position:fixed;top:clamp(84px,6vw,116px);left:50%;transform:translate(-50%,-8px)}.content-copy-toast.is-visible{opacity:1;transform:translate(-50%)}.content-copy-toast-icon{color:#fff;width:18px;height:18px;background:#333;border-radius:50%;font-size:12px;line-height:1;justify-content:center;align-items:center;display:inline-flex}.content-hero{height:clamp(220px,13.1vw,252px);border-bottom:1px solid var(--line);position:relative}.content-hero h1{margin:0;font-size:clamp(52px,3.34vw,64px);font-weight:850;letter-spacing:-.055em;line-height:.9;animation:.62s cubic-bezier(.22,1,.36,1) 80ms both reveal-up;position:absolute;bottom:clamp(50px,3.4vw,65px);left:clamp(24px,1.78vw,34px)}.content-directory-row{isolation:isolate;grid-template-columns:32.6% minmax(0,1fr);min-height:clamp(290px,17.35vw,333px);border-bottom:1px solid var(--line);padding:clamp(16px,1.05vw,20px) clamp(24px,2.1vw,40px);display:grid;position:relative;overflow:hidden}.content-directory-row[data-hash]{cursor:pointer}.content-row-lead{min-width:0;position:relative}.content-row-lead h2{isolation:isolate;width:max-content;max-width:100%;margin:-6px 0 -6px -10px;padding:6px 10px;color:#fff;background-image:linear-gradient(#fff,#fff);background-position:left center;background-repeat:no-repeat;background-size:0 100%;font-size:clamp(18px,1.25vw,24px);font-weight:750;line-height:1.15;transition:background-size .68s cubic-bezier(.76,0,.24,1),color .18s ease .16s}.content-charm,.content-about-star{object-fit:contain;object-position:center;display:block;position:absolute;top:clamp(58px,4.25vw,82px);left:0;transform-origin:50% 4%}.content-charm-internship{width:clamp(78px,5.25vw,101px);height:clamp(168px,10.7vw,205px)}.content-charm-visual{width:clamp(82px,5.1vw,98px);height:clamp(168px,10.9vw,210px)}.content-charm-ai{width:clamp(94px,6vw,116px);height:clamp(174px,11.5vw,221px)}.content-about-star{width:clamp(116px,7.3vw,140px);height:clamp(116px,7.3vw,140px)}.content-row-copy{width:min(100%,992px);color:#ffffffb3;font-size:clamp(13px,.84vw,16px);line-height:1.14;padding-top:clamp(2px,.25vw,5px)}.content-row-copy p{margin:0}.content-row-copy p+p{margin-top:clamp(16px,1.25vw,24px)}.content-experience-list{flex-direction:column;gap:clamp(20px,1.7vw,33px);width:min(100%,992px);padding-top:clamp(2px,.2vw,4px);display:flex}.content-experience-item{grid-template-columns:.86fr 1.3fr 1.12fr .72fr;column-gap:clamp(14px,1.1vw,21px);align-items:start;font-size:clamp(12px,.84vw,16px);font-weight:500;line-height:1.15;display:grid}.content-experience-item span{color:#ffffffb3}.content-experience-item strong,.content-experience-item time{font-weight:500}.content-experience-item time{white-space:nowrap}.content-row-arrow{object-fit:contain;width:clamp(32px,2.5vw,48px);height:clamp(32px,2.5vw,48px);transition:filter .26s,transform .26s;position:absolute;right:clamp(22px,2.1vw,40px);bottom:clamp(20px,1.45vw,28px)}@media(hover:hover)and (pointer:fine){.content-directory-row:hover .content-row-lead h2{color:#000;background-size:100% 100%}.content-directory-row:hover .content-charm,.content-directory-row:hover .content-about-star{will-change:transform;animation:1.18s cubic-bezier(.45,0,.55,1) both charm-brush-sway}.content-directory-row:hover .content-row-arrow{filter:brightness(0) saturate(100%) invert(35%) sepia(93%) saturate(6164%) hue-rotate(239deg) brightness(102%) contrast(103%);transform:translate(4px,-4px)}}.content-contact{min-height:clamp(304px,17.9vw,344px);border-bottom:1px solid var(--line);position:relative}.content-contact-inner{width:min(62vw,1050px);padding-top:clamp(28px,2.3vw,44px);margin-left:33.6%}.content-contact-inner>p{color:#ffffffb3;margin:0;font-size:clamp(16px,1.25vw,24px);line-height:1.32}.content-contact-actions{gap:clamp(14px,1vw,20px);margin-top:clamp(20px,1.55vw,30px);display:flex}.content-email,.content-resume{min-height:42px;padding:10px;font-size:clamp(14px,1.04vw,20px);line-height:1;align-items:center;display:inline-flex}.content-email{isolation:isolate;color:#000;gap:15px;cursor:pointer;border:1px solid #fff;padding:9px;background-color:#fff;background-image:linear-gradient(#000,#000);background-position:left center;background-repeat:no-repeat;background-size:0 100%;transition:background-size .68s cubic-bezier(.76,0,.24,1),color .18s ease .16s;overflow:hidden}.content-copy-control{width:21px;height:21px;position:relative}.content-copy-control img{width:21px;height:21px;transition:filter .18s ease .16s}@media(hover:hover)and (pointer:fine){.content-email:hover,.content-email:focus-visible{color:#fff;background-size:100% 100%}.content-email:hover .content-copy-control img,.content-email:focus-visible .content-copy-control img{filter:brightness(0) invert(1)}}.content-resume{color:#fff;gap:14px;border:1px solid #fff;text-decoration:none}.content-resume img{width:20px;height:20px}.content-footer{min-height:clamp(260px,18vw,350px);padding:0 clamp(40px,5.1vw,98px) clamp(42px,5.2vw,100px);justify-content:space-between;align-items:flex-end;display:flex}.content-social-link{isolation:isolate;color:#fff;cursor:pointer;gap:8px;min-height:42px;padding:10px;background-color:transparent;background-image:linear-gradient(#fff,#fff);background-position:left center;background-repeat:no-repeat;background-size:0 100%;border:1px solid #fff;font-size:clamp(14px,1.04vw,20px);line-height:1;align-items:center;display:inline-flex;text-decoration:none;transition:background-size .68s cubic-bezier(.76,0,.24,1),color .18s ease .16s;position:relative;overflow:visible}.content-footer .content-social-link.portfolio-reveal{opacity:1;transform:none}.content-social-link img{width:18px;height:18px}.content-wechat{background-color:transparent}.resume-modal[hidden]{display:none}.resume-modal{z-index:300;overscroll-behavior:contain;width:100%;height:100%;padding:clamp(76px,7vw,112px) clamp(18px,4vw,72px) clamp(24px,4vw,64px);background:#000000d1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:0;transition:opacity .22s ease;position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto}.resume-modal.is-open{opacity:1}.resume-modal-document{width:min(100%,1520px);margin:0 auto;border:1px solid rgb(255 255 255 / .72);background:#fff;transform:translateY(18px);transition:transform .36s cubic-bezier(.22,1,.36,1)}.resume-modal.is-open .resume-modal-document{transform:translateY(0)}.resume-modal-image{width:100%;height:auto;display:block}.resume-modal-close{z-index:2;cursor:pointer;width:48px;height:48px;border:1px solid #fff;background:#000;position:fixed;top:24px;right:24px}.resume-modal-close span{width:22px;height:1px;background:#fff;position:absolute;top:50%;left:50%}.resume-modal-close span:first-child{transform:translate(-50%,-50%) rotate(45deg)}.resume-modal-close span:last-child{transform:translate(-50%,-50%) rotate(-45deg)}.resume-modal-close:hover,.resume-modal-close:focus-visible{background:#fff}.resume-modal-close:hover span,.resume-modal-close:focus-visible span{background:#000}body.resume-modal-open{overflow:hidden}@media(hover:hover)and (pointer:fine){.content-social-link:hover{color:#000;background-size:100% 100%}.content-social-link:hover>img{filter:brightness(0)}}.content-ai-row{min-height:clamp(340px,20.15vw,387px)}@media(max-width:1050px){.content-directory-row{grid-template-columns:31% minmax(0,1fr)}.content-experience-item{grid-template-columns:.8fr 1.2fr .85fr .75fr;column-gap:12px;font-size:12px}.content-contact-inner{width:63vw;margin-left:33%}}@media(max-width:760px){.site-nav{justify-content:flex-start}.site-nav button{flex:0 0 auto}.content-hero{height:132px}.content-copy-toast{top:104px;font-size:14px}.content-hero h1{font-size:46px;bottom:36px;left:20px}.content-directory-row{grid-template-columns:1fr;gap:26px;min-height:0;padding:22px 20px 72px}.content-row-lead{min-height:226px}.content-charm,.content-about-star{top:48px}.content-row-copy{font-size:13px;line-height:1.24}.content-experience-list{gap:18px}.content-experience-item{grid-template-columns:1fr 1.4fr;row-gap:5px;font-size:12px}.content-experience-item time{white-space:normal}.content-row-arrow{width:32px;height:32px;right:18px;bottom:20px}.content-contact{min-height:270px;padding:0 20px}.content-contact-inner{width:100%;margin-left:0;padding-top:32px}.content-contact-inner>p{font-size:18px}.content-contact-actions{align-items:flex-start;flex-direction:column}.content-footer{height:auto;gap:12px;min-height:330px;padding:72px 20px 24px;align-items:flex-start;flex-direction:column}.content-social-link{min-height:44px;font-size:15px}.resume-modal{padding:84px 12px 24px}.resume-modal-close{top:18px;right:18px}}@media(prefers-reduced-motion:reduce){.content-hero h1{animation:none}.content-row-arrow{transition:none}}.home-page{min-width:320px;color:#fff;background:#000}.home-hero{isolation:isolate;width:100%;height:100svh;min-height:620px;position:relative;overflow:hidden;background:radial-gradient(ellipse 108% 60% at 50% 105%,rgb(30 0 255 / .98) 0%,rgb(15 0 190 / .94) 38%,rgb(4 0 72 / .74) 70%,transparent 100%),linear-gradient(180deg,#000,#000 45%,#01000d 53%,#05004a 67%,#0d00b2 84%,#1800ff)}.home-hit:focus-visible{outline:1px solid rgb(255 255 255 / .9);outline-offset:4px}.home-hello-label,.home-project-label,.home-scroll-label{z-index:12;margin:0;font-size:clamp(13px,.84vw,16px);font-weight:800;line-height:1;white-space:nowrap;position:absolute}.home-hello-label{top:50%;left:clamp(28px,3vw,60px)}.home-project-label{top:50%;right:clamp(28px,2.8vw,56px)}.home-scroll-label{bottom:clamp(18px,3.1vh,34px);left:50%;transform:translate(-50%)}.home-keychain-wrap{z-index:20;width:1130px;height:1018.677px;position:absolute;top:clamp(78px,8.7vh,100px);left:48.1%;transform:translate(-50%);transform-origin:50% 0}.home-keychain-stage{contain:layout style paint;width:1130px;height:1018.677px;position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0}.home-hook,.home-part{pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;backface-visibility:hidden;max-width:none;display:block;position:absolute}.home-hook{z-index:2;width:403.978px;height:403.978px;top:0;left:416.236px}.home-orbit{z-index:3;pointer-events:none;backface-visibility:hidden;width:1130px;height:1018.677px;position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate3d(0,0,1,0);transform-origin:618.225px 302.983px;transition:transform .31s cubic-bezier(.2,.82,.24,1);will-change:transform}.home-orbit-round{z-index:3}.home-orbit-black{z-index:4}.home-orbit-star{z-index:5}.home-orbit-blue{z-index:6}.home-idle-motion{pointer-events:none;backface-visibility:hidden;width:1130px;height:1018.677px;position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:618.225px 302.983px;will-change:transform;animation-duration:2s;animation-timing-function:cubic-bezier(.42,0,.58,1);animation-iteration-count:infinite}.home-idle-blue{animation-name:home-idle-blue;animation-delay:-.04s}.home-idle-star{animation-name:home-idle-star;animation-delay:-.1s}.home-idle-black{animation-name:home-idle-black;animation-delay:-.16s}.home-idle-round{animation-name:home-idle-round;animation-delay:-.22s}.home-keychain-stage[data-active]:not([data-active=""]) .home-idle-motion{animation-play-state:paused}@keyframes home-idle-blue{0%,to{transform:rotate3d(0,0,1,0)}46%{transform:rotate3d(0,0,1,1.3deg)}58%{transform:rotate3d(0,0,1,1.16deg)}}@keyframes home-idle-star{0%,to{transform:rotate3d(0,0,1,0)}46%{transform:rotate3d(0,0,1,.68deg)}58%{transform:rotate3d(0,0,1,.6deg)}}@keyframes home-idle-black{0%,to{transform:rotate3d(0,0,1,0)}46%{transform:rotate3d(0,0,1,-.22deg)}58%{transform:rotate3d(0,0,1,-.17deg)}}@keyframes home-idle-round{0%,to{transform:rotate3d(0,0,1,0)}46%{transform:rotate3d(0,0,1,-1.34deg)}58%{transform:rotate3d(0,0,1,-1.2deg)}}.home-blue-body{width:628.86px;height:628.86px;top:274.69px;left:115.128px;transform:rotate(30.019deg)}.home-star-body{width:426.688px;height:426.688px;top:406.62px;left:331.583px;transform:rotate(11.15deg)}.home-star-connector{width:352.309px;height:352.309px;top:331.296px;left:391.886px;transform:rotate(10.182deg)}.home-black-body{width:588.991px;height:588.991px;top:357.427px;left:352.636px;transform:rotate(-5.012deg)}.home-black-connector{width:352.311px;height:352.311px;top:332.385px;left:460.491px;transform:rotate(-5.012deg)}.home-round-body{width:497.315px;height:497.315px;top:344.211px;left:539.424px;transform:rotate(-31.487deg)}.home-round-connector{width:352.309px;height:352.309px;top:306.028px;left:544.132px;transform:rotate(-31.487deg)}.home-hit-layer{z-index:30;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.home-hit{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;pointer-events:auto;touch-action:manipulation;min-width:44px;min-height:44px;margin:0;padding:0;border:0;background:transparent;position:absolute}.home-hit-blue{width:628.86px;height:628.86px;top:274.69px;left:115.128px;transform:rotate(30.019deg);clip-path:polygon(47% 10%,70% 53%,52% 91%,31% 55%)}.home-hit-star{width:426.688px;height:426.688px;top:406.62px;left:331.583px;transform:rotate(11.15deg);clip-path:polygon(49% 4%,61% 36%,96% 40%,68% 61%,75% 90%,49% 74%,8% 91%,26% 58%,3% 42%,40% 36%)}.home-hit-black{width:588.991px;height:588.991px;top:357.427px;left:352.636px;transform:rotate(-5.012deg);clip-path:inset(10% 31% 6% 34% round 7%)}.home-hit-round{width:497.315px;height:497.315px;top:344.211px;left:539.424px;transform:rotate(-31.487deg);clip-path:ellipse(30% 44% at 51% 52%)}.home-keychain-stage[data-active=blue] .home-orbit-star{transform:rotate3d(0,0,1,-17.5deg)}.home-keychain-stage[data-active=blue] .home-orbit-black{transform:rotate3d(0,0,1,-16.5deg)}.home-keychain-stage[data-active=blue] .home-orbit-round{transform:rotate3d(0,0,1,-21.5deg)}.home-keychain-stage[data-active=star] .home-orbit-blue{transform:rotate3d(0,0,1,16deg)}.home-keychain-stage[data-active=star] .home-orbit-black{transform:rotate3d(0,0,1,-19.5deg)}.home-keychain-stage[data-active=star] .home-orbit-round{transform:rotate3d(0,0,1,-24.5deg)}.home-keychain-stage[data-active=black] .home-orbit-blue{transform:rotate3d(0,0,1,16deg)}.home-keychain-stage[data-active=black] .home-orbit-star{transform:rotate3d(0,0,1,16.5deg)}.home-keychain-stage[data-active=black] .home-orbit-round{transform:rotate3d(0,0,1,-23.5deg)}.home-keychain-stage[data-active=round] .home-orbit-blue{transform:rotate3d(0,0,1,16deg)}.home-keychain-stage[data-active=round] .home-orbit-star{transform:rotate3d(0,0,1,16.5deg)}.home-keychain-stage[data-active=round] .home-orbit-black{transform:rotate3d(0,0,1,20.5deg)}.home-content-section{background:#000;position:relative}.home-content-section .content-page{min-height:100vh}.brand-slot{cursor:pointer}.brand-slot:focus-visible{outline:1px solid rgb(255 255 255 / .85);outline-offset:4px}@media(max-width:760px){.home-hero{min-height:620px;background:radial-gradient(ellipse 120% 50% at 50% 103%,rgb(30 0 255 / .98) 0%,rgb(13 0 164 / .9) 42%,transparent 100%),linear-gradient(180deg,#000,#000 49%,#030022 65%,#1500ed)}.home-hello-label,.home-project-label{bottom:6.5%;font-size:clamp(11px,3.4vw,14px);line-height:1}.home-project-label{top:auto;right:18px}.home-hello-label{top:auto;left:18px}.home-scroll-label{display:none}}@media(prefers-reduced-motion:reduce){.home-orbit{will-change:auto;transition-duration:1ms}.home-idle-motion{animation:none;will-change:auto}}.sharing-document-page{min-height:100vh;background:#000}.embedded-project-page{width:100%;height:100vh;height:100dvh;overflow:hidden;background:#f6f4ee}.embedded-project-frame{display:block;width:100%;height:100%;border:0;background:#f6f4ee}.pdf-project-page,.pdf-document-frame{background:#000}.sharing-document{width:min(100%,1920px);margin:0 auto}.sharing-slide{content-visibility:auto;contain-intrinsic-size:auto 900px;width:100%;aspect-ratio:16 / 9;margin:0;background:#000;overflow:hidden}.sharing-slide img{object-fit:cover;width:100%;height:100%;display:block}.banxue-document-page .sharing-slide{aspect-ratio:auto;contain-intrinsic-size:auto 1080px}.banxue-document-page .sharing-slide img{height:auto;object-fit:contain}.sharing-back{z-index:120;cursor:pointer;color:#fff;gap:9px;min-width:102px;min-height:48px;padding:11px 16px;border:1px solid rgb(255 255 255 / .78);background:#000000b8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:14px;font-weight:700;line-height:1;align-items:center;display:inline-flex;position:fixed;top:24px;left:24px}.sharing-back:hover,.sharing-back:focus-visible{color:#000;background:#fff}@media(max-width:760px){.sharing-back{min-width:96px;min-height:44px;top:16px;left:16px}}.about-page{min-height:100vh;padding-top:var(--portfolio-nav-height);color:#fff;background:#000}.about-profile{min-height:clamp(740px,42.4vw,814px);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.about-profile h1{margin:0;font-size:clamp(54px,3.34vw,64px);font-weight:850;letter-spacing:-.055em;line-height:.9;position:absolute;top:clamp(58px,3.35vw,64px);left:clamp(40px,2.95vw,57px)}.about-star{object-fit:contain;width:clamp(240px,14vw,269px);height:clamp(240px,14vw,269px);position:absolute;top:clamp(210px,12.5vw,240px);left:clamp(40px,3vw,58px)}.about-intro{width:min(41.5vw,797px);color:#fff;font-size:var(--portfolio-small-copy-size);font-weight:var(--portfolio-small-copy-weight);line-height:1.15;position:absolute;top:clamp(48px,3.1vw,60px);left:51.8%}.about-intro p{margin:0}.about-intro p+p{margin-top:clamp(22px,1.4vw,27px)}.about-portrait{object-fit:cover;object-position:center;width:clamp(218px,12.2vw,234px);aspect-ratio:234 / 329;position:absolute;top:clamp(300px,16.1vw,309px);left:51.8%}.about-experience{min-height:clamp(570px,35.95vw,690px);border-bottom:1px solid var(--line);padding:clamp(38px,2.25vw,44px) clamp(44px,3.4vw,66px);position:relative}.about-section-title{margin:0;color:#fff;font-size:clamp(26px,1.67vw,32px);font-weight:800;letter-spacing:-.025em;line-height:1;position:absolute;top:clamp(38px,2.25vw,44px);left:clamp(44px,3.4vw,66px)}.about-experience-list,.about-skills-list{width:min(57vw,1095px);margin-left:auto}.about-experience-row{grid-template-columns:.88fr 1.34fr 1.12fr .72fr;gap:clamp(18px,1.3vw,25px);align-items:start;font-size:var(--portfolio-small-copy-size);font-weight:var(--portfolio-small-copy-weight);line-height:1.15;display:grid}.about-experience-row+.about-experience-row{margin-top:clamp(28px,1.95vw,37px)}.about-experience-row span{color:#ffffffb3}.about-experience-row strong,.about-experience-row time{font-weight:inherit}.about-experience-row time{white-space:nowrap}.about-skills{min-height:clamp(380px,23.35vw,448px);border-bottom:1px solid var(--line);padding:clamp(42px,2.85vw,55px) clamp(44px,3.4vw,66px);position:relative}.about-skill-row{grid-template-columns:minmax(176px,.9fr) minmax(0,3.1fr);gap:clamp(26px,2vw,38px);align-items:start;font-size:var(--portfolio-small-copy-size);font-weight:var(--portfolio-small-copy-weight);line-height:1.14;display:grid}.about-skill-row+.about-skill-row{margin-top:clamp(25px,1.55vw,30px)}.about-skill-row span{color:#ffffffb3}.about-skill-row p{margin:0}.about-page .content-contact-inner{width:min(57vw,1095px);margin-right:clamp(44px,3.4vw,66px);margin-left:auto}@media(max-width:1050px){.about-profile{min-height:710px}.about-intro{width:44vw;left:52%}.about-portrait{left:52%}.about-experience-list,.about-skills-list{width:64vw}.about-page .content-contact-inner{width:64vw;margin-right:clamp(44px,3.4vw,66px)}}@media(max-width:760px){.about-profile{min-height:0;padding:52px 20px 58px;display:flex;flex-direction:column}.about-profile h1,.about-star,.about-intro,.about-portrait{position:static}.about-profile h1{font-size:46px;order:1}.about-star{width:170px;height:170px;margin:54px 0 64px;order:2}.about-intro{width:100%;font-size:14px;line-height:1.28;order:3}.about-portrait{width:min(62vw,234px);margin:52px auto 0;order:4}.about-experience{min-height:0;padding:44px 20px 72px}.about-section-title{margin:0 0 44px;font-size:30px;position:static}.about-experience-list,.about-skills-list{width:100%;margin-left:0}.about-experience-row{grid-template-columns:1fr 1.36fr;row-gap:7px;font-size:13px}.about-experience-row+.about-experience-row{margin-top:30px}.about-experience-row time{white-space:normal}.about-skills{min-height:0;padding:44px 20px 70px}.about-skill-row{grid-template-columns:1fr;gap:8px;font-size:14px;line-height:1.28}.about-skill-row+.about-skill-row{margin-top:30px}.about-page .content-contact-inner{width:100%;margin-right:0;margin-left:0}}@font-face{font-family:TikTok Sans;font-style:normal;font-weight:300 900;font-stretch:100%;font-display:swap;src:url(/assets/_vinext_fonts/tiktok-sans-353424e817c9/tiktok-sans-94046719.woff2) format("woff2")}.__variable_tiktok_sans_1c45lei{--font-tiktok: "TikTok Sans", sans-serif}::selection{color:#000;background:#8afdff;text-shadow:none}.hero-text-title{z-index:2;color:#fff;white-space:nowrap;margin:0;font-size:clamp(52px,4.3vw,92px);font-weight:850;letter-spacing:-.055em;line-height:.82;animation:.62s cubic-bezier(.22,1,.36,1) 80ms both reveal-up;position:absolute;top:clamp(82px,7.7vw,148px);left:clamp(24px,2.1vw,40px)}@media(max-width:760px){.hero-text-title{max-width:calc(100vw - 40px);font-size:9.3vw;top:48px;left:20px}}.portfolio-reveal,.portfolio-reveal-opacity{opacity:0;transition:opacity .62s cubic-bezier(.22,1,.36,1) var(--portfolio-reveal-delay, 0ms),transform .72s cubic-bezier(.22,1,.36,1) var(--portfolio-reveal-delay, 0ms)}.portfolio-reveal{transform:translateY(24px)}.portfolio-reveal.is-revealed{opacity:1;transform:none;will-change:auto}.portfolio-reveal-opacity.is-revealed{opacity:1;will-change:auto}.ai-project-item[data-external-url],.ai-project-item[data-hash],.internship-row[data-hash]{cursor:pointer}@media(prefers-reduced-motion:reduce){.portfolio-reveal,.portfolio-reveal-opacity{opacity:1;transition:none}.portfolio-reveal{transform:none}}@media(prefers-reduced-motion:reduce){.hero-text-title{animation:none}}.internship-row{cursor:pointer}.internship-image{transform-origin:center;backface-visibility:hidden;transition:transform .62s cubic-bezier(.16,1.38,.3,1)}.internship-row:before{content:none}.internship-copy{mix-blend-mode:normal}.internship-copy h2{isolation:isolate;width:max-content;max-width:100%;margin:-6px 0 -6px -10px;padding:6px 10px;color:#fff;background-image:linear-gradient(#fff,#fff);background-position:left center;background-repeat:no-repeat;background-size:0 100%;transition:background-size .68s cubic-bezier(.76,0,.24,1),color .18s ease .16s}@media(hover:hover)and (pointer:fine){.internship-row:after{z-index:2;content:"";pointer-events:none;width:min(30.31vw,582px);aspect-ratio:405 / 213;background:#0000;transition:transform .68s cubic-bezier(.76,0,.24,1);position:absolute;top:50%;left:1.56%;transform:translate(-105%,-50%)}.internship-row:hover:after{transform:translateY(-50%)}.internship-row:hover .internship-copy h2{color:#000;background-size:100% 100%}.internship-row:hover .internship-image,.internship-row:focus-visible .internship-image{will-change:transform;transform:translateY(-50%) scale(1.035) rotate(-.35deg)}.internship-row:hover .row-arrow{filter:brightness(0) saturate(100%) invert(35%) sepia(93%) saturate(6164%) hue-rotate(239deg) brightness(102%) contrast(103%)}}@media(max-width:760px){.internship-image{transition-duration:.42s}}@media(prefers-reduced-motion:reduce){.internship-image{transition:none}.internship-row:hover .internship-image,.internship-row:focus-visible .internship-image{transform:translateY(-50%)}}:root{--portfolio-small-copy-size: clamp(14px, .83vw, 16px);--portfolio-small-copy-weight: 400}.internship-intro,.visual-intro,.ai-intro,.internship-copy p,.internship-row time,.profile-grid,.experience-labels,.content-row-copy,.content-experience-item,.content-contact-inner>p,.content-email,.content-resume,.content-social-link{font-size:var(--portfolio-small-copy-size);font-weight:var(--portfolio-small-copy-weight)}.content-experience-item strong,.content-experience-item time,.content-experience-item span{font-weight:inherit}:root{--portfolio-nav-height: 100px;--portfolio-nav-logo-width: 112px;--portfolio-nav-copy-size: clamp(13px, .83vw, 16px)}.site-header{z-index:100;align-items:center;height:var(--portfolio-nav-height);padding:0 clamp(20px,2.1vw,40px);background:#0003;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:fixed;inset:0 0 auto}.brand-slot{cursor:pointer;flex:0 0 var(--portfolio-nav-logo-width);width:var(--portfolio-nav-logo-width);height:72px;padding:0;align-items:center;display:flex;overflow:visible}.brand-logo{pointer-events:none;-webkit-user-select:none;user-select:none;object-fit:contain;object-position:center left;width:var(--portfolio-nav-logo-width);height:auto;display:block}.site-nav{width:min(51.7vw,992px);padding-top:0;font-size:var(--portfolio-nav-copy-size);font-weight:700}@media(max-width:1050px){.site-nav{width:67vw}}@media(max-width:760px){.site-header{align-items:center;height:var(--portfolio-nav-height);padding:0 18px;position:fixed}.brand-slot{flex-basis:var(--portfolio-nav-logo-width);width:var(--portfolio-nav-logo-width);height:72px}.site-nav{scrollbar-width:none;justify-content:flex-start;gap:18px;width:auto;max-width:calc(100vw - 148px);padding:0 0 12px;font-size:13px;overflow-x:auto}.site-nav::-webkit-scrollbar{display:none}.site-nav button{flex:0 0 auto}.hero-text-title{top:120px}.internship-intro,.visual-intro,.ai-intro{top:200px}.content-hero{height:200px}.content-hero h1{bottom:36px}.content-copy-toast{top:112px}}
