@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap);@import url(https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL,GRAD,opsz@400,0,0,24);*{box-sizing:border-box}#root,body,html{margin:0;min-height:100%;width:100%}body{font-family:Inter,Arial,sans-serif;line-height:1.4}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}:root{--page-bg:#101113;--page-bg-alt:#17191d;--surface:hsla(0,0%,100%,.055);--surface-strong:hsla(0,0%,100%,.09);--line:hsla(0,0%,100%,.15);--line-strong:hsla(0,0%,100%,.26);--text-main:#f4f0e8;--text-muted:#b8b4aa;--text-soft:#d9d2c5;--accent:#35c2a4;--accent-strong:#54dec1;--accent-dark:#113c35;--warm:#d59a43;--danger:#ff7a7a;--shadow:0 18px 48px rgba(0,0,0,.32);--radius:8px}*{letter-spacing:0}.page{background:linear-gradient(115deg,rgba(53,194,164,.08),transparent 36%),linear-gradient(180deg,#101113,#17191d);background:linear-gradient(115deg,rgba(53,194,164,.08),transparent 36%),linear-gradient(180deg,var(--page-bg),var(--page-bg-alt));color:#f4f0e8;color:var(--text-main);min-height:100vh;overflow-x:clip;position:relative}.page:before{background-image:linear-gradient(hsla(0,0%,100%,.035) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.035) 1px,transparent 0);background-size:42px 42px;content:"";inset:0;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.72),transparent 78%);mask-image:linear-gradient(180deg,rgba(0,0,0,.72),transparent 78%);pointer-events:none;position:absolute}.content-width{margin:0 auto;max-width:1180px;padding:0 24px;position:relative;width:100%;z-index:1}.site-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:rgba(16,17,19,.78);border-bottom:1px solid hsla(0,0%,100%,.15);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:20}.site-header-inner{gap:18px;justify-content:space-between;min-height:70px}.brand,.site-header-inner{align-items:center;display:flex}.brand{color:#f4f0e8;color:var(--text-main);font-size:1rem;font-weight:800;gap:10px;white-space:nowrap}.brand-icon{align-items:center;background:linear-gradient(135deg,#113c35,#1c2926);background:linear-gradient(135deg,var(--accent-dark),#1c2926);border:1px solid rgba(84,222,193,.35);border-radius:8px;border-radius:var(--radius);color:#54dec1;color:var(--accent-strong);display:inline-flex;height:36px;justify-content:center;width:36px}.site-nav{align-items:center;display:flex;gap:10px}.site-nav a{border-radius:8px;border-radius:var(--radius);color:#b8b4aa;color:var(--text-muted);font-size:.92rem;font-weight:700;padding:8px 10px;transition:background .15s ease,color .15s ease}.site-nav a:hover{background:hsla(0,0%,100%,.06);color:#f4f0e8;color:var(--text-main)}.resume-chip{background:rgba(53,194,164,.12);border:1px solid rgba(84,222,193,.34);color:#ddfff6!important}.hero-section{grid-gap:34px;align-items:center;display:grid;gap:34px;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);padding-bottom:74px;padding-top:76px}.hero-copy h1{font-size:4rem;font-weight:900;line-height:1.02;margin:18px 0 16px;max-width:820px}.hero-copy>p:not(.status-pill){color:#d9d2c5;color:var(--text-soft);font-size:1.08rem;line-height:1.72;margin:0;max-width:720px}.eyebrow,.status-pill{align-items:center;color:#54dec1;color:var(--accent-strong);display:inline-flex;font-size:.82rem;font-weight:800;gap:8px;margin:0}.status-pill{background:rgba(53,194,164,.11);border:1px solid rgba(84,222,193,.32);border-radius:8px;border-radius:var(--radius);padding:8px 10px}.contact-actions,.hero-actions,.profile-actions,.publication-actions,.rfc-link-row{display:flex;flex-wrap:wrap;gap:10px}.hero-actions{margin-top:28px}.btn{align-items:center;border:1px solid transparent;border-radius:8px;border-radius:var(--radius);display:inline-flex;font-size:.93rem;font-weight:800;gap:8px;justify-content:center;min-height:44px;padding:0 16px;transition:background .15s ease,border-color .15s ease,color .15s ease,-webkit-transform .15s ease;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,-webkit-transform .15s ease}.btn:hover{-webkit-transform:translateY(-1px);transform:translateY(-1px)}.btn-primary{background:#35c2a4;background:var(--accent);color:#061512}.btn-primary:hover{background:#54dec1;background:var(--accent-strong)}.btn-secondary{background:hsla(0,0%,100%,.07);border-color:hsla(0,0%,100%,.15);border-color:var(--line);color:#f4f0e8;color:var(--text-main)}.btn-secondary:hover,.btn-text:hover{background:hsla(0,0%,100%,.11);border-color:hsla(0,0%,100%,.26);border-color:var(--line-strong)}.btn-text{background:transparent;border-color:transparent;color:#d9d2c5;color:var(--text-soft)}.glass-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:hsla(0,0%,100%,.055);background:var(--surface);border:1px solid hsla(0,0%,100%,.15);border:1px solid var(--line);border-radius:8px;border-radius:var(--radius);box-shadow:0 18px 48px rgba(0,0,0,.32);box-shadow:var(--shadow)}.hero-publication{overflow:hidden;padding:22px}.publication-visual{grid-gap:12px;align-items:end;background:linear-gradient(180deg,rgba(84,222,193,.16),rgba(213,154,67,.1)),repeating-linear-gradient(90deg,hsla(0,0%,100%,.08) 0 1px,transparent 1px 16px);border:1px solid hsla(0,0%,100%,.13);border-radius:8px;border-radius:var(--radius);display:grid;gap:12px;grid-template-columns:repeat(4,1fr);height:148px;margin-bottom:18px;padding:18px}.publication-visual span{background:linear-gradient(180deg,#54dec1,#d59a43);background:linear-gradient(180deg,var(--accent-strong),var(--warm));border-radius:999px 999px 4px 4px;min-height:28px}.publication-visual span:first-child{height:42%}.publication-visual span:nth-child(2){height:72%}.publication-visual span:nth-child(3){height:54%}.publication-visual span:nth-child(4){height:86%}.hero-publication h2{font-size:1.35rem;line-height:1.22;margin:10px 0}.hero-publication p{color:#b8b4aa;color:var(--text-muted);line-height:1.55;margin:0}.paper-meta{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin:18px 0 0}.paper-meta div{border-top:1px solid hsla(0,0%,100%,.15);border-top:1px solid var(--line);padding-top:10px}.paper-meta dt{color:#b8b4aa;color:var(--text-muted);font-size:.78rem;font-weight:800;margin-bottom:4px}.paper-meta dd{color:#f4f0e8;color:var(--text-main);font-size:.9rem;font-weight:700;margin:0}.contact-section,.projects-section,.rfc-section,.stack-section{padding-bottom:72px}.section-head{align-items:flex-end;display:flex;gap:20px;justify-content:space-between;margin-bottom:22px}.panel h2,.rfc-card h2,.section-head h2,.stack-section h2{font-size:1.8rem;margin:0}.panel-subtitle,.section-head p,.stack-section p{color:#b8b4aa;color:var(--text-muted);line-height:1.6;margin:7px 0 0}.stats-panel{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(86px,1fr));padding:12px}.stats-panel div{border-left:2px solid rgba(84,222,193,.34);padding-left:10px}.stats-panel p{color:#f4f0e8;color:var(--text-main);font-size:1.2rem;font-weight:900;margin:0}.stats-panel span{color:#b8b4aa;color:var(--text-muted);font-size:.78rem;font-weight:700}.project-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.project-card{display:flex;flex-direction:column;overflow:hidden;transition:border-color .18s ease,-webkit-transform .18s ease;transition:border-color .18s ease,transform .18s ease;transition:border-color .18s ease,transform .18s ease,-webkit-transform .18s ease}.project-card:hover{border-color:rgba(84,222,193,.42);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.project-preview{aspect-ratio:16/9;object-fit:cover;width:100%}.project-preview-fallback{align-items:center;background:linear-gradient(135deg,rgba(53,194,164,.18),rgba(213,154,67,.12)),repeating-linear-gradient(45deg,hsla(0,0%,100%,.06) 0 1px,transparent 1px 12px);color:hsla(40,35%,93%,.76);display:flex;justify-content:center}.project-preview-fallback .material-symbols-outlined{font-size:42px}.project-content{display:flex;flex:1 1;flex-direction:column;gap:10px;padding:16px}.project-metrics{color:#b8b4aa;color:var(--text-muted);display:flex;font-size:.8rem;font-weight:800;gap:14px}.project-content h3{font-size:1.16rem;margin:0}.project-content p{color:#b8b4aa;color:var(--text-muted);font-size:.92rem;line-height:1.55;margin:0}.project-footer{align-items:center;display:flex;justify-content:space-between;margin-top:auto;padding-top:8px}.language-pill{align-items:center;color:#d9d2c5;color:var(--text-soft);display:inline-flex;font-size:.82rem;font-weight:800;gap:8px}.language-dot{border-radius:999px;display:inline-block;height:8px;width:8px}.project-footer a{color:#54dec1;color:var(--accent-strong);font-size:.84rem;font-weight:800}.chip-grid{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.chip-grid.compact{gap:8px}.tool-chip{background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.12);border-radius:8px;border-radius:var(--radius);color:#d9d2c5;color:var(--text-soft);font-size:.83rem;font-weight:800;padding:7px 10px}.tool-chip.glass-card{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.contact-card,.panel,.resume-profile-card,.resume-skill-card,.rfc-card{padding:22px}.rfc-card h2,.rfc-card h3{margin:0}.rfc-card h2{margin-top:6px}.rfc-card h3{font-size:1.22rem;line-height:1.32;margin-top:14px}.contact-card p,.publication-item p,.rfc-card p,.rfc-panel p{color:#b8b4aa;color:var(--text-muted);line-height:1.62;margin:10px 0 0}.rfc-status{color:#54dec1!important;color:var(--accent-strong)!important;font-weight:800}.rfc-card ul,.rfc-panel ul,.timeline-content ul{margin:14px 0 0;padding-left:20px}.rfc-card li,.rfc-panel li,.timeline-content li{color:#b8b4aa;color:var(--text-muted);line-height:1.55;margin-bottom:6px}.rfc-link-row{margin-top:18px}.rfc-source{color:#d9d2c5!important;color:var(--text-soft)!important;font-size:.86rem;font-weight:800;margin-top:14px!important}.contact-card h2{font-size:1.7rem;margin:0 0 8px}.contact-actions{margin-top:20px}.site-footer{border-top:1px solid hsla(0,0%,100%,.15);border-top:1px solid var(--line);color:#b8b4aa;color:var(--text-muted);font-size:.86rem;padding:20px 0;position:relative;z-index:1}.site-footer p{margin:0}.loading-wrap{align-items:center;color:#d9d2c5;color:var(--text-soft);display:flex;flex-direction:column;font-weight:700;gap:10px;justify-content:center;min-height:170px}.loading-wrap p{margin:0}.loading-spinner{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;border:3px solid hsla(0,0%,100%,.18);border-radius:999px;border-top:3px solid var(--accent-strong);display:inline-block;height:34px;width:34px}.empty-message,.error-message{border:1px dashed hsla(0,0%,100%,.26);border:1px dashed var(--line-strong);border-radius:8px;border-radius:var(--radius);color:#d9d2c5;color:var(--text-soft);margin:0;padding:16px}.resume-layout{grid-gap:20px;display:grid;gap:20px;grid-template-columns:326px minmax(0,1fr);padding-bottom:72px;padding-top:30px}.resume-sidebar{display:flex;flex-direction:column;gap:16px}.profile-badge{align-items:center;background:rgba(53,194,164,.12);border:1px solid rgba(84,222,193,.28);border-radius:8px;border-radius:var(--radius);color:#54dec1;color:var(--accent-strong);display:inline-flex;height:58px;justify-content:center;width:58px}.profile-badge .material-symbols-outlined{font-size:28px}.resume-profile-card h1{font-size:1.9rem;margin:14px 0 6px}.resume-profile-card .role{color:#d9d2c5;color:var(--text-soft);font-weight:800;line-height:1.45;margin:0}.profile-meta{grid-gap:10px;display:grid;gap:10px;margin-top:18px}.profile-meta p{align-items:center;color:#b8b4aa;color:var(--text-muted);display:flex;font-size:.9rem;gap:10px;margin:0;overflow-wrap:anywhere}.profile-meta .material-symbols-outlined{color:#54dec1;color:var(--accent-strong);font-size:1rem}.profile-meta a{color:#f4f0e8;color:var(--text-main);text-decoration:underline}.profile-actions{margin-top:20px}.resume-skill-card h3,.skill-column h3{align-items:center;display:flex;font-size:1.02rem;gap:8px;margin:0 0 10px}.resume-content{gap:16px}.resume-content,.timeline{display:flex;flex-direction:column}.timeline{gap:18px;margin-top:18px}.timeline-item{border-left:2px solid rgba(84,222,193,.34);padding-left:16px;position:relative}.timeline-dot{background:#54dec1;background:var(--accent-strong);border-radius:999px;height:10px;left:-6px;position:absolute;top:6px;width:10px}.timeline-content{display:flex;flex-direction:column;gap:10px}.timeline-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.timeline-head h3{margin:0}.timeline-head p{color:#d9d2c5;color:var(--text-soft);margin:4px 0 0}.timeline-meta{text-align:right}.timeline-meta span{background:rgba(53,194,164,.12);border:1px solid rgba(84,222,193,.24);border-radius:8px;border-radius:var(--radius);color:#f4f0e8;color:var(--text-main);display:inline-block;font-size:.8rem;font-weight:800;padding:4px 8px}.timeline-meta small{color:#b8b4aa;color:var(--text-muted);display:block;margin-top:4px}.education-grid,.skills-columns{grid-gap:12px;display:grid;gap:12px;margin-top:16px}.skills-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.education-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.education-card,.skill-column{border:1px solid hsla(0,0%,100%,.15);border:1px solid var(--line);border-radius:8px;border-radius:var(--radius);padding:14px}.education-card h3{font-size:1rem;margin:0 0 4px}.education-card p{color:#d9d2c5;color:var(--text-soft);margin:0 0 6px}.education-card small{color:#b8b4aa;color:var(--text-muted);display:block;line-height:1.5}.publication-list,.repo-list{grid-gap:12px;display:grid;gap:12px;margin-top:16px}.publication-item{grid-gap:16px;align-items:flex-start;border:1px solid hsla(0,0%,100%,.15);border:1px solid var(--line);border-radius:8px;border-radius:var(--radius);display:grid;gap:16px;grid-template-columns:minmax(0,1fr) auto;padding:16px}.publication-item h3{font-size:1.15rem;line-height:1.3;margin:8px 0 0}.publication-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.publication-tags span{background:rgba(213,154,67,.12);border:1px solid rgba(213,154,67,.28);border-radius:8px;border-radius:var(--radius);color:#ffd9a3;font-size:.78rem;font-weight:800;padding:4px 8px}.repo-list-item{align-items:center;border:1px solid hsla(0,0%,100%,.15);border:1px solid var(--line);border-radius:8px;border-radius:var(--radius);display:flex;gap:12px;justify-content:space-between;padding:12px}.repo-list-item h3{font-size:1rem;margin:0 0 4px}.repo-list-item p{color:#b8b4aa;color:var(--text-muted);font-size:.86rem;margin:0}.repo-list-item span{color:#d9d2c5;color:var(--text-soft);font-size:.8rem;font-weight:800;white-space:nowrap}.rfc-panel h3{font-size:1.1rem;margin:8px 0 0}@media (max-width:980px){.hero-section,.resume-layout{grid-template-columns:1fr}.hero-copy h1{font-size:3rem}.section-head{align-items:flex-start;flex-direction:column}.stats-panel{width:100%}.skills-columns{grid-template-columns:1fr}}@media (max-width:760px){.content-width{padding:0 16px}.site-header-inner{align-items:flex-start;flex-direction:column;gap:10px;min-height:0;padding-bottom:12px;padding-top:12px}.site-nav{max-width:100%;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;white-space:nowrap}.site-nav::-webkit-scrollbar{display:none}.hero-section{padding-bottom:52px;padding-top:52px}.hero-copy h1{font-size:2.45rem}.contact-section,.projects-section,.rfc-section,.stack-section{padding-bottom:52px}.contact-card,.hero-publication,.panel,.resume-profile-card,.resume-skill-card,.rfc-card{padding:18px}.paper-meta,.publication-item{grid-template-columns:1fr}.repo-list-item,.timeline-head{align-items:flex-start;flex-direction:column}.timeline-meta{text-align:left}.repo-list-item span{white-space:normal}}@media (max-width:420px){.hero-copy h1{font-size:2.1rem}.btn{width:100%}.stats-panel{grid-template-columns:1fr}}@-webkit-keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}
/*# sourceMappingURL=main.b2c8359e.css.map*/