:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media (prefers-color-scheme: dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{max-width:1280px;margin:0 auto;padding:2rem;font-weight:400}a,.green{text-decoration:none;color:#00bd7e;transition:.4s;padding:3px}@media (hover: hover){a:hover{background-color:#00bd7e33}}@media (min-width: 1024px){body{display:flex;place-items:center}#app{display:grid;grid-template-columns:1fr 1fr;padding:0 2rem}}.header[data-v-5cb119db]{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.1);transition:all .3s ease}.header.scrolled[data-v-5cb119db]{background:#fffffffa;box-shadow:0 2px 20px #0000001a}.nav-content[data-v-5cb119db]{display:flex;justify-content:space-between;align-items:center;padding:1rem 0}.logo h2[data-v-5cb119db]{color:#1a1a1a;font-weight:700;font-size:1.5rem}.nav[data-v-5cb119db]{display:flex;gap:2rem}.nav a[data-v-5cb119db]{text-decoration:none;color:#2c3e50;font-weight:500;transition:all .3s ease;position:relative}.nav a[data-v-5cb119db]:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:#333;transition:width .3s ease}.nav a[data-v-5cb119db]:hover:after{width:100%}.header-actions[data-v-5cb119db]{display:flex;gap:1rem;align-items:center}.github-btn[data-v-5cb119db]{background:#1a1a1a;color:#fff;padding:.5rem 1rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:.9rem;transition:all .3s ease;display:flex;align-items:center;gap:5px}.github-btn[data-v-5cb119db]:hover{background:#333;transform:translateY(-2px)}.blog-btn[data-v-5cb119db]{background:#666;color:#fff;padding:.5rem 1rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:.9rem;transition:all .3s ease;display:flex;align-items:center;gap:5px}.blog-btn[data-v-5cb119db]:hover{background:#333;transform:translateY(-2px)}.mobile-toggle[data-v-5cb119db]{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:5px}.mobile-toggle span[data-v-5cb119db]{width:25px;height:3px;background:#2c3e50;margin:3px 0;transition:.3s;border-radius:3px}.mobile-toggle.active span[data-v-5cb119db]:nth-child(1){transform:rotate(-45deg) translate(-5px,6px)}.mobile-toggle.active span[data-v-5cb119db]:nth-child(2){opacity:0}.mobile-toggle.active span[data-v-5cb119db]:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}@media (max-width: 768px){.mobile-toggle[data-v-5cb119db]{display:flex}.github-btn[data-v-5cb119db],.blog-btn[data-v-5cb119db]{font-size:.8rem;padding:.4rem .8rem}.nav[data-v-5cb119db]{position:absolute;top:100%;left:0;right:0;background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;padding:2rem;box-shadow:0 5px 20px #0000001a;transform:translateY(-10px);opacity:0;visibility:hidden;transition:all .3s ease}.nav.mobile-open[data-v-5cb119db]{transform:translateY(0);opacity:1;visibility:visible}.nav a[data-v-5cb119db]{padding:.5rem 0;text-align:center;border-bottom:1px solid rgba(0,0,0,.1)}.nav a[data-v-5cb119db]:last-child{border-bottom:none}}.about-content[data-v-1741d60c]{display:grid;grid-template-columns:2fr 1fr;gap:4rem;align-items:start}.about-text[data-v-1741d60c]{display:flex;flex-direction:column;gap:2rem}.intro h3[data-v-1741d60c]{font-size:1.8rem;color:#1a1a1a;margin-bottom:1rem;font-weight:600}.intro p[data-v-1741d60c],.description p[data-v-1741d60c]{font-size:1.1rem;line-height:1.7;color:#666;margin-bottom:1rem}.highlights[data-v-1741d60c]{display:flex;flex-direction:column;gap:1.5rem}.highlight-item[data-v-1741d60c]{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;background:#f8f9fa;border-radius:12px;border-left:4px solid #333;transition:transform .3s ease}.highlight-item[data-v-1741d60c]:hover{transform:translate(5px)}.highlight-icon[data-v-1741d60c]{font-size:2rem;flex-shrink:0}.highlight-item h4[data-v-1741d60c]{font-size:1.2rem;color:#1a1a1a;margin-bottom:.5rem;font-weight:600}.highlight-item p[data-v-1741d60c]{color:#666;line-height:1.6;margin:0}.about-stats[data-v-1741d60c]{display:flex;flex-direction:column;gap:2rem}.stats-grid[data-v-1741d60c]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.stat-item[data-v-1741d60c]{text-align:center;padding:2rem 1rem;background:#1a1a1a;border-radius:12px;color:#fff;transition:transform .3s ease}.stat-item[data-v-1741d60c]:hover{transform:translateY(-5px);background:#333}.stat-number[data-v-1741d60c]{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.stat-label[data-v-1741d60c]{font-size:.9rem;opacity:.9}.personal-info[data-v-1741d60c]{background:#f8f9fa;padding:2rem;border-radius:12px}.personal-info h4[data-v-1741d60c]{font-size:1.3rem;color:#1a1a1a;margin-bottom:1.5rem;font-weight:600}.info-grid[data-v-1741d60c]{display:flex;flex-direction:column;gap:1rem}.info-item[data-v-1741d60c]{display:flex;justify-content:space-between;align-items:center;padding-bottom:.5rem;border-bottom:1px solid #e0e0e0}.info-item[data-v-1741d60c]:last-child{border-bottom:none}.info-label[data-v-1741d60c]{font-weight:500;color:#666}.info-value[data-v-1741d60c]{font-weight:600;color:#2c3e50}.loading-state[data-v-1741d60c],.error-state[data-v-1741d60c]{text-align:center;padding:4rem 2rem}.loading-spinner[data-v-1741d60c],.error-icon[data-v-1741d60c]{font-size:3rem;margin-bottom:1rem}.loading-state p[data-v-1741d60c],.error-state p[data-v-1741d60c]{font-size:1.2rem;color:#666;margin-bottom:1rem}.retry-btn[data-v-1741d60c]{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:25px;font-weight:600;cursor:pointer;transition:all .3s ease}.retry-btn[data-v-1741d60c]:hover{transform:translateY(-2px);box-shadow:0 10px 25px #667eea4d}@media (max-width: 1024px){.about-content[data-v-1741d60c]{grid-template-columns:1fr;gap:3rem}.stats-grid[data-v-1741d60c]{grid-template-columns:repeat(4,1fr)}}@media (max-width: 768px){.highlights[data-v-1741d60c]{gap:1rem}.highlight-item[data-v-1741d60c]{padding:1rem;flex-direction:column;text-align:center}.stats-grid[data-v-1741d60c]{grid-template-columns:1fr 1fr}.stat-item[data-v-1741d60c]{padding:1.5rem .5rem}.stat-number[data-v-1741d60c]{font-size:2rem}}@media (max-width: 480px){.about-content[data-v-1741d60c]{gap:2rem}.intro h3[data-v-1741d60c]{font-size:1.5rem}.intro p[data-v-1741d60c],.description p[data-v-1741d60c]{font-size:1rem}.stats-grid[data-v-1741d60c]{grid-template-columns:1fr;gap:1rem}.personal-info[data-v-1741d60c]{padding:1.5rem}}.skills-section[data-v-0107789a]{background:#f8f9fa}.skills-content[data-v-0107789a]{display:flex;flex-direction:column;gap:3rem;margin-bottom:4rem}.skill-category[data-v-0107789a]{background:linear-gradient(135deg,#fff,#f8f9fa);padding:3rem;border-radius:24px;box-shadow:0 10px 40px #00000014;border:1px solid rgba(0,0,0,.05);position:relative;overflow:hidden}.skill-category[data-v-0107789a]:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb)}.category-title[data-v-0107789a]{display:flex;align-items:center;gap:1rem;font-size:1.5rem;font-weight:600;color:#1a1a1a;margin-bottom:2rem}.category-icon[data-v-0107789a]{font-size:1.8rem}.skills-grid[data-v-0107789a]{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.skill-item[data-v-0107789a]{display:flex;align-items:center;gap:1.5rem;padding:2rem;background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:20px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);border:2px solid rgba(0,0,0,.05);box-shadow:0 4px 20px #00000014;cursor:pointer;position:relative;overflow:hidden}.skill-item[data-v-0107789a]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .6s ease}.skill-item[data-v-0107789a]:hover:before{left:100%}.skill-item[data-v-0107789a]:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px #00000026;border-color:#0000001a}.skill-name[data-v-0107789a]{font-weight:700;color:#1a1a1a;font-size:1.3rem;margin:0;letter-spacing:-.02em;transition:all .3s ease}.skill-item:hover .skill-name[data-v-0107789a]{color:#667eea;transform:translate(5px)}.skill-icon[data-v-0107789a]{font-size:3.5rem;background:none;-webkit-background-clip:initial;-webkit-text-fill-color:initial;background-clip:initial;filter:none;color:#222;transition:all .4s ease;flex-shrink:0}.skill-item:hover .skill-icon[data-v-0107789a]{transform:scale(1.15) rotate(5deg);filter:none;color:#667eea}.tools-grid[data-v-0107789a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem}.tool-item[data-v-0107789a]{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;background:#f8f9fa;border-radius:12px;transition:all .3s ease;text-align:center}.tool-item[data-v-0107789a]:hover{transform:translateY(-5px);background:#fff;box-shadow:0 10px 25px #0000001a}.tool-icon[data-v-0107789a]{font-size:2.5rem}.tool-name[data-v-0107789a]{font-weight:500;color:#1a1a1a;font-size:.9rem}.specialties[data-v-0107789a]{background:#fff;padding:3rem;border-radius:20px;box-shadow:0 10px 30px #0000001a}.specialties-title[data-v-0107789a]{text-align:center;font-size:2rem;font-weight:600;color:#1a1a1a;margin-bottom:3rem}.specialties-grid[data-v-0107789a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.specialty-item[data-v-0107789a]{text-align:center;padding:2rem;border-radius:16px;background:#1a1a1a;color:#fff;transition:transform .3s ease}.specialty-item[data-v-0107789a]:hover{transform:translateY(-10px);background:#333}.specialty-icon[data-v-0107789a]{font-size:3rem;margin-bottom:1rem}.specialty-item h4[data-v-0107789a]{font-size:1.3rem;font-weight:600;margin-bottom:1rem}.specialty-item p[data-v-0107789a]{line-height:1.6;opacity:.9}.loading-state[data-v-0107789a],.error-state[data-v-0107789a]{text-align:center;padding:4rem 2rem}.loading-spinner[data-v-0107789a],.error-icon[data-v-0107789a]{font-size:3rem;margin-bottom:1rem}.loading-state p[data-v-0107789a],.error-state p[data-v-0107789a]{font-size:1.2rem;color:#666;margin-bottom:1rem}.retry-btn[data-v-0107789a]{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:25px;font-weight:600;cursor:pointer;transition:all .3s ease}.retry-btn[data-v-0107789a]:hover{transform:translateY(-2px);box-shadow:0 10px 25px #667eea4d}@media (max-width: 768px){.skills-grid[data-v-0107789a]{grid-template-columns:1fr;gap:1.5rem}.skill-item[data-v-0107789a]{padding:1.5rem}.skill-icon[data-v-0107789a]{font-size:3rem}.skill-name[data-v-0107789a]{font-size:1.1rem}.skill-category[data-v-0107789a]{padding:2rem}}@media (max-width: 480px){.skill-item[data-v-0107789a]{flex-direction:column;text-align:center;gap:1rem}.tools-grid[data-v-0107789a]{grid-template-columns:repeat(2,1fr)}.specialties-grid[data-v-0107789a]{grid-template-columns:1fr}}.projects-filter[data-v-785126af]{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}.filter-btn[data-v-785126af]{padding:.75rem 1.5rem;border:2px solid #e0e0e0;background:#fff;color:#666;border-radius:25px;cursor:pointer;transition:all .3s ease;font-weight:500}.filter-btn[data-v-785126af]:hover{border-color:#333;color:#333}.filter-btn.active[data-v-785126af]{background:#1a1a1a;border-color:transparent;color:#fff}.projects-grid[data-v-785126af]{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2.5rem;margin-bottom:3rem}.project-card[data-v-785126af]{background:#fff;border-radius:16px;box-shadow:0 8px 30px #00000014;overflow:hidden;transition:all .4s cubic-bezier(.175,.885,.32,1.275);cursor:pointer;height:fit-content;border:1px solid rgba(0,0,0,.05)}.project-card[data-v-785126af]:hover{transform:translateY(-8px);box-shadow:0 20px 50px #00000026;border-color:#0000001a}.project-representative-image[data-v-785126af]{width:100%;height:100%;object-fit:cover;transition:all .4s ease;border-radius:12px 12px 0 0}.project-card:hover .project-representative-image[data-v-785126af]{transform:scale(1.02)}.project-image-large[data-v-785126af]{width:80px;height:80px;border-radius:16px;object-fit:cover;border:3px solid #f0f0f0;box-shadow:0 8px 25px #0000001a;transition:all .3s ease}.project-image-large[data-v-785126af]:hover{transform:scale(1.05);box-shadow:0 12px 30px #00000026}.project-image[data-v-785126af]{position:relative;height:240px;background:#f8f9fa;border-radius:16px 16px 0 0;overflow:hidden;box-shadow:0 4px 20px #00000014}.project-placeholder[data-v-785126af]{height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:4rem}.project-overlay[data-v-785126af]{position:absolute;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.project-card:hover .project-overlay[data-v-785126af]{opacity:1}.project-links[data-v-785126af]{display:flex;gap:1rem}.project-link[data-v-785126af]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#ffffffe6;color:#333;text-decoration:none;border-radius:25px;font-weight:500;transition:all .3s ease}.project-link[data-v-785126af]:hover{background:#fff;transform:translateY(-2px)}.project-content[data-v-785126af]{padding:2rem;display:flex;flex-direction:column;gap:1rem;height:auto}.project-category[data-v-785126af]{display:inline-block;padding:.25rem .75rem;background:#f8f9fa;color:#333;border-radius:15px;font-size:.8rem;font-weight:600}.project-title[data-v-785126af]{font-size:1.5rem;font-weight:600;color:#1a1a1a;margin:0}.project-description[data-v-785126af]{color:#666;line-height:1.6;margin:0}.project-tech[data-v-785126af]{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag[data-v-785126af]{padding:.25rem .75rem;background:#f8f9fa;color:#666;border-radius:12px;font-size:.8rem;font-weight:500}.more-projects[data-v-785126af]{text-align:center;margin-top:2rem}.loading-state[data-v-785126af],.error-state[data-v-785126af]{text-align:center;padding:4rem 2rem}.loading-spinner[data-v-785126af],.error-icon[data-v-785126af]{font-size:3rem;margin-bottom:1rem}.loading-state p[data-v-785126af],.error-state p[data-v-785126af]{font-size:1.2rem;color:#666;margin-bottom:1rem}.retry-btn[data-v-785126af]{padding:.75rem 1.5rem;background:#1a1a1a;color:#fff;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease}.retry-btn[data-v-785126af]:hover{background:#333;transform:translateY(-2px)}.modal-overlay[data-v-785126af]{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:fadeIn-785126af .3s ease}@keyframes fadeIn-785126af{0%{opacity:0}to{opacity:1}}.modal-content[data-v-785126af]{background:#fff;border-radius:20px;width:100%;max-width:900px;max-height:90vh;overflow-y:auto;animation:slideUp-785126af .3s ease;box-shadow:0 20px 60px #0000004d}@keyframes slideUp-785126af{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header[data-v-785126af]{display:flex;justify-content:space-between;align-items:flex-start;padding:2rem 2rem 1rem;border-bottom:1px solid #eee}.project-title-section[data-v-785126af]{display:flex;align-items:center;gap:1.5rem}.modal-title[data-v-785126af]{font-size:2rem;font-weight:700;color:#1a1a1a;margin:0 0 .5rem}.modal-category[data-v-785126af]{color:#666;font-size:1rem;margin:0;padding:.25rem .75rem;background:#f8f9fa;border-radius:15px;display:inline-block}.close-btn[data-v-785126af]{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;transition:all .3s ease;padding:.5rem;border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center}.close-btn[data-v-785126af]:hover{background:#f8f9fa;color:#1a1a1a}.modal-body[data-v-785126af]{padding:2rem}.project-overview[data-v-785126af]{margin-bottom:3rem}.detailed-description[data-v-785126af]{font-size:1.1rem;line-height:1.7;color:#444;margin-bottom:2rem}.project-meta[data-v-785126af]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;background:#f8f9fa;padding:1.5rem;border-radius:12px}.meta-item[data-v-785126af]{display:flex;flex-direction:column;gap:.25rem}.meta-label[data-v-785126af]{font-size:.9rem;color:#666;font-weight:500}.meta-value[data-v-785126af]{font-size:1rem;color:#1a1a1a;font-weight:600}.project-details[data-v-785126af]{display:flex;flex-direction:column;gap:2rem;margin-bottom:3rem}.detail-section h3[data-v-785126af]{font-size:1.3rem;font-weight:600;color:#1a1a1a;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.feature-list[data-v-785126af],.challenge-list[data-v-785126af]{list-style:none;padding:0;margin:0}.feature-list li[data-v-785126af],.challenge-list li[data-v-785126af]{position:relative;padding:.75rem 0 .75rem 2rem;border-bottom:1px solid #f0f0f0;color:#444;line-height:1.6}.feature-list li[data-v-785126af]:last-child,.challenge-list li[data-v-785126af]:last-child{border-bottom:none}.feature-list li[data-v-785126af]:before{content:"✓";position:absolute;left:0;color:#1a1a1a;font-weight:700;background:#f8f9fa;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem}.challenge-list li[data-v-785126af]:before{content:"⚡";position:absolute;left:0;font-size:1rem}.tech-stack[data-v-785126af]{display:flex;flex-wrap:wrap;gap:.75rem}.tech-badge[data-v-785126af]{padding:.5rem 1rem;background:#1a1a1a;color:#fff;border-radius:20px;font-size:.9rem;font-weight:500}.modal-actions[data-v-785126af]{display:flex;gap:1rem;justify-content:center;padding-top:2rem;border-top:1px solid #eee}.action-btn[data-v-785126af]{display:flex;align-items:center;gap:.5rem;padding:1rem 2rem;text-decoration:none;border-radius:12px;font-weight:600;font-size:1rem;transition:all .3s ease;min-width:150px;justify-content:center}.github-btn[data-v-785126af]{background:#1a1a1a;color:#fff}.github-btn[data-v-785126af]:hover{background:#333;transform:translateY(-2px)}.demo-btn[data-v-785126af]{background:#666;color:#fff}.demo-btn[data-v-785126af]:hover{background:#333;transform:translateY(-2px)}.markdown-section[data-v-785126af]{margin-top:3rem;padding-top:3rem}.section-divider[data-v-785126af]{text-align:center;margin-bottom:2rem;position:relative}.section-divider[data-v-785126af]:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#eee,transparent);z-index:1}.section-divider h3[data-v-785126af]{background:#fff;padding:0 2rem;color:#1a1a1a;font-size:1.3rem;font-weight:600;position:relative;z-index:2;display:inline-block}.markdown-content[data-v-785126af]{line-height:1.8;color:#444;font-size:.95rem;white-space:pre-wrap;word-wrap:break-word}.markdown-content h1[data-v-785126af]{font-size:2rem;color:#1a1a1a;margin:2rem 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #eee}.markdown-content h2[data-v-785126af]{font-size:1.5rem;color:#1a1a1a;margin:1.5rem 0 1rem;padding-left:1rem;border-left:4px solid #1a1a1a}.markdown-content h3[data-v-785126af]{font-size:1.2rem;color:#333;margin:1.2rem 0 .8rem}.markdown-content p[data-v-785126af]{margin:1rem 0;line-height:1.7;white-space:pre-wrap}.markdown-content br[data-v-785126af]{display:block;content:"";margin:.5rem 0}.markdown-content ul[data-v-785126af],.markdown-content ol[data-v-785126af]{margin:1rem 0;padding-left:2rem}.markdown-content li[data-v-785126af]{margin:.5rem 0}.markdown-content blockquote[data-v-785126af]{margin:1.5rem 0;padding:1rem 1.5rem;background:#f8f9fa;border-left:4px solid #1a1a1a;border-radius:0 8px 8px 0;font-style:italic;color:#555}.markdown-content code[data-v-785126af]{background:#f1f3f4;padding:.2rem .4rem;border-radius:4px;font-family:Monaco,Consolas,monospace;font-size:.9em;color:#d73a49}.markdown-content pre[data-v-785126af]{background:#1a1a1a;color:#f8f8f2;padding:1.5rem;border-radius:8px;overflow-x:auto;margin:1.5rem 0;font-family:Monaco,Consolas,monospace;line-height:1.5}.markdown-content pre code[data-v-785126af]{background:none;padding:0;color:inherit;font-size:.9rem}.markdown-content table[data-v-785126af]{width:100%;border-collapse:collapse;margin:1.5rem 0;border:1px solid #ddd;border-radius:8px;overflow:hidden}.markdown-content th[data-v-785126af],.markdown-content td[data-v-785126af]{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #ddd}.markdown-content th[data-v-785126af]{background:#f8f9fa;font-weight:600;color:#1a1a1a}.markdown-content tr[data-v-785126af]:hover{background:#f8f9fa}.markdown-content strong[data-v-785126af]{font-weight:700;color:#1a1a1a}.markdown-content em[data-v-785126af]{font-style:italic;color:#666}.markdown-content hr[data-v-785126af]{margin:2rem 0;border:none;height:1px;background:linear-gradient(90deg,transparent,#ddd,transparent)}.markdown-content input[type=checkbox][data-v-785126af]{margin-right:.5rem;transform:scale(1.1)}@media (max-width: 768px){.projects-grid[data-v-785126af]{grid-template-columns:1fr;gap:1.5rem}.project-content[data-v-785126af]{padding:1.5rem}.projects-filter[data-v-785126af]{gap:.5rem}.filter-btn[data-v-785126af]{padding:.5rem 1rem;font-size:.9rem}.project-links[data-v-785126af]{flex-direction:column;gap:.5rem}.project-link[data-v-785126af]{padding:.5rem 1rem;font-size:.9rem}.modal-overlay[data-v-785126af]{padding:1rem}.modal-header[data-v-785126af]{padding:1.5rem 1.5rem 1rem;flex-direction:column;gap:1rem;align-items:flex-start}.project-title-section[data-v-785126af]{flex-direction:column;text-align:center;gap:1rem}.close-btn[data-v-785126af]{align-self:flex-end}.modal-body[data-v-785126af]{padding:1.5rem}.modal-title[data-v-785126af]{font-size:1.5rem}.project-meta[data-v-785126af]{grid-template-columns:1fr}.modal-actions[data-v-785126af]{flex-direction:column}.action-btn[data-v-785126af]{width:100%}}@media (max-width: 480px){.projects-filter[data-v-785126af]{flex-direction:column;align-items:center}.project-image[data-v-785126af]{height:150px}.project-emoji[data-v-785126af]{font-size:3rem}.project-stats[data-v-785126af]{justify-content:space-between}}.experience-section[data-v-54b0d4ce]{background:#f8f9fa}.experience-content[data-v-54b0d4ce]{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-bottom:4rem}.column-title[data-v-54b0d4ce]{display:flex;align-items:center;gap:1rem;font-size:1.5rem;font-weight:600;color:#2c3e50;margin-bottom:3rem}.title-icon[data-v-54b0d4ce]{font-size:2rem}.timeline[data-v-54b0d4ce]{position:relative}.timeline[data-v-54b0d4ce]:before{content:"";position:absolute;left:15px;top:0;bottom:0;width:2px;background:#333}.timeline-item[data-v-54b0d4ce]{position:relative;margin-bottom:3rem;padding-left:3rem}.timeline-marker[data-v-54b0d4ce]{position:absolute;left:-5px;top:0;width:12px;height:12px;border-radius:50%;background:#1a1a1a;border:3px solid white;box-shadow:0 0 0 3px #f8f9fa}.timeline-content[data-v-54b0d4ce]{background:#fff;padding:2rem;border-radius:15px;box-shadow:0 5px 20px #0000001a;transition:transform .3s ease}.timeline-content[data-v-54b0d4ce]:hover{transform:translateY(-5px)}.timeline-header[data-v-54b0d4ce]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.position[data-v-54b0d4ce]{font-size:1.2rem;font-weight:600;color:#1a1a1a;margin:0}.period[data-v-54b0d4ce]{padding:.25rem .75rem;background:#1a1a1a;color:#fff;border-radius:15px;font-size:.8rem;font-weight:500}.company[data-v-54b0d4ce]{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.company-name[data-v-54b0d4ce]{font-weight:600;color:#333;font-size:1rem}.company-type[data-v-54b0d4ce]{padding:.25rem .75rem;background:#f8f9fa;color:#333;border-radius:12px;font-size:.8rem;font-weight:500}.achievements[data-v-54b0d4ce]{list-style:none;padding:0;margin:0 0 1.5rem}.achievements li[data-v-54b0d4ce]{position:relative;padding-left:1.5rem;margin-bottom:.5rem;color:#666;line-height:1.6}.achievements li[data-v-54b0d4ce]:before{content:"✓";position:absolute;left:0;color:#333;font-weight:700}.skills-used[data-v-54b0d4ce]{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag[data-v-54b0d4ce]{padding:.25rem .75rem;background:#f8f9fa;color:#666;border-radius:12px;font-size:.8rem;font-weight:500}.certifications-awards[data-v-54b0d4ce]{background:#fff;padding:3rem;border-radius:20px;box-shadow:0 10px 30px #0000001a}.section-subtitle[data-v-54b0d4ce]{display:flex;align-items:center;gap:1rem;font-size:1.5rem;font-weight:600;color:#1a1a1a;margin-bottom:2rem;text-align:center;justify-content:center}.subtitle-icon[data-v-54b0d4ce]{font-size:2rem}.cert-grid[data-v-54b0d4ce]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.cert-item[data-v-54b0d4ce]{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#f8f9fa;border-radius:12px;transition:all .3s ease}.cert-item[data-v-54b0d4ce]:hover{transform:translateY(-3px);box-shadow:0 10px 25px #0000001a}.cert-icon[data-v-54b0d4ce]{font-size:2.5rem;flex-shrink:0}.cert-content[data-v-54b0d4ce]{flex:1}.cert-name[data-v-54b0d4ce]{font-size:1rem;font-weight:600;color:#1a1a1a;margin:0 0 .25rem}.cert-issuer[data-v-54b0d4ce]{color:#666;font-size:.9rem;margin:0 0 .5rem}.cert-date[data-v-54b0d4ce]{color:#333;font-size:.8rem;font-weight:500}.loading-state[data-v-54b0d4ce],.error-state[data-v-54b0d4ce]{text-align:center;padding:4rem 2rem}.loading-spinner[data-v-54b0d4ce],.error-icon[data-v-54b0d4ce]{font-size:3rem;margin-bottom:1rem}.loading-state p[data-v-54b0d4ce],.error-state p[data-v-54b0d4ce]{font-size:1.2rem;color:#666;margin-bottom:1rem}.retry-btn[data-v-54b0d4ce]{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:25px;font-weight:600;cursor:pointer;transition:all .3s ease}.retry-btn[data-v-54b0d4ce]:hover{transform:translateY(-2px);box-shadow:0 10px 25px #667eea4d}@media (max-width: 1024px){.experience-content[data-v-54b0d4ce]{grid-template-columns:1fr;gap:3rem}}@media (max-width: 768px){.timeline-content[data-v-54b0d4ce]{padding:1.5rem}.timeline-header[data-v-54b0d4ce]{flex-direction:column;align-items:flex-start}.company[data-v-54b0d4ce]{flex-direction:column;align-items:flex-start;gap:.5rem}.cert-grid[data-v-54b0d4ce]{grid-template-columns:1fr}.cert-item[data-v-54b0d4ce]{padding:1rem}.certifications-awards[data-v-54b0d4ce]{padding:2rem}}@media (max-width: 480px){.timeline-item[data-v-54b0d4ce]{padding-left:2rem}.timeline[data-v-54b0d4ce]:before{left:10px}.timeline-marker[data-v-54b0d4ce]{left:4px;width:10px;height:10px}.position[data-v-54b0d4ce]{font-size:1.1rem}.cert-item[data-v-54b0d4ce]{flex-direction:column;text-align:center;gap:.5rem}}.contact[data-v-7df35891]{background:#1a1a1a;color:#fff;padding:80px 0}.white-text[data-v-7df35891]{color:#fff}.white-text[data-v-7df35891]:after{background:#ffffff4d}.contact-content[data-v-7df35891]{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.contact-info h3[data-v-7df35891]{font-size:2rem;color:#fff;margin-bottom:1.5rem;font-weight:600}.contact-info p[data-v-7df35891]{font-size:1.1rem;color:#ffffffe6;line-height:1.6;margin-bottom:3rem}.contact-methods[data-v-7df35891]{display:flex;flex-direction:column;gap:1.5rem}.contact-method[data-v-7df35891]{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;text-decoration:none;color:#fff;transition:all .3s ease;border:1px solid rgba(255,255,255,.1)}.contact-method[data-v-7df35891]:hover{background:#ffffff1a;transform:translateY(-3px)}.contact-icon[data-v-7df35891]{font-size:2.5rem;flex-shrink:0}.contact-details h4[data-v-7df35891]{font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.contact-details p[data-v-7df35891]{font-size:.9rem;opacity:.8;margin:0}.contact-form[data-v-7df35891]{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:3rem;border-radius:20px;border:1px solid rgba(255,255,255,.1)}.form-group[data-v-7df35891]{margin-bottom:2rem}.form-group label[data-v-7df35891]{display:block;color:#fff;font-weight:500;margin-bottom:.5rem;font-size:1rem}.form-group input[data-v-7df35891],.form-group textarea[data-v-7df35891]{width:100%;padding:1rem;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:#ffffff0d;color:#fff;font-size:1rem;transition:all .3s ease}.form-group input[data-v-7df35891]::placeholder,.form-group textarea[data-v-7df35891]::placeholder{color:#fff6}.form-group input[data-v-7df35891]:focus,.form-group textarea[data-v-7df35891]:focus{outline:none;border-color:#fff6;background:#ffffff14}.submit-btn[data-v-7df35891]{width:100%;padding:1rem 2rem;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);color:#fff;border-radius:15px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.submit-btn[data-v-7df35891]:hover:not(:disabled){background:#fff3;border-color:#ffffff4d;transform:translateY(-2px)}.submit-btn[data-v-7df35891]:disabled{opacity:.7;cursor:not-allowed}.submit-message[data-v-7df35891]{margin-top:1rem;padding:1rem;border-radius:10px;text-align:center;font-weight:500}.submit-message.success[data-v-7df35891]{background:#4caf5033;border:1px solid rgba(76,175,80,.3);color:#4caf50}.submit-message.error[data-v-7df35891]{background:#f4433633;border:1px solid rgba(244,67,54,.3);color:#f44336}@media (max-width: 768px){.contact-content[data-v-7df35891]{grid-template-columns:1fr;gap:3rem}.contact-form[data-v-7df35891]{padding:2rem}}.footer[data-v-cecb5cd3]{background:#1a1a1a;color:#fff;padding:3rem 0 1rem}.footer-content[data-v-cecb5cd3]{display:grid;grid-template-columns:2fr 3fr;gap:4rem;margin-bottom:3rem}.footer-info[data-v-cecb5cd3]{display:flex;flex-direction:column;gap:1.5rem}.footer-logo[data-v-cecb5cd3]{font-size:2rem;font-weight:700;color:#f5f5f5;margin:0}.footer-description[data-v-cecb5cd3]{color:#fffc;line-height:1.6;font-size:1rem;margin:0}.social-links[data-v-cecb5cd3]{display:flex;gap:1rem}.social-link[data-v-cecb5cd3]{display:flex;align-items:center;justify-content:center;width:50px;height:50px;background:#ffffff1a;border-radius:50%;text-decoration:none;transition:all .3s ease;border:1px solid rgba(255,255,255,.2)}.social-link[data-v-cecb5cd3]:hover{background:#fff3;transform:translateY(-3px)}.social-icon[data-v-cecb5cd3]{font-size:1.5rem}.footer-links[data-v-cecb5cd3]{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.link-column h4[data-v-cecb5cd3]{font-size:1.2rem;font-weight:600;margin-bottom:1.5rem;color:#fff}.link-column ul[data-v-cecb5cd3]{list-style:none;padding:0;margin:0}.link-column li[data-v-cecb5cd3]{margin-bottom:.75rem}.link-column a[data-v-cecb5cd3]{color:#fffc;text-decoration:none;transition:color .3s ease;font-size:.95rem}.link-column a[data-v-cecb5cd3]:hover{color:#ccc}.footer-bottom[data-v-cecb5cd3]{border-top:1px solid rgba(255,255,255,.1);padding-top:2rem}.footer-bottom-content[data-v-cecb5cd3]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.copyright[data-v-cecb5cd3],.made-with[data-v-cecb5cd3]{color:#fff9;font-size:.9rem;margin:0}.made-with[data-v-cecb5cd3]{display:flex;align-items:center;gap:.5rem}@media (max-width: 1024px){.footer-content[data-v-cecb5cd3]{grid-template-columns:1fr;gap:3rem}.footer-links[data-v-cecb5cd3]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.footer[data-v-cecb5cd3]{padding:2rem 0 1rem}.footer-content[data-v-cecb5cd3]{gap:2rem;margin-bottom:2rem}.footer-links[data-v-cecb5cd3]{grid-template-columns:1fr;gap:1.5rem}.footer-bottom-content[data-v-cecb5cd3]{flex-direction:column;text-align:center;gap:.5rem}.social-links[data-v-cecb5cd3]{justify-content:center}}@media (max-width: 480px){.footer-info[data-v-cecb5cd3]{text-align:center}.footer-logo[data-v-cecb5cd3]{font-size:1.5rem}.social-link[data-v-cecb5cd3]{width:45px;height:45px}.social-icon[data-v-cecb5cd3]{font-size:1.25rem}.link-column[data-v-cecb5cd3]{text-align:center}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:#333;background-color:#fff}#app{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.section{padding:80px 0}.container{max-width:1200px;margin:0 auto;padding:0 20px}.section-title{font-size:3rem;font-weight:700;text-align:center;margin-bottom:4rem;color:#1a1a1a;position:relative}.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:4px;background:#333;border-radius:2px}.btn{display:inline-block;padding:12px 30px;border:none;border-radius:30px;font-weight:600;text-decoration:none;transition:all .3s ease;cursor:pointer;font-size:1rem}.btn-primary{background:#1a1a1a;color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0000004d;background:#333}.btn-outline{border:2px solid #1a1a1a;color:#1a1a1a;background:transparent}.btn-outline:hover{background:#1a1a1a;color:#fff;transform:translateY(-2px)}.gradient-bg{background:#1a1a1a}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .8s ease-out}@media (max-width: 768px){.section{padding:60px 0}.section-title{font-size:2.5rem;margin-bottom:3rem}.container{padding:0 15px}}
