:root{--primary:#0a66c2;--primary-hover:#004182;--primary-light:#e8f4fd;--primary-bg:#0a66c214;--bg-main:#f4f2ee;--bg-surface:#fff;--bg-sidebar:#1b1f23;--bg-sidebar-hover:#2d333b;--text-primary:#191919;--text-secondary:#666;--text-tertiary:#999;--text-on-dark:#e6edf3;--text-on-dark-secondary:#8b949e;--border-light:#e0e0e0;--border-card:#00000014;--accent-green:#057642;--accent-green-bg:#e8f5e9;--accent-orange:#b24020;--accent-orange-bg:#fff3e0;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--shadow-card:0 0 0 1px var(--border-card),0 2px 4px #0000000a;--sidebar-width:260px;--content-max-width:900px;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--transition-fast:0.15s ease;--transition-normal:0.25s ease;--transition-slow:0.4s ease;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px}[data-theme=dark]{--bg-main:#0d1117;--bg-surface:#161b22;--bg-sidebar:#010409;--bg-sidebar-hover:#1c2128;--text-primary:#e6edf3;--text-secondary:#8b949e;--text-tertiary:#6e7681;--text-on-dark:#e6edf3;--text-on-dark-secondary:#8b949e;--border-light:#30363d;--border-card:#ffffff0f;--primary-light:#1a3a5c;--primary-bg:#0a66c226;--accent-green-bg:#05764226;--accent-orange-bg:#b2402026;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 24px #00000080;--shadow-card:0 0 0 1px var(--border-card),0 2px 4px #0003}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f2ee;background:var(--bg-main);color:#191919;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family);line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#999}::selection{background:#e8f4fd;background:var(--primary-light);color:#0a66c2;color:var(--primary)}a{color:inherit;text-decoration:none;transition:color .15s ease;transition:color var(--transition-fast)}img{display:block;height:auto;max-width:100%}:focus{outline:none}:focus-visible{border-radius:2px;outline:2px solid #0a66c2;outline:2px solid var(--primary);outline-offset:2px}@media (max-width:768px){html{font-size:15px}}.sidebar{background:var(--bg-sidebar);border-right:1px solid #ffffff0f;display:flex;flex-direction:column;height:100vh;left:0;overflow-y:auto;position:fixed;top:0;width:var(--sidebar-width);z-index:900}.sidebar-profile{border-bottom:1px solid #ffffff0f;padding:32px 24px 24px;text-align:center}.sidebar-avatar{background:var(--bg-sidebar);border:3px solid var(--primary);border-radius:50%;height:80px;margin:0 auto 14px;object-fit:cover;padding:2px;width:80px}.sidebar-name{color:var(--text-on-dark);font-size:1.05rem;font-weight:700;letter-spacing:-.01em;margin-bottom:4px}.sidebar-role{color:var(--text-on-dark-secondary);font-size:.8rem;font-weight:400;margin-bottom:12px}.sidebar-status{align-items:center;background:#05764226;border-radius:var(--radius-full);color:#57c97c;display:inline-flex;font-size:.72rem;font-weight:600;gap:6px;letter-spacing:.02em;padding:5px 14px}.status-dot{animation:pulse-dot 2s ease-in-out infinite;background:#57c97c;border-radius:50%;height:7px;width:7px}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;padding:16px 12px}.nav-item{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-on-dark-secondary);cursor:pointer;display:flex;font-family:var(--font-family);font-size:.85rem;font-weight:500;gap:12px;padding:10px 16px;position:relative;text-align:left;transition:all var(--transition-fast);width:100%}.nav-item:hover{background:var(--bg-sidebar-hover);color:var(--text-on-dark)}.nav-item.active{background:#0a66c22e;color:#58a6ff}.nav-icon{align-items:center;display:flex;flex-shrink:0;font-size:.9rem;justify-content:center;width:20px}.nav-label{flex:1 1}.nav-indicator{background:var(--primary);border-radius:2px;height:20px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:3px}.sidebar-theme-toggle{margin-bottom:8px;padding:0 12px}.theme-toggle-btn{align-items:center;background:var(--bg-sidebar-hover);border:1px solid #ffffff0f;border-radius:var(--radius-sm);color:var(--text-on-dark-secondary);cursor:pointer;display:flex;font-family:var(--font-family);font-size:.82rem;font-weight:500;gap:10px;padding:10px 16px;transition:all var(--transition-fast);width:100%}.theme-toggle-btn:hover{background:#ffffff1a;color:var(--text-on-dark)}.theme-toggle-btn svg{color:#f59e0b;font-size:.95rem}.sidebar-footer{border-top:1px solid #ffffff0f;padding:16px 24px 24px;text-align:center}.sidebar-socials{display:flex;gap:16px;justify-content:center;margin-bottom:12px}.sidebar-socials a{align-items:center;background:var(--bg-sidebar-hover);border-radius:var(--radius-sm);color:var(--text-on-dark-secondary);display:flex;font-size:.9rem;height:34px;justify-content:center;transition:all var(--transition-fast);width:34px}.sidebar-socials a:hover{background:var(--primary);color:#fff;transform:translateY(-1px)}.sidebar-copyright{color:var(--text-on-dark-secondary);font-size:.68rem;opacity:.5}.mobile-header{background:var(--bg-sidebar);border-bottom:1px solid #ffffff0f;display:none;height:60px;left:0;position:fixed;right:0;top:0;z-index:950}.mobile-header-content{align-items:center;display:flex;height:100%;justify-content:space-between;padding:0 16px}.mobile-brand{align-items:center;color:var(--text-on-dark);display:flex;font-size:.95rem;font-weight:600;gap:10px}.mobile-avatar{border:2px solid var(--primary);border-radius:50%;height:32px;object-fit:cover;width:32px}.hamburger-btn{align-items:center;background:none;border:none;color:var(--text-on-dark);cursor:pointer;display:flex;font-size:1.2rem;justify-content:center;padding:8px}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:none;inset:0;position:fixed;z-index:890}@media (max-width:900px){.mobile-header,.sidebar-overlay{display:block}.sidebar{box-shadow:none;transform:translateX(-100%);transition:transform var(--transition-normal)}.sidebar.open{box-shadow:8px 0 24px #0000004d;transform:translateX(0)}}.hero-section{margin:0 auto;max-width:var(--content-max-width);padding:32px 40px 0}.hero-card{overflow:hidden;position:relative}.hero-cover{background:linear-gradient(135deg,#0a66c2,#004182 50%,#1b1f23);border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:160px;position:relative}.hero-cover-pattern{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z' fill='%23fff' fill-opacity='.05' fill-rule='evenodd'/%3E%3C/svg%3E");inset:0;position:absolute}.hero-body{padding:0 32px 32px;position:relative}.hero-avatar-wrapper{display:inline-block;margin-bottom:16px;margin-top:-52px;position:relative}.hero-avatar{border:4px solid var(--bg-surface);border-radius:50%;box-shadow:var(--shadow-md);height:120px;object-fit:cover;width:120px}.hero-online-dot{background:#057642;border:3px solid var(--bg-surface);border-radius:50%;bottom:8px;height:18px;position:absolute;right:8px;width:18px}.hero-info{margin-bottom:24px}.hero-name{color:var(--text-primary);font-size:1.8rem;font-weight:800;letter-spacing:-.03em;margin-bottom:4px}.hero-typed{color:var(--primary);font-size:1.1rem;font-weight:600;margin-bottom:6px;min-height:1.5em}.typed-cursor{animation:blink 1s step-end infinite;color:var(--primary);font-weight:300}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.hero-tagline{color:var(--text-secondary);font-size:.9rem;margin-bottom:12px}.hero-meta{flex-wrap:wrap;gap:20px}.hero-meta,.meta-item{align-items:center;display:flex}.meta-item{color:var(--text-tertiary);font-size:.82rem;gap:5px}.meta-item svg{font-size:.75rem}.meta-link a{color:var(--primary);font-weight:500}.meta-link a:hover{text-decoration:underline}.hero-stats{border:1px solid var(--border-light);border-radius:var(--radius-md);display:flex;gap:0;margin-bottom:24px;overflow:hidden}.stat-item{border-right:1px solid var(--border-light);flex:1 1;padding:16px;text-align:center}.stat-item:last-child{border-right:none}.stat-number{color:var(--primary);display:block;font-size:1.5rem;font-weight:800;letter-spacing:-.03em}.stat-label{color:var(--text-tertiary);display:block;font-size:.75rem;font-weight:500;letter-spacing:.05em;margin-top:2px;text-transform:uppercase}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.hero-btn{align-items:center;border:none;border-radius:var(--radius-full);cursor:pointer;display:inline-flex;font-family:var(--font-family);font-size:.85rem;font-weight:600;gap:8px;padding:10px 20px;transition:all var(--transition-fast)}.hero-btn-primary{background:var(--primary);color:#fff}.hero-btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-md)}.hero-btn-secondary{background:var(--bg-sidebar);color:var(--text-on-dark)}.hero-btn-secondary:hover{background:#2d333b;box-shadow:var(--shadow-md)}.hero-btn-outline{background:#0000;border:1.5px solid var(--primary);color:var(--primary)}.hero-btn-outline:hover{background:var(--primary-bg)}@media (max-width:900px){.hero-section{padding:16px 20px 0}.hero-cover{height:120px}.hero-body{padding:0 20px 24px}.hero-avatar{height:96px;width:96px}.hero-avatar-wrapper{margin-top:-44px}}@media (max-width:480px){.hero-name{font-size:1.4rem}.hero-typed{font-size:.95rem}.hero-stats{flex-direction:column}.stat-item{border-bottom:1px solid var(--border-light);border-right:none;padding:12px}.stat-item:last-child{border-bottom:none}.hero-actions{flex-direction:column}.hero-btn{justify-content:center}}.about-content{max-width:100%}.about-intro{color:var(--text-primary);font-size:1rem;line-height:1.7;margin-bottom:28px}.about-intro strong{color:var(--primary);font-weight:700}.about-highlights{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.highlight-card{background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:20px;transition:all var(--transition-normal)}.highlight-card:hover{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.highlight-icon{align-items:center;background:var(--primary-bg);border-radius:var(--radius-sm);color:var(--primary);display:flex;font-size:1rem;height:36px;justify-content:center;margin-bottom:12px;width:36px}.highlight-card h4{color:var(--text-primary);font-size:.9rem;font-weight:700;margin-bottom:6px}.highlight-card p{color:var(--text-secondary);font-size:.82rem;line-height:1.5}.about-text{color:var(--text-secondary);font-size:.92rem;line-height:1.7}@media (max-width:768px){.about-highlights{grid-template-columns:1fr}}.github-profile-link{align-items:center;color:var(--primary);display:inline-flex;font-size:.8rem;font-weight:600;gap:6px;margin-left:auto;transition:opacity var(--transition-fast)}.github-profile-link:hover{opacity:.7}.github-profile-link svg{font-size:.65rem}.github-loading{align-items:center;color:var(--text-tertiary);display:flex;font-size:.88rem;gap:12px;justify-content:center;padding:40px}.github-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.github-stat-card{background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:20px 16px;text-align:center;transition:border-color var(--transition-fast)}.github-stat-card:hover{border-color:var(--primary)}.github-stat-icon{color:var(--primary);font-size:1.2rem;margin-bottom:8px}.github-stat-number{color:var(--text-primary);display:block;font-size:1.6rem;font-weight:800;letter-spacing:-.03em;line-height:1.2}.github-stat-label{color:var(--text-tertiary);display:block;font-size:.72rem;font-weight:500;letter-spacing:.05em;margin-top:4px;text-transform:uppercase}.github-charts-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1.2fr 1fr;margin-bottom:24px}.github-chart-box{background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:20px}.github-chart-box h4{color:var(--text-primary);font-size:.88rem;font-weight:700;margin-bottom:12px}.github-pie-wrapper{align-items:center;display:flex;gap:8px}.github-legend{display:flex;flex-direction:column;gap:6px;min-width:100px}.legend-item{align-items:center;display:flex;font-size:.75rem;gap:6px}.legend-dot{border-radius:2px;flex-shrink:0;height:8px;width:8px}.legend-label{color:var(--text-secondary);flex:1 1;font-weight:500}.legend-count{color:var(--text-tertiary);font-size:.7rem}.github-contrib-box{background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:20px}.github-contrib-box h4{color:var(--text-primary);font-size:.88rem;font-weight:700;margin-bottom:12px}.github-contrib-img{border-radius:var(--radius-sm);width:100%}@media (max-width:768px){.github-stats-grid{grid-template-columns:repeat(2,1fr)}.github-charts-row{grid-template-columns:1fr}.github-pie-wrapper{flex-direction:column}.github-legend{flex-direction:row;flex-wrap:wrap;gap:8px}}@media (max-width:480px){.github-stats-grid{gap:8px;grid-template-columns:repeat(2,1fr)}.github-stat-card{padding:14px 10px}.github-stat-number{font-size:1.3rem}}.edu-university{align-items:center;background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-md);display:flex;gap:20px;justify-content:space-between;margin-bottom:24px;padding:20px 24px}.edu-uni-info h3{color:var(--text-primary);font-size:1.05rem;font-weight:700;margin-bottom:4px}.edu-degree{color:var(--text-secondary);font-size:.88rem;font-weight:500}.edu-year{color:var(--text-tertiary);font-size:.78rem;margin-top:2px}.edu-cgpa-badge{align-items:center;background:var(--primary-bg);border:2px solid var(--primary);border-radius:50%;display:flex;flex-direction:column;flex-shrink:0;height:72px;justify-content:center;width:72px}.cgpa-number{color:var(--primary);font-size:1.3rem;font-weight:800;line-height:1}.cgpa-label{color:var(--primary);font-size:.6rem;font-weight:600;letter-spacing:.08em;margin-top:2px;text-transform:uppercase}.edu-stats-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.edu-stat{background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:16px 12px;text-align:center}.edu-stat-value{color:var(--primary);display:block;font-size:1.4rem;font-weight:800;letter-spacing:-.03em}.edu-stat-label{color:var(--text-tertiary);display:block;font-size:.7rem;font-weight:600;letter-spacing:.05em;margin-top:4px;text-transform:uppercase}.edu-chart-box{background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-md);margin-bottom:24px;padding:20px}.edu-chart-box h4{color:var(--text-primary);font-size:.88rem;font-weight:700;margin-bottom:12px}.edu-table-wrapper{margin-bottom:24px;overflow-x:auto}.edu-table{border-collapse:collapse;font-size:.85rem;width:100%}.edu-table th{color:var(--text-tertiary);font-size:.72rem;font-weight:600;letter-spacing:.05em;padding:10px 14px;text-align:left;text-transform:uppercase}.edu-table td,.edu-table th{border-bottom:1px solid var(--border-light)}.edu-table td{color:var(--text-secondary);padding:12px 14px}.edu-sem-name{color:var(--text-primary);font-weight:600}.sgpa-pill{border-radius:var(--radius-full);display:inline-block;font-size:.78rem;font-weight:700;padding:3px 10px}.sgpa-high{background:var(--accent-green-bg);color:var(--accent-green)}.sgpa-mid{background:var(--primary-bg);color:var(--primary)}.sgpa-normal{background:var(--bg-main);border:1px solid var(--border-light);color:var(--text-secondary)}.status-pass{color:var(--accent-green);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.edu-coursework{margin-top:4px}.edu-coursework h4{color:var(--text-primary);font-size:.88rem;font-weight:700;margin-bottom:12px}.coursework-tags{display:flex;flex-wrap:wrap;gap:8px}@media (max-width:768px){.edu-university{flex-direction:column;text-align:center}.edu-stats-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.edu-stats-row{gap:8px;grid-template-columns:repeat(2,1fr)}.edu-stat{padding:12px 8px}}.exp-timeline{position:relative}.exp-item{display:flex;gap:20px;padding-bottom:28px}.exp-item:last-child{padding-bottom:0}.exp-dot-line{align-items:center;display:flex;flex-direction:column;flex-shrink:0;padding-top:4px}.exp-dot{background:var(--border-light);border:2px solid var(--bg-surface);border-radius:50%;box-shadow:0 0 0 2px var(--border-light);flex-shrink:0;height:12px;width:12px}.exp-dot-active{background:var(--primary);box-shadow:0 0 0 2px var(--primary),0 0 0 5px #0a66c226}.exp-line{background:var(--border-light);flex:1 1;margin-top:8px;width:2px}.exp-content{border-bottom:1px solid var(--border-light);flex:1 1;padding-bottom:8px}.exp-item:last-child .exp-content{border-bottom:none}.exp-top{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.exp-role{color:var(--text-primary);font-size:1rem;font-weight:700;margin-bottom:2px}.exp-company{color:var(--text-secondary);font-size:.85rem;font-weight:500}.exp-company span{color:var(--text-tertiary);font-weight:400}.exp-duration{color:var(--text-tertiary);font-size:.78rem;margin-top:2px}.exp-desc{color:var(--text-secondary);font-size:.88rem;line-height:1.6;margin-bottom:12px}.exp-skills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.exp-toggle{align-items:center;background:none;border:none;color:var(--primary);cursor:pointer;display:inline-flex;font-family:var(--font-family);font-size:.82rem;font-weight:600;gap:5px;margin-bottom:8px;padding:0}.exp-toggle:hover{text-decoration:underline}.exp-details{background:var(--bg-main);border-left:3px solid var(--primary);border-radius:var(--radius-sm);margin-bottom:12px;padding:12px 16px}.exp-details ul{list-style:none;padding:0}.exp-details li{color:var(--text-secondary);font-size:.84rem;padding:3px 0 3px 16px;position:relative}.exp-details li:before{color:var(--primary);content:"→";font-weight:700;left:0;position:absolute}.exp-cert-link{align-items:center;color:var(--primary);display:inline-flex;font-size:.8rem;font-weight:600;gap:6px;transition:opacity var(--transition-fast)}.exp-cert-link:hover{opacity:.7}@media (max-width:480px){.exp-dot-line{display:none}.exp-item{gap:0}.exp-top{flex-direction:column}}.project-count{background:var(--bg-main);border-radius:var(--radius-full);color:var(--text-tertiary);font-size:.78rem;font-weight:500;margin-left:auto;padding:4px 12px}.project-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.filter-chip{background:var(--bg-surface);border:1.5px solid var(--border-light);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;font-family:var(--font-family);font-size:.8rem;font-weight:600;padding:7px 18px;transition:all var(--transition-fast)}.filter-chip:hover{border-color:var(--primary);color:var(--primary)}.filter-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.projects-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.project-card{background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-md);display:flex;flex-direction:column;padding:24px}.project-card-header{margin-bottom:12px}.project-name{color:var(--text-primary);font-size:1rem;font-weight:700;line-height:1.3;margin-bottom:8px}.project-desc{color:var(--text-secondary);font-size:.84rem;line-height:1.6;margin-bottom:14px}.project-tech{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px}.tech-tag{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-full);color:var(--text-secondary);display:inline-block;font-size:.7rem;font-weight:500;padding:3px 10px}.project-expand{align-items:center;align-self:flex-start;background:none;border:none;color:var(--primary);cursor:pointer;display:inline-flex;font-family:var(--font-family);font-size:.8rem;font-weight:600;gap:5px;margin-bottom:10px;padding:0}.project-expand:hover{text-decoration:underline}.project-details-box{background:var(--bg-surface);border-left:3px solid var(--primary);border-radius:var(--radius-sm);margin-bottom:14px;padding:12px 16px}.project-details-box p{color:var(--text-secondary);font-size:.82rem;line-height:1.6}.project-links{border-top:1px solid var(--border-light);display:flex;gap:8px;margin-top:auto;padding-top:12px}.project-link{align-items:center;border:1.5px solid var(--border-light);border-radius:var(--radius-full);color:var(--text-secondary);display:inline-flex;font-family:var(--font-family);font-size:.78rem;font-weight:600;gap:6px;padding:7px 16px;transition:all var(--transition-fast)}.project-link:hover{border-color:var(--primary);color:var(--primary)}.project-link-primary{background:var(--primary);border-color:var(--primary);color:#fff}.project-link-primary:hover{background:var(--primary-hover);color:#fff}@media (max-width:768px){.projects-grid{grid-template-columns:1fr}}.cert-count{background:var(--bg-main);border-radius:var(--radius-full);color:var(--text-tertiary);font-size:.78rem;font-weight:500;margin-left:auto;padding:4px 12px}.certs-grid{display:flex;flex-direction:column;gap:4px}.cert-item{align-items:center;border:1px solid #0000;border-radius:var(--radius-sm);display:flex;gap:16px;padding:16px;transition:background var(--transition-fast)}.cert-item:hover{background:var(--bg-main);border-color:var(--border-light)}.cert-icon-col{flex-shrink:0}.cert-badge{align-items:center;background:var(--primary-bg);border-radius:var(--radius-sm);color:var(--primary);display:flex;font-size:1rem;height:40px;justify-content:center;width:40px}.cert-info{flex:1 1}.cert-name{color:var(--text-primary);font-size:.9rem;font-weight:700;margin-bottom:2px}.cert-provider{color:var(--text-tertiary);font-size:.8rem}.cert-view-link{align-items:center;border-radius:var(--radius-sm);color:var(--text-tertiary);display:flex;flex-shrink:0;font-size:.82rem;height:34px;justify-content:center;transition:all var(--transition-fast);width:34px}.cert-view-link:hover{background:var(--primary-bg);color:var(--primary)}@media (max-width:480px){.cert-item{gap:12px;padding:12px}.cert-badge{font-size:.85rem;height:34px;width:34px}}.badges-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}.badge-card{align-items:center;background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-md);color:inherit;display:flex;gap:14px;padding:16px 18px;position:relative;text-decoration:none}.badge-card:hover{border-color:var(--primary)}.badge-img-wrapper{align-items:center;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.badge-img{border-radius:4px;height:48px;object-fit:contain;width:48px}.badge-info{flex:1 1;min-width:0}.badge-name{color:var(--text-primary);font-size:.88rem;font-weight:700;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-platform{color:var(--text-tertiary);font-size:.75rem}.badge-ext-icon{color:var(--text-tertiary);flex-shrink:0;font-size:.7rem;opacity:0;transition:opacity var(--transition-fast)}.badge-card:hover .badge-ext-icon{color:var(--primary);opacity:1}@media (max-width:768px){.badges-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.badges-grid{grid-template-columns:1fr}}.skills-layout{display:flex;flex-direction:column;gap:28px}.skills-soft-panel h3,.skills-tech-panel h3{color:var(--text-primary);font-size:1rem;font-weight:700;margin-bottom:16px}.skills-tech-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.skills-tech-header h3{margin-bottom:0}.chart-toggle{background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-full);display:flex;gap:4px;padding:3px}.toggle-chip{background:#0000;border:none;border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;font-family:var(--font-family);font-size:.75rem;font-weight:600;padding:5px 14px;transition:all var(--transition-fast)}.toggle-chip.active{background:var(--bg-surface);box-shadow:var(--shadow-sm);color:var(--primary)}.chart-container{background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-md);margin-bottom:28px;padding:16px}.progress-bars{gap:14px}.progress-bars,.progress-item{display:flex;flex-direction:column}.progress-item{gap:6px}.progress-label{align-items:center;color:var(--text-primary);display:flex;font-size:.82rem;font-weight:600;justify-content:space-between}.progress-pct{color:var(--text-tertiary);font-size:.78rem;font-weight:500}.progress-track{background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-full);height:6px;overflow:hidden}.progress-fill{border-radius:var(--radius-full);height:100%;transition:width 1.2s cubic-bezier(.25,.46,.45,.94);width:0}.soft-skills-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.soft-skill-item{align-items:center;background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;font-size:.84rem;font-weight:500;gap:10px;opacity:0;padding:10px 14px;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease,border-color var(--transition-fast)}.soft-skill-item.animate{opacity:1;transform:translateY(0)}.soft-skill-item:hover{border-color:var(--primary)}.soft-check{color:var(--accent-green);font-size:.8rem;font-weight:700}@media (max-width:768px){.soft-skills-grid{grid-template-columns:1fr}.skills-tech-header{align-items:flex-start;flex-direction:column;gap:12px}}.contact-layout{grid-gap:36px;display:grid;gap:36px;grid-template-columns:1fr 1.2fr}.contact-intro{color:var(--text-secondary);font-size:.92rem;line-height:1.7;margin-bottom:24px}.contact-details{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.contact-detail-item{align-items:flex-start;display:flex;gap:12px}.contact-detail-icon{color:var(--primary);flex-shrink:0;font-size:.9rem;margin-top:3px}.contact-detail-label{color:var(--text-tertiary);display:block;font-size:.72rem;font-weight:600;letter-spacing:.05em;margin-bottom:2px;text-transform:uppercase}.contact-detail-value{color:var(--text-primary);font-size:.88rem;font-weight:500}a.contact-detail-value:hover{color:var(--primary)}.contact-social-links{display:flex;gap:8px}.contact-social-btn{align-items:center;border:1.5px solid var(--border-light);border-radius:var(--radius-full);color:var(--text-secondary);display:inline-flex;font-size:.8rem;font-weight:600;gap:7px;padding:9px 18px;transition:all var(--transition-fast)}.contact-social-btn:hover{background:var(--primary-bg);border-color:var(--primary);color:var(--primary)}.contact-form{gap:16px}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{color:var(--text-primary);font-size:.8rem;font-weight:600}.form-group input,.form-group textarea{background:var(--bg-main);border:1.5px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-family);font-size:.88rem;padding:11px 14px;resize:vertical;transition:border-color var(--transition-fast)}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0a66c21a}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-tertiary)}.submit-btn{align-items:center;align-self:flex-start;background:var(--primary);border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-family);font-size:.88rem;font-weight:600;gap:8px;justify-content:center;padding:12px 28px;transition:all var(--transition-fast)}.submit-btn:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-md)}.submit-btn:disabled{cursor:not-allowed;opacity:.6}.form-status{border-radius:var(--radius-sm);font-size:.84rem;font-weight:500;padding:12px 16px}.form-status-success{background:var(--accent-green-bg);border:1px solid #05764233;color:var(--accent-green)}.form-status-error{background:var(--accent-orange-bg);border:1px solid #b2402033;color:var(--accent-orange)}@media (max-width:768px){.contact-layout{gap:24px;grid-template-columns:1fr}}.footer-section{background:var(--bg-sidebar);color:var(--text-on-dark-secondary);margin-top:20px}.footer-inner{margin:0 auto;max-width:var(--content-max-width);padding:36px 40px 24px}.footer-top{align-items:center;border-bottom:1px solid #ffffff0f;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:20px}.footer-brand h3{color:var(--text-on-dark);font-size:1rem;font-weight:700;margin-bottom:2px}.footer-brand p{color:var(--text-on-dark-secondary);font-size:.78rem}.footer-links{display:flex;gap:12px}.footer-links a{align-items:center;background:var(--bg-sidebar-hover);border-radius:var(--radius-sm);color:var(--text-on-dark-secondary);display:flex;font-size:.9rem;height:34px;justify-content:center;transition:all var(--transition-fast);width:34px}.footer-links a:hover{background:var(--primary);color:#fff}.footer-bottom{text-align:center}.footer-bottom p{color:var(--text-on-dark-secondary);font-size:.75rem;opacity:.6}.footer-credit{align-items:center;display:flex;gap:4px;justify-content:center;margin-top:4px}.footer-heart{color:#e74c3c;font-size:.7rem}@media (max-width:480px){.footer-inner{padding:28px 20px 20px}.footer-top{flex-direction:column;gap:16px;text-align:center}}.app-layout{display:flex;min-height:100vh}.main-content{flex:1 1;margin-left:var(--sidebar-width);min-height:100vh;padding:0}.section{margin:0 auto;max-width:var(--content-max-width);padding:60px 40px}.section-card{background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:24px;padding:40px}.section-header{align-items:center;border-bottom:1px solid var(--border-light);display:flex;gap:12px;margin-bottom:28px;padding-bottom:16px}.section-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.section-icon{background:var(--primary-bg);border-radius:var(--radius-sm);color:var(--primary);flex-shrink:0;font-size:1.1rem;height:36px;width:36px}.loading-screen,.section-icon{align-items:center;display:flex;justify-content:center}.loading-screen{background:var(--bg-sidebar);flex-direction:column;gap:24px;height:100%;left:0;position:fixed;top:0;width:100%;z-index:9999}.loading-content{color:var(--text-on-dark);text-align:center}.loading-content h2{color:var(--text-on-dark-secondary);font-size:1.3rem;font-weight:500;letter-spacing:.02em;margin-top:20px}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #ffffff1a;border-radius:50%;border-top:3px solid var(--primary);height:40px;margin:0 auto;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.progress-bar-container{background:#0000;height:3px;left:var(--sidebar-width);position:fixed;right:0;top:0;z-index:1000}.progress-bar{background:var(--primary);border-radius:0 2px 2px 0;height:100%;transition:width .2s ease;width:0}.back-to-top{align-items:center;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);bottom:24px;box-shadow:var(--shadow-md);color:var(--text-primary);cursor:pointer;display:flex;font-size:1.1rem;height:42px;justify-content:center;opacity:0;position:fixed;right:24px;transform:translateY(10px);transition:all var(--transition-normal);visibility:hidden;width:42px;z-index:1000}.back-to-top.visible{opacity:1;transform:translateY(0);visibility:visible}.back-to-top:hover{background:var(--primary);border-color:var(--primary);box-shadow:var(--shadow-lg);color:#fff}.card-hover{transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.card-hover:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.tag{background:var(--primary-bg);border-radius:var(--radius-full);color:var(--primary);display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.02em;padding:4px 12px}.tag-green{background:var(--accent-green-bg);color:var(--accent-green)}.tag-orange{background:var(--accent-orange-bg);color:var(--accent-orange)}@media (max-width:900px){.main-content{margin-left:0;padding-top:70px}.section{padding:32px 20px}.section-card{padding:24px}.progress-bar-container{left:0}}@media (max-width:480px){.section{padding:24px 16px}.section-card{border-radius:var(--radius-md);padding:20px}.section-header h2{font-size:1.3rem}.back-to-top{bottom:16px;height:36px;right:16px;width:36px}}
/*# sourceMappingURL=main.4b3f57d0.css.map*/