@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");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:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_53cf7e2c-module__qN6QFG__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_53cf7e2c-module__qN6QFG__variable{--font-body:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.0rx81dn62y51_.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2)format("woff2");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:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_ba0dfdcf-module__xElm1W__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_ba0dfdcf-module__xElm1W__variable{--font-heading-family:"Space Grotesk", "Space Grotesk Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-body), "DM Sans", sans-serif;--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%;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;-webkit-text-decoration:inherit;-webkit-text-decoration: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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{box-sizing:border-box;border-color:var(--border)}html,body{background:var(--background);color:var(--foreground);margin:0}body{font-family:var(--font-body), Arial, sans-serif}h1,h2,h3,h4{font-family:var(--font-heading-family), Arial, sans-serif}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--primary);outline-offset:4px}}@layer components;@layer utilities{.static{position:static}.block{display:block}.contents{display:contents}.hidden{display:none}.inline{display:inline}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.bg-background{background-color:var(--background)}.font-sans{font-family:var(--font-body), "DM Sans", sans-serif}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.workspace-shell{--mono:ui-monospace, SFMono-Regular, Consolas, monospace;flex-direction:column;height:100dvh;min-height:0;font-size:14px;display:flex;overflow:hidden}.workspace-shell svg{flex-shrink:0}.workspace-shell button{color:inherit}.workspace-shell .button-primary:hover{color:var(--primary-foreground)}.skip-link{z-index:100;background:var(--primary);color:#fff;padding:12px 20px;position:fixed;top:-80px;left:14px}.skip-link:focus{top:10px}.workspace-titlebar{background:#101725;border-bottom:1px solid #05080e;flex-shrink:0;align-items:center;height:44px;padding:0 20px;display:flex;position:relative}.window-dots{gap:7px;display:flex}.window-dots i{background:#ff9b55;border-radius:50%;width:9px;height:9px}.window-dots i:nth-child(2){background:#3485ff}.window-dots i:nth-child(3){background:#596a84}.window-title{font:11px var(--mono);color:#bac1c9;white-space:nowrap;position:absolute;left:50%;transform:translate(-50%)}.window-title span{color:#8e99a5;margin:0 10px}.workspace-layout{flex:1;grid-template-columns:255px minmax(0,1fr);min-height:0;display:grid}.explorer{border-right:1px solid var(--border);background:#0a101b;flex-direction:column;min-height:0;display:flex}.explorer-heading{color:#b6bec7;font:10px var(--mono);letter-spacing:.08em;justify-content:space-between;align-items:center;padding:22px 20px 14px;display:flex}.explorer-ellipsis{font-size:19px;line-height:10px}.explorer-search{color:#8e9ba9;background:#080e19;border:1px solid #30373f;align-items:center;gap:8px;margin:0 14px 14px;padding:7px 9px;display:flex}.explorer-search:focus-within{border-color:#79b2ff}.explorer-search input{width:100%;min-width:0;font:10px var(--mono);color:#c5cdd4;background:0 0;border:0;outline:none;padding:3px 0}.explorer-search input::-webkit-search-cancel-button{display:none}.explorer-search button{background:0 0;border:0;padding:2px;display:flex}.explorer-navigation{scrollbar-width:thin;scrollbar-color:#3c444e transparent;flex:1;min-height:0;padding-bottom:20px;overflow-y:auto}.explorer-root{font:10px var(--mono);letter-spacing:.04em;color:#d1d6dc;align-items:center;gap:7px;padding:8px 15px 12px;font-weight:600;display:flex}.explorer-file{font:11px/1.5 var(--mono);color:#aeb8c3;align-items:center;gap:9px;min-height:33px;padding:8px 20px;display:flex}.explorer-file>span:first-of-type{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.explorer-file:hover{color:#79b2ff;background:#292f36}.explorer-file.is-active{color:#e6efff;box-shadow:inset 2px 0 var(--primary);background:#122746}.explorer-file:focus-visible{outline-offset:-3px}.markdown-icon{color:#8daabf}.python-icon{color:#f3a66c}.json-icon{color:#c0d7fa}.file-home-indicator{color:#79b2ff;margin-left:auto;font-size:7px}.explorer-folder{margin:7px 0}.explorer-folder summary{cursor:pointer;font:11px var(--mono);color:#c4cbd3;align-items:center;gap:8px;padding:8px 19px 8px 15px;list-style:none;display:flex}.explorer-folder summary::-webkit-details-marker{display:none}.explorer-folder summary>svg:nth-child(2){color:#f3a66c}.folder-count{color:#99a5b2;margin-left:auto;font-size:10px}.explorer-folder[open] .folder-chevron{transform:rotate(90deg)}.folder-files{border-left:1px solid #343b44;margin-left:24px}.folder-files .explorer-file{padding-left:15px;font-size:10.5px}.search-result-count{font:10px var(--mono);color:#79b2ff;padding:4px 20px 10px}.search-empty{color:#a1adba;padding:0 20px;font-size:12px;line-height:1.7}.explorer-footer{border-top:1px solid #2d333b;flex-shrink:0;padding:20px}.explorer-socials{align-items:center;gap:14px;margin-bottom:18px;display:flex}.explorer-socials svg{color:#aeb8c3;width:14px;height:14px}.explorer-socials>span{font:9px var(--mono);color:#a0acb7;margin-left:auto}.availability{font:10px var(--mono);color:#79b2ff;white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.availability i,.ongoing i{background:#79b2ff;border-radius:50%;width:5px;height:5px;display:inline-block}.editor{flex-direction:column;min-width:0;min-height:0;display:flex}.editor-toolbar{background:#060a11;flex-shrink:0;min-width:0;display:flex}.editor-tabs{scrollbar-width:thin;scrollbar-color:#1b355b #060a11;flex:1;min-width:0;display:flex;overflow-x:auto}.editor-tab{border-right:1px solid var(--border);color:#a5afba;background:#0a101b;border-top:2px solid #0000;flex-shrink:0;display:flex}.editor-tab.is-active{border-top-color:var(--primary);color:#79b2ff;background:#070b12}.editor-tab [role=tab]{font:11px var(--mono);white-space:nowrap;background:0 0;border:0;align-items:center;gap:9px;padding:13px 10px 13px 17px;display:flex}.editor-tab button:focus-visible{outline-offset:-3px}.close-tab{color:#9aa5b0;background:0 0;border:0;padding:0 12px 0 3px}.close-tab svg{opacity:.45}.editor-tab:hover .close-tab svg,.close-tab:focus-visible svg,.editor-tab.is-active .close-tab svg{opacity:1}.close-tab:hover{color:#79b2ff}.editor-breadcrumb{color:#a9b3be;font:10px var(--mono);border-bottom:1px solid #292e35;flex-shrink:0;justify-content:space-between;align-items:center;gap:15px;padding:12px 28px;display:flex}.editor-breadcrumb>div{align-items:center;gap:9px;min-width:0;display:flex}.editor-breadcrumb>div>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-breadcrumb button{font:inherit;background:0 0;border:0;padding:0}.editor-breadcrumb button:hover{color:var(--primary)}.editor-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#414a54 transparent;flex:1;min-height:0;overflow-y:auto}.document-container{width:100%;max-width:1160px;margin:0 auto;padding:46px 64px 0}.document-panel{outline-offset:10px;min-height:calc(100dvh - 270px)}.document-panel:focus:not(:focus-visible){outline:none}.document-footer{border-top:1px solid var(--border);font:9px/1.8 var(--mono);color:#95a0ad;justify-content:space-between;gap:24px;margin-top:64px;padding:25px 0;display:flex}.document-footer>span:last-child{text-align:right}.workspace-statusbar{color:#b3c9e9;height:28px;font:10px var(--mono);background:#0c1b32;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:0 17px;display:flex}.workspace-statusbar>div{align-items:center;gap:8px;display:flex}.workspace-statusbar .availability{font-size:9px}.workspace-statusbar .status-detail{align-items:center;gap:6px;margin-left:14px;font-size:9px;display:flex}.explorer-toggle,.explorer-close,.explorer-backdrop{display:none}.mono,.eyebrow,.section-code-heading{font-family:var(--mono)}.eyebrow{color:var(--primary);letter-spacing:.1em;text-transform:uppercase;font-size:10px;line-height:1.8}.view-heading{margin-bottom:38px}.view-heading h1{letter-spacing:-.055em;text-wrap:balance;max-width:850px;margin:24px 0;font-size:clamp(36px,4vw,58px);font-weight:500;line-height:1.12}.view-description{color:#b2bdc6;max-width:760px;margin:0;font-size:15px;line-height:1.9}.section-code-heading{color:#bac5cf;margin:0 0 24px;font-size:12px;font-weight:400}.section-code-heading>span{color:#79b2ff;margin-right:12px}.action-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px;display:flex}.button-primary,.button-secondary{background:var(--primary);border:1px solid #3485ff;justify-content:center;align-items:center;gap:20px;min-height:44px;padding:13px 17px;font-size:12px;line-height:1.4;transition:background .15s;display:inline-flex;color:var(--primary-foreground)!important}.button-secondary{background:0 0;border-color:#404851;color:#c5cdd3!important}.button-primary{background:#236fe6}.button-primary:hover{background:#1e63d0}.button-secondary:hover{background:#15243a}.button-icon{width:15px;height:15px}.text-link{color:#79b2ff;align-items:center;gap:12px;font-size:12px;display:inline-flex}.tech-tags{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tech-tags li{color:#c0d7fa;font:10px/1.5 var(--mono);background:#101d31;border:1px solid #223654;padding:6px 9px}.entry-number{color:#99a5b2;font:10px/1.8 var(--mono)}.ongoing{font:10px var(--mono);color:#79b2ff;white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.related-section{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:25px;margin-top:40px;padding-top:25px;display:flex}.project-kicker{font:10px/1.7 var(--mono);color:#79b2ff;text-transform:uppercase;justify-content:space-between;align-items:center;gap:20px;display:flex}.architecture{color:#79b2ff;width:100%;height:auto;display:block}.architecture text{font-family:var(--mono)}.diagram-stage{fill:currentColor;fill-opacity:.035;stroke:currentColor;stroke-opacity:.25}.diagram-connection{stroke:currentColor;stroke-opacity:.45;fill:none}.diagram-label{fill:currentColor;font-size:12px}.diagram-caption{fill:currentColor;opacity:.85;font-size:9px}.diagram-signal{fill:currentColor;opacity:.65}.project-index{border-top:1px solid var(--border)}.project-index-item{border-bottom:1px solid var(--border);grid-template-columns:28px 1fr 24px;gap:22px;padding:32px 0;display:grid}.project-number{font:11px var(--mono);color:#79b2ff;padding-top:4px}.project-index-item h2{letter-spacing:-.04em;margin:18px 0;font-size:26px;font-weight:500;line-height:1.25}.project-index-item>div>p{color:#aebbc6;margin:0;font-size:13px;line-height:1.9}.index-metric{font:11px/1.8 var(--mono);color:#79b2ff;margin:19px 0}.index-arrow{color:#79b2ff;margin-top:4px}.project-metric{border-left:2px solid var(--primary);font:13px/1.8 var(--mono);color:#79b2ff;background:#0e1d34;margin:30px 0;padding:19px 24px}.project-diagram{background:#0c1729;margin:35px 0;padding:28px}.project-diagram .architecture{max-width:760px;margin:auto}.project-toolkit{margin:35px 0}.project-pagination{border-top:1px solid var(--border);justify-content:space-between;gap:25px;margin-top:55px;padding-top:25px;display:flex}.project-pagination a{font:11px var(--mono);color:#b9c4ce;align-items:center;gap:10px;display:flex}.experience-list{margin:0;padding:0;list-style:none}.experience-description{color:#aebac5;margin:0;font-size:14px;line-height:1.9}.research-entry{border:1px solid var(--border);background:#0d1421;padding:30px}.research-entry-top{justify-content:space-between;gap:20px;display:flex}.research-entry h2{letter-spacing:-.04em;margin:25px 0 17px;font-size:29px;font-weight:500;line-height:1.25}.research-entry>p{color:#aebbc6;font-size:14px;line-height:1.9}.research-entry .research-collaborators{font:11px/1.8 var(--mono);color:#c0d7fa;margin-bottom:24px}.research-entry .tech-tags{margin:26px 0}.publications-empty{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#0b1320;padding:50px 40px}.publications-empty>svg{color:#79b2ff}.publications-empty h2{letter-spacing:-.025em;margin:25px 0 14px;font-size:24px;font-weight:500}.publications-empty>p{color:#aebac6;font-size:14px;line-height:1.8}.publication{border-top:1px solid var(--border);padding:30px 0}.publication-meta{font:11px var(--mono);color:#79b2ff;justify-content:space-between;display:flex}.publication h2{letter-spacing:-.035em;margin:20px 0 12px;font-size:24px;line-height:1.3}.publication p{color:#adbac6;font-size:14px;line-height:1.9}.publication .publication-venue{color:#c0d7fa}.skill-row{border-top:1px solid var(--border);grid-template-columns:30px 205px 1fr;align-items:baseline;gap:18px;padding:26px 0;display:grid}.skill-row h2{letter-spacing:-.02em;margin:0;font-size:16px;font-weight:500;line-height:1.5}.skill-row .tech-tags{align-self:start}.education-degree{border-top:1px solid var(--border);padding:30px 0}.education-date{font:11px var(--mono);color:#79b2ff}.education-degree h2{letter-spacing:-.04em;margin:22px 0 13px;font-size:30px;font-weight:500;line-height:1.3}.education-degree>p{color:#b3bfca;font-size:14px;line-height:1.8}.academic-highlights{background:#0c192d;border-left:2px solid #79b2ff;margin-top:30px;padding:25px}.academic-highlights .section-code-heading{margin-bottom:20px}.academic-highlights p{font:12px/1.9 var(--mono);color:#79b2ff;margin:12px 0 0}.coursework{padding-top:15px}.coursework .tech-tags{gap:10px}.interest-row{border-top:1px solid var(--border);grid-template-columns:30px 1fr;gap:22px;padding:25px 0;display:grid}.interest-row h3{letter-spacing:-.025em;margin:0 0 10px;font-size:22px;font-weight:500}.interest-row p{color:#aebac6;margin:0;font-size:14px;line-height:1.8}.certificate{border-top:1px solid var(--border);grid-template-columns:60px 1fr 25px;align-items:start;gap:25px;padding:30px 0;display:grid}.certificate-year{font:11px var(--mono);color:#79b2ff;padding-top:6px}.certificate h2{letter-spacing:-.035em;margin:0 0 12px;font-size:24px;font-weight:500;line-height:1.3}.certificate p{color:#a8b5c1;margin:0;font-size:13px}.certificate>svg{color:#79b2ff}.contact-layout{grid-template-columns:.9fr 1.1fr;gap:40px;display:grid}.contact-links{margin:0;padding:0;list-style:none}.contact-links li{border-top:1px solid var(--border)}.contact-links a,.contact-location{grid-template-columns:1fr 18px;align-items:center;gap:8px 12px;padding:22px 0;display:grid}.contact-links span{font:10px var(--mono);color:#79b2ff;grid-column:1/-1}.contact-links strong{overflow-wrap:anywhere;min-width:0;font-size:13px;font-weight:400}.contact-links svg{color:#c0d7fa}.contact-compose{border:1px solid var(--border);background:#0d1420;padding:25px}.compose-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;margin-bottom:25px;display:flex}.compose-heading .mono{color:#79b2ff;font-size:9px}.contact-compose form{flex-direction:column;gap:20px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.contact-compose label{min-width:0;font:10px var(--mono);color:#b0bdc8;flex-direction:column;gap:10px;display:flex}.contact-compose input,.contact-compose textarea{color:#d8e0e6;width:100%;min-width:0;font:12px/1.8 var(--font-body), sans-serif;background:#080f1c;border:1px solid #3b4550;border-radius:0;padding:11px 12px}.contact-compose input::placeholder,.contact-compose textarea::placeholder{color:#98a5b2}.contact-compose textarea{resize:vertical;min-height:140px}.contact-compose .form-note{font:10px/1.7 var(--mono);color:#9eabb8;margin:-6px 0 0}.contact-compose form>button{align-self:start}.mail-notice>svg{color:#79b2ff}.mail-notice h2{margin:22px 0;font-size:22px;font-weight:500;line-height:1.3}.mail-notice p{color:#aebbc7;overflow-wrap:anywhere;font-size:13px;line-height:1.9}.mail-notice p a{color:#79b2ff;text-underline-offset:4px;text-decoration:underline}.mail-notice button{margin-top:25px}@media (min-width:1700px){.workspace-layout{grid-template-columns:275px minmax(0,1fr)}.document-container{max-width:1250px;padding-top:60px}}@media (max-width:1200px){.workspace-layout{grid-template-columns:230px minmax(0,1fr)}.document-container{padding:38px 38px 0}.skill-row{grid-template-columns:25px 165px 1fr}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-links{grid-template-columns:1fr 1fr;gap:0 30px;display:grid}}@media (max-width:960px) and (min-width:761px){.document-container{padding:35px 28px 0}.skill-row{grid-template-columns:25px 1fr}.skill-row .tech-tags{grid-column:2}.contact-links{grid-template-columns:1fr}}@media (max-width:760px){.workspace-titlebar{height:40px;padding:0 14px}.window-dots{gap:4px}.window-dots i{width:6px;height:6px}.window-title{font-size:9px;left:46%}.window-title span{margin:0 4px}.workspace-layout{grid-template-columns:minmax(0,1fr);position:relative}.explorer{z-index:30;width:min(290px,88vw);display:none;position:absolute;inset:0 auto 0 0;box-shadow:15px 0 50px #0008}.explorer-is-open .explorer{display:flex}.explorer-backdrop{z-index:20;background:#080a0d99;border:0;display:block;position:absolute;inset:0}.explorer-toggle{border:0;border-right:1px solid var(--border);background:#101c2e;justify-content:center;align-items:center;min-width:44px;display:flex;color:var(--primary)!important}.explorer-close{background:0 0;border:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.explorer-heading{padding-top:12px}.explorer-ellipsis{display:none}.explorer-file{min-height:40px;font-size:12px}.folder-files .explorer-file{font-size:11px}.explorer-search{padding:9px}.explorer-search input{font-size:12px}.editor-tab [role=tab]{gap:7px;padding:13px 8px 13px 13px;font-size:10px}.close-tab{padding-right:9px}.editor-breadcrumb{gap:10px;padding:12px 21px;font-size:9px}.editor-breadcrumb>div{gap:6px}.document-container{padding:32px 26px 0}.document-panel{outline-offset:6px;min-height:calc(100dvh - 250px)}.section-code-heading{font-size:11px}.view-heading h1{font-size:38px}.view-description{font-size:14px}.skill-row{grid-template-columns:25px 170px 1fr;gap:12px}.certificate{grid-template-columns:45px 1fr 25px;gap:20px}.certificate h2{font-size:22px}.research-entry{padding:25px}.research-entry h2{font-size:26px}.workspace-statusbar{padding:0 12px;font-size:9px}.workspace-statusbar .availability{font-size:8px}.workspace-statusbar .status-detail{display:none}.document-footer{flex-direction:column;gap:10px;margin-top:45px;font-size:8px}.document-footer>span:last-child{text-align:left}}@media (max-width:540px){.project-index-item{grid-template-columns:20px 1fr;gap:13px;padding:26px 0}.index-arrow{display:none}.project-index-item h2{font-size:23px}.project-index-item .project-kicker{flex-wrap:wrap;gap:8px;font-size:9px}.project-index-item>div>p{font-size:13px}.project-index-item .index-metric{font-size:10px}.tech-tags li{font-size:9px}.project-metric{padding:15px 18px;font-size:11px}.project-diagram{margin:26px -8px;padding:12px}.project-pagination a{font-size:10px}.view-heading h1{font-size:36px}.view-heading .eyebrow{font-size:9px}.skill-row{grid-template-columns:25px 1fr;padding:23px 0}.skill-row .tech-tags{grid-column:2}.research-entry-top{align-items:start;gap:15px}.research-entry-top .eyebrow{font-size:9px}.research-entry .ongoing{margin-top:3px;font-size:9px}.research-entry{padding:22px}.research-entry>p{font-size:13px}.publications-empty{padding:30px 22px}.publications-empty h2{font-size:22px}.publications-empty .action-row{flex-direction:column;align-items:stretch}.education-degree h2{font-size:27px}.academic-highlights{padding:21px}.academic-highlights p{font-size:11px}.interest-row{grid-template-columns:22px 1fr;gap:14px}.interest-row h3{font-size:21px}.interest-row p{font-size:13px}.certificate{grid-template-columns:40px 1fr;gap:15px}.certificate>svg{display:none}.certificate h2{font-size:21px}.contact-links{grid-template-columns:1fr}.contact-links a,.contact-location{grid-template-columns:75px 1fr 15px;gap:10px}.contact-links span{grid-column:auto}.contact-links strong{font-size:11px}.contact-compose{padding:21px}.form-row{grid-template-columns:1fr;gap:20px}.contact-compose input,.contact-compose textarea{font-size:16px}}@media (max-width:360px){.window-title{font-size:8px}.document-container{padding:28px 19px 0}.view-heading h1{font-size:32px}.contact-links a,.contact-location{grid-template-columns:1fr 15px}.contact-links span{grid-column:1/-1}}@media print{.workspace-shell{height:auto;min-height:0;overflow:visible}.workspace-titlebar,.explorer,.editor-toolbar,.editor-breadcrumb,.workspace-statusbar,.skip-link,.document-footer{display:none!important}.workspace-layout{display:block}.editor-scroll{overflow:visible}.document-container{max-width:none;padding:0}.document-panel{min-height:0}}.window-dots i:first-child,.availability i,.ongoing i{background:#f3a66c}.python-icon,.json-icon,.file-home-indicator{color:#f3a66c}.markdown-icon,.text-link{color:#79b2ff}.workspace-shell a:hover{color:#85b8ff}.explorer-file.is-active{color:#e6efff}.editor-tab{min-width:0;max-width:240px}.editor-tab [role=tab]{min-width:0}.editor-tab [role=tab]>span{text-overflow:ellipsis;overflow:hidden}.editor-tab [role=tab]{max-width:215px}.explorer-file{gap:10px;padding-left:20px;padding-right:16px;font-size:14px}.research-interests-heading{margin:48px 0 28px}.research-interests-heading h2{letter-spacing:-.035em;margin:0 0 16px;font-size:27px;font-weight:500}.research-interests-heading p{color:#aebac6;max-width:700px;font-size:14px;line-height:1.9}.editor-readme .editor-scroll{background:radial-gradient(at 8% 12%,#1454ba30,#0000 55%),radial-gradient(at 90% 65%,#1856be1c,#0000 55%),#070b12}.editor-readme .document-panel{min-height:0}.editor-readme .document-footer>span:last-child{display:none}.readme-identity{grid-template-columns:180px minmax(0,1fr);align-items:center;gap:36px;display:grid}.readme-photo{object-fit:cover;object-position:center 35%;filter:none;border-radius:4px;width:180px;height:240px}.readme-introduction .availability{color:#b6c8e3;font-size:10px}.readme-introduction h2{letter-spacing:-.06em;margin:20px 0;font-size:clamp(38px,4.8vw,64px);font-weight:500;line-height:1.05}.readme-introduction h2>span{color:#3485ff}.readme-student{color:#d2dff2;max-width:470px;margin:0;font-size:18px;line-height:1.65}.readme-focus{color:#a6b6cd;max-width:440px;margin:14px 0;font-size:14px;line-height:1.8}.readme-location{color:#93a8c5;font:11px var(--mono);align-items:center;gap:7px;margin-top:19px;display:flex}.readme-location svg{color:#f3a66c}.readme-direct-links{border-top:1px solid #273b575c;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:30px;padding-top:28px;display:grid}.readme-direct-links a{color:#d0e0f8;background:#13243c6b;border:1px solid #34527980;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:14px 10px;font-size:12px;transition:background .15s,border-color .15s;display:flex}.readme-direct-links a:hover{background:#1c3b6480;border-color:#4d8fe9}.readme-direct-links a>svg:last-child{color:#82a4d2;margin-left:auto}.readme-direct-links .readme-cv{color:#fff;background:#236fe6;border-color:#3485ff}.readme-direct-links .readme-cv:hover{color:#fff;background:#2d7df8}.readme-direct-links .readme-cv>svg:last-child{color:#fff}.readme-shortcuts{margin-top:30px}.readme-shortcuts a{border-bottom:1px solid #1c2a40;align-items:center;gap:20px;padding:20px 4px;font-size:14px;display:flex}.readme-shortcuts a>span{color:#e5a16e;font:10px var(--mono)}.readme-shortcuts a>svg{color:#79b2ff;margin-left:auto}@media (max-width:1200px){.readme-identity{grid-template-columns:150px minmax(0,1fr);gap:26px}.readme-photo{width:150px;height:210px}.readme-student{font-size:16px}.readme-direct-links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:960px){.readme-identity{grid-template-columns:1fr;gap:24px}.readme-photo{width:140px;height:175px}.editor-readme .document-container{padding-top:32px}}@media (min-width:541px) and (max-width:760px){.readme-identity{grid-template-columns:140px minmax(0,1fr)}}@media (max-width:540px){.readme-introduction h2{font-size:42px}.readme-student{font-size:16px}.readme-direct-links a{gap:8px;font-size:11px}.readme-direct-links a>svg:last-child{display:none}.readme-shortcuts a{gap:16px;font-size:13px}}@media (min-width:761px){.workspace-layout{grid-template-columns:280px minmax(0,1fr)}}.explorer-file{min-height:43px;font-family:var(--font-body), Arial, sans-serif;font-size:14px;line-height:1.5}.folder-files .explorer-file{padding-top:9px;padding-bottom:9px;font-size:13px}.explorer-folder summary{font-family:var(--font-body), Arial, sans-serif;padding-top:12px;padding-bottom:12px;font-size:14px}.explorer-file>span:first-of-type{white-space:normal;overflow-wrap:anywhere}.explorer-search input,.editor-tab [role=tab],.editor-breadcrumb{font-family:var(--font-body), Arial, sans-serif;font-size:12px}.window-title{font-size:12px;left:50%}.view-heading h1{margin-top:0}.editor-readme .document-container{max-width:1280px;padding-top:42px}.readme-page-title{letter-spacing:-.025em;margin:0 0 34px;font-size:24px;font-weight:500}.readme-profile-content{padding:0}.readme-identity{grid-template-columns:240px minmax(0,1fr);gap:44px}.readme-photo{width:240px;height:310px}.readme-student{max-width:620px;font-size:20px}.readme-focus{max-width:580px;font-size:15px}.readme-introduction .availability{font-size:11px}.readme-introduction h2{font-size:clamp(44px,4.8vw,68px)}.readme-direct-links{border-top:0;gap:12px;margin-top:34px;padding-top:0}.readme-direct-links a{min-height:48px;padding:13px 16px;font-size:14px}.readme-shortcuts{border-top:1px solid #202e44;flex-wrap:wrap;gap:5px 22px;margin-top:30px;padding-top:18px;display:flex}.readme-shortcuts a{color:#a9bddb;border:0;gap:7px;padding:7px 0;font-size:12px}.readme-shortcuts a>svg{width:12px;margin-left:0}.experience-timeline{margin:44px 0 0;padding:0;list-style:none}.timeline-entry{grid-template-columns:72px minmax(0,1fr);gap:28px;padding-bottom:42px;display:grid;position:relative}.timeline-entry:not(:last-child):before{content:"";background:linear-gradient(#3485ff80,#263d5d);width:1px;position:absolute;top:70px;bottom:0;left:35px}.timeline-logo{z-index:1;background:#fff;border:1px solid #304361;border-radius:12px;justify-content:center;align-items:center;width:72px;height:72px;padding:8px;display:flex;position:relative}.timeline-logo img{object-fit:contain;width:100%;height:100%}.timeline-content{border-bottom:1px solid var(--border);min-width:0;padding:0 0 30px}.timeline-entry:last-child{padding-bottom:0}.timeline-entry:last-child .timeline-content{border-bottom:0}.timeline-meta{flex-wrap:wrap;align-items:center;gap:10px 20px;margin:0 0 18px;font-size:12px;display:flex}.timeline-meta>span:first-child{color:#84b8ff}.timeline-meta>span:last-child{color:#a7b6cb;border:1px solid #263952;border-radius:4px;padding:3px 9px;font-size:11px}.timeline-company{color:#e1e9f6;margin:0 0 8px;font-size:15px;font-weight:500}.timeline-content h2{letter-spacing:-.035em;margin:0 0 18px;font-size:26px;font-weight:500;line-height:1.3}.timeline-content .experience-description{max-width:760px}@media (max-width:1100px){.readme-identity{grid-template-columns:180px minmax(0,1fr);gap:28px}.readme-photo{width:180px;height:240px}.readme-introduction h2{font-size:46px}.readme-student{font-size:17px}}@media (max-width:900px) and (min-width:761px){.readme-identity{grid-template-columns:1fr;gap:24px}}@media (max-width:760px){.editor-readme .document-container{padding-top:30px}.window-title{font-size:11px}.timeline-entry{grid-template-columns:58px minmax(0,1fr);gap:20px;padding-bottom:32px}.timeline-logo{border-radius:9px;width:58px;height:58px;padding:6px}.timeline-entry:not(:last-child):before{top:57px;left:28px}.timeline-content h2{font-size:23px}}@media (max-width:540px){.readme-page-title{margin-bottom:25px;font-size:22px}.readme-identity{grid-template-columns:1fr;gap:25px}.readme-photo{width:160px;height:200px}.readme-introduction h2{font-size:46px}.readme-student{font-size:18px}.readme-direct-links{gap:10px}.readme-direct-links a{padding:12px;font-size:12px}.readme-shortcuts{gap:2px 17px;margin-top:24px;padding-top:15px}.readme-shortcuts a{font-size:11px}.timeline-entry{grid-template-columns:44px minmax(0,1fr);gap:16px}.timeline-logo{border-radius:7px;width:44px;height:44px;padding:5px}.timeline-entry:not(:last-child):before{top:43px;left:21px}.timeline-meta{gap:8px;margin-bottom:14px;font-size:11px}.timeline-company{font-size:13px}.timeline-content h2{font-size:21px}.timeline-content .experience-description{font-size:13px}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#070b12;--foreground:#e5edf9;--card:#0c1422;--card-foreground:#e5edf9;--popover:#0c1422;--popover-foreground:#e5edf9;--primary:#3485ff;--primary-foreground:#fff;--secondary:#14233a;--secondary-foreground:#e5edf9;--muted:#101a2b;--muted-foreground:#a5b2c7;--accent:#f3a66c;--accent-foreground:#070b12;--destructive:#d8958b;--border:#202e44;--input:#34445e;--ring:#3485ff;--radius:4px}::selection{color:#fff;background:#286dd8}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
