*{margin:0;padding:0;box-sizing:border-box;font-family:Poppins,sans-serif}body{background-color:var(--background-primary);color:var(--text-primary);line-height:1.6;transition:color .3s ease}.container{max-width:1200px;margin:0 auto;padding:0 20px}header{background-color:var(--background-primary);box-shadow:0 2px 10px #0000001a;position:fixed;width:100%;top:0;z-index:1000;transition:background-color var(--transition),box-shadow var(--transition)}.nav-container{display:flex;justify-content:space-between;align-items:center;padding:1rem 0}.logo{font-size:1.5rem;font-weight:700;color:var(--primary-brand)}.logo a{text-decoration:none;color:inherit}.nav-links{display:flex;list-style:none;align-items:center;gap:2rem}.nav-links .theme-toggle-btn{margin-left:1rem}.nav-links li{margin:0}.nav-links a{text-decoration:none;color:var(--text-primary);font-weight:500;transition:var(--transition);position:relative}.nav-links a:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background-color:var(--primary-brand);transition:width .3s ease}.nav-links a:hover:after{width:100%}.nav-links a:hover{color:var(--primary-brand)}.mobile-menu-btn{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-primary);transition:color var(--transition);padding:.5rem}.mobile-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:none;z-index:999}@media (max-width: 768px){.mobile-menu-btn{display:block}.nav-links{position:fixed;top:100%;left:0;width:100%;background-color:var(--background-primary);flex-direction:column;padding:2rem 1rem;box-shadow:0 5px 15px #0000001a;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease;gap:1rem}.nav-links .theme-toggle-btn{margin-left:0;margin-top:1rem}.nav-links.active{transform:translateY(0);opacity:1;visibility:visible}.mobile-menu-overlay{display:block}}.hero{padding:10rem 0 5rem;transition:all .5s ease-in-out;background-color:var(--background-primary);position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center}.hero-content{position:relative;z-index:2;text-align:center;max-width:900px;margin:0 auto}.hero-greeting{margin-bottom:1rem}.hero-greeting-text{font-size:1.2rem;color:var(--text-secondary);font-weight:400}.hero-title{margin-bottom:2rem}.hero-name{font-size:3.5rem;transition:color .3s ease-in-out,transform .3s ease-in-out;font-weight:700;color:var(--primary-brand);display:block;margin-bottom:.5rem}.hero-role{font-size:2.5rem;transition:color .3s ease-in-out,transform .3s ease-in-out;font-weight:600;color:var(--text-primary)}.hero-description{font-size:1.2rem;max-width:700px;margin:0 auto 3rem;color:var(--text-secondary);line-height:1.8}.hero-stats{display:flex;justify-content:center;gap:3rem;margin-bottom:3rem}.stat-item{text-align:center}.stat-number{display:block;font-size:2.5rem;font-weight:700;color:var(--primary-brand);line-height:1}.stat-label{font-size:.9rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.hero-btns{display:flex;justify-content:center;gap:1.5rem;margin-bottom:3rem;flex-wrap:wrap}.hero-social{display:flex;justify-content:center;gap:1.5rem}.social-link{width:50px;height:50px;border-radius:50%;background:rgba(var(--primary-brand),.1);display:flex;align-items:center;justify-content:center;color:var(--primary-brand);font-size:1.2rem;text-decoration:none;transition:var(--transition)}.social-link{transition:all .3s ease-in-out}.social-link:hover{background:var(--primary-brand);color:#fff;transform:translateY(-3px)}.hero-bg-elements{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.floating-element{position:absolute;width:200px;height:200px;background:linear-gradient(135deg,rgba(var(--primary-brand),.1),rgba(var(--background-secondary),.1));border-radius:50%;filter:blur(1px)}.element-1{top:20%;right:10%}.element-2{bottom:20%;left:10%}@media (max-width: 768px){.hero{padding:8rem 0 4rem;min-height:80vh}.hero-name{font-size:2.5rem}.hero-role{font-size:2rem}.hero-description{font-size:1.1rem}.hero-stats{flex-direction:column;gap:1.5rem}.hero-btns{flex-direction:column;align-items:center}.floating-element{width:100px;height:100px}}.btn{padding:.8rem 1.5rem;border-radius:4px;text-decoration:none;font-weight:600;transition:var(--transition);display:inline-block}.btn-primary{background-color:var(--primary-brand);color:#fff}.btn-primary:hover{transform:scale(1.02);background-color:var(--text-primary);box-shadow:0 0 12px rgba(var(--primary-brand),.4)}.btn-secondary{background-color:transparent;color:var(--primary-brand);border:1px solid var(--primary-brand)}.btn-secondary:hover{transform:scale(1.02);background-color:rgba(var(--primary-brand),.1)}section{padding:5rem 0;background-color:var(--background-primary);transition:background-color var(--transition);opacity:1;transform:translateY(0);transition:opacity .6s ease-out,transform .6s ease-out,background-color var(--transition)}section.fade-in{opacity:1;transform:translateY(0)}.section-title{text-align:center;margin-bottom:3rem;font-size:2.5rem;color:var(--text-primary)}.about{padding:5rem 0;background-color:var(--background-primary);transition:background-color var(--transition);opacity:1;transform:translateY(0);transition:opacity .6s ease-out,transform .6s ease-out,background-color var(--transition)}.about.fade-in{opacity:1;transform:translateY(0)}.about-content{display:grid;grid-template-columns:1fr 2fr;gap:4rem;align-items:center}.about-img{position:relative;display:flex;justify-content:center;align-items:center}.profile-img{width:100%;max-width:350px;border-radius:20px;box-shadow:0 20px 40px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.profile-img:hover{transform:scale(1.02);box-shadow:0 25px 50px #00000026}.profile-decoration{position:absolute;top:-20px;right:-20px;width:100px;height:100px;background:linear-gradient(135deg,var(--primary-brand),var(--background-secondary));border-radius:50%;opacity:.1;z-index:-1}.image-placeholder{width:100%;max-width:350px;height:400px;background:var(--surface-accent);border-radius:20px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:1.1rem}.about-text{max-width:600px}.about-text h3{font-size:2rem;margin-bottom:1.5rem;color:var(--text-primary);line-height:1.3}.highlight{color:var(--primary-brand)}.about-text p{margin-bottom:1.5rem;color:var(--text-secondary);line-height:1.8;font-size:1.1rem}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:2rem 0 3rem;padding:2rem;background:var(--background-secondary);border-radius:12px;border:1px solid var(--surface-accent)}.about-stats .stat-item{text-align:center}.about-stats .stat-number{display:block;font-size:2.2rem;font-weight:700;color:var(--primary-brand);line-height:1;margin-bottom:.5rem}.about-stats .stat-label{font-size:.9rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 768px){.about-content{grid-template-columns:1fr;gap:2rem;text-align:center}.about-img{order:-1}.about-stats{grid-template-columns:1fr;gap:1rem;padding:1.5rem}.about-text h3{font-size:1.8rem}}.skills{padding:5rem 0;background-color:var(--background-primary);transition:background-color var(--transition)}.skills-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.skill-category{background:var(--background-primary);padding:2rem;border-radius:16px;box-shadow:0 8px 25px #00000014;transition:all var(--transition);position:relative;overflow:hidden}.skill-category:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--primary-brand),var(--text-primary))}.skill-category:hover{transform:translateY(-5px);box-shadow:0 15px 35px #0000001f}.skill-category h3{margin-bottom:1.5rem;color:var(--text-primary);display:flex;align-items:center;gap:.75rem;font-size:1.2rem;font-weight:600}.skill-category h3 i{font-size:1.3rem;transition:transform .3s ease}.skill-list{list-style:none;padding:0;margin:0}.skill-item{padding:.75rem 0;border-bottom:1px solid var(--surface-accent);display:flex;align-items:center;gap:.75rem;position:relative;transition:all .3s ease;border-radius:8px;margin-bottom:.5rem}.skill-item:last-child{border-bottom:none;margin-bottom:0}.skill-bullet{width:8px;height:8px;border-radius:50%;flex-shrink:0;transition:all .3s ease}.skill-name{flex:1;color:var(--text-secondary);font-weight:500;font-size:.95rem;transition:color .3s ease}.skill-item:hover .skill-name{color:var(--text-primary)}.skill-level{position:absolute;bottom:0;left:0;height:2px;border-radius:1px;transition:all .8s ease}@media (max-width: 768px){.skills-container{grid-template-columns:1fr;gap:1.5rem}.skill-category{padding:1.5rem}}.projects{padding:5rem 0;background-color:var(--background-primary);transition:background-color var(--transition)}.project-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;margin-bottom:3rem}.filter-btn{padding:.75rem 1.5rem;border:2px solid var(--surface-accent);background:var(--background-primary);color:var(--text-secondary);border-radius:25px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;font-size:.9rem}.filter-btn:hover{border-color:var(--primary-brand);color:var(--primary-brand);transform:translateY(-2px)}.filter-btn.active{background:var(--primary-brand);border-color:var(--primary-brand);color:#fff}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.project-card{background:var(--background-primary);border-radius:16px;overflow:hidden;box-shadow:0 8px 25px #00000014;transition:all var(--transition);position:relative;border:1px solid var(--surface-accent);display:flex;flex-direction:column;justify-content:space-between}.project-card.featured{border:2px solid var(--primary-brand)}.project-card.featured:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-brand),var(--text-primary));z-index:1}.project-card:hover{box-shadow:0 15px 35px #0000001f}.project-img{width:100%;object-fit:cover;background-color:var(--background-secondary);display:flex;aspect-ratio:1;font-size:3.5rem;transition:all var(--transition);position:relative;box-shadow:0 4px 15px #0000001a;border-bottom:1px solid var(--surface-accent)}.project-image{display:block;width:100%;height:100%;object-fit:contain;max-width:100%;max-height:100%;transition:transform .3s ease;padding:20px}.project-card:hover .project-image{transform:scale(1.05)}.project-icon-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,var(--surface-accent),var(--background-secondary))}.status-badge.live{background:#f5e6d3;color:#8b6b3c;border:1px solid #E8D5B7}.status-badge.development{background:#6b8e231a;color:#6b8e23;border:1px solid rgba(107,142,35,.2)}.status-badge.completed{background:#5a626814;color:#5a6268;border:1px solid rgba(90,98,104,.15)}.title-status-badge{display:inline-block;margin-left:.75rem;vertical-align:middle;font-size:.7rem;padding:.3rem .6rem;border-radius:15px;background:var(--background-secondary);color:var(--text-secondary);border:1px solid var(--surface-accent)}.title-status-badge.live{background:#f5e6d3;color:#8b6b3c;border:1px solid #E8D5B7}.title-status-badge.development{background:#6b8e231a;color:#6b8e23;border:1px solid rgba(107,142,35,.2)}.title-status-badge.completed{background:#5a626814;color:#5a6268;border:1px solid rgba(90,98,104,.15)}.project-content{padding:1.5rem}.project-content h3{margin-bottom:.75rem;color:var(--text-primary);font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.featured-badge{font-size:1rem}.project-content p{color:var(--text-secondary);margin-bottom:1rem;line-height:1.6;font-size:.95rem;min-height:60px}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tag{background:rgba(var(--primary-brand),.1);color:var(--primary-brand);padding:.4rem .8rem;border-radius:20px;font-size:.8rem;font-weight:500;transition:all .3s ease;border:1px solid rgba(var(--primary-brand),.2)}.tag:hover{background:var(--primary-brand);color:#fff;transform:translateY(-1px)}.project-links{display:flex;gap:1rem}.project-link{flex:1;padding:.75rem 1rem;border:2px solid var(--primary-brand);background:transparent;color:var(--primary-brand);text-decoration:none;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem;border-radius:8px;transition:all .3s ease;cursor:pointer;font-size:.9rem}.project-link:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.project-link:first-child{background:var(--primary-brand);color:#fff}.project-link:first-child:hover:not(:disabled){background:var(--primary-brand-dark)}.no-projects{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.no-projects i{font-size:4rem;margin-bottom:1rem;opacity:.5}.no-projects h3{font-size:1.5rem;margin-bottom:.5rem;color:var(--text-primary)}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr;gap:1.5rem}.project-filters{flex-direction:column;align-items:center}.filter-btn{min-width:200px;justify-content:center}.project-links{flex-direction:column}}.experience{padding:5rem 0;background-color:var(--background-primary);transition:background-color var(--transition)}.timeline-container{position:relative;max-width:900px;margin:0 auto}.timeline-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--primary-brand),var(--text-primary));transform:translate(-50%);transform-origin:top}.timeline{position:relative}.timeline-item{position:relative;margin-bottom:3rem;width:calc(50% - 2rem)}.timeline-item:nth-child(odd){left:0;text-align:right}.timeline-item:nth-child(2n){left:calc(50% + 2rem);text-align:left}.timeline-marker{position:absolute;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem;box-shadow:0 4px 15px #0003;z-index:2;border:4px solid var(--background-primary)}.timeline-item:nth-child(odd) .timeline-marker{right:-32px}.timeline-item:nth-child(2n) .timeline-marker{left:-32px}.timeline-content{background:var(--background-primary);padding:2rem;border-radius:16px;box-shadow:0 8px 25px #00000014;transition:all var(--transition);position:relative;border:1px solid var(--surface-accent)}.timeline-content:hover{transform:translateY(-3px);box-shadow:0 15px 35px #0000001f}.timeline-item.work .timeline-content{border-left:4px solid var(--primary-brand)}.timeline-item.competition .timeline-content{border-left:4px solid var(--warning-color)}.timeline-item.education .timeline-content{border-left:4px solid var(--success-color)}.experience-header{margin-bottom:1rem}.timeline-content h3{margin-bottom:.5rem;color:var(--text-primary);font-size:1.3rem;font-weight:600}.experience-meta{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.company{font-weight:600;font-size:1rem}.period{color:var(--text-secondary);font-size:.9rem;font-weight:500}.experience-description{color:var(--text-secondary);line-height:1.7;margin-bottom:1.5rem;font-size:.95rem}.achievements{margin-bottom:1.5rem}.achievements h4{color:var(--text-primary);font-size:1rem;margin-bottom:.75rem;font-weight:600}.achievements ul{list-style:none;padding:0;margin:0}.achievements li{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.5rem;color:var(--text-secondary);font-size:.9rem;line-height:1.6}.achievement-bullet{width:6px;height:6px;border-radius:50%;margin-top:.5rem;flex-shrink:0;transition:transform .3s ease}.experience-skills{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{padding:.4rem .8rem;border:1px solid;border-radius:20px;font-size:.8rem;font-weight:500;transition:all .3s ease;cursor:pointer}@media (max-width: 768px){.timeline-line{left:30px}.timeline-item{width:calc(100% - 80px);left:80px!important;text-align:left;margin-bottom:2rem}.timeline-marker{left:-25px!important;right:auto!important;width:50px;height:50px;font-size:1.2rem}.timeline-content{padding:1.5rem}.experience-meta{margin-bottom:.75rem}}.contact-container{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.contact-info{display:flex;flex-direction:column;gap:2rem}.contact-item{display:flex;align-items:flex-start;gap:1.5rem;padding:1.5rem;background:var(--background-primary);border-radius:12px;box-shadow:0 5px 15px #0000000d;transition:var(--transition)}.contact-item:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.contact-icon{width:60px;height:60px;background-color:rgba(var(--primary-brand),.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary-brand);font-size:1.4rem;flex-shrink:0}.contact-item h3{margin-bottom:.5rem;color:var(--text-primary);font-size:1.1rem;font-weight:600}.contact-link{color:var(--primary-brand);text-decoration:none;transition:var(--transition)}.contact-link:hover{text-decoration:underline}.contact-form{background:var(--background-primary);padding:2.5rem;border-radius:12px;box-shadow:0 5px 15px #0000000d;transition:background-color var(--transition),box-shadow var(--transition)}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-primary);font-size:.95rem}.required-asterisk{color:var(--error-color);margin-left:.25rem}.form-control{width:100%;padding:.875rem 1rem;border:2px solid var(--surface-accent);border-radius:8px;font-size:1rem;transition:var(--transition);background-color:var(--background-primary);color:var(--text-primary);font-family:inherit}.form-control:focus{outline:none;border-color:var(--primary-brand);box-shadow:0 0 0 3px #6366f11a}.form-control.error{border-color:var(--error-color);box-shadow:0 0 0 3px rgba(var(--error-color),.1)}.form-control::placeholder{color:var(--text-disabled)}textarea.form-control{min-height:120px;resize:vertical;line-height:1.6}.error-message{display:flex;align-items:center;gap:.5rem;color:var(--error-color);font-size:.875rem;margin-top:.5rem;font-weight:500}.error-message i{font-size:.75rem}.btn{padding:.875rem 1.5rem;border-radius:8px;text-decoration:none;font-weight:600;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;cursor:pointer;font-size:1rem;font-family:inherit;min-width:120px}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-primary{background-color:var(--primary-brand);color:#fff;border:2px solid var(--primary-brand)}.btn-primary:hover:not(:disabled){background-color:var(--text-primary);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--primary-brand),.3)}.btn-secondary{background-color:transparent;color:var(--primary-brand);border:2px solid var(--primary-brand)}.btn-secondary:hover:not(:disabled){background-color:rgba(var(--primary-brand),.1);transform:translateY(-1px)}@media (max-width: 768px){.contact-container{grid-template-columns:1fr;gap:2rem}.contact-form{padding:1.5rem}.contact-item{padding:1rem}.contact-icon{width:50px;height:50px;font-size:1.2rem}}footer{background-color:var(--background-primary);color:var(--text-primary);padding:3rem 0 1.5rem;transition:background-color .3s ease,color .3s ease}.footer-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.social-links{display:flex;gap:1rem}.social-links a{color:var(--text-primary);font-size:1.5rem;transition:.3s ease}.social-links a:hover{color:var(--primary-brand)}.copyright{text-align:center;padding-top:1.5rem;border-top:1px solid var(--surface-accent);font-size:.9rem;color:var(--text-secondary)}@media (max-width: 768px){.nav-links{display:none}.mobile-menu-btn{display:block}.hero h1{font-size:2.5rem}.about-content{grid-template-columns:1fr;gap:2rem;text-align:center}.skills-container,.projects-grid{grid-template-columns:1fr}.timeline:after{left:31px}.timeline-item{width:100%;padding-left:70px;padding-right:25px}.timeline-item:nth-child(2n){left:0}.timeline-item:after{left:21px}.timeline-item:nth-child(odd):after{right:auto}.contact-container{grid-template-columns:1fr}.footer-content{flex-direction:column;gap:1.5rem;text-align:center}.hero-stats{flex-direction:column;gap:1rem}.hero-btns{flex-direction:column;align-items:center}.btn{width:100%;max-width:280px}}@media (max-width: 480px){.container{padding:0 15px}.hero{padding:10rem 0 5rem;transition:all .5s ease-in-out;background-color:var(--background-primary);position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center}.section-title,.stat-number{font-size:2rem}.contact-form{padding:1rem}}.loading-spinner{border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:currentColor;animation:spin 1s ease-in-out infinite}.loading-spinner.w-4{width:1rem;height:1rem}.loading-spinner.w-6{width:1.5rem;height:1.5rem}.loading-spinner.w-8{width:2rem;height:2rem}.btn:focus-visible,.form-control:focus-visible,.nav-links a:focus-visible,.social-link:focus-visible{outline:2px solid var(--primary-brand);outline-offset:2px}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.certificates{padding:5rem 0;background-color:var(--background-primary);transition:background-color var(--transition)}.certificates-controls{margin-bottom:3rem}.search-container{margin-bottom:2rem;display:flex;justify-content:center}.search-input-container{position:relative;max-width:500px;width:100%}.search-input{width:100%;padding:1rem 1rem 1rem 3rem;border:2px solid var(--surface-accent);border-radius:25px;font-size:1rem;background:var(--background-primary);color:var(--text-primary);transition:all .3s ease}.search-input:focus{outline:none;border-color:var(--primary-brand);box-shadow:0 0 0 3px #6366f11a}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:1rem}.clear-search{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;border-radius:50%;transition:all .3s ease}.clear-search:hover{color:var(--text-primary);background:var(--surface-accent)}.category-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem}.category-btn{padding:.75rem 1.5rem;border:2px solid var(--surface-accent);background:var(--background-primary);color:var(--text-secondary);border-radius:25px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;font-size:.9rem;position:relative}.category-btn:hover{border-color:var(--primary-brand);color:var(--primary-brand);transform:translateY(-2px)}.category-btn.active{background:var(--primary-brand);border-color:var(--primary-brand);color:#fff}.count-badge{background:#fff3;padding:.2rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;margin-left:.25rem}.category-btn.active .count-badge{background:#ffffff4d}.certificates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.certificate-card{background:var(--background-primary);border-radius:16px;padding:2rem;box-shadow:0 8px 25px #00000014;transition:all var(--transition);position:relative;border:1px solid var(--surface-accent);display:flex;flex-direction:column;justify-content:space-between}.certificate-card.featured{border:2px solid var(--primary-brand)}.certificate-card.verified:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-brand),var(--text-primary));border-radius:16px 16px 0 0}.certificate-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #0000001f}.certificate-header{margin-bottom:1.5rem}.certificate-card h3{color:var(--text-primary);font-size:1.2rem;font-weight:600;margin-bottom:1rem;line-height:1.4;display:flex;align-items:flex-start;gap:.5rem}.featured-badge{font-size:1rem;margin-left:.25rem}.certificate-meta{display:flex;flex-direction:column;gap:.5rem}.certificate-meta span{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.issuer{color:var(--primary-brand);font-weight:600}.date{color:var(--text-secondary)}.verified-badge{color:var(--primary-brand)!important;font-weight:600;font-size:.8rem!important}.certificate-skills{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.certificate-card .skill-tag{background:rgba(var(--primary-brand),.1);color:var(--primary-brand);padding:.4rem .8rem;border-radius:20px;font-size:.8rem;font-weight:500;transition:all .3s ease;border:1px solid rgba(var(--primary-brand),.2)}.certificate-card .skill-tag:hover{background:var(--primary-brand);color:#fff;transform:translateY(-1px)}.view-certificate-btn{width:100%;padding:.875rem;background:var(--primary-brand);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.95rem}.view-certificate-btn:hover{background:var(--primary-brand-dark);transform:translateY(-1px)}.no-certificates{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.no-certificates i{font-size:4rem;margin-bottom:1rem;opacity:.5}.no-certificates h3{font-size:1.5rem;margin-bottom:.5rem;color:var(--text-primary)}.certificates-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:600px;margin:4rem auto 0;padding:2rem;background:var(--background-secondary);border-radius:16px;border:1px solid var(--surface-accent)}.summary-item{text-align:center}.summary-number{display:block;font-size:2.5rem;font-weight:700;color:var(--primary-brand);line-height:1;margin-bottom:.5rem}.summary-label{font-size:.9rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}footer{background:linear-gradient(135deg,var(--background-secondary) 0%,var(--background-primary) 100%);color:var(--text-primary);padding:4rem 0 2rem;position:relative;overflow:hidden}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}.footer-section h4{color:var(--text-primary);font-size:1.2rem;font-weight:600;margin-bottom:1rem}.footer-logo{font-size:2rem;font-weight:700;color:var(--primary-brand);margin-bottom:1rem;cursor:pointer}.footer-tagline{color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem;font-size:.95rem}.project-link:hover:not(:disabled){background:var(--primary-brand);color:#fff;transform:translateY(-1px)}.project-link.public-repo i.fab.fa-github{color:var(--success-color)}.project-link.private-repo i.fab.fa-github{color:var(--error-color)}.repo-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:1.5rem;margin-top:1.5rem;margin-bottom:3rem;font-size:.9rem;color:var(--text-secondary)}.legend-item{display:flex;align-items:center;gap:.5rem}.public-repo-icon{color:var(--success-color);font-size:1.1rem}.private-repo-icon{color:var(--error-color);font-size:1.1rem}.footer-contact-info .contact-item{display:flex;align-items:center;gap:.75rem;color:var(--text-secondary);font-size:.9rem}.footer-contact-info .contact-item a{color:var(--text-secondary);text-decoration:none;transition:color .3s ease}.footer-contact-info .contact-item a:hover{color:var(--primary-brand)}.footer-nav{list-style:none;padding:0;margin:0}.footer-nav li{margin-bottom:.75rem}.footer-link{color:var(--text-secondary);text-decoration:none;display:flex;align-items:center;gap:.5rem;font-size:.9rem;transition:all .3s ease}.footer-link:hover{color:var(--primary-brand)}.footer-link i{font-size:.75rem;transition:transform .3s ease}.footer-link:hover i{transform:translate(3px)}.social-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem;line-height:1.5}.footer-social .social-links{display:flex;gap:1rem}.footer-social .social-link{width:45px;height:45px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary-brand);font-size:1.2rem;text-decoration:none;transition:all .3s ease}.newsletter-btn{width:100%;padding:.875rem 1.25rem;background:var(--primary-brand);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.95rem}.newsletter-btn:hover{background:var(--primary-brand-dark);transform:translateY(-1px)}.footer-bottom{border-top:1px solid var(--surface-accent);padding-top:2rem}.footer-copyright{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.copyright-text{flex:1}.copyright-text p{margin:0 0 .5rem;color:var(--text-secondary);font-size:.9rem}.built-with{color:var(--text-secondary)!important;font-size:.8rem!important;margin-top:.25rem}.scroll-to-top{width:45px;height:45px;background:var(--primary-brand);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(var(--primary-brand),.3)}.scroll-to-top:hover{background:var(--text-primary);transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--primary-brand),.4)}.footer-bg-elements{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.bg-circle{position:absolute;border-radius:50%;background:linear-gradient(135deg,rgba(var(--primary-brand),.1),rgba(var(--background-secondary),.1))}.circle-1{width:300px;height:300px;top:-150px;right:-150px}.circle-2{width:200px;height:200px;bottom:-100px;left:-100px}@media (max-width: 768px){.footer-main{grid-template-columns:1fr;gap:2rem;text-align:center}.footer-contact-info{align-items:center}.footer-copyright{flex-direction:column;text-align:center}.certificates-grid{grid-template-columns:1fr}.category-filters{flex-direction:column;align-items:center}.category-btn{min-width:200px;justify-content:center}.certificate-card{padding:1.5rem}.certificates-summary{grid-template-columns:1fr;gap:1rem;padding:1.5rem}}.btn-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.btn-icon:hover{background-color:rgba(var(--primary-brand),.1)}.hobby-section{padding:80px 0}.hobby-content{max-width:800px;margin:0 auto;padding:0 20px}.hobby-content h3{text-align:center;font-size:2rem;color:#34495e;margin-bottom:10px}.hobby-description{text-align:center;color:#7f8c8d;margin-bottom:30px;font-size:1.1rem}.search-container{margin-bottom:30px;text-align:center}.search-input{width:100%;max-width:400px;padding:12px 20px;border:2px solid #be7b2a;border-radius:25px;font-size:1rem;outline:none;transition:all .3s ease}.search-input:focus{border-color:#e67e22;box-shadow:0 0 10px #be7b2a4d}.singing-list{display:grid;gap:10px;max-height:500px;overflow-y:auto;margin-bottom:30px;padding:10px;background:#fffc;border-radius:15px;box-shadow:0 4px 15px #0000001a}.audio-item{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#fff;border-radius:10px;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.audio-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:#be7b2a}.audio-item.active{background:linear-gradient(135deg,#be7b2a,#e67e22);color:#fff;border-color:#be7b2a}.audio-info{display:flex;align-items:center;gap:15px;flex:1}.audio-number{background:#ecf0f1;color:#2c3e50;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.audio-item.active .audio-number{background:#fff3;color:#fff}.audio-name{font-weight:500;font-size:.95rem}.play-button{background:#be7b2a;color:#fff;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;font-size:.8rem}.play-button:hover{background:#e67e22;transform:scale(1.1)}.play-button.playing{background:#e74c3c}.current-player-inline{background:#fff;padding:20px;border-radius:10px;box-shadow:0 4px 15px #0000001a;margin:5px 0;border-left:4px solid #be7b2a;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.now-playing h4{color:#2c3e50;margin-bottom:5px;font-size:1.1rem;text-align:center}.current-song-name{color:#be7b2a;font-weight:600;font-size:1rem;margin-bottom:15px;text-align:center}.audio-player{width:100%;max-width:500px;margin:0 auto}.audio-stats{text-align:center;color:#7f8c8d;font-size:.9rem}.singing-list::-webkit-scrollbar{width:8px}.singing-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.singing-list::-webkit-scrollbar-thumb{background:#be7b2a;border-radius:4px}.singing-list::-webkit-scrollbar-thumb:hover{background:#e67e22}@media (max-width: 768px){.hobby-section{padding:60px 0}.section-title{font-size:2rem}.hobby-content h3{font-size:1.5rem}.audio-item{padding:10px 15px}.audio-name{font-size:.9rem}.current-player-inline{padding:15px}}:root{--background-primary: #FDF8F0;--background-secondary: #F5E6D3;--primary-brand: #6B8E23;--text-primary: #36454F;--text-secondary: #5A6268;--surface-accent: #E0E0E0;--white: #FFFFFF;--black: #000000;--error-color: #DC3545}[data-theme=dark]{--background-primary: #1A1A2E;--background-secondary: #16213E;--primary-brand: #E94560;--text-primary: #E0E0E0;--text-secondary: #B0B0B0;--surface-accent: #303040;--white: #FFFFFF;--black: #000000;--error-color: #FF6B6B}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding:0;font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;background-color:var(--background-primary);color:var(--text-primary);transition:background-color var(--transition),color var(--transition)}*:focus{outline:2px solid var(--primary-brand);outline-offset:2px}.skip-to-main{position:absolute;left:-9999px;z-index:999;padding:8px 16px;background-color:var(--primary-brand);color:#fff;text-decoration:none;border-radius:0 0 4px}.skip-to-main:focus{left:0;top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading-spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-boundary{padding:2rem;text-align:center;background-color:var(--background-secondary);border-radius:8px;margin:2rem}.error-boundary h2{color:#ef4444;margin-bottom:1rem}.error-boundary p{color:var(--text-secondary)}
