:root{--font-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--content-width:960px;--sidebar-bg-color:#f5f5fa;--link-color:#465160;--link-hover-color:#5a6878;--text-color:#333;--heading-color:#222;--menu-toggle-bg:#f8f8f8;--menu-toggle-border:#ddd;--menu-toggle-icon-color:#465160;--nav-bg-light:#fff;--nav-text-light:var(--text-color);--nav-icon-light:var(--link-color);--nav-hover-bg-light:#eef1f5;--nav-hover-text-icon-light:var(--link-hover-color);--inline-link-color-light:#4a77e5;--inline-link-hover-color-light:#3a62d0;--underline-color-light:#3a62d0;--blog-item-hover-light:#e0e5ea;--muted-text-color:#4b5563;--chip-bg:#e6eaf0;--chip-text:#465160;--accent-color:#1f3c6e;--chip-bg-hover:#fff}.dark-mode{--sidebar-bg-color:#303030;--link-color:#7a8aa3;--link-hover-color:#92a4bd;--text-color:#e0e0e0;--heading-color:#f8f8f8;--menu-toggle-bg:#282c34;--menu-toggle-border:#444;--menu-toggle-icon-color:#7a8aa3;--nav-bg-dark:#424242;--nav-text-dark:#fff;--nav-icon-dark:#fff;--nav-hover-bg-dark:#505050;--nav-hover-text-icon-dark:#d0d0d0;--inline-link-color-dark:#91baff;--inline-link-hover-color-dark:#c2e7ff;--underline-color-dark:#c2e7ff;--blog-item-hover-dark:#585858;--muted-text-color:#c4c9d0;--chip-bg:#37393e;--chip-text:#d3dae4;--accent-color:#91baff;--chip-bg-hover:#4a4d54}*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-feature-settings:"cv11";font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);line-height:1.5}body{-webkit-font-smoothing:antialiased;line-height:inherit;margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}menu,ol,ul{list-style:none;margin:0;padding:0}canvas,img,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button{background-color:initial;background-image:none;cursor:pointer}.sidebar-scroll::-webkit-scrollbar{width:6px}.sidebar-scroll::-webkit-scrollbar-track{background:var(--sidebar-bg-color)}.sidebar-scroll::-webkit-scrollbar-thumb{background-color:var(--link-color);border:1px solid var(--sidebar-bg-color);border-radius:10px}.sidebar-scroll{align-self:center;max-height:calc(100vh - 200px);overflow-y:auto;scrollbar-color:var(--link-color) var(--sidebar-bg-color);scrollbar-width:thin;text-align:left;width:-webkit-fit-content;width:fit-content}.sidebar-wrapper{overflow:hidden;transition:max-height .5s ease-in-out}.sidebar{align-items:center;height:100%;width:100%}.sidebar,.sidebar-header{display:flex;flex-direction:column}.sidebar-header{justify-content:center;margin-bottom:10px;margin-right:60px;padding:45px 5px 30px}.profile-photo{border-radius:50%;height:130px;margin-bottom:15px;object-fit:cover;width:130px}.name{color:#1f3c6e;font-size:1.2em;font-weight:600;margin:10px 0 4px}.dark-mode .name{color:#bdc3c7}.role{color:var(--text-color);font-size:.8em;font-weight:500;margin:5px 0}.sidebar-nav ul{list-style:none;margin:0;padding:0;width:100%}.sidebar-nav li{margin-bottom:8px}.sidebar-nav a{align-items:center;border-radius:5px;color:var(--text-color);display:flex;font-size:.9em;font-weight:500;padding:12px 40px 10px 8px;transition:background-color .2s ease,color .2s ease}.sidebar-nav a i{color:var(--link-color);font-size:1em;margin-right:20px}.sidebar-nav a:hover{background-color:#eef1f5}.sidebar-nav a.active,.sidebar-nav a:hover,.sidebar-nav a:hover i{color:var(--link-hover-color)}.sidebar-nav a.active{background-color:#eef1f5;font-weight:600}.sidebar-nav a.active i{color:var(--link-hover-color)}.dark-mode .sidebar-nav a.active{background-color:#3d4453;color:var(--link-hover-color)}.dark-mode .sidebar-nav a.active i{color:var(--link-hover-color)}.dark-mode-toggle{align-items:center;display:flex;gap:10px;justify-content:center;margin-top:auto;padding:20px;width:100%}.switch{display:inline-block;height:22px;position:relative;width:40px}.switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;border-radius:22px;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:16px;left:3px;width:16px}input:checked+.slider{background-color:var(--link-color)}input:checked+.slider:before{transform:translateX(18px)}.menu-toggle{align-items:center;background-color:var(--menu-toggle-bg);border:1px solid var(--menu-toggle-border);border-radius:5px;box-shadow:0 2px 5px #0000001a;color:var(--menu-toggle-icon-color);cursor:pointer;display:none;font-size:1.2em;height:40px;justify-content:center;position:fixed;right:20px;top:20px;width:40px;z-index:1200}@media (min-width:768px) and (max-width:1023px){.sidebar-header{display:flex;flex-direction:column;gap:8px;justify-content:flex-start;margin-bottom:5px;padding:20px 0 0 30px}.sidebar-nav{background-color:var(--nav-bg-light);box-sizing:border-box;max-height:0;overflow:hidden;transition:max-height .8s ease-in-out;width:100%}.dark-mode .sidebar-nav{background-color:var(--nav-bg-dark)}.sidebar-wrapper.active .sidebar-nav{max-height:500px}.sidebar-wrapper{background-color:var(--sidebar-bg-color);height:200px;overflow:visible;position:relative}.sidebar,.sidebar-wrapper.active{height:auto}.sidebar{align-items:stretch;overflow:visible}.profile-photo{height:120px;margin-bottom:0;width:120px}.name{font-size:1.2em;margin:0}.role{font-size:.9em;margin:5px 0 0}.menu-toggle{display:flex;position:absolute;right:20px;top:20px;z-index:1200}.sidebar-scroll{box-sizing:border-box;max-height:none;overflow-y:visible;width:100%}.sidebar-nav a{color:var(--nav-text-light);padding:12px 20px 10px}.dark-mode .sidebar-nav a{color:var(--nav-text-dark)}.sidebar-nav a i{color:var(--nav-icon-light);font-size:1em;margin-right:20px}.dark-mode .sidebar-nav a i{color:var(--nav-icon-dark)}.sidebar-nav a:hover{background-color:var(--nav-hover-bg-light);color:var(--nav-hover-text-icon-light)}.dark-mode .sidebar-nav a:hover{background-color:var(--nav-hover-bg-dark);color:var(--nav-hover-text-icon-dark)}}@media (max-width:767px){.sidebar-header{display:flex;flex-direction:column;gap:8px;justify-content:flex-start;margin-bottom:0;padding:15px 20px 1px}.sidebar-nav{background-color:var(--nav-bg-light);box-sizing:border-box;max-height:0;overflow:hidden;transition:max-height .8s ease-in-out;width:100%}.dark-mode .sidebar-nav{background-color:var(--nav-bg-dark)}.sidebar-wrapper.active .sidebar-nav{max-height:500px}body.no-scroll{overflow:hidden}.sidebar-wrapper{background-color:var(--sidebar-bg-color);height:140px;overflow:visible;position:relative;transition:height .4s cubic-bezier(.4,0,.2,1);width:100%}.sidebar,.sidebar-wrapper.active{height:auto}.sidebar{align-items:stretch;overflow:visible}.profile-photo{height:100px;margin-bottom:0;width:100px}.name{font-size:1.2em;margin:0}.role{font-size:.8em;margin:3px 0 0}.menu-toggle{display:flex;position:absolute;right:15px;top:15px;z-index:1200}.sidebar-scroll{box-sizing:border-box;margin-bottom:10px;max-height:none;overflow-y:visible;width:100%}.sidebar-nav a{color:var(--nav-text-light);padding:12px 15px 10px}.dark-mode .sidebar-nav a{color:var(--nav-text-dark)}.sidebar-nav a i{color:var(--nav-icon-light);font-size:1em;margin-right:20px}.dark-mode .sidebar-nav a i{color:var(--nav-icon-dark)}.sidebar-nav a:hover{background-color:var(--nav-hover-bg-light);color:var(--nav-hover-text-icon-light)}.dark-mode .sidebar-nav a:hover{background-color:var(--nav-hover-bg-dark);color:var(--nav-hover-text-icon-dark)}}.sidebar-social-links{display:flex;gap:15px;margin-bottom:10px;margin-top:10px}.sidebar-social-links a{align-items:center;display:flex;justify-content:center;padding:0;text-decoration:none;transition:transform .2s ease}.sidebar-social-links a:hover{transform:translateY(-3px)}.sidebar-social-links svg.social-icon{fill:none;stroke:#5a6878;stroke-width:2;height:20px;transition:stroke .2s ease;width:20px}.sidebar-social-links a:hover svg.social-icon{stroke:var(--link-hover-color)}.dark-mode .sidebar-social-links svg.social-icon{stroke:#e0e0d5}.dark-mode .sidebar-social-links a:hover svg.social-icon{stroke:var(--link-color)}.hero-about-section{animation:fadeInSlideUp 1.2s ease both;background-color:var(--sidebar-bg-color);padding:20px 0}.about-card{border-radius:16px;color:var(--text-color);position:relative;text-align:left}.about-card h2{color:var(--heading-color);font-size:2em;font-weight:350;margin-bottom:10px}.about-card h2 .wave-emoji{animation:wave 2.5s 2s infinite;display:inline-block;transform-origin:75% 75%}.about-card p{color:var(--text-color);font-size:1em;font-weight:400;line-height:1.7;margin-bottom:15px}.about-card .value-prop{color:#5a6878;font-size:1em;font-style:italic;font-weight:500;margin-bottom:15px}.about-card .badge{background-color:#e1f5ec;border-radius:20px;color:#2e7d32;display:inline-block;font-size:.85em;font-weight:600;margin-bottom:20px;padding:6px 12px}.about-card .quick-info{color:#666;font-size:.95em;margin-bottom:25px}.about-card .inline-link{color:#1f3c6e;display:inline-block;font-weight:500;padding-bottom:2px;position:relative;text-decoration:none;transition:color .3s ease-in-out,transform .3s ease-in-out}.about-card .inline-link:after{background-color:var(--underline-color-light);bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .3s ease-in-out;width:0}.about-card .inline-link:hover{color:var(--inline-link-hover-color-light);transform:translateY(-1px)}.about-card .inline-link:hover:after{width:100%}.dark-mode .hero-about-section{background-color:var(--sidebar-bg-color)}.dark-mode .about-card h2,.dark-mode .about-card p{color:#fff}.dark-mode .about-card .inline-link{color:var(--inline-link-color-dark)}.dark-mode .about-card .inline-link:after{background-color:var(--underline-color-dark)}.dark-mode .about-card .inline-link:hover{color:var(--inline-link-hover-color-dark)}@keyframes fadeInSlideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes wave{0%{transform:rotate(0deg)}15%{transform:rotate(14deg)}30%{transform:rotate(-8deg)}45%{transform:rotate(14deg)}60%{transform:rotate(-4deg)}75%{transform:rotate(10deg)}to{transform:rotate(0deg)}}@media (min-width:768px) and (max-width:1023px){.about-card h2{font-size:1.6em}.about-card p{font-size:1em}}@media (max-width:767px){.about-card h2{font-size:1.4em;margin-bottom:12px}.about-card p{font-size:1em;-webkit-hyphens:none;hyphens:none;line-height:1.65;margin-bottom:12px;overflow-wrap:normal;text-align:left;word-break:normal}.about-card p:last-of-type{margin-bottom:0}}.skills-section{background-color:var(--sidebar-bg-color);color:var(--text-color);padding:40px 0;scroll-margin-top:70px}.skills-section h2{color:var(--heading-color);font-size:2em;font-weight:350;margin-bottom:20px}.skill-cards-container{grid-gap:28px;display:grid;gap:28px;grid-template-columns:repeat(2,1fr)}.skill-card{border-radius:12px;box-shadow:0 8px 20px #0000000f;display:flex;flex-direction:column;padding:22px;transition:box-shadow .3s ease}.skill-card:hover{box-shadow:0 12px 26px #00000017}.dark-mode .skill-card{background-color:#424242;box-shadow:0 8px 20px #0003}.dark-mode .skill-card:hover{box-shadow:0 12px 26px #00000059}.skill-card-header .icon-wrapper{align-items:center;color:var(--link-color);display:flex;font-size:1.6em;gap:12px;margin-bottom:10px}.dark-mode .skill-card-header .icon-wrapper{color:var(--link-hover-color)}.skill-card-header h3{color:var(--heading-color);font-size:.8em;font-weight:450;line-height:1.3}.skill-card-header p{color:var(--muted-text-color);font-size:.9em;line-height:1.5}.skill-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.skill-chip{align-items:center;background-color:var(--chip-bg);border-radius:999px;color:var(--chip-text);display:inline-flex;font-size:.82em;font-weight:500;gap:7px;line-height:1.2;padding:6px 12px 6px 10px;transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease;white-space:nowrap}.skill-icon{fill:currentColor;color:var(--brand);flex:none;height:15px;width:15px}.dark-mode .skill-icon{color:var(--brand-dark)}i.skill-icon{font-size:13px;line-height:15px;text-align:center}@media (hover:hover){.skill-chip:hover{background-color:var(--chip-bg-hover);box-shadow:0 2px 8px #0000000f;transform:translateY(-1px)}}@media (max-width:767px){.skills-section{padding:32px 0}.skills-section h2{font-size:1.6em;margin-bottom:15px}.skill-cards-container{gap:20px;grid-template-columns:1fr}.skill-card{padding:18px}}.projects-section{background-color:var(--sidebar-bg-color);color:var(--text-color);padding:40px 0;scroll-margin-top:70px}.projects-section h2{color:var(--heading-color);font-size:2em;font-weight:350;margin-bottom:20px}.projects-grid{grid-gap:40px 28px;display:grid;gap:40px 28px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.project-card{display:flex;flex-direction:column;position:relative}.project-thumbnail-wrapper{aspect-ratio:16/10;background-color:var(--chip-bg);border-radius:12px;overflow:hidden;position:relative}.project-thumbnail{height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .3s ease;width:100%}.project-body{display:flex;flex:1 1;flex-direction:column;padding-top:14px}.project-title{color:var(--heading-color);font-size:1.05em;font-weight:500;line-height:1.35;margin-bottom:10px;transition:color .2s ease}.project-link:after{border-radius:14px;content:"";inset:0;position:absolute;z-index:1}.project-link:focus{outline:none}.project-link:focus-visible:after{outline:2px solid var(--link-color);outline-offset:6px}.project-tagline{color:var(--muted-text-color);font-size:.9em;line-height:1.55;margin-bottom:14px}.project-tech{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.project-tech li{background-color:var(--chip-bg);border-radius:999px;color:var(--chip-text);font-size:.75em;font-weight:500;line-height:1;padding:5px 9px}.project-actions{display:flex;gap:16px}.project-actions a{align-items:center;color:var(--link-color);display:inline-flex;font-size:.85em;font-weight:600;gap:6px;padding:2px 0;position:relative;transition:color .2s ease;z-index:2}.project-actions a i{font-size:.95em}.project-actions a:after{background-color:currentColor;bottom:-1px;content:"";height:1.5px;left:0;position:absolute;transition:width .25s ease;width:0}.project-actions a:focus-visible,.project-actions a:hover{color:var(--accent-color)}.project-actions a:focus-visible:after,.project-actions a:hover:after{width:100%}.project-overlay{align-items:flex-end;background:linear-gradient(0deg,#0a0e16d9 0,#0a0e168c 55%,#0a0e161a);color:#fff;display:flex;inset:0;opacity:0;padding:16px;pointer-events:none;position:absolute;transition:opacity .3s ease}.project-overlay p{font-size:.88em;font-weight:500;line-height:1.5;transform:translateY(10px);transition:transform .35s cubic-bezier(.2,.7,.2,1)}@media (hover:hover){.project-card:focus-within .project-thumbnail,.project-card:hover .project-thumbnail{transform:scale(1.045)}.project-card:focus-within .project-overlay,.project-card:hover .project-overlay{opacity:1}.project-card:focus-within .project-overlay p,.project-card:hover .project-overlay p{transform:none}.project-card:hover .project-title{color:var(--accent-color)}.project-tagline{clip:rect(0 0 0 0);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}}@media (hover:none){.project-overlay{display:none}}@media (max-width:767px){.projects-section{padding:32px 0}.projects-section h2{font-size:1.6em;margin-bottom:16px}.projects-grid{gap:36px}.project-thumbnail-wrapper{aspect-ratio:16/9}}.blog-section{padding:40px 0;scroll-margin-top:70px}.blog-section,.dark-mode .blog-section{background-color:var(--sidebar-bg-color);color:var(--text-color)}.blog-section h2{font-size:2em;font-weight:350;margin-bottom:30px}.blog-section h2,.dark-mode .blog-section h2{color:var(--heading-color)}.blog-list{display:flex;flex-direction:column;gap:25px;margin:0 -20px}.blog-list-item{align-items:center;border-bottom:1px solid #9696961a;border-radius:8px;color:var(--text-color);display:flex;justify-content:space-between;overflow:hidden;padding:20px;position:relative;text-decoration:none;transition:background-color .3s ease,transform .3s ease}.blog-list-item:last-child{border-bottom:none}.blog-list-item:before{background-color:initial;border-radius:8px;content:"";height:100%;left:0;position:absolute;top:0;transition:background-color .3s ease;width:100%;z-index:-1}.blog-list-item:hover{transform:translateY(-3px)}.blog-list-item:hover:before{background-color:var(--blog-item-hover-light)}.dark-mode .blog-list-item:hover:before{background-color:var(--blog-item-hover-dark)}.blog-info{flex-grow:1;padding-right:20px}.blog-tag{border:1px solid #96969659;border-radius:999px;color:var(--link-color);display:inline-block;font-size:.7em;font-weight:600;letter-spacing:.05em;margin-bottom:10px;padding:2px 10px;text-transform:uppercase}.dark-mode .blog-tag{color:var(--link-hover-color)}.blog-title{font-size:1.3em;font-weight:500;line-height:1.3;margin-bottom:8px}.blog-title,.dark-mode .blog-title{color:var(--heading-color)}.blog-excerpt{font-size:.95em;line-height:1.5;margin-bottom:10px}.blog-excerpt,.dark-mode .blog-excerpt{color:var(--text-color)}.blog-date{align-items:center;color:var(--link-color);display:flex;font-size:.85em;font-weight:500;gap:8px}.blog-date i{color:var(--link-color);font-size:.9em}.dark-mode .blog-date,.dark-mode .blog-date i{color:var(--link-hover-color)}.blog-date .separator,.dark-mode .blog-date .separator{color:var(--text-color)}.blog-publication{font-weight:600}.blog-link-icon{color:var(--link-color);font-size:1.2em;transition:transform .3s ease,color .3s ease}.blog-list-item:hover .blog-link-icon{color:var(--link-hover-color);transform:translateX(5px)}.dark-mode .blog-link-icon{color:var(--link-hover-color)}.no-blogs-message{color:var(--text-color);font-size:1.1em;margin-top:50px;text-align:center}@media (max-width:768px){.blog-section{padding:32px 0}.blog-section h2{font-size:1.8em;margin-bottom:25px}.blog-list{margin:0 -15px}.blog-list-item{align-items:flex-start;flex-direction:column;padding:15px}.blog-info{margin-bottom:10px;padding-right:0}.blog-link-icon{align-self:flex-end;margin-top:5px}.blog-list-item:hover .blog-link-icon{transform:none}.blog-title{font-size:1.1em;margin-bottom:5px}.blog-excerpt{font-size:.9em;margin-bottom:8px}.blog-date{font-size:.8em}}.portfolio-footer{box-sizing:border-box;font-size:.9em;line-height:1.6;padding:24px 0}.dark-mode .portfolio-footer,.portfolio-footer{background-color:var(--sidebar-bg-color);color:var(--text-color)}.portfolio-footer .footer-text{margin:0;padding:0}.portfolio-footer .handcrafted-by{font-size:.8em;margin-top:5px;opacity:.7}@media (max-width:768px){.portfolio-footer{font-size:.85em;padding:16px 0}}.layout-container{display:flex}.layout-container,.sidebar-wrapper{background-color:var(--sidebar-bg-color);height:100vh}.sidebar-wrapper{flex:0 0 25%;min-width:250px;position:relative;z-index:1000}.main-content{box-sizing:border-box;flex:1 1;height:100vh;overflow-y:auto;padding:20px 40px}.main-content>footer,.main-content>section{margin-inline:auto;max-width:var(--content-width)}@media (min-width:768px) and (max-width:1023px){.layout-container{display:flex;flex-direction:column;height:auto;min-height:100vh}.sidebar-wrapper{background-color:var(--sidebar-bg-color);position:relative;width:100%}.main-content{flex:1 1;height:auto;overflow-y:visible;padding:8px 32px;width:100%}}@media (max-width:767px){.layout-container{display:flex;flex-direction:column;height:auto;min-height:100vh}.sidebar-wrapper{background-color:var(--sidebar-bg-color);position:relative;width:100%}.main-content{flex:1 1;height:auto;overflow-y:visible;padding:4px 20px;width:100%}}body,html{scroll-behavior:smooth}@media (max-width:1023px){body,html{height:auto;overflow-y:auto}}.reveal:not([data-revealed]){opacity:0}.reveal[data-revealed]{animation:reveal-up .7s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:0ms;animation-delay:var(--reveal-delay,0ms)}@keyframes reveal-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.reveal:not([data-revealed]),.reveal[data-revealed]{animation:none;opacity:1}.about-card h2 .wave-emoji,.hero-about-section{animation:none}}
/*# sourceMappingURL=main.a033a4ee.css.map*/