:root{--primary-color:#4a6cf7;--secondary-color:#6c757d;--background-color:#fff;--text-color:#333;--card-bg:#f8f9fa;--border-color:#e9ecef;--highlight-bg:#f1f5fe;--timeline-bg:#f8f9fa;--timeline-dot:#4a6cf7;--skill-bar-bg:#e9ecef;--skill-progress:#4a6cf7;--nav-bg:#fff;--shadow:0 5px 15px #0000000d;--transition:all 0.3s ease}body.dark-theme{--primary-color:#6d8dff;--secondary-color:#adb5bd;--background-color:#121212;--text-color:#e9ecef;--card-bg:#1e1e1e;--border-color:#2d2d2d;--highlight-bg:#2d2d2d;--timeline-bg:#1e1e1e;--timeline-dot:#6d8dff;--skill-bar-bg:#2d2d2d;--skill-progress:#6d8dff;--nav-bg:#1a1a1a;--shadow:0 5px 15px #0003}*{box-sizing:border-box;margin:0;padding:0;transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}body{background-color:#fff;background-color:var(--background-color);color:#333;color:var(--text-color);font-family:Roboto,sans-serif;line-height:1.6;min-height:100vh;transition:all .3s ease;transition:var(--transition)}h1,h2,h3,h4,h5,h6{font-family:Poppins,sans-serif;margin-bottom:1rem}a{color:#4a6cf7;color:var(--primary-color);text-decoration:none;transition:all .3s ease;transition:var(--transition)}a:hover{color:#6c757d;color:var(--secondary-color)}.app-container{background-color:#fff;background-color:var(--background-color);color:#333;color:var(--text-color);display:flex;flex-direction:column;min-height:100vh}.main-nav{align-items:center;background-color:#fff;background-color:var(--nav-bg);box-shadow:0 5px 15px #0000000d;box-shadow:var(--shadow);display:flex;justify-content:space-between;padding:1rem 5%;position:-webkit-sticky;position:sticky;top:0;transition:all .3s ease;transition:var(--transition);z-index:1000}.logo{color:#4a6cf7;color:var(--primary-color);font-size:1.5rem;font-weight:700}.nav-links{display:flex;list-style:none}.nav-link{color:#333;color:var(--text-color);cursor:pointer;font-weight:500;margin:0 1rem;padding:.5rem;position:relative}.nav-link.active,.nav-link:hover{color:#4a6cf7;color:var(--primary-color)}.nav-link:after{background-color:#4a6cf7;background-color:var(--primary-color);bottom:0;content:"";height:2px;left:0;position:absolute;transition:all .3s ease;transition:var(--transition);width:0}.nav-link.active:after,.nav-link:hover:after{width:100%}.theme-toggle{align-items:center;background:none;border:none;border-radius:50%;color:#333;color:var(--text-color);cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;margin-left:1rem;padding:.5rem;transition:all .3s ease;transition:var(--transition);width:40px}.theme-toggle:hover{background-color:#f1f5fe;background-color:var(--highlight-bg);color:#4a6cf7;color:var(--primary-color)}.theme-toggle:focus{box-shadow:0 0 0 2px #4a6cf7;box-shadow:0 0 0 2px var(--primary-color);outline:none}.theme-toggle i{font-size:1.2rem}.mobile-menu-btn{cursor:pointer;display:none;flex-direction:column}.bar{background-color:#333;background-color:var(--text-color);height:3px;margin:3px 0;transition:all .3s ease;transition:var(--transition);width:25px}.content{flex:1 1;min-height:100vh;padding:2rem 5%;position:relative}.section{animation:fadeIn .5s ease;display:none;left:0;opacity:0;padding:2rem 0;position:absolute;top:0;transition:opacity .3s ease-in-out;width:100%}.section.active{display:block;opacity:1;position:relative}.section-title{color:#333;color:var(--text-color);font-size:2.5rem;margin-bottom:3rem;position:relative;text-align:center}.section-title:after{background-color:#4a6cf7;background-color:var(--primary-color);border-radius:2px;bottom:-10px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.section-description{color:#6c757d;color:var(--secondary-color);font-size:1.1rem;margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:600px;text-align:center}.hero{align-items:center;display:flex;gap:4rem;margin-bottom:4rem}.hero-content{flex:1 1}.hero-content h1{font-size:3rem;line-height:1.2;margin-bottom:1rem}.hero-content h2{color:#6c757d;color:var(--secondary-color);font-size:1.5rem;font-weight:400;margin-bottom:1.5rem}.highlight{color:#4a6cf7;color:var(--primary-color)}.hero-image{align-items:center;display:flex;flex:1 1;justify-content:center}.profile-container{border:4px solid #4a6cf7;border:4px solid var(--primary-color);border-radius:50%;box-shadow:0 5px 15px #0000000d;box-shadow:var(--shadow);height:300px;overflow:hidden;position:relative;width:300px}.profile-image{height:100%;object-fit:cover;width:100%}.cta-buttons{margin-top:2rem}.btn{border:none;border-radius:5px;cursor:pointer;display:inline-block;font-size:1rem;font-weight:500;margin-bottom:1rem;margin-right:1rem;padding:12px 24px;text-decoration:none;transition:all .3s ease;transition:var(--transition)}.btn.primary{background-color:#4a6cf7;background-color:var(--primary-color);color:#fff}.btn.primary:hover{background-color:#3a5ce5;box-shadow:0 5px 15px #4a6cf74d;transform:translateY(-2px)}.btn.secondary{background-color:initial;border:2px solid #4a6cf7;border:2px solid var(--primary-color);color:#4a6cf7;color:var(--primary-color)}.btn.secondary:hover{background-color:#4a6cf7;background-color:var(--primary-color);color:#fff;transform:translateY(-2px)}.about-details{margin:0 auto;max-width:800px}.about-highlights{margin:3rem 0}.highlight-item{align-items:flex-start;display:flex;gap:1rem;margin-bottom:2rem}.highlight-item i{color:#4a6cf7;color:var(--primary-color);flex-shrink:0;font-size:1.5rem;margin-top:.25rem}.highlight-item h3{color:#333;color:var(--text-color);margin-bottom:.5rem}.highlight-item p{color:#6c757d;color:var(--secondary-color);line-height:1.6}.personal-info{background-color:#f8f9fa;background-color:var(--card-bg);border-radius:10px;margin:2rem 0;padding:2rem}.info-item{border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.info-title{color:#333;color:var(--text-color);font-weight:600}.social-links{gap:1rem;margin-top:2rem}.social-icon,.social-links{display:flex;justify-content:center}.social-icon{align-items:center;background-color:#f8f9fa;background-color:var(--card-bg);border:2px solid #0000;border-radius:50%;color:#4a6cf7;color:var(--primary-color);font-size:1.5rem;height:50px;transition:all .3s ease;transition:var(--transition);width:50px}.social-icon:hover{background-color:#4a6cf7;background-color:var(--primary-color);box-shadow:0 5px 15px #4a6cf74d;color:#fff;transform:translateY(-3px)}.skills-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:3rem}.skills-category{background-color:#f8f9fa;background-color:var(--card-bg);border-radius:10px;box-shadow:0 5px 15px #0000000d;box-shadow:var(--shadow);padding:2rem}.skills-category h3{color:#333;color:var(--text-color);margin-bottom:1.5rem}.skill-bars{display:flex;flex-direction:column;gap:1rem}.skill-item{margin-bottom:1rem}.skill-info{display:flex;font-weight:500;justify-content:space-between;margin-bottom:.5rem}.skill-bar{background-color:#e9ecef;background-color:var(--skill-bar-bg);border-radius:4px;height:8px;overflow:hidden}.skill-progress{background-color:#4a6cf7;background-color:var(--skill-progress);border-radius:4px;height:100%;transition:width 1s ease}.tech-cloud{margin-top:3rem;text-align:center}.tech-cloud h3{color:#333;color:var(--text-color);margin-bottom:2rem}.tech-items{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.tech-item{background-color:#f8f9fa;background-color:var(--card-bg);border:1px solid #e9ecef;border:1px solid var(--border-color);border-radius:20px;color:#333;color:var(--text-color);cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease;transition:var(--transition)}.tech-item:hover{background-color:#4a6cf7;background-color:var(--primary-color);color:#fff;transform:translateY(-2px)}.projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:2rem}.project-card{background-color:#f8f9fa;background-color:var(--card-bg);border-radius:10px;box-shadow:0 5px 15px #0000000d;box-shadow:var(--shadow);cursor:pointer;overflow:hidden;transition:all .3s ease;transition:var(--transition)}.project-card:hover{box-shadow:0 10px 25px #0000001a;transform:translateY(-5px)}.project-image{height:200px;overflow:hidden;position:relative}.project-image img{height:100%;object-fit:cover;transition:all .3s ease;transition:var(--transition);width:100%}.project-card:hover .project-image img{transform:scale(1.05)}.project-overlay{align-items:center;background-color:#4a6cf7e6;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:all .3s ease;transition:var(--transition)}.project-card:hover .project-overlay{opacity:1}.start-game-btn{background-color:#fff;border:none;border-radius:5px;color:#4a6cf7;color:var(--primary-color);cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease;transition:var(--transition)}.project-card:hover .start-game-btn{transform:scale(1.1)}.project-info{padding:1.5rem}.project-info h3{color:#333;color:var(--text-color);margin-bottom:.5rem}.project-info p{color:#6c757d;color:var(--secondary-color);line-height:1.6;margin-bottom:1rem}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{background-color:#f1f5fe;background-color:var(--highlight-bg);border-radius:15px;color:#4a6cf7;color:var(--primary-color);font-size:.8rem;font-weight:500;padding:.25rem .75rem}.services-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:3rem}.calculator-card,.service-card{background-color:#f8f9fa;background-color:var(--card-bg);border-radius:10px;box-shadow:0 5px 15px #0000000d;box-shadow:var(--shadow);padding:2rem;transition:all .3s ease;transition:var(--transition)}.service-card:hover{box-shadow:0 10px 25px #0000001a;transform:translateY(-5px)}.calculator-card{border:2px solid #4a6cf7;border:2px solid var(--primary-color)}.calculator-form{gap:1.5rem}.calculator-form,.checkbox-group{display:flex;flex-direction:column}.checkbox-group{gap:.5rem}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-weight:500;gap:.5rem}.checkbox-label input[type=checkbox]{height:18px;width:18px}.estimate-result{background-color:#f1f5fe;background-color:var(--highlight-bg);border-radius:8px;padding:1.5rem;text-align:center}.estimate-result h4{color:#333;color:var(--text-color);margin-bottom:1rem}.cost-display{align-items:center;display:flex;flex-direction:column;gap:.5rem}#estimatedCost{color:#4a6cf7;color:var(--primary-color);font-size:2rem;font-weight:700}.cost-note{color:#6c757d;color:var(--secondary-color);font-size:.9rem;font-style:italic}select{background-color:#fff;background-color:var(--background-color);border:1px solid #e9ecef;border:1px solid var(--border-color);border-radius:5px;color:#333;color:var(--text-color);font-size:1rem;padding:12px;transition:all .3s ease;transition:var(--transition);width:100%}select:focus{border-color:#4a6cf7;border-color:var(--primary-color);box-shadow:0 0 0 2px #4a6cf733;outline:none}.contact-container{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:1fr 2fr;margin:0 auto;max-width:1000px}.contact-info{display:flex;flex-direction:column;gap:2rem}.contact-item{align-items:center;display:flex;gap:1rem}.contact-item i{color:#4a6cf7;color:var(--primary-color);font-size:1.5rem;text-align:center;width:40px}.contact-form{background-color:#f8f9fa;background-color:var(--card-bg);border-radius:10px;box-shadow:0 5px 15px #0000000d;box-shadow:var(--shadow);padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#333;color:var(--text-color);display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group textarea{background-color:#fff;background-color:var(--background-color);border:1px solid #e9ecef;border:1px solid var(--border-color);border-radius:5px;color:#333;color:var(--text-color);font-size:1rem;padding:12px;transition:all .3s ease;transition:var(--transition);width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#4a6cf7;border-color:var(--primary-color);box-shadow:0 0 0 2px #4a6cf733;outline:none}.footer{background-color:#f8f9fa;background-color:var(--card-bg);border-top:1px solid #e9ecef;border-top:1px solid var(--border-color);margin-top:auto;padding:2rem 5%;text-align:center}.footer-content{color:#6c757d;color:var(--secondary-color)}.game-container{align-items:center;display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:800px}#gameCanvas,#runnerCanvas{background-color:#fff;background-color:var(--background-color);border:2px solid #e9ecef;border:2px solid var(--border-color);border-radius:8px;height:auto;max-width:100%}.game-controls{display:flex;flex-direction:column;gap:1rem;max-width:400px;width:100%}.game-info{color:#333;color:var(--text-color);display:flex;font-weight:600;justify-content:space-between;padding:1rem}.game-info,.game-instructions{background-color:#f8f9fa;background-color:var(--card-bg);border-radius:8px}.game-instructions{margin-top:1rem;padding:1.5rem}.game-instructions h3{color:#333;color:var(--text-color);margin-bottom:1rem}.game-instructions ul{list-style:none;padding:0}.game-instructions li{color:#6c757d;color:var(--secondary-color);margin-bottom:.5rem;padding-left:1.5rem;position:relative}.game-instructions li:before{color:#4a6cf7;color:var(--primary-color);content:"•";font-weight:700;left:0;position:absolute}.power-up-list{margin-left:1rem;margin-top:.5rem}.power-up-list li{font-size:.9rem;margin-bottom:.25rem}.power-up-list li:before{content:""}.power-up{border-radius:50%;display:inline-block;height:12px;margin-right:.5rem;width:12px}.power-up.gold{background-color:gold}.power-up.green{background-color:#28a745}.power-up.red{background-color:#dc3545}.game-section{padding:2rem 0}.game-header{gap:1rem;margin-bottom:2rem}.back-btn,.game-header{align-items:center;display:flex}.back-btn{background-color:#6c757d;background-color:var(--secondary-color);border:none;border-radius:5px;color:#fff;cursor:pointer;gap:.5rem;padding:8px 16px;transition:all .3s ease;transition:var(--transition)}.back-btn i{font-size:.9rem}.game-header h3{color:#333;color:var(--text-color);margin:0}.game-card .project-image{height:250px}.game-card .project-image img{object-fit:cover}.sudoku-container{align-items:center;display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:600px}.sudoku-controls{background-color:#f8f9fa;background-color:var(--card-bg);border-radius:8px;display:flex;flex-direction:column;gap:1rem;padding:1.5rem;width:100%}.difficulty-selector{margin-bottom:1rem;text-align:center}.difficulty-selector h4{color:#333;color:var(--text-color);margin-bottom:1rem}.difficulty-buttons,.game-buttons{display:flex;gap:1rem;justify-content:center}.game-buttons{flex-wrap:wrap}.timer{background-color:#f1f5fe;background-color:var(--highlight-bg);border-radius:5px;color:#4a6cf7;color:var(--primary-color);font-size:1.2rem;font-weight:600;padding:.5rem;text-align:center}.sudoku-board{background-color:#f8f9fa;background-color:var(--card-bg);border-radius:8px;box-shadow:0 5px 15px #0000000d;box-shadow:var(--shadow);padding:1.5rem}#sudokuGrid{grid-gap:1px;background-color:#e9ecef;background-color:var(--border-color);border:2px solid #e9ecef;border:2px solid var(--border-color);border-radius:5px;display:grid;gap:1px;grid-template-columns:repeat(9,1fr);margin:0 auto;max-width:450px}.sudoku-cell{aspect-ratio:1;background-color:#fff;background-color:var(--background-color);border:none;color:#333;color:var(--text-color);cursor:pointer;font-size:1.2rem;font-weight:600;text-align:center;transition:all .3s ease;transition:var(--transition)}.sudoku-cell:nth-child(3n){border-right:2px solid #e9ecef;border-right:2px solid var(--border-color)}.sudoku-cell:nth-child(9n){border-right:none}.sudoku-cell:nth-child(n+19):nth-child(-n+27),.sudoku-cell:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid #e9ecef;border-bottom:2px solid var(--border-color)}.sudoku-cell.highlighted,.sudoku-cell.selected{background-color:#f1f5fe;background-color:var(--highlight-bg)}.sudoku-cell{outline:none}.sudoku-cell.fixed{background-color:#f8f9fa;background-color:var(--card-bg);color:#4a6cf7;color:var(--primary-color);cursor:not-allowed;font-weight:700}.sudoku-cell:hover:not(.fixed){background-color:#f1f5fe;background-color:var(--highlight-bg)}.sudoku-cell.highlighted{background-color:#4a6cf71a}.sudoku-cell.error{animation:shake .5s ease-in-out}@keyframes cellComplete{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.sudoku-cell.completed{animation:cellComplete .3s ease-in-out}@media screen and (max-width:768px){.sudoku-cell{font-size:1rem}}.number-pad{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(5,1fr);margin:0 auto;max-width:300px}.number-btn{aspect-ratio:1;background-color:#f8f9fa;background-color:var(--card-bg);border:1px solid #e9ecef;border:1px solid var(--border-color);border-radius:5px;color:#333;color:var(--text-color);cursor:pointer;font-size:1.2rem;font-weight:600;transition:all .3s ease;transition:var(--transition)}.number-btn:hover{transform:scale(1.05)}.number-btn.clicked,.number-btn:hover{background-color:#4a6cf7;background-color:var(--primary-color);color:#fff}.number-btn.clicked{transform:scale(.95)}.difficulty-btn.active{background-color:#4a6cf7;background-color:var(--primary-color);color:#fff}.sudoku-cell.completed{background-color:#e8f5e8;color:#2e7d32}@keyframes completeCell{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.sudoku-container .game-instructions{margin-top:2rem;text-align:left}.sudoku-container .game-instructions h3{color:#333;color:var(--text-color);margin-bottom:1rem}.sudoku-container .game-instructions ul{list-style:none;padding:0}.sudoku-container .game-instructions li{color:#6c757d;color:var(--secondary-color);margin-bottom:.5rem;padding-left:1.5rem;position:relative}.sudoku-container .game-instructions li:before{color:#4a6cf7;color:var(--primary-color);content:"•";font-weight:700;left:0;position:absolute}.sudoku-cell.highlight{background-color:#4a6cf71a}.sudoku-cell.selected{background-color:#4a6cf7;background-color:var(--primary-color);box-shadow:0 0 0 2px #4a6cf74d;color:#fff}.sudoku-cell.error{background-color:#ffebee;color:#d32f2f}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@media screen and (max-width:768px){.game-message{padding:.75rem}.game-message,.sudoku-container .game-instructions{font-size:.9rem}}.game-message.error{background-color:#ffebee;border:1px solid #ffcdd2;color:#d32f2f}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media screen and (max-width:992px){.contact-container,.skills-container{grid-template-columns:1fr}.game-container{flex-direction:column}#runnerCanvas{max-width:100%}}@media screen and (max-width:768px){.hero{flex-direction:column;text-align:center}.hero-content{order:2}.cta-buttons{justify-content:center}.nav-links{align-items:center;background-color:#fff;background-color:var(--nav-bg);box-shadow:0 5px 15px #0000000d;box-shadow:var(--shadow);flex-direction:column;height:calc(100vh - 70px);justify-content:flex-start;left:-100%;padding-top:2rem;position:fixed;top:70px;transition:all .3s ease;transition:var(--transition);width:100%}.nav-links.active{left:0}.nav-link{font-size:1.2rem;margin:1rem 0}.footer-content{font-size:.9rem}.projects-grid{grid-template-columns:1fr}.game-header{align-items:flex-start;flex-direction:column;gap:1rem}.back-btn{align-self:flex-start}}@media screen and (max-width:576px){.projects-grid{grid-template-columns:1fr}.hero-content h1{font-size:2rem}}.notification{background-color:#f8f9fa;background-color:var(--card-bg);border-radius:8px;box-shadow:0 5px 15px #0000000d;box-shadow:var(--shadow);color:#333;color:var(--text-color);max-width:300px;padding:1rem 1.5rem;position:fixed;right:20px;top:20px;transform:translateX(100%);transition:transform .3s ease;z-index:1000}.notification.show{transform:translateX(0)}.notification.error{background-color:#ffebee;border-left:4px solid #d32f2f;color:#d32f2f}.notification.success{background-color:#e8f5e8;border-left:4px solid #2e7d32;color:#2e7d32}.nav-controls{align-items:center;display:flex;gap:1rem}.mobile-menu-btn.active .bar:first-child{transform:rotate(45deg) translate(5px,5px)}.mobile-menu-btn.active .bar:nth-child(2){opacity:0}.mobile-menu-btn.active .bar:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.service-features{list-style:none;margin:1rem 0;padding:0}.service-features li{align-items:center;color:#6c757d;color:var(--secondary-color);display:flex;gap:.5rem;margin-bottom:.5rem}.service-features li i{font-size:.9rem}.service-features li i,.service-icon{color:#4a6cf7;color:var(--primary-color)}.service-icon{font-size:2rem;margin-bottom:1rem;text-align:center}.pricing-note{background-color:#f8f9fa;background-color:var(--card-bg);border-radius:8px;color:#6c757d;color:var(--secondary-color);margin-top:2rem;padding:1.5rem;text-align:center}@media screen and (max-width:768px){.nav-controls{gap:.5rem}.mobile-menu-btn{display:flex}.nav-links{align-items:center;background-color:#fff;background-color:var(--nav-bg);box-shadow:0 5px 15px #0000000d;box-shadow:var(--shadow);flex-direction:column;height:calc(100vh - 70px);justify-content:flex-start;left:-100%;padding-top:2rem;position:fixed;top:70px;transition:all .3s ease;transition:var(--transition);width:100%;z-index:999}.nav-links.active{left:0}.nav-link{font-size:1.2rem;margin:1rem 0}.contact-container,.services-container{grid-template-columns:1fr}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{background-color:#282c34;color:#fff;padding:20px}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.1464c837.css.map*/