: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);--color-accent: #6a0dad;--color-link: #1976d2;--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);--color-accent: #9b59b6;--color-link: #64b5f6}}*,*: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}*{margin:0;padding:0;box-sizing:border-box}a,.green{text-decoration:none;color:#00bd7e;transition:.4s;padding:3px}@media (min-width: 1024px){body{display:block}#app{display:grid;grid-template-columns:1fr}}.burger[data-v-d71e7dfb]{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;width:44px;height:44px;border:1px solid transparent;background:transparent;cursor:pointer;padding:6px;border-radius:8px}.burger[data-v-d71e7dfb]:focus{outline:2px solid rgba(59,130,246,.3)}.burger span[data-v-d71e7dfb]{display:block;height:2px;background:var(--color-heading);margin:3px 0;border-radius:2px;width:18px;transition:transform .15s ease,opacity .15s ease}.burger.open span[data-v-d71e7dfb]:nth-child(1){transform:translateY(8px) rotate(45deg)}.burger.open span[data-v-d71e7dfb]:nth-child(2){opacity:0;transform:scaleX(0)}.burger.open span[data-v-d71e7dfb]:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.mobile-menu[data-v-2ac9acd9]{position:absolute;right:8px;top:56px;background:var(--color-background);border:1px solid var(--color-border);box-shadow:0 6px 18px #0f172a1a;border-radius:8px;padding:.5rem;display:flex;flex-direction:column;gap:.25rem;min-width:160px;z-index:1000}.mobile-link[data-v-2ac9acd9]{display:block;width:100%;padding:.5rem;text-decoration:none;color:var(--color-heading);border-radius:4px}.mobile-link[data-v-2ac9acd9]:focus,.mobile-link[data-v-2ac9acd9]:hover{background:var(--color-background-mute)}.app-header[data-v-7927124f]{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;width:100%;box-sizing:border-box;border-bottom:1px solid var(--color-border, #e6e6e6);background:var(--color-background, #fff);gap:1rem}.left[data-v-7927124f]{display:flex;align-items:center;gap:.75rem}.logo-link[data-v-7927124f]{display:flex;align-items:center;gap:.5rem;text-decoration:none}.title[data-v-7927124f]{font-size:1.05rem;font-weight:700;margin:0;color:var(--color-heading, #111827)}.logo[data-v-7927124f]{width:36px;height:36px;object-fit:cover;border-radius:8px}.right[data-v-7927124f]{display:flex;align-items:center;gap:.75rem;position:relative}.mobile-backdrop[data-v-7927124f]{position:fixed;inset:0;background:#0000001f;z-index:900}.footer[data-v-261975bc]{background-color:var(--color-background-soft);border-top:1px solid var(--color-border);width:100%;box-sizing:border-box;padding:0}.footer-content[data-v-261975bc]{text-align:center;color:var(--color-text-mute);padding:1rem 2rem}.main-content[data-v-794b88af]{padding:2rem;margin:0 auto;width:100%;box-sizing:border-box;flex-grow:1}.social-links[data-v-167d9493]{display:flex;justify-content:center;gap:1.5rem;margin-bottom:2rem;animation:slide-in-bottom-167d9493 1.5s ease-out}@media (min-width: 768px){.social-links[data-v-167d9493]{justify-content:flex-start}}.social-icon[data-v-167d9493]{font-size:1.5rem;color:var(--color-text);transition:transform .3s ease}.social-icon[data-v-167d9493]:hover{transform:translateY(-5px);color:var(--color-accent)}@keyframes slide-in-bottom-167d9493{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-section[data-v-0fd3c1d7]{display:flex;flex-direction:column;align-items:center;gap:3rem;padding:4rem 0;border-bottom:1px solid var(--color-border-soft)}@media (min-width: 768px){.hero-section[data-v-0fd3c1d7]{flex-direction:row;justify-content:space-between;padding:6rem 0}}.hero-content[data-v-0fd3c1d7]{text-align:center;flex-basis:60%}@media (min-width: 768px){.hero-content[data-v-0fd3c1d7]{text-align:left}}.hero-title[data-v-0fd3c1d7]{font-size:3rem;font-weight:800;color:var(--color-heading);line-height:1.2;margin-bottom:1rem;animation:slide-in-top-0fd3c1d7 1s ease-out}.name-highlight[data-v-0fd3c1d7]{color:var(--color-accent)}.hero-subtitle[data-v-0fd3c1d7]{font-size:1.25rem;color:var(--color-text-mute);margin-bottom:2rem;animation:fade-in-0fd3c1d7 2s ease-out}.cta-buttons[data-v-0fd3c1d7]{display:flex;flex-direction:column;gap:1rem;animation:fade-in-0fd3c1d7 2.5s ease-out}@media (min-width: 768px){.cta-buttons[data-v-0fd3c1d7]{flex-direction:row}}.cta-button[data-v-0fd3c1d7]{display:inline-block;padding:.8rem 8rem;border-radius:8px;text-decoration:none;font-weight:700;transition:all .3s ease;font-size:1rem;text-align:center}.primary[data-v-0fd3c1d7]{background-color:var(--color-background-mute);color:var(--color-heading);border:2px solid transparent}.primary[data-v-0fd3c1d7]:hover{background-color:var(--color-background-soft);transform:translateY(-3px);box-shadow:0 4px 12px #00000026}.hero-image[data-v-0fd3c1d7]{flex-basis:40%;display:flex;justify-content:center;align-items:center}.profile-image[data-v-0fd3c1d7]{width:250px;height:250px;object-fit:cover;border-radius:50%;box-shadow:0 8px 30px #0000001a;animation:scale-up-0fd3c1d7 1.5s ease-out}@media (max-width: 767px){.hero-section[data-v-0fd3c1d7]{padding:2.5rem 0;gap:4.5rem}.hero-title[data-v-0fd3c1d7]{font-size:2rem;line-height:1.15}.cta-button[data-v-0fd3c1d7]{padding:.8rem 2rem;font-size:.95rem;white-space:normal}.profile-image[data-v-0fd3c1d7]{width:150px;height:150px}}@media (max-width: 768px){.cta-button[data-v-0fd3c1d7]{padding:.8rem 4rem}.profile-image[data-v-0fd3c1d7]{width:128px;height:128px}}@media (max-width: 512px){.cta-button[data-v-0fd3c1d7]{padding:.8rem 8rem}.profile-image[data-v-0fd3c1d7]{width:128px;height:128px}}@keyframes slide-in-top-0fd3c1d7{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-0fd3c1d7{0%{opacity:0}to{opacity:1}}@keyframes scale-up-0fd3c1d7{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.about-section[data-v-99d5432a]{text-align:center;padding:4rem 0;border-bottom:1px solid var(--color-border-soft)}.about-content[data-v-99d5432a]{max-width:800px;margin:0 auto}.section-heading[data-v-99d5432a]{text-align:center;font-size:2.5rem;font-weight:700;color:var(--color-heading);margin-bottom:2rem}.about-text[data-v-99d5432a]{font-size:1.1rem;color:var(--color-text);line-height:1.8}.skill-card[data-v-3dee1218]{background-color:var(--color-background-soft);padding:2rem;border-radius:12px;box-shadow:0 4px 15px #0000000d;transition:transform .3s ease}.skill-card[data-v-3dee1218]:hover{transform:translateY(-5px)}.skill-title[data-v-3dee1218]{font-size:1.5rem;font-weight:600;color:var(--color-heading);margin-bottom:1rem}.skill-list[data-v-3dee1218]{font-size:1rem;color:var(--color-text-mute);line-height:1.6}.skills-section[data-v-9f1d4b75]{padding:4rem 0;border-bottom:1px solid var(--color-border-soft)}.section-heading[data-v-9f1d4b75]{text-align:center;font-size:2.5rem;font-weight:700;color:var(--color-heading);margin-bottom:2rem}.skills-grid[data-v-9f1d4b75]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;max-width:1000px;margin:0 auto}.timeline-section[data-v-7389413d]{padding:4rem 0;border-bottom:1px solid var(--color-border)}.section-heading[data-v-7389413d]{text-align:center;font-size:2.5rem;font-weight:700;color:var(--color-heading);margin-bottom:2rem}.timeline-container[data-v-7389413d]{max-width:1100px;margin:0 auto;padding:0 1rem}.timeline-row[data-v-7389413d]{display:grid;grid-template-columns:calc(30% - 40px) 80px 1fr;gap:0;min-height:60px;margin-bottom:1rem;opacity:0;animation:fadeIn-7389413d .5s ease forwards}.timeline-row[data-v-7389413d]:nth-child(2){animation-delay:.05s}.timeline-row[data-v-7389413d]:nth-child(3){animation-delay:.1s}.timeline-row[data-v-7389413d]:nth-child(4){animation-delay:.15s}.timeline-row[data-v-7389413d]:nth-child(5){animation-delay:.2s}.timeline-row[data-v-7389413d]:nth-child(6){animation-delay:.25s}.timeline-row[data-v-7389413d]:nth-child(7){animation-delay:.3s}.timeline-row[data-v-7389413d]:nth-child(8){animation-delay:.35s}.timeline-row[data-v-7389413d]:nth-child(9){animation-delay:.4s}.timeline-row[data-v-7389413d]:nth-child(10){animation-delay:.45s}@keyframes fadeIn-7389413d{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.timeline-left[data-v-7389413d]{display:flex;justify-content:flex-end;align-items:center;padding-right:.5rem}.main-items[data-v-7389413d]{display:flex;flex-direction:column;gap:.75rem;width:100%}.timeline-card[data-v-7389413d]{background:var(--color-background-soft);border-radius:10px;padding:1rem 1.25rem;border:1px solid var(--color-border);box-shadow:0 2px 12px #0000000f;transition:transform .2s ease,box-shadow .2s ease;width:100%}.timeline-card[data-v-7389413d]:hover{transform:translate(4px);box-shadow:0 4px 20px #0000001a}@media (prefers-color-scheme: dark){.timeline-card[data-v-7389413d]:hover{box-shadow:0 4px 20px #0000004d}}.card-period[data-v-7389413d]{margin-bottom:.5rem}.period-badge[data-v-7389413d]{display:inline-flex;align-items:center;gap:.3rem;background:linear-gradient(135deg,var(--vt-c-indigo),#34495e);color:#fff;padding:.25rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600}@media (prefers-color-scheme: dark){.period-badge[data-v-7389413d]{background:linear-gradient(135deg,#42b883,#2c8a5e)}}.period-sep[data-v-7389413d]{opacity:.7}.card-title[data-v-7389413d]{font-size:1rem;font-weight:700;color:var(--color-heading);margin-bottom:.35rem;line-height:1.3}.card-description[data-v-7389413d]{font-size:.8rem;color:var(--color-text);line-height:1.5;margin-bottom:.5rem;opacity:.85}.card-tags[data-v-7389413d]{display:flex;flex-wrap:wrap;gap:.35rem}.tag[data-v-7389413d]{background:var(--color-background-mute);color:var(--color-text);padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:500;border:1px solid var(--color-border)}.timeline-center[data-v-7389413d]{display:flex;flex-direction:column;align-items:center;position:relative}.center-line[data-v-7389413d]{flex:1;width:3px;background:var(--vt-c-indigo);min-height:20px}@media (prefers-color-scheme: dark){.center-line[data-v-7389413d]{background:#42b883}}.center-date[data-v-7389413d]{padding:.25rem 0}.date-label[data-v-7389413d]{display:inline-block;background:var(--vt-c-indigo);color:#fff;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;white-space:nowrap}@media (prefers-color-scheme: dark){.date-label[data-v-7389413d]{background:#42b883}}.timeline-right[data-v-7389413d]{display:flex;align-items:flex-start;padding-left:.5rem;width:100%}.note-items[data-v-7389413d]{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.note-chip[data-v-7389413d]{display:inline-flex;align-items:center;background:var(--color-background-soft);border-right:3px solid var(--vt-c-indigo);padding:.4rem .75rem;border-radius:6px 0 0 6px;transition:background-color .2s ease}@media (prefers-color-scheme: dark){.note-chip[data-v-7389413d]{border-right-color:#42b883}}.note-chip[data-v-7389413d]:hover{background:var(--color-background-mute)}.note-text[data-v-7389413d]{font-size:.8rem;color:var(--color-heading);font-weight:500}@media (max-width: 768px){.timeline-row[data-v-7389413d]{grid-template-columns:calc(25% - 30px) 60px 1fr;gap:0}.section-heading[data-v-7389413d]{font-size:2rem}.header-left[data-v-7389413d],.header-right[data-v-7389413d]{font-size:.7rem;padding:0 .5rem}.timeline-card[data-v-7389413d]{padding:.75rem}.card-title[data-v-7389413d]{font-size:.9rem}.card-description[data-v-7389413d]{font-size:.75rem}.date-label[data-v-7389413d]{font-size:.6rem;padding:.15rem .35rem}.note-chip[data-v-7389413d]{padding:.3rem .5rem}.note-text[data-v-7389413d]{font-size:.7rem}}@media (max-width: 540px){.timeline-row[data-v-7389413d]{grid-template-columns:0 50px 1fr}.timeline-left[data-v-7389413d],.header-left[data-v-7389413d],.card-description[data-v-7389413d],.card-tags[data-v-7389413d]{display:none}}.contact-section[data-v-d4eaac65]{padding:4rem 0;border-bottom:1px solid var(--color-border-soft)}.contact-content[data-v-d4eaac65]{text-align:center;max-width:600px;margin:0 auto}.section-heading[data-v-d4eaac65]{text-align:center;font-size:2.5rem;font-weight:700;color:var(--color-heading);margin-bottom:2rem}.contact-text[data-v-d4eaac65]{font-size:1.1rem;color:var(--color-text);line-height:1.8;margin-bottom:2rem}.cta-button[data-v-d4eaac65]{display:inline-block;padding:.8rem 8rem;border-radius:8px;text-decoration:none;font-weight:700;transition:all .3s ease;font-size:1rem;text-align:center}.primary[data-v-d4eaac65]{background-color:var(--color-background-mute);color:var(--color-heading);border:2px solid transparent}.primary[data-v-d4eaac65]:hover{background-color:var(--color-background-soft);transform:translateY(-3px);box-shadow:0 4px 12px #00000026}@media (max-width: 767px){.cta-button[data-v-d4eaac65]{padding:.8rem 2rem;font-size:.95rem;white-space:normal}}@media (max-width: 768px){.cta-button[data-v-d4eaac65]{padding:.8rem 4rem}}@media (max-width: 512px){.cta-button[data-v-d4eaac65]{padding:.8rem 8rem}}.page-container[data-v-d3c54534]{max-width:1200px;margin:0 auto;padding:0 2rem}@media (max-width: 767px){.page-container[data-v-d3c54534]{padding:0 1rem}}@media (min-width: 1024px){.about{min-height:100vh;display:flex;align-items:center}}.works-page[data-v-e825c7a9]{max-width:1400px;margin:0 auto;padding:2rem 1rem}.section-title[data-v-e825c7a9]{text-align:center;font-size:2.5rem;color:var(--color-heading);margin-bottom:3rem;font-weight:700}.works-grid[data-v-e825c7a9]{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2.5rem}.project-card[data-v-e825c7a9]{background-color:var(--color-background-soft);border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0000000d;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column}.project-card[data-v-e825c7a9]:hover{transform:translateY(-8px);box-shadow:0 8px 30px #0000001a}.project-card-link[data-v-e825c7a9]{text-decoration:none;color:inherit;display:flex;flex-direction:column;height:100%}.card-image-wrapper[data-v-e825c7a9]{position:relative;width:100%;padding-bottom:60%;background-color:var(--color-background-mute)}.card-image[data-v-e825c7a9]{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.no-image-placeholder[data-v-e825c7a9]{position:absolute;top:40%;left:40%;font-size:1.5rem;color:var(--color-text-mute)}.project-category-tag[data-v-e825c7a9]{position:absolute;top:1rem;left:1rem;background-color:var(--color-accent);color:#fff;padding:.3rem .6rem;border-radius:4px;font-size:.8rem;font-weight:700;z-index:10}.card-content-wrapper[data-v-e825c7a9]{padding:1.5rem;display:flex;flex-direction:column;flex-grow:1}.project-title[data-v-e825c7a9]{font-size:1.6rem;font-weight:700;color:var(--color-heading);margin-bottom:.5rem;line-height:1.3}.project-description[data-v-e825c7a9]{font-size:.95rem;color:var(--color-text-mute);margin-bottom:1.5rem;line-height:1.6;flex-grow:1}.project-meta[data-v-e825c7a9]{display:flex;gap:1.5rem;margin-bottom:1.5rem;font-size:.9rem;color:var(--color-text)}.meta-item[data-v-e825c7a9]{display:flex;align-items:center;gap:.4rem}.meta-item .icon[data-v-e825c7a9]{font-size:1.1em}.project-technologies[data-v-e825c7a9]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tech-tag[data-v-e825c7a9]{background-color:var(--color-border);color:var(--color-text);padding:.4rem .8rem;border-radius:20px;font-size:.8rem;font-weight:500}.project-features-list[data-v-e825c7a9]{margin-top:.5rem;margin-bottom:2rem}.project-features-list h4[data-v-e825c7a9]{font-size:1rem;color:var(--color-heading);margin-bottom:.5rem;font-weight:600}.project-features-list ul[data-v-e825c7a9]{list-style:none;padding:0;margin:0}.project-features-list li[data-v-e825c7a9]{font-size:.95rem;color:var(--color-text-mute);margin-bottom:.3rem;position:relative;padding-left:1.2rem}.project-features-list li[data-v-e825c7a9]:before{content:"•";color:var(--color-accent);position:absolute;left:0;font-weight:700}.card-actions[data-v-e825c7a9]{display:flex;gap:1rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--color-border-soft)}.play-button[data-v-e825c7a9]{flex-grow:1;display:flex;align-items:center;justify-content:center;background-color:var(--color-accent);color:#fff;padding:.8rem 1.2rem;border-radius:8px;text-decoration:none;font-weight:700;font-size:1rem;transition:background-color .3s ease;gap:.5rem}.play-button[data-v-e825c7a9]:hover{background-color:#8a2be2}.play-button-null[data-v-e825c7a9]{flex-grow:1;display:flex;align-items:center;justify-content:center;background-color:var(--color-border);color:#fff;padding:.8rem 1.2rem;border-radius:8px;text-decoration:none;color:var(--color-text-mute);font-weight:700;font-size:1rem;transition:background-color .3s ease;gap:.5rem}.git-button[data-v-e825c7a9]{background-color:var(--color-background-mute);border:1px solid var(--color-border);color:var(--color-text);padding:.8rem 1.2rem;border-radius:8px;cursor:pointer;transition:background-color .3s ease,border-color .3s ease}.git-button[data-v-e825c7a9]:hover{background-color:var(--color-border);border-color:var(--color-border-hover)}@media (max-width: 768px){.works-grid[data-v-e825c7a9]{grid-template-columns:1fr}.section-title[data-v-e825c7a9]{font-size:2rem;margin-bottom:2rem}}.not-found[data-v-11a72439]{text-align:center;margin-top:50px}h1[data-v-11a72439]{font-size:5rem;margin-bottom:1rem}p[data-v-11a72439]{font-size:1.5rem;margin-bottom:2rem}
