body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.project-card{align-items:flex-start;background:#22294a;border-radius:20px;box-shadow:0 4px 18px #00000012;color:#fff;display:flex;gap:28px;margin:16px 0;max-width:92%;overflow:hidden;padding:32px;text-decoration:none;transition:box-shadow .2s,transform .2s;transition:transform .2s,box-shadow .2s;width:100%}.project-card:hover{box-shadow:0 8px 28px #3c3c782b;transform:translateY(-8px) scale(1.02)}.project-image{background:#eee;border-radius:12px;flex-shrink:0;height:56px;margin:16px;object-fit:cover;width:56px}.project-info{color:#fff;display:flex;flex:1 1;flex-direction:column;justify-content:flex-start;padding:16px 20px 16px 0}.project-title-row{align-items:center;display:flex;justify-content:space-between}.project-title{color:#fff;font-size:1.05rem;font-weight:600}.project-link-icon{align-items:center;color:#fff;display:flex;margin-left:12px;transition:color .2s,transform .3s}.project-card:hover .project-link-icon{color:#1976d2;transform:rotate(-30deg) scale(1.2)}.project-desc{color:#d3d3d3;font-size:.97rem;line-height:1.5;margin:8px 0 0}.projects-section{align-items:left;display:flex;flex-direction:column;width:100%}.project-skills{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.project-skill-tag{background:#272a36;border:1px solid #23242d;border-radius:8px;box-shadow:0 1px 3px #0000000d;color:#90caf9;font-size:.85rem;font-weight:500;letter-spacing:.03em;margin-bottom:2px;padding:4px 10px;-webkit-user-select:none;user-select:none}:root{--sidebar-bg:#1a2239;--sidebar-border:#23232a;--sidebar-accent:#1ecbe1;--sidebar-text:#fff;--sidebar-muted:#a1a1aa;--sidebar-tagline:#71717a;--sidebar-shadow:0 8px 24px 0 #56cfe12e,0 2px 4px 0 #23232a}.sidebar{background:#1a2239;background:var(--sidebar-bg);border-right:1px solid #23232a;border-right:1px solid var(--sidebar-border);box-shadow:0 8px 24px 0 #56cfe12e,0 2px 4px 0 #23232a;box-shadow:var(--sidebar-shadow);color:#fff;color:var(--sidebar-text);height:100vh;left:0;margin:0;padding:0;position:fixed;top:0;width:400px;z-index:100}.sidebar,.sidebar-content{align-items:center;display:flex;flex-direction:column}.sidebar-content{box-sizing:border-box;padding:18px 16px 12px;width:100%}.sidebar-photo{background:#23232a;background:var(--sidebar-border);border:3px solid #1ecbe1;border:3px solid var(--sidebar-accent);border-radius:50%;height:140px;margin:40px auto 14px;object-fit:cover;width:140px}.sidebar-title{font-size:1.6rem;font-weight:700;margin-bottom:8px;text-align:center}.sidebar-subtitle{color:#a1a1aa;color:var(--sidebar-muted);font-size:1rem;margin-bottom:10px;text-align:center}.sidebar-tagline{color:#71717a;color:var(--sidebar-tagline);font-size:.98rem;margin-bottom:2rem;text-align:center;text-decoration:none;transition:color .2s,filter .2s}.sidebar-tagline:hover{color:#fff;color:var(--sidebar-text);filter:brightness(1.7);text-decoration:underline}.sidebar-nav{align-items:center;display:flex;flex-direction:column;gap:1.2rem;width:100%}.sidebar-nav-link{border-radius:8px;color:#a1a1aa;color:var(--sidebar-muted);display:inline-block;font-size:1.08rem;font-weight:500;padding:8px 18px;text-align:center;text-decoration:none;transition:color .2s,transform .18s cubic-bezier(.4,1.5,.7,1.1),box-shadow .18s cubic-bezier(.4,1.5,.7,1.1),background .2s,letter-spacing .2s}.sidebar-nav-link.active{background:#1ecbe1;background:var(--sidebar-accent);box-shadow:0 4px 16px 0 #1ecbe11f;color:#fff;color:var(--sidebar-text);font-weight:700;transform:scale(1.08)}.sidebar-nav-link:hover{background:#23232a;background:var(--sidebar-border);box-shadow:0 8px 24px 0 #56cfe12e,0 2px 4px 0 #23232a;box-shadow:var(--sidebar-shadow);color:#fff;color:var(--sidebar-text);cursor:pointer;letter-spacing:1px;transform:scale(1.13) translateY(-4px)}.sidebar-social{display:flex;gap:16px;justify-content:center;margin-top:28px}.sidebar-social-link{align-items:center;color:#fff;color:var(--sidebar-text);display:flex;opacity:.7;transition:opacity .2s,color .2s}.sidebar-social-link:focus,.sidebar-social-link:hover{color:#1ecbe1;color:var(--sidebar-accent);opacity:1}.sidebar-social-icon{display:block}@media (max-width:700px){.sidebar{align-items:flex-start;border-bottom:1px solid #23232a;border-bottom:1px solid var(--sidebar-border);border-right:none;box-shadow:none;height:auto;position:static!important;width:100vw}.sidebar-content{align-items:flex-start;padding:10px 8px 6px}.sidebar-photo{background:#23232a;background:var(--sidebar-border);border:3px solid #1ecbe1;border:3px solid var(--sidebar-accent);border-radius:50%;height:clamp(220px,32vw,360px);margin:0 auto 20px;object-fit:cover;width:clamp(220px,32vw,360px)}.sidebar-title{font-size:1.05rem;margin-bottom:2px;text-align:left}.sidebar-subtitle,.sidebar-tagline{font-size:.85rem;margin-bottom:4px;text-align:left}.sidebar-nav{display:none!important;gap:.3rem}.sidebar-social{gap:6px}.main-content{margin-left:0;max-width:100vw;padding:12px 4px 0;width:100vw}}@media (min-width:701px) and (max-width:1100px){.sidebar{width:220px}.main-content{margin-left:220px;max-width:800px;padding:28px;width:calc(100vw - 220px)}}.sidebar{background:#1a2239b3;z-index:2}.lightspot{background:radial-gradient(circle,#ffffff14 0,#06598042 12%,rgba(12,10,99,.185) 32%,rgba(22,6,92,.295) 58%,#1a2239 82%,#1a2239 100%);border-radius:50%;filter:blur(3px);height:800px;left:0;mix-blend-mode:lighten;pointer-events:none;position:fixed;top:0;transform:translate(-50%,-50%);transition:left .09s linear,top .09s linear;transition:none;width:800px;z-index:9999}.app-root,body{background:#1a2239;box-sizing:border-box;font-family:Inter,sans-serif;margin:0;min-height:100vh;padding:0}.app-root{display:flex}.main-content{box-sizing:border-box;color:#fff;margin-left:320px;max-width:1100px;padding:40px;position:relative;text-align:left;width:calc(100vw - 320px);z-index:1}@media (min-width:701px) and (max-width:1000px){.main-content{margin-left:220px;max-width:800px;padding:28px;width:calc(100vw - 220px)}}@media (min-width:1101px){.main-content{margin-left:max(400px,calc(50vw - 450px));margin-right:auto;max-width:900px;padding:40px;width:calc(100vw - 400px)}}@media (min-width:1200px){.main-content{margin-left:max(450px,calc(50vw - 450px));margin-right:auto}}@media (max-width:700px){.main-content{box-sizing:border-box;margin-left:0;max-width:100vw;min-width:0;overflow-x:auto;padding:12px 4px 0;width:100vw}}.main-content p{line-height:1.7;margin-bottom:1.5em}html{scroll-behavior:smooth}.main-content section{margin-bottom:120px}.main-content section+section{margin-top:120px}.experience-list{display:flex;flex-direction:column;gap:32px;margin-top:32px}.experience-card{align-items:flex-start;background:#22294a;border-radius:20px;box-shadow:0 4px 18px 0 #1ecbe114;display:flex;gap:28px;padding:32px;transition:box-shadow .2s}.experience-card:hover{box-shadow:0 8px 28px 0 #1ecbe12b}.experience-card-left{align-items:center;display:flex;flex-direction:column;min-width:120px}.experience-card-date{color:#1ecbe1;font-size:1.1rem;font-weight:600;margin-bottom:12px}.experience-card-image{background:#1a2239;border:2px solid #1ecbe1;border-radius:18px;height:90px;object-fit:cover;width:90px}.experience-card-right{display:flex;flex:1 1;flex-direction:column;gap:12px}.experience-card-title-row{align-items:center;display:flex;gap:18px;justify-content:space-between}.experience-card-title{color:#fff;font-size:1.35rem;font-weight:700}.experience-card-location{background:#1ecbe1;border-radius:7px;color:#1a2239;font-size:.95rem;font-weight:600;padding:3px 16px}.experience-card-desc{color:#dbeafe;font-size:1rem;margin-bottom:4px}.experience-card-skills{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.experience-skill{background:#1ecbe129;border:1px solid #1ecbe1;border-radius:6px;color:#1ecbe1;font-size:.98rem;font-weight:600;margin-bottom:4px;padding:5px 14px;transition:background .18s,color .18s}.experience-card-workplace{color:#8a8c94;cursor:pointer;display:block;font-size:.98rem;font-weight:400;margin-bottom:6px;margin-top:2px;transition:color .2s}.experience-card-workplace:hover{color:#fff}.education-list{display:flex;flex-direction:column;gap:32px;margin-top:32px}.education-card{align-items:flex-start;background:#22294a;border-radius:20px;box-shadow:0 4px 18px 0 #1ecbe114;display:flex;gap:28px;padding:32px;transition:box-shadow .2s}.education-card:hover{box-shadow:0 8px 28px 0 #1ecbe12b}.education-card-left{align-items:center;display:flex;flex-direction:column;min-width:120px}.education-card-date{color:#1ecbe1;font-size:1.1rem;font-weight:600;margin-bottom:12px}.education-card-image{background:#1a2239;border:2px solid #1ecbe1;border-radius:18px;height:90px;object-fit:cover;width:90px}.education-card-right{display:flex;flex:1 1;flex-direction:column;gap:12px}.education-card-title-row{align-items:center;display:flex;gap:18px;justify-content:space-between}.education-card-title{color:#fff;font-size:1.35rem;font-weight:700}.education-card-location{background:#1ecbe1;border-radius:7px;color:#1a2239;font-size:.95rem;font-weight:600;padding:3px 16px}.education-card-school{color:#8a8c94;cursor:pointer;display:block;font-size:.98rem;font-weight:400;margin-bottom:6px;margin-top:2px;transition:color .2s}.education-card-school:hover{color:#fff}.education-card-desc{color:#dbeafe;font-size:1rem;line-height:1.5;margin-bottom:4px}.site-footer{background:#0000;border-top:1px solid #23232a;color:#a1a1aa;font-size:1rem;letter-spacing:.01em;margin-top:80px;padding:32px 0 16px;text-align:center}.footer-highlight{color:#1ecbe1;cursor:pointer;font-weight:600;position:relative;transition:color .2s}.footer-highlight:after{background:linear-gradient(90deg,#1ecbe1 60%,#fff);bottom:-2px;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.4,1.5,.7,1.1);width:100%}.footer-highlight:focus,.footer-highlight:hover{color:#fff}.footer-highlight:focus:after,.footer-highlight:hover:after{transform:scaleX(1)}@media (max-width:700px){.app-root{display:block}.main-content{box-sizing:border-box;margin-left:0;max-width:100vw;min-width:0;overflow-x:auto;padding:12px 4px 0;width:100vw}.education-card,.experience-card{align-items:flex-start;flex-direction:column;gap:14px;max-width:100%;padding:16px 8px;word-break:break-word}.education-card-left,.experience-card-left{align-items:flex-start;margin-bottom:8px;min-width:0}.education-card-image,.experience-card-image{border-radius:12px;height:60px;width:60px}.education-card-title-row,.experience-card-title-row{align-items:flex-start;flex-direction:column;gap:4px;width:100%}.education-card-title,.experience-card-title{font-size:1.08rem;word-break:break-word}.education-card-location,.experience-card-location{font-size:.92rem;margin-top:2px;padding:2px 10px}.education-card-desc,.experience-card-desc{font-size:.97rem;line-height:1.5;word-break:break-word}.main-content section{margin-bottom:64px;margin-top:32px}.main-content section:first-child{margin-top:24px}}@media (min-width:1366px){.main-content{left:0;margin-left:max(550px,calc(50vw - 550px));margin-right:auto;right:0}}.project-archive-link a{color:#fff!important;font-weight:600;position:relative;text-decoration:none;transition:color .3s,transform .3s}.project-archive-link a:after{background:#1ecbe1;bottom:-2px;content:"";display:block;height:2px;left:0;position:absolute;transition:width .3s;width:0}.project-archive-link a:hover{color:#1ecbe1!important;transform:translateY(-2px) scale(1.04)}.project-archive-link a:hover:after{width:100%}.preloader{background:#1a2239;height:100vh;justify-content:center;left:0;min-height:100vh;position:fixed;top:0;width:100vw;z-index:9999}.preloader,.preloader-intro{align-items:center;display:flex;flex-direction:column}.preloader-intro{animation:fadeInUp 1.2s cubic-bezier(.4,1.5,.7,1.1);margin-top:12px}.preloader-intro-text{animation:fadeIn 1.2s;color:#fff;font-size:1.5rem;letter-spacing:.1em;margin-bottom:10px;opacity:.8}.preloader-intro-brand{animation:fadeInBrand 1.6s;color:#1ecbe1;font-size:2.3rem;font-weight:700;letter-spacing:.12em}.preloader-spinner{animation:spin 1s linear infinite;border:5px solid #fff;border-radius:50%;border-top-color:#1ecbe1;height:48px;margin-bottom:24px;margin-left:auto;margin-right:auto;width:48px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:.8;transform:translateY(0)}}@keyframes fadeInBrand{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.social-icon{color:#fff;display:inline-block;font-size:2rem;margin:0 10px;position:relative;transition:color .2s}.social-icon:focus,.social-icon:hover{color:#1ecbe1}.social-tooltip{background:#222e4a;border-radius:6px;bottom:130%;box-shadow:0 4px 16px #1ecbe114;color:#fff;font-size:.98rem;font-weight:500;left:50%;opacity:0;padding:6px 14px;pointer-events:none;position:absolute;text-align:center;transform:translateX(-50%) scale(.95);transition:opacity .25s cubic-bezier(.4,1.5,.7,1.1),transform .25s cubic-bezier(.4,1.5,.7,1.1);visibility:hidden;width:-webkit-max-content;width:max-content;z-index:10}.social-icon:focus .social-tooltip,.social-icon:hover .social-tooltip{opacity:1;transform:translateX(-50%) scale(1.08);visibility:visible}.modal-overlay{animation:fadeIn .2s;background:#141e32d1;bottom:0;left:0;position:fixed;right:0;top:0;z-index:99999}.modal-content,.modal-overlay{align-items:center;display:flex;justify-content:center}.modal-content{background:#23294a;border-radius:18px;box-shadow:0 8px 32px 0 #1ecbe138;flex-direction:column;max-height:90vh;max-width:96vw;padding:18px 18px 8px;position:relative}.modal-content img{border-radius:16px;box-shadow:0 4px 24px 0 #1ecbe121;display:block;max-height:70vh;max-width:90vw}.modal-close-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:2.2rem;font-weight:700;position:absolute;right:14px;top:8px;transition:color .18s;z-index:2}.modal-close-btn:hover{color:#1ecbe1}.sidebar-photo{box-shadow:0 4px 24px 0 #1ecbe121;cursor:pointer;transition:transform .18s cubic-bezier(.4,1.5,.7,1.1),box-shadow .18s}.sidebar-photo:active{box-shadow:0 8px 32px 0 #1ecbe138;transform:scale(.93) rotate(-2deg)}@media (max-width:700px){.modal-content{max-height:98vh;max-width:99vw;padding:8px 2px 2px}.modal-content img{max-height:70vh;max-width:98vw}}
/*# sourceMappingURL=main.4cf870d9.css.map*/