@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/fira-code-latin-300-normal.GoqduA13.woff2) format("woff2"),url(/_astro/fira-code-latin-300-normal.Bq3cUzHZ.woff) format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fira-code-latin-400-normal.DGosTW8U.woff2) format("woff2"),url(/_astro/fira-code-latin-400-normal.C-QZfXAs.woff) format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/fira-code-latin-500-normal.B6gioGu8.woff2) format("woff2"),url(/_astro/fira-code-latin-500-normal.aMLC2AMm.woff) format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/fira-code-latin-600-normal.CvYZpPHg.woff2) format("woff2"),url(/_astro/fira-code-latin-600-normal.BmSSHshu.woff) format("woff")}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #130f08;--bg-sidebar: #0e0b05;--bg-panel: #1a1510;--border: #2e2416;--amber: #e8a44a;--amber-dim: #c07c38;--amber-faint: #4a3218;--amber-glow: rgba(232, 164, 74, .08);--text: #d4966a;--text-dim: #9a7248;--text-muted: #6e5238;--green: #6ab87a;--blue: #7ab8e8;--red: #e87a7a;--purple: #b87ae8;--sidebar-w: 260px;--header-h: 36px}@media(prefers-color-scheme:light){:root{--bg: #f5f0e6;--bg-sidebar: #ede7d9;--bg-panel: #faf7f0;--border: #d5c9b0;--amber: #8a4a10;--amber-dim: #a05c20;--amber-faint: #e0d0b8;--amber-glow: rgba(138, 74, 16, .06);--text: #5a3a18;--text-dim: #7a5230;--text-muted: #9a7050;--green: #2a7040;--blue: #1a5090;--red: #8a2020;--purple: #5a1a8a}}html{scroll-behavior:smooth}body{font-family:Fira Code,monospace;background:var(--bg);color:var(--text);height:100vh;overflow:hidden;display:flex;flex-direction:column;font-size:13px;line-height:1.6}.topbar{height:var(--header-h);background:var(--bg-sidebar);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 16px;gap:8px;flex-shrink:0}.topbar-dots{display:flex;gap:6px}.dot{width:12px;height:12px;border-radius:50%}.dot.red{background:#e87a7a;opacity:.7}.dot.yellow{background:#e8c47a;opacity:.7}.dot.green{background:#6ab87a;opacity:.7}.topbar-title{margin-left:auto;margin-right:auto;color:var(--text-dim);font-size:12px;letter-spacing:.03em}.shell{display:flex;flex:1;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.sidebar-section-label{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.12em;padding:16px 16px 6px}.sidebar-tree{list-style:none;padding:0 0 8px}.tree-item{display:flex;align-items:center;gap:8px;padding:5px 16px;color:var(--text-dim);cursor:pointer;transition:color .15s,background .15s;font-size:12.5px;border-left:2px solid transparent;user-select:none}.tree-item:hover{color:var(--amber);background:var(--amber-glow)}.tree-item.active{color:var(--amber);border-left-color:var(--amber);background:var(--amber-glow)}.tree-icon{font-size:11px;opacity:.7;width:14px;text-align:center}.sidebar-divider{border:none;border-top:1px solid var(--border);margin:10px 0}.sidebar-footer{margin-top:auto;padding:12px 16px;border-top:1px solid var(--border);font-size:11px;color:var(--text-muted)}.sidebar-footer .version{display:flex;align-items:center;gap:6px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 4px var(--green);animation:pulse 2.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.content{flex:1;overflow-y:auto;padding:0;scroll-behavior:smooth}.content::-webkit-scrollbar{width:6px}.content::-webkit-scrollbar-track{background:transparent}.content::-webkit-scrollbar-thumb{background:var(--amber-faint);border-radius:3px}section{padding:60px 64px;border-bottom:1px solid var(--border);min-height:min-content}section:last-child{border-bottom:none}.section-header{display:flex;align-items:baseline;gap:12px;margin-bottom:40px}.section-title{font-size:20px;font-weight:600;color:var(--amber);letter-spacing:.02em}.section-line{flex:1;height:1px;background:var(--border);margin-left:8px}#hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:80px 64px}.hero-pre{color:var(--text-dim);font-size:13px;margin-bottom:12px}.hero-name{font-size:clamp(32px,4vw,52px);font-weight:600;color:var(--amber);line-height:1.1;margin-bottom:10px;letter-spacing:-.02em}.hero-role{font-size:clamp(16px,2vw,22px);color:var(--text-dim);font-weight:300;margin-bottom:32px}.hero-role .highlight{color:var(--green)}.hero-tagline{max-width:520px;color:var(--text);font-size:13px;line-height:1.8;margin-bottom:40px;opacity:.85}.cursor{display:inline-block;width:10px;height:1.1em;background:var(--amber);vertical-align:text-bottom;animation:blink 1.1s step-end infinite;margin-left:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-badges{display:flex;flex-wrap:wrap;gap:10px}.badge{padding:4px 12px;border:1px solid var(--amber-faint);color:var(--amber-dim);font-size:11px;border-radius:2px;background:var(--bg-panel);transition:border-color .2s,color .2s}.badge:hover{border-color:var(--amber-dim);color:var(--amber)}.about-block{max-width:680px}.md-block{max-width:580px;display:flex;flex-direction:column;gap:14px}.md-h2{font-size:18px;font-weight:600;color:var(--amber);letter-spacing:.01em}.md-h3{font-size:13px;font-weight:600;color:var(--amber-dim);text-transform:uppercase;letter-spacing:.08em;margin-top:4px}.md-p{font-size:13px;color:var(--text);line-height:1.85;font-weight:300}.md-hr{border:none;border-top:1px solid var(--border);margin:4px 0}.timeline{position:relative;padding-left:28px;display:flex;flex-direction:column}.timeline:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:1px;background:var(--border)}.timeline-item{position:relative;padding-bottom:40px}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:-33px;top:6px;width:10px;height:10px;border-radius:50%;border:1px solid var(--amber-dim);background:var(--bg)}.timeline-dot.current{background:var(--amber);border-color:var(--amber);box-shadow:0 0 8px #e8a44a66}.job-header{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:4px}.job-title{font-size:15px;font-weight:600;color:var(--amber)}.job-at{color:var(--text-muted);font-size:12px}.job-company{color:var(--green);font-size:14px;font-weight:500}.job-meta{display:flex;gap:16px;margin-bottom:14px;font-size:11.5px;color:var(--text-muted)}.job-desc{font-size:12.5px;color:var(--text);line-height:1.85;max-width:620px;opacity:.9}.job-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tag{font-size:10.5px;padding:2px 8px;background:var(--bg-panel);border:1px solid var(--border);color:var(--text-dim);border-radius:2px}.skills-table{display:flex;flex-direction:column;max-width:680px;border:1px solid var(--border);border-radius:2px;overflow:hidden}.skill-row{display:grid;grid-template-columns:160px 1fr;border-bottom:1px solid var(--border)}.skill-row:last-child{border-bottom:none}.skill-category{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;padding:13px 18px;border-right:1px solid var(--border);background:var(--bg-panel);display:flex;align-items:center}.skill-tokens{display:flex;flex-wrap:wrap;align-items:center;padding:10px 18px}.skill-token{font-size:12.5px;color:var(--text);white-space:nowrap}.skill-sep{color:var(--text-muted);padding:0 8px;user-select:none}.contact-block{max-width:560px}.contact-intro{font-size:13px;color:var(--text);line-height:1.8;margin-bottom:32px;opacity:.85}.contact-links{display:flex;flex-direction:column;gap:12px}.contact-link{display:flex;align-items:center;gap:14px;padding:12px 18px;background:var(--bg-panel);border:1px solid var(--border);border-radius:2px;text-decoration:none;color:var(--text-dim);transition:border-color .2s,color .2s,background .2s;font-size:12.5px}.contact-link:hover{border-color:var(--amber-dim);color:var(--amber);background:var(--amber-glow)}.contact-icon{font-size:14px;width:18px;text-align:center}.contact-label{flex:1}.contact-arrow{color:var(--text-muted);font-size:11px}@media(max-width:768px){.sidebar{display:none}body{height:auto;overflow:auto}.shell,.content{overflow:visible}section{padding:48px 24px}#hero{min-height:100svh;padding:60px 24px}.skill-row{grid-template-columns:1fr}.skill-category{border-right:none;border-bottom:1px solid var(--border);padding:8px 18px}}
