:root{--color-primary:#007bff;--color-primary-hover:#0056b3;--color-secondary:#6c757d;--color-success:#28a745;--color-warning:#ffc107;--color-danger:#dc3545;--color-background:#f8f9fa;--color-background-alt:#fff;--color-background-secondary:#e8e8e8;--color-background-tertiary:#555;--color-text:#343a40;--color-text-light:#ddd;--color-text-secondary:#6c757d;--color-text-muted:#666;--color-border:#dee2e6;--color-divider:#80b3ff;--color-footer:#aaa;--color-technical-bg:#eef4ff;--spacing-xxs:5px;--spacing-xs:10px;--spacing-sm:15px;--spacing-md:20px;--spacing-lg:30px;--spacing-xl:40px;--spacing-xxl:60px;--font-size-xs:0.75rem;--font-size-base:1rem;--font-size-xxl:1.5rem;--font-size-xxxl:1.875rem;--border-radius:5px;--border-radius-sm:0.125rem;--border-radius-md:0.25rem;--border-radius-lg:0.5rem;--transition-base:all 0.2s ease-in-out;--z-index-1:100;--z-index-2:200;--z-index-3:300;--z-index-4:400;--z-index-5:500;--container-max-width:900px;--container-sm:540px;--container-md:720px;--container-lg:960px;--container-xl:1140px;--container-padding:20px;--section-spacing:2rem;--dark-color-background:#121212;--dark-color-background-alt:#1e1e1e;--dark-color-text:#e0e0e0;--dark-color-text-secondary:#a0a0a0;--dark-color-border:#2c2c2c;--dark-color-primary:#1e88e5;--dark-color-secondary:#a0a0a0;--color-background-dark:#121212;--color-background-dark-alt:#2d2d2d;--color-text-dark-muted:#a0a0a0;--color-border-dark:#404040;--font-family-base:Arial,sans-serif;--line-height-base:1.6;--border-width:2px;--border-width-thin:1px;--border-color:var(--color-divider);--shadow-base:0 2px 4px rgba(0,0,0,.1);--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 2px 4px rgba(0,0,0,.1);--shadow-lg:0 4px 6px rgba(0,0,0,.1);--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--z-index-base:1;--z-index-dropdown:1000;--z-index-sticky:1020;--z-index-fixed:1030;--z-index-modal:1040;--z-index-popover:1050;--z-index-tooltip:1060;--z-index-skip-link:1070;--z-index-scroll-top:1080;--focus-ring-color:var(--color-primary);--focus-ring-width:2px;--focus-ring-offset:2px;--animation-duration-fast:0.2s;--animation-duration-normal:0.3s;--animation-duration-slow:0.5s;--animation-duration-slower:0.8s;--animation-ease-in-out:cubic-bezier(0.4,0,0.2,1);--animation-ease-out:cubic-bezier(0,0,0.2,1);--animation-ease-in:cubic-bezier(0.4,0,1,1);--animation-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--animation-delay-fast:0.1s;--animation-delay-normal:0.2s;--animation-delay-slow:0.3s;--transition-fast:all var(--animation-duration-fast) var(--animation-ease-in-out);--transition-normal:all var(--animation-duration-normal) var(--animation-ease-in-out);--transition-slow:all var(--animation-duration-slow) var(--animation-ease-in-out);--transition-slower:all var(--animation-duration-slower) var(--animation-ease-in-out);--hover-scale:1.05;--hover-translate:-2px;--hover-shadow:0 4px 8px rgba(0,0,0,.1);--loading-gradient:linear-gradient(90deg,transparent,var(--color-background-secondary),transparent);--loading-duration:1.5s}body.dark-mode{--color-background:var(--dark-color-background);--color-background-alt:var(--dark-color-background-alt);--color-background-secondary:#2a2a2a;--color-background-tertiary:var(--color-background-dark-alt);--color-technical-bg:#1a1a1a;--color-text:var(--dark-color-text);--color-text-secondary:var(--dark-color-text-secondary);--color-border:var(--dark-color-border);--color-primary:var(--dark-color-primary);--color-secondary:var(--dark-color-secondary);--color-text-muted:var(--color-text-dark-muted);--border-color:var(--color-border-dark)}[data-theme=dark]{--hover-shadow:0 4px 8px rgba(0,0,0,.3)}header{background-color:var(--color-background)}.header-inner,header{width:100%;display:flex;flex-direction:column;align-items:center}.header-inner{max-width:900px}body.dark-mode header{background-color:var(--color-background-dark)!important}.icons-container{display:flex;justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-sm)}.icons,.icons-container{align-items:center}.dark-mode-container{display:flex;align-items:center;gap:var(--spacing-xs)}.dark-mode-label{font-size:var(--font-size-base);font-weight:700;color:var(--color-text)}.switch{position:relative;display:inline-block;width:50px;height:26px}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-border);border-radius:var(--border-radius-full)}.slider,.slider:before{position:absolute;transition:var(--transition-base)}.slider:before{content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:var(--color-background);border-radius:50%}input:checked+.slider{background-color:var(--color-primary)}input:checked+.slider:before{transform:translateX(24px)}.slider.round{border-radius:var(--border-radius-full)}.slider.round:before{border-radius:50%}body.dark-mode .dark-mode-label{color:var(--color-text-dark)}header p{font-size:var(--font-size-lg);font-weight:500;color:var(--color-text-muted);text-align:center}.icons,header p{margin-top:var(--spacing-sm)}.icons{display:flex;justify-content:center;gap:var(--spacing-sm)}.social-icon{font-size:2rem;color:var(--color-primary);transition:var(--transition-base)}.social-icon:hover{color:#005bb5}.logo-container{position:relative;width:100%;max-width:900px;max-height:265px;display:flex;align-items:center;justify-content:center;aspect-ratio:3.4/1;overflow:hidden;margin:0 auto;padding:0}.logo{width:100%;height:100%;-o-object-position:center;object-position:center;-o-object-fit:cover;object-fit:cover;position:relative!important;padding:0;margin:0}body{background-color:#fff;color:#333}body.dark-mode .about,body.dark-mode .education,body.dark-mode .experience,body.dark-mode .projects{max-width:900px!important;margin:0 auto!important;text-align:left!important;transition:all .3s ease-in-out}body.dark-mode{background-color:#1e1e1e;color:#ddd}body.dark-mode h1,body.dark-mode h2{color:#fff!important}body.dark-mode h3{color:#345ea5!important}body.dark-mode .education li,body.dark-mode .education p,body.dark-mode .education ul,body.dark-mode .experience li,body.dark-mode .experience p,body.dark-mode .experience ul,body.dark-mode .projects li,body.dark-mode .projects p,body.dark-mode .projects ul{color:#fff!important}body.dark-mode .project-link{color:#345ea5!important}body.dark-mode .dark-mode-label,body.dark-mode .project-link:hover{color:#fff!important}body.dark-mode .tabs button{background:#333!important;color:#ddd!important}body.dark-mode .tabs button:hover{background:#555!important}body.dark-mode .header-divider{background-color:#80b3ff!important}body.dark-mode footer{color:#aaa!important}body.dark-mode .about{background-color:transparent;color:#ddd!important}body.dark-mode .about p{color:#ddd!important}body.dark-mode .about h2,body.dark-mode .about h3{color:#fff!important}body.dark-mode .technical-details{background:#333!important}body.dark-mode .degree-item,body.dark-mode .job-item{background:#333!important;color:#fff!important}body.dark-mode .degree-item ul,body.dark-mode .job-item ul,body.dark-mode .technical-details ul{color:#ddd!important}body.dark-mode .projects ul li{background:#333!important;color:#fff!important}body.dark-mode .technical-details{background:#555!important;color:#fff!important}body.dark-mode .technical-details .technical-details-list-item,body.dark-mode .technical-details ul li{background:transparent!important}body.dark-mode .projects ul{color:#ddd!important}body.dark-mode ul{background:transparent!important}body.dark-mode header p,body.dark-mode ul{color:#ddd!important}body.dark-mode .degree-item ul ul,body.dark-mode .job-item ul ul{list-style-type:disc!important}body.dark-mode .degree-item ul ul li,body.dark-mode .job-item ul ul li{display:list-item!important;list-style-type:disc!important;color:#ddd!important;background:transparent!important}body.dark-mode .degree-item>ul{list-style:none!important}body.dark-mode .degree-item>ul>p{list-style-type:none!important;list-style:none!important;display:block!important}body.dark-mode .degree-item ul ul li{background:transparent!important}.tabs{display:flex;justify-content:space-between;width:100%;margin-top:var(--spacing-md);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) 0;border-bottom:2px solid var(--color-border)}.tabs button{flex-grow:1;background:var(--color-background-alt);border:none;padding:15px 0;cursor:pointer;font-size:var(--font-size-base);font-weight:700;color:var(--color-text);transition:var(--transition-base);text-align:center}.tabs button:hover:not(.active){background:var(--color-border)}.tabs .active{color:var(--color-background)!important}.tabs .active,body.dark-mode .tabs button.active{background:var(--color-primary)!important;border-radius:var(--border-radius-sm)}body.dark-mode .tabs button.active{color:var(--color-background-dark)!important}body.dark-mode .tabs button{color:var(--color-text-dark)}body.dark-mode .tabs button:hover:not(.active){background:var(--color-border-dark)}section{padding:15px 0;width:100%}section h2{margin-bottom:10px;color:var(--color-text);font-size:var(--font-size-xl);position:relative;width:100%}section h3{margin-top:10px;margin-bottom:10px;color:var(--color-primary);font-size:var(--font-size-lg)}.header-divider{width:100%;height:2px;background-color:var(--color-primary);border:none;margin-top:var(--spacing-xs);margin-bottom:var(--spacing-md);opacity:.7}section{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.section-active,section.loaded{opacity:1;transform:translateY(0)}.section-active,.section-inactive{transition:opacity .5s ease,transform .5s ease}.section-inactive{opacity:0;transform:translateY(20px);height:0;overflow:hidden}.card{background-color:var(--color-background-alt);border-radius:var(--border-radius-md);padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);box-shadow:0 2px 4px rgba(0,0,0,.05);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.card:hover{transform:translateY(-3px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.tag{display:inline-block;padding:3px 6px;margin-right:6px;margin-bottom:6px;background-color:var(--color-background-secondary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm)}body.dark-mode section h2{color:var(--color-text-light)}body.dark-mode section h3{color:var(--color-secondary)}body.dark-mode .card{background-color:var(--color-background-alt-dark)}body.dark-mode .tag{background-color:hsla(0,0%,100%,.1)}@media (max-width:768px){section{padding:10px 0}section h2{font-size:var(--font-size-lg)}section h3{font-size:var(--font-size-md)}.card{padding:var(--spacing-xs)}}h2{font-size:var(--font-size-2xl);width:100%}h3{margin-top:0;font-size:var(--font-size-xl);color:var(--color-primary)}.about h2,.education h2,.experience h2,.projects h2,.skills h2{margin:0;font-size:var(--font-size-2xl);font-weight:600;color:var(--color-text)}.section-icon{margin-right:10px;vertical-align:middle;font-size:1.2rem}@media (max-width:768px){.projects-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.projects-header button{width:100%;margin-bottom:var(--spacing-sm)}.project-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.live-demo-link{width:100%;text-align:center;justify-content:center}.degree-item,.job-item{padding:var(--spacing-sm)}.degree-item p,.job-item p{padding-left:var(--spacing-sm)!important}}@media (max-width:480px){.technical-details{padding:var(--spacing-xs);margin-left:var(--spacing-sm)!important;margin-right:var(--spacing-sm)!important}.technical-details .technical-details-list-item,.technical-details ul li{margin-left:var(--spacing-md)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.reveal{opacity:0}.reveal.visible{animation:fadeInUp .5s ease forwards}.reveal.visible:first-child{animation-delay:.1s}.reveal.visible:nth-child(2){animation-delay:.2s}.reveal.visible:nth-child(3){animation-delay:.3s}.reveal.visible:nth-child(4){animation-delay:.4s}.reveal.visible:nth-child(5){animation-delay:.5s}.education h3,.experience h3,.projects .project-link strong{position:relative;transition:all .3s ease}.education h3:after,.experience h3:after,.projects .project-link strong:after{content:"";position:absolute;width:0;height:2px;bottom:0;left:0;background-color:var(--color-primary);transition:width .3s ease;opacity:0}.education h3:hover:after,.experience h3:hover:after,.projects .project-link strong:hover:after{width:100%;opacity:1}.section-icon{transform:scale(1);transition:transform .3s ease}h2:hover .section-icon{transform:scale(1.2)}.tech-badge{transition:all .3s ease}.tech-badge:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.projects{padding-top:var(--spacing-sm)}.projects-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:var(--spacing-md)}.projects-header h2{white-space:nowrap;flex-grow:1}.projects-header button{background:var(--color-primary);color:var(--color-background);border:none;padding:var(--spacing-button-y) var(--spacing-button-x);font-size:var(--font-size-base);font-weight:700;border-radius:var(--border-radius-full);cursor:pointer;transition:var(--transition-base);white-space:nowrap}.projects-header button:hover{background:#005bb5}body.dark-mode .projects-header button:hover{background:#005bb5!important}.projects-list{list-style-type:none;padding-left:0;margin:0}.project-item{background:var(--color-background-alt);padding:var(--spacing-md);border-radius:var(--border-radius-md)!important;margin-top:var(--spacing-sm);margin-bottom:var(--spacing-xs);box-shadow:2px 2px 5px rgba(0,0,0,.1);border-left:3px solid var(--color-primary);position:relative;transition:all .3s ease;scroll-margin-top:100px;overflow:visible}.projects ul{list-style-type:none;padding-left:0;margin:0}.projects ul li{background:var(--color-background-alt);padding:var(--spacing-sm);border-radius:var(--border-radius-md);margin-top:var(--spacing-sm);margin-bottom:var(--spacing-xs);box-shadow:2px 2px 5px rgba(0,0,0,.1);border-left:3px solid var(--color-primary)}.projects ul p{margin:5px 0;padding-left:var(--spacing-sm)!important;line-height:1.4;padding:0;font-size:var(--font-size-base);color:var(--color-text)}.project-item ul{margin:10px 0;padding-left:0}.project-item ul li{margin-bottom:var(--spacing-md);line-height:1.5}.project-item p{margin:12px 0;line-height:1.5}.technical-details{background:#eef4ff;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius-md);box-shadow:2px 2px 5px rgba(0,0,0,.1);font-size:var(--font-size-xs);border-left:3px solid var(--color-primary);margin:5px var(--spacing-lg) 5px var(--spacing-md)!important;transition:opacity .3s ease-in-out,transform .3s ease-in-out;display:block!important}.technical-details.reveal{animation:fadeInDetails .3s ease-in-out forwards!important;opacity:0}.technical-details.reveal.visible,.technical-details.reveal[style*="opacity: 1"]{opacity:1!important;transform:translateY(0)!important}@keyframes fadeInDetails{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}body.dark-mode .technical-details{background:#2a2a2a}body.dark-mode .project-item,body.dark-mode .projects ul li,body.dark-mode .technical-details{box-shadow:2px 2px 8px rgba(0,0,0,.3)}.technical-details .technical-details-list-item{background:transparent;padding:0;margin:0;margin-left:var(--spacing-lg);margin-bottom:2px;box-shadow:none;font-size:var(--font-size-xs);list-style-type:disc;border:none;border-radius:0}.technical-details ul{margin-top:1px!important;margin-bottom:1px!important;padding-left:var(--spacing-sm)!important}.technical-details>li{background:transparent!important;box-shadow:none!important;border-radius:0!important;border-left:none!important}.technical-details ul li{background:transparent!important;padding:0!important;margin:0;margin-bottom:1px!important;margin-left:var(--spacing-lg);box-shadow:none!important;font-size:var(--font-size-xs);list-style-type:circle!important;border:none!important;display:list-item!important;border-radius:0!important}body.dark-mode .technical-details .technical-details-list-item,body.dark-mode .technical-details ul,body.dark-mode .technical-details ul li,body.dark-mode .technical-details>li{background:transparent!important;color:#ddd!important;box-shadow:none!important;border-radius:0!important;border:none!important}body.dark-mode .technical-details ul li{list-style-type:circle!important}body.dark-mode .technical-details .technical-details-list-item{list-style-type:disc!important}.project-header{justify-content:space-between;margin-bottom:var(--spacing-sm);flex-wrap:wrap;width:100%;overflow:hidden}.project-header,.project-link{display:flex;align-items:center;gap:var(--spacing-xs)}.project-link{text-decoration:none;color:var(--color-primary);font-size:1.2rem;font-weight:700;transition:var(--transition-base);min-width:0;flex:1}.project-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.github-icon{font-size:1.2rem;color:var(--color-primary);transition:var(--transition-base)}.live-demo-link{display:inline-flex;align-items:center;background:var(--color-primary);color:#fff;padding:6px 12px;border-radius:var(--border-radius-sm);text-decoration:none;font-size:var(--font-size-sm);font-weight:500;transition:all .2s ease;white-space:nowrap;line-height:1.2;flex-shrink:0}.live-demo-link:hover{background-color:#005bb5;transform:translateY(-1px)}body.dark-mode .live-demo-link{background:var(--color-primary);color:#fff}body.dark-mode .live-demo-link:hover{background:#005bb5}.project-link:hover,.project-link:hover .github-icon{color:#005bb5}@media (max-width:768px){.project-item{scroll-margin-top:80px;padding:var(--spacing-sm);padding-right:calc(var(--spacing-sm) + 12px);border-radius:var(--border-radius-md)!important;overflow:visible}.project-header{display:flex;align-items:center;gap:8px;width:calc(100% - 8px);margin-bottom:var(--spacing-xs);overflow:visible;padding-right:10px}.project-link{font-size:1rem;min-width:0;max-width:75%}.live-demo-link{padding:4px 8px;font-size:.75rem;min-height:26px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--border-radius-sm)!important;margin-right:5px}}.tech-badges{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.tech-badge{display:inline-block;padding:4px 8px;background-color:rgba(0,123,255,.1);color:var(--color-primary);border-radius:4px;font-size:var(--font-size-xs);font-weight:500;border:1px solid rgba(0,123,255,.2)}body.dark-mode .tech-badge{background-color:rgba(30,136,229,.2);color:#80b3ff;border:1px solid rgba(30,136,229,.3)}.about{max-width:var(--max-width-lg);margin:0 auto;padding:var(--spacing-sm) 0;text-align:left;line-height:var(--line-height-base)}.about h2{margin-bottom:var(--spacing-sm);text-align:left}.about ul{padding-left:var(--spacing-md);list-style-type:disc}.about p{margin-bottom:var(--spacing-sm)}.about h3{margin-bottom:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.core-values,.job-favorites,.technical-competencies{display:flex;justify-content:space-between;gap:var(--spacing-sm);margin-top:0}.core-values ul,.job-favorites ul,.technical-competencies ul{list-style-type:disc;padding-left:var(--spacing-sm);flex:1;margin-top:0;padding-top:0}.skills-section{width:100%;padding-top:var(--spacing-sm);padding-bottom:15px}.skills-section h2{margin-bottom:10px;color:var(--color-text)}.skills-section h3{margin-top:20px;margin-bottom:10px;color:var(--color-primary)}.skills-intro{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm);font-size:.95rem;color:var(--color-text);font-style:italic}.skills-container{display:flex;flex-direction:column;gap:20px;margin-top:15px;position:relative}.skills-category{padding-bottom:5px;position:relative}.skill-tags-container{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;position:relative}.skill-tag{padding:6px 14px;border-radius:30px;font-weight:500;font-size:1rem;display:inline-flex;align-items:center;margin-bottom:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:transform .3s ease,box-shadow .3s ease;position:relative;z-index:2}.skill-tag:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.skill-tag.active{transform:translateY(-3px);box-shadow:0 4px 8px rgba(0,0,0,.2);font-weight:600}.project-link-indicator{display:inline-flex;margin-left:6px;opacity:.7;transition:opacity .2s ease}.skill-tag:hover .project-link-indicator{opacity:1}.has-project{position:relative;cursor:pointer}.skill-projects-callout{background-color:var(--color-background-alt);border-radius:8px;padding:16px;margin:5px 0 15px;box-shadow:0 4px 12px rgba(0,0,0,.15);position:relative;border-left:3px solid var(--color-primary);animation:fadeIn .3s ease-in-out;width:calc(100% - 20px);max-width:100%;z-index:10;opacity:1!important;transform:translateY(0)!important;transition:none!important;display:block!important;visibility:visible!important;animation-name:skillCalloutFadeIn!important;animation-duration:.3s!important;animation-timing-function:ease-in-out!important;animation-fill-mode:forwards!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes skillCalloutFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.skill-projects-callout h4{color:var(--color-primary);margin-top:0;margin-bottom:12px;font-size:1.1rem}.callout-section-title{font-size:.95rem;color:var(--color-text);margin-top:14px;margin-bottom:8px;border-bottom:1px solid rgba(0,0,0,.1);padding-bottom:4px}body.dark-mode .callout-section-title{border-bottom:1px solid hsla(0,0%,100%,.1)}.skill-projects-list{display:flex;flex-direction:column;gap:12px}.skill-project-item{padding:10px;background-color:rgba(0,0,0,.03);border-radius:6px;cursor:pointer;transition:transform .2s ease,background-color .2s ease;position:relative;overflow:hidden;opacity:1!important;transform:none!important;transition:background-color .2s ease,transform .2s ease!important}.skill-project-item:hover{transform:translateY(-2px);background-color:rgba(0,0,0,.05)}.skill-experience-list{display:flex;flex-direction:column;gap:12px}.skill-experience-item{padding:10px;background-color:rgba(0,123,255,.04);border-radius:6px;position:relative;overflow:hidden}.skill-experience-item h5{margin:0 0 6px;font-size:.95rem;color:var(--color-primary)}.skill-experience-item p{margin:0;font-size:.9rem;line-height:1.4;color:var(--color-text-secondary)}.skill-education-list{display:flex;flex-direction:column;gap:12px}.skill-education-item{padding:10px;background-color:rgba(34,197,94,.04);border-radius:6px;position:relative;overflow:hidden}.skill-education-item h5{margin:0 0 6px;font-size:.95rem;color:var(--color-primary)}.skill-education-item p{margin:0;font-size:.9rem;line-height:1.4;color:var(--color-text-secondary)}.skill-project-item h5{margin:0 0 6px;font-size:1rem;color:var(--color-primary);display:flex;align-items:center}.project-title{display:flex;align-items:center;gap:6px}.view-project-icon{opacity:0;transition:opacity .2s ease;margin-left:4px}.skill-project-item:hover .view-project-icon{opacity:.7}.skill-project-item p{margin:0;font-size:.9rem;line-height:1.4;color:var(--color-text-secondary)}.close-callout{position:absolute;top:8px;right:8px;background:none;border:none;color:var(--color-text-secondary);font-size:1.5rem;cursor:pointer;padding:0;line-height:1;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease,color .2s ease;z-index:3}.close-callout:hover{background-color:rgba(0,0,0,.05);color:var(--color-text)}.skill-tag-blue{background-color:rgba(59,130,246,.1);color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.skill-tag-purple{background-color:rgba(167,139,250,.1);color:#a78bfa;border:1px solid rgba(167,139,250,.3)}.skill-tag-green{background-color:rgba(34,197,94,.1);color:#22c55e;border:1px solid rgba(34,197,94,.3)}@keyframes highlightProject{0%{box-shadow:0 0 0 2px var(--color-primary);transform:translateY(0)}50%{box-shadow:0 0 0 4px var(--color-primary);transform:translateY(-3px)}to{box-shadow:0 0 0 2px var(--color-primary);transform:translateY(0)}}.highlight-project{animation:highlightProject 2s ease}body.dark-mode .skills-section h2{color:var(--color-text-light)}body.dark-mode .skills-section h3{color:var(--color-secondary)}body.dark-mode .skills-intro{color:var(--color-text-muted)}body.dark-mode .skill-tag-blue{background-color:rgba(59,130,246,.15);color:#60a5fa;border:1px solid rgba(59,130,246,.4)}body.dark-mode .skill-tag-purple{background-color:rgba(167,139,250,.15);color:#c4b5fd;border:1px solid rgba(167,139,250,.4)}body.dark-mode .skill-tag-green{background-color:rgba(34,197,94,.15);color:#4ade80;border:1px solid rgba(34,197,94,.4)}body.dark-mode .skill-projects-callout{background-color:var(--color-background-alt);border-left-color:var(--color-primary)}body.dark-mode .skill-project-item{background-color:hsla(0,0%,100%,.05)}body.dark-mode .skill-project-item:hover{background-color:hsla(0,0%,100%,.08)}body.dark-mode .close-callout:hover{background-color:hsla(0,0%,100%,.1)}body.dark-mode .skill-experience-item{background-color:rgba(59,130,246,.08)}body.dark-mode .skill-education-item{background-color:rgba(34,197,94,.08)}.skill-project-item *{opacity:1!important;transform:none!important}@media (max-width:768px){.skills-section{padding:10px 0}.skill-tags-container{gap:8px}.skill-tag{margin-bottom:6px;font-size:.9rem;padding:5px 10px}.skills-intro{font-size:.85rem}.skill-projects-callout{padding:12px;margin:3px 0 12px}.skill-education-item,.skill-experience-item,.skill-project-item{padding:8px}.skill-education-item h5,.skill-experience-item h5,.skill-project-item h5{font-size:.95rem}.skill-education-item p,.skill-experience-item p,.skill-project-item p{font-size:.85rem}}.experience{position:relative;padding-top:var(--spacing-sm)}.experience-list{padding-left:0;margin:0;width:100%}.experience-list,.job-item,.job-item.reveal{list-style-type:none;margin-bottom:var(--spacing-xs)}.job-item,.job-item.reveal{background:var(--color-background-alt);padding:var(--spacing-md);border-radius:var(--border-radius-md);margin-top:var(--spacing-sm);box-shadow:2px 2px 5px rgba(0,0,0,.1)!important;border-left:3px solid var(--color-primary);position:relative;transition:all .3s ease}.job-item:last-child{margin-bottom:0}.job-item h3{margin:0 0 var(--spacing-xs) 0;color:var(--color-primary);font-weight:600;font-size:var(--font-size-lg)}.job-item>ul{list-style-type:none;padding-left:0;margin:0}.job-item p{margin:10px 0;padding-left:var(--spacing-md)!important;line-height:1.5;padding:0;font-size:var(--font-size-base);color:var(--color-text)}.job-item ul ul{list-style-type:disc!important;padding-left:var(--spacing-2xl);margin-top:var(--spacing-sm);margin-bottom:var(--spacing-md)}.job-item ul ul li{margin-bottom:var(--spacing-md);line-height:1.5;display:list-item;list-style-type:disc;padding-left:var(--spacing-xs)}.job-item ul ul li:last-child{margin-bottom:0}html body .job-item{will-change:opacity,transform!important;box-shadow:2px 2px 5px rgba(0,0,0,.1)!important}body.dark-mode .job-item,body.dark-mode .job-item.reveal{box-shadow:2px 2px 8px rgba(0,0,0,.3)!important}@media (max-width:768px){.job-item h3,.job-item p{margin-top:var(--spacing-xxs);margin-bottom:var(--spacing-xxs)}.job-item ul ul{padding-left:var(--spacing-sm)}.job-item ul ul li{margin-bottom:var(--spacing-xxs)}}.technologies{margin-top:var(--spacing-xs)}.experience-list .job-item.reveal{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease,box-shadow 0s ease!important}.experience-list .job-item.reveal,.experience-list .job-item.reveal[style*="opacity: 1"]{box-shadow:2px 2px 5px rgba(0,0,0,.1)!important}body.dark-mode .experience-list .job-item.reveal,body.dark-mode .experience-list .job-item.reveal[style*="opacity: 1"]{box-shadow:2px 2px 8px rgba(0,0,0,.3)!important}.education{position:relative;padding-top:var(--spacing-sm)}.education-list{padding-left:0;margin:0;width:100%}.degree-item,.degree-item.reveal,.education-list{list-style-type:none;margin-bottom:var(--spacing-xs)}.degree-item,.degree-item.reveal{background:var(--color-background-alt);padding:var(--spacing-md);border-radius:var(--border-radius-md);margin-top:var(--spacing-sm);box-shadow:2px 2px 5px rgba(0,0,0,.1)!important;border-left:3px solid var(--color-primary);position:relative;transition:all .3s ease}.degree-item:last-child{margin-bottom:0}.degree-item h3{margin:0 0 var(--spacing-xs) 0;color:var(--color-primary);font-weight:600;font-size:var(--font-size-lg)}.degree-item>ul{list-style-type:none;padding-left:0;margin:0}.degree-item p{margin:10px 0;padding-left:var(--spacing-md)!important;line-height:1.5;padding:0;font-size:var(--font-size-base);color:var(--color-text)}.degree-item ul ul{list-style-type:disc!important;padding-left:var(--spacing-2xl);margin-top:var(--spacing-sm);margin-bottom:var(--spacing-md)}.degree-item ul ul li{margin-bottom:var(--spacing-md);line-height:1.5;display:list-item;list-style-type:disc;padding-left:var(--spacing-xs)}.degree-item ul ul li:last-child{margin-bottom:0}body.dark-mode .degree-item ul ul{list-style-type:disc!important}body.dark-mode .degree-item ul ul li{color:#ddd!important;list-style-type:disc!important;display:list-item!important;list-style-position:inside!important;background-image:none!important}body.dark-mode .degree-item>ul{list-style-type:none!important}body.dark-mode .degree-item>ul>li{list-style-type:none!important;list-style:none!important;display:block!important}body.dark-mode .degree-item,body.dark-mode .degree-item.reveal{box-shadow:2px 2px 8px rgba(0,0,0,.3)!important}.education-list .degree-item.reveal{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease,box-shadow 0s ease!important}.education-list .degree-item.reveal,.education-list .degree-item.reveal[style*="opacity: 1"]{box-shadow:2px 2px 5px rgba(0,0,0,.1)!important}body.dark-mode .education-list .degree-item.reveal,body.dark-mode .education-list .degree-item.reveal[style*="opacity: 1"]{box-shadow:2px 2px 8px rgba(0,0,0,.3)!important}@media (max-width:768px){.degree-item h3,.degree-item p{margin-top:var(--spacing-xxs);margin-bottom:var(--spacing-xxs)}.degree-item ul ul{padding-left:var(--spacing-sm)}.degree-item ul ul li{margin-bottom:var(--spacing-xxs)}}footer{text-align:center;margin-top:var(--spacing-lg);padding:var(--spacing-sm) 0;font-size:var(--font-size-sm);color:var(--color-text);opacity:.6}@media (max-width:992px){.container{padding:0 15px}.tab-content{padding:0 10px}}@media (max-width:768px){.container{padding:0 10px}.header-content{flex-direction:column;text-align:center}.tabs{flex-wrap:wrap}.tabs button{font-size:.9rem;padding:10px 0;flex-basis:50%}.content-wrapper{min-height:300px}.degree-item,.job-item{padding:12px;font-size:.9rem}.projects ul li{padding:12px}.social-icon{font-size:1.5rem}footer{font-size:.7rem;padding:15px 10px}.tab-content.transitioning{transform:translateY(10px)}}@media (max-width:480px){.tabs button{font-size:.8rem;padding:8px 5px;flex-basis:50%}h2{font-size:1.5rem}h3{font-size:1.2rem}}.app{display:flex;flex-direction:column;min-height:100vh}.container{flex:1;max-width:900px;width:100%;margin:0 auto;padding:0 20px;box-sizing:border-box;font-family:Arial,sans-serif;color:#333;line-height:1.6}:root{--color-primary:#345ea5;--color-secondary:#80b3ff;--color-text:#333;--color-text-light:#fff;--color-background:#fff;--color-background-dark:#1e1e1e;--color-background-alt:#f4f4f4;--color-background-alt-dark:#333;--color-border:rgba(0,0,0,.1);--font-size-base:16px;--font-size-xs:0.8rem;--font-size-sm:0.875rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-button:15px;--spacing-button-x:15px;--spacing-button-y:8px;--container-width:900px;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px;--border-radius-full:9999px;--transition-fast:0.15s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease}html{scroll-behavior:smooth}body{font-family:Arial,sans-serif;margin:0;padding:0;background-color:var(--color-background);color:var(--color-text);line-height:1.6}.back-to-top{position:fixed;bottom:30px;right:30px;background-color:var(--color-primary);color:#fff;width:50px;height:50px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:9999;box-shadow:0 2px 5px rgba(0,0,0,.2);opacity:0;visibility:hidden;transform:translateY(20px)}.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background-color:#005bb5;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.2)}.back-to-top svg{width:24px;height:24px}.loading{position:relative;pointer-events:none}.loading:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:hsla(0,0%,100%,.7);display:flex;align-items:center;justify-content:center}.loading:before{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid var(--color-primary);border-top:2px solid transparent;border-radius:50%;animation:spin .8s linear infinite;z-index:1}@keyframes spin{to{transform:rotate(1turn)}}[data-tooltip]{position:relative}[data-tooltip]:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);padding:5px 10px;background-color:rgba(0,0,0,.8);color:#fff;border-radius:4px;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s ease}[data-tooltip]:hover:before{opacity:1;visibility:visible;transform:translateX(-50%) translateY(-5px)}.interactive{transition:all .2s ease}.interactive:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.1)}body.dark-mode .back-to-top{background-color:var(--color-primary)}body.dark-mode .back-to-top:hover{background-color:#005bb5}body.dark-mode .loading:after{background:rgba(0,0,0,.7)}body.dark-mode [data-tooltip]:before{background-color:hsla(0,0%,100%,.9);color:#333}.content-wrapper{position:relative;min-height:400px}.tab-content{opacity:1;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}.tab-content.transitioning{opacity:0;transform:translateY(20px)}main{min-height:70vh;padding-bottom:40px}