@charset "UTF-8";.svg-icon[data-v-6e14d5ff]{display:inline-flex;align-items:center;justify-content:center}.svg-icon[data-v-6e14d5ff] svg{width:100%;height:100%;display:block}.download-btn[data-v-1c2bb8d0]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;border:1px solid var(--border);background:var(--card-bg);color:var(--muted);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.download-btn[data-v-1c2bb8d0] .svg-icon{width:18px;height:18px;opacity:.8}.download-btn[data-v-1c2bb8d0]:hover{background:var(--primary);border-color:var(--primary);color:#fff}.download-btn[data-v-1c2bb8d0]:hover .svg-icon{opacity:1}@media(max-width:768px){.nav-label[data-v-1c2bb8d0]{display:none}.download-btn[data-v-1c2bb8d0]{padding:.5rem}}.theme-settings[data-v-bf0e0e3b]{position:relative;display:flex;flex-direction:column;gap:.5rem;font-size:.875rem}.theme-control[data-v-bf0e0e3b]{display:flex;align-items:center;gap:0}.theme-label[data-v-bf0e0e3b]{margin:0;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;opacity:.9;transition:opacity .2s}.theme-label[data-v-bf0e0e3b]:hover{opacity:1}.settings-btn[data-v-bf0e0e3b]{width:24px;height:24px;padding:0;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;opacity:.6;color:var(--text)}.settings-btn[data-v-bf0e0e3b] .svg-icon{width:16px;height:16px}.settings-btn[data-v-bf0e0e3b]:hover{opacity:1;background:#0000000d}.settings-btn.active[data-v-bf0e0e3b]{opacity:1;background:#667eea1a;color:#667eea}.settings-btn.highlight[data-v-bf0e0e3b]{opacity:1;color:#667eea}.dropdown[data-v-bf0e0e3b]{position:absolute;top:100%;right:0;margin-top:.5rem;padding:.75rem;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px var(--shadow);z-index:10;min-width:200px}.system-settings[data-v-bf0e0e3b]{display:flex;align-items:center;gap:.5rem}.system-settings input[type=checkbox][data-v-bf0e0e3b]{width:16px;height:16px;cursor:pointer;margin:0;flex-shrink:0}.system-settings label[data-v-bf0e0e3b]{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:.875rem}.switch[data-v-bf0e0e3b]{position:relative;display:inline-block;width:60px;height:28px}.switch input[data-v-bf0e0e3b]{opacity:0;width:0;height:0}.slider[data-v-bf0e0e3b]{position:absolute;cursor:pointer;inset:0;background-color:#e2e8f0;transition:.3s;border-radius:28px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;gap:8px}.slider .icon-sun[data-v-bf0e0e3b],.slider .icon-moon[data-v-bf0e0e3b]{transition:all .3s}.slider .icon-sun[data-v-bf0e0e3b] .svg-icon,.slider .icon-moon[data-v-bf0e0e3b] .svg-icon{width:14px;height:14px}.slider .icon-sun[data-v-bf0e0e3b]{color:#f59e0b;opacity:1}.slider .icon-moon[data-v-bf0e0e3b]{color:#8b5cf6;opacity:.3}input:not(:checked)+.slider:hover .icon-moon[data-v-bf0e0e3b]{opacity:.9;color:#fbbf24!important}input:not(:disabled):not(:checked)+.slider:hover .icon-moon[data-v-bf0e0e3b]{opacity:.9;color:#fbbf24!important}input:checked+.slider .icon-sun[data-v-bf0e0e3b]{opacity:.3}input:checked+.slider .icon-moon[data-v-bf0e0e3b]{opacity:1}input:not(:disabled):checked+.slider:hover .icon-sun[data-v-bf0e0e3b]{opacity:.9;color:#fbbf24!important}input:checked+.slider[data-v-bf0e0e3b]{background-color:#1e293b}input:disabled+.slider[data-v-bf0e0e3b]{opacity:.5;cursor:not-allowed}.app-header[data-v-69aa4783]{background:color-mix(in srgb,var(--card-bg) 70%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:16px;padding:.5rem 1rem;box-shadow:0 1px 3px #00000014,0 4px 12px #0000001f,inset 0 0 0 1px #ffffff1a;border:1px solid rgba(0,0,0,.12)}.header-content[data-v-69aa4783]{display:flex;align-items:center;justify-content:space-between;max-width:100%}.header-controls[data-v-69aa4783]{display:flex;align-items:center;gap:1rem}.nav-icons[data-v-69aa4783]{display:flex;gap:.5rem}.nav-item[data-v-69aa4783]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;text-decoration:none;color:#4a5568;font-size:.875rem;font-weight:500;transition:all .2s ease;background:transparent}.nav-item[data-v-69aa4783] .svg-icon{width:18px;height:18px;opacity:.7}.nav-item .nav-label[data-v-69aa4783]{opacity:.8}.nav-item[data-v-69aa4783]:hover{background:#667eea1a;color:#667eea}.nav-item[data-v-69aa4783]:hover .svg-icon,.nav-item:hover .nav-label[data-v-69aa4783]{opacity:1}.nav-item.router-link-active[data-v-69aa4783]{background:#667eea26;color:#667eea}.nav-item.router-link-active[data-v-69aa4783] .svg-icon,.nav-item.router-link-active .nav-label[data-v-69aa4783]{opacity:1}@media(max-width:768px){.nav-label[data-v-69aa4783]{display:none}.nav-item[data-v-69aa4783]{padding:.5rem}}.avatar[data-v-2ea37c4e]{width:var(--avatar-size, 120px);height:var(--avatar-size, 120px);border-radius:50%;background:var(--avatar-bg, #667eea);background-size:cover;background-position:0 -10px;background-repeat:no-repeat;margin:var(--avatar-margin, 0);display:flex;align-items:center;justify-content:center;font-size:var(--avatar-font-size, 48px);font-weight:700;color:#fff;box-shadow:none;-webkit-user-select:none;user-select:none;pointer-events:none}.avatar.is-fallback[data-v-2ea37c4e]{box-shadow:0 10px 30px #667eea66}.avatar[data-v-2ea37c4e]:not(.is-fallback){box-shadow:var(--avatar-photo-shadow)}span[data-v-2ea37c4e]{display:block}.white[data-v-88219eec]{--bg: #f8f9fa;--text: #1a202c;--muted: #5f6b7a;--primary: #646cff;--card-bg: #ffffff;--border: rgba(0, 0, 0, .08);--shadow: rgba(0, 0, 0, .1);--sidebar-bg: #eef1f5;--sidebar-text: #2d3748;--avatar-photo-shadow: 0 0 24px rgba(255, 255, 255, .55), 0 0 48px rgba(255, 255, 255, .35), 0 12px 28px rgba(0, 0, 0, .35);--blob-1: #c084fc;--blob-2: #60a5fa;--blob-3: #f472b6}.dark[data-v-88219eec]{--bg: #1a1a1a;--text: rgba(255, 255, 255, .9);--muted: #8f9bad;--primary: #818cf8;--card-bg: #2d2d2d;--border: rgba(255, 255, 255, .1);--shadow: rgba(0, 0, 0, .5);--sidebar-bg: #1a202c;--sidebar-text: #e2e8f0;--avatar-photo-shadow: 0 0 24px rgba(255, 255, 255, .15), 0 0 48px rgba(255, 255, 255, .08), 0 12px 28px rgba(0, 0, 0, .6);--blob-1: #7c3aed;--blob-2: #3b82f6;--blob-3: #ec4899}html,body,#app{height:auto!important}.page-container[data-v-88219eec]{background:var(--bg);padding:0;margin-bottom:2rem}.resume-container[data-v-88219eec]{max-width:800px;margin:0 auto 2rem;background:var(--card-bg);box-shadow:0 4px 20px #0000001a,0 1px 3px #00000014;border:1px solid rgba(0,0,0,.08);border-radius:24px}.resume[data-v-88219eec]{display:flex}.resume .sidebar[data-v-88219eec]{width:280px;flex-shrink:0;background:var(--sidebar-bg);color:var(--sidebar-text);padding:40px 30px;border-radius:20px 0 0 20px}.resume .sidebar[data-v-88219eec] .resume-avatar{--avatar-size: 120px;--avatar-font-size: 48px;--avatar-margin: 0 auto 20px;--avatar-shadow: 0 8px 24px rgba(15, 23, 42, .22)}.resume .sidebar .contact-info[data-v-88219eec]{margin-bottom:30px}.resume .sidebar .contact-item[data-v-88219eec]{display:flex;align-items:center;gap:.5rem;margin-bottom:12px;font-size:13px;line-height:1.4}.resume .sidebar .contact-item[data-v-88219eec] .svg-icon{width:18px;height:18px;flex-shrink:0;opacity:.9}.resume .sidebar .contact-item a[data-v-88219eec]{color:inherit;text-decoration:none;transition:color .15s ease;word-break:break-all;font-weight:500}.resume .sidebar .contact-item a[data-v-88219eec]:hover{color:#667eea;text-decoration:underline}.resume .sidebar h2[data-v-88219eec]{font-size:16px;font-weight:600;margin-bottom:15px;color:#667eea;text-transform:uppercase;letter-spacing:1px}.resume .sidebar .skill-group[data-v-88219eec]{margin-bottom:20px}.resume .sidebar .skill-category[data-v-88219eec]{font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:600}.resume .sidebar .skill-item[data-v-88219eec]{font-size:13px;margin-bottom:4px;padding-left:12px;position:relative}.resume .sidebar .skill-item[data-v-88219eec]:before{content:"•";position:absolute;left:0;color:#667eea}.resume .sidebar .languages .lang-item[data-v-88219eec]{display:flex;justify-content:space-between;font-size:13px;margin-bottom:8px}.resume .sidebar .lang-level[data-v-88219eec]{color:#718096;font-size:12px}.resume .main-content[data-v-88219eec]{flex:1;padding:40px 45px}.resume .main-content .resume-header[data-v-88219eec]{margin-bottom:35px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:0}.resume .main-content .name[data-v-88219eec]{font-size:36px;font-weight:700;color:var(--text);margin-bottom:8px}.resume .main-content .title[data-v-88219eec]{font-size:18px;color:#667eea;font-weight:500;margin-bottom:15px}.resume .main-content .summary[data-v-88219eec]{font-size:14px;line-height:1.7;color:var(--muted)}.resume .main-content .section[data-v-88219eec]{margin-bottom:32px}.resume .main-content .section-title[data-v-88219eec]{font-size:20px;font-weight:700;color:var(--text);margin-bottom:18px;padding-bottom:8px;border-bottom:2px solid #667eea}.resume .main-content .experience-item[data-v-88219eec]{margin-bottom:24px}.resume .main-content .job-header[data-v-88219eec]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.resume .main-content .job-title[data-v-88219eec]{font-size:16px;font-weight:600;color:var(--text)}.resume .main-content .company[data-v-88219eec]{font-size:14px;color:#667eea;font-weight:500}.resume .main-content .date[data-v-88219eec]{font-size:13px;color:#718096;white-space:nowrap}.resume .main-content .achievements[data-v-88219eec]{margin-top:10px}.resume .main-content .achievement[data-v-88219eec]{font-size:13px;line-height:1.6;margin-bottom:8px;padding-left:18px;position:relative;color:var(--muted)}.resume .main-content .achievement[data-v-88219eec]:before{content:"▸";position:absolute;left:0;color:#667eea;font-weight:700}.resume .main-content .project-item[data-v-88219eec]{margin-bottom:18px}.resume .main-content .project-header[data-v-88219eec]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.resume .main-content .project-name[data-v-88219eec]{font-size:15px;font-weight:600;color:var(--text)}.resume .main-content .project-date[data-v-88219eec]{font-size:12px;color:#718096}.resume .main-content .project-description[data-v-88219eec]{font-size:13px;line-height:1.6;color:var(--muted);margin-bottom:6px}.resume .main-content .project-link[data-v-88219eec]{font-size:12px;color:#667eea;text-decoration:none}.resume .main-content .project-link[data-v-88219eec]:hover{text-decoration:underline}.resume .main-content .course-item[data-v-88219eec]{display:flex;justify-content:space-between;margin-bottom:10px;font-size:13px}.resume .main-content .course-name[data-v-88219eec]{font-weight:500;color:var(--text)}.resume .main-content .course-date[data-v-88219eec]{color:var(--muted)}.resume .main-content .education-item[data-v-88219eec]{margin-bottom:16px}.resume .main-content .degree[data-v-88219eec]{font-size:15px;font-weight:600;color:var(--text)}.resume .main-content .institution[data-v-88219eec]{font-size:13px;color:var(--muted);margin-top:2px}@media screen and (max-width:900px){.resume-container[data-v-88219eec]:not(.pdf){margin-top:1.5rem}.resume-container:not(.pdf) .resume[data-v-88219eec]{flex-direction:column;min-height:auto}.resume-container:not(.pdf) .resume .sidebar[data-v-88219eec]{width:100%;border-radius:20px 20px 0 0;text-align:left;padding:32px 24px}.resume-container:not(.pdf) .resume .sidebar[data-v-88219eec] .resume-avatar{--avatar-size: 104px;--avatar-font-size: 42px}.resume-container:not(.pdf) .resume .sidebar .contact-info[data-v-88219eec]{display:grid;grid-template-columns:1fr;gap:8px 12px;margin-bottom:24px}.resume-container:not(.pdf) .resume .sidebar .contact-item[data-v-88219eec]{justify-content:center}.resume-container:not(.pdf) .resume .sidebar .section[data-v-88219eec]:not(.languages){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px;column-gap:12px;text-align:left}.resume-container:not(.pdf) .resume .sidebar .section:not(.languages)>h2[data-v-88219eec]{grid-column:1/-1}.resume-container:not(.pdf) .resume .sidebar .section:not(.languages) .skill-group[data-v-88219eec]{margin-bottom:0}.resume-container:not(.pdf) .resume main[data-v-88219eec]{padding:32px 28px;margin:0 12px}.resume-container:not(.pdf) .resume main .resume-header[data-v-88219eec]{margin-bottom:28px}.resume-container:not(.pdf) .resume main .name[data-v-88219eec]{font-size:32px}.resume-container:not(.pdf) .resume main .section[data-v-88219eec]{margin-bottom:28px}.resume-container:not(.pdf) .resume main .section-title[data-v-88219eec]{font-size:18px}}@media screen and (min-width:601px)and (max-width:900px){.resume-container:not(.pdf) .resume .sidebar .section[data-v-88219eec]:not(.languages){grid-template-columns:repeat(4,minmax(0,1fr));row-gap:0;column-gap:0}}@media screen and (min-width:600px)and (max-width:700px){.resume-container:not(.pdf) .resume .sidebar .section[data-v-88219eec]:not(.languages){gap:10px}}@media screen and (max-width:400px){.resume-container:not(.pdf) .resume .sidebar .section[data-v-88219eec]:not(.languages){row-gap:16px;column-gap:12px}}@media screen and (max-width:600px){.resume-container[data-v-88219eec]:not(.pdf){padding:1.25rem .75rem;margin-top:1rem}.resume-container:not(.pdf) .resume-container:not(.pdf) .resume .sidebar[data-v-88219eec]{padding:28px 20px;border-radius:16px 16px 0 0;text-align:left}.resume-container:not(.pdf) .resume-container:not(.pdf) .resume .sidebar .contact-item[data-v-88219eec]{justify-content:flex-start}.resume-container:not(.pdf) .resume-container:not(.pdf) .resume .sidebar .section[data-v-88219eec]:not(.languages){text-align:left}.resume-container:not(.pdf) .resume-container:not(.pdf) .resume .main-content[data-v-88219eec]{padding:28px 20px;margin:0}.resume-container:not(.pdf) .resume-container:not(.pdf) .resume .main-content .job-header[data-v-88219eec],.resume-container:not(.pdf) .resume-container:not(.pdf) .resume .main-content .project-header[data-v-88219eec],.resume-container:not(.pdf) .resume-container:not(.pdf) .resume .main-content .course-item[data-v-88219eec]{flex-direction:column;align-items:flex-start;gap:4px}.resume-container:not(.pdf) .resume-container:not(.pdf) .resume .main-content .date[data-v-88219eec],.resume-container:not(.pdf) .resume-container:not(.pdf) .resume .main-content .project-date[data-v-88219eec],.resume-container:not(.pdf) .resume-container:not(.pdf) .resume .main-content .course-date[data-v-88219eec]{white-space:normal}}@media print{[data-v-88219eec]{-webkit-print-color-adjust:exact;print-color-adjust:exact}html,body,#app{--bg: #f8f9fa;--text: #1a202c;--muted: #5f6b7a;--primary: #646cff;--card-bg: #ffffff;--border: rgba(0, 0, 0, .08);--shadow: rgba(0, 0, 0, .1);--sidebar-bg: #ffffff;--sidebar-text: #2d3748;background:#fff!important;color:#111827}.page-container[data-v-88219eec]{padding:0;background:#fff}.resume-container[data-v-88219eec]{box-shadow:none;max-width:100%;margin:0;border:0;border-radius:0;background:#fff}.resume[data-v-88219eec]{min-height:auto;background:#fff;break-inside:avoid}.sidebar[data-v-88219eec]{background:#fff;color:#111827}.sidebar h2[data-v-88219eec]{color:#1f2937}.main-content .title[data-v-88219eec],.main-content .company[data-v-88219eec],.project-link[data-v-88219eec]{color:#111827}a[data-v-88219eec]{color:inherit;text-decoration:underline}.resume[data-v-88219eec],.sidebar[data-v-88219eec],.main-content[data-v-88219eec]{box-shadow:none;border-radius:0!important}[data-v-88219eec] .resume-avatar{--avatar-photo-shadow: none;--avatar-photo-shadow-dark: none}}@page{size:A4;margin:0}.white{--bg: #f8f9fa;--text: #1a202c;--muted: #5f6b7a;--primary: #646cff;--card-bg: #ffffff;--border: rgba(0, 0, 0, .08);--shadow: rgba(0, 0, 0, .1);--sidebar-bg: #eef1f5;--sidebar-text: #2d3748;--avatar-photo-shadow: 0 0 24px rgba(255, 255, 255, .55), 0 0 48px rgba(255, 255, 255, .35), 0 12px 28px rgba(0, 0, 0, .35);--blob-1: #c084fc;--blob-2: #60a5fa;--blob-3: #f472b6}.dark{--bg: #1a1a1a;--text: rgba(255, 255, 255, .9);--muted: #8f9bad;--primary: #818cf8;--card-bg: #2d2d2d;--border: rgba(255, 255, 255, .1);--shadow: rgba(0, 0, 0, .5);--sidebar-bg: #1a202c;--sidebar-text: #e2e8f0;--avatar-photo-shadow: 0 0 24px rgba(255, 255, 255, .15), 0 0 48px rgba(255, 255, 255, .08), 0 12px 28px rgba(0, 0, 0, .6);--blob-1: #7c3aed;--blob-2: #3b82f6;--blob-3: #ec4899}:root{--bg: #f8f9fa;--text: #1a202c;--muted: #5f6b7a;--primary: #646cff;--page-width: 900px}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;font-family:Roboto,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased}@media(max-width:900px){main{padding:0 12px}}.container,.page-container{max-width:var(--page-width);margin:0 auto;padding:2rem;width:100%}.page-header{position:sticky;top:1rem;z-index:100;max-width:var(--page-width);width:calc(100% - 2rem);margin:1rem auto 2rem}.page-header--overlay{position:absolute;top:1rem;left:50%;transform:translate(-50%);margin:0}nav a{color:var(--text);text-decoration:none;font-weight:600}nav a svg{margin-bottom:1px}nav a.router-link-active{color:var(--primary)}@media print{.page-header,.app-header{position:static;transform:none;backdrop-filter:none;-webkit-backdrop-filter:none;display:none}}h1{font-size:2.6rem;margin:0 0 .5rem}.lead{color:var(--muted)}.card{background:#ffffff08;padding:1.25rem;border-radius:8px;margin-top:1rem}.btn{display:inline-block;padding:.5rem .9rem;background:var(--primary);color:#fff;border-radius:6px;text-decoration:none}.html2pdf__page-break{margin-bottom:40px!important}.page-header[data-v-3a16a400]{max-width:800px;margin:0 auto 2rem}
