.animated-canvas[data-v-eab08ab3]{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:0;opacity:.6}.lang-selector[data-v-9fc2bc08]{display:flex;gap:.125rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:2px;overflow:hidden}.lang-btn[data-v-9fc2bc08]{font-family:var(--font-mono);font-size:.7rem;font-weight:500;padding:.3rem .5rem;background:transparent;color:var(--text-tertiary);border:none;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);letter-spacing:.05em}.lang-btn[data-v-9fc2bc08]:hover{color:var(--text-secondary);background:var(--bg-tertiary)}.lang-btn.active[data-v-9fc2bc08]{color:var(--text-primary);background:var(--bg-elevated)}.nav[data-v-4dfc42db]{position:fixed;top:0;left:0;right:0;z-index:100;padding:var(--space-md) 0;transition:background var(--duration-normal) var(--ease-out),backdrop-filter var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out);border-bottom:1px solid transparent}.nav.scrolled[data-v-4dfc42db]{background:#0a0a0ad9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom-color:var(--border-subtle)}.nav-inner[data-v-4dfc42db]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg)}.nav-logo[data-v-4dfc42db]{display:flex;align-items:center;gap:.125rem;text-decoration:none}.nav-logo-bracket[data-v-4dfc42db]{font-family:var(--font-mono);font-size:1.25rem;color:var(--rust-silver);font-weight:300}.nav-logo-text[data-v-4dfc42db]{font-family:var(--font-mono);font-size:1.5rem;font-weight:600;color:var(--text-primary);letter-spacing:-.03em}.nav-links[data-v-4dfc42db]{display:flex;align-items:center;gap:var(--space-lg)}.nav-link[data-v-4dfc42db]{font-family:var(--font-mono);font-size:1rem;color:var(--text-secondary);text-decoration:none;transition:color var(--duration-fast) var(--ease-out);position:relative}.nav-link[data-v-4dfc42db]:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--text-primary);transition:width var(--duration-normal) var(--ease-out)}.nav-link[data-v-4dfc42db]:hover{color:var(--text-primary)}.nav-link[data-v-4dfc42db]:hover:after{width:100%}.nav-actions[data-v-4dfc42db]{display:flex;align-items:center;gap:var(--space-md)}.mobile-toggle[data-v-4dfc42db]{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:4px}.mobile-toggle span[data-v-4dfc42db]{display:block;width:18px;height:1.5px;background:var(--text-primary);transition:all var(--duration-fast) var(--ease-out)}.mobile-toggle.open span[data-v-4dfc42db]:nth-child(1){transform:translateY(5.5px) rotate(45deg)}.mobile-toggle.open span[data-v-4dfc42db]:nth-child(2){opacity:0}.mobile-toggle.open span[data-v-4dfc42db]:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}.hero[data-v-4dfc42db]{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding-top:6rem}.hero-grid[data-v-4dfc42db]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);align-items:start}.hero-headline[data-v-4dfc42db]{font-size:clamp(4rem,9vw,6.5rem);line-height:1.05;margin-bottom:var(--space-lg)}.hero-headline em[data-v-4dfc42db]{display:block;color:var(--rust-orange);font-style:italic}.hero-tagline[data-v-4dfc42db]{font-size:1.25rem;line-height:1.85;color:var(--text-tertiary);max-width:640px;margin-bottom:var(--space-xl)}.hero-actions[data-v-4dfc42db]{display:flex;align-items:center;gap:var(--space-lg)}.btn-primary[data-v-4dfc42db]{display:inline-flex;align-items:center;gap:var(--space-sm);font-family:var(--font-mono);font-size:1rem;font-weight:600;padding:1.125rem 2.25rem;background:var(--rust-orange);color:#fff;border:none;border-radius:3px;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);text-decoration:none}.btn-primary[data-v-4dfc42db]:hover{background:#e84a1a;transform:translateY(-2px);box-shadow:0 6px 24px #d345164d}.hero-meta[data-v-4dfc42db]{display:flex;align-items:center;gap:var(--space-sm);color:var(--text-tertiary);font-size:.9375rem}.hero-meta-dot[data-v-4dfc42db]{width:6px;height:6px;border-radius:50%;background:var(--rust-orange)}.pulse[data-v-4dfc42db]{animation:pulseGlow 2s ease-in-out infinite}.hero-metrics[data-v-4dfc42db]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);padding-top:var(--space-lg)}.metric-card[data-v-4dfc42db]{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-lg);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:2px;transition:all var(--duration-fast) var(--ease-out)}.metric-card[data-v-4dfc42db]:hover{border-color:var(--text-tertiary);background:var(--bg-tertiary);transform:translateY(-2px)}.metric-value[data-v-4dfc42db]{font-family:var(--font-mono);font-size:2.75rem;font-weight:700;color:var(--rust-orange);line-height:1}.metric-value small[data-v-4dfc42db]{font-size:1.375rem;font-weight:400;color:var(--rust-orange);opacity:.7}.metric-label[data-v-4dfc42db]{font-size:.9375rem;color:var(--text-secondary);line-height:1.4}.hero-tech-strip[data-v-4dfc42db]{margin-top:var(--space-2xl);overflow:hidden;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);padding:.75rem 0;background:var(--bg-secondary)}.tech-strip-inner[data-v-4dfc42db]{display:flex;gap:.75rem;align-items:center;white-space:nowrap;animation:scrollStrip-4dfc42db 30s linear infinite;font-family:var(--font-mono);font-size:.9375rem;color:var(--text-tertiary);letter-spacing:.05em}.tech-strip-inner .dot[data-v-4dfc42db]{color:var(--rust-silver);font-size:.6rem}@keyframes scrollStrip-4dfc42db{0%{transform:translate(0)}to{transform:translate(-50%)}}.about-layout[data-v-4dfc42db]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl)}.about-body[data-v-4dfc42db]{font-size:1.25rem;line-height:1.95;color:var(--text-secondary);max-width:640px}.about-stats[data-v-4dfc42db]{display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:2px;overflow:hidden}.stat-row[data-v-4dfc42db]{display:grid;grid-template-columns:1fr 1.5fr .5fr;gap:var(--space-md);padding:var(--space-lg) var(--space-lg);border-bottom:1px solid var(--border-subtle);align-items:center;transition:background var(--duration-fast) var(--ease-out)}.stat-row[data-v-4dfc42db]:last-child{border-bottom:none}.stat-row[data-v-4dfc42db]:hover{background:var(--bg-tertiary)}.stat-metric[data-v-4dfc42db]{font-size:.9375rem;color:var(--rust-silver)}.stat-value[data-v-4dfc42db]{font-size:1rem;color:var(--text-secondary)}.stat-arrow[data-v-4dfc42db]{color:var(--text-muted);margin:0 .25rem}.stat-improved[data-v-4dfc42db]{color:var(--rust-orange);font-weight:600}.stat-pct[data-v-4dfc42db]{font-size:.9375rem;font-weight:700;color:var(--rust-orange);text-align:right}.timeline[data-v-4dfc42db]{display:flex;flex-direction:column;gap:0}.timeline-item[data-v-4dfc42db]{display:grid;grid-template-columns:48px 1fr;gap:var(--space-lg);padding:var(--space-xl) 0;border-bottom:1px solid var(--border-subtle);position:relative}.timeline-item[data-v-4dfc42db]:first-child{padding-top:0}.timeline-item[data-v-4dfc42db]:last-child{border-bottom:none;padding-bottom:0}.timeline-marker[data-v-4dfc42db]{display:flex;flex-direction:column;align-items:center}.timeline-num[data-v-4dfc42db]{font-size:.875rem;font-weight:600;color:var(--rust-silver);line-height:1;margin-bottom:var(--space-sm)}.timeline-line[data-v-4dfc42db]{width:1px;flex:1;background:var(--border-color)}.timeline-item:last-child .timeline-line[data-v-4dfc42db]{display:none}.timeline-content[data-v-4dfc42db]{display:flex;flex-direction:column;gap:var(--space-md)}.timeline-header[data-v-4dfc42db]{display:flex;flex-direction:column;gap:var(--space-xs)}.timeline-period[data-v-4dfc42db]{font-size:.875rem;color:var(--rust-silver);letter-spacing:.05em}.timeline-role[data-v-4dfc42db]{font-size:2rem;font-weight:400;color:var(--text-primary)}.timeline-company[data-v-4dfc42db]{font-size:1rem;color:var(--rust-silver)}.timeline-highlights[data-v-4dfc42db]{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.timeline-highlights li[data-v-4dfc42db]{font-size:1.0625rem;color:var(--text-secondary);line-height:1.75;padding-left:var(--space-md);position:relative}.timeline-highlights li[data-v-4dfc42db]:before{content:"▸";position:absolute;left:0;color:var(--text-tertiary);font-family:var(--font-mono);font-size:.7rem}.skills-grid[data-v-4dfc42db]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.skill-category[data-v-4dfc42db]{padding:var(--space-lg);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:2px;transition:all var(--duration-fast) var(--ease-out)}.skill-category[data-v-4dfc42db]:hover{border-color:var(--text-tertiary);background:var(--bg-tertiary)}.skill-category-header[data-v-4dfc42db]{display:flex;align-items:baseline;gap:var(--space-sm);margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-subtle)}.skill-category-num[data-v-4dfc42db]{font-size:.8125rem;color:var(--rust-silver);font-weight:600;min-width:1.5rem}.skill-category-name[data-v-4dfc42db]{font-family:var(--font-display);font-size:1.5rem;font-weight:400;color:var(--text-primary);font-style:italic}.skill-list[data-v-4dfc42db]{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.skill-item[data-v-4dfc42db]{font-size:1rem;color:var(--text-secondary);line-height:1.65;display:flex;gap:var(--space-sm);align-items:flex-start}.skill-bullet[data-v-4dfc42db]{color:var(--text-tertiary);font-family:var(--font-mono);font-size:.65rem;flex-shrink:0;margin-top:.125rem}.contact-subtitle[data-v-4dfc42db]{font-size:1.0625rem;color:var(--text-tertiary);margin-bottom:var(--space-xl)}.contact-links[data-v-4dfc42db]{display:flex;flex-direction:column;gap:0;max-width:480px;margin:0 auto;border:1px solid var(--border-color);border-radius:2px;overflow:hidden}.contact-link[data-v-4dfc42db]{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);transition:all var(--duration-fast) var(--ease-out);text-decoration:none}.contact-link[data-v-4dfc42db]:last-child{border-bottom:none}.contact-link[data-v-4dfc42db]:hover{background:var(--bg-tertiary);padding-left:calc(var(--space-lg) + 4px)}.contact-link-num[data-v-4dfc42db]{font-size:.8125rem;color:var(--rust-silver);font-weight:600;min-width:1.5rem}.contact-link-label[data-v-4dfc42db]{font-family:var(--font-display);font-size:1.625rem;color:var(--text-primary);flex:1;text-align:left}.contact-link-arrow[data-v-4dfc42db]{font-size:1rem;color:var(--text-tertiary);transition:transform var(--duration-fast) var(--ease-out)}.contact-link:hover .contact-link-arrow[data-v-4dfc42db]{transform:translate(2px,-2px)}.footer[data-v-4dfc42db]{padding:var(--space-xl) 0 var(--space-lg)}.footer-inner[data-v-4dfc42db]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-xl);margin-bottom:var(--space-xl)}.footer-brand[data-v-4dfc42db]{display:flex;flex-direction:column;gap:var(--space-sm)}.footer-desc[data-v-4dfc42db]{font-size:.875rem;color:var(--text-tertiary)}.footer-links[data-v-4dfc42db],.footer-social[data-v-4dfc42db]{display:flex;flex-direction:column;gap:var(--space-sm)}.footer-link[data-v-4dfc42db]{font-size:.875rem;color:var(--text-tertiary);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}.footer-link[data-v-4dfc42db]:hover{color:var(--text-primary)}.footer-meta[data-v-4dfc42db]{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-lg);border-top:1px solid var(--border-subtle);font-size:.8125rem;color:var(--text-muted)}@media(max-width:1024px){.skills-grid[data-v-4dfc42db]{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.hero-grid[data-v-4dfc42db],.about-layout[data-v-4dfc42db]{grid-template-columns:1fr}.hero-metrics[data-v-4dfc42db]{grid-template-columns:1fr 1fr}.skills-grid[data-v-4dfc42db]{grid-template-columns:1fr}.footer-inner[data-v-4dfc42db]{grid-template-columns:1fr;gap:var(--space-lg)}.footer-meta[data-v-4dfc42db]{flex-direction:column;gap:var(--space-sm);text-align:center}.nav-links[data-v-4dfc42db]{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#0a0a0afa;flex-direction:column;justify-content:center;gap:var(--space-xl);z-index:99}.nav-links.open[data-v-4dfc42db]{display:flex}.nav-link[data-v-4dfc42db]{font-size:1.5rem}.mobile-toggle[data-v-4dfc42db]{display:flex}.timeline-item[data-v-4dfc42db]{grid-template-columns:32px 1fr;gap:var(--space-md)}.stat-row[data-v-4dfc42db]{grid-template-columns:1fr 1fr;gap:var(--space-sm)}.stat-pct[data-v-4dfc42db]{grid-column:1 / -1;text-align:left}}@media(max-width:480px){.hero-headline[data-v-4dfc42db]{font-size:2rem}.metric-card[data-v-4dfc42db]{padding:var(--space-md)}.metric-value[data-v-4dfc42db]{font-size:1.5rem}}:root{--rust-dark-blue: #1e2650;--rust-orange: #d34516;--rust-blue: #28607f;--rust-silver: #67737a;--rust-green: #61784d;--bg-primary: #08080f;--bg-secondary: #0d0f1a;--bg-tertiary: #141724;--bg-elevated: #1a1e30;--border-color: #2a2f4a;--border-subtle: #1e2238;--text-primary: #f5f5f7;--text-secondary: #d0d0d8;--text-tertiary: #9a9aac;--text-muted: #68687a;--accent: var(--rust-orange);--accent-glow: rgba(211, 69, 22, .12);--accent-dim: var(--rust-silver);--rust: var(--rust-orange);--rust-dim: rgba(211, 69, 22, .15);--python: #3776ab;--metric-green: #4ade80;--metric-green-dim: rgba(74, 222, 128, .12);--metric-blue: var(--rust-blue);--metric-blue-dim: rgba(40, 96, 127, .15);--font-display: "Instrument Serif", Georgia, "Times New Roman", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 2rem;--space-xl: 4rem;--space-2xl: 8rem;--space-3xl: 12rem;--content-max: 1280px;--content-narrow: 800px;--ease-out: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:20px;line-height:1.85;color:var(--text-primary);background-color:var(--bg-primary);overflow-x:hidden}::selection{background:var(--rust-dim);color:#fff}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.heading-serif{font-family:var(--font-display);font-weight:400;line-height:1.1;letter-spacing:-.02em}.heading-serif em{font-style:italic;color:var(--text-primary)}.text-mono{font-family:var(--font-mono);font-size:1rem;letter-spacing:-.01em}.section-badge{display:inline-flex;align-items:center;gap:var(--space-sm);font-family:var(--font-mono);font-size:.875rem;font-weight:600;color:var(--rust-silver);text-transform:uppercase;letter-spacing:.12em;margin-bottom:var(--space-lg);padding:.5rem .875rem;border:1px solid var(--border-color);border-radius:3px;background:var(--bg-secondary)}.section-badge:before{content:"";display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:var(--rust-orange)}.container{width:100%;max-width:var(--content-max);margin:0 auto;padding:0 var(--space-lg)}.container-narrow{max-width:var(--content-narrow);margin:0 auto;padding:0 var(--space-lg)}.section{padding:var(--space-2xl) 0;position:relative}@media(min-width:768px){.section{padding:var(--space-3xl) 0}}.section-title{font-family:var(--font-display);font-size:clamp(2.75rem,7vw,4.75rem);font-weight:400;line-height:1.15;color:var(--text-primary);margin-bottom:var(--space-xl);letter-spacing:-.02em}.section-title em{font-style:italic;color:var(--rust-silver)}.brutal-divider{width:100%;height:1px;background:var(--border-color);border:none;margin:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulseGlow{0%,to{opacity:.4}50%{opacity:.8}}.animate-in{animation:fadeInUp var(--duration-slow) var(--ease-out) forwards;opacity:0}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@media(max-width:640px){:root{--space-lg: 1.25rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem}body{font-size:16px}.container{padding:0 var(--space-md)}}
