body{-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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}html[data-theme=teal]{--color-accent:#0d9488;--color-accent-dark:#0b7f75;--color-accent-light:#5eead4;--color-accent-secondary:#ff7a59;--color-accent-secondary-light:#ffcab8;--color-on-accent:#fff;--color-accent-tint-10:#0d94881a;--color-accent-tint-15:#0d948826;--color-accent-tint-20:#0d948833;--color-accent-glow:#0d948826;--color-bg-dark:#f7fbfb;--color-bg-card:#fff;--color-card-surface:#fff;--color-nav-bg:#fff;--color-nav-shadow:#0000000d;--color-mobile-menu-bg:#fff;--color-network-bg:#0f172a;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-tertiary:#64748b;--color-text-muted:#94a3b8;--color-border:#e6edf0;--color-border-light:#0d948814;--color-btn-secondary-bg:#0000;--color-btn-secondary-text:var(--color-accent);--color-btn-secondary-hover-bg:#e6f6f5;--color-btn-secondary-hover-text:var(--color-accent-dark);--color-error:#dc2626;--color-success:#16a34a;--spacing-xs:8px;--spacing-sm:12px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-xxl:48px;--spacing-xxxl:64px;--gradient-bg:linear-gradient(135deg,#f7fbfb,#e8f4f3 50%,#f7fbfb);--gradient-text:linear-gradient(90deg,#0d9488,#ff7a59 50%,#0d9488);--gradient-primary-button:linear-gradient(135deg,#0d9488,#0b7f75);--gradient-icon-circle:linear-gradient(135deg,#0d9488,#0b7f75);--current-theme-primary:#0d9488;--current-theme-glow:#0d948808}html[data-theme=purple]{--color-accent:#8b5cf6;--color-accent-dark:#6d28d9;--color-accent-light:#d8b4fe;--color-accent-secondary:#60a5fa;--color-accent-secondary-light:#93c5fd;--color-on-accent:#fff;--color-accent-tint-10:#8b5cf61a;--color-accent-tint-15:#8b5cf626;--color-accent-tint-20:#8b5cf633;--color-accent-glow:#8b5cf680;--color-bg-dark:#0f172a;--color-bg-card:#1e293b;--color-card-surface:#1e293b80;--color-nav-bg:#1e293bf2;--color-nav-shadow:#0000001a;--color-mobile-menu-bg:#0f172afa;--color-network-bg:#1e293b80;--color-text-primary:#fff;--color-text-secondary:#cbd5e1;--color-text-tertiary:#cbd5e1;--color-text-muted:#94a3b8;--color-border:#334155;--color-border-light:#ffffff0d;--color-btn-secondary-bg:#ffffff1a;--color-btn-secondary-text:var(--color-text-primary);--color-btn-secondary-hover-bg:#fff3;--color-btn-secondary-hover-text:var(--color-text-primary);--color-error:#ef4444;--color-success:#10b981;--spacing-xs:8px;--spacing-sm:12px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-xxl:48px;--spacing-xxxl:64px;--gradient-bg:linear-gradient(135deg,#0f172a,#581c87 50%,#0f172a);--gradient-text:linear-gradient(90deg,#c084fc,#60a5fa 50%,#c084fc);--gradient-primary-button:linear-gradient(135deg,#8b5cf6,#3b82f6);--gradient-icon-circle:linear-gradient(135deg,#8b5cf6,#60a5fa);--current-theme-primary:#8b5cf6;--current-theme-glow:#8b5cf608}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(30px)}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fadeIn{animation:fadeIn .8s ease-in}.pulse{animation:pulse 2s ease-in-out infinite}.float{animation:float 6s ease-in-out infinite}nav{background:var(--color-nav-bg);border-bottom:1px solid var(--color-border-light);box-shadow:0 1px 3px var(--color-nav-shadow);left:0;position:fixed;right:0;top:0;transition:all .3s ease;z-index:1000}.navbar-container{justify-content:space-between;margin:0 auto;max-width:1280px;padding:var(--spacing-md) var(--spacing-lg)}.brand,.navbar-container{align-items:center;display:flex}.brand{cursor:pointer;gap:var(--spacing-sm)}.logo-circle{align-items:center;background:var(--gradient-icon-circle);border-radius:50%;color:#fff;display:flex;font-weight:700;height:40px;justify-content:center;transition:transform .3s ease;width:40px}.brand-text{-webkit-text-fill-color:#0000;background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:700}.desktop-nav{align-items:center;display:flex;gap:var(--spacing-xl)}.nav-link{color:var(--color-text-secondary);cursor:pointer;font-size:1rem;font-weight:500;position:relative;text-decoration:none;transition:all .3s ease}.nav-link:hover{color:var(--color-accent)}.nav-link:hover:after{background:var(--color-accent);bottom:-4px;content:"";height:2px;left:0;position:absolute;width:100%}.mobile-menu-button{background:none;border:none;cursor:pointer;display:none;padding:var(--spacing-sm);transition:transform .2s ease}.mobile-menu{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-mobile-menu-bg);border-top:1px solid var(--color-border-light);display:none;flex-direction:column}.mobile-nav-link{border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:1.125rem;font-weight:500;padding:var(--spacing-md);text-decoration:none;transition:all .3s ease}.mobile-nav-link:hover{background:var(--color-accent-tint-10);color:var(--color-accent);padding-left:24px}@media (max-width:768px){.desktop-nav{display:none}.mobile-menu-button{display:block}.mobile-menu.open{display:flex}}button{font-family:inherit}.btn-primary{background:var(--gradient-primary-button);border:none;border-radius:8px;box-shadow:0 6px 18px var(--color-accent-tint-20);color:var(--color-on-accent);cursor:pointer;font-size:1rem;font-weight:600;padding:var(--spacing-md) var(--spacing-xl);transition:all .3s ease}.btn-primary:hover{box-shadow:0 10px 25px -5px var(--color-accent-glow);transform:translateY(-2px)}.btn-primary:active{transform:scale(.98)}.btn-secondary{align-items:center;background:var(--color-btn-secondary-bg);border:1px solid var(--color-border);border-radius:8px;color:var(--color-btn-secondary-text);cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);transition:all .3s ease}.btn-secondary:hover{background:var(--color-btn-secondary-hover-bg);border-color:var(--color-accent);color:var(--color-btn-secondary-hover-text)}.btn-small{background:var(--gradient-primary-button);border:none;border-radius:8px;color:var(--color-on-accent);cursor:pointer;font-size:.9rem;font-weight:600;padding:var(--spacing-sm) var(--spacing-md);transition:all .3s ease}.btn-small:hover{transform:scale(1.05)}.btn-outline{background:var(--color-accent-tint-10);border:1px solid var(--color-accent-secondary);border-radius:6px;color:var(--color-accent-secondary);cursor:pointer;font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);transition:all .3s ease}.btn-outline:hover{background:var(--color-accent-secondary);color:var(--color-on-accent)}input[type=email],input[type=text],textarea{background:var(--color-card-surface);border:1px solid var(--color-border);border-radius:8px;box-sizing:border-box;color:var(--color-text-primary);font-family:inherit;font-size:1rem;padding:var(--spacing-md);transition:all .3s ease;width:100%}input[type=email]:focus,input[type=text]:focus,textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-tint-15);outline:none}textarea{min-height:120px;resize:vertical}label{color:var(--color-text-primary);font-size:.95rem;font-weight:600}.svg-s{size:16px}.svg-m,.svg-s{color:var(--color-accent-secondary)}.svg-m{size:24px}.svg-l{size:32px;color:var(--color-accent-light)}.hero-section{padding:var(--spacing-xxxl) var(--spacing-md);text-align:center;width:100%}.hero-title{-webkit-text-fill-color:#0000;background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;font-size:3.5rem;font-weight:700;margin-bottom:var(--spacing-lg)}.introduction{color:var(--color-text-tertiary);font-size:1.125rem;line-height:1.75;margin:0 auto;max-width:750px}.section-title{color:var(--color-text-primary);font-size:2.25rem;font-weight:700;margin-bottom:var(--spacing-xxl);text-align:center}.category-section{margin:0 auto var(--spacing-xxxl);padding:0 var(--spacing-md);width:100%}.category-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0 auto;max-width:1200px}.category-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-card-surface);border:1px solid var(--color-border);border-radius:12px;cursor:pointer;padding:var(--spacing-lg);text-align:center;transition:all .3s ease}.category-card.active,.category-card:hover{background:var(--color-accent-tint-15)}.category-card.active{border-color:var(--color-accent);box-shadow:0 10px 25px -5px var(--color-accent-glow)}.category-dot{background:var(--color-accent);border-radius:50%;height:12px;margin:0 auto var(--spacing-md);width:12px}.category-name{color:var(--color-text-primary);font-size:1.125rem;font-weight:600;margin-bottom:var(--spacing-sm)}.skill-count{color:var(--color-text-muted);font-size:.875rem}.filter-info{align-items:center;background:var(--color-accent-tint-10);border:1px solid var(--color-border);border-radius:8px;display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-xl);padding:var(--spacing-lg)}.filter-text{color:var(--color-text-secondary);font-size:1rem}.clear-button{background:var(--color-accent-tint-15);border:1px solid var(--color-accent);border-radius:6px;color:var(--color-accent);cursor:pointer;font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);transition:all .3s ease}.clear-button:hover{background:var(--color-accent);color:var(--color-on-accent)}.category-badge{background:var(--color-accent-tint-15);border:1px solid var(--color-accent);border-radius:20px;color:var(--color-text-primary);font-size:.75rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-md)}.network-section{margin:0 auto;max-width:1280px;padding:0 var(--spacing-md) var(--spacing-xxxl)}.network-svg{overflow:visible;width:100%}.network-description{color:var(--color-text-tertiary);font-size:1rem;margin-bottom:var(--spacing-xxl);text-align:center}.network-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-network-bg);border:1px solid var(--color-border);border-radius:12px;margin-bottom:var(--spacing-xxl);padding:var(--spacing-lg)}.network-legend{background:var(--color-card-surface);border-radius:8px;padding:var(--spacing-lg);text-align:center}.legend-title,.network-legend{color:var(--color-text-primary)}.legend-title{font-size:.95rem;margin-bottom:var(--spacing-md)}.connections-container{border-top:1px solid var(--color-border);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.connections-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.connection-tag{background:var(--color-accent-tint-15);border:1px solid var(--color-accent);border-radius:20px;color:var(--color-accent);font-size:.8rem;padding:var(--spacing-xs) var(--spacing-md)}.landing-container{background:var(--gradient-bg);min-height:100vh;padding-top:80px}.hero{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:0 var(--spacing-md);position:relative}.bg-container{inset:0;overflow:hidden;position:absolute}.hero-content{max-width:896px;position:relative;text-align:center;z-index:10}.icon-wrapper{display:inline-block;margin-bottom:var(--spacing-xl)}.icon-circle{align-items:center;background:var(--gradient-icon-circle);border-radius:50%;box-shadow:0 25px 50px -12px var(--color-accent-glow);color:#fff;cursor:pointer;display:flex;font-size:3rem;height:128px;justify-content:center;margin:0 auto;transition:transform .3s ease;width:128px}.hero-subtitle{color:var(--color-accent-secondary);font-size:1.5rem;font-weight:300;margin-bottom:var(--spacing-md)}.hero-description{color:var(--color-text-tertiary);font-size:1.125rem;line-height:1.75;margin:0 auto var(--spacing-xxl);max-width:672px}.button-group{display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:center}.cards-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-card-surface);padding:var(--spacing-xxxl) var(--spacing-md);position:relative}.cards-container{margin:0 auto;max-width:1152px}.cards-title{color:var(--color-text-primary);font-size:2.25rem;font-weight:700;margin-bottom:var(--spacing-md);text-align:center}.cards-subtitle{color:var(--color-text-muted);font-size:1.125rem;margin-bottom:var(--spacing-xxl);text-align:center}.cards-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-card-surface);border:1px solid var(--color-border);border-radius:12px;cursor:pointer;padding:var(--spacing-xl);position:relative;transition:all .3s ease}.card:hover{border-color:var(--color-accent);box-shadow:0 20px 25px -5px var(--color-accent-glow);transform:scale(1.05)}.card-icon{background:var(--color-accent-tint-10);border-radius:8px;color:var(--color-accent-secondary);display:inline-flex;font-size:2rem;margin-bottom:var(--spacing-md);padding:var(--spacing-md);transition:transform .3s ease}.card-title{color:var(--color-text-primary);font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-sm);transition:color .3s ease}.card-description{line-height:1.75}.card-description,footer{color:var(--color-text-muted)}footer{background:var(--color-card-surface);border-top:1px solid var(--color-border);padding:var(--spacing-xl);position:relative;text-align:center}.experience-container{background:var(--gradient-bg);min-height:100vh;padding-bottom:var(--spacing-xxxl);padding-top:80px}.section{margin:0 auto var(--spacing-xxxl);max-width:900px;padding:0 var(--spacing-md)}.section-subtitle{color:var(--color-text-muted);font-size:1.125rem;margin-bottom:var(--spacing-xxl);text-align:center}.buttons-container{display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:center;margin-bottom:var(--spacing-xxl)}.tab-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-card-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;font-size:1rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-lg);transition:all .3s ease}.tab-button:hover{background:var(--color-accent-tint-15)}.tab-button.active{background:var(--gradient-primary-button);border:none;box-shadow:0 10px 25px -5px var(--color-accent-glow);color:var(--color-on-accent)}.content-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-card-surface);border:1px solid var(--color-border);border-radius:12px;padding:var(--spacing-xxl);text-align:center;transition:all .5s ease}.logo{background:var(--color-accent-tint-10);border-radius:8px;height:120px;margin-bottom:var(--spacing-lg);object-fit:contain;padding:var(--spacing-md);width:120px}.job-title{color:var(--color-text-primary);font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-sm)}.company{color:var(--color-accent-light);font-size:1.125rem;font-weight:500;margin-bottom:var(--spacing-xs)}.date{color:var(--color-text-muted);font-size:1rem;margin-bottom:var(--spacing-lg)}.description{color:var(--color-text-tertiary);font-size:1.125rem;line-height:1.75}.contact-container{background:var(--gradient-bg);min-height:100vh;overflow-x:hidden;padding-top:80px;width:100%}.main-content{margin:0 auto;max-width:1280px;padding:0 var(--spacing-md) var(--spacing-xxxl)}.contact-links-grid,.contact-links-section{margin-bottom:var(--spacing-xxxl)}.contact-links-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.contact-link{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-card-surface);border:1px solid var(--color-border);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;padding:var(--spacing-xl);text-decoration:none;transition:all .3s ease}.contact-link:hover{border-color:var(--color-accent);box-shadow:0 20px 25px -5px var(--color-accent-glow);transform:translateY(-4px)}.icon-container{align-items:center;background:var(--gradient-icon-circle);border-radius:50%;color:#fff;display:flex;font-size:1.5rem;height:60px;justify-content:center;margin-bottom:var(--spacing-md);width:60px}.contact-link-label{color:var(--color-text-primary);font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-sm)}.contact-link-value{color:var(--color-text-muted);font-size:.95rem;text-align:center}.content-row{grid-gap:var(--spacing-xxl);align-items:start;display:grid;gap:var(--spacing-xxl);grid-template-columns:1fr 1fr}.form-section,.qr-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-card-surface);border:1px solid var(--color-border);border-radius:12px;padding:var(--spacing-xxl)}.qr-section{text-align:center}.qr-container{align-items:center;display:flex;flex-direction:column}.qr-code{background:#fff;border:1px solid var(--color-border);border-radius:8px;height:250px;margin-bottom:var(--spacing-lg);object-fit:contain;padding:var(--spacing-lg);width:250px}.qr-text{color:var(--color-text-muted);font-size:.95rem}.resume-button{background:var(--gradient-primary-button);border-radius:8px;box-shadow:0 6px 18px var(--color-accent-tint-15);color:var(--color-on-accent);cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);text-align:center;text-decoration:none;transition:all .3s ease}.resume-button:hover{box-shadow:0 10px 25px -5px var(--color-accent-glow);transform:translateY(-2px)}.form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.captcha-section,.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.captcha-box{align-items:center;display:flex;gap:var(--spacing-md)}.captcha-display{background:var(--color-accent-tint-15);border:2px solid var(--color-accent);border-radius:8px;color:var(--color-accent-light);font-size:1.5rem;font-weight:700;letter-spacing:4px;min-width:120px;padding:var(--spacing-md) var(--spacing-lg);text-align:center}.captcha-input{flex:1 1}.captcha-error{color:var(--color-error);font-size:.9rem}.captcha-success{color:var(--color-success);font-size:.9rem;font-weight:600}.submit-button{margin-top:var(--spacing-md);transition:all .3s ease}.submit-button:hover{box-shadow:0 10px 25px -5px var(--color-accent-glow);transform:translateY(-2px)}.skills-container{background:var(--gradient-bg);min-height:100vh;padding-bottom:var(--spacing-xxxl);padding-top:80px}.skills-section{margin:0 auto var(--spacing-xxxl);max-width:1280px;padding:0 var(--spacing-md)}.skills-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.skill-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-card-surface);border:1px solid var(--color-border);border-radius:12px;cursor:pointer;padding:var(--spacing-xxl);transition:all .3s ease}.skill-card:hover{border-color:var(--color-accent);box-shadow:0 20px 25px -5px var(--color-accent-glow);transform:translateY(-8px)}.skill-card.active{background:var(--color-accent-tint-15);border-color:var(--color-accent)}.skill-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.learned-date{color:var(--color-text-muted);font-size:.875rem}.skill-name{color:var(--color-text-primary);font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-lg)}.skill-label{font-size:.875rem;font-weight:600;margin-bottom:var(--spacing-xs)}.selected-skill-info,.skill-label{color:var(--color-accent);margin-top:var(--spacing-md)}.selected-skill-info{background:var(--color-accent-tint-10);border-radius:8px;padding:var(--spacing-md)}.certifications-container{background:var(--gradient-bg);min-height:100vh;padding-bottom:var(--spacing-xxxl);padding-top:80px}.certifications-section{margin:0 auto var(--spacing-xxxl);max-width:1280px;padding:0 var(--spacing-md)}.certifications-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.cert-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-card-surface);border:1px solid var(--color-border);border-radius:12px;cursor:pointer;padding:var(--spacing-xxl);transition:all .3s ease}.cert-card:hover{border-color:var(--color-accent);box-shadow:0 20px 25px -5px var(--color-accent-glow);transform:translateY(-8px)}.cert-card.active{background:var(--color-accent-tint-15);border-color:var(--color-accent)}.cert-card-header{justify-content:space-between;margin-bottom:var(--spacing-md)}.cert-card-header,.cert-icon{align-items:center;display:flex}.cert-icon{background:var(--color-accent-tint-10);border-radius:50%;color:var(--color-accent);font-size:2rem;height:60px;justify-content:center;margin-right:var(--spacing-md);width:60px}.cert-name{color:var(--color-text-primary);font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-lg)}.cert-issuer{margin-bottom:var(--spacing-md)}.cert-date,.cert-issuer{color:var(--color-text-muted);font-size:.875rem}.cert-label{font-size:.875rem;font-weight:600;margin-bottom:var(--spacing-xs)}.cert-label,.selected-cert-info{color:var(--color-accent);margin-top:var(--spacing-md)}.selected-cert-info{background:var(--color-accent-tint-10);border-radius:8px;padding:var(--spacing-md)}.projects-container{background:var(--gradient-bg);min-height:100vh;padding-bottom:var(--spacing-xxxl);padding-top:80px}.projects-section{margin:0 auto var(--spacing-xxxl);max-width:1280px;padding:0 var(--spacing-md)}.projects-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fill,minmax(500px,1fr))}.project-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-card-surface);border:1px solid var(--color-border);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;padding:var(--spacing-xxl);transition:all .3s ease}.project-card:hover{border-color:var(--color-accent);box-shadow:0 20px 25px -5px var(--color-accent-glow);transform:translateY(-8px)}.project-card.active{background:var(--color-accent-tint-15)}.project-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.status-badge{background:var(--color-accent-tint-15);border:1px solid var(--color-accent);border-radius:20px;color:var(--color-accent);font-size:.75rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-md)}.project-title{color:var(--color-text-primary);font-size:1.75rem;font-weight:700;margin-bottom:var(--spacing-sm)}.project-tagline{color:var(--color-accent-secondary);font-size:1rem;font-weight:500;margin-bottom:var(--spacing-md)}.project-description{color:var(--color-text-tertiary);flex-grow:1;font-size:.95rem;line-height:1.6;margin-bottom:var(--spacing-lg)}.project-meta{border-bottom:1px solid var(--color-border);display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.meta-item{align-items:center;color:var(--color-text-muted);display:flex;font-size:.875rem;gap:var(--spacing-sm)}.tech-section{margin-bottom:var(--spacing-lg)}.tech-label{color:var(--color-accent);font-size:.875rem;font-weight:600;margin-bottom:var(--spacing-sm)}.tech-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.tech-tag{background:var(--color-accent-tint-20);border:1px solid var(--color-accent);border-radius:20px;color:var(--color-accent);cursor:pointer;font-size:.8rem;padding:var(--spacing-xs) var(--spacing-md);transition:all .2s ease}.tech-tag:hover{background:var(--color-accent);color:var(--color-on-accent);transform:scale(1.05)}.tech-tag-more{background:var(--color-accent-tint-10);border:1px solid var(--color-accent);border-radius:20px;color:var(--color-accent);font-size:.8rem;padding:var(--spacing-xs) var(--spacing-md)}.project-links{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.project-link,.project-link-btn{align-items:center;background:var(--color-accent-tint-15);border:1px solid var(--color-accent);border-radius:8px;color:var(--color-accent);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:all .3s ease}.project-link-btn:hover,.project-link:hover{background:var(--color-accent);color:var(--color-on-accent);transform:scale(1.05)}.view-details{align-items:center;border-top:1px solid var(--color-border);color:var(--color-accent-secondary-light);display:flex;font-size:.95rem;font-weight:600;gap:var(--spacing-sm);justify-content:center;margin-top:auto;padding-top:var(--spacing-md)}.project-card:hover .view-details{color:var(--color-accent)}.cta-section{margin:0 auto;max-width:800px;padding:var(--spacing-xxxl) var(--spacing-md);text-align:center}.cta-title{color:var(--color-text-primary);font-size:2.25rem;font-weight:700;margin-bottom:var(--spacing-md)}.cta-description{color:var(--color-text-tertiary);font-size:1.125rem;line-height:1.75;margin-bottom:var(--spacing-xl)}.back-button-container{margin:0 auto;max-width:1280px;padding:var(--spacing-lg) var(--spacing-md)}.back-button{align-items:center;background:var(--color-accent-tint-15);border:1px solid var(--color-accent);border-radius:8px;color:var(--color-accent);cursor:pointer;display:inline-flex;font-weight:600;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);transition:all .3s ease}.back-button:hover{background:var(--color-accent);color:var(--color-on-accent);transform:translateX(-4px)}.project-detail-hero{margin:0 auto;max-width:1280px;padding:var(--spacing-xxxl) var(--spacing-md);text-align:center}.project-tagline-large{color:var(--color-accent-secondary);font-size:1.5rem;font-weight:300;line-height:1.5;margin-bottom:var(--spacing-xxl)}.project-meta-large{display:flex;flex-wrap:wrap;gap:var(--spacing-xxl);justify-content:center;margin-bottom:var(--spacing-xxl)}.meta-item-large{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-card-surface);border:1px solid var(--color-border);border-radius:12px;display:flex;gap:var(--spacing-md);min-width:200px;padding:var(--spacing-lg)}.meta-label{color:var(--color-text-muted);font-size:.875rem;margin-bottom:var(--spacing-xs)}.meta-value{color:var(--color-text-primary);font-size:1rem;font-weight:600}.project-links-large{display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:center}.project-link-btn-large{align-items:center;background:var(--gradient-primary-button);border:none;border-radius:8px;box-shadow:0 6px 18px var(--color-accent-tint-15);color:var(--color-on-accent);display:inline-flex;font-size:1rem;font-weight:600;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);text-decoration:none;transition:all .3s ease}.project-link-btn-large:hover{box-shadow:0 10px 25px -5px var(--color-accent-glow);transform:translateY(-2px)}.project-detail-content{margin:0 auto;max-width:1000px;padding:0 var(--spacing-md) var(--spacing-xxxl)}.detail-section{margin-bottom:var(--spacing-xxxl)}.detail-section-title{-webkit-text-fill-color:#0000;background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;color:var(--color-text-primary);font-size:2rem;font-weight:700;margin-bottom:var(--spacing-lg)}.detail-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-card-surface);border:1px solid var(--color-border);border-radius:12px;padding:var(--spacing-xxl)}.detail-text{color:var(--color-text-tertiary);font-size:1.125rem;line-height:1.8;white-space:pre-line}.contributions-list{display:flex;flex-direction:column;gap:var(--spacing-md);list-style:none;margin:0;padding:0}.contribution-item{align-items:flex-start;color:var(--color-text-tertiary);display:flex;font-size:1rem;gap:var(--spacing-md);line-height:1.6}.contribution-item svg{color:var(--color-accent);flex-shrink:0;height:20px;margin-top:2px;width:20px}.contribution-item span{flex:1 1}.tech-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.tech-item{background:var(--color-accent-tint-15);border:1px solid var(--color-accent);border-radius:8px;color:var(--color-accent);cursor:pointer;font-size:.95rem;font-weight:600;padding:var(--spacing-md) var(--spacing-lg);text-align:center;transition:all .3s ease}.tech-item:hover{background:var(--color-accent);box-shadow:0 10px 15px -3px var(--color-accent-glow);color:var(--color-on-accent);transform:translateY(-4px)}.highlights-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));justify-items:stretch}.highlights-grid:has(.highlight-item:nth-child(4):last-child){grid-template-columns:repeat(2,1fr);margin:0 auto;max-width:800px}.highlights-grid:has(.highlight-item:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}.highlights-grid:has(.highlight-item:nth-child(2):last-child){grid-template-columns:repeat(2,1fr);margin:0 auto;max-width:600px}.highlights-grid:has(.highlight-item:only-child){grid-template-columns:1fr;margin:0 auto;max-width:400px}.highlight-item{align-items:center;background:var(--color-accent-tint-10);border:1px solid var(--color-border);border-radius:8px;display:flex;flex-direction:column;padding:var(--spacing-lg);text-align:center}.highlight-icon{color:var(--color-accent);font-size:2rem;margin-bottom:var(--spacing-sm)}.highlight-item p{color:var(--color-text-tertiary);font-size:.95rem;line-height:1.5}.related-projects{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.related-project-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-card-surface);border:1px solid var(--color-border);border-radius:12px;cursor:pointer;padding:var(--spacing-xl);position:relative;transition:all .3s ease}.related-project-card:hover{border-color:var(--color-accent);box-shadow:0 10px 15px -3px var(--color-accent-glow);transform:translateY(-4px)}.related-project-title{color:var(--color-text-primary);font-size:1.25rem;font-weight:700;margin-bottom:var(--spacing-sm)}.related-project-description{color:var(--color-text-muted);font-size:.95rem;line-height:1.6;margin-bottom:var(--spacing-md)}.related-project-arrow{color:var(--color-accent);transition:transform .3s ease}.related-project-card:hover .related-project-arrow{transform:translateX(4px)}.error-container{margin:0 auto;max-width:600px;padding:var(--spacing-xxxl) var(--spacing-md);text-align:center}.theme-switcher{align-items:center;background:none;border:none;border-radius:20px;cursor:pointer;display:flex;height:32px;justify-content:center;outline-offset:2px;padding:0;position:relative;transition:all .2s ease-out;width:64px}.theme-switcher:hover{opacity:.9}.theme-switcher:active{transform:scale(.95)}.theme-switcher:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.theme-switcher-pill{background:#f0f0f0;border-radius:20px;box-shadow:inset 0 2px 4px #0000001a;display:flex;height:100%;overflow:hidden;position:relative;width:100%}.theme-switcher-side--purple{background:linear-gradient(135deg,#8b5cf6,#6d28d9);flex:1 1;position:relative}.theme-switcher-side--teal{background:linear-gradient(135deg,#0d9488,#0b7f75);flex:1 1;position:relative}.theme-switcher-knob{background:#fff;border-radius:50%;box-shadow:0 2px 8px #0003;height:28px;left:2px;position:absolute;top:50%;transform:translateY(-50%);transition:all .22s cubic-bezier(.2,.9,.3,1);width:28px}.theme-switcher-knob--purple{background:linear-gradient(135deg,#8b5cf6,#6d28d9);box-shadow:0 4px 12px #8b5cf64d;left:2px}.theme-switcher-knob--teal{background:linear-gradient(135deg,#0d9488,#0b7f75);box-shadow:0 4px 12px #0d94884d;left:34px}.theme-switcher:hover .theme-switcher-knob{box-shadow:0 6px 16px #0003;transform:translateY(-50%) translateY(-2px)}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}html[data-theme=purple]:before,html[data-theme=teal]:before{background:linear-gradient(135deg,var(--current-theme-glow) 0,#0000 50%,var(--current-theme-glow) 100%);content:"";height:100%;left:0;opacity:.04;pointer-events:none;position:fixed;top:0;transition:opacity .35s ease-out;width:100%;z-index:-1}.btn-primary,.btn-secondary,.card,a,button,input,textarea{transition:background-color .25s ease-out,color .25s ease-out,border-color .25s ease-out,box-shadow .25s ease-out}@media (prefers-reduced-motion:reduce){.theme-switcher-knob{transition:none}.theme-switcher:hover .theme-switcher-knob{transform:translateY(-50%)}.btn-primary,.btn-secondary,.card,a,button,html[data-theme=purple]:before,html[data-theme=teal]:before,input,textarea{transition:none}}@media (prefers-contrast:more){.theme-switcher:focus-visible{outline-width:4px}.theme-switcher-pill{box-shadow:inset 0 0 0 2px currentColor}.theme-switcher-knob{box-shadow:0 0 0 2px currentColor}}@media (max-width:1024px){.projects-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.highlights-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (max-width:768px){.projects-grid{gap:var(--spacing-lg);grid-template-columns:1fr}.project-card{padding:var(--spacing-xl)}.project-meta{flex-direction:column;gap:var(--spacing-sm)}.project-meta-large{gap:var(--spacing-lg)}.meta-item-large{min-width:auto}.project-links-large{flex-direction:column}.project-link-btn-large{justify-content:center;width:100%}.tech-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.related-projects{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.highlights-grid{grid-template-columns:1fr}.highlights-grid:has(.highlight-item:nth-child(4):last-child){grid-template-columns:1fr;max-width:100%}.highlights-grid:has(.highlight-item:nth-child(3):last-child){grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.highlights-grid:has(.highlight-item:nth-child(2):last-child){grid-template-columns:1fr;max-width:100%}}@media (max-width:480px){.projects-grid{gap:var(--spacing-md);grid-template-columns:1fr}.project-card{padding:var(--spacing-lg)}.project-title{font-size:1.25rem}.project-tagline{font-size:.875rem}.tech-tags{gap:var(--spacing-xs)}.tech-tag{font-size:.7rem;padding:var(--spacing-xs) var(--spacing-sm)}.project-links{flex-direction:column;gap:var(--spacing-sm)}.project-link-btn{justify-content:center;width:100%}.project-detail-hero{padding:var(--spacing-xl) var(--spacing-md)}.project-tagline-large{font-size:1.125rem;margin-bottom:var(--spacing-lg)}.project-meta-large{gap:var(--spacing-md)}.meta-item-large{flex-direction:column;min-width:auto;padding:var(--spacing-md)}.tech-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.tech-item{font-size:.8rem;padding:var(--spacing-sm) var(--spacing-md)}.related-projects{grid-template-columns:1fr}.related-project-card{padding:20px}.related-project-title{font-size:1.1rem}.highlight-item{padding:var(--spacing-md)}.highlight-icon{font-size:1.5rem}.detail-card{padding:var(--spacing-lg)}.detail-section-title{font-size:1.5rem}.detail-text{font-size:1rem}.cta-title{font-size:1.5rem}.cta-description{font-size:1rem}}.construction-container{align-items:center;background:var(--gradient-bg);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding-top:80px;position:relative}.construction-bg-container{inset:0;overflow:hidden;position:fixed;z-index:1}.construction-blob-1,.construction-blob-2{border-radius:50%;filter:blur(80px);height:300px;mix-blend-mode:multiply;position:absolute;width:300px}.construction-blob-1{background:var(--color-accent);left:10%;top:10%}.construction-blob-2{background:var(--color-accent-secondary);bottom:10%;right:10%}.construction-content{max-width:600px;padding:var(--spacing-xxl);position:relative;text-align:center;z-index:10}.construction-icon{display:inline-block;font-size:80px;margin-bottom:var(--spacing-xl)}.construction-title{-webkit-text-fill-color:#0000;background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:700;margin-bottom:var(--spacing-md)}.construction-subtitle{color:var(--color-text-muted);font-size:1.25rem;margin-bottom:var(--spacing-md)}.construction-description{color:var(--color-text-tertiary);font-size:1rem;line-height:1.8;margin-bottom:var(--spacing-xxl)}.progress-container{margin:var(--spacing-xxl) 0}.progress-label{color:var(--color-accent);font-size:.9rem;font-weight:600;margin-bottom:var(--spacing-md)}.progress-bar{background:var(--color-accent-tint-20);border:1px solid var(--color-border);border-radius:10px;height:8px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,var(--color-accent) 0,var(--color-accent-secondary) 100%);border-radius:10px;height:100%;width:65%}.contact-section{border-top:1px solid var(--color-border-light);margin-top:var(--spacing-xxxl);padding-top:var(--spacing-xl)}.contact-label{color:var(--color-text-muted);font-size:.9rem;margin-bottom:var(--spacing-lg)}.contact-links{display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:center}@media (max-width:1024px){.cards-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.certifications-grid,.skills-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.hero-title{font-size:2.5rem}.cards-title,.section-title{font-size:1.75rem}.content-row{gap:var(--spacing-lg);grid-template-columns:1fr}.contact-links-grid{grid-template-columns:repeat(2,1fr)}.category-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.cards-grid{grid-template-columns:1fr}.certifications-grid,.skills-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.button-group{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.hero-subtitle{font-size:1.25rem}.hero-description{font-size:1rem}.tech-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}}@media (max-width:480px){html[data-theme=purple],html[data-theme=teal]{--spacing-xxxl:32px;--spacing-xxl:32px}.hero-title{font-size:1.75rem}.construction-title{font-size:2rem}.cards-title,.section-title{font-size:1.5rem}.contact-links-grid{grid-template-columns:1fr}.captcha-box{flex-direction:column}.captcha-input{width:100%}.category-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.contact-links{flex-direction:column;width:100%}.contact-link{justify-content:center;width:100%}.buttons-container{flex-direction:column}.tab-button{width:100%}.card,.cert-card,.skill-card{padding:var(--spacing-lg)}}
/*# sourceMappingURL=main.9055c122.css.map*/