:root{--primary-color:#2b6ad0;--secondary-color:#1f4591;--background-color:#fff;--text-color:#1a1a1a;--text-secondary:#666;--card-background:#fafafa;--border-color:#e5e5e5;--header-background:#fff;--header-text:#1a1a1a;--section-padding:80px;--section-padding-mobile:40px;--card-padding:32px;--card-gap:32px;--max-width:1200px}[data-theme=dark]{--primary-color:#68a4f1;--secondary-color:#2b6ad0;--background-color:#0d1117;--text-color:#e6edf3;--text-secondary:#8b949e;--card-background:#161b22;--border-color:#30363d;--header-background:#010409;--header-text:#e6edf3}body,html{-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;padding:0}#root,body,html{height:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.home-container{background-color:var(--background-color);color:var(--text-color);margin:0 auto;max-width:var(--max-width);overflow-x:hidden;padding:var(--section-padding) 40px;transition:background-color .3s ease,color .3s ease;width:100%}.hero-section{padding:60px 0 var(--section-padding) 0;text-align:center}.hero-text{margin:0 auto;max-width:800px;width:100%}.hero-text h1{color:var(--text-color);font-size:3.5rem;font-weight:700;line-height:1.2;margin-bottom:16px}.hero-tagline,.hero-text h1{word-wrap:break-word;overflow-wrap:break-word}.hero-tagline{color:var(--primary-color);font-size:1.5rem;font-weight:600;margin-bottom:24px}.hero-intro{word-wrap:break-word;color:var(--text-secondary);font-size:1.125rem;line-height:1.7;margin-bottom:40px;margin-left:auto;margin-right:auto;max-width:700px;overflow-wrap:break-word}.hero-links{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.hero-link{align-items:center;border:2px solid var(--border-color);border-radius:4px;color:var(--text-color)!important;display:inline-flex;font-weight:500;gap:8px;padding:10px 20px;text-decoration:none;transition:all .2s ease}.hero-link:hover{border-color:var(--primary-color);color:var(--primary-color)!important}.cta-button{background-color:var(--primary-color);border-radius:4px;color:#fff!important;display:inline-block;font-weight:600;padding:12px 32px;text-decoration:none;transition:background-color .2s ease}.cta-button:hover{background-color:var(--secondary-color)}.experience-brief{border-top:1px solid var(--border-color);padding:var(--section-padding) 0}.experience-brief h2{color:var(--text-color);font-size:2.5rem;font-weight:700;margin-bottom:48px;text-align:center}.timeline{margin:0 auto;max-width:800px}.timeline-item{grid-gap:32px;border-bottom:1px solid var(--border-color);display:grid;gap:32px;grid-template-columns:180px 1fr;margin-bottom:48px;padding-bottom:48px}.timeline-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.timeline-date{color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.timeline-content h3{color:var(--text-color);font-size:1.5rem;font-weight:600;margin-bottom:4px}.timeline-content>p{color:var(--primary-color);font-size:1.125rem;font-weight:500;margin-bottom:12px}.timeline-description{color:var(--text-secondary)!important;font-size:1rem;line-height:1.6;margin-bottom:0!important}.projects-preview{background-color:var(--card-background);border-radius:8px;margin-top:var(--section-padding);padding:var(--section-padding) 40px;text-align:center;transition:background-color .3s ease}.projects-preview h2{color:var(--text-color);font-size:2.5rem;font-weight:700;margin-bottom:20px}.projects-preview p{color:var(--text-secondary);font-size:1.125rem;line-height:1.7;margin-bottom:32px;margin-left:auto;margin-right:auto;max-width:700px}@media (max-width:768px){.home-container{padding:var(--section-padding-mobile) 20px}.hero-section{padding:40px 0 var(--section-padding-mobile) 0;width:100%}.hero-text{padding:0;width:100%}.hero-text h1{font-size:2.5rem}.hero-tagline{font-size:1.25rem}.hero-intro{font-size:1rem;width:100%}.hero-links{align-items:stretch;flex-direction:column}.cta-button,.hero-link{justify-content:center;text-align:center;width:100%}.experience-brief{padding:var(--section-padding-mobile) 0}.experience-brief h2{font-size:2rem;margin-bottom:32px}.timeline-item{gap:12px;grid-template-columns:1fr;margin-bottom:32px;padding-bottom:32px}.timeline-date{font-size:.75rem}.timeline-content h3{font-size:1.25rem}.timeline-content>p{font-size:1rem}.projects-preview{margin-top:var(--section-padding-mobile);padding:var(--section-padding-mobile) 20px}.projects-preview h2{font-size:2rem}.projects-preview p{font-size:1rem}}@media (max-width:480px){.home-container{padding:var(--section-padding-mobile) 16px}.hero-text h1{font-size:2rem}.hero-tagline{font-size:1.125rem}.hero-intro{font-size:.9375rem}.projects-preview{padding:var(--section-padding-mobile) 16px}}:root{--heatmap-empty:#ebedf0;--heatmap-light:#9be9a8;--heatmap-medium:#40c463;--heatmap-high:#30a14e;--heatmap-highest:#216e39}[data-theme=dark]{--heatmap-empty:#161b22;--heatmap-light:#0e4429;--heatmap-medium:#006d32;--heatmap-high:#26a641;--heatmap-highest:#39d353}.contribution-heatmap{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:12px;margin:40px 0;padding:24px;transition:background-color .3s ease,border-color .3s ease}.heatmap-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.heatmap-header h3{color:var(--primary-color);font-size:1.5em;margin:0}.contribution-stats{display:flex;flex-wrap:wrap;gap:20px}.stat{color:var(--text-color);font-size:.9em}.github-link,.stat strong{color:var(--primary-color)}.github-link{text-decoration:none;transition:color .2s ease}.github-link:hover{color:var(--secondary-color)}.error-message{color:#e74c3c;font-size:.9em;margin:5px 0}.heatmap-container{padding-bottom:10px;width:100%}.month-labels{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));margin-bottom:8px;margin-left:64px}.month-label{color:var(--text-color);font-size:12px;opacity:.7;text-align:left}.heatmap-grid{display:flex;gap:3px}.day-labels{display:flex;flex-direction:column;height:112px;justify-content:space-between;margin-right:8px;min-width:56px}.day-label{align-items:center;color:var(--text-color);display:flex;font-size:12px;height:14px;opacity:.7}.weeks-container{grid-gap:3px;display:grid;flex:1 1;gap:3px;grid-template-columns:repeat(53,1fr);max-width:calc(100% - 72px)}.week{display:flex;flex-direction:column;gap:3px;min-width:0}.contribution-day{aspect-ratio:1;border:1px solid #0000;border-radius:2px;cursor:pointer;max-height:14px;max-width:14px;transition:all .2s ease;width:100%}.contribution-day:hover{border-color:var(--primary-color);transform:scale(1.1)}.heatmap-legend{align-items:center;display:flex;gap:4px;justify-content:flex-end;margin-top:16px}.legend-label{color:var(--text-color);font-size:12px;margin:0 4px;opacity:.7}.legend-colors{display:flex;gap:3px}.legend-color{border-radius:2px;height:12px;width:12px}@media (max-width:768px){.contribution-heatmap{margin:20px 0;padding:16px}.heatmap-header{align-items:flex-start;flex-direction:column;gap:10px}.heatmap-header h3{font-size:1.3em}.contribution-stats{gap:15px}.stat{font-size:.85em}.month-labels{margin-left:48px}.day-labels{margin-right:6px;min-width:40px}.day-label,.month-label{font-size:10px}.month-label{min-width:48px}.contribution-day,.legend-color{height:10px;width:10px}.legend-label{font-size:10px}}@media (max-width:480px){.contribution-heatmap{overflow-x:hidden;padding:12px 8px}.heatmap-container{overflow-x:hidden;width:100%}.heatmap-header{margin-bottom:16px;padding:0 8px}.heatmap-header h3{font-size:1.3em}.contribution-stats{align-items:flex-start;flex-direction:column;gap:8px}.stat{font-size:.85em}.heatmap-grid{overflow-x:hidden;padding:0 4px}.weeks-container{gap:1.5px;grid-template-columns:repeat(53,minmax(0,1fr));max-width:calc(100% - 36px)}.week{gap:1.5px}.contribution-day{aspect-ratio:1;max-height:100%;max-width:100%;min-width:0;width:100%}.month-labels{grid-template-columns:repeat(53,minmax(0,1fr));margin-left:36px;padding:0 4px}.day-labels{flex-shrink:0;height:auto;margin-right:4px;min-width:28px}.day-label{font-size:8px;height:auto}.heatmap-legend{padding:0 8px}}.projects-container{background-color:var(--background-color);color:var(--text-color);margin:0 auto;max-width:var(--max-width);padding:var(--section-padding) 40px;transition:background-color .3s ease,color .3s ease}.projects-container h2{color:var(--text-color);font-size:2.5rem;font-weight:700;margin-bottom:16px;text-align:left}.projects-intro{color:var(--text-secondary);font-size:1.125rem;margin-bottom:60px;text-align:left}.project{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:8px;margin-bottom:var(--card-gap);padding:var(--card-padding);text-align:left;transition:transform .2s ease-in-out,background-color .3s ease,border-color .3s ease}.project:hover{border-color:var(--primary-color);transform:translateY(-2px)}.project h3{color:var(--text-color);font-size:1.75rem;font-weight:600;margin-bottom:12px}.project-description{color:var(--text-color);font-size:1.125rem;line-height:1.6;margin-bottom:16px}.project-impact{background-color:var(--background-color);border-left:3px solid var(--primary-color);border-radius:4px;color:var(--text-secondary);font-size:1rem;margin-bottom:20px;padding:12px 16px}.project-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px}.project-link{align-items:center;background-color:var(--primary-color);border-radius:4px;color:#fff!important;display:inline-flex;font-weight:500;gap:8px;padding:10px 20px;text-decoration:none;transition:background-color .2s ease}.project-link:hover{background-color:var(--secondary-color)}.technologies{margin-top:24px}.technologies h4{color:var(--text-secondary);font-size:1rem;font-weight:600;letter-spacing:.05em;margin-bottom:12px;text-transform:uppercase}.technologies ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}.technologies li{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);font-size:.875rem;font-weight:500;padding:8px 14px;transition:border-color .2s ease}.technologies li:hover{border-color:var(--primary-color)}.media{margin-top:32px}.media h4{color:var(--text-secondary);font-size:1rem;font-weight:600;letter-spacing:.05em;margin-bottom:16px;text-transform:uppercase}.media img{border:1px solid var(--border-color);border-radius:8px;height:auto;max-width:100%}@media (max-width:768px){.projects-container{padding:var(--section-padding-mobile) 20px}.projects-container h2{font-size:2rem}.project{padding:24px}.project h3{font-size:1.5rem}.project-description{font-size:1rem}.project-links{flex-direction:column}.project-link{justify-content:center;width:100%}}@media (max-width:480px){.projects-container{padding:var(--section-padding-mobile) 16px}.project{padding:20px}.project h3{font-size:1.25rem}}.carousel-container{margin:10px auto;max-width:60%;position:relative}.carousel-wrapper{border-radius:5px;overflow:hidden}.carousel-slide,.carousel-wrapper{align-items:center;display:flex;justify-content:center;position:relative}.carousel-slide{height:400px;width:100%}.carousel-image{border-radius:5px!important;display:block!important;height:400px!important;object-fit:contain!important;object-position:center!important;width:100%!important}.carousel-caption{bottom:10px;color:#fff;font-size:14px;left:0;padding:5px 15px;position:absolute;right:0;text-align:center;text-shadow:2px 2px 4px #000c}.carousel-button{align-items:center;background:#ffffffe6;border:none;border-radius:50%;box-shadow:0 2px 8px #0003;color:#333;cursor:pointer;display:flex;font-size:18px;height:35px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease;width:35px;z-index:10}.carousel-button:hover{background:#fff;transform:translateY(-50%) scale(1.05)}.carousel-button.prev{left:8px}.carousel-button.next{right:8px}.carousel-dots{display:flex;gap:8px;justify-content:center;margin-top:15px}.carousel-dot{background:var(--text-secondary);border:none;border-radius:50%;cursor:pointer;height:12px;opacity:.5;transition:all .3s ease;width:12px}.carousel-dot:hover{opacity:.8;transform:scale(1.2)}.carousel-dot.active{background:var(--accent-color);opacity:1;transform:scale(1.3)}@media (max-width:768px){.carousel-container{max-width:90%}.carousel-slide{height:250px}.carousel-button{font-size:16px;height:30px;width:30px}.carousel-button.prev{left:5px}.carousel-button.next{right:5px}.carousel-caption{font-size:12px;padding:10px 8px 8px}.carousel-dot{height:10px;width:10px}}.contact-container{align-items:center;background-color:var(--background-color);border-radius:60px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start;margin:20px auto;padding:20px;text-align:center;width:80%}.contact-container h2{color:var(--primary-color);margin-bottom:20px}.contact-form{align-items:center;gap:15px;max-width:600px}.contact-form,.form-group{display:flex;flex-direction:column;width:100%}.form-group label{color:var(--primary-color);margin-bottom:5px}.form-group input,.form-group textarea{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:5px;box-sizing:border-box;color:var(--text-color);font-size:16px;padding:10px;transition:border-color .3s ease,background-color .3s ease;width:100%}.form-group textarea{resize:vertical}button[type=submit]{background-color:var(--primary-color);border:none;border-radius:5px;color:#fff;cursor:pointer;padding:10px 20px;transition:background-color .3s}button[type=submit]:hover{background-color:var(--secondary-color)}.contact-info{margin-top:20px;text-align:center}.contact-info h3{color:var(--primary-color)}.contact-info p{color:var(--text-color);margin:5px 0}.contact-info a{color:var(--primary-color);text-decoration:none}.contact-info a:hover{text-decoration:underline}.alert{border-radius:5px;margin-top:20px;max-width:600px;padding:10px;text-align:center;width:100%}.alert-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.alert-failed{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}@media (max-width:768px){.contact-container{min-height:auto;width:95%}}@media (min-width:769px){.contact-container{min-height:auto}}@media (orientation:landscape){.contact-container{min-height:auto}}.header-container{align-items:center;background-color:var(--header-background);color:var(--header-text);display:flex;justify-content:space-between;padding:15px 30px;transition:background-color .3s ease,color .3s ease}.header-container h1{font-size:24px;margin:0}.nav{display:flex;gap:20px}.nav-link{color:var(--header-text);position:relative;text-decoration:none;transition:color .3s ease}.nav-link.active:after{background-color:var(--primary-color);bottom:-5px;content:"";display:block;height:2px;left:0;position:absolute;width:100%}.header-controls{align-items:center;display:flex;gap:15px}.mobile-menu-icon{color:var(--header-text);cursor:pointer;display:none;font-size:24px}@media (max-width:768px){.nav{align-items:center;background-color:var(--header-background);flex-direction:column;height:100vh;justify-content:center;position:fixed;right:-100%;top:0;transition:right .3s ease-in-out;width:200px;z-index:1100}.nav.active{right:0}.mobile-menu-icon{display:block}}.footer-container{background-color:var(--primary-color);bottom:0;color:#fff;padding:20px;position:relative;text-align:center;transition:background-color .3s ease}.theme-toggle{align-items:center;background:var(--card-background);border:2px solid var(--text-color);border-radius:50%;bottom:20px;box-shadow:0 4px 12px #0003;cursor:pointer;display:flex;height:50px;justify-content:center;left:20px;padding:0;position:fixed;transition:all .3s ease;width:50px;z-index:1000}.theme-toggle:hover{background-color:var(--text-color);box-shadow:0 6px 16px #0000004d;color:var(--background-color);transform:scale(1.1)}.theme-toggle-icon{font-size:18px;line-height:1}.theme-toggle:focus{outline:2px solid var(--primary-color);outline-offset:2px}@media (max-width:768px){.theme-toggle{bottom:15px;height:45px;left:15px;width:45px}.theme-toggle-icon{font-size:16px}}.App{text-align:center}*{box-sizing:border-box}.app-container,body,html{max-width:100vw;overflow-x:hidden;width:100%}.app-container{background-color:var(--background-color);color:var(--text-color);display:flex;flex-direction:column;min-height:100vh;transition:background-color .3s ease,color .3s ease}.content{display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:0}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.bb9914c4.css.map*/