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}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}:root{--color-white:#fff;--color-dark-bg:#18191e;--color-main-bg:#111;--color-card-bg:#1e1e1f;--color-input-bg:#282829;--color-accent:#ffd600;--font-main:"Helvetica Neue",Helvetica,Arial,"Segoe UI",sans-serif}body{background:#111;background:var(--color-main-bg);color:#fff;color:var(--color-white);font-family:Helvetica Neue,Helvetica,Arial,Segoe UI,sans-serif;font-family:var(--font-main);min-height:100vh;overflow-x:hidden;position:relative}.dark-app:after,.dark-app:before,body:after,body:before{background-repeat:repeat;content:"";height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:-1}body:before{animation:twinkle 4s cubic-bezier(.25,.46,.45,.94) forwards;animation:twinkle var(--twinkle-duration,4s) cubic-bezier(.25,.46,.45,.94) forwards;background:#0000;background:var(--dynamic-starfield-1,#0000);background-size:800px 600px}body:after{animation:slowTwinkle 8s cubic-bezier(.23,1,.32,1) forwards;animation:slowTwinkle var(--slow-twinkle-duration,8s) cubic-bezier(.23,1,.32,1) forwards;background:#0000;background:var(--dynamic-starfield-2,#0000);background-size:600px 450px}.dark-app:before{animation:mediumTwinkle 6s cubic-bezier(.19,1,.22,1) forwards;animation:mediumTwinkle var(--random-twinkle-duration,6s) cubic-bezier(.19,1,.22,1) forwards;background:#0000;background:var(--dynamic-starfield-3,#0000);background-size:700px 500px}.dark-app:after{animation:gentleTwinkle 12s cubic-bezier(.165,.84,.44,1) forwards;background:#0000;background:var(--dynamic-starfield-4,#0000);background-size:900px 650px}@keyframes twinkle{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes slowTwinkle{0%{opacity:0;transform:scale(.7)}to{opacity:.9;transform:scale(1)}}@keyframes mediumTwinkle{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes gentleTwinkle{0%{opacity:0;transform:scale(.5)}to{opacity:.7;transform:scale(1)}}.constellation{height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:-2}.constellation-star{animation:starAppear 2s ease-out forwards,starGlimmer 3s ease-in-out 0s infinite;animation:starAppear 2s ease-out forwards,starGlimmer var(--glimmer-duration,3s) var(--glimmer-delay,0s) infinite ease-in-out;background:radial-gradient(circle,#fff 0,#fffc 50%,#0000 100%);border-radius:50%;box-shadow:0 0 2px #ffffffb3;height:4px;opacity:0;position:absolute;width:4px}.constellation-line{stroke:#fff9;stroke-width:1;fill:none;stroke-dasharray:1000;stroke-dashoffset:1000;animation:drawLine 3s ease-in-out 2s forwards}@keyframes starAppear{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes starGlimmer{0%{box-shadow:0 0 2px #ffffffb3;filter:brightness(.7);filter:brightness(var(--star-min-brightness,.7));opacity:.6;opacity:var(--star-min-opacity,.6);transform:scale(.95)}50%{box-shadow:0 0 4px #ffffffe6;filter:brightness(1.3);filter:brightness(var(--star-max-brightness,1.3));opacity:1;opacity:var(--star-max-opacity,1);transform:scale(1.05)}to{box-shadow:0 0 2px #ffffffb3;filter:brightness(.7);filter:brightness(var(--star-min-brightness,.7));opacity:.6;opacity:var(--star-min-opacity,.6);transform:scale(.95)}}.shooting-star{background:radial-gradient(circle,#fff 0,#fffc 70%,#0000 100%);border-radius:50%;box-shadow:0 0 0 1px #ffffff1a,0 0 0 1px #ffffff1a,0 0 3px #ffffffb3,0 0 6px #ffffff80;height:2px;opacity:0;pointer-events:none;position:fixed;width:2px;will-change:transform,opacity;z-index:-1}@keyframes shootingStar{0%{opacity:0;transform:translate(0) scale(.5)}5%{opacity:1;transform:scale(1)}90%{opacity:1}to{opacity:0;transform:translate(var(--travel-x),var(--travel-y)) scale(.1)}}@keyframes drawLine{0%{stroke-dashoffset:1000}to{stroke-dashoffset:0}}.dark-app{background:#111;justify-content:center;padding:0;position:relative;z-index:1}.container,.dark-app{align-items:flex-start;display:flex;min-height:100vh}.container{gap:3rem;max-width:1600px;padding:3rem 2rem;width:100%}.main-content-wrapper{display:flex;flex:1 1;flex-direction:column;min-width:0}.main-tabs-sticky{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e1e1fb3;border:1px solid #ffffff12;border-radius:12px;box-shadow:0 4px 16px 0 #00000026;display:flex;gap:.5rem;justify-content:center;margin:0 auto .5rem;padding:.6rem 1.2rem;position:sticky;top:0;width:fit-content;z-index:100}@media (min-width:1400px){.container{gap:4rem;max-width:1800px;padding:4rem 3rem}.sidebar-card{top:9.9rem}}@media (min-width:1800px){.container{gap:5rem;max-width:2000px;padding:4rem}.sidebar-card{top:9.9rem}}.sidebar-card{align-items:center;background:#1e1e1fb3;border:1px solid #ffffff12;border-radius:22px;box-shadow:0 8px 32px 0 #00000040;display:flex;flex-direction:column;height:fit-content;min-width:260px;padding:2rem 1.2rem 1.2rem;position:sticky!important;top:9.9rem;width:320px;z-index:10}.profile-name{font-family:Helvetica Neue,Helvetica,Arial,Segoe UI,sans-serif;font-size:2.4rem;font-weight:300;margin-bottom:.3rem;margin-top:1.2rem;text-align:center}.profile-role{background:#282829;border-radius:8px;color:#fff;font-size:.95rem;font-weight:500;margin-bottom:1.2rem;padding:.3rem 1.1rem;text-align:center}.divider{border:none;border-top:1px solid #23242a;margin:1.2rem 0;width:100%}.contact-list{flex-direction:column;margin-bottom:1.2rem}.contact-item,.contact-list{align-items:center;display:flex;gap:1.5rem;width:100%}.contact-item{color:#fff;font-size:1rem;justify-content:center;margin-bottom:0}.contact-item span:last-child{flex:1 1;text-align:left}.contact-icon{align-items:center;background:#282829;border-radius:7px;color:#ffd600;font-size:1.1rem;padding:.3rem .5rem}.contact-icon,.sidebar-socials{display:flex;justify-content:center}.sidebar-socials{gap:1.1rem;margin-top:.7rem}.sidebar-social-link{align-items:center;background:#282829;border-radius:50%;color:#fff;display:flex;font-size:1.2rem;height:36px;justify-content:center;text-decoration:none;transition:background .2s,color .2s;width:36px}.sidebar-social-link:hover{background:#ffd600;color:#18191e}.main-content-card{background:#1e1e1fb3;border:1px solid #ffffff12;border-radius:22px;box-shadow:0 8px 32px 0 #00000040;contain:layout style paint;display:flex;flex:1 1;flex-direction:column;min-height:calc(100vh - 6rem - 45px);min-width:0;padding:2.5rem 2.5rem 1rem;transform:translateZ(0);will-change:scroll-position;z-index:10}.continuous-content{display:flex;flex-direction:column;gap:3rem;padding-bottom:2rem}.content-section{animation:fadeInUp .6s ease-out;scroll-margin-top:2rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.main-tabs{align-items:center;border-bottom:1.5px solid #23242a;display:flex;gap:.5rem;margin-bottom:2.2rem;padding-bottom:.5rem}.main-tab{background:none;border:none;border-radius:0;color:#fff;cursor:pointer;display:inline-block;font-size:1.1rem;font-weight:500;outline:none;padding:.5rem 1.3rem;position:relative;text-decoration:none;touch-action:manipulation;transform:translateZ(0);transition:color .15s ease-out;-webkit-user-select:none;user-select:none;will-change:color}.main-tab.active{color:#ffd600}.main-tab.active:after{background:#ffd600;border-radius:2px;bottom:.3rem;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:80%}.main-tab:hover:not(.active){color:#e0e0e0}.main-tabs-right{background:none;border-bottom:1.5px solid #23242a;border-top-left-radius:0;border-top-right-radius:0;display:flex;gap:.5rem;justify-content:center;left:auto;margin-bottom:.6rem;padding-bottom:.5rem;position:static;top:auto}.custom-title{color:#fff!important;display:inline-block;margin:.1rem 0 1.2rem;position:relative}.custom-title:after{background:#ffd600;border-radius:2px;content:"";display:block;height:4px;margin-top:8px;width:48px}.about-section{margin-bottom:.7rem}.about-title{color:#ffd600;font-size:2.1rem;font-weight:700;margin-bottom:1.5rem}.about-desc{color:#e0e0e0;font-size:1.1rem;line-height:1.7}.doing-section{margin-top:.7rem}.doing-title{color:#ffd600;font-size:1.4rem;font-weight:600;margin-bottom:1.2rem}.doing-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.doing-card{align-items:flex-start;background:#282829b3;border-radius:16px;box-shadow:0 2px 8px 0 #0000001a;display:flex;gap:1.1rem;padding:1.3rem 1.2rem 1.1rem;transition:box-shadow .2s,transform .2s}.doing-card:hover{box-shadow:0 8px 32px #00000038;transform:translateY(-6px) scale(1.02)}.doing-icon{color:#ffd600;flex-shrink:0;font-size:2.1rem;margin-top:.2rem}.doing-card h3{color:#fff;font-size:1.1rem;font-weight:600;margin-bottom:.3rem}.doing-card p{color:#e0e0e0;font-size:1rem;margin:0}.portfolio-section,.portfolio-title{margin-bottom:1.5rem}.portfolio-title{color:#ffd600;font-size:2.1rem;font-weight:700}.resume-section{margin-bottom:0}.resume-title{color:#ffd600;font-size:2.1rem;font-weight:700;margin-bottom:1.2rem}.portfolio-grid{gap:2rem}.portfolio-card,.portfolio-grid{display:flex;flex-direction:column}.portfolio-card{align-items:flex-start;background:#29292bb3;border-radius:1rem;box-shadow:0 4px 24px #00000026;color:#fff;padding:2rem;transition:transform .2s,box-shadow .2s}.portfolio-card:hover{box-shadow:0 8px 32px #00000038;transform:translateY(-6px) scale(1.02)}.portfolio-card h3{color:#fff;font-size:1.2rem;font-weight:700;margin-bottom:.3rem}.portfolio-card p{color:#e0e0e0;font-size:1rem;line-height:1.6;margin-bottom:1.1rem}.portfolio-link{border-bottom:none;color:#fff;font-size:1rem;font-weight:600;margin-top:1rem;text-decoration:none;transition:color .2s,border-bottom .2s}.portfolio-link:hover{border-bottom:none;color:#ffd600}.portfolio-badge{background:#23242a;border-radius:6px;color:#ffd600;display:inline-block;font-size:.95rem;font-weight:500;margin-bottom:.2rem;margin-right:.3rem;padding:.18rem .7rem}.portfolio-link:hover svg{fill:#ffd600;color:#ffd600}.portfolio-tech-section{margin-bottom:1.1rem}.portfolio-tech-label{color:#fff;display:block;font-size:1rem;font-weight:600;margin-bottom:.4rem}.portfolio-tech-badges{display:flex;flex-wrap:wrap;gap:.5rem}.portfolio-links{align-items:center;display:flex;gap:1.2rem;margin-top:auto}.portfolio-link{align-items:center;display:flex;gap:.4rem}.portfolio-link svg{font-size:1.2rem}.portfolio-live-link{color:#00ffae}.portfolio-live-link span{font-size:1.1rem}@media (max-width:1000px){.container{align-items:center;flex-direction:column;gap:2rem;max-width:100%;padding:2rem 1rem}.sidebar-card{bottom:auto;height:auto;margin-bottom:1.5rem;max-height:none;max-width:400px;position:static;top:auto;width:100%}.main-content-wrapper{width:100%}.main-tabs-sticky{border-radius:16px}.main-content-card{border-radius:16px;padding:2rem 1rem 1.5rem;width:100%}}@media (max-width:600px){:root{--mobile-topbar-height:64px}body,html{margin:0!important;padding:0!important;position:fixed!important}#root,body,html{height:100vh!important;overflow:hidden!important;width:100%!important}#root,.dark-app{position:relative}.dark-app{display:flex;flex-direction:column;height:100vh!important;max-height:100vh!important;min-height:100vh!important;overflow:hidden!important}.sidebar-card{align-items:center;background:#18191e;border-radius:18px;box-shadow:0 4px 16px 0 #0000002e;flex-direction:row;height:64px;justify-content:space-between;left:0;max-height:64px;min-height:64px;overflow:visible;padding:.7rem 1rem .7rem .7rem;position:fixed;right:0;top:0;transition:opacity .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1);z-index:1200}.profile-name-role{display:flex;flex:1 1;flex-direction:column;justify-content:center;margin-left:.7rem}.profile-name{color:#fff;font-size:1.08rem;font-weight:600;margin:0}.profile-name,.profile-role{text-align:left;white-space:nowrap}.profile-role{background:none!important;border-radius:8px;color:#ffd600;font-size:.78rem;font-weight:500;margin:.18rem 0 0;padding:.18rem .7rem}.contact-list,.divider,.sidebar-socials{display:none!important}.main-content-card{-ms-overflow-style:none;height:calc(100vh - var(--mobile-topbar-height) - 70px);margin-top:var(--mobile-topbar-height);overflow-y:auto;padding-top:1.2rem;scrollbar-width:none}.main-content-card::-webkit-scrollbar{display:none}.continuous-content{gap:2rem;padding-bottom:8rem}.content-section{scroll-margin-top:calc(var(--mobile-topbar-height) - 2rem)}.main-tabs-bottom{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#1e1e1fb3;border-radius:18px;border-top:1.5px solid #23242a;bottom:0!important;box-shadow:0 -4px 24px 0 #00000038;display:flex;height:54px;justify-content:space-evenly;left:0;margin:0;padding:.2rem .5rem 0;position:fixed;right:0;width:100vw;z-index:1001}#root,.dark-app,body,html{margin-bottom:0!important;padding-bottom:0!important}.main-tabs-bottom .main-tab{align-items:center;background:none;border:none;border-radius:0;box-shadow:none;color:#fff;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:1.05rem;font-weight:500;justify-content:center;letter-spacing:.01em;margin:0 .2rem;outline:none;padding:.5rem 0 .2rem;position:relative;text-align:center;transition:color .2s}.main-tabs-bottom .main-tab.active{color:#ffd600;font-size:1.12rem}.main-tabs-bottom .main-tab.active:after{background:#ffd600;border-radius:2px;bottom:-.2rem;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:70%}.main-tabs-bottom .main-tab:not(.active){color:#e0e0e0;opacity:.85}.mobile-profile-card{align-items:stretch;background:#1e1e1fb3;border:1px solid #ffffff12;border-radius:22px;box-shadow:0 8px 32px 0 #00000040;display:flex;flex-direction:column;margin:18px auto 14px;max-width:370px;overflow:hidden;padding:.7rem 1.1rem;position:relative;transition:box-shadow .2s,max-height .3s cubic-bezier(.4,0,.2,1);width:100%;z-index:10}.mobile-profile-header{align-items:center;display:flex;gap:1.4rem;margin-bottom:1.2rem;width:100%}.mobile-profile-info{display:flex;flex:1 1;flex-direction:column;gap:.2rem;min-width:0}.mobile-profile-name{color:#fff;font-size:1.15rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-profile-role{background:none!important;border:none!important;border-radius:0!important;color:#ffd600;display:inline-block;font-size:.95rem;font-weight:500;margin-top:.1rem;padding:0;white-space:nowrap}.mobile-profile-chevron{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;margin-left:auto;outline:none;padding:.2rem;transition:background .2s}.mobile-profile-chevron:active,.mobile-profile-chevron:focus{background:#ffd60014}.mobile-profile-details{animation:profile-expand 1s cubic-bezier(.4,0,.2,1)}@keyframes profile-expand{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mobile-profile-divider{border:none;border-top:1px solid #23242a;margin:.8rem 0}.mobile-profile-contact-list{display:flex;flex-direction:column;gap:.7rem;margin-bottom:.5rem}.mobile-profile-contact-item{align-items:flex-start;flex-direction:column}.mobile-profile-contact-label{font-size:.85rem;margin-right:.3rem}.mobile-profile-contact-value{margin-left:1.5rem;margin-top:-.2rem}.mobile-profile-socials{gap:1.1rem;margin-bottom:.2rem;margin-top:.5rem}.mobile-profile-social-icon,.mobile-profile-socials{align-items:center;display:flex;justify-content:center}.mobile-profile-social-icon{background:#23242a;border-radius:50%;box-shadow:0 2px 8px 0 #0000001a;color:#ffd600;font-size:1.3rem;font-weight:600;height:32px;width:32px}.dark-app{align-items:normal;background:#111;display:block;height:100vh;justify-content:normal;overflow:hidden}.main-content-card,.mobile-profile-card{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:370px;width:100%}.mobile-profile-card{margin-bottom:14px;margin-top:18px;padding:2rem 1.2rem 1.2rem}.main-content-card{margin-bottom:64px;margin-top:0;padding:2.5rem 1.1rem 1rem}.mobile-profile-card{margin-bottom:10px;margin-top:12px;padding:1.1rem .7rem 1rem}.mobile-profile-header{gap:1rem;margin-bottom:.7rem}.mobile-profile-info{margin-left:0}.mobile-profile-divider{margin:.5rem 0}.mobile-profile-contact-list{gap:.4rem;margin-bottom:.2rem}.mobile-profile-socials{margin-bottom:.1rem;margin-top:.2rem}.mobile-profile-contact-list{gap:.3rem;margin-bottom:.1rem}.mobile-profile-contact-item{align-items:center;color:#fff;display:flex;flex-direction:row;flex-wrap:wrap;font-size:1rem;gap:.7rem;margin-bottom:.1rem}.mobile-profile-contact-icon{color:#ffd600;flex-shrink:0;font-size:1.2rem;margin-right:.3rem;vertical-align:middle}.mobile-profile-contact-label{color:#ffd600;flex-shrink:0;font-size:.95rem;font-weight:600;letter-spacing:.04em;margin-right:.5rem;vertical-align:middle}.mobile-profile-contact-value{color:#fff;font-size:1rem;font-weight:400;margin-left:0;margin-top:0;word-break:break-all}.mobile-profile-social-icon svg{fill:#b0b0b0!important;color:#b0b0b0!important;transition:none}.mobile-profile-social-icon:hover svg{fill:#ffd600!important;color:#ffd600!important}.mobile-profile-details{max-height:1000px;overflow:hidden;transition:max-height 2.5s cubic-bezier(.4,0,.2,1);width:100%}.mobile-profile-details-inner{opacity:0;transition:opacity .3s cubic-bezier(.4,0,.2,1)}.mobile-profile-card.expanded .mobile-profile-details-inner{opacity:1;transition-delay:.2s}.contact-section{background:#1e1e1fb3;border:1px solid #ffffff12;border-radius:18px;box-shadow:0 4px 16px 0 #0000002e;margin:.7rem auto 1.2rem;max-width:370px;padding:1.1rem .7rem;position:relative;width:100%;z-index:10}.contact-title{color:#ffd600;font-size:2.1rem;margin-bottom:.7rem;text-align:left}.contact-socials{display:flex;gap:1.1rem;justify-content:flex-start;margin-bottom:1.1rem}.contact-social-icon{align-items:center;background:#23242a;border-radius:50%;color:#b0b0b0;display:flex;font-size:1.5rem;height:36px;justify-content:center;text-decoration:none;transition:background .2s;width:36px}.contact-form{display:flex;flex-direction:column;gap:.7rem}.contact-form input,.contact-form textarea{background:#23242a;border:1px solid #333;border-radius:8px;color:#fff;font-size:1rem;outline:none;padding:.6rem .9rem;resize:none;transition:border .2s}.contact-form input:focus,.contact-form textarea:focus{border:1.5px solid #ffd600}.contact-form button{background:#ffd600;border:none;border-radius:8px;color:#18191e;cursor:pointer;font-size:1.05rem;font-weight:600;padding:.7rem 0;transition:background .2s,color .2s}.contact-form button:hover{background:#e6b800;color:#18191e}}
/*# sourceMappingURL=main.a8b6bcb2.css.map*/