html{scroll-behavior:smooth}body{margin:0;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--blue-primary: #2563EB;--blue-indigo: #4F46E5;--blue-light: #DBEAFE;--blue-subtle: #EFF6FF;--white: #FFFFFF;--bg-surface: #F8FAFC;--border-gray: #E5E7EB;--text-primary: #0F172A;--text-secondary: #475569;--text-muted: #94A3B8;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .05);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-blue: 0 4px 20px rgba(37, 99, 235, .2);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--font-body: "Poppins", -apple-system, BlinkMacSystemFont, sans-serif;--font-heading: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--transition-fast: .2s ease;--transition-base: .3s ease;--transition-smooth: .4s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:var(--font-body);background:var(--white);color:var(--text-primary);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{min-height:100vh}.portfolio-root{min-height:100vh;display:flex;flex-direction:column}main{flex:1}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;color:var(--text-primary)}h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:800}h2{font-size:clamp(2rem,4vw,3rem);font-weight:700;margin-bottom:1rem}h3{font-size:clamp(1.5rem,3vw,2rem);font-weight:600}p{color:var(--text-secondary);font-size:1.05rem;line-height:1.8}.section-title{text-align:center;font-size:clamp(2.25rem,4vw,3rem);font-weight:700;margin-bottom:1rem;position:relative;display:inline-block}.section-title:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:60px;height:4px;background:linear-gradient(90deg,var(--blue-primary),var(--blue-indigo));border-radius:2px}.section-subtitle{text-align:center;color:var(--text-secondary);font-size:1.15rem;max-width:700px;margin:0 auto 3rem;line-height:1.8}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.section{padding:5rem 2rem}.section-center{text-align:center;display:flex;flex-direction:column;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 2rem;font-size:1rem;font-weight:600;font-family:var(--font-heading);border-radius:var(--radius-lg);text-decoration:none;cursor:pointer;border:2px solid transparent;transition:all var(--transition-smooth);white-space:nowrap}.btn-primary{background:linear-gradient(90deg,var(--blue-primary),var(--blue-indigo));color:var(--white);box-shadow:var(--shadow-blue)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 6px 24px #2563eb59}.btn-outline{background:transparent;border:2px solid var(--blue-primary);color:var(--blue-primary)}.btn-outline:hover{background:var(--blue-primary);color:var(--white);transform:translateY(-3px)}.card{background:var(--white);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-md);transition:all var(--transition-smooth);border:1px solid var(--border-gray)}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.site-header{position:sticky;top:0;z-index:100;background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-gray);box-shadow:var(--shadow-sm)}.header-inner{max-width:1200px;margin:0 auto;padding:1.25rem 2rem;display:flex;align-items:center;justify-content:space-between}.brand{font-family:var(--font-heading);font-size:1.5rem;font-weight:800;background:linear-gradient(90deg,var(--blue-primary),var(--blue-indigo));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px;display:inline-flex;align-items:center;gap:.5rem}.brand-logo{width:36px;height:36px;display:inline-block}.brand-name{display:inline-block}.btn-secondary{background:transparent;border:2px dashed var(--blue-primary);color:var(--blue-primary)}.btn-secondary:hover{background:var(--blue-primary);color:var(--white);transform:translateY(-3px)}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem}.burger{width:26px;height:2px;background:var(--text-primary);display:block;position:relative;transition:all var(--transition-base)}.burger:before,.burger:after{content:"";position:absolute;width:100%;height:2px;background:var(--text-primary);transition:all var(--transition-base)}.burger:before{top:-8px}.burger:after{top:8px}.burger.open{background:transparent}.burger.open:before{transform:translateY(8px) rotate(45deg)}.burger.open:after{transform:translateY(-8px) rotate(-45deg)}.site-nav{display:flex;align-items:center;gap:2.5rem}.site-nav a{font-family:var(--font-heading);font-size:.95rem;font-weight:600;color:var(--text-secondary);text-decoration:none;position:relative;transition:color var(--transition-base)}.site-nav a:hover{color:var(--blue-primary)}.site-nav a:after{content:"";position:absolute;bottom:-6px;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--blue-primary),var(--blue-indigo));border-radius:2px;transition:width var(--transition-base)}.site-nav a:hover:after{width:100%}.hero{min-height:calc(100vh - 80px);display:flex;align-items:center;padding:4rem 2rem;background:linear-gradient(135deg,var(--blue-subtle) 0%,var(--white) 50%,var(--bg-surface) 100%);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;width:50%;height:100%;background:radial-gradient(circle at top right,rgba(37,99,235,.05),transparent);pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:4rem;align-items:center;max-width:1200px;margin:0 auto;position:relative;z-index:1}.hero-content h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;margin-bottom:1rem;line-height:1.1;letter-spacing:-1px}.hero-content .highlight{background:linear-gradient(90deg,var(--blue-primary),var(--blue-indigo));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-content .lead{font-size:1.35rem;font-weight:600;color:var(--text-primary);margin:1rem 0;line-height:1.5}.hero-content .tagline{font-size:1.1rem;color:var(--text-secondary);line-height:1.8;margin-bottom:2.5rem;max-width:560px}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.hero-photo{display:flex;justify-content:center;align-items:center;position:relative;margin-top:5rem}.hero-photo img{width:300px;height:300px;object-fit:cover;border-radius:50%;border:6px solid var(--white);box-shadow:var(--shadow-lg),0 0 0 2px var(--blue-primary);position:relative;z-index:1}.about{padding:5rem 2rem;background:var(--bg-surface)}.about-content{max-width:900px;margin:0 auto;text-align:center}.about-content p{font-size:1.15rem;line-height:1.9;margin-bottom:1.5rem}.career-goal{background:linear-gradient(135deg,var(--blue-subtle),var(--white));padding:2rem;border-radius:var(--radius-lg);border-left:4px solid var(--blue-primary);margin-top:2.5rem;text-align:left}.career-goal h4{font-size:1.25rem;color:var(--blue-primary);margin-bottom:.75rem}.career-goal p{font-size:1.05rem;color:var(--text-secondary);margin:0}.skills{padding:5rem 2rem}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:1000px;margin:0 auto}.skill-card{background:var(--white);padding:2rem;border-radius:var(--radius-lg);border:1px solid var(--border-gray);box-shadow:var(--shadow-sm);transition:all var(--transition-smooth);text-align:center}.skill-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--blue-light)}.skill-card h4{font-size:1.25rem;color:var(--blue-primary);margin-bottom:1.5rem}.skill-progress{margin-bottom:1.5rem}.skill-name{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.95rem;font-weight:600;color:var(--text-primary)}.skill-level{font-size:.85rem;color:var(--text-muted)}.progress-bar{height:8px;background:var(--border-gray);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--blue-primary),var(--blue-indigo));border-radius:var(--radius-full);transition:width 1s ease-out}.projects{padding:5rem 2rem;background:var(--bg-surface)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2.5rem;max-width:1200px;margin:0 auto}.project-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--border-gray);transition:all var(--transition-smooth)}.project-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg)}.project-thumb{height:200px;background:linear-gradient(135deg,var(--blue-primary),var(--blue-indigo));position:relative;overflow:hidden}.project-thumb img{width:100%;height:100%;object-fit:cover;display:block}.project-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent);pointer-events:none}.project-body{padding:2rem}.project-body h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:.75rem}.project-body p{font-size:1rem;color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.7}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tech-tag{padding:.4rem .9rem;background:var(--blue-subtle);color:var(--blue-primary);border-radius:var(--radius-full);font-size:.85rem;font-weight:600}.project-actions{display:flex;gap:1rem}.project-actions .btn{padding:.6rem 1.5rem;font-size:.9rem}.growth-journey{padding:5rem 2rem}.journey-timeline{max-width:1000px;margin:3rem auto;position:relative}.timeline-path{display:flex;justify-content:space-between;align-items:flex-start;position:relative;padding:2rem 0}.timeline-path:before{content:"";position:absolute;top:3rem;left:5%;right:5%;height:3px;background:linear-gradient(90deg,var(--blue-primary),var(--blue-indigo));border-radius:2px}.milestone{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;position:relative;z-index:1}.milestone-dot{width:20px;height:20px;background:var(--blue-primary);border:4px solid var(--white);border-radius:50%;box-shadow:0 0 0 3px var(--blue-light);margin-bottom:1rem}.milestone-year{font-weight:700;color:var(--blue-primary);font-size:1.1rem;margin-bottom:.5rem}.milestone-label{font-size:.9rem;color:var(--text-secondary);max-width:150px}.journey-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:2rem;max-width:1400px;margin:4rem auto 0}@media(max-width:1200px){.journey-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.journey-stats{grid-template-columns:repeat(2,1fr);gap:1.5rem}}.stat-card{background:var(--white);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;border:1px solid var(--border-gray);transition:all var(--transition-smooth)}.stat-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.stat-icon{font-size:2.5rem;margin-bottom:1rem}.stat-number{font-size:2.5rem;font-weight:800;color:var(--blue-primary);font-family:var(--font-heading);margin-bottom:.5rem}.stat-label{font-size:.95rem;color:var(--text-secondary);font-weight:500}.certifications{padding:5rem 2rem;background:var(--bg-surface)}.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.cert-card{background:var(--white);padding:2rem;border-radius:var(--radius-lg);border:1px solid var(--border-gray);box-shadow:var(--shadow-sm);border-top:4px solid var(--blue-primary);transition:all var(--transition-smooth)}.cert-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.cert-card h4{font-size:1.25rem;color:var(--text-primary);margin-bottom:.75rem}.cert-platform{font-weight:600;color:var(--blue-primary);font-size:.95rem;margin-bottom:.5rem}.cert-note{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:1rem}.cert-link{display:inline-block;margin-top:.5rem;color:var(--blue-primary);font-size:.9rem;font-weight:500;text-decoration:none;transition:all var(--transition-smooth)}.cert-link:hover{color:var(--blue-indigo);transform:translate(4px)}.contact{padding:5rem 2rem}.contact-container{max-width:700px;margin:0 auto}.contact-intro{text-align:center;margin-bottom:3rem}.contact-form{background:var(--white);padding:3rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-gray)}.form-group{position:relative;margin-bottom:2rem}.form-group input,.form-group textarea{width:100%;padding:1rem;font-size:1rem;font-family:var(--font-body);border:2px solid var(--border-gray);border-radius:var(--radius-sm);background:var(--white);transition:all var(--transition-base)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--blue-primary);box-shadow:0 0 0 3px #2563eb1a}.form-group label{position:absolute;left:1rem;top:1rem;color:var(--text-muted);font-size:1rem;transition:all var(--transition-base);pointer-events:none;background:var(--white);padding:0 .25rem}.form-group input:focus+label,.form-group input:not(:placeholder-shown)+label,.form-group textarea:focus+label,.form-group textarea:not(:placeholder-shown)+label{top:-.5rem;left:.75rem;font-size:.85rem;color:var(--blue-primary);font-weight:600}.form-group textarea{resize:vertical;min-height:140px}.contact-form button{width:100%;margin-top:1rem}.form-success{text-align:center;margin-top:1.5rem;padding:1rem;background:var(--blue-subtle);color:var(--blue-primary);border-radius:var(--radius-sm);font-weight:600}.form-success.hidden{display:none}.contact-info{text-align:center;margin-top:3rem;padding:2rem;background:var(--bg-surface);border-radius:var(--radius-lg)}.contact-info p{margin-bottom:.75rem;font-size:1.05rem}.socials{display:flex;gap:1.5rem;justify-content:center;margin-top:1.5rem}.socials a{color:var(--blue-primary);text-decoration:none;font-weight:600;font-size:1.05rem;transition:all var(--transition-base)}.socials a:hover{color:var(--blue-indigo);transform:translateY(-2px)}.site-footer{background:var(--bg-surface);border-top:1px solid var(--border-gray);padding:2.5rem 2rem;text-align:center}.footer-inner p{color:var(--text-secondary);font-size:.95rem;margin:0}@media(max-width:1024px){.hero-grid{grid-template-columns:1fr;gap:3rem;text-align:center}.hero-photo{order:-1}.hero-photo img{width:300px;height:300px}.hero-actions{justify-content:center}.hero-content .tagline{margin-left:auto;margin-right:auto}}@media(max-width:768px){.section{padding:3.5rem 1.5rem}.container{padding:0 1.5rem}h1{font-size:2.25rem}h2{font-size:1.875rem}.nav-toggle{display:block}.site-nav{position:fixed;right:0;top:70px;background:var(--white);padding:2rem;border-left:1px solid var(--border-gray);box-shadow:-4px 0 15px #0000001a;flex-direction:column;gap:1.5rem;align-items:flex-start;min-width:220px;display:none}.site-nav.open{display:flex}.site-nav a:after{display:none}.hero{min-height:auto;padding:3rem 1.5rem}.hero-photo img{width:250px;height:250px}.hero-actions{flex-direction:column;width:100%}.btn{width:100%}.projects-grid,.skills-grid,.cert-grid{grid-template-columns:1fr}.timeline-path{flex-direction:column;gap:2rem}.timeline-path:before{display:none}.journey-stats{grid-template-columns:repeat(2,1fr)}.contact-form{padding:2rem 1.5rem}}@media(max-width:480px){.hero-photo img{width:200px;height:200px}.brand{font-size:1.25rem}.header-inner{padding:1rem 1.5rem}.journey-stats{grid-template-columns:1fr}.stat-number{font-size:2rem}}.dark-mode{--white: #0F172A;--bg-surface: #1E293B;--border-gray: #334155;--text-primary: #F1F5F9;--text-secondary: #CBD5E1;--text-muted: #64748B;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5)}.ambient-gradient{position:absolute;top:-10%;left:-5%;width:120%;height:120%;background:radial-gradient(ellipse at top left,rgba(37,99,235,.15) 0%,transparent 50%),radial-gradient(ellipse at bottom right,rgba(79,70,229,.1) 0%,transparent 50%);pointer-events:none;z-index:0}.hero{position:relative;overflow:hidden}.hero-grid{position:relative;z-index:1}.gradient-text-animated{background:linear-gradient(90deg,var(--blue-primary),var(--blue-indigo),var(--blue-primary));background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-flow 3s linear infinite}@keyframes gradient-flow{0%{background-position:0% center}to{background-position:200% center}}.dark-mode-toggle{background:var(--bg-surface);border:1px solid var(--border-gray);border-radius:var(--radius-full);width:42px;height:42px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base);color:var(--text-primary)}.dark-mode-toggle:hover{background:var(--blue-primary);color:#fff;border-color:var(--blue-primary)}.header-actions{display:flex;align-items:center;gap:1rem;margin-left:1rem}.cmd-palette-trigger{background:var(--bg-surface);border:1px solid var(--border-gray);border-radius:var(--radius-sm);padding:.5rem .75rem;display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:all var(--transition-base);color:var(--text-secondary);font-size:.875rem;font-weight:500}.cmd-palette-trigger:hover{background:var(--blue-subtle);border-color:var(--blue-primary);color:var(--blue-primary)}.cmd-icon{font-family:monospace;font-size:.75rem;opacity:.7}.command-palette-backdrop{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9998}.command-palette{position:fixed;top:20%;left:50%;transform:translate(-50%);width:90%;max-width:600px;background:var(--white);border:1px solid var(--border-gray);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:9999;overflow:hidden}.command-palette-header{display:flex;align-items:center;gap:1rem;padding:1rem;border-bottom:1px solid var(--border-gray)}.command-palette-input{flex:1;background:transparent;border:none;outline:none;font-size:1rem;color:var(--text-primary);font-family:var(--font-body)}.command-palette-input::placeholder{color:var(--text-muted)}.command-palette-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.command-palette-close:hover{background:var(--bg-surface);color:var(--text-primary)}.command-palette-list{max-height:400px;overflow-y:auto}.command-palette-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:transparent;border:none;width:100%;text-align:left;cursor:pointer;transition:all var(--transition-fast);color:var(--text-primary);font-size:.95rem;border-left:3px solid transparent}.command-palette-item:hover,.command-palette-item.selected{background:var(--bg-surface);border-left-color:var(--blue-primary)}.command-palette-item svg{color:var(--blue-primary);flex-shrink:0}.command-palette-empty{padding:2rem;text-align:center;color:var(--text-muted)}.command-palette-footer{padding:.75rem 1rem;background:var(--bg-surface);border-top:1px solid var(--border-gray);display:flex;align-items:center;gap:1rem;font-size:.75rem;color:var(--text-muted)}.command-palette-footer kbd{background:var(--white);border:1px solid var(--border-gray);border-radius:4px;padding:.25rem .5rem;font-family:monospace;font-size:.7rem;margin:0 .25rem}.github-stats{background:var(--bg-surface);border:1px solid var(--border-gray);border-radius:var(--radius-lg);padding:2rem;margin:4rem auto;max-width:1000px}.github-stats-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.github-stats-header h3{margin:0;font-size:1.5rem}.github-stats-header svg{color:var(--blue-primary)}.github-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.github-stat-card{background:var(--white);border:1px solid var(--border-gray);border-radius:var(--radius-md);padding:1.5rem;text-align:center;transition:all var(--transition-smooth)}.github-stat-card .stat-icon{color:var(--blue-primary);margin-bottom:.75rem}.github-stat-card .stat-icon,.github-stat-card svg{color:var(--blue-primary);fill:currentColor;width:36px;height:36px;display:block;margin:0 auto .75rem}.github-stat-card .stat-value{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.github-stat-card .stat-label{font-size:.875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.dark-mode .github-stat-card{background:#ffffff08;border-color:#ffffff0f}.dark-mode .github-stat-card .stat-icon,.dark-mode .github-stat-card svg{color:var(--accent-color)}@media(min-width:1000px){.github-stats-grid{grid-template-columns:repeat(4,1fr)}}.github-stats.loading{min-height:200px;display:flex;align-items:center;justify-content:center}.github-graph{padding:4rem 2rem;background:var(--white)}.github-graph h2{color:var(--text-primary);font-weight:600;margin-bottom:1rem;text-align:center}.github-graph img{width:100%;max-width:1000px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin:1.5rem auto;display:block}.dark-mode .github-graph{background:var(--bg-surface)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-gray);border-top-color:var(--blue-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9998}.project-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:900px;max-height:90vh;background:var(--white);border-radius:var(--radius-lg);box-shadow:0 20px 60px #0000004d;overflow-y:auto;z-index:9999}.modal-close{position:absolute;top:1rem;right:1rem;background:var(--white);border:none;width:40px;height:40px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-md);z-index:10;transition:all var(--transition-base)}.modal-close:hover{background:var(--blue-primary);color:#fff}.modal-content{display:grid;gap:2rem}.modal-image-carousel{position:relative;width:100%;aspect-ratio:16 / 9;background:var(--bg-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden}.modal-image-carousel img{width:100%;height:100%;object-fit:cover}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:#ffffffe6;border:none;width:48px;height:48px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.5rem;transition:all var(--transition-base);box-shadow:var(--shadow-md)}.carousel-btn:hover{background:var(--blue-primary);color:#fff}.carousel-btn.prev{left:1rem}.carousel-btn.next{right:1rem}.carousel-dots{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem}.carousel-dots .dot{width:8px;height:8px;border-radius:50%;background:#ffffff80;border:none;cursor:pointer;transition:all var(--transition-base)}.carousel-dots .dot.active{background:#fff;width:24px;border-radius:4px}.modal-info{padding:2rem}.modal-info h2{margin-bottom:1rem}.modal-description{color:var(--text-secondary);margin-bottom:2rem;line-height:1.7}.modal-meta{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-gray)}.meta-item{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.9rem}.meta-item svg{color:var(--blue-primary)}.modal-tech h3,.modal-features h3,.modal-challenges h3{font-size:1.25rem;margin-bottom:1rem}.modal-features ul{list-style:none;padding:0}.modal-features li{padding-left:1.5rem;position:relative;margin-bottom:.5rem;color:var(--text-secondary)}.modal-features li:before{content:"✓";position:absolute;left:0;color:var(--blue-primary);font-weight:700}.modal-challenges{background:var(--bg-surface);padding:1.5rem;border-radius:var(--radius-md);margin-top:2rem}.modal-challenges p{color:var(--text-secondary);line-height:1.7}.modal-actions{display:flex;gap:1rem;margin-top:2rem}.project-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(37,99,235,.9) 0%,transparent 100%);display:flex;align-items:flex-end;justify-content:center;padding:2rem;opacity:0;transition:opacity var(--transition-smooth);color:#fff;font-weight:600}.project-card:hover .project-overlay{opacity:1}.tech-orbit-container{width:100%;height:400px;margin:2rem 0}.hero-visual{position:relative}.personality-rhythm{padding:4rem 0;background:var(--bg-surface);margin:4rem 0;border-radius:var(--radius-lg)}.rhythm-title{text-align:center;font-size:2rem;margin-bottom:.5rem}.rhythm-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:3rem}.rhythm-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.5rem;max-width:1400px;margin:0 auto;padding:0 2rem}@media(max-width:1200px){.rhythm-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.rhythm-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}.btn-download{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .75rem;border-radius:8px;font-weight:600;border:1.5px solid var(--blue-primary);color:var(--blue-primary);background:transparent;transition:all .18s ease}.btn-download:hover{background:linear-gradient(90deg,#2563eb14,#4f46e50f);transform:translateY(-2px);box-shadow:0 8px 20px #2563eb14}.btn-download:active{transform:translateY(0)}@media(prefers-color-scheme:dark){.btn-download{border-color:#ffffff24;color:#fff}.btn-download:hover{background:#ffffff0a}}.rhythm-card{background:var(--white);border:2px solid transparent;border-radius:var(--radius-lg);padding:2rem;text-align:center;cursor:pointer;transition:all var(--transition-smooth)}.rhythm-card.active{box-shadow:var(--shadow-lg)}.rhythm-icon{margin-bottom:1rem}.rhythm-card h4{font-size:1.25rem;margin-bottom:.5rem}.rhythm-card p{font-size:.875rem;color:var(--text-muted)}.rhythm-indicator{display:flex;justify-content:center;gap:.5rem;margin-top:2rem}.indicator-dot{width:10px;height:10px;border-radius:50%;background:var(--border-gray);cursor:pointer;transition:all var(--transition-base)}.indicator-dot.active{background:var(--blue-primary);width:30px;border-radius:5px}.skills-visualization-toggle{display:flex;justify-content:center;gap:1rem;margin:2rem 0}.toggle-btn{background:var(--bg-surface);border:1px solid var(--border-gray);border-radius:var(--radius-sm);padding:.75rem 1.5rem;cursor:pointer;transition:all var(--transition-base);color:var(--text-primary);font-weight:500}.toggle-btn.active{background:var(--blue-primary);color:#fff;border-color:var(--blue-primary)}.toggle-btn:hover:not(.active){background:var(--blue-subtle)}.radar-chart-container{background:var(--white);border:1px solid var(--border-gray);border-radius:var(--radius-lg);padding:2rem;margin:2rem auto;max-width:700px}.github-activity{padding:5rem 2rem;background:linear-gradient(135deg,var(--bg-surface) 0%,white 100%)}.dark-mode .github-activity{background:linear-gradient(135deg,#1a1b26,#24283b)}.github-activity h2{font-size:2.5rem;margin-bottom:1rem;text-align:center;color:#000}.dark-mode .github-activity h2{color:#fff}.activity-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:3rem;font-size:1.1rem}.header-icon-wrapper{width:80px;height:80px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-radius:20px;position:relative;box-shadow:0 10px 30px #2563eb33}.header-icon-wrapper:after{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-radius:20px;z-index:-1;opacity:.3;filter:blur(10px)}.dark-mode .header-icon-wrapper{box-shadow:0 10px 30px #7aa2f74d}.activity-icon{width:40px;height:40px;color:#000}.dark-mode .activity-icon{color:#fff}.github-graphs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin:3rem auto;max-width:1200px}.graph-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 20px #00000014;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.dark-mode .graph-card{background:#ffffff08;box-shadow:0 4px 20px #0000004d}.graph-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #2563eb26}.dark-mode .graph-card:hover{box-shadow:0 8px 30px #7aa2f733}.graph-card img{width:100%;height:auto;display:block;border-radius:8px}.activity-graph-full{margin:3rem auto;max-width:1200px;background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 20px #00000014;transition:all .3s ease}.dark-mode .activity-graph-full{background:#ffffff08;box-shadow:0 4px 20px #0000004d}.activity-graph-full:hover{transform:translateY(-4px);box-shadow:0 8px 30px #2563eb26}.dark-mode .activity-graph-full:hover{box-shadow:0 8px 30px #7aa2f733}.activity-graph-full img{width:100%;height:auto;display:block;border-radius:8px}.streak-stats{margin:3rem auto;max-width:800px;background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 20px #00000014;transition:all .3s ease;display:flex;justify-content:center}.dark-mode .streak-stats{background:#ffffff08;box-shadow:0 4px 20px #0000004d}.streak-stats:hover{transform:translateY(-4px);box-shadow:0 8px 30px #2563eb26}.dark-mode .streak-stats:hover{box-shadow:0 8px 30px #7aa2f733}.streak-stats img{width:100%;height:auto;display:block;border-radius:8px}.activity-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:4rem;max-width:1200px;margin-left:auto;margin-right:auto;padding:2rem;background:var(--bg-surface);border-radius:16px;box-shadow:0 4px 20px #00000014}.dark-mode .activity-stats{background:#ffffff08;box-shadow:0 4px 20px #0000004d}.stat-item{text-align:center;padding:1.5rem;border-radius:12px;background:#fff;transition:all .3s ease}.stat-item:hover{transform:translateY(-4px);box-shadow:0 8px 25px #2563eb26}.dark-mode .stat-item:hover{box-shadow:0 8px 25px #7aa2f733}.stat-item h4{color:var(--primary-color);font-size:1.25rem;margin-bottom:.5rem;font-weight:600}.dark-mode .stat-item h4{color:var(--accent-color)}.stat-item p{color:var(--text-secondary);font-size:.95rem}.graph-error,.graph-error-note{display:block;margin-top:.6rem;color:var(--text-secondary);font-size:.85rem;text-align:center}.graph-error-note{color:var(--blue-primary);font-weight:600}.dark-mode .graph-error,.dark-mode .graph-error-note{color:#fffc}#resume-content{background:#fff;color:#0f172a;padding:24px;font-family:var(--font-body)}.github-activity .btn{padding:.5rem .9rem;font-size:.9rem}.visual-wrapper:hover{box-shadow:0 25px 70px #2563eb26;transform:translateY(-4px)}.visual-wrapper img{width:100%;display:block;transition:transform var(--transition-smooth)}.visual-wrapper:hover img{transform:scale(1.01)}.visual-overlay{position:absolute;top:1rem;right:1rem;background:#2563ebf2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;box-shadow:0 4px 12px #0000001a;opacity:0;transition:opacity var(--transition-base)}.visual-wrapper:hover .visual-overlay{opacity:1}.activity-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:900px;margin:0 auto;padding:2rem;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.stat-item{text-align:center;padding:1.5rem;border-radius:var(--radius-md);background:var(--bg-surface);transition:all var(--transition-base)}.stat-item:hover{transform:translateY(-4px);box-shadow:0 8px 20px #2563eb1a;background:linear-gradient(135deg,var(--blue-subtle),var(--bg-surface))}.stat-label{display:block;font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-weight:600;margin-bottom:.5rem}.stat-value{display:block;font-size:1.25rem;font-weight:700;color:var(--blue-primary)}.dark-mode .github-activity{background:linear-gradient(135deg,var(--bg-surface) 0%,#1a1f2e 100%)}.dark-mode .activity-toggle{background:var(--bg-surface)}.dark-mode .visual-wrapper{background:var(--bg-surface);box-shadow:0 20px 60px #0006}.dark-mode .activity-stats{background:var(--bg-surface)}.dark-mode .stat-item{background:#ffffff0d}@media(max-width:768px){.command-palette{width:95%;top:10%}.header-actions{margin-left:0;margin-top:1rem}.rhythm-grid,.github-stats-grid{grid-template-columns:repeat(2,1fr)}.modal-actions{flex-direction:column}.tech-orbit-container{height:300px}.github-activity{padding:4rem 1.5rem}.github-activity h2{font-size:2rem}.github-graphs-grid{grid-template-columns:1fr;gap:1.5rem}.activity-stats{grid-template-columns:1fr;gap:1rem;padding:1.5rem}.header-icon-wrapper{width:60px;height:60px}.activity-icon{width:32px;height:32px}.activity-graph-full,.streak-stats{padding:1rem}}@media(max-width:480px){.rhythm-grid,.github-stats-grid{grid-template-columns:1fr}.github-activity{padding:3rem 1rem}.github-activity h2{font-size:1.75rem}.activity-subtitle{font-size:.95rem}.stat-item{padding:1rem}.graph-card,.activity-graph-full,.streak-stats{padding:.75rem}}
