@import url("https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap");:root{--bg-color:#fff;--text-color:#333;--text-muted:hsl(0 0% 14.9%);--text-light:#666;--text-lighter:#999;--border-color:#eee;--link-color:#333;--link-hover:#000;--card-bg:#f5f5f5;--shadow-color:rgba(0,0,0,0.15);--tech-gradient-1:linear-gradient(135deg,#667eea,#764ba2);--tech-gradient-2:linear-gradient(135deg,#f093fb,#f5576c);--tech-gradient-3:linear-gradient(135deg,#4facfe,#00f2fe);--tech-gradient-4:linear-gradient(135deg,#43e97b,#38f9d7);--tech-border-1:#8ecae6;--tech-border-2:#219ebc;--tech-border-3:#023047;--tech-border-4:#ffb703;--card-hover:#f0f0f0;--grid-color-1:rgba(64,64,64,0.01);--grid-color-2:rgba(64,64,64,0.05);--grid-glow:rgba(64,64,64,0.9)}.dark-theme{--bg-color:#121212;--text-color:#e0e0e0;--text-muted:#c5c5c5;--text-light:#a0a0a0;--text-lighter:#808080;--border-color:#2a2a2a;--link-color:#e0e0e0;--link-hover:#ffffff;--card-bg:#1e1e1e;--shadow-color:rgba(255,255,255,0.4);--tech-gradient-1:linear-gradient(135deg,#667eea,#764ba2);--tech-gradient-2:linear-gradient(135deg,#f093fb,#f5576c);--tech-gradient-3:linear-gradient(135deg,#4facfe,#00f2fe);--tech-gradient-4:linear-gradient(135deg,#43e97b,#38f9d7);--tech-border-1:#8ecae6;--tech-border-2:#219ebc;--tech-border-3:#023047;--tech-border-4:#ffb703;--card-hover:#1e1e1e;--grid-color-1:rgba(255,255,255,0.05);--grid-color-2:rgba(255,255,255,0.05);--grid-glow:rgba(255,255,255,0.05)}*{margin:0;padding:0;box-sizing:border-box}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;height:100dvh;z-index:-1;background-size:20px 20px}body{font-family:Lora,serif;font-size:16px;line-height:1.6;color:var(--text-color);padding:0 2rem;transition:background-color .3s ease,color .3s ease;min-height:100vh;scroll-behavior:smooth;scrollbar-width:8px}#main-content,body{background-color:var(--bg-color);margin:0 auto}#main-content{padding:2rem;max-width:800px}@media (max-width:768px){#main-content{padding:1rem;background-color:transparent;overflow:visible;max-width:100%}body:before{background:none!important;background-image:none!important}}@media (max-width:500px){#main-content{padding:.25rem}}.container{max-width:100%}@media screen and (max-width:768px){.container{padding:.5rem;box-sizing:border-box}}a{color:var(--link-color);text-decoration:none;transition:all .2s ease}#projects a:hover{color:var(--link-hover);text-decoration:underline;-webkit-text-decoration-color:var(--link-hover);text-decoration-color:var(--link-hover)}.section-title,h1,h2,h3{font-family:Lora,serif;font-weight:700}h1{font-size:1.2rem;margin:0}.section-title{font-size:1.2rem;color:var(--text-color);margin:2.5rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color);font-weight:900}h3{font-weight:700}.section-title p{font-size:.8rem;color:var(--text-muted);font-weight:400;font-style:normal}h3{font-size:1rem;margin-bottom:.2rem}p{margin-bottom:.5rem;color:var(--text-color)}header{display:flex;flex-direction:column}.header-top{justify-content:space-between;margin-bottom:1rem}.header-top,.intro{display:flex;align-items:center}.intro{gap:1rem}.avatar{width:70px;height:70px;border-radius:10px;object-fit:cover}.tagline{font-size:1.1rem;color:var(--text-light);margin:0}.bio{max-width:600px;margin-bottom:.75rem}.disclaimer{font-size:16px;color:var(--text-muted);margin-bottom:1rem;font-style:italic}.contact-links{display:flex;gap:1rem;font-size:1.2rem}.contact-links a{color:var(--text-muted);border-bottom:none}.contact-links a:hover{color:var(--link-hover)}.theme-toggle{background:none;border:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer;transition:color .2s ease}.theme-toggle:hover{color:var(--link-hover)}.theme-toggle .icon{display:inline-block}#theme-toggle .icon{display:none}.education-item,.work-item{margin-bottom:1.5rem}.education-item h3 a,.project h3 a,.work-item h3 a{border-bottom:none}.skills{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{font-size:14px;padding:0 1rem;background-color:var(--card-bg);border-radius:8px;border:1px solid var(--border-color);color:var(--text-color);transition:background-color .3s ease,color .3s ease}footer{margin-top:3rem;padding-top:1rem;color:var(--text-lighter);font-size:.8rem;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}@media (max-width:500px){.avatar{width:50px;height:50px}.intro{flex-direction:column;align-items:flex-start;gap:.5rem}}@media (max-width:600px){body{padding:1.5rem}h1{font-size:1.5rem}.section-title{font-size:1.1rem}footer{flex-direction:column;gap:8px}}.image-slider{position:relative;margin-bottom:1rem}.slider-container{position:relative;overflow:hidden;border-radius:8px;width:100%}.project-image{width:100%;border-radius:8px;margin-bottom:0;transition:all .3s ease;display:block}.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.1);color:white;border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .3s ease;z-index:2}.slider-arrow:hover{background:rgba(0,0,0,.3);transform:translateY(-50%) scale(1.1)}.slider-arrow-left{left:10px}.slider-arrow-right{right:10px}.slider-counter{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.3);color:white;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.slider-dots{display:flex;justify-content:center;gap:8px;margin-top:12px}.slider-dot{width:8px;height:8px;border-radius:50%;border:none;background:var(--text-lighter);cursor:pointer;transition:all .3s ease}.slider-dot.active{background:var(--link-color);transform:scale(1.2)}.slider-dot:hover{background:var(--link-hover)}.project-container{max-width:800px;margin:0 auto}.project-header{display:flex;align-items:flex-start;justify-content:space-between}.project-header:first-child{position:fixed;bottom:0;left:0;right:0;padding:2rem;box-sizing:border-box;border-top:1px solid var(--border-color);background:var(--bg-color)}@media (max-width:768px){.project-header:first-child{padding:1rem}}.back-button{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-muted);border-bottom:none;transition:color .2s ease}.back-button:hover{color:var(--link-hover)}.back-button img{display:none}.project-content{margin-bottom:5rem}.project-content h1{font-size:1.8rem;margin-bottom:.5rem;color:var(--text-color)}.project-meta{font-size:.9rem;font-style:italic;margin-bottom:.5rem}.tech-stack{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.tech-tag{font-size:.85rem;font-weight:500;padding:.05rem 1rem;box-sizing:border-box;background:var(--card-bg);border-radius:8px;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .3s ease;border:2px solid transparent;position:relative;overflow:hidden;font-family:inherit;letter-spacing:.025em}.tech-tag,.tech-tag:hover{color:var(--text-color);text-decoration:none}.tech-tag:hover{background-color:var(--card-hover)}.tech-tag .icon,.tech-tag i{width:16px;height:16px;display:inline-block;vertical-align:text-bottom}.view-more-container{text-align:left}.view-more-btn{background:transparent;color:var(--text-color);border:none;border-radius:25px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;font-family:inherit;text-decoration:underline;text-underline-offset:4px;height:-moz-fit-content;height:fit-content}.view-more-btn:hover{text-underline-offset:2px}.projects-grid{display:grid;max-height:700px;overflow-y:auto}.projects-hidden{display:none}.projects-visible{display:block;max-height:none;overflow-y:visible}.sticky-header{position:fixed;top:0;left:0;right:0;background-color:var(--bg-color);border-bottom:1px solid var(--border-color);padding:.5rem 2rem;transform:translateY(-100%);transition:transform .3s ease;display:flex;align-items:center;justify-content:space-between}.sticky-header.visible{transform:translateY(0)}.sticky-intro{display:flex;align-items:center;gap:1rem}.sticky-intro .avatar{width:40px;height:40px}.sticky-intro h1{font-size:1rem}.sticky-intro .tagline{font-size:.8rem}.sticky-actions{display:flex;gap:1rem}@media (max-width:600px){.sticky-header{padding:.5rem 1rem}.sticky-intro h1{font-size:.9rem}}@media (max-width:768px){body{padding:0}.project-image{border-radius:0;margin-bottom:0;box-shadow:0 0 10px 0 var(--shadow-color)}.tech-stack{padding:1rem;box-sizing:border-box;margin-bottom:0;gap:.5rem}.tech-tag{padding:.4rem .8rem;font-size:.8rem}.project-header{padding:0 1rem;box-sizing:border-box}[itemprop=description]{padding:0 1rem 5rem;box-sizing:border-box;background-color:var(--bg-color)}.slider-arrow{width:35px;height:35px;font-size:12px}.slider-arrow-left{left:10px}.slider-arrow-right{right:10px}}.animated-squares{position:fixed;top:0;left:0;right:0;bottom:0;z-index:-1;pointer-events:none;overflow:hidden}.animated-square{position:absolute;width:16px;height:16px;opacity:0;box-sizing:border-box;border-radius:0;transition:opacity .3s ease-in-out,transform .3s ease-in-out,border-radius 1s ease-in-out;animation:fillIn 2.5s ease-in-out forwards}.animated-square.moving{animation:fillInAndMove 3s ease-in-out forwards}@keyframes fillIn{0%{opacity:0;transform:scale(.8)}10%{opacity:.25;transform:scale(1)}80%{opacity:.25;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes fillInAndMove{0%{opacity:0;transform:scale(.8) translate(0)}10%{opacity:.25;transform:scale(1) translate(0);border-radius:0}60%{opacity:.25;transform:scale(1) translate(0);border-radius:0}80%{opacity:.2;transform:scale(.9) translate(10px,10px);border-radius:50%}to{opacity:0;transform:scale(.7) translate(20px,20px);border-radius:50%}}.container{position:relative;z-index:1}.sticky-header{z-index:100}@media (max-width:768px){.animated-square{animation-duration:3s}.animated-square.moving{animation-duration:4s}}.skip-link{position:absolute;top:-40px;left:6px;background:var(--bg-color);color:var(--text-color);padding:8px;text-decoration:none;border:1px solid var(--border-color);border-radius:4px;z-index:1000;opacity:0}.skip-link:focus{top:6px}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:2px solid var(--link-color);outline-offset:2px;box-shadow:0 0 0 4px rgba(51,51,51,.1)}.dark-theme a:focus,.dark-theme button:focus,.dark-theme input:focus,.dark-theme select:focus,.dark-theme textarea:focus{box-shadow:0 0 0 4px rgba(224,224,224,.1)}@media (prefers-contrast:high){:root{--text-color:#000;--bg-color:#fff;--link-color:#0000ff;--border-color:#000}.dark-theme{--text-color:#fff;--bg-color:#000;--link-color:#00ffff;--border-color:#fff}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.animated-square{animation:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skill-tag:focus,.tech-tag:focus{transform:scale(1.05);box-shadow:0 2px 8px var(--shadow-color)}.contact-links a:focus{background:var(--card-bg);border-radius:8px}.project h3 a:focus,.theme-toggle:focus,.view-more-btn:focus{background:var(--card-bg);border-radius:4px}.slider-arrow:focus{background:rgba(0,0,0,.5);transform:translateY(-50%) scale(1.2)}.slider-dot:focus{transform:scale(1.5);box-shadow:0 0 0 2px var(--bg-color),0 0 0 4px var(--link-color)}.project-meta{color:var(--text-muted);font-weight:500}.project-content p{line-height:1.7;margin-bottom:1rem}.projects-grid .project{border-radius:4px;margin-bottom:1rem;box-sizing:border-box;transition:background-color .2s ease}h1{font-size:1.8rem}h2{font-size:1.4rem}h3{font-size:1.2rem}.github-calendar-container{margin:1rem 0;transition:all .3s ease;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:1rem}.github-calendar-container::-webkit-scrollbar{height:6px}.github-calendar-container::-webkit-scrollbar-track{background:var(--border-color);border-radius:3px}.github-calendar-container::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}.github-calendar-container svg{min-width:720px;height:auto}.github-calendar-container text{fill:var(--text-color);font-family:Open Sans,sans-serif}.react-activity-calendar{max-width:none;width:auto}.react-activity-calendar__footer{border-top:none;margin-top:10px;padding-top:0;flex-wrap:wrap!important;align-items:flex-start!important}@media (max-width:768px){.contact-links{justify-content:space-around}.contact-links a,.theme-toggle,.view-more-btn{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center}.skill-tag,.tech-tag{padding:.2rem 1rem;margin:.25rem}.github-calendar-container{padding:0;margin:.5rem 0}.github-calendar-container svg{font-size:8px}}