:root{--bg-dark:#121212;--bg-sidebar:#1a1a1a;--bg-sidebar-active:#222;--color-accent:linear-gradient(135deg, #ffaf61 0%, #ffc482 100%);--color-accent-hover:linear-gradient(135deg, #ffc482 0%, #ffaf61 100%);--text-primary:#fff;--text-secondary:#888;--border-color:#333;--card-bg:#ffffff08;--card-hover-bg:#ffffff0f;--font-family:"Outfit", sans-serif}[data-theme=light]{--bg-dark:#f8f9fa;--bg-sidebar:#fff;--bg-sidebar-active:#f1f3f5;--color-accent:linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);--color-accent-hover:linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);--text-primary:#212529;--text-secondary:#495057;--border-color:#dee2e6;--card-bg:#fff;--card-hover-bg:#f8f9fa}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-primary);font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}#app{width:100vw;height:100vh;display:flex}button{cursor:pointer;border:none;font-family:inherit;transition:all .3s}a{color:inherit;text-decoration:none}.sidebar[data-v-da75ad78]{background-color:var(--bg-sidebar);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:100vh;transition:background-color .3s;display:flex}.sidebar.active[data-v-da75ad78]{background-color:var(--bg-sidebar-active);position:relative}.sidebar.active .label[data-v-da75ad78]{background:var(--color-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.label-container[data-v-da75ad78]{white-space:nowrap;justify-content:center;align-items:center;display:flex;position:relative;transform:rotate(90deg)}.label[data-v-da75ad78]{color:var(--text-primary);letter-spacing:2px;text-transform:capitalize;font-size:1.5rem;font-weight:600;transition:all .4s cubic-bezier(.4,0,.2,1)}.sidebar.active .label[data-v-da75ad78]:after{content:"";background:var(--color-accent);width:40px;height:3px;box-shadow:0 0 10px var(--color-accent);border-radius:2px;animation:.4s ease-out forwards slideIn-da75ad78;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}@keyframes slideIn-da75ad78{0%{opacity:0;width:0}to{opacity:1;width:40px}}.sidebar:hover:not(.active) .label[data-v-da75ad78]{color:var(--text-primary);opacity:.8;transform:translateY(-2px)}@media (width<=768px){.sidebar[data-v-da75ad78]{border-left:none;border-right:none;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);width:100%;height:60px}.sidebar.active[data-v-da75ad78]{background-color:var(--bg-sidebar-active)}.label-container[data-v-da75ad78]{transform:none}.label[data-v-da75ad78]{letter-spacing:1px;font-size:1.1rem}.sidebar.active .label[data-v-da75ad78]:after{width:30px;bottom:-6px}}.hero[data-v-80daf4d8]{background-color:var(--bg-dark);flex:1;align-items:center;padding-left:10%;display:flex;position:relative;overflow:hidden}.hero-content[data-v-80daf4d8]{z-index:5;max-width:90%;animation:1s ease-out fadeIn-80daf4d8;position:relative}.subtitle[data-v-80daf4d8]{color:var(--text-secondary);will-change:transform;margin-bottom:.5rem;font-size:2.5rem;font-weight:400;transition:transform .8s cubic-bezier(.4,0,.2,1)}.title[data-v-80daf4d8]{color:var(--text-primary);letter-spacing:-.03em;cursor:default;white-space:nowrap;backface-visibility:hidden;perspective:1000px;-webkit-font-smoothing:antialiased;will-change:font-size;align-items:flex-end;min-height:7.2rem;margin-bottom:2rem;font-size:6rem;font-weight:700;line-height:1.2;transition:font-size .8s cubic-bezier(.4,0,.2,1);display:inline-flex;transform:translate(0,0)}.hero-content:hover .title[data-v-80daf4d8]{color:#ffaf61;-webkit-text-fill-color:initial;background:0 0}.first-name[data-v-80daf4d8]{display:inline-block;transform:translateZ(0)}.full-name[data-v-80daf4d8]{display:none}.role[data-v-80daf4d8]{color:var(--text-primary);margin-bottom:3rem;font-size:2.5rem;font-weight:700}.cta-group[data-v-80daf4d8]{flex-direction:column;gap:1.5rem;display:flex}.primary-actions[data-v-80daf4d8]{gap:1.5rem;display:flex}.secondary-actions[data-v-80daf4d8]{display:flex}.btn[data-v-80daf4d8]{background:var(--color-accent);color:var(--bg-dark);border-radius:4px;padding:.8rem 2.5rem;font-size:1.2rem;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #f59e0b4d}.btn[data-v-80daf4d8]:hover{background:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 6px 20px #ffaf6180}.btn-outline[data-v-80daf4d8]{border:1px solid var(--border-color);color:var(--text-primary);box-shadow:none;background:0 0;align-items:center;gap:.75rem;display:flex}.btn-outline[data-v-80daf4d8]:hover{border-color:var(--text-secondary);background:#ffffff0d;box-shadow:0 4px 15px #0003}.resume-btn svg[data-v-80daf4d8]{color:#ffaf61}.hero-image-container[data-v-80daf4d8]{opacity:0;pointer-events:none;z-index:10;width:30%;max-width:450px;transition:all .7s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;right:8%;transform:translateY(-50%)translate(50px)}.hero-photo[data-v-80daf4d8]{filter:drop-shadow(0 20px 40px #00000080)grayscale(.1)brightness(.9);border-radius:12px;width:100%;height:auto;transition:all .8s cubic-bezier(.16,1,.3,1);transform:scale(.95)}.hero:has(.first-name:hover) .hero-image-container[data-v-80daf4d8]{opacity:1;transform:translateY(-50%)translate(0)}.hero:has(.first-name:hover) .hero-photo[data-v-80daf4d8]{filter:drop-shadow(0 30px 60px #0009)grayscale(0)brightness();transform:scale(1)}@keyframes fadeIn-80daf4d8{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=1024px){.hero-image-container[data-v-80daf4d8]{display:none}}@media (width<=768px){.hero[data-v-80daf4d8]{text-align:center;justify-content:center;align-items:center;padding:2rem 5%}.hero-content[data-v-80daf4d8]{flex-direction:column;align-items:center;display:flex}.title[data-v-80daf4d8]{min-height:auto;font-size:3rem;transition:color .3s}.subtitle[data-v-80daf4d8],.role[data-v-80daf4d8]{font-size:1.5rem}.role[data-v-80daf4d8]{margin-bottom:2rem}.hero-content:hover .title[data-v-80daf4d8]{font-size:3rem}.cta-group[data-v-80daf4d8]{justify-content:center;align-items:center;gap:1.5rem}.primary-actions[data-v-80daf4d8]{justify-content:center;gap:1rem}.secondary-actions[data-v-80daf4d8]{justify-content:center}.btn[data-v-80daf4d8]{padding:.7rem 2rem;font-size:1rem}}.projects-page[data-v-21609f56]{background-color:var(--bg-dark);flex:1;height:100%;overflow:hidden}.projects-scroll[data-v-21609f56]{scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;height:100%;padding:2.5rem 3rem;overflow-y:auto}.projects-scroll[data-v-21609f56]::-webkit-scrollbar{width:6px}.projects-scroll[data-v-21609f56]::-webkit-scrollbar-track{background:0 0}.projects-scroll[data-v-21609f56]::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.project-card[data-v-21609f56]{align-items:flex-start;gap:3.5rem;max-width:900px;margin:0 auto;animation:.6s ease-out both cardFadeIn-21609f56;display:flex}.project-divider[data-v-21609f56]{background:linear-gradient(90deg, transparent 0%, var(--border-color) 20%, var(--border-color) 80%, transparent 100%);max-width:900px;height:1px;margin:3rem auto}@keyframes cardFadeIn-21609f56{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.carousel[data-v-21609f56]{flex-direction:column;gap:.6rem;width:370px;min-width:370px;display:flex}.carousel-viewport[data-v-21609f56]{aspect-ratio:1;background:var(--card-bg);border:1px solid var(--border-color);border-radius:.85rem;width:100%;position:relative;overflow:hidden}.carousel-track[data-v-21609f56]{height:100%;transition:transform .5s cubic-bezier(.16,1,.3,1);display:flex}.carousel-slide[data-v-21609f56]{min-width:100%;height:100%}.carousel-slide img[data-v-21609f56]{object-fit:cover;width:100%;height:100%;display:block}.carousel-btn[data-v-21609f56]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;opacity:0;background:#00000073;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.carousel-viewport:hover .carousel-btn[data-v-21609f56]{opacity:1}.carousel-btn[data-v-21609f56]:hover{background:#000000b3;transform:translateY(-50%)scale(1.08)}.carousel-btn--prev[data-v-21609f56]{left:12px}.carousel-btn--next[data-v-21609f56]{right:12px}.carousel-dots[data-v-21609f56]{justify-content:center;gap:.4rem;display:flex}.dot[data-v-21609f56]{background:var(--border-color);border-radius:50%;width:8px;height:8px;padding:0;transition:all .35s}.dot.active[data-v-21609f56]{background:#ffaf61;border-radius:4px;width:24px}.project-info[data-v-21609f56]{flex-direction:column;flex:1;gap:.75rem;min-width:0;padding:.25rem 0 0;display:flex}.project-title[data-v-21609f56]{letter-spacing:-.03em;background:var(--color-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.8rem;font-weight:700}.project-tagline[data-v-21609f56]{color:var(--text-secondary);font-size:1rem;font-style:italic;font-weight:300}.project-description[data-v-21609f56]{color:var(--text-secondary);font-size:.9rem;line-height:1.75}.tech-section[data-v-21609f56]{margin-top:.5rem}.tech-heading[data-v-21609f56]{text-transform:uppercase;letter-spacing:.12em;color:var(--text-secondary);margin-bottom:.7rem;font-size:.72rem;font-weight:600}.tech-grid[data-v-21609f56]{flex-wrap:wrap;gap:.5rem;display:flex}.tech-badge[data-v-21609f56]{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-primary);border-radius:9999px;align-items:center;gap:.4rem;padding:.35rem .85rem;font-size:.78rem;font-weight:500;transition:all .3s;display:inline-flex}.tech-badge[data-v-21609f56]:hover{background:var(--card-hover-bg);border-color:var(--text-secondary);transform:translateY(-2px)}.tech-icon[data-v-21609f56]{justify-content:center;align-items:center;font-size:.9rem;line-height:1;display:flex}.tech-logo[data-v-21609f56]{object-fit:contain;width:16px;height:16px}.project-links[data-v-21609f56]{flex-wrap:wrap;gap:.6rem;margin-top:.75rem;display:flex}.link-btn[data-v-21609f56]{cursor:pointer;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1.1rem;font-size:.82rem;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-flex}.link-btn--primary[data-v-21609f56]{background:var(--color-accent);color:var(--bg-dark);box-shadow:0 3px 12px #ffaf6133}.link-btn--primary[data-v-21609f56]:hover{background:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 6px 20px #ffaf6166}.link-btn--primary svg[data-v-21609f56]{stroke:var(--bg-dark)}.link-btn--github[data-v-21609f56]{border:1px solid var(--border-color);color:var(--text-primary);background:0 0}.link-btn--github[data-v-21609f56]:hover{border-color:var(--text-secondary);background:#ffffff0d;transform:translateY(-2px);box-shadow:0 4px 12px #0003}@media (width<=1100px){.carousel[data-v-21609f56]{width:320px;min-width:320px}.project-card[data-v-21609f56]{gap:3rem}}@media (width<=900px){.projects-scroll[data-v-21609f56]{padding:2rem 1.5rem}.project-card[data-v-21609f56]{flex-direction:column;gap:0;max-width:500px}.carousel[data-v-21609f56]{width:100%;min-width:0}.project-info[data-v-21609f56]{padding:1.5rem 0 2rem}.project-title[data-v-21609f56]{font-size:1.5rem}.project-tagline[data-v-21609f56]{font-size:.9rem}.project-description[data-v-21609f56]{font-size:.85rem}.carousel-viewport[data-v-21609f56]{border-radius:.75rem}.carousel-btn[data-v-21609f56]{opacity:1;width:32px;height:32px}.carousel-btn--prev[data-v-21609f56]{left:8px}.carousel-btn--next[data-v-21609f56]{right:8px}.carousel-btn svg[data-v-21609f56]{width:14px;height:14px}.tech-badge[data-v-21609f56]{padding:.3rem .7rem;font-size:.72rem}.project-divider[data-v-21609f56]{margin:2rem 0}.link-btn[data-v-21609f56]{padding:.4rem .9rem;font-size:.75rem}}@media (width<=480px){.projects-scroll[data-v-21609f56]{padding:1rem}.project-card[data-v-21609f56]{max-width:100%}.project-title[data-v-21609f56]{font-size:1.3rem}.project-info[data-v-21609f56]{gap:.5rem;padding:1.25rem 0 1.5rem}.tech-grid[data-v-21609f56]{gap:.35rem}.tech-badge[data-v-21609f56]{padding:.25rem .6rem;font-size:.68rem}.project-links[data-v-21609f56]{gap:.4rem}.link-btn[data-v-21609f56]{gap:.35rem;padding:.35rem .75rem;font-size:.7rem}.link-btn svg[data-v-21609f56]{width:13px;height:13px}}.blank-page[data-v-e74a1bcc]{background-color:var(--bg-dark);flex:1}.section-container[data-v-e74a1bcc]{background-color:var(--bg-dark);flex-direction:column;flex:1;gap:3rem;height:100%;padding:4rem 6rem;display:flex;overflow-y:auto}.contact-block[data-v-e74a1bcc]{flex-direction:column;gap:2rem;display:flex}.header[data-v-e74a1bcc]{max-width:600px}.title[data-v-e74a1bcc]{background:var(--color-accent);-webkit-text-fill-color:transparent;letter-spacing:-.05em;-webkit-background-clip:text;margin-bottom:1rem;font-size:3.5rem;font-weight:700}.section-title[data-v-e74a1bcc]{color:var(--text-primary);letter-spacing:-.03em;margin-bottom:1rem;font-size:2.5rem;font-weight:700}.subtitle[data-v-e74a1bcc]{color:var(--text-secondary);font-size:1.1rem;line-height:1.6}.resume-cta[data-v-e74a1bcc]{margin-top:2rem}.btn-resume[data-v-e74a1bcc]{background:var(--color-accent);color:var(--bg-dark);border-radius:.75rem;align-items:center;gap:.75rem;padding:.8rem 1.8rem;font-size:1rem;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 15px #ffaf6133}.btn-resume[data-v-e74a1bcc]:hover{background:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 8px 25px #ffaf6166}.btn-resume svg[data-v-e74a1bcc]{transition:transform .3s}.btn-resume:hover svg[data-v-e74a1bcc]{transform:translateY(2px)}.grid[data-v-e74a1bcc]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.card[data-v-e74a1bcc]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:1.5rem;align-items:center;gap:1.5rem;padding:2rem;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex}.card[data-v-e74a1bcc]:hover{background:var(--card-hover-bg);border-color:var(--text-secondary);transform:translateY(-5px)}.icon-wrapper[data-v-e74a1bcc]{background:var(--bg-sidebar-active);width:56px;height:56px;color:var(--text-primary);border-radius:1rem;justify-content:center;align-items:center;transition:all .4s;display:flex}.card:hover .icon-wrapper[data-v-e74a1bcc]{background:var(--color-accent);color:var(--bg-dark)}.icon-wrapper svg[data-v-e74a1bcc]{width:24px;height:24px}.info[data-v-e74a1bcc]{flex-direction:column;gap:.25rem;display:flex}.label[data-v-e74a1bcc]{text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);font-size:.85rem;font-weight:600}.value[data-v-e74a1bcc]{color:var(--text-primary);font-size:1rem;font-weight:500}@media (width<=768px){.section-container[data-v-e74a1bcc]{padding:2rem}.title[data-v-e74a1bcc]{font-size:2.5rem}.grid[data-v-e74a1bcc]{grid-template-columns:1fr}}.chord-container[data-v-f729b992]{z-index:1000;flex-direction:column;align-items:center;display:flex;position:fixed;top:0;left:75%;transform:translate(-50%)}.chord-knob[data-v-f729b992]{background:var(--border-color);border-radius:0 0 2px 2px;flex-shrink:0;width:8px;height:4px}.chord-line[data-v-f729b992]{background:var(--text-secondary);opacity:.4;transform-origin:top;width:1px;height:40px;transition:height .2s cubic-bezier(.17,.67,.83,.67)}.pulling .chord-line[data-v-f729b992]{height:55px}.chord-handle[data-v-f729b992]{border:1.5px solid var(--border-color);cursor:pointer;background:#f1f3f5;border-radius:8px;justify-content:center;align-items:center;width:16px;height:32px;margin-top:-1px;padding:0;transition:all .3s,transform .2s cubic-bezier(.17,.67,.83,.67);display:flex;position:relative;overflow:hidden;box-shadow:0 2px 6px #00000026}[data-theme=light] .chord-handle[data-v-f729b992]{background:#fff;border-color:#fff;box-shadow:0 0 15px #fff9,0 2px 6px #0000001a}[data-theme=light] .handle-inner[data-v-f729b992]{opacity:1;background:#f59e0b;box-shadow:0 0 8px #f59e0b}.handle-inner[data-v-f729b992]{opacity:.4;background:#555;border-radius:2px;width:5px;height:14px;transition:all .3s}.chord-handle[data-v-f729b992]:hover{transform:scale(1.1);box-shadow:0 4px 10px #0003}.pulling .chord-handle[data-v-f729b992]{transform:scale(1)}@media (width<=768px){.chord-container[data-v-f729b992]{left:75%}.chord-line[data-v-f729b992]{height:30px}.pulling .chord-line[data-v-f729b992]{height:45px}}.app-container{background-color:var(--bg-dark);width:100vw;height:100dvh;display:flex;position:relative;overflow:hidden}.layout-item{height:100%;transition:all .8s cubic-bezier(.4,0,.2,1);display:flex}.sidebar-item{flex-shrink:0;width:60px}.content-item{flex:1;min-width:0}.main-content{width:100%;height:100%;display:flex;position:relative;overflow:hidden}.stack-move{transition:all .8s cubic-bezier(.4,0,.2,1)}.slide-fade-enter-active,.slide-fade-leave-active{transition:all .5s}.slide-fade-enter-from{opacity:0;transform:translate(30px)}.slide-fade-leave-to{opacity:0;transform:translate(-30px)}@media (width<=768px){.app-container{flex-direction:column}.layout-item{width:100%;height:auto}.sidebar-item{flex-shrink:0;width:100%;height:50px}.content-item{flex:1;min-height:0}.slide-fade-enter-from{opacity:0;transform:translateY(30px)}.slide-fade-leave-to{opacity:0;transform:translateY(-30px)}}
