.profile-wrapper[data-v-3b072e1d]{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 64px);padding:40px 20px;text-align:center}.profile-name[data-v-3b072e1d]{font-size:48px;font-weight:700;margin:0}.profile-title[data-v-3b072e1d]{font-size:24px;font-weight:400;margin:0;opacity:.8}.profile-tagline[data-v-3b072e1d]{max-width:600px;text-align:center;font-size:18px;line-height:1.6}.profile-buttons[data-v-3b072e1d]{justify-content:center;flex-wrap:wrap}@media(max-width:480px){.profile-name[data-v-3b072e1d]{font-size:36px}.profile-title[data-v-3b072e1d]{font-size:20px}.profile-tagline[data-v-3b072e1d]{font-size:16px}}.resume-card[data-v-5410d451]{padding:16px}.resume-company[data-v-5410d451],.resume-cert-name[data-v-5410d451]{font-size:16px}.resume-description[data-v-5410d451]{font-size:14px;white-space:pre-line}.resume-cert-issuer[data-v-5410d451],.resume-cert-date[data-v-5410d451]{font-size:14px;opacity:.8}.skills-category[data-v-84234f02]{margin-bottom:32px}.skills-category-title[data-v-84234f02]{font-size:20px;font-weight:600;margin-bottom:16px}.skills-tags[data-v-84234f02]{flex-wrap:wrap}.project-title[data-v-cf7aefe5]{font-size:24px;font-weight:600;margin:0}.project-description[data-v-cf7aefe5]{font-size:16px;line-height:1.5}.project-tags[data-v-cf7aefe5]{flex-wrap:wrap}@media(max-width:480px){.project-title[data-v-cf7aefe5]{font-size:20px}.project-description[data-v-cf7aefe5]{font-size:14px}}.miniatures-description[data-v-62e60e5c]{font-size:16px;line-height:1.6;text-align:center}.miniature-name[data-v-62e60e5c]{font-size:18px}.miniatures-button[data-v-62e60e5c]{margin-top:16px}@media(max-width:480px){.miniatures-description[data-v-62e60e5c]{font-size:14px}}.contact-text[data-v-c28a0eee]{font-size:16px}.contact-cards[data-v-c28a0eee],.home-page[data-v-0abe1dc6]{width:100%}.home-section[data-v-0abe1dc6]{width:100%;position:relative}.home-section-alt[data-v-0abe1dc6]{background-color:#00000005}html.dark .home-section-alt[data-v-0abe1dc6]{background-color:#ffffff05}.back-to-top[data-v-ed881aa3]{position:fixed;bottom:40px;right:40px;z-index:999;box-shadow:0 4px 12px #00000026;transition:transform .2s ease}.back-to-top[data-v-ed881aa3]:hover{transform:translateY(-2px)}.fade-enter-active[data-v-ed881aa3],.fade-leave-active[data-v-ed881aa3]{transition:opacity .3s ease}.fade-enter-from[data-v-ed881aa3],.fade-leave-to[data-v-ed881aa3]{opacity:0}.app-layout[data-v-554c700e]{min-height:100vh;background-color:var(--n-color-background);color:var(--n-text-color)}.app-header[data-v-554c700e]{position:fixed;top:0;z-index:100;width:100%;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:var(--n-color);box-shadow:0 1px 3px #0000001a;border-bottom:1px solid var(--n-divider-color)}.header-inner[data-v-554c700e]{display:flex;align-items:center;height:64px;max-width:1200px;margin:0 auto;padding:0 24px}.header-logo[data-v-554c700e]{text-decoration:none;color:inherit;font-size:20px;font-weight:700;margin-right:auto}.header-menu[data-v-554c700e]{flex:1;justify-content:center}.mobile-menu-btn[data-v-554c700e]{display:none;margin-right:8px}.theme-toggle[data-v-554c700e]{margin-left:16px}.app-content[data-v-554c700e]{padding-top:64px;max-width:1200px;margin:0 auto;width:100%}.app-footer[data-v-554c700e]{padding:16px;text-align:center;font-size:14px;color:var(--n-text-color-3)}.back-to-top[data-v-554c700e]{position:fixed;bottom:32px;right:32px;z-index:200}@media(max-width:768px){.header-menu[data-v-554c700e]{display:none}.mobile-menu-btn[data-v-554c700e]{display:flex}.header-inner[data-v-554c700e]{padding:0 12px}}.fade-up-enter-active,.fade-up-leave-active{transition:all .4s ease}.fade-up-enter-from,.fade-up-leave-to{opacity:0;transform:translateY(20px)}.hero-section-wrapper{padding:80px 20px;max-width:900px;margin:0 auto 40px}.section-wrapper{padding:40px 24px;max-width:1200px;margin:0 auto}.hero-title{font-size:36px;font-weight:700;margin:0 0 24px;text-align:center}.section-title{font-size:24px;font-weight:600;margin:24px 0}.section-subtitle{font-size:20px;font-weight:600;margin-bottom:16px}.text-description{font-size:16px;line-height:1.6}.text-small{font-size:12px}.text-center{text-align:center}.card-hoverable{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.card-hoverable:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f}.card-hoverable:focus-visible,.card-hoverable-subtle:focus-visible{outline:2px solid var(--n-primary-color, #2080f0);outline-offset:2px}.card-hoverable-subtle{cursor:default;transition:transform .2s ease,box-shadow .2s ease}.card-hoverable-subtle:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f}.image-cover{width:100%;border-radius:8px;object-fit:cover}.image-cover-sm{width:100%;height:180px;border-radius:8px;object-fit:cover}.image-cover-md{width:100%;height:200px;border-radius:8px;object-fit:cover}.image-cover-lg{width:100%;max-height:400px;border-radius:8px;object-fit:cover}.image-card-cover{width:100%;height:200px;object-fit:cover;border-radius:4px 4px 0 0}.color-swatch{width:24px;height:24px;border-radius:4px;border:2px solid rgba(128,128,128,.6);box-shadow:inset 0 0 0 1px #ffffff4d,0 0 0 1px #0003;flex-shrink:0}.btn-group{display:flex;gap:8px;flex-wrap:wrap}.btn-group-center{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.mt-sm{margin-top:8px}.mt-md{margin-top:12px}.mt-lg{margin-top:16px}.mb-sm{margin-bottom:8px}.mb-md{margin-bottom:12px}.mb-lg{margin-bottom:16px}@media(max-width:768px){.hero-section-wrapper{padding:60px 16px;margin-bottom:32px}.section-wrapper{padding:32px 16px}.hero-title{font-size:28px;margin-bottom:16px}.section-title{font-size:20px}.text-description{font-size:14px}.image-card-cover{height:180px}}@media(max-width:480px){.hero-section-wrapper{padding:40px 12px;margin-bottom:24px}.section-wrapper{padding:24px 12px}.hero-title{font-size:24px}}@media(prefers-reduced-motion:reduce){.fade-up-enter-active,.fade-up-leave-active{transition:opacity .2s ease}.fade-up-enter-from,.fade-up-leave-to{transform:none}.card-hoverable,.card-hoverable-subtle{transition:none}.card-hoverable:hover,.card-hoverable-subtle:hover{transform:none}}
