@import url(https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&family=JetBrains+Mono:wght@100;200;300;400;500;600;700;800&display=swap);:root{--primary:#000;--primary-dark:#333;--primary-light:#666;--secondary:#666;--accent:#000;--success:#22c55e;--warning:#f59e0b;--error:#ef4444;--bg-primary:#fff;--bg-secondary:#f8f9fa;--bg-tertiary:#e9ecef;--text-primary:#000;--text-secondary:#333;--text-muted:#666;--border-color:#e5e5e5;--white:#fff;--black:#000;--gray-50:#f8f9fa;--gray-100:#e9ecef;--gray-200:#dee2e6;--gray-300:#ced4da;--gray-400:#adb5bd;--gray-500:#6c757d;--gray-600:#495057;--gray-700:#343a40;--gray-800:#212529;--gray-900:#000;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono","Fira Code","Monaco","Cascadia Code",monospace;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}[data-theme=dark]{--primary:#fff;--primary-dark:#ccc;--primary-light:#999;--secondary:#999;--accent:#fff;--black-text:#fff;--bg-primary:#0f0f0f;--bg-secondary:#1a1a1a;--bg-tertiary:#2a2a2a;--text-primary:#fff;--text-secondary:#e5e5e5;--text-muted:#ccc;--border-color:#333;--card-bg:#1a1a1a;--black-text:#000;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,.4),0 2px 4px -2px rgba(0,0,0,.4);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.4),0 4px 6px -4px rgba(0,0,0,.4);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.4),0 8px 10px -6px rgba(0,0,0,.4)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--bg-primary);color:#000;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);line-height:1.6;transition:background-color .3s ease,color .3s ease}.App,.app-layout{min-height:100vh}.app-layout{display:flex;flex-direction:column}.main-content{flex:1 1;padding-top:80px}h1,h2,h3,h4,h5,h6{color:#000;color:var(--text-primary);font-weight:600;line-height:1.2}h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:700}h2{font-size:clamp(1.5rem,4vw,2.5rem)}h2,h3{font-weight:600}h3{font-size:clamp(1.25rem,3vw,1.875rem)}p{color:#333;color:var(--text-secondary);font-size:1rem;line-height:1.7}a{color:inherit;text-decoration:none}a,button{transition:all .2s ease}button{align-items:center;border:none;border-radius:.5rem;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-weight:500;gap:.5rem;gap:var(--space-sm);justify-content:center}.btn-primary{background:#000;background:var(--primary);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);box-shadow:var(--shadow-md);color:#fff;color:var(--bg-primary);font-size:1rem;font-weight:600;padding:1rem 2rem;padding:var(--space-md) var(--space-xl)}.btn-primary:hover{background:#333;background:var(--primary-dark);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);box-shadow:var(--shadow-lg);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.btn-secondary{background:transparent;border:2px solid #000;border:2px solid var(--primary);color:#000;color:var(--primary);font-size:1rem;font-weight:600;padding:1rem 2rem;padding:var(--space-md) var(--space-xl)}.btn-secondary:hover{background:#000;background:var(--primary);color:#fff;color:var(--bg-primary);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.container{margin:0 auto;max-width:1200px;padding:0 1.5rem;padding:0 var(--space-lg)}.section{padding:4rem 0;padding:var(--space-3xl) 0}.section-title{margin-bottom:3rem;margin-bottom:var(--space-2xl);position:relative}.section-title:after{background:#000;background:var(--primary);border-radius:2px;bottom:-10px;content:"";height:4px;left:50%;position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:60px}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in-up{-webkit-animation:fadeInUp .6s ease-out;animation:fadeInUp .6s ease-out}.animate-fade-in{-webkit-animation:fadeIn .6s ease-out;animation:fadeIn .6s ease-out}.text-gradient{-webkit-text-fill-color:transparent;background:#000;background:var(--primary);-webkit-background-clip:text;background-clip:text}.glass-effect{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2)}[data-theme=dark] .glass-effect{background:rgba(0,0,0,.1);border:1px solid hsla(0,0%,100%,.1)}@media (max-width:768px){.container{padding:0 1rem;padding:0 var(--space-md)}.section{padding:3rem 0;padding:var(--space-2xl) 0}.main-content{padding-top:70px}}:root{--card-bg:#fff}.projects-section{background:var(--bg-primary);min-height:100vh;padding:var(--space-3xl) 0}.projects-container{margin:0 auto;max-width:1200px;padding:0 var(--space-lg)}.projects-header{margin-bottom:var(--space-3xl);text-align:center}.projects-title{color:var(--text-primary);font-size:clamp(2rem,5vw,3rem);font-weight:700;margin-bottom:var(--space-md)}.projects-subtitle{color:var(--text-secondary);font-size:1.125rem;line-height:1.7;margin:0 auto;max-width:700px}.projects-filter{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);margin-bottom:var(--space-3xl);padding:var(--space-xl)}.filter-header{align-items:center;color:var(--text-primary);display:flex;font-size:1.125rem;font-weight:600;gap:var(--space-sm);margin-bottom:var(--space-lg)}.filter-header svg{color:var(--primary)}.filter-buttons{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.filter-btn{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);transition:all .2s ease}.filter-btn:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px)}.filter-btn.active,.filter-btn:hover{background:var(--primary);border-color:var(--primary);color:var(--bg-primary)}.filter-btn.active{box-shadow:var(--shadow-md)}.filter-count{font-size:.75rem;opacity:.8}.projects-grid{grid-gap:var(--space-2xl);display:grid;gap:var(--space-2xl);grid-template-columns:repeat(auto-fit,minmax(380px,1fr));margin:0 auto;max-width:1400px}.project-card{-webkit-animation:fadeInUp .6s ease-out forwards;animation:fadeInUp .6s ease-out forwards;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;flex-direction:column;opacity:0;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.project-card:hover{border-color:var(--primary);box-shadow:var(--shadow-xl)}.project-card:before{background:var(--primary);content:"";height:4px;left:0;position:absolute;right:0;top:0;z-index:1}.project-image{align-items:center;background:var(--bg-secondary);display:flex;height:240px;justify-content:center;overflow:hidden;position:relative}.project-image img{height:100%;object-fit:cover;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;width:100%}.project-card:hover .project-image img{-webkit-transform:scale(1.05);transform:scale(1.05)}.project-overlay{position:absolute;right:var(--space-md);top:var(--space-md);z-index:2}.project-date-badge{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(0,0,0,.8);border-radius:var(--radius-lg);color:var(--white);display:flex;font-size:.75rem;font-weight:500;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm)}[data-theme=dark] .project-date-badge{background:hsla(0,0%,100%,.9);color:var(--black)}.project-date-badge svg{color:var(--bg-primary);font-size:.875rem}.placeholder{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;font-size:1rem;gap:var(--space-sm)}.placeholder svg{color:var(--primary);font-size:3rem;opacity:.5}.project-info{display:flex;flex-direction:column;flex-grow:1;padding:var(--space-xl)}.project-header{align-items:flex-start;display:flex;gap:var(--space-md);justify-content:space-between;margin-bottom:var(--space-md)}.project-title{color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1.2;margin:0}.project-links{display:flex;flex-shrink:0;gap:var(--space-sm)}.project-link{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);display:flex;height:36px;justify-content:center;transition:all .2s ease;width:36px}.project-link:hover{background:var(--primary);box-shadow:var(--shadow-sm);color:var(--bg-primary);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.project-desc{color:var(--text-secondary);flex-grow:1;font-size:1rem;line-height:1.6;margin-bottom:var(--space-lg)}.project-stack{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-xl)}.tech-tag{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);color:var(--primary);font-size:.8rem;font-weight:500;padding:var(--space-xs) var(--space-md);transition:all .2s ease}.tech-tag:hover{background:var(--primary);box-shadow:var(--shadow-sm);color:var(--bg-primary);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.project-buttons{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:auto}.project-buttons .btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;flex:1 1;font-size:.875rem;font-weight:500;gap:var(--space-sm);justify-content:center;min-width:120px;padding:var(--space-sm) var(--space-md);text-decoration:none;transition:all .2s ease}.project-buttons .btn-primary{background:var(--primary);box-shadow:var(--shadow-sm);color:var(--bg-primary)}.project-buttons .btn-primary:hover{box-shadow:var(--shadow-md);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.project-buttons .btn-secondary{background:transparent;border:1px solid var(--primary);color:var(--primary)}.project-buttons .btn-secondary:hover{background:var(--primary);color:var(--bg-primary);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.no-projects{align-items:center;background:#fff;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);color:var(--text-muted);display:flex;flex-direction:column;font-size:1.125rem;gap:var(--space-lg);grid-column:1/-1;margin-top:var(--space-3xl);padding:var(--space-3xl);text-align:center}.no-projects svg{color:var(--primary);font-size:4rem;opacity:.5}.no-projects .btn{margin-top:var(--space-md)}@media (max-width:1200px){.projects-grid{gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}}@media (max-width:768px){.projects-section{padding:var(--space-2xl) 0}.projects-filter{margin-bottom:var(--space-2xl);padding:var(--space-lg)}.filter-buttons{justify-content:center}.filter-btn{font-size:.8rem;padding:var(--space-xs) var(--space-md)}.projects-grid{gap:var(--space-lg);grid-template-columns:1fr}.project-image{height:200px}.project-info{padding:var(--space-lg)}.project-title{font-size:1.25rem}.project-buttons .btn{font-size:.8rem;min-width:100px;padding:var(--space-xs) var(--space-sm)}}@media (max-width:480px){.projects-filter{padding:var(--space-md)}.filter-header{font-size:1rem}.filter-buttons{gap:var(--space-xs)}.filter-btn{font-size:.75rem;padding:var(--space-xs) var(--space-sm)}.project-image{height:180px}.project-info{padding:var(--space-md)}.project-header{flex-direction:column;gap:var(--space-sm)}.project-links{align-self:flex-start}.tech-tag{font-size:.75rem;padding:var(--space-xs) var(--space-sm)}.project-buttons{flex-direction:column}.project-buttons .btn{justify-content:center;width:100%}}.footer{background:var(--bg-primary);border-top:1px solid var(--border-color);color:var(--text-primary);padding:var(--space-3xl) 0 var(--space-lg)}.footer-container{margin:0 auto;max-width:1200px;padding:0 var(--space-lg)}.footer-content{grid-gap:var(--space-2xl);border-bottom:1px solid var(--border-color);display:grid;gap:var(--space-2xl);grid-template-columns:2fr 1fr 1fr;margin-bottom:var(--space-2xl);padding-bottom:var(--space-2xl)}.footer-section{display:flex;flex-direction:column;gap:var(--space-md)}.footer-brand{color:var(--primary);font-family:var(--font-mono);font-size:1.5rem;font-weight:700;margin:0}.footer-description{color:var(--text-secondary);line-height:1.6;margin:0;max-width:400px}.footer-title{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.footer-links{display:flex;flex-direction:column;gap:var(--space-sm)}.footer-links a{color:var(--text-secondary);font-weight:500;text-decoration:none;transition:all .2s ease}.footer-links a:hover{color:var(--primary);-webkit-transform:translateX(5px);transform:translateX(5px)}.footer-social{display:flex;gap:var(--space-md)}.footer-social a{align-items:center;border:1px solid var(--border-color);border-radius:50%;color:var(--text-secondary);display:flex;font-size:1.25rem;height:45px;justify-content:center;text-decoration:none;transition:all .2s ease;width:45px}.footer-social a:hover{background:var(--primary);border-color:var(--primary);box-shadow:var(--shadow-lg);color:var(--bg-primary);-webkit-transform:translateY(-3px);transform:translateY(-3px)}.footer-bottom{text-align:center}.footer-copyright{align-items:center;color:var(--text-muted);display:flex;font-size:.875rem;gap:var(--space-sm);justify-content:center;margin:0}.heart-icon{-webkit-animation:heartbeat 1.5s ease-in-out infinite;animation:heartbeat 1.5s ease-in-out infinite;color:var(--error)}@-webkit-keyframes heartbeat{0%,to{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}}@keyframes heartbeat{0%,to{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}}@media (max-width:768px){.footer{padding:var(--space-2xl) 0 var(--space-lg)}.footer-container{padding:0 var(--space-md)}.footer-content{gap:var(--space-xl);grid-template-columns:1fr;text-align:center}.footer-description{max-width:none}.footer-links{align-items:center}.footer-links a:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px)}.footer-social{justify-content:center}}@media (max-width:480px){.footer-content{gap:var(--space-lg)}.footer-brand{font-size:1.25rem}.footer-social a{font-size:1.125rem;height:40px;width:40px}.footer-copyright{flex-direction:column;font-size:.8rem;gap:var(--space-xs)}}.home-page{background:var(--bg-primary);display:flex;height:100vh;min-height:100vh;overflow:hidden;position:relative}.home-background{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:1}.geometric-shape{-webkit-animation:shapeFloat 10s ease-in-out infinite;animation:shapeFloat 10s ease-in-out infinite;position:absolute}.shape-inner{background:linear-gradient(135deg,var(--primary),var(--primary-light));border-radius:50%;box-shadow:0 0 30px rgba(var(--primary-rgb),.3);-webkit-filter:blur(2px);filter:blur(2px);height:100%;opacity:.1;position:relative;width:100%}.shape-1{-webkit-animation-delay:0s;animation-delay:0s;height:100px;left:5%;top:10%;width:100px}.shape-2{-webkit-animation-delay:2s;animation-delay:2s;height:70px;right:5%;top:25%;width:70px}.shape-3{-webkit-animation-delay:4s;animation-delay:4s;height:80px;left:3%;top:60%;width:80px}.shape-4{-webkit-animation-delay:6s;animation-delay:6s;height:50px;right:3%;top:70%;width:50px}.shape-5{-webkit-animation-delay:8s;animation-delay:8s;height:90px;left:48%;top:40%;width:90px}.shape-6{-webkit-animation-delay:10s;animation-delay:10s;height:60px;left:52%;top:20%;width:60px}.floating-orb{-webkit-animation:orbFloat 8s ease-in-out infinite;animation:orbFloat 8s ease-in-out infinite;background:radial-gradient(circle,hsla(0,0%,100%,.1) 0,transparent 70%);border-radius:50%;box-shadow:0 0 20px hsla(0,0%,100%,.1);position:absolute}.orb-1{-webkit-animation-delay:0s;animation-delay:0s;height:35px;left:25%;top:20%;width:35px}.orb-2{-webkit-animation-delay:2s;animation-delay:2s;height:25px;right:20%;top:45%;width:25px}.orb-3{-webkit-animation-delay:4s;animation-delay:4s;height:30px;left:15%;top:65%;width:30px}.orb-4{-webkit-animation-delay:6s;animation-delay:6s;height:20px;left:50%;top:30%;width:20px}.animated-line{-webkit-animation:lineFlow 6s ease-in-out infinite;animation:lineFlow 6s ease-in-out infinite;background:linear-gradient(90deg,transparent,var(--primary),transparent);height:1px;opacity:.3;position:absolute}.line-1{-webkit-animation-delay:0s;animation-delay:0s;left:8%;top:25%;width:150px}.line-2{-webkit-animation-delay:2s;animation-delay:2s;right:8%;top:60%;width:120px}.line-3{-webkit-animation-delay:4s;animation-delay:4s;left:50%;top:40%;width:140px}.glow-particle{-webkit-animation:glowPulse 4s ease-in-out infinite;animation:glowPulse 4s ease-in-out infinite;background:var(--primary);border-radius:50%;box-shadow:0 0 10px var(--primary);height:3px;position:absolute;width:3px}.glow-1{-webkit-animation-delay:0s;animation-delay:0s;left:20%;top:15%}.glow-2{-webkit-animation-delay:.5s;animation-delay:.5s;right:15%;top:35%}.glow-3{-webkit-animation-delay:1s;animation-delay:1s;left:10%;top:55%}.glow-4{-webkit-animation-delay:1.5s;animation-delay:1.5s;right:25%;top:70%}@-webkit-keyframes shapeFloat{0%,to{-webkit-transform:translateY(0) rotate(0deg) scale(1);transform:translateY(0) rotate(0deg) scale(1)}25%{-webkit-transform:translateY(-20px) rotate(90deg) scale(1.1);transform:translateY(-20px) rotate(90deg) scale(1.1)}50%{-webkit-transform:translateY(-30px) rotate(180deg) scale(.9);transform:translateY(-30px) rotate(180deg) scale(.9)}75%{-webkit-transform:translateY(-15px) rotate(270deg) scale(1.05);transform:translateY(-15px) rotate(270deg) scale(1.05)}}@keyframes shapeFloat{0%,to{-webkit-transform:translateY(0) rotate(0deg) scale(1);transform:translateY(0) rotate(0deg) scale(1)}25%{-webkit-transform:translateY(-20px) rotate(90deg) scale(1.1);transform:translateY(-20px) rotate(90deg) scale(1.1)}50%{-webkit-transform:translateY(-30px) rotate(180deg) scale(.9);transform:translateY(-30px) rotate(180deg) scale(.9)}75%{-webkit-transform:translateY(-15px) rotate(270deg) scale(1.05);transform:translateY(-15px) rotate(270deg) scale(1.05)}}@-webkit-keyframes orbFloat{0%,to{opacity:.3;-webkit-transform:translateY(0) translateX(0);transform:translateY(0) translateX(0)}25%{opacity:.6;-webkit-transform:translateY(-15px) translateX(10px);transform:translateY(-15px) translateX(10px)}50%{opacity:.4;-webkit-transform:translateY(-25px) translateX(-5px);transform:translateY(-25px) translateX(-5px)}75%{opacity:.7;-webkit-transform:translateY(-10px) translateX(15px);transform:translateY(-10px) translateX(15px)}}@keyframes orbFloat{0%,to{opacity:.3;-webkit-transform:translateY(0) translateX(0);transform:translateY(0) translateX(0)}25%{opacity:.6;-webkit-transform:translateY(-15px) translateX(10px);transform:translateY(-15px) translateX(10px)}50%{opacity:.4;-webkit-transform:translateY(-25px) translateX(-5px);transform:translateY(-25px) translateX(-5px)}75%{opacity:.7;-webkit-transform:translateY(-10px) translateX(15px);transform:translateY(-10px) translateX(15px)}}@-webkit-keyframes lineFlow{0%,to{opacity:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}50%{opacity:.3;-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes lineFlow{0%,to{opacity:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}50%{opacity:.3;-webkit-transform:translateX(100%);transform:translateX(100%)}}@-webkit-keyframes glowPulse{0%,to{box-shadow:0 0 10px var(--primary);opacity:.6;-webkit-transform:scale(1);transform:scale(1)}50%{box-shadow:0 0 20px var(--primary),0 0 30px var(--primary);opacity:1;-webkit-transform:scale(1.5);transform:scale(1.5)}}@keyframes glowPulse{0%,to{box-shadow:0 0 10px var(--primary);opacity:.6;-webkit-transform:scale(1);transform:scale(1)}50%{box-shadow:0 0 20px var(--primary),0 0 30px var(--primary);opacity:1;-webkit-transform:scale(1.5);transform:scale(1.5)}}.home-container{grid-gap:var(--space-3xl);display:grid;gap:var(--space-3xl);grid-template-columns:380px 1fr;height:100vh;margin:0 auto;max-width:1200px;overflow:hidden;padding:var(--space-xl) var(--space-2xl);position:relative;width:100%;z-index:2}.home-left{height:100%;justify-content:flex-start;overflow-x:hidden;overflow-y:auto;padding-top:var(--space-lg)}.hero-intro,.home-left{display:flex;flex-direction:column}.hero-intro{gap:var(--space-md)}.hero-greeting-text{color:var(--text-primary);font-size:clamp(1.5rem,3vw,2rem);font-weight:600;line-height:1.3;margin:0 0 var(--space-sm) 0}.hero-name-inline{color:var(--primary);font-weight:700}.hero-description{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0 0 var(--space-sm) 0}.hero-nav-links{flex-direction:column;margin-top:var(--space-md)}.hero-nav-links,.nav-link{display:flex;gap:var(--space-sm)}.nav-link{align-items:center;color:var(--text-secondary);font-size:.875rem;font-weight:500;padding:var(--space-xs) 0;text-decoration:none;transition:all .2s ease}.nav-link:hover{color:var(--primary);-webkit-transform:translateX(5px);transform:translateX(5px)}.nav-number{color:var(--primary);font-weight:600;min-width:25px}.nav-separator{color:var(--text-secondary);opacity:.5}.nav-text{flex:1 1}.hero-social{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-md)}.hero-profile{flex-shrink:0;margin:0}.hero-profile img{border:2px solid var(--border-color);border-radius:50%;box-shadow:var(--shadow-md);height:100px;object-fit:cover;transition:all .3s ease;width:100px}.hero-profile img:hover{box-shadow:var(--shadow-lg);-webkit-transform:scale(1.05);transform:scale(1.05)}.hero-social a{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;gap:var(--space-sm);padding:var(--space-xs) 0;text-decoration:none;transition:all .2s ease}.hero-social a:hover{color:var(--primary);-webkit-transform:translateX(5px);transform:translateX(5px)}.hero-social a svg{font-size:1rem;min-width:20px}.hero-social a .external-link{font-size:.75rem;margin-left:auto;opacity:.5}.home-right{height:100%;overflow-x:hidden;overflow-y:auto;padding-right:var(--space-sm);padding-top:var(--space-sm)}.right-content{display:flex;flex-direction:column;gap:var(--space-xl);padding-bottom:var(--space-lg)}.right-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:var(--space-md);padding-bottom:var(--space-sm)}.right-name{color:var(--text-primary);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:1.1;margin:0}.header-actions{align-items:center;display:flex;gap:var(--space-sm)}.theme-toggle{background:var(--card-bg);box-shadow:var(--shadow-sm);font-size:1.125rem}.theme-toggle:hover{background:var(--bg-secondary);border-color:var(--primary);box-shadow:var(--shadow-md);color:var(--primary);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.download-btn{align-items:center;background:var(--primary);border:none;border-radius:var(--radius-md);color:var(--border-color);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);text-decoration:none;transition:all .2s ease}.download-btn:hover{background:var(--primary-dark);box-shadow:var(--shadow-md);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.download-btn svg{font-size:.875rem}.home-left::-webkit-scrollbar,.home-right::-webkit-scrollbar{width:6px}.home-left::-webkit-scrollbar-track,.home-right::-webkit-scrollbar-track{background:transparent}.home-left::-webkit-scrollbar-thumb,.home-right::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.home-left::-webkit-scrollbar-thumb:hover,.home-right::-webkit-scrollbar-thumb:hover{background:var(--primary)}@media (max-width:1200px){.home-container{gap:var(--space-2xl);grid-template-columns:350px 1fr;padding:var(--space-lg) var(--space-xl)}}@media (max-width:968px){.home-page{height:auto;min-height:100vh}.home-container{gap:var(--space-xl);grid-template-columns:1fr;height:auto;padding:var(--space-xl) var(--space-lg)}.home-left{height:auto;padding-top:var(--space-lg)}.home-right{height:auto;overflow:visible}.right-content{gap:var(--space-2xl)}.right-header{align-items:flex-start;flex-direction:column;gap:var(--space-md)}}@media (max-width:768px){.home-container{padding:var(--space-lg) var(--space-md)}.hero-greeting-text{font-size:1.5rem}.right-name{font-size:2rem}.hero-profile img{height:80px;width:80px}}.home-right .about-container,.home-right .about-me,.home-right .experience-container,.home-right .experience-section,.home-right .skills-container,.home-right .skills-logos-section{padding:0}.about-me{background:transparent;padding:0}.about-container{display:block;margin:0;max-width:100%;padding:0}.about-image-container{align-items:center;display:flex;justify-content:center;position:relative}.about-img{border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);height:auto;max-width:400px;transition:all .3s ease;width:100%}.about-img:hover{box-shadow:var(--shadow-xl);-webkit-transform:translateY(-8px);transform:translateY(-8px)}.about-image-container:before{background:var(--primary);border-radius:var(--radius-xl);bottom:-20px;content:"";left:20px;opacity:.1;position:absolute;right:-20px;top:20px;z-index:1}.about-text{display:flex;flex-direction:column;gap:var(--space-md)}.about-title{color:var(--text-primary);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:700;margin-bottom:var(--space-sm);position:relative}.about-title:after{background:var(--primary);border-radius:2px;bottom:-10px;content:"";height:4px;left:0;position:absolute;width:60px}.about-description{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin-bottom:var(--space-sm)}.about-highlights{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:0}.about-highlight{align-items:flex-start;background:var(--bg-primary);border-left:3px solid var(--primary);border-radius:var(--radius-md);display:flex;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);transition:all .2s ease}.about-highlight:hover{background:var(--bg-secondary);box-shadow:var(--shadow-md);-webkit-transform:translateX(5px);transform:translateX(5px)}.highlight-icon{color:var(--primary);flex-shrink:0;font-size:1rem;margin-top:3px}.highlight-text{color:var(--primary);font-size:.85rem;line-height:1.5;margin:0}.about-cta{display:flex;flex-wrap:wrap;gap:var(--space-md)}@media (max-width:968px){.about-container{gap:var(--space-2xl);grid-template-columns:1fr;text-align:center}.about-image-container:before{display:none}.about-title:after{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.about-highlight{text-align:left}}@media (max-width:768px){.about-me{padding:var(--space-2xl) 0}.about-container{gap:var(--space-xl);padding:0 var(--space-md)}.about-img{max-width:300px}.about-description{font-size:1rem}.about-highlight{padding:var(--space-sm)}.about-cta{justify-content:center}}@media (max-width:480px){.about-img{max-width:250px}.about-highlight{flex-direction:column;gap:var(--space-sm);text-align:center}.highlight-icon{margin-top:0}}.skills-section{background:transparent;padding:0;position:relative}.skills-container{margin:0;max-width:100%;padding:0}.skills-title{color:var(--text-primary);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:700;margin-bottom:var(--space-lg)}.skills-list{gap:var(--space-md)}.skill-category,.skills-list{display:flex;flex-direction:column}.skill-category{gap:var(--space-xs)}.skill-category-name{color:var(--primary);font-size:.875rem;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.skill-items{align-items:center;display:flex;flex-wrap:wrap;gap:0;line-height:1.8}.skill-item{color:var(--text-secondary);font-size:.875rem;font-weight:400;gap:var(--space-xs)}.skill-icon,.skill-item{align-items:center;display:inline-flex}.skill-icon{color:var(--primary);font-size:1rem}.skill-name{display:inline-block}.skill-separator{color:var(--text-secondary);margin-right:var(--space-xs)}@media (max-width:768px){.skills-title{font-size:1.25rem}.skill-category-name,.skill-item{font-size:.8rem}.skill-icon{font-size:.875rem}}:root{--bg-start:#f0f0f3;--bg-end:#fff;--text-dark:#2c3e50;--text-light:#555;--card-bg:hsla(0,0%,100%,.9)}.experience-section{background:transparent;padding:0;position:relative}.experience-container{margin:0;max-width:100%;padding:0}.experience-header{margin-bottom:var(--space-md);text-align:left}.experience-title{color:var(--primary);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:700;margin-bottom:var(--space-xs)}.experience-subtitle{color:var(--text-secondary);font-size:.875rem;line-height:1.6;margin:0;max-width:100%}.experience-grid{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:1fr;margin-top:var(--space-sm)}.experience-card{-webkit-animation:fadeInUp .6s ease-out forwards;animation:fadeInUp .6s ease-out forwards;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);opacity:0;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.experience-card:first-child{-webkit-animation-delay:.1s;animation-delay:.1s}.experience-card:nth-child(2){-webkit-animation-delay:.2s;animation-delay:.2s}.experience-card:nth-child(3){-webkit-animation-delay:.3s;animation-delay:.3s}.experience-card:nth-child(4){-webkit-animation-delay:.4s;animation-delay:.4s}.experience-card:before{background:linear-gradient(90deg,var(--primary),var(--primary-light));content:"";height:4px;left:0;position:absolute;right:0;top:0}.experience-card:hover{border-color:var(--primary);box-shadow:var(--shadow-xl);-webkit-transform:translateY(-8px);transform:translateY(-8px)}.card-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);justify-content:space-between;padding:var(--space-sm) var(--space-md)}.card-header,.company-logo{align-items:center;display:flex}.company-logo{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);height:50px;justify-content:center;overflow:hidden;width:50px}.company-logo img{height:100%;object-fit:cover;width:100%}.card-badge{align-items:center;background:var(--primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);color:var(--bg-primary);display:flex;font-size:.75rem;font-weight:600;gap:var(--space-xs);letter-spacing:.5px;padding:var(--space-xs) var(--space-md);text-transform:uppercase}.card-badge svg{font-size:.875rem}.card-content{padding:var(--space-sm) var(--space-md)}.position-info{margin-bottom:var(--space-md)}.position-title{color:var(--primary);font-size:1.125rem;font-weight:700;line-height:1.2;margin-bottom:var(--space-xs)}.company-name{color:var(--primary);font-size:1rem;font-weight:600;margin:0}.experience-meta{border-bottom:1px solid var(--border-color);display:flex;gap:var(--space-md);margin-bottom:var(--space-md);padding-bottom:var(--space-sm)}.meta-item{color:var(--primary);font-weight:500}.meta-item,.meta-item svg{font-size:.875rem}.description{margin-bottom:var(--space-md)}.description-list{display:flex;flex-direction:column;gap:var(--space-sm);list-style:none;margin:0;padding:0}.description-list li{color:var(--primary);font-size:.875rem;line-height:1.5;padding-left:var(--space-md);position:relative}.description-list li:before{background:var(--primary);border-radius:50%;content:"";height:6px;left:0;position:absolute;top:.75rem;width:6px}.skills{border-top:1px solid var(--border-color);padding-top:var(--space-md)}.skills h5{align-items:center;color:var(--primary);display:flex;font-size:.875rem;font-weight:600;gap:var(--space-sm);margin-bottom:var(--space-sm)}.skills h5:before{background:var(--primary);border-radius:2px;content:"";height:1rem;width:3px}.skill-tags{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.skill-tag{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);color:var(--primary);font-size:.8rem;font-weight:500;padding:var(--space-xs) var(--space-md);transition:all .2s ease}.skill-tag:hover{background:var(--primary);box-shadow:var(--shadow-sm);color:var(--bg-primary);-webkit-transform:translateY(-2px);transform:translateY(-2px)}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(30px);transform:translateY(30px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(30px);transform:translateY(30px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@media (max-width:1024px){.experience-grid{gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(450px,1fr))}}@media (max-width:768px){.experience-section{padding:var(--space-2xl) 0}.experience-container{padding:0 var(--space-md)}.experience-grid{gap:var(--space-lg);grid-template-columns:1fr}.card-header{padding:var(--space-lg)}.company-logo{height:50px;width:50px}.card-content{padding:var(--space-lg)}.experience-meta{flex-direction:column;gap:var(--space-md)}.position-title{font-size:1.25rem}.company-name{font-size:1.125rem}}@media (max-width:480px){.experience-header{margin-bottom:var(--space-2xl)}.card-content,.card-header{padding:var(--space-md)}.company-logo{height:45px;width:45px}.card-badge{font-size:.7rem;padding:var(--space-xs) var(--space-sm)}.position-title{font-size:1.125rem}.company-name{font-size:1rem}.meta-item{font-size:.8rem}.description-list li{font-size:.875rem;padding-left:var(--space-md)}.skill-tag{font-size:.75rem;padding:var(--space-xs) var(--space-sm)}}.education-section{background:transparent;padding:0;position:relative}.education-container{margin:0;max-width:100%;padding:0}.education-header{margin-bottom:var(--space-md);text-align:left}.education-title{color:var(--primary);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:700;margin-bottom:var(--space-xs)}.education-list{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-sm)}.education-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.education-card:before{background:linear-gradient(90deg,var(--primary),var(--primary-light));content:"";height:4px;left:0;position:absolute;right:0;top:0}.education-card:hover{border-color:var(--primary);box-shadow:var(--shadow-xl);-webkit-transform:translateY(-4px);transform:translateY(-4px)}.education-header-card{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:var(--space-sm) var(--space-md)}.education-logo{align-items:center;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;height:50px;justify-content:center;overflow:hidden;width:50px}.education-logo img{height:100%;object-fit:cover;width:100%}.education-badge{align-items:center;background:var(--primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);color:var(--bg-primary);display:flex;font-size:.75rem;font-weight:600;gap:var(--space-xs);letter-spacing:.5px;padding:var(--space-xs) var(--space-md);text-transform:uppercase}.education-badge svg{font-size:.875rem}.education-content{padding:var(--space-sm) var(--space-md)}.education-degree{color:var(--primary);font-size:1.125rem;font-weight:700;line-height:1.2;margin-bottom:var(--space-xs)}.education-university{color:var(--primary);font-size:1rem;font-weight:600;margin-bottom:var(--space-sm)}.education-meta{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-bottom:var(--space-sm);padding-bottom:var(--space-sm)}.meta-item{align-items:center;color:var(--text-secondary);display:flex;font-size:.85rem;gap:var(--space-xs)}.meta-item svg{color:var(--primary);font-size:.75rem}.education-courses{border-top:1px solid var(--border-color);padding-top:var(--space-sm)}.courses-label{color:var(--primary);font-size:.875rem;font-weight:600;margin-bottom:var(--space-xs)}.courses-list{font-size:.85rem;line-height:1.5}.course-item,.courses-list{color:var(--text-secondary)}@media (max-width:768px){.education-title{font-size:1.25rem}.education-degree{font-size:1rem}.education-university{font-size:.9rem}.education-meta{gap:var(--space-sm)}}.blog-page{background:var(--bg-color);color:var(--text-color);min-height:100vh;padding:2rem 0}.blog-container{margin:0 auto;max-width:1200px;padding:0 2rem}.blog-header{margin-bottom:4rem;text-align:center}.blog-title{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:700;margin-bottom:1rem}.blog-subtitle{color:var(--text-secondary);font-size:1.2rem;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:600px}.blog-stats{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.stat-item{align-items:center;color:var(--text-secondary);display:flex;font-size:.9rem;gap:.5rem}.stat-item svg{color:var(--primary-color)}.articles-section{margin-bottom:4rem}.section-title{font-size:2rem;font-weight:600;margin-bottom:2rem;text-align:center}.articles-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.article-card{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.article-card:hover{border-color:var(--primary-color);box-shadow:0 10px 30px rgba(0,0,0,.1);-webkit-transform:translateY(-5px);transform:translateY(-5px)}.article-card.featured{background:linear-gradient(135deg,var(--card-bg),rgba(var(--primary-rgb),.05));border:2px solid var(--primary-color)}.article-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.article-meta{display:flex;flex-direction:column;gap:.5rem}.article-date,.article-read-time{align-items:center;color:var(--text-secondary);display:flex;font-size:.85rem;gap:.5rem}.article-date svg,.article-read-time svg,.featured-badge{color:var(--primary-color)}.featured-badge{background:var(--primary-color);border-radius:20px;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.article-content{margin-bottom:1.5rem}.article-title{color:var(--text-color);font-size:1.3rem;font-weight:600;line-height:1.4;margin-bottom:.75rem}.article-title a{color:var(--text-color);text-decoration:none;transition:color .3s ease}.article-title a:hover{color:var(--primary-color)}.article-excerpt{color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.article-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{background:var(--primary-color);border-radius:15px;color:var(--primary-color);font-size:.75rem;font-weight:500;padding:.25rem .75rem}.article-footer{border-top:1px solid var(--border-color);padding-top:1rem}.read-more-btn{align-items:center;background:var(--primary-color);border-radius:8px;color:var(--primary-color);display:inline-flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.read-more-btn:hover{background:var(--primary-dark);box-shadow:0 5px 15px rgba(var(--primary-rgb),.3);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.blog-cta{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;padding:3rem 2rem;text-align:center}.blog-cta h3{color:var(--text-color);font-size:1.8rem;font-weight:600;margin-bottom:1rem}.blog-cta p{color:var(--text-secondary);margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:500px}.medium-link{align-items:center;background:var(--bg-color);border-radius:8px;color:var(--primary-color);display:inline-flex;font-weight:600;gap:.5rem;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.medium-link:hover{background:var(--bg-color);-webkit-transform:translateY(-2px);transform:translateY(-2px)}@media (max-width:768px){.blog-container{padding:0 1rem}.blog-title{font-size:2.5rem}.articles-grid{gap:1.5rem;grid-template-columns:1fr}.article-card{padding:1rem}.blog-stats{gap:1rem}.blog-cta{padding:2rem 1rem}}@media (max-width:480px){.blog-title{font-size:2rem}.article-title{font-size:1.1rem}.medium-link,.read-more-btn{font-size:.9rem;padding:.75rem 1.25rem}}.blog-post{margin:0 auto;max-width:800px;padding:2rem 0}.blog-post-header{margin-bottom:2rem;padding-bottom:1.5rem}.blog-post-title{color:var(--text-color);font-size:2.5rem;font-weight:700;line-height:1.2;margin-bottom:1rem}.blog-post-date{align-items:center;color:var(--text-secondary);display:flex;font-size:.95rem;gap:.5rem}.blog-post-content{color:var(--text-color);line-height:1.8}.blog-post-content h1,.blog-post-content h2,.blog-post-content h3,.blog-post-content h4,.blog-post-content h5,.blog-post-content h6{color:var(--text-color);font-weight:600;line-height:1.3;margin-bottom:1rem;margin-top:2rem}.blog-post-content h1{border-bottom:2px solid var(--border-color);font-size:2rem;padding-bottom:.5rem}.blog-post-content h2{border-bottom:1px solid var(--border-color);font-size:1.75rem;padding-bottom:.5rem}.blog-post-content h3{font-size:1.5rem}.blog-post-content h4{font-size:1.25rem}.blog-post-content p{line-height:1.8;margin-bottom:1.5rem}.blog-post-content ol,.blog-post-content ul{margin-bottom:1.5rem;padding-left:2rem}.blog-post-content li{line-height:1.8;margin-bottom:.5rem}.blog-post-content ul li{list-style-type:disc}.blog-post-content ol li{list-style-type:decimal}.blog-post-content blockquote{border-left:4px solid var(--primary-color);color:var(--text-secondary);font-style:italic;margin:1.5rem 0;padding-left:1.5rem}.blog-post-content code{border-radius:4px;color:var(--primary-color);font-family:Courier New,monospace;font-size:.9em;padding:.2rem .4rem}.blog-post-content code,.blog-post-content pre{background:var(--bg-color);border:1px solid var(--border-color)}.blog-post-content pre{border-radius:8px;margin-bottom:1.5rem;overflow-x:auto;padding:1rem}.blog-post-content pre code{background:transparent;border:none;color:var(--text-color);font-size:.9rem;padding:0}.blog-post-content a{border-bottom:1px solid transparent;color:var(--primary-color);text-decoration:none;transition:border-color .3s ease}.blog-post-content a:hover{border-bottom-color:var(--primary-color)}.blog-post-content img{border-radius:8px;height:auto;margin:1.5rem 0;max-width:100%}.blog-post-content table{border-collapse:collapse;margin:1.5rem 0;width:100%}.blog-post-content table td,.blog-post-content table th{border:1px solid var(--border-color);padding:.75rem;text-align:left}.blog-post-content table th{background:var(--card-bg);font-weight:600}.blog-post-content hr{border:none;border-top:2px solid var(--border-color);margin:2rem 0}.back-button{transition:all .3s ease}.back-button:hover{opacity:.9;-webkit-transform:translateX(-5px);transform:translateX(-5px)}.no-posts{color:var(--text-secondary);padding:3rem;text-align:center}@media (max-width:768px){.blog-post-title{font-size:2rem}.blog-post-content h1{font-size:1.75rem}.blog-post-content h2{font-size:1.5rem}.blog-post-content h3{font-size:1.25rem}.blog-post-content pre{font-size:.85rem}}.toc-details{background:transparent;margin-bottom:2rem;margin-top:2rem}.toc-summary{align-items:center;cursor:pointer;display:flex;gap:.5rem;list-style:none}.toc-summary:before{color:var(--primary-color);content:"▶";font-size:.8rem;transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease}.toc-details[open] .toc-summary:before{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.toc-summary::-webkit-details-marker{display:none}.toc-heading{border:none;color:var(--primary-color);display:inline-block;font-size:1.6rem;margin:0;padding:0}.toc-details>ul{counter-reset:toc-chapter;margin-top:1rem;padding-left:0}.toc-details ul li{margin-bottom:.5rem}.toc-details ul li,.toc-details>ul>li{list-style-type:none;position:relative}.toc-details>ul>li{font-weight:700;margin-bottom:.75rem;padding-left:0}.toc-details>ul>li>a{color:var(--text-color);font-weight:700;text-decoration:none;transition:color .3s ease}.toc-details>ul>li>ul{font-weight:400;margin-bottom:.5rem;margin-top:.5rem;padding-left:1.5rem}.toc-details>ul>li>ul>li{font-weight:400;list-style-type:none;margin-bottom:.5rem;position:relative}.toc-details>ul>li>ul>li:before{color:var(--primary-color);content:"-";left:-1rem;position:absolute}.toc-details>ul>li>ul>li>a{font-weight:500}.toc-details>ul>li>ul>li>ul{margin-bottom:.5rem;margin-top:.5rem;padding-left:1.5rem}.toc-details>ul>li>ul>li>ul>li{list-style-type:none;margin-bottom:.5rem;position:relative}.toc-details>ul>li>ul>li>ul>li:before{color:var(--primary-color);content:"•";left:-1rem;position:absolute}.toc-details>ul>li>ul>li>ul>li>a{font-weight:400}.toc-details ul li a:hover{color:var(--primary-color)}.scroll-to-top{align-items:center;background-color:var(--primary-color);border:none;border-radius:50%;bottom:2rem;box-shadow:0 4px 10px rgba(0,0,0,.2);color:var(--bg-color);cursor:pointer;display:flex;font-size:1.2rem;height:3rem;justify-content:center;position:fixed;right:2rem;transition:all .3s ease;width:3rem;z-index:1000}.scroll-to-top:hover{box-shadow:0 6px 15px rgba(0,0,0,.3);-webkit-transform:translateY(-5px);transform:translateY(-5px)}@media (max-width:768px){.scroll-to-top{bottom:1.5rem;font-size:1rem;height:2.5rem;right:1.5rem;width:2.5rem}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_AMS-Regular.73ea273a72f4aca30ca5.woff2) format("woff2"),url(/static/media/KaTeX_AMS-Regular.d562e886c52f12660a41.woff) format("woff"),url(/static/media/KaTeX_AMS-Regular.853be92419a6c3766b9a.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Caligraphic-Bold.a1abf90dfd72792a577a.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Bold.d757c535a2e5902f1325.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Bold.7489a2fbfb9bfe704420.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Caligraphic-Regular.d6484fce1ef428d5bd94.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Regular.db074fa22cf224af93d7.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Regular.7e873d3833eb108a0758.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Fraktur-Bold.931d67ea207ab37ee693.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Bold.354501bac435c3264834.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Bold.4c761b3711973ab04edf.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Fraktur-Regular.172d3529b26f8cedef6b.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Regular.6fdf0ac577be0ba82a4c.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Regular.ed305b5434865e06ffde.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Main-Bold.39890742bc957b368704.woff2) format("woff2"),url(/static/media/KaTeX_Main-Bold.0c3b8929d377c0e9b2f3.woff) format("woff"),url(/static/media/KaTeX_Main-Bold.8169508bf58f8bd92ad8.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Main-BoldItalic.20f389c4120be058d80a.woff2) format("woff2"),url(/static/media/KaTeX_Main-BoldItalic.428978dc7837d46de091.woff) format("woff"),url(/static/media/KaTeX_Main-BoldItalic.828abcb200061cffbaae.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Main-Italic.fe2176f79edaa716e621.woff2) format("woff2"),url(/static/media/KaTeX_Main-Italic.fd947498bc16392e76c2.woff) format("woff"),url(/static/media/KaTeX_Main-Italic.fa675e5e4bec9eb250b6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Main-Regular.f650f111a3b890d116f1.woff2) format("woff2"),url(/static/media/KaTeX_Main-Regular.4f35fbcc9ee8614c2bcc.woff) format("woff"),url(/static/media/KaTeX_Main-Regular.9eba1d77abcf2aa6e94e.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Math-BoldItalic.dcbcbd93bac0470b462d.woff2) format("woff2"),url(/static/media/KaTeX_Math-BoldItalic.3f07ed67f06c720120ce.woff) format("woff"),url(/static/media/KaTeX_Math-BoldItalic.bf2d440b3a42ea78a998.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Math-Italic.6d3d25f4820d0da8f01f.woff2) format("woff2"),url(/static/media/KaTeX_Math-Italic.96759856b4e70f3a8338.woff) format("woff"),url(/static/media/KaTeX_Math-Italic.8a5f936332e8028c7278.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/static/media/KaTeX_SansSerif-Bold.95591a929f0d32aa282a.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Bold.b9cd458ac6d5889ff9c3.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Bold.5b49f4993ae22d7975b4.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Italic.7d393d382f3e7fb1c637.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Italic.8d593cfaa96238d5e2f8.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Italic.b257a18c016f37ee4543.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Regular.cd5e231e0cc53b2cb2c0.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Regular.02271ec5cb9f5b4588ac.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Regular.2f7bc363fc5424ebda59.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Script-Regular.c81d1b2a4b75d3eded60.woff2) format("woff2"),url(/static/media/KaTeX_Script-Regular.073b3402d036714b4370.woff) format("woff"),url(/static/media/KaTeX_Script-Regular.fc9ba5249878cd8f8d88.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size1-Regular.6eec866c69313624be60.woff2) format("woff2"),url(/static/media/KaTeX_Size1-Regular.0108e89c9003e8c14ea3.woff) format("woff"),url(/static/media/KaTeX_Size1-Regular.6de7d4b539221a49e9e2.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size2-Regular.2960900c4f271311eb36.woff2) format("woff2"),url(/static/media/KaTeX_Size2-Regular.3a99e70aee4076660d38.woff) format("woff"),url(/static/media/KaTeX_Size2-Regular.57f5c1837853986ea1db.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size3-Regular.e1951519f6f0596f7356.woff2) format("woff2"),url(/static/media/KaTeX_Size3-Regular.7947224e8a9914fa332b.woff) format("woff"),url(/static/media/KaTeX_Size3-Regular.8d6b6822586eea3d3b20.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size4-Regular.e418bf257af1052628d8.woff2) format("woff2"),url(/static/media/KaTeX_Size4-Regular.aeffd8025cba3647f1a6.woff) format("woff"),url(/static/media/KaTeX_Size4-Regular.4ad7c7e8bb8d10a34bb7.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Typewriter-Regular.c295e7f71970f03c0549.woff2) format("woff2"),url(/static/media/KaTeX_Typewriter-Regular.4c6b94fd1d07f8beff7c.woff) format("woff"),url(/static/media/KaTeX_Typewriter-Regular.c5c02d763c89380dcb4e.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.38"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.navbar-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border-bottom:1px solid var(--border-color);left:0;position:fixed;right:0;top:0;transition:all .3s ease;z-index:1000}[data-theme=dark] .navbar-container{background:rgba(0,0,0,.95)}.navbar-container.scrolled{background:hsla(0,0%,100%,.98);box-shadow:var(--shadow-md)}[data-theme=dark] .navbar-container.scrolled{background:rgba(0,0,0,.98)}.navbar-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:var(--space-md) var(--space-lg)}.brand{color:var(--primary);font-family:var(--font-mono);font-size:1.5rem;font-weight:700;transition:all .2s ease}.brand:hover{color:var(--primary-dark);-webkit-transform:scale(1.05);transform:scale(1.05)}.desktop-nav{align-items:center;display:flex;gap:var(--space-xl)}.desktop-nav a{border-radius:var(--radius-md);color:var(--text-secondary);font-weight:500;padding:var(--space-sm) var(--space-md);position:relative;transition:all .2s ease}.desktop-nav a.active,.desktop-nav a:hover{background:var(--bg-secondary);color:var(--primary)}.desktop-nav a:after{background:var(--primary);bottom:-2px;content:"";height:2px;left:50%;position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);transition:all .2s ease;width:0}.desktop-nav a.active:after,.desktop-nav a:hover:after{width:80%}.theme-toggle{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;height:40px;justify-content:center;margin-left:var(--space-md);transition:all .2s ease;width:40px}.theme-toggle:hover{background:var(--primary);color:var(--bg-primary);-webkit-transform:scale(1.05);transform:scale(1.05)}.mobile-menu-icon{border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:none;font-size:1.5rem;padding:var(--space-sm);transition:all .2s ease}.mobile-menu-icon:hover{background:var(--bg-secondary);color:var(--primary)}.mobile-nav{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.98);border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--space-md);left:0;opacity:0;padding:var(--space-lg);position:absolute;right:0;top:100%;-webkit-transform:translateY(-100%);transform:translateY(-100%);transition:all .3s ease;visibility:hidden}[data-theme=dark] .mobile-nav{background:rgba(0,0,0,.98)}.mobile-nav.open{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);visibility:visible}.mobile-nav a{border-radius:var(--radius-md);color:var(--text-secondary);font-weight:500;padding:var(--space-md);text-align:center;transition:all .2s ease;width:100%}.mobile-nav a.active,.mobile-nav a:hover{background:var(--bg-secondary);color:var(--primary)}@media (max-width:768px){.navbar-content{padding:var(--space-md)}.desktop-nav{display:none}.mobile-menu-icon{display:block}.theme-toggle{margin-left:var(--space-sm)}}@media (max-width:480px){.brand{font-size:1.25rem}.navbar-content{padding:var(--space-sm) var(--space-md)}}:root{--bg-page:#f5f5f5;--panel-bg:#fff;--text-main:#333;--text-sub:#555;--accent:#3b6155;--border:#ddd;--success:#3b6155;--error:#e74c3c}.contact-section{background:var(--bg-primary);min-height:100vh;padding:var(--space-3xl) 0}.contact-header{margin-bottom:var(--space-3xl);text-align:center}.contact-subtitle{color:var(--text-secondary);font-size:1.125rem;line-height:1.7;margin:0 auto;max-width:600px}.contact-content{grid-gap:var(--space-3xl);display:grid;gap:var(--space-3xl);grid-template-columns:1fr 1fr;margin:0 auto;max-width:1000px}.contact-info{display:flex;flex-direction:column;gap:var(--space-xl)}.contact-item{align-items:flex-start;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);display:flex;gap:var(--space-lg);padding:var(--space-xl);transition:all .3s ease}.contact-item:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);-webkit-transform:translateY(-4px);transform:translateY(-4px)}.contact-icon{color:var(--primary);flex-shrink:0;font-size:1.5rem;margin-top:4px}.contact-item h3{color:#333;color:var(--text-main);font-size:1.125rem;font-weight:600;margin-bottom:var(--space-xs)}.contact-item p{color:#555;color:var(--text-sub);margin:0}.form-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin:0 auto;max-width:50%;padding:var(--space-2xl)}.contact-form{gap:var(--space-lg)}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:var(--space-sm)}.form-group label{color:var(--text-primary);font-size:.875rem;font-weight:500}.form-group input,.form-group textarea{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:1rem;padding:var(--space-md);transition:all .2s ease}.form-group input:focus,.form-group textarea:focus{background:var(--bg-primary);border-color:var(--primary);box-shadow:0 0 0 3px rgba(245,158,11,.1);outline:none}.form-group textarea{min-height:120px;resize:vertical}.contact-form .btn-primary{align-self:flex-start;margin-top:var(--space-md)}.contact-form .btn-primary:disabled{cursor:not-allowed;opacity:.6;-webkit-transform:none;transform:none}.feedback{border-radius:var(--radius-md);font-weight:500;margin-top:var(--space-md);padding:var(--space-md);text-align:center}.feedback.success{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.2);color:#3b6155;color:var(--success)}.feedback.error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);color:#e74c3c;color:var(--error)}@media (max-width:1024px){.contact-section .container{padding:0 var(--space-md)}.form-container{max-width:640px;width:100%}}@media (max-width:768px){.contact-section{padding:var(--space-2xl) 0}.contact-content{gap:var(--space-2xl);grid-template-columns:1fr}.contact-item{padding:var(--space-lg)}.form-container{margin:0 auto;max-width:100%;padding:var(--space-xl);width:100%}.contact-form .btn-primary{justify-content:center;width:100%}}@media (max-width:480px){.contact-item{flex-direction:column;gap:var(--space-md);text-align:center}.contact-icon{margin-top:0}.form-container{padding:var(--space-lg)}.form-group input,.form-group textarea{font-size:1rem;padding:var(--space-md)}.feedback{text-align:left}}@media (min-width:1440px){.form-container{max-width:720px}}.not-found-section{align-items:center;background:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;padding:var(--space-lg)}.not-found-container{margin:0 auto;max-width:600px;text-align:center}.not-found-icon{-webkit-animation:bounce 2s infinite;animation:bounce 2s infinite;color:var(--primary);font-size:8rem;margin-bottom:var(--space-xl)}@-webkit-keyframes bounce{0%,20%,50%,80%,to{-webkit-transform:translateY(0);transform:translateY(0)}40%{-webkit-transform:translateY(-20px);transform:translateY(-20px)}60%{-webkit-transform:translateY(-10px);transform:translateY(-10px)}}@keyframes bounce{0%,20%,50%,80%,to{-webkit-transform:translateY(0);transform:translateY(0)}40%{-webkit-transform:translateY(-20px);transform:translateY(-20px)}60%{-webkit-transform:translateY(-10px);transform:translateY(-10px)}}.not-found-title{color:var(--text-primary);font-size:clamp(3rem,8vw,6rem);font-weight:800;line-height:1;margin-bottom:var(--space-md)}.not-found-subtitle{color:var(--text-secondary);font-size:clamp(1.25rem,4vw,1.75rem);font-weight:500;margin-bottom:var(--space-lg)}.not-found-description{color:var(--text-secondary);font-size:1.125rem;line-height:1.6;margin-bottom:var(--space-2xl);margin-left:auto;margin-right:auto;max-width:500px}.not-found-actions{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:center}.not-found-actions .btn{min-width:150px}@media (max-width:768px){.not-found-section{padding:var(--space-md)}.not-found-icon{font-size:6rem;margin-bottom:var(--space-lg)}.not-found-actions{align-items:center;flex-direction:column}.not-found-actions .btn{max-width:250px;width:100%}}@media (max-width:480px){.not-found-icon{font-size:4rem}.not-found-title{font-size:2.5rem}.not-found-subtitle{font-size:1.125rem}.not-found-description{font-size:1rem}}
/*# sourceMappingURL=main.d3cfb6a8.css.map*/