@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}html,body,#root{width:100%;height:100%;margin:0;padding:0}body{overflow:hidden}*{box-sizing:border-box;margin:0;padding:0}body,html{background-color:#000;width:100%;height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}#root{width:100%;height:100%;overflow:hidden}.app{flex-direction:column;width:100vw;height:100vh;transition:background-color .3s,color .3s;display:flex;position:relative;overflow:hidden}.app.dark:before{content:"";z-index:0;pointer-events:none;opacity:.8;background-image:radial-gradient(2px 2px at 20px 30px,#fff,#0000),radial-gradient(2px 2px at 60px 70px,#fff,#0000),radial-gradient(1px 1px at 50px 50px,#fff,#0000),radial-gradient(1px 1px at 130px 80px,#fff,#0000),radial-gradient(2px 2px at 90px 10px,#fff,#0000),radial-gradient(1px 1px at 200px 150px,#fff,#0000),radial-gradient(1px 1px at 180px 50px,#fff,#0000),radial-gradient(2px 2px at 140px 120px,#fff,#0000),radial-gradient(1px 1px at 160px 90px,#fff,#0000),radial-gradient(2px 2px at 30px 100px,#fff,#0000),radial-gradient(1px 1px at 110px 140px,#fff,#0000),radial-gradient(1px 1px at 70px 160px,#fff,#0000);background-repeat:repeat;background-size:250px 250px;width:100%;height:100%;animation:3s ease-in-out infinite twinkle;position:absolute;top:0;left:0}.app.light:before{content:"";z-index:0;pointer-events:none;opacity:.4;background-image:url(/clouds.jpg?v=1);background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;position:absolute;top:0;left:0}@keyframes twinkle{0%,to{opacity:.8}50%{opacity:.5}}.app.mobile .theme-toggle{position:fixed!important;top:1rem!important;right:1rem!important}.app>*{z-index:1;position:relative}.app.dark{color:#fff;background-color:#000}.app.light{color:#000;background-color:#d1f2ff}.app.desktop{padding:2rem}.app.mobile{padding:1rem}h1,h2,h3,h4,h5,h6{font-weight:600}p{line-height:1.6}.fade-enter{opacity:0}.fade-enter-active{opacity:1;transition:opacity .3s}.fade-exit{opacity:1}.fade-exit-active{opacity:0;transition:opacity .3s}.loading-screen{justify-content:center;align-items:center;width:100vw;height:100vh;transition:background-color .3s;display:flex}.loading-screen.dark{background-color:#000}.loading-screen.light{background-color:#87ceeb}.loader{border:4px solid #7c3aed4d;border-top-color:#7c3aed;border-radius:50%;width:50px;height:50px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1200px){.app{flex-direction:column;display:flex}.app>header,.app>.section-buttons{width:100%;position:relative;top:auto;left:auto}.app>header{order:1;margin-bottom:1rem}.app>.section-buttons{order:2;margin-bottom:1.5rem}.app>.content-monitor{order:3;width:100%;padding:0 1rem}.theme-toggle,.floating-resume{position:fixed}}.header{z-index:10;flex-shrink:0;align-items:center;gap:1.5rem;display:flex;position:absolute;top:2rem;left:2rem}.header.mobile{flex-direction:column;justify-content:flex-start;align-items:center;gap:1rem;width:100%;margin-bottom:1rem;padding:0 1rem;position:relative;top:0;left:0}.profile-picture{border:3px solid #7c3aed;border-radius:50%;flex-shrink:0;width:125px;height:125px;overflow:hidden;box-shadow:0 0 20px #7c3aed4d}.app.mobile .profile-picture{width:80px;height:80px}.profile-picture img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.theme-toggle{cursor:pointer;width:50px;height:50px;color:inherit;z-index:10;background:#7c3aed1a;border:2px solid #7c3aed;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;position:fixed;top:2rem;right:2rem}.app.mobile .theme-toggle{top:1rem;right:1rem}.theme-toggle:hover{background:#7c3aed33;transform:scale(1.1)}.theme-toggle:active{transform:scale(.95)}.theme-toggle svg{width:24px;height:24px}.app.light .theme-toggle{background:#5b21b61a;border-color:#5b21b6}.app.light .theme-toggle:hover{background:#5b21b633}.app.light .profile-picture{border-color:#5b21b6}.profile-info{flex-direction:column;gap:.25rem;min-width:0;display:flex}.app.mobile .profile-info{text-align:center;width:100%;max-width:calc(100% - 2rem)}.profile-name{background:linear-gradient(135deg,#7c3aed,#a855f7,#c084fc) 0 0/200% 200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:2.3rem;font-weight:700;animation:3s infinite gradientShift}.app.light .profile-name{background:linear-gradient(135deg,#5b21b6,#7c3aed,#a855f7) 0 0/200% 200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.app.mobile .profile-name{font-size:1.3rem}.profile-subtitle{background:linear-gradient(135deg,#7c3aed,#a855f7,#c084fc) 0 0/200% 200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;justify-content:flex-start;align-items:center;min-height:1.5em;margin:0;font-size:1.1rem;font-weight:600;animation:3s infinite gradientShift;display:flex}.app.mobile .profile-subtitle{text-align:center;flex-wrap:wrap;justify-content:center;font-size:.85rem}.app.light .profile-subtitle{background:linear-gradient(135deg,#5b21b6,#7c3aed,#a855f7) 0 0/200% 200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}.cursor{background:linear-gradient(135deg,#7c3aed,#a855f7);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-left:2px;animation:1s step-end infinite blink}.app.light .cursor{background:linear-gradient(135deg,#5b21b6,#7c3aed);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@media (max-width:1200px){.header{text-align:center;flex-direction:column;align-items:center;width:100%;margin-bottom:0;padding:1rem;position:relative;top:0;left:0}.profile-info{text-align:center;width:100%}.profile-subtitle{justify-content:center}}@media (max-width:768px){.profile-picture{width:100px;height:100px}.profile-name{font-size:1.75rem}.profile-subtitle{font-size:.95rem}}@media (max-width:480px){.profile-picture{width:80px;height:80px}.profile-name{font-size:1.5rem}.profile-subtitle{font-size:.85rem}}.section-buttons{z-index:10;flex-shrink:0;gap:1rem;display:flex;position:absolute;top:4rem;left:50%;transform:translate(-50%)}.section-buttons.mobile{flex-direction:row;justify-content:space-between;gap:.5rem;width:100%;margin-bottom:1rem;display:flex;position:relative;top:0;left:0;transform:none}.section-btn{color:inherit;cursor:pointer;text-transform:uppercase;white-space:nowrap;background:0 0;border:2px solid #7c3aed;border-radius:12px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s;position:relative;overflow:hidden}.section-buttons.mobile .section-btn{flex:1;min-width:0;padding:.65rem .4rem;font-size:.75rem}.section-btn:before{content:"";opacity:0;z-index:-1;background:linear-gradient(135deg,#7c3aed,#a855f7);width:100%;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}.section-btn:hover:before{opacity:.1}.section-btn.active{color:#fff;background:linear-gradient(135deg,#7c3aed,#a855f7);box-shadow:0 0 20px #7c3aed80}.section-btn:active{transform:scale(.98)}.app.light .section-btn{border-color:#5b21b6}.app.light .section-btn.active{background:linear-gradient(135deg,#5b21b6,#7c3aed)}.project-card{background:#7c3aed0d;border:2px solid #7c3aed;border-radius:12px;flex-direction:column;height:100%;padding:1.5rem;transition:all .3s;display:flex}.project-features{flex:1;margin:1.5rem 0}.project-links{margin-top:0}@media (max-width:1200px){.section-buttons{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin:0 auto 1.5rem;padding:0 1rem;display:flex;width:100%!important;position:relative!important;bottom:auto!important;left:0!important;right:0!important;transform:none!important}.section-buttons button{flex:0 auto;min-width:120px}}.content-monitor{background:#7c3aed0d;border:3px solid #7c3aed;border-radius:16px;flex-direction:column;flex:1;min-height:0;margin-top:10rem;display:flex;position:relative;overflow:hidden}.app.mobile .content-monitor{margin-top:0}.monitor-header{text-align:center;border-bottom:2px solid #7c3aed;flex-shrink:0;padding:1.5rem}.monitor-title{margin-bottom:.5rem;font-size:1.8rem;font-weight:700}.monitor-subtitle{opacity:.8;font-size:.95rem}.monitor-content{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.scrollable-area{scroll-behavior:smooth;flex:1;padding:2rem;overflow:hidden auto}.app.mobile .scrollable-area{padding-bottom:7rem}.section-content{min-height:auto;padding-bottom:0}.scrollable-area::-webkit-scrollbar{width:12px}.scrollable-area::-webkit-scrollbar-track{background:#7c3aed1a;border-radius:10px}.scrollable-area::-webkit-scrollbar-thumb{background:#7c3aed padding-box padding-box;border:2px solid #0000;border-radius:10px}.scrollable-area::-webkit-scrollbar-thumb:hover{background:#a855f7 padding-box padding-box}.scrollable-area{scrollbar-width:thin;scrollbar-color:#7c3aed #7c3aed1a}.scroll-indicator{pointer-events:none;align-items:center;width:16px;padding:.5rem 0;display:flex;position:absolute;top:0;bottom:0;right:0}.scroll-track{background:#7c3aed33;border-radius:2px;width:4px;height:100%}.github-link{border-top:2px solid #7c3aed;flex-shrink:0;justify-content:center;padding:1rem;display:flex}.github-btn{color:inherit;background:0 0;border:2px solid #7c3aed;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:all .3s;display:flex}.github-btn:hover{background:#7c3aed33;transform:translateY(-2px)}.github-btn svg{width:24px;height:24px}.app.light .content-monitor{background:#5b21b60d;border-color:#5b21b6}.app.light .monitor-header,.app.light .github-link,.app.light .github-btn{border-color:#5b21b6}.app.light .github-btn:hover{background:#5b21b633}.app.light .scrollable-area::-webkit-scrollbar-track{background:#5b21b61a}.app.light .scrollable-area::-webkit-scrollbar-thumb{background:#5b21b6}.app.light .scrollable-area::-webkit-scrollbar-thumb:hover{background:#7c3aed}.section-content{box-sizing:border-box;max-width:100%;animation:.5s fadeIn;overflow-x:hidden}.hidden{width:1 px;opacity:0;height:1px;position:absolute;top:-9999px;left:-9999px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.section-title{background:linear-gradient(135deg,#7c3aed,#a855f7);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1.5rem;font-size:2.5rem}.bio-intro{margin-bottom:2rem;font-size:1.2rem;line-height:1.8}.bio-section{margin-bottom:2.5rem}.bio-section h3{color:#7c3aed;margin-bottom:1rem;font-size:1.5rem}.app.light .bio-section h3{color:#5b21b6}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:1.5rem;display:grid}.skill-card{text-align:center;border:2px solid #7c3aed;border-radius:12px;padding:1.5rem;transition:all .3s}.skill-card:hover{transform:translateY(-5px);box-shadow:0 8px 16px #7c3aed4d}.skill-icon{margin-bottom:.5rem;font-size:2.5rem}.skill-card h4{margin:.5rem 0;font-size:1.2rem}.skill-card p{opacity:.8;font-size:.9rem}.fun-facts{padding:0;list-style:none}.fun-facts li{border-bottom:1px solid #7c3aed33;padding:.75rem 0;font-size:1.1rem}.fun-facts li:last-child{border-bottom:none}.timeline{padding-left:3rem;position:relative}.timeline:before{content:"";background:linear-gradient(#7c3aed,#a855f7);width:3px;position:absolute;top:0;bottom:0;left:0}.timeline-item{margin-bottom:3rem;position:relative}.timeline-marker{background:#7c3aed;border:3px solid #000;border-radius:50%;width:16px;height:16px;position:absolute;top:0;left:-3.5rem;box-shadow:0 0 10px #7c3aed80}.app.light .timeline-marker{border-color:#f5f5f5}.timeline-content{background:#7c3aed0d;border:2px solid #7c3aed;border-radius:12px;padding:1.5rem}.work-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;display:flex}.work-header h3{color:#7c3aed;margin:0;font-size:1.4rem}.app.light .work-header h3{color:#5b21b6}.work-period{opacity:.7;font-size:.9rem;font-weight:600}.company-name{margin:.5rem 0 1rem;font-size:1.1rem;font-weight:600}.work-description{margin-bottom:1rem;line-height:1.6}.tech-tags{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.tag{background:#7c3aed33;border:1px solid #7c3aed;border-radius:6px;padding:.4rem .8rem;font-size:.85rem;font-weight:600}.achievements{margin-top:1rem;padding-left:1.5rem}.achievements li{margin-bottom:.5rem;line-height:1.5}.projects-intro{margin-bottom:2rem;font-size:1.1rem;line-height:1.6}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;margin-top:2rem;display:grid}.project-card{background:#7c3aed0d;border:2px solid #7c3aed;border-radius:12px;padding:1.5rem;transition:all .3s}.project-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px #7c3aed4d}.project-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.project-icon{border:2px solid #7c3aed;border-radius:50%;flex-shrink:0;width:60px;height:60px;overflow:hidden}.project-icon img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.project-header h1{color:#7c3aed;margin:0;font-size:1.6rem}.app.light .project-header h1{color:#5b21b6}.project-description{margin-bottom:1rem;line-height:1.6}.project-features{margin:1.5rem 0}.project-features h4{color:#7c3aed;margin-bottom:.5rem;font-size:1rem}.app.light .project-features h4{color:#5b21b6}.project-features ul{margin:0;padding-left:1.5rem}.project-features li{margin-bottom:.5rem;font-size:.95rem}.project-tech{flex-wrap:wrap;gap:.5rem;margin:1.5rem 0;display:flex}.tech-badge{background:#7c3aed26;border:1px solid #7c3aed;border-radius:6px;padding:.3rem .7rem;font-size:.8rem;font-weight:600}.project-links{gap:1rem;margin-top:1.5rem;display:flex}.project-link{color:inherit;border:2px solid #7c3aed;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;font-weight:600;text-decoration:none;transition:all .3s;display:flex}.project-link:hover{background:#7c3aed33;transform:translateY(-2px)}.project-link.demo{color:#fff;background:linear-gradient(135deg,#7c3aed,#a855f7);border-color:#0000}.project-link.demo:hover{background:linear-gradient(135deg,#a855f7,#7c3aed)}.contact-intro{margin-bottom:2rem;font-size:1.1rem;line-height:1.6}.contact-grid{grid-template-columns:1fr 1.5fr;gap:3rem;margin:2rem 0;display:grid}@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}.contact-info h3{color:#7c3aed;margin-bottom:1.5rem;font-size:1.5rem}.app.light .contact-info h3{color:#5b21b6}.info-item{border:2px solid #7c3aed4d;border-radius:8px;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding:1rem;display:flex}.info-icon{flex-shrink:0;font-size:2rem}.info-details h4{color:#7c3aed;margin:0 0 .5rem;font-size:1rem}.app.light .info-details h4{color:#5b21b6}.info-details a,.info-details p{color:inherit;font-size:.95rem;text-decoration:none}.info-details a:hover{color:#7c3aed;text-decoration:underline}.social-links{margin-top:2rem}.social-icons{gap:1rem;margin-top:1rem;display:flex}.social-link{width:48px;height:48px;color:inherit;border:2px solid #7c3aed;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex}.social-link:hover{background:#7c3aed33;transform:translateY(-3px)}.contact-form-wrapper h3{color:#7c3aed;margin-bottom:1.5rem;font-size:1.5rem}.app.light .contact-form-wrapper h3{color:#5b21b6}.contact-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{font-size:.95rem;font-weight:600}.form-group input,.form-group textarea,.form-group select{color:inherit;background:0 0;border:2px solid #7c3aed;border-radius:8px;width:100%;padding:.75rem;font-family:inherit;font-size:1rem;transition:all .3s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#a855f7;outline:none;box-shadow:0 0 0 3px #7c3aed1a}.form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%237c3aed' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.5rem}.app.light .form-group select{background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%235b21b6' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}.form-group select option{color:#fff;background:#000;padding:.5rem}.app.light .form-group select option{color:#000;background:#fff}.form-group textarea{resize:vertical;min-height:120px}.submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#a855f7);border:none;border-radius:8px;padding:1rem 2rem;font-size:1.1rem;font-weight:600;transition:all .3s}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px #7c3aed66}.submit-btn:active{transform:translateY(0)}.success-message{text-align:center;background:#7c3aed1a;border:2px solid #7c3aed;border-radius:12px;padding:3rem}.success-icon{margin-bottom:1rem;font-size:4rem}.success-message p{font-size:1.2rem;font-weight:600}.availability{text-align:center;background:#7c3aed0d;border:2px solid #7c3aed;border-radius:12px;margin-top:3rem;padding:2rem}.availability h3{color:#7c3aed;margin-bottom:1rem;font-size:1.5rem}.app.light .availability h3{color:#5b21b6}.availability p{font-size:1.1rem;line-height:1.6}@media (max-width:1200px){.app-header{text-align:center;flex-direction:column;align-items:center;gap:1rem}.profile-section{text-align:center;flex-direction:column;align-items:center}.profile-info{text-align:center}.nav-buttons{flex-wrap:wrap;justify-content:center}}@media (max-width:768px){.projects-grid,.skills-grid{grid-template-columns:1fr}.skill-card{box-sizing:border-box;width:100%}.timeline{padding-left:2rem}.timeline-marker{left:-2.5rem}.projects-header{flex-direction:column;align-items:stretch;gap:1rem}.tech-filter-container{width:100%;margin-bottom:1rem}.filter-toggle-btn{justify-content:center;width:100%}.filter-dropdown{z-index:1001;border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-width:100%;height:70vh;padding:1.5rem 1.5rem 0;display:flex;position:fixed;inset:auto 0 0;overflow:hidden}.filter-backdrop{z-index:1000;background:#000000b3}.filter-dropdown-header{flex-shrink:0}.filter-options{flex:1;margin:1rem -1.5rem;padding:0 1.5rem 1rem;overflow-y:auto}.filter-dropdown-footer{border-top:1px solid #7c3aed;flex-shrink:0;margin:0 -1.5rem;padding:1rem 1.5rem;display:block}.filter-done-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#a855f7);border:none;border-radius:8px;width:100%;padding:1rem;font-size:1rem;font-weight:600;transition:all .3s}.filter-done-btn:active{transform:scale(.98)}.app.light .filter-dropdown{background:#fff}.app.light .filter-dropdown-footer{background:#fff;border-top-color:#5b21b6}.app.light .filter-done-btn{background:linear-gradient(135deg,#5b21b6,#7c3aed)}}@media (min-width:769px) and (max-width:1200px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1201px){.skills-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.filter-dropdown-footer{display:none}.skill-list{text-align:left;margin:1rem 0 0;padding:0;list-style:none}.skill-list li{opacity:.9;border-bottom:1px solid #7c3aed1a;padding:.4rem 0;font-size:.9rem}.skill-list li:last-child{border-bottom:none}.tech-categories{flex-direction:column;gap:2rem;margin-top:1.5rem;display:flex}.tech-category h4{color:#7c3aed;margin-bottom:1rem;font-size:1.1rem}.app.light .tech-category h4{color:#5b21b6}.tech-tags{flex-wrap:wrap;gap:.75rem;display:flex}.tech-tag{background:#7c3aed26;border:1px solid #7c3aed;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .3s}.tech-tag:hover{background:#7c3aed40;transform:translateY(-2px)}.skill-icon svg{color:#7c3aed;width:48px;height:48px}.app.light .skill-icon svg{color:#5b21b6}.form-group input.error,.form-group textarea.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.error-message{color:#ef4444;margin-top:.25rem;font-size:.875rem;display:block}.reply-preference{background:#7c3aed0d;border:2px solid #7c3aed33;border-radius:8px;padding:1.5rem}.reply-preference>label{color:#7c3aed;margin-bottom:1rem;font-size:1.1rem;font-weight:700;display:block}.app.light .reply-preference>label{color:#5b21b6}.radio-group{flex-direction:column;gap:1rem;display:flex}.radio-label{cursor:pointer;border-radius:6px;align-items:center;gap:.75rem;padding:.75rem;font-size:1rem;transition:all .3s;display:flex}.radio-label:hover{background:#7c3aed1a}.radio-label input[type=radio]{cursor:pointer;accent-color:#7c3aed;width:20px;height:20px}.radio-label span{font-weight:500}.success-icon svg{color:#10b981}.contact-form-wrapper-centered{max-width:100%;margin:0 0 3rem}.contact-form-wrapper-centered h3{color:#7c3aed;text-align:center;margin-bottom:1.5rem;font-size:1.5rem}.app.light .contact-form-wrapper-centered h3{color:#5b21b6}.social-links-bottom{text-align:center;margin-top:3rem}.social-links-bottom h3{color:#7c3aed;margin-bottom:1.5rem;font-size:1.5rem}.app.light .social-links-bottom h3{color:#5b21b6}.social-links-bottom .social-icons{justify-content:center;gap:1.5rem;display:flex}.projects-header{justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:2rem;display:flex}.tech-filter-container{flex-shrink:0;position:relative}.filter-toggle-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#7c3aed,#a855f7);border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:1rem;font-weight:600;transition:all .3s;display:flex}.filter-toggle-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed66}.app.light .filter-toggle-btn{background:linear-gradient(135deg,#5b21b6,#7c3aed)}.filter-backdrop{z-index:998;background:#00000080;width:100vw;height:100vh;position:fixed;top:0;left:0}.filter-dropdown{z-index:999;background:#1a1a1a;border:2px solid #7c3aed;border-radius:12px;width:300px;max-height:400px;padding:1rem;position:absolute;top:calc(100% + .5rem);right:0;overflow-y:auto;box-shadow:0 8px 24px #0006}.app.light .filter-dropdown{background:#fff;border-color:#5b21b6}.filter-dropdown-header{border-bottom:1px solid #7c3aed;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.app.light .filter-dropdown-header{border-bottom-color:#5b21b6}.filter-dropdown-header h4{color:#7c3aed;margin:0;font-size:1rem}.app.light .filter-dropdown-header h4{color:#5b21b6}.clear-all-btn{color:inherit;cursor:pointer;background:0 0;border:1px solid #7c3aed;border-radius:6px;padding:.25rem .75rem;font-size:.85rem;transition:all .3s}.clear-all-btn:hover{background:#7c3aed33}.app.light .clear-all-btn{border-color:#5b21b6}.filter-options{flex-direction:column;gap:.75rem;display:flex}.filter-checkbox{cursor:pointer;border-radius:6px;align-items:center;gap:.75rem;padding:.5rem;transition:background .2s;display:flex}.filter-checkbox:hover{background:#7c3aed1a}.filter-checkbox input[type=checkbox]{opacity:0;cursor:pointer;position:absolute}.checkbox-custom{border:2px solid #7c3aed;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:all .3s;display:flex}.filter-checkbox input[type=checkbox]:checked+.checkbox-custom{background:linear-gradient(135deg,#7c3aed,#a855f7);border-color:#7c3aed}.filter-checkbox input[type=checkbox]:checked+.checkbox-custom:after{content:"✓";color:#fff;font-size:14px;font-weight:700}.app.light .checkbox-custom{border-color:#5b21b6}.app.light .filter-checkbox input[type=checkbox]:checked+.checkbox-custom{background:linear-gradient(135deg,#5b21b6,#7c3aed)}.tech-label{font-size:.95rem;font-weight:500}.active-filters{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.filter-label{color:#7c3aed;font-weight:600}.app.light .filter-label{color:#5b21b6}.active-filter-tag{color:#fff;background:linear-gradient(135deg,#7c3aed,#a855f7);border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.9rem;font-weight:500;display:flex}.app.light .active-filter-tag{background:linear-gradient(135deg,#5b21b6,#7c3aed)}.remove-filter{color:#fff;cursor:pointer;background:0 0;border:none;margin-left:.25rem;padding:0;font-size:1.5rem;line-height:1;transition:transform .2s}.remove-filter:hover{transform:scale(1.2)}.suggestion-box{color:inherit;background:#7c3aed1a;border:2px solid #7c3aed;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.app.light .suggestion-box{background:#5b21b61a;border-color:#5b21b6}.suggestion-box svg{color:#7c3aed;flex-shrink:0}.app.light .suggestion-box svg{color:#5b21b6}.suggestion-link{color:#7c3aed;cursor:pointer;font-weight:600;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.suggestion-link:hover{color:#a855f7}.app.light .suggestion-link{color:#5b21b6}.app.light .suggestion-link:hover{color:#7c3aed}.projects-count{color:#7c3aed;margin:1.5rem 0;font-size:1.1rem;font-weight:600}.app.light .projects-count{color:#5b21b6}.no-projects{text-align:center;background:#7c3aed0d;border:2px solid #7c3aed;border-radius:12px;padding:3rem}.no-projects p{margin-bottom:1.5rem;font-size:1.2rem}.clear-filter-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#a855f7);border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;transition:all .3s}.clear-filter-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed66}.app.light .clear-filter-btn{background:linear-gradient(135deg,#5b21b6,#7c3aed)}.floating-resume{cursor:pointer;z-index:1000;background:linear-gradient(135deg,#7c3aed,#a855f7);border:3px solid #fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;width:70px;height:70px;transition:all .3s;animation:3s ease-in-out infinite float;display:flex;position:fixed;top:9rem;right:2rem;box-shadow:0 8px 24px #7c3aed66}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes float-mobile{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-10px)}}.app.mobile .floating-resume{width:70px;height:70px;animation:3s ease-in-out infinite float;position:fixed;inset:5rem 1rem auto auto;transform:none}.floating-resume:hover{animation:none;transform:scale(1.1)translateY(-5px);box-shadow:0 12px 32px #7c3aed99}.app.mobile .floating-resume:hover{animation:none;transform:translate(-50%,-5px)scale(1.1)}.floating-resume:active{transform:scale(.95)}.app.mobile .floating-resume:active{transform:translate(-50%)scale(.95)}.resume-icon{justify-content:center;align-items:center;display:flex}.resume-icon svg{color:#fff;width:28px;height:28px}.app.mobile .resume-icon svg{width:24px;height:24px}.resume-label{color:#fff;text-transform:uppercase;letter-spacing:.5px;font-size:.65rem;font-weight:700}.app.mobile .resume-label{font-size:.55rem}.resume-modal{z-index:2000;background:#000000eb;justify-content:center;align-items:center;width:100vw;height:100vh;padding:2rem;animation:.25s fadeIn;display:flex;position:fixed;top:0;left:0}.resume-viewer{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:1000px;height:92vh;animation:.3s slideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 80px #0009}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.resume-header{color:#fff;background:linear-gradient(135deg,#7c3aed,#a855f7);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.resume-header h3{margin:0;font-size:1.5rem;font-weight:600}.close-btn{cursor:pointer;color:#fff;background:#fff3;border:2px solid #ffffff80;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .3s;display:flex}.close-btn:hover{color:#7c3aed;background:#fff;border-color:#fff;transform:scale(1.1)rotate(90deg)}.close-btn:active{transform:scale(.95)rotate(90deg)}.pdf-container{background:#f5f5f5;flex:1;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.pdf-embed{border:none;width:100%;height:100%}.download-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#a855f7);border:none;flex-shrink:0;justify-content:center;align-items:center;gap:.75rem;padding:1.25rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:flex}.download-btn:hover{background:linear-gradient(135deg,#a855f7,#7c3aed);padding:1.35rem 1.25rem}.download-btn svg{color:#fff}@media (max-width:768px){.resume-modal{padding:.5rem}.resume-viewer{border-radius:12px;max-width:100%;height:90vh}.resume-header{padding:1rem 1.5rem}.resume-header h3{font-size:1.2rem}.close-btn{width:40px;height:40px}}.app.light .floating-resume{border-color:#000;box-shadow:0 8px 24px #5b21b666}.app.light .floating-resume:hover{box-shadow:0 12px 32px #5b21b699}
