@charset "UTF-8";: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: #181818;--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:#111827;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{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}}.image-container[data-v-8b968df7]{max-width:250px;border-radius:12px}.image-container img[data-v-8b968df7]{display:block;width:100%;height:auto;max-width:240px;border-radius:12px;overflow:hidden}.background-main[data-v-3eed64e1]{padding:20px;background:#fff;border-radius:8px;box-shadow:0 4px 8px #00000014}.project-showcase[data-v-3eed64e1]{margin:25px 0;padding:20px;background:white;border-radius:14px;box-shadow:0 8px 20px #0000000d}.project-links[data-v-3eed64e1]{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px}.project-link[data-v-3eed64e1]{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:10px;text-decoration:none;font-weight:500;transition:all .2s ease}.project-link[data-v-3eed64e1] .link-icon[data-v-3eed64e1]{font-size:1.2rem}.project-link[data-v-3eed64e1].live[data-v-3eed64e1]{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.project-link[data-v-3eed64e1].live[data-v-3eed64e1][data-v-3eed64e1]:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.project-link[data-v-3eed64e1].code[data-v-3eed64e1]{background:#f1f5f9;color:#2563eb;border:1px solid #e1e5e9}.project-link[data-v-3eed64e1].code[data-v-3eed64e1][data-v-3eed64e1]:hover{background:#e0e7ff;transform:translateY(-2px)}.demo-note[data-v-3eed64e1]{color:#666;font-style:italic;margin-top:10px;padding-top:10px;border-top:1px dashed #e1e5e9}.background-main[data-v-05d195f4],.background-main[data-v-b402272a],.background-main[data-v-d9178b50],.background-main[data-v-2df700b1],.background-main[data-v-aa4624c3]{padding:20px;background:#fff;border-radius:8px;box-shadow:0 4px 8px #00000014}.contact-item[data-v-aa4624c3]{margin-bottom:16px}a[data-v-aa4624c3]{color:#3498db;text-decoration:none}a[data-v-aa4624c3]:hover{text-decoration:underline}.slide-fade-enter-active[data-v-cba8d1d4],.slide-fade-leave-active[data-v-cba8d1d4]{transition:all .35s ease}.slide-fade-enter-from[data-v-cba8d1d4]{opacity:0;transform:translate(20px)}.slide-fade-leave-to[data-v-cba8d1d4]{opacity:0;transform:translate(-20px)}.profile-section{display:flex}@media (max-width: 768px){.profile-section{flex-direction:column}}.text-cards{width:100%}.slider-container{display:flex;align-items:center}.slider-container button{margin:0 10px;cursor:pointer;font-size:1.5em}.slider-container .slide-number{font-size:1.2em;color:#7fffd4}.profile-page .image-container{max-width:100%;margin-right:20px}.profile-page .profile-content{display:flex;flex-direction:column;justify-content:center}@media (max-width: 768px){.profile-page{flex-direction:column}}.pdf-modal{position:fixed;top:0;left:0;width:100%;height:100%;padding:10px;background:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{width:90%;max-width:1200px;max-height:95vh;position:relative;overflow:auto}.modal-content iframe{width:100%;height:95vh;border:none}@media (max-width: 768px){.pdf-modal{width:100%;height:100%;padding:10px}.modal-content{width:100%;height:90vh}}.experiences-page{display:flex;gap:32px;padding:24px;background:#f6f7f9}.experience-card{flex:1}.experience-header{margin-bottom:24px}.experience-header h1{font-size:2rem;margin-bottom:4px}.experience-header h2{font-size:1.4rem;margin-bottom:6px}.experience-header .company,.experience-header .location{color:#666}.experience-header .duration{font-weight:700;margin:6px 0}.card{background:#fff;border-radius:14px;padding:20px;margin-bottom:20px;box-shadow:0 10px 25px #0000000f}.responsibilities{padding-left:18px}.responsibilities li{margin-bottom:6px;line-height:1.5}.pdf-entry{display:block;padding:10px 14px;border-radius:10px;background:#f1f5f9;margin-bottom:8px;cursor:pointer;color:#2563eb}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.skill-card{background:#fff;border-radius:14px;padding:18px;box-shadow:0 8px 20px #0000000d}.skill-card h4{margin-bottom:6px}.skill-card p{color:#666;line-height:1.5}.image-container{flex:0 0 clamp(160px,20vw,260px)}@media (max-width: 768px){.experiences-page{flex-direction:column}.image-container{margin:0 auto}}.contact-section[data-v-c7f33cac]{max-width:800px;margin:0 auto;padding:60px 20px;text-align:center}h2[data-v-c7f33cac]{font-size:2rem;margin-bottom:10px}.intro[data-v-c7f33cac]{color:#666;margin-bottom:40px}.contact-grid[data-v-c7f33cac]{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.contact-card[data-v-c7f33cac]{display:flex;align-items:center;gap:16px;padding:20px;background:#f9f9f9;border-radius:14px;text-decoration:none;color:inherit;box-shadow:0 6px 20px #0000000f;transition:transform .2s ease,box-shadow .2s ease}.contact-card[data-v-c7f33cac]:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0000001a}.contact-card.wide[data-v-c7f33cac]{grid-column:span 2}.icon[data-v-c7f33cac]{font-size:1.8rem}h3[data-v-c7f33cac]{margin:0;font-size:1rem;color:#333}p[data-v-c7f33cac]{margin:4px 0 0;color:#555}@media (max-width: 640px){.contact-section[data-v-c7f33cac]{padding:40px 16px}.contact-card[data-v-c7f33cac]{padding:18px}}@media (max-width: 640px){.contact-grid[data-v-c7f33cac]{grid-template-columns:1fr}.contact-card.wide[data-v-c7f33cac]{grid-column:span 1}}.contact-page{display:flex;justify-content:flex-start;align-items:flex-start;gap:20px;padding:20px;background-color:#f8f8f8}.contact-page .contact-info{flex:1 1 auto;min-width:0}.contact-page>.image-container{flex:0 0 clamp(160px,20vw,280px);align-self:flex-start}@media (max-width: 768px){.contact-page{flex-direction:column}.contact-page>.image-container{width:clamp(160px,40vw,240px);margin:20px auto 0}}.projects-wrapper[data-v-e1c8d6b8]{width:100%;padding:32px;background:#f8f9fa}.projects-container[data-v-e1c8d6b8]{max-width:1400px;margin:0 auto;width:100%}.section-header[data-v-e1c8d6b8]{margin-bottom:32px}.section-header .section-title[data-v-e1c8d6b8]{font-size:2.2rem;font-weight:700;color:#333;margin-bottom:12px}.section-header .title-accent[data-v-e1c8d6b8]{width:80px;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px}.projects-grid[data-v-e1c8d6b8]{display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:start}.project-info[data-v-e1c8d6b8]{background:white;border-radius:24px;padding:32px;box-shadow:0 10px 30px #0000000d}.project-name[data-v-e1c8d6b8]{font-size:2rem;font-weight:700;color:#333;margin-bottom:8px}.project-tagline[data-v-e1c8d6b8]{font-size:1.2rem;color:#667eea;margin-bottom:24px;font-weight:500}.project-description[data-v-e1c8d6b8]{font-size:1.1rem;line-height:1.7;color:#555;margin-bottom:32px;max-width:800px}.features-grid[data-v-e1c8d6b8]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:40px}.feature-item[data-v-e1c8d6b8]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f8faff;border-radius:12px;border:1px solid #eaeef2}.feature-item .feature-icon[data-v-e1c8d6b8]{color:#667eea;font-weight:700;font-size:1.2rem}.feature-item span[data-v-e1c8d6b8]:last-child{font-size:.95rem;color:#444}.links-section .links-title[data-v-e1c8d6b8]{font-size:1.3rem;font-weight:600;color:#333;margin-bottom:20px}.links-grid[data-v-e1c8d6b8]{display:flex;flex-direction:column;gap:12px}.link-card[data-v-e1c8d6b8]{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#f8faff;border:1px solid #eaeef2;border-radius:14px;text-decoration:none;transition:all .2s ease;cursor:pointer}.link-card .link-icon[data-v-e1c8d6b8]{font-size:1.5rem}.link-card .link-text[data-v-e1c8d6b8]{flex:1;font-weight:500;color:#333}.link-card .link-tech[data-v-e1c8d6b8]{font-size:.85rem;color:#667eea;background:white;padding:4px 10px;border-radius:20px;border:1px solid #eaeef2}.link-card .link-arrow[data-v-e1c8d6b8]{color:#667eea;font-size:1.2rem;opacity:0;transition:opacity .2s ease}.link-card[data-v-e1c8d6b8]:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 8px 20px #667eea26}.link-card:hover .link-arrow[data-v-e1c8d6b8]{opacity:1}.link-card.primary[data-v-e1c8d6b8]{background:linear-gradient(135deg,#667eea,#764ba2);border:none}.link-card.primary .link-text[data-v-e1c8d6b8]{color:#fff}.link-card.primary .link-arrow[data-v-e1c8d6b8]{color:#fff;opacity:1}.link-card.primary[data-v-e1c8d6b8]:hover{transform:translateY(-3px);box-shadow:0 12px 28px #667eea66}.project-meta[data-v-e1c8d6b8]{display:flex;flex-direction:column;gap:24px}.meta-title[data-v-e1c8d6b8]{font-size:1.1rem;font-weight:600;color:#333;margin-bottom:16px;text-transform:uppercase;letter-spacing:.5px}.tech-cloud[data-v-e1c8d6b8]{display:flex;flex-wrap:wrap;gap:8px}.tech-badge[data-v-e1c8d6b8]{padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:500;transition:transform .2s ease}.tech-badge[data-v-e1c8d6b8]:hover{transform:translateY(-2px)}.tech-badge.frontend[data-v-e1c8d6b8]{background:#e0f2fe;color:#0369a1}.tech-badge.backend[data-v-e1c8d6b8]{background:#ede9fe;color:#5b21b6}.tech-badge.database[data-v-e1c8d6b8]{background:#dcfce7;color:#166534}.tech-badge.email[data-v-e1c8d6b8]{background:#fef9c3;color:#854d0e}.tech-badge.hosting[data-v-e1c8d6b8]{background:#ffe4e6;color:#9f1239}.tech-badge.devops[data-v-e1c8d6b8]{background:#f1f5f9;color:#334155}.project-note[data-v-e1c8d6b8]{display:flex;align-items:center;gap:12px;padding:16px;background:#f0f7ff;border-radius:12px;border-left:4px solid #667eea}.project-note .note-icon[data-v-e1c8d6b8]{font-size:1.2rem}.project-note p[data-v-e1c8d6b8]{color:#667eea;font-weight:500;margin:0;font-size:.95rem}.profile-image[data-v-e1c8d6b8]{width:100%;border-radius:16px;overflow:hidden;box-shadow:0 8px 20px #0000001a}@media (max-width: 1024px){.projects-grid[data-v-e1c8d6b8]{grid-template-columns:1fr 280px;gap:24px}}@media (max-width: 768px){.projects-wrapper[data-v-e1c8d6b8]{padding:20px}.projects-grid[data-v-e1c8d6b8],.features-grid[data-v-e1c8d6b8]{grid-template-columns:1fr}.project-meta[data-v-e1c8d6b8]{order:-1}.profile-image[data-v-e1c8d6b8]{max-width:200px;margin:0 auto}}.top-bar[data-v-ab910343]{display:flex;flex-direction:column;align-items:flex-start;background-color:#333;color:#fff;padding:10px 20px}.top-bar .title[data-v-ab910343]{font-size:24px;font-weight:700}.top-bar .menu[data-v-ab910343]{display:flex;flex-direction:column;align-items:flex-start}.top-bar .menu-item[data-v-ab910343]{margin:10px 10px 10px 0;color:#f2f2f2;text-decoration:none;font-size:16px;transition:color .3s;cursor:pointer}.top-bar .download-cv[data-v-ab910343]{margin-top:10px}@media (max-width: 767px){.download-cv[data-v-ab910343]{position:relative;width:100%;margin-top:15px}.download-cv .dropdown-content[data-v-ab910343]{position:static;display:flex;flex-direction:column;width:100%;margin-top:5px}.download-cv .dropdown-content a[data-v-ab910343]{padding:12px;text-align:center;background-color:#444;margin-bottom:5px;border-radius:4px}}@media (min-width: 768px){.download-cv[data-v-ab910343]{margin-left:auto}.download-cv .dropdown-content[data-v-ab910343]{display:none;position:absolute}.download-cv:hover .dropdown-content[data-v-ab910343]{display:flex}.top-bar[data-v-ab910343]{flex-direction:row;align-items:center;justify-content:space-between}.top-bar .menu[data-v-ab910343]{flex-direction:row;align-items:center;margin-left:20px;flex-grow:1}.top-bar .menu-item[data-v-ab910343]{margin:0 15px 0 0}.top-bar .download-cv[data-v-ab910343]{margin-left:auto;margin-top:0;position:relative}.menu-item.dropdown[data-v-ab910343]{position:relative;cursor:pointer;color:#f2f2f2}.dropdown-content[data-v-ab910343]{display:none;position:absolute;top:100%;left:0;background-color:#444;min-width:160px;flex-direction:column;border-radius:4px;z-index:1000}.menu-item.dropdown:hover .dropdown-content[data-v-ab910343]{display:flex}.dropdown-content a[data-v-ab910343]{color:#f2f2f2;padding:10px;text-decoration:none;display:block}.dropdown-content a[data-v-ab910343]:hover{background-color:#555}}.dropdown-group[data-v-ab910343]{padding:6px 0;border-top:1px solid #e6e6e6}.dropdown-group[data-v-ab910343]:first-child{border-top:none}.dropdown-title[data-v-ab910343]{font-weight:600;font-size:.9rem;opacity:.8;padding:4px 10px}@media (min-width: 768px){.dropdown-content[data-v-ab910343]{display:none;position:absolute;top:100%;right:0;left:auto;min-width:300px;max-width:90vw;background-color:#444;border-radius:4px;z-index:1000;flex-direction:column;box-shadow:0 4px 12px #0000004d;overflow:hidden}.dropdown-group[data-v-ab910343]{padding:8px 0;border-top:1px solid #555}.dropdown-group[data-v-ab910343]:first-child{border-top:none}.dropdown-title[data-v-ab910343]{font-weight:600;font-size:.9rem;opacity:.8;padding:6px 12px;white-space:nowrap}.dropdown-content a[data-v-ab910343]{color:#f2f2f2;padding:8px 12px;text-decoration:none;display:block;white-space:nowrap;transition:background-color .2s}.dropdown-content a[data-v-ab910343]:hover{background-color:#555}.download-cv[data-v-ab910343]{position:relative;margin-left:auto}}@media (max-width: 767px){.dropdown-content[data-v-ab910343]{position:static;display:flex;flex-direction:column;width:100%;margin-top:5px;background-color:#444;border-radius:4px;overflow:hidden}.dropdown-group[data-v-ab910343]{padding:10px 0;border-top:1px solid #555}.dropdown-group[data-v-ab910343]:first-child{border-top:none}.dropdown-title[data-v-ab910343]{font-weight:600;font-size:.9rem;opacity:.8;padding:8px 16px}.dropdown-content a[data-v-ab910343]{padding:12px 16px;text-align:left;background-color:#444;margin-bottom:0;border-radius:0;color:#f2f2f2;text-decoration:none;border-bottom:1px solid #555}.dropdown-content a[data-v-ab910343]:last-child{border-bottom:none}.dropdown-content a[data-v-ab910343]:hover{background-color:#555}}.non-interactive[data-v-ab910343]{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none;-webkit-touch-callout:none;pointer-events:auto;cursor:default}.total-view{overflow:hidden}.router-view{max-width:100%}
