*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #ffffff;--color-bg-alt: #f4f4f5;--color-surface: #e4e4e7;--color-text: #18181b;--color-text-muted: #71717a;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-primary-light: rgba(59, 130, 246, .3);--color-secondary: #a78bfa;--color-accent: #f59e0b;--color-border: #d4d4d8;--color-navbar-bg: #ffffff;--color-navbar-text: #18181b;--color-card-border: #d4d4d8;--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 2rem;--space-xl: 4rem}[data-theme=dark]{--color-bg: #09090b;--color-bg-alt: #18181b;--color-surface: #27272a;--color-text: #fafafa;--color-text-muted: #a1a1aa;--color-primary: #60a5fa;--color-primary-hover: #93c5fd;--color-primary-light: rgba(96, 165, 250, .3);--color-secondary: #a78bfa;--color-accent: #fbbf24;--color-border: #3f3f46;--color-navbar-bg: #1a1a2e;--color-navbar-text: #fafafa;--color-card-border: #3f3f46}html{font-family:var(--font-sans);font-size:15px;color:var(--color-text);background-color:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh}.navbar[data-v-be381b49]{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-lg);height:64px;background-color:var(--color-navbar-bg);box-shadow:0 1px 3px #0000001a;position:sticky;top:0;z-index:50}.navbar-start[data-v-be381b49]{display:flex;align-items:center;gap:var(--space-md);flex:1;position:relative}.navbar-end[data-v-be381b49]{display:flex;align-items:center;gap:var(--space-md);flex:1;justify-content:flex-end}.navbar-center[data-v-be381b49]{display:flex;align-items:center;justify-content:center}.logo-text[data-v-be381b49]{font-weight:600;font-size:1.25rem;color:var(--color-text);text-decoration:none}.hamburger-btn[data-v-be381b49]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:var(--radius-full, 9999px);background:transparent;color:var(--color-text);cursor:pointer}.hamburger-btn[data-v-be381b49]:hover{background-color:var(--color-surface)}.nav-links[data-v-be381b49]{display:flex;align-items:center;gap:var(--space-xs);list-style:none;margin:0;padding:0}.nav-links li a[data-v-be381b49]{display:block;padding:var(--space-xs) var(--space-sm);color:var(--color-text);text-decoration:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;transition:background-color .2s}.nav-links li a[data-v-be381b49]:hover{background-color:var(--color-surface)}@media(min-width:768px){.hamburger-btn[data-v-be381b49]{display:none}}@media(max-width:767px){.nav-links[data-v-be381b49]{display:none;position:absolute;top:100%;left:0;margin-top:4px;flex-direction:column;min-width:208px;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;padding:var(--space-sm);z-index:100}.nav-links--open[data-v-be381b49]{display:flex}}.theme-btn[data-v-be381b49]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--radius-full, 9999px);background:transparent;color:var(--color-text);cursor:pointer;transition:background-color .2s}.theme-btn[data-v-be381b49]:hover{background-color:var(--color-surface)}.lang-toggle[data-v-be381b49]{display:flex;align-items:center;gap:var(--space-sm)}.lang-toggle svg[data-v-be381b49]{display:block;border-radius:2px}.toggle-switch[data-v-be381b49]{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.toggle-switch input[data-v-be381b49]{opacity:0;width:0;height:0}.toggle-slider[data-v-be381b49]{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--color-surface);border-radius:24px;transition:background-color .3s}.toggle-slider[data-v-be381b49]:before{content:"";position:absolute;left:2px;top:2px;width:20px;height:20px;background-color:var(--color-text);border-radius:50%;transition:transform .3s}.toggle-switch input:checked+.toggle-slider[data-v-be381b49]{background-color:var(--color-primary)}.toggle-switch input:checked+.toggle-slider[data-v-be381b49]:before{transform:translate(20px);background-color:#fff}.hero[data-v-3405b752]{display:flex;justify-content:center;align-items:center;min-height:100vh;text-align:center;position:relative}.hero-grid[data-v-3405b752]{display:grid;grid-template-columns:1fr;align-items:center;padding:var(--space-sm) var(--space-lg);position:relative;z-index:1;width:100%;max-width:1200px}.hero-text[data-v-3405b752]{text-align:center}.hero-title[data-v-3405b752]{margin-bottom:1.5rem;font-size:3rem;font-weight:700;color:var(--color-primary)}.hero-desc[data-v-3405b752]{max-width:36rem;margin:0 auto;font-size:1.125rem;font-weight:600;color:var(--color-text);line-height:1.6}.hero-desc+.hero-desc[data-v-3405b752]{margin-top:var(--space-md)}.hero-image-wrapper[data-v-3405b752]{display:flex;flex-direction:column;align-items:center;margin-top:5rem}.hero-card[data-v-3405b752]{position:relative;margin:30px}.hero-card[data-v-3405b752]:before{content:"";position:absolute;top:-15px;left:-15px;width:calc(100% + 30px);height:calc(100% + 30px);border-radius:var(--radius-lg);background:linear-gradient(to right,var(--color-primary),var(--color-secondary),var(--color-accent));opacity:.3}.hero-card-inner[data-v-3405b752]{position:relative;width:280px;height:350px}.hero-img[data-v-3405b752]{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;display:block}@media(min-width:1024px){.hero-grid[data-v-3405b752]{grid-template-columns:1fr 1fr}.hero-text[data-v-3405b752]{text-align:left}.hero-desc[data-v-3405b752]{margin-left:0}.hero-image-wrapper[data-v-3405b752]{align-items:center;margin-top:0}.hero-card[data-v-3405b752]{width:420px;height:420px}.hero-card[data-v-3405b752]:before{width:calc(100% + 30px);height:calc(100% + 30px)}.hero-card-inner[data-v-3405b752]{width:420px;height:420px}.hero-title[data-v-3405b752]{font-size:3.75rem}.hero-bg-deco[data-v-3405b752]{display:block}}.hero-socials[data-v-3405b752]{display:flex;gap:var(--space-md);justify-content:center;margin-top:var(--space-lg)}.hero-social-link[data-v-3405b752]{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:50%;border:1px solid var(--color-border);color:var(--color-text-muted);background:none;cursor:pointer;transition:color .2s,border-color .2s,transform .2s;padding:0}.hero-social-link[data-v-3405b752]:hover{color:var(--color-primary);border-color:var(--color-primary);transform:translateY(-2px)}.hero-toast[data-v-3405b752]{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);padding:var(--space-sm) var(--space-lg);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;white-space:nowrap;z-index:1000;box-shadow:0 4px 12px #0003}.toast-enter-active[data-v-3405b752],.toast-leave-active[data-v-3405b752]{transition:opacity .3s ease,transform .3s ease}.toast-enter-from[data-v-3405b752],.toast-leave-to[data-v-3405b752]{opacity:0;transform:translate(-50%) translateY(1rem)}@media(max-width:1023px){.hero-bg-deco[data-v-3405b752]{display:none}}.section-title[data-v-248a7e6f]{font-size:3rem;font-weight:700;color:var(--color-text);padding-bottom:var(--space-sm);margin:0 auto;display:block;text-align:center;border-bottom:3px solid var(--color-primary);width:fit-content}.skills-section[data-v-ca3ff8ae]{padding:var(--space-xl) var(--space-lg);max-width:900px;margin:0 auto}.section-header-spacer[data-v-ca3ff8ae]{margin-bottom:var(--space-lg)}.skills-list[data-v-ca3ff8ae]{display:flex;flex-wrap:wrap;gap:var(--space-md);padding:var(--space-md);list-style:none}.skill-item[data-v-ca3ff8ae]{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-sm);border-radius:var(--radius-sm);transition:background .2s,transform .2s;cursor:default;min-width:64px}.skill-item[data-v-ca3ff8ae]:hover{background:var(--color-surface);transform:translateY(-2px)}.skill-item:hover .skill-icon[data-v-ca3ff8ae]{filter:invert(46%) sepia(98%) saturate(432%) hue-rotate(196deg) brightness(101%) contrast(96%);transition:filter .2s}.skill-item:hover .skill-initial[data-v-ca3ff8ae],.skill-item:hover .skill-label[data-v-ca3ff8ae]{color:var(--color-primary)}.skill-icon[data-v-ca3ff8ae]{font-size:2.5rem;color:var(--color-text);transition:color .2s}.skill-label[data-v-ca3ff8ae]{font-size:.75rem;color:var(--color-text-muted);text-align:center;transition:color .2s}.skill-category[data-v-ca3ff8ae]{margin-bottom:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.skill-category-header[data-v-ca3ff8ae]{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:none;cursor:pointer;text-align:left;transition:background .2s;box-sizing:border-box;-webkit-appearance:none}.skill-category-header[data-v-ca3ff8ae]:hover{background:var(--color-bg-alt)}.skill-category-title[data-v-ca3ff8ae]{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);border-left:3px solid var(--color-primary);padding-left:var(--space-sm)}.skill-category-chevron[data-v-ca3ff8ae]{font-size:1.1rem;color:var(--color-text-muted);transition:transform .25s ease;display:inline-block}.skill-category-title[data-v-ca3ff8ae],.skill-category-chevron[data-v-ca3ff8ae]{pointer-events:none}.skill-category-chevron.is-open[data-v-ca3ff8ae]{transform:rotate(180deg)}.skill-initial[data-v-ca3ff8ae]{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);font-size:1.1rem;font-weight:700;color:var(--color-primary);transition:color .2s}.skill-icon-lucide[data-v-ca3ff8ae]{width:2.5rem;height:2.5rem;color:var(--color-primary);display:block;flex-shrink:0}.skills-list--soft[data-v-ca3ff8ae]{justify-content:center;max-width:900px;margin:0 auto}.soft-icon[data-v-ca3ff8ae]{width:4rem;height:4rem;margin-bottom:var(--space-sm);color:var(--color-primary)}.soft-icon svg[data-v-ca3ff8ae]{width:100%;height:100%}.accordion-enter-active[data-v-ca3ff8ae],.accordion-leave-active[data-v-ca3ff8ae]{transition:max-height .3s ease,opacity .3s ease;max-height:400px;overflow:hidden}.accordion-enter-from[data-v-ca3ff8ae],.accordion-leave-to[data-v-ca3ff8ae]{max-height:0;opacity:0}.experience-section[data-v-5a598215]{padding:var(--space-xl) 0}.timeline[data-v-5a598215]{position:relative;max-width:900px;margin:5rem auto 0;padding-left:2rem}.timeline[data-v-5a598215]:before{content:"";position:absolute;left:.75rem;top:0;bottom:0;width:2px;background-color:var(--color-primary);opacity:.25}.timeline-item[data-v-5a598215]{position:relative;display:flex;margin-bottom:var(--space-xl)}.timeline-item[data-v-5a598215]:last-child{margin-bottom:0}.timeline-dot-wrapper[data-v-5a598215]{position:absolute;left:-2rem;top:.5rem;display:flex;align-items:center;justify-content:center;width:1.5rem}.timeline-dot[data-v-5a598215]{display:block;width:12px;height:12px;border-radius:50%;background-color:var(--color-primary);flex-shrink:0}.timeline-dot--current[data-v-5a598215]{width:16px;height:16px;box-shadow:0 0 0 4px var(--color-primary-light)}.timeline-card[data-v-5a598215]{flex:1;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);position:relative;margin-left:1.5rem}.timeline-card[data-v-5a598215]:before{content:"";position:absolute;left:-8px;top:.75rem;width:14px;height:14px;background-color:var(--color-surface);border-left:1px solid var(--color-border);border-bottom:1px solid var(--color-border);transform:rotate(45deg)}.timeline-card-header[data-v-5a598215]{display:flex;flex-direction:column;gap:.15rem;margin-bottom:var(--space-sm)}.timeline-role[data-v-5a598215]{font-weight:700;font-size:1.1rem;color:var(--color-text)}.timeline-company[data-v-5a598215]{color:var(--color-primary);font-weight:600;font-size:.95rem}.timeline-period[data-v-5a598215]{display:flex;align-items:center;gap:.35rem;color:var(--color-text-muted);font-size:.85rem;margin-bottom:var(--space-md)}.timeline-period-icon[data-v-5a598215]{flex-shrink:0}.timeline-badge[data-v-5a598215]{display:inline-block;margin-left:.5rem;padding:.1rem .5rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background-color:var(--color-primary);color:#fff;border-radius:var(--radius-sm);line-height:1.4}.timeline-bullets[data-v-5a598215]{list-style:disc;padding-left:1.25rem;display:flex;flex-direction:column;gap:var(--space-sm)}.timeline-bullets li[data-v-5a598215]{color:var(--color-text);line-height:1.6;font-size:.9rem}@media(max-width:768px){.timeline[data-v-5a598215]{padding-left:1.5rem}.timeline[data-v-5a598215]:before{left:.25rem}.timeline-dot-wrapper[data-v-5a598215]{left:-1.5rem}.timeline-card[data-v-5a598215]{margin-left:1rem}}.contact-section[data-v-d8824d87]{padding:var(--space-xl) var(--space-lg);max-width:640px;margin:0 auto}.contact-subtitle[data-v-d8824d87]{text-align:center;color:var(--color-text-muted);margin-bottom:var(--space-lg);font-size:1rem}.contact-form[data-v-d8824d87]{display:flex;flex-direction:column;gap:var(--space-md)}.contact-honeypot[data-v-d8824d87]{position:absolute;left:-9999px;opacity:0;pointer-events:none}.form-group[data-v-d8824d87]{display:flex;flex-direction:column;gap:var(--space-xs)}.form-label[data-v-d8824d87]{font-size:.875rem;font-weight:500;color:var(--color-text)}.form-input[data-v-d8824d87]{padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:.95rem;transition:border-color .2s,box-shadow .2s;outline:none;font-family:var(--font-sans)}.form-input[data-v-d8824d87]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-input.is-error[data-v-d8824d87]{border-color:#ef4444}.form-textarea[data-v-d8824d87]{resize:vertical;min-height:120px}.form-error[data-v-d8824d87]{font-size:.8rem;color:#ef4444}.form-captcha[data-v-d8824d87]{display:flex;flex-direction:column;gap:var(--space-xs)}.form-submit[data-v-d8824d87]{padding:var(--space-sm) var(--space-lg);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s;align-self:flex-start}.form-submit[data-v-d8824d87]:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px)}.form-submit[data-v-d8824d87]:disabled{opacity:.6;cursor:not-allowed}.form-feedback[data-v-d8824d87]{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:.9rem;font-weight:500}.form-feedback--success[data-v-d8824d87]{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.form-feedback--error[data-v-d8824d87]{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.page{background-color:var(--color-bg-alt);min-height:100vh}.page-deco{position:fixed;width:50%;aspect-ratio:16 / 5;border-radius:9999px;background:linear-gradient(to right,var(--color-primary),var(--color-secondary),var(--color-accent));opacity:.3;filter:blur(100px)}.page-deco--tl{left:40px;top:0;transform:skew(-12deg)}.page-deco--br{right:40px;bottom:0;transform:skew(-12deg)}
