:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);background-color:var(--bg-primary)}html,#root{height:100%}*{box-sizing:border-box}*:before,*:after{box-sizing:border-box}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;min-width:320px;min-height:100%;overflow-x:hidden;background-color:var(--bg-primary);background-image:radial-gradient(circle at bottom right,rgba(50,87,142,.08) 0%,transparent 50%);background-attachment:fixed;background-position:bottom right;background-repeat:no-repeat;box-sizing:border-box;position:relative;transition:background-color .3s ease,background-image .3s ease}.light-mode body{background-image:radial-gradient(circle at bottom right,rgba(102,126,234,.05) 0%,transparent 50%)}body:after{content:"";position:fixed;bottom:-100px;right:-100px;width:600px;height:600px;background-size:contain;background-repeat:no-repeat;background-position:bottom right;opacity:.15;pointer-events:none;z-index:0;mask-image:radial-gradient(circle at center,transparent 0%,black 100%);-webkit-mask-image:radial-gradient(circle at center,transparent 0%,black 100%)}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}:root{--accent-blue: #7aa7e6;--success-green: #2dba4e;--danger-red: #cf222e}.light-mode{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--text-primary: #212529;--text-secondary: #6c757d;--border-color: #dee2e6;--hover-bg: rgba(0, 0, 0, .05);--shadow-light: rgba(0, 0, 0, .1);--shadow-medium: rgba(0, 0, 0, .15);--shadow-strong: rgba(0, 0, 0, .2);--accent-blue: #2563eb;--success-green: #16a34a;--danger-red: #dc2626}.dark-mode{--bg-primary: #0e1113;--bg-secondary: #1f2328;--text-primary: #ffffff;--text-secondary: #8b949e;--border-color: #30363d;--hover-bg: #161b22;--shadow-light: rgba(0, 0, 0, .3);--shadow-medium: rgba(0, 0, 0, .4);--shadow-strong: rgba(0, 0, 0, .5);--accent-blue: #7aa7e6;--success-green: #2dba4e;--danger-red: #cf222e}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUpFixed{0%{opacity:0}to{opacity:1}}@keyframes expandWidth{0%{width:0;left:50%}to{width:100%;left:0}}@keyframes slideUnderline{0%{opacity:0}to{opacity:1}}@keyframes mailPop{0%{opacity:0;transform:scale(0) rotate(-45deg)}50%{opacity:1;transform:scale(1.15) rotate(10deg)}75%{transform:scale(.95) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes confetti-fall-1{0%{opacity:1;transform:translate(0) rotate(0) scale(1)}to{opacity:0;transform:translate(80px,200px) rotate(360deg) scale(0)}}@keyframes confetti-fall-2{0%{opacity:1;transform:translate(0) rotate(0) scale(1)}to{opacity:0;transform:translate(-80px,220px) rotate(-360deg) scale(0)}}@keyframes confetti-fall-3{0%{opacity:1;transform:translate(0) rotate(0) scale(1)}to{opacity:0;transform:translate(120px,180px) rotate(360deg) scale(0)}}@keyframes confetti-fall-4{0%{opacity:1;transform:translate(0) rotate(0) scale(1)}to{opacity:0;transform:translate(-120px,200px) rotate(-360deg) scale(0)}}@keyframes confetti-fall-5{0%{opacity:1;transform:translate(0) rotate(0) scale(1)}to{opacity:0;transform:translate(60px,240px) rotate(360deg) scale(0)}}@keyframes confetti-fall-6{0%{opacity:1;transform:translate(0) rotate(0) scale(1)}to{opacity:0;transform:translate(-60px,250px) rotate(-360deg) scale(0)}}@keyframes confetti-fall-7{0%{opacity:1;transform:translate(0) rotate(0) scale(1)}to{opacity:0;transform:translate(100px,210px) rotate(360deg) scale(0)}}@keyframes confetti-fall-8{0%{opacity:1;transform:translate(0) rotate(0) scale(1)}to{opacity:0;transform:translate(-100px,230px) rotate(-360deg) scale(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-80px)}to{opacity:1;transform:translate(0)}}@keyframes slideInAuthor{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.home-container{width:100%;min-height:792.1px;padding:20px 0;overflow-x:hidden;position:relative}.home-wrapper{max-width:1200px;margin:0 auto;padding:40px 32px;display:grid;grid-template-columns:240px 1fr;gap:40px;animation:fadeIn .6s ease-in-out;position:relative;z-index:1}@media(max-width:1024px){.home-wrapper{grid-template-columns:1fr;gap:32px;padding:32px 24px}.home-container{padding:20px 0}}@media(max-width:768px){.home-container{padding:15px 0}.home-wrapper{padding:24px 20px;gap:24px}}@media(max-width:640px){.home-container{padding:10px 0}.home-wrapper{padding:20px 16px;gap:20px}}@media(max-width:480px){.home-container{padding:5px 0}.home-wrapper{padding:16px 12px;gap:16px}}.profile-sidebar{height:fit-content;margin-top:30px}.avatar-container{margin-bottom:24px;display:flex;align-items:center;justify-content:center;position:relative}.avatar{width:170px;height:170px;border-radius:7px;border:2px solid var(--border-color);box-shadow:0 0;display:block;object-fit:cover;transition:all .3s ease;animation:slideUp .6s ease-out .2s both}.avatar-status-bubble{position:absolute;bottom:-8px;right:12px;width:18px;height:18px;background:#23a559;border:3px solid var(--bg-primary, #1a1a2e);border-radius:50%;animation:slideUp .6s ease-out .3s both,pulseBubble 2s ease-in-out 1s infinite}@keyframes pulseBubble{0%,to{box-shadow:0 0 #23a55980}50%{box-shadow:0 0 0 6px #23a55900}}.sidebar-content{background:var(--bg-secondary);border-radius:10px;padding:20px;box-shadow:0 1px 3px var(--shadow-light);border:1px solid var(--border-color);animation:slideUp .6s ease-out .1s both;text-align:center}.info-container{display:flex;flex-direction:column;gap:10px}.info-container div{display:flex;align-items:center;color:var(--text-secondary)}.info-container div svg{width:18px;height:18px}.info-container div span{margin-left:8px;font-size:12px}.profile-name{font-size:24px;font-weight:700;margin:0 0 16px;color:var(--text-primary)}.profile-bio{font-size:14px;margin:0 0 18px;line-height:1.5;text-align:left}.social-links{display:flex;gap:10px;margin-top:20px;padding-top:20px;justify-content:center;align-items:center;border-top:1px solid var(--border-color)}.social-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:5px;color:var(--text-secondary);transition:all .8s cubic-bezier(.34,1.56,.64,1);background:transparent}.social-icon:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:#3f84e41a;transform:translateY(-4px)}.social-icon svg{width:20px;height:20px}@media(max-width:1024px){.avatar-container{width:max-content;margin-inline:auto}.profile-sidebar{position:static;margin-top:0}.avatar{width:180px;height:180px}.avatar-status-bubble{bottom:-6px;right:-8px}}@media(max-width:640px){.avatar{width:140px;height:140px}.profile-name{font-size:22px}.profile-bio{font-size:13px;margin-bottom:16px}.sidebar-content{padding:20px}.social-icon{width:36px;height:36px}.social-icon svg{width:18px;height:18px}}@media(max-width:480px){.avatar{width:120px;height:120px}.avatar-status-bubble{bottom:-2px;right:8px;width:13px;height:13px;border-width:2px}.profile-name{font-size:20px}.sidebar-content{padding:16px}.social-links{gap:8px}.social-icon{width:32px;height:32px}}.profile-tabs{background:transparent;border-radius:10px;box-shadow:0 1px 3px var(--shadow-light);border:1px solid var(--border-color);overflow:hidden;animation:slideUp .6s ease-out .2s both;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tabs-header{display:flex;border-bottom:1px solid var(--border-color);padding:0;margin:0;background:transparent;overflow:hidden;position:relative;width:100%}.tab-underline{position:absolute;bottom:-1px;height:2px;background:var(--accent-blue);transition:left .4s cubic-bezier(.4,0,.2,1),width .4s cubic-bezier(.4,0,.2,1);z-index:1}.tab-button{flex:1;min-width:0;padding:10px 12px;background:none;border:none;font-size:11px;font-weight:600;color:var(--text-secondary);cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;white-space:normal;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);text-overflow:ellipsis;overflow:hidden}.tab-button:hover,.tab-button.active{color:var(--text-primary);background-color:var(--hover-bg)}.tabs-content{min-height:auto;overflow:visible;padding:16px}.tab-pane{animation:fadeIn .4s ease-in-out}@media(max-width:640px){.tabs-header{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.tab-button{min-width:0;padding:8px 10px;font-size:10px;flex-shrink:0}.tabs-content{padding:12px;overflow-x:hidden}}@media(max-width:480px){.tab-button{min-width:0;padding:8px;font-size:10px;flex-shrink:0}.tabs-content{padding:10px;overflow-x:hidden}}.timeline{padding:24px}.timeline-item{display:flex;margin-bottom:24px;position:relative;animation:slideUp .5s ease-out}.timeline-marker{position:relative;margin-right:18px;flex-shrink:0}.timeline-dot{width:10px;height:10px;background-color:var(--accent-blue);border:2px solid var(--bg-primary);border-radius:50%;position:relative;left:-5px;top:6px;box-shadow:0 0 0 2px var(--border-color)}.timeline-line{position:absolute;left:0;top:20px;bottom:-24px;width:2px;background:linear-gradient(180deg,var(--accent-blue) 0%,transparent 100%)}.timeline-content{flex:1}.timeline-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;flex-wrap:wrap;gap:10px}.timeline-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.timeline-date{font-size:12px;color:var(--text-secondary);font-weight:500}.timeline-subtitle{font-size:13px;color:var(--accent-blue);font-weight:600;margin:3px 0}.timeline-field{font-size:13px;color:var(--text-secondary);margin:3px 0}.timeline-description{font-size:13px;color:var(--text-secondary);margin:8px 0 0;line-height:1.5}@media(max-width:1024px){.timeline{padding:20px 18px}}@media(max-width:640px){.timeline{padding:16px 12px}.timeline-marker{margin-right:12px}.timeline-title,.timeline-description{font-size:12px}}@media(max-width:480px){.timeline-item{margin-bottom:18px}}.articles-container{padding:24px;display:flex;flex-direction:column;gap:16px}.article-card{padding:18px;border:1px solid var(--border-color);border-radius:6px;background:var(--hover-bg);transition:all .3s cubic-bezier(.4,0,.2,1);animation:slideUp .5s ease-out}.article-card:hover{border-color:var(--accent-blue);box-shadow:0 3px 12px var(--shadow-medium)}.article-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:8px;gap:10px}.article-title{margin:0;font-size:14px;font-weight:600;flex:1}.article-title a{color:var(--accent-blue);text-decoration:none;transition:all .3s ease}.article-date{font-size:11px;color:var(--text-secondary);white-space:nowrap}.article-description{font-size:13px;color:var(--text-secondary);margin:8px 0;line-height:1.5}.article-tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.article-tag{display:inline-block;background-color:transparent;color:var(--text-secondary);padding:3px 8px;border-radius:8px;font-size:10px;border:1px solid var(--border-color);transition:all .3s ease;-webkit-user-select:none;user-select:none}.article-link{color:var(--accent-blue);text-decoration:none;font-size:13px;font-weight:600;display:inline-block;transition:all .3s ease}@media(max-width:1024px){.articles-container{padding:20px 18px}}@media(max-width:640px){.articles-container{padding:16px 12px;gap:12px}.article-card{padding:12px}.article-title,.article-description{font-size:12px}}@media(max-width:480px){.article-card{padding:10px}}.article-detail-page{position:fixed;inset:0;background-color:var(--bg-primary);background-image:radial-gradient(circle at bottom right,rgba(50,87,142,.12) 0%,transparent 50%);z-index:999;display:flex;flex-direction:column;opacity:0;transform:translateY(100%);transition:all .5s cubic-bezier(.34,1.56,.64,1)}.article-detail-page.open{opacity:1;transform:translateY(0)}.article-detail-back{position:absolute;top:32px;left:32px;background:none;border:none;color:var(--text-primary);font-size:18px;cursor:pointer;z-index:1002;transition:all .3s ease;padding:8px 12px;border-radius:6px;font-weight:600}.article-detail-back:hover{background:var(--hover-bg);color:var(--accent-blue);transform:translate(-4px)}.article-detail-page-wrapper{max-width:1400px;margin:0 auto;width:100%;display:grid;grid-template-columns:220px 1fr;gap:24px;padding:20px;height:100%}.article-detail-sidebar{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:16px 30px;overflow-y:auto;animation:slideInLeft .6s ease-out;height:fit-content;max-height:calc(100vh - 40px);margin-top:60px}.article-detail-author{display:flex;flex-direction:column;align-items:center;gap:12px;position:sticky;top:20px;animation:slideInAuthor .7s cubic-bezier(.34,1.56,.64,1) .2s both}.article-detail-avatar{width:100px;height:100px;border-radius:50%;border:2px solid var(--border-color);object-fit:cover;transition:all .3s ease}.article-detail-avatar:hover{border-color:var(--accent-blue);box-shadow:0 0 20px var(--shadow-medium)}.article-detail-author-info{text-align:center}.article-detail-author-name{font-size:16px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.article-detail-author-bio{font-size:11px;color:var(--text-secondary);margin:0;line-height:1.5}.article-detail-social-links{display:flex;gap:12px;width:100%;justify-content:center;padding:16px 0;border-top:1px solid var(--border-color);margin-top:5px}.article-detail-social-link{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--accent-blue);border-radius:6px;color:var(--accent-blue);transition:all .3s ease;background:#7aa7e60d}.article-detail-social-link:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:#7aa7e626;transform:translateY(-3px);box-shadow:0 4px 12px var(--shadow-medium)}.article-detail-social-link svg{width:13px;height:13px}.article-detail-open-link{margin-top:20px;padding:10px 16px;display:none;text-align:center;background:var(--accent-blue);color:var(--bg-primary);text-decoration:none;border-radius:6px;font-size:13px;font-weight:600;transition:all .3s ease;border:1px solid var(--accent-blue)}.article-detail-open-link:hover{background:transparent;color:var(--accent-blue)}.article-detail-footer{margin-top:40px;padding-top:20px;border-top:1px solid var(--border-color);text-align:center}.article-detail-read-more{color:var(--accent-blue);text-decoration:none;font-size:14px;font-weight:600;transition:all .3s ease;display:inline-block}.article-detail-read-more:hover{color:var(--accent-blue);transform:translate(4px)}.article-detail-content{padding:60px 50px 40px;overflow-y:auto;animation:fadeIn .6s ease-out;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.article-detail-content::-webkit-scrollbar{width:6px}.article-detail-content::-webkit-scrollbar-track{background:transparent}.article-detail-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.article-detail-content::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.article-detail-title{font-size:42px;font-weight:700;color:var(--text-primary);margin:0 0 32px;line-height:1.3}.article-detail-meta{display:flex;flex-direction:column;gap:16px;margin-bottom:40px;padding-bottom:24px;border-bottom:1px solid var(--border-color)}.article-detail-date{font-size:14px;color:var(--text-secondary);font-weight:500}.article-detail-tags{display:flex;flex-wrap:wrap;gap:8px}.article-detail-tag{display:inline-block;background-color:transparent;color:var(--text-secondary);padding:6px 12px;border-radius:12px;font-size:12px;border:1px solid var(--border-color);transition:all .3s ease}.article-detail-tag:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.article-detail-body{font-size:16px;color:var(--text-secondary);line-height:1.9}.article-detail-body p{margin:0 0 24px;color:var(--text-secondary)}.article-detail-body h1,.article-detail-body h2,.article-detail-body h3{color:var(--text-primary);margin:32px 0 16px;font-weight:700}.article-detail-body h1{font-size:32px;margin-top:40px}.article-detail-body h2{font-size:26px}.article-detail-body h3{font-size:20px}.article-detail-body strong{color:var(--text-primary);font-weight:600}.article-detail-body em{font-style:italic;color:var(--text-secondary)}.article-detail-body code{background:var(--hover-bg);color:var(--accent-blue);padding:2px 6px;border-radius:4px;font-size:14px;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.article-detail-body pre{background:var(--hover-bg);border:1px solid var(--border-color);border-radius:6px;padding:16px;overflow-x:auto;margin:24px 0}.article-detail-body pre code{background:none;color:var(--text-secondary);padding:0;border-radius:0}.article-detail-body a{color:var(--accent-blue);text-decoration:none;transition:all .3s ease}.article-detail-body a:hover{text-decoration:underline}.article-detail-body br{display:block;height:.5em}@media(max-width:1024px){.article-detail-page-wrapper{grid-template-columns:240px 1fr}.article-detail-content{padding:50px 32px 30px}.article-detail-title{font-size:36px}}@media(max-width:768px){.article-detail-page-wrapper{grid-template-columns:1fr;grid-template-rows:auto 1fr}.article-detail-sidebar{border-right:none;border-bottom:1px solid var(--border-color);padding:12px}.article-detail-content{padding:40px 24px 30px}.article-detail-title{font-size:28px}.article-detail-body{font-size:15px}}@media(max-width:480px){.article-detail-back{top:12px;left:12px;font-size:16px}.article-detail-sidebar{padding:16px}.article-detail-avatar{width:100px;height:100px}.article-detail-content{padding:32px 16px 20px}.article-detail-title{font-size:24px}.article-detail-author-name{font-size:16px}}.about-container{padding:24px}.about-content{max-width:800px}.about-section{margin-bottom:28px;color:var(--text-primary)}.about-section:last-of-type{margin-bottom:0!important}.about-section h2{font-size:24px;font-weight:700;margin:0 0 12px}.about-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.available-tag{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;animation:pulse 2s infinite;box-shadow:0 2px 8px #10b9814d;white-space:nowrap;margin-bottom:7px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.02)}}.about-section h3{font-size:16px;font-weight:600;color:var(--accent-blue);margin:0 0 8px}.about-section h4{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.about-section p{font-size:14px;line-height:1.6;margin:0 0 12px}.skills-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.skills-container{display:flex;flex-direction:column;gap:24px}.skills-section h4{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:12px;display:flex;align-items:center;gap:8px}.skill-tag{background:var(--hover-bg);color:var(--text-secondary);padding:6px 12px;border-radius:16px;font-size:13px;font-weight:500;border:1px solid var(--border-color);transition:all .3s ease;display:inline-flex;align-items:center;gap:6px;cursor:default}.skill-logo{width:40px;height:40px;display:flex;align-items:center;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none}.skill-logo img{width:40px;height:40px}@media(max-width:1024px){.about-container{padding:20px 18px}}@media(max-width:640px){.about-container{padding:16px 12px}.about-section{margin-bottom:20px}.about-section h2{font-size:20px}.about-section h3{font-size:14px}.skills-list{grid-template-columns:1fr}}@media(max-width:480px){.about-section{margin-bottom:16px}.skills-list{gap:10px}}.contact-container{padding:24px}.contact-direct-links{display:flex;flex-direction:column;gap:12px;margin:20px 0 32px}.contact-direct-link{display:flex;align-items:center;padding:16px 20px;background:var(--hover-bg);border:1px solid var(--border-color);border-radius:8px;text-decoration:none;color:var(--text-primary);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.contact-direct-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(63,132,228,.1),transparent);transition:left .6s ease}.contact-direct-link:hover:before{left:100%}.contact-direct-link:hover{border-color:var(--accent-blue);transform:translateY(-2px);box-shadow:0 4px 20px #3f84e426}.contact-link-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;margin-right:16px;flex-shrink:0}.contact-link-icon.linkedin{background:#0077b5;border-color:#0077b5}.contact-link-icon svg{width:20px;height:20px;color:var(--text-secondary)}.contact-link-icon.linkedin svg{color:#fff}.contact-link-content{flex:1;display:flex;flex-direction:column;gap:2px}.contact-link-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.contact-link-value{font-size:14px;font-weight:500;color:var(--text-primary)}.contact-link-arrow{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .3s ease}.contact-direct-link:hover .contact-link-arrow{color:var(--accent-blue);transform:translate(2px)}.contact-link-arrow svg{width:16px;height:16px}.contact-container h2{font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 6px}.contact-subtitle{font-size:13px;color:var(--text-secondary);margin:0 0 24px;line-height:1.5}.contact-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group textarea{width:100%;padding:10px 12px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:13px;font-family:inherit;transition:all .3s ease;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #3f84e41a}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-secondary)}.form-group textarea{resize:vertical}.form-status-wrapper{position:relative;margin:0;z-index:10}.form-status{color:var(--accent-blue);font-size:13px;margin:0;padding:12px 10px;background:#7aa7e61a;border:1px solid var(--border-color);border-radius:6px;text-align:center;position:relative;z-index:10;font-weight:500}.confetti,.mail-confetti{position:absolute;font-size:24px;top:50%;left:50%;pointer-events:none;display:inline-block}.mail-confetti-1{animation:confetti-fall-1 3.5s ease-out forwards}.mail-confetti-2{animation:confetti-fall-2 3.5s ease-out .1s forwards}.mail-confetti-3{animation:confetti-fall-3 3.6s ease-out .15s forwards}.mail-confetti-4{animation:confetti-fall-4 3.6s ease-out .2s forwards}.mail-confetti-5{animation:confetti-fall-5 3.7s ease-out .1s forwards}.mail-confetti-6{animation:confetti-fall-6 3.7s ease-out .25s forwards}.mail-confetti-7{animation:confetti-fall-7 3.5s ease-out .05s forwards}.mail-confetti-8{animation:confetti-fall-8 3.6s ease-out .3s forwards}.btn-submit{padding:10px 20px;background:var(--accent-blue);color:var(--bg-primary);border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);margin-top:6px}.btn-submit:hover{background:var(--accent-blue);transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow-medium)}.btn-submit:active{transform:translateY(0)}.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-info{font-size:11px;color:var(--text-secondary);text-align:center;margin-top:10px;margin-bottom:0}@media(max-width:1024px){.contact-container{padding:20px 18px}}@media(max-width:640px){.contact-container{padding:16px 12px}.contact-direct-links{margin:16px 0 24px;gap:10px}.contact-direct-link{padding:12px 16px}.contact-link-icon{width:36px;height:36px;margin-right:12px}.contact-link-icon svg{width:18px;height:18px}.contact-link-label{font-size:11px}.contact-link-value{font-size:13px}.contact-link-arrow{width:20px;height:20px}.contact-link-arrow svg{width:14px;height:14px}.contact-content h2{font-size:20px}.form-group input,.form-group textarea{padding:8px 10px;font-size:12px}}@media(max-width:480px){.contact-form{gap:12px}.contact-direct-links{gap:8px}.contact-direct-link{padding:10px 12px}.contact-link-icon{width:32px;height:32px;margin-right:10px}.contact-link-icon svg{width:16px;height:16px}.contact-link-value{font-size:12px}}.blog-container{width:100%;background-color:var(--bg-primary);background-image:radial-gradient(circle at bottom right,rgba(50,87,142,.08) 0%,transparent 50%);background-position:bottom right;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;padding:20px 0;overflow-x:hidden;position:relative}.blog-search{margin-bottom:2rem}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:var(--text-secondary);opacity:.6;pointer-events:none;z-index:1}.search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;background:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.search-input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 2px #7aa7e633}.search-input::placeholder{color:var(--text-secondary)}.search-results{margin-top:.5rem;color:var(--text-secondary);font-size:.875rem;font-style:italic}.blog-wrapper{max-width:1200px;margin:0 auto;padding:40px 32px;display:flex;gap:40px;overflow:visible;position:relative;animation:fadeIn .6s ease-in-out;z-index:1}.blog-container .profile-sidebar{flex:0 0 240px;width:240px;position:fixed;left:calc(50% - 548px);top:120px;animation:slideInLeft .6s ease-out;z-index:10}.blog-container .profile-sidebar .avatar{animation:slideUpFixed .6s ease-out .2s both}.blog-container .profile-sidebar .sidebar-content{animation:slideUpFixed .6s ease-out .1s both}.blog-container .profile-sidebar .social-icon{position:relative;z-index:15;pointer-events:auto}.blog-container .profile-sidebar .social-icon:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:#3f84e41a;transform:translateY(-4px)}.blog-wrapper .blog-page{flex:1;margin-left:300px}.blog-page{width:100%;padding:0}.blog-area{padding:0}.blog-title{font-size:42px;font-weight:700;color:var(--text-primary);margin:0 0 40px;line-height:1.3}.articles-container{display:flex;flex-direction:column;gap:20px}.article-card{padding:24px;border:1px solid var(--border-color);border-radius:8px;background:var(--hover-bg);transition:all .3s cubic-bezier(.4,0,.2,1);animation:slideUp .5s ease-out;position:relative;overflow:hidden}.article-card:hover{border-color:var(--accent-blue);box-shadow:0 3px 12px var(--shadow-medium);transform:translateY(-2px)}.article-header{display:flex;flex-direction:column;align-items:start;margin-bottom:12px;gap:4px}.article-meta{display:flex;align-items:center;gap:12px;font-size:13px}.article-date{color:var(--text-secondary);font-weight:500}.article-reading-time{display:flex;align-items:center;gap:4px;color:var(--text-secondary);font-weight:500}.reading-time-icon{opacity:.7}.article-title{margin:0;font-size:16px;font-weight:600}.article-title a{color:var(--accent-blue);text-decoration:none;transition:all .3s ease;text-shadow:0 1px 2px rgba(0,0,0,.1)}.article-title a:hover{text-decoration:underline}.article-date{font-size:12px;color:var(--text-secondary);white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.1)}.article-description{font-size:14px;color:var(--text-secondary);margin:12px 0;line-height:1.6;text-shadow:0 1px 2px rgba(0,0,0,.1)}.article-tags{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.article-tag{display:inline-block;background-color:transparent;color:var(--text-secondary);padding:4px 10px;border-radius:10px;font-size:11px;border:1px solid var(--border-color);transition:all .3s ease;-webkit-user-select:none;user-select:none}.article-tag:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.article-link{color:var(--accent-blue);text-decoration:none;font-size:14px;font-weight:600;display:inline-block;transition:all .3s ease}.article-link:hover{text-decoration:underline}.blog-pagination{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:48px;padding-top:24px;border-top:1px solid var(--border-color)}.pagination-controls{display:flex;align-items:center;gap:16px}.pagination-btn{padding:10px 20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.pagination-btn:hover:not(:disabled){background:var(--accent-blue);color:var(--text-primary);border-color:var(--accent-blue);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-medium)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.pagination-dots{display:flex;gap:8px}.pagination-dot{width:32px;height:32px;border-radius:50%;background:var(--bg-secondary);border:2px solid var(--border-color);cursor:pointer;transition:all .3s ease;opacity:.8;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--text-secondary)}.pagination-dot:hover{border-color:var(--accent-blue);transform:scale(1.2);opacity:1}.pagination-dot.active{background:var(--accent-blue);border-color:var(--accent-blue);transform:scale(1.2);opacity:1;color:#fff}.pagination-info{color:var(--text-secondary);font-size:13px;font-weight:500}.pagination-info span{color:var(--text-primary);font-weight:600}@media(max-width:1024px){.blog-wrapper{grid-template-columns:1fr;gap:32px;padding:32px 24px}.blog-container .profile-sidebar{flex:1;max-width:100%;position:static;left:auto;top:auto;width:85%;margin:0 auto}.blog-wrapper .blog-page{margin-left:0}.blog-container{padding:15px 0}}@media(max-width:768px){.blog-wrapper{flex-direction:column;gap:24px;padding:24px 20px}.blog-container{padding:10px 0}.blog-container .profile-sidebar{width:90%;margin:0 auto}.blog-title{font-size:32px}.article-card{padding:20px}.blog-pagination{gap:12px}.pagination-btn{padding:8px 20px;font-size:13px}.pagination-dot{width:28px;height:28px;font-size:11px}}@media(max-width:640px){.blog-wrapper{padding:20px 16px;gap:20px}.blog-container{padding:8px 0}.blog-container .profile-sidebar{width:95%;margin:0 auto}.blog-title{font-size:28px;margin-bottom:32px}.article-card{padding:16px}.article-header{flex-direction:column;gap:8px}.article-title{font-size:16px}.article-description{font-size:14px}.pagination-controls{flex-wrap:wrap;justify-content:center}.pagination-btn{padding:8px 16px;font-size:12px}.pagination-dot{width:26px;height:26px;font-size:10px}}@media(max-width:480px){.blog-wrapper{padding:16px 12px;gap:16px}.blog-container{padding:5px 0}.blog-container .profile-sidebar{width:95%;margin:0 auto}.blog-title{font-size:24px;margin-bottom:24px}.article-card{padding:12px}.article-title{font-size:15px}.article-description{font-size:13px}.pagination-btn{padding:6px 12px;font-size:11px}.pagination-dot{width:24px;height:24px;font-size:9px}}.blog-post-cover-image{width:100%;max-width:1000px;overflow:hidden;border-radius:12px;margin:0 auto 32px;position:relative}.blog-post-cover-img{width:100%;height:auto;object-fit:cover;transition:transform .3s ease;display:block}.blog-post-cover-img:hover{transform:scale(1.05)}.blog-post-simple-header{margin-bottom:32px}.blog-post-profile-row{display:flex;align-items:center;gap:16px;margin-bottom:24px}.blog-post-profile-avatar{border-radius:50%;border:2px solid var(--border-color);object-fit:cover;transition:all .3s ease}.blog-post-profile-avatar:hover{border-color:var(--accent-blue);box-shadow:0 0 12px var(--shadow-medium)}.blog-post-separator{border:none;height:1px;background:var(--border-color);margin:24px 0 32px;opacity:.6}.blog-post-info{display:flex;flex-direction:column;gap:4px}.blog-post-profile-name{font-size:16px;font-weight:600;color:var(--text-primary);margin:0;line-height:1.3}.blog-post-profile-date{font-size:13px;color:var(--text-secondary);font-weight:500}.blog-post-back .back-arrow{margin-right:10px}@media(max-width:1024px){.blog-post-profile-row{gap:12px}.blog-post-profile-name{font-size:15px}.blog-post-profile-date{font-size:12px}.blog-post-separator{margin:20px 0 28px}}@media(max-width:768px){.blog-post-cover-image{margin-bottom:24px}.blog-post-profile-row{gap:12px}.blog-post-profile-name{font-size:15px}.blog-post-profile-date{font-size:12px}.blog-post-separator{margin:20px 0 28px}}@media(max-width:480px){.blog-post-cover-image{margin-bottom:20px;border-radius:8px}.blog-post-simple-header{margin-bottom:24px}.blog-post-profile-row{gap:10px;margin-bottom:20px}.blog-post-profile-name{font-size:14px}.blog-post-profile-date{font-size:11px}.blog-post-separator{margin:16px 0 24px}}.blog-post-page{width:100%;min-height:100vh;padding:20px 0}.blog-post-page-wrapper .profile-sidebar{position:fixed;width:240px;left:calc(50% - 548px);top:80px;animation:slideInLeft .6s ease-out}.blog-post-page-wrapper .profile-sidebar .avatar{animation:slideUpFixed .6s ease-out .2s both}.blog-post-page-wrapper .profile-sidebar .sidebar-content{animation:slideUpFixed .6s ease-out .1s both}@media(max-width:1024px){.blog-post-page-wrapper .profile-sidebar{position:static;width:100%;left:auto;top:auto}}.blog-post-page-wrapper .profile-sidebar .avatar{width:140px;height:140px}.blog-post-page-wrapper .profile-sidebar .sidebar-content{padding:16px}.blog-post-page-wrapper .profile-sidebar .profile-name{font-size:18px;margin:0 0 6px}.blog-post-page-wrapper .profile-sidebar .profile-bio{font-size:13px;margin:0 0 14px}.blog-post-page-wrapper .profile-sidebar .social-links{gap:8px;margin-top:16px;padding-top:16px}.blog-post-page-wrapper .profile-sidebar .social-icon{width:32px;height:32px}.blog-post-page-wrapper .blog-wrapper .blog-post-page{margin-left:0}@media(max-width:1024px){.blog-post-page-wrapper .blog-wrapper .blog-post-page{margin-left:0}}@media(max-width:1024px){.blog-wrapper{flex-direction:column;gap:32px;padding:32px 24px}.blog-wrapper .profile-sidebar{flex:1;max-width:100%;position:static;left:auto;top:auto}.blog-post-page-wrapper .blog-wrapper .blog-post-page{margin-left:0}.blog-post-container{padding:60px 24px 40px}}@media(max-width:768px){.blog-wrapper{padding:24px 20px;gap:24px}.blog-post-container{padding:40px 20px 30px}.blog-post-back-wrapper{top:-20px;left:20px}.blog-post-back{position:static;margin-bottom:20px;display:inline-block;padding:6px 12px;font-size:12px}.blog-post-back .back-text-full{display:none!important}.blog-post-back .back-text-short{display:inline!important}.blog-post-back .back-arrow{margin-right:4px}.blog-post-title{font-size:28px}}@media(max-width:640px){.blog-wrapper{padding:20px 16px;gap:20px}.blog-post-container{padding:30px 16px 20px}.blog-post-title{font-size:24px}.blog-post-meta{flex-direction:column;gap:8px}}@media(max-width:480px){.blog-wrapper{padding:16px 12px;gap:16px}.blog-post-container{padding:20px 12px 15px}.blog-post-back-wrapper{top:-20px;left:16px}.blog-post-title{font-size:20px}.blog-post-back{padding:4px 8px;font-size:11px}.blog-post-back .back-text-full{display:none!important}.blog-post-back .back-text-short{display:inline!important}.blog-post-back .back-arrow{margin-right:2px}}.blog-post-layout{position:relative;width:100%;min-height:100vh}.blog-post-back-wrapper{position:absolute;top:-20px;left:40px;z-index:1001}.blog-post-container{max-width:1100px;margin:0 auto;padding:0 32px 60px}.blog-post-main{align-items:start}.blog-post-side{position:sticky;top:100px}.blog-post-stats{display:flex;gap:16px}.blog-post-stat{display:flex;align-items:center;gap:8px;color:var(--text-secondary);text-decoration:none;transition:color .2s ease}.blog-post-stat:hover{color:var(--accent-blue)}.blog-post-stat-icon{flex-shrink:0}.blog-post-stat-value{font-size:16px;font-weight:700;color:inherit;line-height:1.2}.blog-post-back{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:10px 20px;border-radius:6px;text-decoration:none;font-size:14px;font-weight:600;cursor:pointer;z-index:1001;display:inline-block}.blog-post-back .back-text-full{display:inline}.blog-post-back .back-text-short{display:none}.blog-post-back:hover{background:var(--hover-bg);color:var(--accent-blue);border-color:var(--accent-blue)}.blog-post-content{animation:fadeIn .6s ease-out}.blog-post-title{font-size:48px;font-weight:700;color:var(--text-primary);margin:0 0 32px;line-height:1.3}.blog-post-header{margin-bottom:48px;padding-bottom:24px;border-bottom:1px solid var(--border-color)}.blog-post-meta{display:flex;flex-direction:column;gap:16px}.blog-post-reading-time{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-secondary);font-weight:500}.blog-post-meta-icon{width:16px;height:16px;opacity:.7}.blog-post-stats{display:flex;gap:16px;margin-top:8px}.blog-post-date{font-size:14px;color:var(--text-secondary);font-weight:500}.blog-post-tags{display:flex;flex-wrap:wrap;gap:8px}.blog-post-tag{display:inline-block;background-color:transparent;color:var(--text-secondary);padding:6px 12px;border-radius:12px;font-size:12px;border:1px solid var(--border-color);transition:all .3s ease}.blog-post-tag:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.blog-post-body{font-size:16px;color:var(--text-secondary);line-height:1.9}.blog-post-body p{margin:0 0 24px;color:var(--text-secondary)}.blog-post-body h1,.blog-post-body h2,.blog-post-body h3{color:var(--text-primary);margin:32px 0 16px;font-weight:700}.blog-post-body h1{font-size:32px;margin-top:40px}.blog-post-body h2{font-size:26px}.blog-post-body h3{font-size:20px}.blog-post-body strong{color:var(--text-primary);font-weight:600}.blog-post-body em{font-style:italic;color:var(--text-secondary)}.blog-post-body code{background:var(--hover-bg);color:var(--accent-blue);padding:2px 6px;border-radius:4px;font-size:14px;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.blog-post-body pre{background:var(--hover-bg);border:1px solid var(--border-color);border-radius:6px;padding:16px;overflow-x:auto;margin:24px 0}.blog-post-body pre code{background:none;color:var(--text-secondary);padding:0;border-radius:0}.blog-post-body a{color:var(--accent-blue);text-decoration:none;transition:all .3s ease}.blog-post-body a:hover{text-decoration:underline}.blog-post-body br{display:block;height:.5em}.blog-post-footer{margin-top:60px;padding-top:32px;border-top:1px solid var(--border-color);text-align:center}.blog-post-read-more{color:var(--accent-blue);text-decoration:none;font-size:16px;font-weight:600;transition:all .3s ease;display:inline-block;padding:12px 24px;border:2px solid var(--accent-blue);border-radius:6px}.blog-post-read-more:hover{color:var(--accent-blue);background:#7aa7e61a;transform:translate(4px)}@media(max-width:1024px){.blog-post-container{padding:0 32px 50px}.blog-post-main{align-items:start}.blog-post-title{font-size:40px}}@media(max-width:768px){.blog-post-container{padding:0 24px 40px}.blog-post-main{align-items:start}.blog-post-side{position:static}.blog-post-title{font-size:32px}.blog-post-body{font-size:15px}}@media(max-width:480px){.blog-post-container{padding:0 16px 32px}.blog-post-title{font-size:28px}.blog-post-date{font-size:13px}}.skeleton{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--hover-bg) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:6px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{padding:24px;border:1px solid var(--border-color);border-radius:6px;background:var(--hover-bg);display:flex;flex-direction:column;gap:16px}.skeleton-header{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:12px}.skeleton-title{width:70%;height:20px;border-radius:4px}.skeleton-date{width:100px;height:14px;border-radius:4px}.skeleton-description{width:100%;height:48px;border-radius:4px}.skeleton-tags{display:flex;gap:8px;margin:16px 0}.skeleton-tag{width:60px;height:24px;border-radius:10px}.skeleton-link{width:80px;height:16px;border-radius:4px}.projects-container{padding:24px;max-width:1200px;margin:0 auto}.project-filters{display:flex;gap:8px;margin-bottom:24px;padding:0;border-bottom:1px solid var(--border-color);position:relative}.filter-underline{position:absolute;bottom:0;height:2px;background:var(--accent-blue);transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:1px}.filter-tab{background:transparent;border:none;color:var(--text-secondary);padding:12px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.filter-tab:hover{color:var(--text-primary);background:#7aa7e60d}.filter-tab.active{color:var(--accent-blue);background:transparent}.projects-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:40px}.project-card{background:var(--bg-secondary);border-radius:12px;padding:24px;position:relative;overflow:hidden}.project-card.pinned{background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(122,167,230,.05) 100%)}.project-header{margin-bottom:20px;cursor:pointer;-webkit-user-select:none;user-select:none}.project-card.collapsed .project-header{margin-bottom:0}.project-title-section{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.collapse-toggle{display:flex;align-items:center;margin-right:12px}.dropdown-icon{transition:transform .3s cubic-bezier(.4,0,.2,1);color:var(--text-secondary)}.dropdown-icon.collapsed{transform:rotate(-90deg)}.project-title{font-size:24px;font-weight:700;color:var(--text-primary);margin:0;flex:1}.project-status{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.project-status.active{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.3)}.project-status.beta{background:#fb923c1a;color:#fb923c;border:1px solid rgba(251,146,60,.3)}.project-status.archived{background:#6b72801a;color:#6b7280;border:1px solid rgba(107,114,128,.3)}.collapsible-content{overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);max-height:1000px;opacity:1}.project-card.collapsed .collapsible-content{max-height:0;opacity:0;margin-bottom:0}.project-description{margin-bottom:20px}.project-description p{color:var(--text-secondary);line-height:1.6;margin:0;font-size:14px}.project-features{margin-bottom:20px}.feature-item{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}.feature-bullet{color:var(--accent-blue);font-weight:700;font-size:14px;line-height:1.4;margin-top:2px}.feature-text{color:var(--text-secondary);font-size:13px;line-height:1.4;flex:1}.project-tech-stack{margin-bottom:20px}.inline-skills{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.skill-tag{background:var(--hover-bg);color:var(--text-secondary);padding:6px 12px;border-radius:16px;font-size:13px;font-weight:500;border:1px solid var(--border-color);display:inline-flex;align-items:center;gap:6px}.skill-tag:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:#7aa7e61a}.project-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:16px;font-weight:700;color:var(--text-primary)}.project-actions{display:flex;gap:12px;flex-wrap:wrap}.action-button{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;min-width:120px;text-align:center}.action-button:hover{transform:translateY(-2px)}.action-button.primary{background:var(--accent-blue);color:#fff;border:1px solid var(--accent-blue)}.action-button.primary:hover{background:var(--hover-bg);color:var(--accent-blue);border-color:var(--accent-blue)}.action-button.secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-color)}.action-button.secondary:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:#7aa7e61a}.action-button.tertiary{background:var(--hover-bg);color:var(--text-secondary);border:1px solid var(--border-color)}.action-button.tertiary:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:#7aa7e61a}.project-card.pinned{background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(122,167,230,.05) 100%);padding-top:50px}.pinned-badge{position:absolute;top:15px;right:15px;font-size:16px;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transform:rotate(45deg)}@media(max-width:768px){.projects-container{padding:16px}.projects-grid{gap:16px}.project-card{padding:20px}.project-title{font-size:20px}.project-stats{grid-template-columns:1fr;gap:12px}.project-actions{flex-direction:column}.action-button{width:100%}}@media(max-width:480px){.project-card{padding:16px}.project-title-section{flex-direction:column;align-items:flex-start;gap:8px}.project-title{font-size:18px}.project-status{align-self:flex-start}.inline-skills{gap:6px}.skill-tag{font-size:12px;padding:4px 8px}}@font-face{font-family:octicons-anchor;src:url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAYcAA0AAAAACjQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABMAAAABwAAAAca8vGTk9TLzIAAAFMAAAARAAAAFZG1VHVY21hcAAAAZAAAAA+AAABQgAP9AdjdnQgAAAB0AAAAAQAAAAEACICiGdhc3AAAAHUAAAACAAAAAj//wADZ2x5ZgAAAdwAAADRAAABEKyikaNoZWFkAAACsAAAAC0AAAA2AtXoA2hoZWEAAALgAAAAHAAAACQHngNFaG10eAAAAvwAAAAQAAAAEAwAACJsb2NhAAADDAAAAAoAAAAKALIAVG1heHAAAAMYAAAAHwAAACABEAB2bmFtZQAAAzgAAALBAAAFu3I9x/Nwb3N0AAAF/AAAAB0AAAAvaoFvbwAAAAEAAAAAzBdyYwAAAADP2IQvAAAAAM/bz7t4nGNgZGFgnMDAysDB1Ml0hoGBoR9CM75mMGLkYGBgYmBlZsAKAtJcUxgcPsR8iGF2+O/AEMPsznAYKMwIkgMA5REMOXicY2BgYGaAYBkGRgYQsAHyGMF8FgYFIM0ChED+h5j//yEk/3KoSgZGNgYYk4GRCUgwMaACRoZhDwCs7QgGAAAAIgKIAAAAAf//AAJ4nHWMMQrCQBBF/0zWrCCIKUQsTDCL2EXMohYGSSmorScInsRGL2DOYJe0Ntp7BK+gJ1BxF1stZvjz/v8DRghQzEc4kIgKwiAppcA9LtzKLSkdNhKFY3HF4lK69ExKslx7Xa+vPRVS43G98vG1DnkDMIBUgFN0MDXflU8tbaZOUkXUH0+U27RoRpOIyCKjbMCVejwypzJJG4jIwb43rfl6wbwanocrJm9XFYfskuVC5K/TPyczNU7b84CXcbxks1Un6H6tLH9vf2LRnn8Ax7A5WQAAAHicY2BkYGAA4teL1+yI57f5ysDNwgAC529f0kOmWRiYVgEpDgYmEA8AUzEKsQAAAHicY2BkYGB2+O/AEMPCAAJAkpEBFbAAADgKAe0EAAAiAAAAAAQAAAAEAAAAAAAAKgAqACoAiAAAeJxjYGRgYGBhsGFgYgABEMkFhAwM/xn0QAIAD6YBhwB4nI1Ty07cMBS9QwKlQapQW3VXySvEqDCZGbGaHULiIQ1FKgjWMxknMfLEke2A+IJu+wntrt/QbVf9gG75jK577Lg8K1qQPCfnnnt8fX1NRC/pmjrk/zprC+8D7tBy9DHgBXoWfQ44Av8t4Bj4Z8CLtBL9CniJluPXASf0Lm4CXqFX8Q84dOLnMB17N4c7tBo1AS/Qi+hTwBH4rwHHwN8DXqQ30XXAS7QaLwSc0Gn8NuAVWou/gFmnjLrEaEh9GmDdDGgL3B4JsrRPDU2hTOiMSuJUIdKQQayiAth69r6akSSFqIJuA19TrzCIaY8sIoxyrNIrL//pw7A2iMygkX5vDj+G+kuoLdX4GlGK/8Lnlz6/h9MpmoO9rafrz7ILXEHHaAx95s9lsI7AHNMBWEZHULnfAXwG9/ZqdzLI08iuwRloXE8kfhXYAvE23+23DU3t626rbs8/8adv+9DWknsHp3E17oCf+Z48rvEQNZ78paYM38qfk3v/u3l3u3GXN2Dmvmvpf1Srwk3pB/VSsp512bA/GG5i2WJ7wu430yQ5K3nFGiOqgtmSB5pJVSizwaacmUZzZhXLlZTq8qGGFY2YcSkqbth6aW1tRmlaCFs2016m5qn36SbJrqosG4uMV4aP2PHBmB3tjtmgN2izkGQyLWprekbIntJFing32a5rKWCN/SdSoga45EJykyQ7asZvHQ8PTm6cslIpwyeyjbVltNikc2HTR7YKh9LBl9DADC0U/jLcBZDKrMhUBfQBvXRzLtFtjU9eNHKin0x5InTqb8lNpfKv1s1xHzTXRqgKzek/mb7nB8RZTCDhGEX3kK/8Q75AmUM/eLkfA+0Hi908Kx4eNsMgudg5GLdRD7a84npi+YxNr5i5KIbW5izXas7cHXIMAau1OueZhfj+cOcP3P8MNIWLyYOBuxL6DRylJ4cAAAB4nGNgYoAALjDJyIAOWMCiTIxMLDmZedkABtIBygAAAA==) format("woff")}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:var(--text-secondary);overflow:hidden;font-family:system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.7;word-wrap:break-word;background:transparent}.markdown-body a{color:var(--accent-blue);text-decoration:none}.markdown-body a:hover,.markdown-body a:focus{text-decoration:underline}.markdown-body strong{font-weight:700}.markdown-body img{border:0}.markdown-body hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}.markdown-body pre{overflow:auto}.markdown-body code,.markdown-body kbd,.markdown-body pre{font-family:monospace,monospace;font-size:1em}.markdown-body input{color:inherit;font:inherit;margin:0}.markdown-body html input[disabled]{cursor:default}.markdown-body input{line-height:normal}.markdown-body input[type=checkbox]{-moz-box-sizing:border-box;box-sizing:border-box;padding:0}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}.markdown-body td,.markdown-body th{padding:0}.markdown-body *{-moz-box-sizing:border-box;box-sizing:border-box}.markdown-body input{font:13px/1.4 Helvetica,arial,freesans,clean,sans-serif,"Segoe UI Emoji",Segoe UI Symbol}.markdown-body a{color:#4183c4;text-decoration:none}.markdown-body a:hover,.markdown-body a:focus,.markdown-body a:active{text-decoration:underline}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:var(--border-color);border:0}.markdown-body hr:before{display:table;content:""}.markdown-body hr:after{display:table;clear:both;content:""}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--text-primary);margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1{font-size:2em;border-bottom:1px solid var(--border-color);padding-bottom:.3em}.markdown-body blockquote{margin:0;padding:0 1em;color:var(--text-secondary);border-left:.25em solid var(--border-color)}.markdown-body ul,.markdown-body ol{padding:0;margin-top:0;margin-bottom:0}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body code{padding:.2em .4em;margin:0;font-size:85%;background-color:var(--hover-bg);border-radius:6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;color:var(--accent-blue)}.markdown-body pre{background-color:var(--hover-bg);border:1px solid var(--border-color);border-radius:6px;padding:16px;overflow:auto;font-size:85%;line-height:1.45}.markdown-body kbd{background-color:var(--hover-bg);border:1px solid var(--border-color);color:var(--text-primary);padding:3px 5px;line-height:10px;font:11px Monaco,Menlo,Ubuntu Mono,monospace;display:inline-block;border-radius:4px}.markdown-body>*:first-child{margin-top:0!important}.markdown-body>*:last-child{margin-bottom:0!important}.markdown-body .anchor{position:absolute;top:0;bottom:0;left:0;display:block;padding-right:6px;padding-left:30px;margin-left:-30px}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre{margin-top:0;margin-bottom:16px}.markdown-body ul,.markdown-body ol{padding-left:2em}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:700}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table{display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}.markdown-body table th{font-weight:700}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid var(--border-color)}.markdown-body table tr{background-color:transparent;border-top:1px solid var(--border-color)}.markdown-body table tr:nth-child(2n){background-color:var(--hover-bg)}.markdown-body img{max-width:100%;box-sizing:content-box}.markdown-body .highlight{margin-bottom:16px}.markdown-body .code-block-container{position:relative;margin:24px 0;border-radius:6px;border:1px solid var(--border-color);background:var(--hover-bg);overflow:hidden}.js-code-highlight>:nth-child(4){display:none!important}.markdown-body .code-header{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-size:12px}.markdown-body .code-language{color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.markdown-body .copy-button{display:flex;align-items:center;gap:6px;padding:4px 8px;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .2s ease}.markdown-body .copy-button:hover{background:var(--hover-bg);color:var(--accent-blue);border-color:var(--accent-blue)}.markdown-body .copy-button svg{width:14px;height:14px}.markdown-body .code-block-container pre{margin:0;padding:16px;overflow-x:auto;background:transparent;border:none;border-radius:0}.markdown-body .code-block-container code{background:transparent;padding:0;border-radius:0;color:var(--text-secondary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5}@media(max-width:768px){.markdown-body .code-header{padding:6px 12px}.markdown-body .code-block-container pre{padding:12px}.markdown-body .copy-button{padding:3px 6px;font-size:10px}.markdown-body .copy-button svg{width:12px;height:12px}}.markdown-body .highlight .mf,.markdown-body .highlight .mh,.markdown-body .highlight .mi,.markdown-body .highlight .mo,.markdown-body .highlight .il,.markdown-body .highlight .m{color:#d19a66}.markdown-body .highlight .s,.markdown-body .highlight .sb,.markdown-body .highlight .sc,.markdown-body .highlight .sd,.markdown-body .highlight .s2,.markdown-body .highlight .se,.markdown-body .highlight .sh,.markdown-body .highlight .si,.markdown-body .highlight .sx,.markdown-body .highlight .s1{color:#98c379}.markdown-body .highlight .kc,.markdown-body .highlight .kd,.markdown-body .highlight .kn,.markdown-body .highlight .kp,.markdown-body .highlight .kr,.markdown-body .highlight .k{color:#c678dd}.markdown-body .highlight .kt{color:#ff9e64}.markdown-body .highlight .o,.markdown-body .highlight .ow{color:#56b6c2}.markdown-body .highlight .c,.markdown-body .highlight .cm,.markdown-body .highlight .c1{color:#5c6370;font-style:italic}.markdown-body .highlight .cp,.markdown-body .highlight .cs{color:#c678dd;font-weight:700}.markdown-body .highlight .n,.markdown-body .highlight .na,.markdown-body .highlight .nv,.markdown-body .highlight .vc,.markdown-body .highlight .vg,.markdown-body .highlight .vi{color:#61aeee}.markdown-body .highlight .nb{color:#e6c07b}.markdown-body .highlight .nc,.markdown-body .highlight .nf{color:#61aeee;font-weight:700}.markdown-body .highlight .nt{color:#c678dd}.markdown-body .highlight .gd{color:#e06c75;background-color:#e06c751a}.markdown-body .highlight .gi{color:#98c379;background-color:#98c3791a}.markdown-body .highlight .ge{font-style:italic}.markdown-body .highlight .gs{font-weight:700}.markdown-body .highlight .gu{color:#61aeee;font-weight:700}.markdown-body .highlight .sr{color:#98c379}.markdown-body .highlight .ss{color:#d19a66}.markdown-body .highlight .bp{color:#e6c07b}.markdown-body .octicon{font: 16px octicons-anchor;line-height:1;display:inline-block;text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.markdown-body .octicon-link:before{content:""}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item+.task-list-item{margin-top:3px}.markdown-body .task-list-item input{float:left;margin:.3em 0 .25em -1.6em;vertical-align:middle}.markdown-body{padding-left:30px}@media(max-width:768px){.markdown-body{padding-left:0}}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{position:relative}.markdown-body h1:hover .header-link:before,.markdown-body h2:hover .header-link:before,.markdown-body h3:hover .header-link:before,.markdown-body h4:hover .header-link:before,.markdown-body h5:hover .header-link:before,.markdown-body h6:hover .header-link:before{content:"¶";color:#888;font-size:smaller}.markdown-body .header-link{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:absolute;top:0;left:-.7em;display:block;padding-right:1em}.markdown-body h1:hover .header-link,.markdown-body h2:hover .header-link,.markdown-body h3:hover .header-link,.markdown-body h4:hover .header-link,.markdown-body h5:hover .header-link,.markdown-body h6:hover .header-link{display:inline-block;text-decoration:none}.navbar-wrapper{padding-top:12px;display:flex;justify-content:center}.navbar{position:relative;top:auto;left:auto;transform:none;z-index:1000;background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:50px;padding:8px 16px;box-shadow:0 4px 6px -1px var(--shadow-light),0 2px 4px -1px var(--shadow-light);transition:all .3s ease;margin:0 auto;display:flex;justify-content:center;max-width:fit-content}.navbar:hover{box-shadow:0 10px 15px -3px var(--shadow-medium),0 4px 6px -2px var(--shadow-light);transform:translateY(-2px)}.navbar-container{display:flex;align-items:center;gap:8px}.theme-switcher{display:flex;align-items:center;gap:8px;margin-left:16px;padding-left:16px;border-left:1px solid var(--border-color)}.theme-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px 10px;border-radius:20px;transition:all .3s ease;font-size:16px;display:flex;align-items:center;justify-content:center}.theme-toggle svg{width:20px;height:20px}.theme-toggle:hover{color:var(--text-primary);background:var(--hover-bg);transform:scale(1.1)}.nav-link{text-decoration:none;color:var(--text-secondary);font-weight:500;font-size:14px;padding:8px 16px;border-radius:25px;transition:all .3s ease;position:relative;outline:none}.nav-link:hover{color:var(--text-primary);background:var(--hover-bg);transform:scale(1.05)}.nav-link.active{color:var(--text-primary);background:#667eea26;font-weight:600;box-shadow:0 2px 8px var(--shadow-light);border:1px solid rgba(102,126,234,.2)}.nav-link.active:hover{background:#667eea40;transform:scale(1.02);box-shadow:0 4px 12px var(--shadow-medium)}@media(max-width:640px){.navbar{margin:20px auto 30px;padding:6px 12px}.nav-link{font-size:13px;padding:6px 12px}.theme-switcher{margin-left:12px;padding-left:12px}.theme-toggle{font-size:14px;min-width:28px;height:28px;padding:4px 8px}}.footer{text-align:center;padding:1rem;border-top:1px solid var(--border-color);width:50%;margin:0 auto}.footer-content{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.footer-social{display:flex;gap:8px;align-items:center}.footer-social-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);transition:all .3s ease;background:transparent;text-decoration:none}.footer-social-icon:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:#3f84e41a;transform:translateY(-2px)}.footer-social-icon svg{width:14px;height:14px}.footer-separator{color:var(--text-secondary);font-size:12px;margin:0 4px}.footer-text{font-size:14px;color:var(--text-secondary)}@media(max-width:640px){.footer{width:90%;padding:.8rem}.footer-content{gap:8px}.footer-social{gap:6px}.footer-social-icon{width:20px;height:20px}.footer-social-icon svg{width:12px;height:12px}.footer-separator{font-size:12px;margin:0 2px}.footer-text{font-size:12px}}@media(max-width:480px){.footer{width:95%;padding:.6rem}.footer-content{gap:6px}.footer-social-icon{width:18px;height:18px}.footer-social-icon svg{width:10px;height:10px}.footer-separator{font-size:11px;margin:0 2px}.footer-text{font-size:11px}}.error-boundary{display:flex;justify-content:center;align-items:center;min-height:50vh;padding:2rem}.error-container{max-width:600px;text-align:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:2rem}.error-title{color:var(--danger-red);font-size:1.5rem;margin-bottom:1rem}.error-message{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.5}.error-button{background:var(--accent-blue);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .2s ease}.error-button:hover{background:var(--accent-blue)}.error-details{margin-top:2rem;text-align:left}.error-details summary{color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:4px;background:var(--bg-primary);margin-bottom:1rem}.error-details summary:hover{background:var(--hover-bg)}.error-stack{background:var(--bg-primary);color:var(--text-secondary);padding:1rem;border-radius:4px;font-size:.875rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word}
