:root{--primary-bg: #09090b;--secondary-bg: #121214;--card-bg: rgba(18, 18, 20, .6);--border-color: #27272a;--border-color-hover: #3f3f46;--accent-color: #10b981;--accent-color-glow: rgba(16, 185, 129, .2);--text-primary: #e4e4e7;--text-bright: #ffffff;--text-muted: #71717a;--text-muted-bright: #a1a1aa;--sans-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--serif-font: "Lora", Georgia, Cambria, "Times New Roman", Times, serif;--mono-font: "JetBrains Mono", sfmono-regular, Consolas, "Liberation Mono", Menlo, Courier, monospace;--sidebar-width: 300px;--transition-speed: .25s}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--primary-bg);color:var(--text-primary);font-family:var(--sans-font);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--primary-bg)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-color-hover)}.font-sans{font-family:var(--sans-font)}.font-serif{font-family:var(--serif-font)}.font-serif-italic{font-family:var(--serif-font);font-style:italic}.font-mono{font-family:var(--mono-font);font-size:.85em}.text-accent{color:var(--accent-color)!important}.text-muted{color:var(--text-muted)!important}.text-muted-bright{color:var(--text-muted-bright)!important}.text-bright{color:var(--text-bright)!important}.text-small{font-size:13px}.text-base{font-size:15px}.text-large{font-size:18px;line-height:1.5}.text-xlarge{font-size:42px;font-weight:500}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mt-2{margin-top:8px}.mt-12{margin-top:48px}.ml-2{margin-left:8px}.mr-2{margin-right:8px}.flex{display:flex}.items-center{align-items:center}.items-baseline{align-items:baseline}.gap-1{gap:4px}.gap-7{gap:28px}.mx-auto{margin-left:auto;margin-right:auto}.text-center{text-align:center}.text-right{text-align:right}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.grid-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-image:radial-gradient(var(--border-color) 1.2px,transparent 1.2px);background-size:24px 24px;pointer-events:none;opacity:.35;z-index:-2}.ambient-glow{position:fixed;top:-10%;left:-10%;width:120vw;height:120vh;background:radial-gradient(circle at 15% 20%,rgba(16,185,129,.04) 0%,transparent 60%),radial-gradient(circle at 85% 80%,rgba(16,185,129,.02) 0%,transparent 60%);pointer-events:none;z-index:-1}.portfolio-container{display:flex;min-height:100vh;position:relative}.sidebar{width:var(--sidebar-width);height:100vh;position:fixed;left:0;top:0;border-right:1px solid var(--border-color);background-color:var(--primary-bg);padding:48px 36px;display:flex;flex-direction:column;justify-content:space-between;z-index:100}.sidebar-header{display:flex;justify-content:space-between;align-items:flex-start}.logo-section{cursor:pointer}.logo-name{font-family:var(--serif-font);font-size:26px;font-weight:500;color:var(--text-bright);letter-spacing:-.02em;line-height:1.1;margin-bottom:6px}.logo-title{color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.menu-toggle{display:none;background:none;border:none;color:var(--text-primary);cursor:pointer}.nav-menu{margin:48px 0}.nav-index{font-size:13px;color:var(--text-muted);margin-bottom:24px;letter-spacing:.05em}.nav-index .divider{margin:0 6px}.nav-list{list-style:none;display:flex;flex-direction:column;gap:16px}.nav-item{position:relative}.nav-link{background:none;border:none;color:var(--text-muted);font-size:13px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:12px;width:100%;padding:6px 0;transition:color var(--transition-speed)}.nav-link:hover,.nav-link.active{color:var(--text-bright)}.nav-number{font-size:11px;opacity:.5}.active-indicator{position:absolute;right:0;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background-color:var(--accent-color);box-shadow:0 0 10px var(--accent-color)}.sidebar-footer{display:flex;flex-direction:column;gap:24px}.lang-toggle{display:flex;align-items:center;font-size:12px}.lang-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;transition:color var(--transition-speed)}.lang-btn.active{color:var(--text-bright);font-weight:600}.lang-btn:hover:not(.active){color:var(--text-primary)}.lang-divider{color:var(--text-muted);margin:0 8px}.clock-section{font-size:12px}.clock-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.clock-time{font-size:14px}.availability-section{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-muted-bright)}.status-dot-pulse{width:6px;height:6px;border-radius:50%;background-color:var(--accent-color);position:relative;flex-shrink:0}.status-dot-pulse:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background-color:var(--accent-color);animation:pulse-ring 2s cubic-bezier(.215,.61,.355,1) infinite}@keyframes pulse-ring{0%{transform:scale(.95);opacity:.8}to{transform:scale(2.5);opacity:0}}.main-content{flex:1;margin-left:var(--sidebar-width);min-height:100vh;padding:80px 10%;display:flex;flex-direction:column}.content-container{max-width:780px;width:100%;margin:0 auto}.animate-fade-in{animation:fadeIn .6s cubic-bezier(.16,1,.3,1) forwards}.animate-fade-in-up{animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.meta-breadcrumb{display:flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;color:var(--text-muted);margin-bottom:48px}.meta-breadcrumb .divider{color:var(--accent-color)}.section-header{margin-bottom:40px}.section-title{font-size:40px;font-weight:500;color:var(--text-bright);letter-spacing:-.02em;line-height:1.15;margin-bottom:16px}.section-subtitle{font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px}.section-para{color:var(--text-muted-bright);font-size:16px;max-width:620px}.border-grid{border:1px solid var(--border-color);background-color:var(--card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:0;transition:border-color var(--transition-speed),box-shadow var(--transition-speed)}.border-grid:hover{border-color:var(--border-color-hover);box-shadow:0 8px 30px #0006}.hero-content{margin-bottom:60px}.hero-heading{font-size:56px;font-weight:500;color:var(--text-bright);letter-spacing:-.03em;line-height:1.05;margin-bottom:32px}.hero-heading span.text-italic{font-family:var(--serif-font);font-style:italic;font-weight:400;color:var(--accent-color)}.hero-para{margin-bottom:24px;max-width:640px}.hero-actions{display:flex;gap:16px;margin-top:36px}.btn{font-family:var(--mono-font);font-size:12px;padding:12px 20px;cursor:pointer;background:none;border:1px solid var(--border-color);color:var(--text-primary);transition:all var(--transition-speed);display:flex;align-items:center;justify-content:center}.btn-primary{background-color:var(--accent-color);border-color:var(--accent-color);color:#000;font-weight:600}.btn-primary:hover{background-color:#0fa271;border-color:#0fa271;box-shadow:0 0 15px #10b98166}.btn-secondary{background-color:transparent}.btn-secondary:hover{border-color:var(--text-primary);color:var(--text-bright)}.icon-right{margin-left:8px;transition:transform var(--transition-speed)}.btn:hover .icon-right{transform:translate(4px)}.home-dashboard{display:grid;grid-template-columns:repeat(4,1fr);width:100%;margin-bottom:48px}.dashboard-item{padding:24px;border-right:1px solid var(--border-color);display:flex;flex-direction:column;justify-content:space-between}.dashboard-item:last-child{border-right:none}.dashboard-item.span-2-desktop{grid-column:span 2}.dash-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}.dash-value{color:var(--text-bright)}.dash-subtext{font-size:11px}.working-on-container{margin-top:48px}.working-list{list-style:none;display:flex;flex-direction:column;gap:14px}.working-item{display:flex;align-items:flex-start;gap:12px}.arrow-bullet{font-size:13px;line-height:1.6}.working-text{font-size:14px}.career-stats{display:grid;grid-template-columns:repeat(4,1fr);width:100%;margin-bottom:48px}.stat-block{padding:20px 24px;border-right:1px solid var(--border-color)}.stat-block:last-child{border-right:none}.stat-block.span-2-desktop{grid-column:span 2}.stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.stat-value{font-weight:500}.timeline-interactive{margin-bottom:32px}.at-a-glance{font-size:12px}.timeline-tabs-row{display:flex;border-bottom:1px solid var(--border-color);overflow-x:auto;gap:8px;padding-bottom:1px}.timeline-tab-btn{background:none;border:none;padding:16px 20px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;gap:10px;transition:all var(--transition-speed);position:relative;white-space:nowrap;font-size:12px}.timeline-tab-btn:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background-color:transparent;transition:background-color var(--transition-speed)}.timeline-tab-btn:hover{color:var(--text-muted-bright)}.timeline-tab-btn.active{color:var(--text-bright)}.timeline-tab-btn.active:after{background-color:var(--accent-color)}.tab-dot{width:5px;height:5px;border-radius:50%;background-color:var(--border-color-hover);transition:background-color var(--transition-speed)}.timeline-tab-btn.active .tab-dot{background-color:var(--accent-color);box-shadow:0 0 8px var(--accent-color)}.tab-dates{font-size:10px;opacity:.6}.era-detail-card{padding:40px}.era-card-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--border-color);padding-bottom:24px;margin-bottom:32px}.era-tag{font-size:11px;padding:4px 8px;background-color:#10b98114;border:1px solid rgba(16,185,129,.15);margin-bottom:12px;display:inline-block}.era-company{font-size:28px;font-weight:500;color:var(--text-bright);letter-spacing:-.01em}.era-role{font-size:13px;margin-top:4px}.era-meta{font-size:12px}.era-meta p:first-child{font-size:10px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.era-bullet-list{list-style:none;display:flex;flex-direction:column;gap:16px;margin-bottom:36px}.era-bullet-item{display:flex;align-items:flex-start;gap:16px}.bullet-indicator{color:var(--accent-color);font-size:18px;line-height:1}.bullet-text{font-size:14.5px;line-height:1.6}.era-tech-stack{border-top:1px solid var(--border-color);padding-top:24px}.tech-stack-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.tech-badges{display:flex;flex-wrap:wrap;gap:8px}.tech-badge{font-size:11px;padding:6px 12px;background-color:var(--secondary-bg);border:1px solid var(--border-color);color:var(--text-muted-bright)}.border-left-indicator{border-left:2px solid var(--border-color);padding-left:20px;margin-bottom:24px;transition:border-color var(--transition-speed)}.border-left-indicator:hover{border-color:var(--accent-color)}.vertical-era-header{display:flex;flex-direction:column}.vertical-era-dates{font-size:11px;margin-bottom:4px}.vertical-era-title{font-size:16px;color:var(--text-bright);font-weight:500}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.project-card{padding:32px;display:flex;flex-direction:column;justify-content:space-between;min-height:280px;text-decoration:none;color:inherit;cursor:pointer;transition:border-color var(--transition-speed),background-color var(--transition-speed),box-shadow var(--transition-speed)}a.project-card:hover{border-color:var(--border-color-hover);background-color:#ffffff03;box-shadow:0 4px 20px #0003}.project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.project-role{font-size:11px;text-transform:uppercase}.project-status-tag{display:flex;align-items:center;gap:6px;font-size:10px;text-transform:uppercase;padding:3px 8px;border-radius:10px}.project-status-tag.status-dev{background-color:#eab30814;border:1px solid rgba(234,179,8,.15);color:#eab308}.project-status-tag.status-dev .status-dot{background-color:#eab308}.project-status-tag.status-complete{background-color:#10b98114;border:1px solid rgba(16,185,129,.15);color:var(--accent-color)}.project-status-tag.status-complete .status-dot{background-color:var(--accent-color)}.status-dot{width:4px;height:4px;border-radius:50%;display:inline-block}.project-name{font-size:22px;font-weight:500;margin-bottom:12px;line-height:1.2}.project-desc{font-size:13.5px;color:var(--text-muted-bright);margin-bottom:24px;flex-grow:1}.project-tech{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.project-tech-tag{font-size:10px;padding:4px 8px;background-color:#ffffff08;border:1px solid var(--border-color);color:var(--text-muted)}.flex-center-card{align-items:center;justify-content:center;border-style:dashed}.skills-legend{display:flex;gap:24px;border-bottom:1px solid var(--border-color);padding-bottom:16px}.legend-item{display:flex;align-items:center;gap:8px}.dot{width:6px;height:6px;border-radius:50%;display:inline-block}.dot-primary{background-color:var(--accent-color);box-shadow:0 0 8px var(--accent-color)}.dot-strong{background-color:#3b82f6;box-shadow:0 0 8px #3b82f6}.dot-familiar{background-color:#8b5cf6;box-shadow:0 0 8px #8b5cf6}.skills-layers-container{display:flex;flex-direction:column;gap:20px}.skills-layer{padding:32px;display:grid;grid-template-columns:240px 1fr;gap:32px}.layer-header{display:flex;gap:16px;align-items:flex-start}.layer-num{font-size:18px;font-weight:600}.layer-name{font-size:15px;font-weight:600;margin-bottom:4px}.layer-pills{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start}.skill-pill{display:inline-flex;align-items:center;gap:8px;font-size:12px;padding:6px 14px;background-color:#ffffff05;border:1px solid var(--border-color);color:var(--text-primary);transition:all var(--transition-speed)}.skill-pill:hover{border-color:var(--border-color-hover);background-color:#ffffff0d}.pill-dot{width:4px;height:4px;border-radius:50%}.pill-dot.dot-primary{background-color:var(--accent-color)}.pill-dot.dot-strong{background-color:#3b82f6}.pill-dot.dot-familiar{background-color:#8b5cf6}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start}.contact-details{display:flex;flex-direction:column;gap:32px}.details-block-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px}.details-list{list-style:none;display:flex;flex-direction:column;gap:12px}.details-item{font-size:13.5px}.details-item .bullet{color:var(--accent-color);margin-right:8px}.edu-card,.cert-card{margin-bottom:16px}.edu-degree,.cert-name{font-size:15px;font-weight:500;color:var(--text-bright)}.v-card-container{perspective:1000px}.v-card{padding:36px;background:linear-gradient(135deg,var(--secondary-bg) 0%,#0d0d0f 100%);border:1px solid var(--border-color);min-height:360px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 20px 40px #00000080;position:relative;overflow:hidden}.v-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--accent-color),transparent)}.v-card-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:16px}.v-card-logo{font-size:20px;font-weight:700;color:var(--text-bright)}.v-card-title{font-size:11px;letter-spacing:.05em}.v-card-body{margin:24px 0;display:flex;flex-direction:column;gap:16px}.v-card-field{display:flex;flex-direction:column;gap:4px}.field-label{font-size:9px;text-transform:uppercase;letter-spacing:.1em}.field-value{font-size:13.5px;color:var(--text-muted-bright);text-decoration:none;display:inline-block;transition:color var(--transition-speed)}a.field-value:hover{color:var(--text-bright)}.hover-underline:hover{text-decoration:underline;text-decoration-color:var(--accent-color)}.v-card-footer{border-top:1px solid var(--border-color);padding-top:16px;display:flex;justify-content:space-between;align-items:center;font-size:10px}@media (max-width: 1024px){.portfolio-container{flex-direction:column}.sidebar{width:100%;height:auto;position:sticky;top:0;border-right:none;border-bottom:1px solid var(--border-color);padding:16px 24px;flex-direction:row;align-items:center;justify-content:space-between;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background-color:#09090be6}.sidebar-header{width:100%;align-items:center}.logo-name{font-size:18px;margin-bottom:2px}.logo-title{font-size:9px}.menu-toggle{display:block;padding:4px}.nav-menu,.sidebar-footer{display:none}.main-content{margin-left:0;padding:40px 24px}.mobile-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--primary-bg);z-index:1000;padding:40px 24px;display:flex;flex-direction:column;justify-content:space-between;animation:fadeIn .3s ease-out}.mobile-overlay-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:20px}.menu-close{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:4px}.mobile-nav-list{list-style:none;display:flex;flex-direction:column;gap:24px;margin:40px 0}.mobile-nav-link{background:none;border:none;font-size:18px;color:var(--text-muted);width:100%;text-align:left;display:flex;gap:16px;cursor:pointer;transition:color var(--transition-speed)}.mobile-nav-link.active{color:var(--text-bright)}.mobile-nav-number{opacity:.5}.mobile-overlay-footer{border-top:1px solid var(--border-color);padding-top:24px;display:flex;justify-content:space-between;align-items:center}.mobile-clock{font-size:12px;color:var(--accent-color)}.hero-heading{font-size:40px}.home-dashboard,.career-stats{grid-template-columns:1fr}.dashboard-item,.stat-block{border-right:none;border-bottom:1px solid var(--border-color)}.dashboard-item:last-child,.stat-block:last-child{border-bottom:none}.dashboard-item.span-2-desktop,.stat-block.span-2-desktop{grid-column:auto}.projects-grid{grid-template-columns:1fr}.skills-layer{grid-template-columns:1fr;gap:16px;padding:24px}.contact-grid{grid-template-columns:1fr;gap:48px}}
