.header{background-color:var(--background-dark);color:var(--text-light);padding:20px 40px;display:flex;justify-content:center;align-items:center;box-shadow:0 2px 10px #0000001a;width:100%;box-sizing:border-box;min-width:0;transition:transform .3s ease-in-out;position:fixed;top:0;z-index:1000}.header.hide-header{transform:translateY(-100%)}.header.show-header{transform:translateY(0)}.header-top-row{display:flex;justify-content:space-between;align-items:center;max-width:1200px;width:100%}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;width:100%;min-width:0}.header h1{margin:0;font-size:2em;color:var(--primary-color);min-width:0}.nav-menu{display:block;position:static;max-height:none;width:auto;flex-grow:1;display:flex;justify-content:center}.menu-toggle{display:none;background:none;border:none;font-size:2em;color:var(--text-light);cursor:pointer;padding:5px;z-index:20}.nav-links{list-style:none;margin:0;padding:0;display:flex;gap:30px;flex-wrap:wrap;min-width:0}.nav-links li{min-width:0}.nav-links li a{color:var(--text-light);font-size:1.1em;font-weight:700;transition:color .3s ease;padding-bottom:5px;position:relative;white-space:nowrap;text-decoration:none}.nav-links li a:hover{color:var(--primary-color);text-decoration:none}.nav-links li a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:3px;background-color:var(--primary-color);transition:width .3s ease-in-out}.nav-links li a:hover:after{width:100%}.nav-links li a .fab{font-size:1.5em;vertical-align:middle;margin:0 5px}.nav-links li a[aria-label=GitHub],.nav-links li a[aria-label=YouTube]{color:var(--text-light)}.nav-links li a[aria-label=GitHub]:hover,.nav-links li a[aria-label=YouTube]:hover{color:var(--primary-color);text-decoration:none}.nav-links li a[aria-label=GitHub]:hover:after,.nav-links li a[aria-label=YouTube]:hover:after{width:0}@media (max-width: 992px){.header{padding:15px 30px}}@media (max-width: 768px){.header{flex-direction:column;align-items:center;padding:15px 10px;top:0}.header-top-row{width:100%;padding:0 10px;margin-bottom:0}.header-content{flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.header h1{font-size:1.8em}.menu-toggle{display:block}.nav-menu{top:100%;left:0;width:100%;background-color:var(--background-dark);box-shadow:0 4px 8px #0003;overflow:hidden;max-height:0;transition:max-height .4s ease-out;z-index:15;flex-grow:0}.nav-menu.is-open{max-height:400px}.nav-links{flex-direction:column;gap:15px;width:100%;align-items:center;padding:20px 0}.nav-links li{width:100%;text-align:center}.nav-links li a{font-size:1em;display:block;padding:5px 0}.nav-links li a .fab{font-size:1.8em;margin:0}}.about-section{display:flex;flex-direction:row;align-items:center;gap:50px;padding:60px 0;max-width:1200px;margin:0 auto}.about-content{flex:2;padding-right:20px}.about-content h2{font-size:2.8em;color:var(--text-dark);margin-bottom:25px;text-align:left}.about-content p{font-size:1.15em;line-height:1.8;color:var(--text-medium);margin-bottom:15px}.about-content p strong{color:var(--primary-color)}.about-image-container{flex:1;display:flex;justify-content:center;align-items:center}.profile-image{width:300px;height:300px;border-radius:50%;object-fit:cover;border:2px solid var(--primary-color);box-shadow:0 8px 20px #00000026;transition:transform .3s ease}.profile-image:hover{transform:scale(1.03)}@media (max-width: 992px){.about-section{flex-direction:column;gap:30px;padding:40px 20px}.about-content{padding-right:0;text-align:center}.about-content h2{text-align:center;font-size:2.5em}.about-image-container{order:-1;margin-bottom:20px}.profile-image{width:200px;height:200px}}@media (max-width: 576px){.about-content h2{font-size:2em}.about-content p{font-size:1em}}.module-card{background-color:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px var(--shadow-light);transition:transform .3s ease,box-shadow .3s ease;padding:25px;display:flex;flex-direction:column;justify-content:space-between;flex-basis:calc(50% - 15px);flex-shrink:0;flex-grow:0;box-sizing:border-box;min-width:0}.module-card:hover{transform:translateY(-5px);box-shadow:0 6px 16px var(--shadow-medium)}.module-card h3{color:var(--text-dark);font-size:1.8em;margin-top:0;margin-bottom:15px;text-align:center}.module-card p{color:var(--secondary-color);font-size:1.1em;line-height:1.6;margin-bottom:20px;flex-grow:1;white-space:pre-wrap}.tech-chips-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;margin-bottom:20px;justify-content:center}.module-link{display:inline-block;background-color:var(--primary-color);color:#fff;padding:12px 20px;border-radius:5px;text-decoration:none;font-weight:700;transition:background-color .3s ease;align-self:center;margin-top:auto}.module-link:hover{background-color:#0056b3}@media (max-width: 768px){.module-card{flex-basis:100%}.module-card h3{font-size:1.8em}.module-card p{font-size:1.1em}}.tech-chip{display:inline-flex;align-items:center;padding:5px 12px;border-radius:20px;font-size:.85em;font-weight:700;margin:4px;white-space:nowrap;box-shadow:0 1px 3px #0000001a;transition:transform .2s ease}.tech-chip:hover{transform:translateY(-2px)}.tech-chip-icon{height:1em;width:1em;margin-right:5px;vertical-align:middle}.youtube-video-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #0000000d;transition:transform .3s ease,box-shadow .3s ease;padding:20px;display:flex;flex-direction:column}.youtube-video-card:hover{transform:translateY(-5px);box-shadow:0 6px 16px #00000014}.youtube-video-card h3{color:#282c34;font-size:1.6em;margin-top:0;margin-bottom:20px;text-align:center}.video-responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:5px}.youtube-videos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:30px;margin-top:30px}.tech-chips-container{display:flex;flex-wrap:wrap;gap:5px;margin-top:15px;margin-bottom:20px}@media (max-width: 768px){.youtube-videos-grid{grid-template-columns:1fr}.youtube-video-card{padding:15px}.youtube-video-card h3{font-size:1.4em}}.footer{background-color:#282c34;color:#a0a0a0;padding:30px 20px;text-align:center;margin-top:50px;border-top:1px solid #3a3f47}.footer-links{margin-top:15px}.footer-links a{color:#61dafb;text-decoration:none;margin:0 10px;font-size:.9em;transition:color .3s ease}.footer-links a:hover{color:#21a1f1}@media (max-width: 768px){.footer{padding:20px 15px}}.projects-description{font-size:1.15em;line-height:1.8;color:var(--text-medium);margin-bottom:15px;max-width:1000px;text-align:center;margin-left:auto;margin-right:auto}.projects-description strong{color:var(--primary-color)}.filter-chips-container{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px;margin-bottom:30px}.chip{background-color:var(--secondary-color);color:var(--text-light);padding:8px 15px;border-radius:20px;border:none;cursor:pointer;font-size:.9em;transition:background-color .3s ease,transform .2s ease,box-shadow .2s ease,opacity .3s ease,filter .3s ease;white-space:nowrap;outline:none;display:flex;align-items:center;gap:5px;opacity:.6;filter:grayscale(50%);border:1px solid rgba(255,255,255,.2)}.chip.active{box-shadow:0 4px 8px #0003;transform:translateY(-2px);opacity:1;filter:grayscale(0%);border:1px solid var(--primary-color)}.chip:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026;opacity:.8;filter:grayscale(25%)}.chip.active:hover{opacity:1;filter:grayscale(0%)}.reset-filters-button{display:block;margin:20px auto 40px;padding:10px 20px;background-color:#dc3545;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1em;transition:background-color .3s ease}.reset-filters-button:hover{background-color:#c82333}.show-more-container{display:flex;justify-content:center;margin-top:30px;margin-bottom:20px}.show-more-button{padding:12px 24px;background-color:var(--primary-color);color:#fff;border:none;border-radius:25px;cursor:pointer;font-size:1em;font-weight:500;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.show-more-button:hover{background-color:var(--primary-hover, #0056b3);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.show-more-button:active{transform:translateY(0);box-shadow:0 2px 8px #0000001a}.project-tech-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.project-tech-chip{background-color:#e9ecef;color:var(--text-dark);padding:4px 8px;border-radius:15px;font-size:.8em;white-space:nowrap;display:flex;align-items:center;gap:3px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:30px;width:100%}.project-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000014;padding:20px;display:flex;flex-direction:column;justify-content:space-between;min-height:200px}@media (max-width: 768px){.projects-description{font-size:1em;margin-bottom:10px}.chip{font-size:.85em;padding:7px 12px}.show-more-button{padding:10px 20px;font-size:.9em}.show-more-container{margin-top:25px}}.project-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #0000000d;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;min-width:0}.project-card img{max-width:100%;height:auto;display:block}.project-card:hover{transform:translateY(-5px);box-shadow:0 6px 16px #00000014}.project-image-container{width:100%;height:200px;overflow:hidden;border-bottom:1px solid #eee;margin-bottom:25px}.project-image{width:100%;height:100%;object-fit:cover}.project-content{padding:25px;display:flex;flex-direction:column;flex-grow:1}.project-content h3{color:#282c34;font-size:1.8em;margin-top:0;margin-bottom:10px}.technologies-section{display:flex;align-items:center;margin-bottom:15px}.technologies-label{font-weight:700;color:#333;font-size:.9em;margin:0 8px 0 0;flex-shrink:0;white-space:nowrap}.tech-chips-container{display:flex;flex-wrap:wrap;gap:5px;margin:0}.tech-chip{padding:4px 10px;border-radius:15px;font-size:.8em;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.tech-chip img{height:.9em;width:.9em;margin-bottom:0}.project-content p{color:#555;font-size:1.1em;line-height:1.6;margin-top:0;margin-bottom:20px;flex-grow:1}.project-links{display:flex;gap:15px;margin-top:auto}.project-link{display:inline-block;padding:10px 20px;border-radius:5px;text-decoration:none;font-weight:700;transition:background-color .3s ease}.github-link{background-color:#333;color:#fff}.github-link:hover{background-color:#555}.demo-link{background-color:#007bff;color:#fff}.demo-link:hover{background-color:#0056b3}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minminmax(300px,1fr));gap:30px;margin-top:30px}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr}}.contact-section{padding:60px 0;max-width:800px;margin:0 auto;text-align:center}.contact-section h2{font-size:2.8em;color:var(--text-dark);margin-bottom:25px}.intro-paragraph{font-size:1.15em;line-height:1.8;color:var(--text-medium);margin-bottom:40px;max-width:600px;margin-left:auto;margin-right:auto}.contact-form{display:flex;flex-direction:column;gap:20px;background-color:#fff;padding:40px;border-radius:10px;box-shadow:0 5px 20px #0000001a;border:1px solid #e0e0e0}.form-group{text-align:left;margin-bottom:10px}.form-group label{display:block;font-size:1em;color:var(--text-dark);margin-bottom:8px;font-weight:700}.form-group input[type=text],.form-group input[type=email],.form-group textarea{width:100%;padding:12px 15px;border:1px solid #ccc;border-radius:8px;font-size:1.05em;color:var(--text-dark);background-color:#f9f9f9;transition:border-color .3s ease,box-shadow .3s ease;box-sizing:border-box}.form-group input[type=text]:focus,.form-group input[type=email]:focus,.form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #007bff40;outline:none}.error-message{color:#e74c3c;font-size:.85em;margin-top:5px;margin-bottom:0;text-align:left}.form-group input[type=email].error{border-color:#e74c3c;box-shadow:0 0 0 3px #e74c3c40}.form-group textarea{resize:vertical;min-height:120px}.submit-button{background-color:var(--primary-color);color:#fff;padding:15px 30px;border:none;border-radius:8px;font-size:1.1em;font-weight:700;cursor:pointer;transition:background-color .3s ease,transform .2s ease;align-self:center;margin-top:20px}.submit-button:hover{background-color:#0056b3;transform:translateY(-2px)}@media (max-width: 768px){.contact-section{padding:40px 20px}.contact-form{padding:25px}.contact-section h2{font-size:2.5em}.intro-paragraph{font-size:1em}.submit-button{padding:12px 25px;font-size:1em}}:root{--primary-color: #007bff;--secondary-color: #6c757d;--background-light: #f8f9fa;--background-dark: #282c34;--text-dark: #212529;--text-light: #f8f9fa;--border-color: #e0e0e0;--shadow-light: rgba(0, 0, 0, .05);--shadow-medium: rgba(0, 0, 0, .08);--youtube-red: #FF0000;--youtube-red-dark: #CC0000}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;overflow-x:hidden;font-family:Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background-light);color:var(--text-dark);line-height:1.6}#root,.app-container{display:flex;flex-direction:column;min-height:100vh;width:100%;overflow-x:hidden}.main-content{flex:1;max-width:1200px;margin:20px auto;padding:80px 20px 0;width:100%;overflow-x:hidden}section{padding:40px 0;margin-bottom:40px;border-bottom:1px solid var(--border-color)}section:last-child{border-bottom:none;margin-bottom:0}h2{font-size:2.5em;color:var(--text-dark);text-align:center;margin-bottom:40px;position:relative}h2:after{content:"";display:block;width:60px;height:4px;background-color:var(--primary-color);margin:10px auto 0;border-radius:2px}a{color:var(--primary-color);text-decoration:none}a:hover{text-decoration:underline}.projects-grid,.youtube-videos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:30px;width:100%}.project-card,.youtube-video-card{min-width:0;width:100%}.video-responsive{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.video-responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.youtube-channel-link{display:inline-block;background-color:var(--youtube-red);color:#fff;padding:12px 25px;border-radius:8px;text-decoration:none;font-weight:700;font-size:1.1em;transition:background-color .3s ease}.youtube-channel-link:hover{background-color:var(--youtube-red-dark)}.carousel-container{position:relative;display:flex;align-items:center;width:100%;max-width:900px;margin:0 auto;padding:0 80px}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);background-color:#0009;border:none;padding:5px;cursor:pointer;z-index:10;border-radius:50%;display:flex;justify-content:center;align-items:center;transition:background-color .3s ease}.carousel-arrow:hover{background-color:#000c}.carousel-arrow img{width:28px;height:28px;filter:invert(1)}.left-arrow{left:10px}.right-arrow{right:10px}.modules-carousel-wrapper{flex:1;overflow:hidden;box-sizing:border-box;min-width:0}.modules-carousel-content{display:flex;gap:30px;transition:transform .5s ease-in-out}.footer{background-color:var(--background-dark);color:#a0a0a0;padding:30px 20px;text-align:center;margin-top:50px;border-top:1px solid #3a3f47;width:100%;box-sizing:border-box;min-width:0}.footer-content p{margin:5px 0;font-size:.95em}@media (max-width: 992px){.main-content{padding:0 15px}}@media (max-width: 768px){.main-content{padding:50px 10px;margin:10px auto}h2{font-size:1.8em;margin-bottom:20px}section{padding:20px 0;margin-bottom:20px}.projects-grid,.youtube-videos-grid{grid-template-columns:1fr;gap:15px}.carousel-container{padding:0 40px}.carousel-arrow{padding:8px}.carousel-arrow img{width:20px;height:20px}.modules-carousel-wrapper{padding:0 20px}.footer{padding:15px 10px}}img{max-width:100%;height:auto;display:block}
