#root,body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0d1117;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100%;margin:0;overflow-x:hidden;padding:0}.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{align-items:center;backface-visibility:hidden;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100dvh;padding-bottom:env(safe-area-inset-bottom);transform:translateZ(0)}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.button-group{gap:1rem;margin-top:1.5rem}.portfolio-card-button{align-items:center;border-radius:10px;display:flex;justify-content:center;max-width:180px;min-width:130px;padding:.8rem 1.2rem;text-align:center;transition:all .3s ease;white-space:nowrap}.portfolio-card-button.primary{background-color:#007bff;color:#fff}.portfolio-card-button.primary:hover{background-color:#0056b3}.portfolio-card-button img{height:40px;pointer-events:none}.contact-form-container{background:#0000;border:none;border-radius:0;box-shadow:none;margin:40px auto;max-width:500px;padding:30px}.form-header{margin-bottom:30px;text-align:left}.form-header-icon{display:none}.form-header h2{color:#fff;font-size:1.4rem;font-weight:600;letter-spacing:-.5px;margin:0}.form-subtitle{color:#b0b8c1;font-size:.9rem;margin:8px 0 0}.contact-form{gap:18px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{align-items:center;color:#58a6ff;display:flex;font-size:.9rem;font-weight:500;gap:0}.input-icon{display:none}.form-group input,.form-group textarea{background-color:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;color:#fff;font-family:inherit;font-size:.9rem;min-height:40px;padding:10px 12px;resize:vertical;transition:all .2s ease}.form-group input:focus,.form-group textarea:focus{background-color:#ffffff14;border-color:#ffffff4d;box-shadow:none;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#58a6ff}.form-group textarea{line-height:1.4;min-height:100px}.form-group input:disabled,.form-group textarea:disabled{cursor:not-allowed;opacity:.6}.submit-button{align-items:center;align-self:flex-start;border:none;border-radius:4px;box-shadow:none;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:8px;justify-content:center;margin-top:8px;padding:11px 24px;transition:all .2s ease}.submit-button,.submit-button:hover:not(:disabled){background:#0056b3}.submit-button:active:not(:disabled){opacity:.9}.submit-button:disabled{cursor:not-allowed;opacity:.6}.loading-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.success-message{background-color:#03661026;border:1px solid #38b95066;border-radius:4px;color:#38b950}.error-message,.success-message{font-size:.9rem;font-weight:400;margin-bottom:16px;padding:12px 14px;text-align:left}.error-message{background-color:#f8514926;border:1px solid #da363366;border-radius:4px;color:#f85149}.form-footer{color:#58a6ff;font-size:.8rem;margin-bottom:20px;margin-top:0;text-align:left}.form-footer p{margin:0}@media (max-width:768px){.contact-form-container{margin:30px 20px;padding:25px 20px}.form-header h2{font-size:1.3rem}.contact-form{gap:16px}.form-group input,.form-group textarea{font-size:.88rem;padding:9px 11px}.submit-button{font-size:.9rem;padding:10px 20px}}@media (max-width:480px){.contact-form-container{margin:25px 15px;padding:20px 15px}.form-header h2{font-size:1.2rem}.form-group label{font-size:.88rem}.form-group input,.form-group textarea{font-size:.85rem;padding:8px 10px}.submit-button{font-size:.88rem;padding:9px 18px}}.portfolio-container{background-color:#0d1117;color:#fff;min-height:100vh;padding:40px 20px;position:relative;text-align:center}.portfolio-title{color:#58a6ff;font-size:3rem;font-weight:700;margin-bottom:20px}.portfolio-subtitle{font-weight:400;line-height:1.4;margin:0 auto 1rem;max-width:700px;text-align:center}.about-me,.portfolio-subtitle{color:#c9d1d9;font-size:1.1rem}.about-me{margin:0 auto 40px;max-width:800px}.portfolio-section-title{color:#58a6ff;font-size:1.8rem;margin-bottom:20px;margin-top:40px}.skills-container{display:flex;gap:40px;justify-content:center;margin-bottom:40px}.skill-item{text-align:center}.skill-icon{color:#58a6ff;font-size:3rem}.skill-info{margin-top:10px}.skill-level{background-color:#333;border-radius:5px;height:10px;overflow:hidden}.skill-bar{background-color:#58a6ff;height:100%;transition:width .3s}.portfolio-grid{grid-gap:20px;display:grid;gap:20px;grid-auto-rows:1fr;grid-template-columns:repeat(2,1fr);margin:0 auto;max-width:900px}.portfolio-card{align-items:center;background:#161b22;border-radius:8px;box-shadow:0 4px 10px #0000004d;cursor:default;display:flex;flex-direction:column;padding:16px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.portfolio-card:hover{box-shadow:0 6px 15px #00000080;transform:scale(1.02)}.portfolio-card-title{color:#58a6ff;font-size:1.3rem;font-weight:600;margin-bottom:8px}.portfolio-card-author{color:#79c0ff;font-size:.9rem;font-style:italic;margin-bottom:8px}.portfolio-card-original-title{color:#8b949e;font-size:.85rem;font-style:italic;margin-bottom:8px}.portfolio-card-description{color:#c9d1d9;font-size:.95rem;line-height:1.4;margin-bottom:12px}.portfolio-card-language{margin-bottom:12px}.button-group{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:auto}.portfolio-card-button{background-color:#1c74d6;border-radius:6px;box-shadow:0 4px 12px #0000004d;color:#fff;display:inline-block;font-size:.9rem;font-weight:600;padding:10px 17px;text-decoration:none;transition:background-color .3s ease,transform .2s ease,box-shadow .3s ease}.portfolio-card-button:hover{background-color:#58a6ff;box-shadow:0 6px 18px #0006;transform:translateY(-1px)}.language-button{background-color:initial;border:none;color:#58a6ff;cursor:pointer;font-size:1.5rem;position:absolute;right:20px;top:20px;transition:color .3s}.language-button:hover{color:#1c74d6}@media (max-width:768px){.portfolio-title{font-size:2.5rem}.portfolio-subtitle{font-size:1.1rem}.portfolio-grid{grid-template-columns:1fr}.portfolio-card{padding:14px}.button-group{flex-direction:column;gap:14px}.portfolio-card-button{border-radius:8px;box-sizing:border-box;font-size:.95rem;font-weight:700;padding:13px 16px;width:100%}.portfolio-card-button:active{transform:scale(.98)}.portfolio-card-title{font-size:1.3rem}.portfolio-card-description{font-size:.9rem}.skill-icon{font-size:2.5rem}}@media (max-width:480px){.portfolio-title{font-size:2rem}.portfolio-subtitle{font-size:1rem}.portfolio-section-title{font-size:1.5rem}.portfolio-card-button{font-size:.95rem;padding:12px 14px}.skills-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.skill-icon{font-size:2rem}.skill-item{flex:none;text-align:center}}@media (max-width:280px){.skills-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.skill-icon{font-size:1.8rem}}.portfolio-card-language{color:#58a6ff;font-size:2rem;margin-top:10px}.contact-form{background-color:#161b22;border-radius:10px;box-shadow:0 4px 8px #0000004d;display:flex;flex-direction:column;margin:3rem auto;max-width:600px;padding:2rem}.contact-form label{color:#c9d1d9;font-size:1.1rem;margin-bottom:.5rem}.contact-form input,.contact-form textarea{background-color:#0d1117;border:1px solid #333;border-radius:5px;box-sizing:border-box;color:#fff;font-size:1rem;margin-bottom:1.2rem;padding:.8rem;text-align:left;width:100%}.contact-form textarea{min-height:150px;resize:vertical}.contact-form button{background-color:#58a6ff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1.2rem;padding:1rem;transition:background-color .3s ease}.contact-form button:hover{background-color:#1c74d6}.contact-email p{color:#58a6ff;font-size:1.3rem;font-weight:700;text-decoration:none;transition:color .3s ease}.certifications-container{display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:1000px}.certifications-summary{display:flex;flex-direction:column;gap:1rem}.certifications-list{list-style:none;margin:0;padding:0}.certification-item{background:#161b22;border:2px solid #2d333b;border-radius:8px;box-shadow:0 4px 8px #0003;padding:1.5rem;transition:transform .3s ease,box-shadow .3s ease}.certification-item strong{color:#58a6ff;font-size:1.1rem;font-weight:700;letter-spacing:.5px;transition:all .3s ease}@media (max-width:768px){.certifications-container{gap:1rem}.certification-item{padding:1rem}.certification-item strong{font-size:1rem}}.contact-info{background-color:#161b22;border-radius:8px;box-shadow:0 4px 12px #0000004d;margin-left:auto;margin-right:auto;margin-top:30px;max-width:600px;padding:24px}.contact-info a{align-items:center;color:#c9d1d9;display:flex;font-size:1.1rem;gap:10px;justify-content:center;text-decoration:none;transition:color .3s ease}.contact-info a:hover{color:#58a6ff}.contact-info svg{color:#58a6ff;font-size:1.3rem}.portfolio-subsection-title{color:#79c0ff;font-size:1.3rem;font-weight:600;margin-bottom:15px;margin-top:30px;text-align:center}.no-items{color:#8b949e;font-size:1rem;font-style:italic;padding:30px;text-align:center}