.background-schematic[data-astro-cid-cs5ztpeq]{pointer-events:none;z-index:0;opacity:.52;width:100vw;height:100dvh;transition:opacity .25s;position:fixed;top:0;left:0;overflow:hidden}.background-schematic[data-astro-cid-cs5ztpeq] svg[data-astro-cid-cs5ztpeq]{width:100%;height:100%;display:block}@media (hover:none) and (pointer:coarse){.background-schematic[data-astro-cid-cs5ztpeq]{opacity:.28}.schematic-viewport-group[data-astro-cid-cs5ztpeq]{-webkit-mask:none!important;mask:none!important}.schematic-viewport-group[data-astro-cid-cs5ztpeq] g[stroke]{stroke-opacity:.35}.schematic-viewport-group[data-astro-cid-cs5ztpeq] text{fill-opacity:.4}}:root{--bg:#191512;--bg-surface:#221c18;--bg-surface-hover:#29231d;--fg:#c5bbb0;--fg-bold:#eee6dd;--muted:#9c8f84;--accent:#e09f3e;--accent-hover:#f1b052;--rule:#2e2620;--rule-subtle:#241e19;--tag-bg:#221c18;--tag-border:#382d23;--tag-fg:#8eb49b;--code-bg:#13100d;--header-bg:#191512eb;--max:46rem;color-scheme:dark}@media (hover:none) and (pointer:coarse){:root{--bg:#241d18;--bg-surface:#2d241e;--bg-surface-hover:#372d25;--rule:#3e3227;--rule-subtle:#2e241c;--tag-bg:#2d241e;--tag-border:#47382b;--code-bg:#181310;--header-bg:#241d18f0}}*{box-sizing:border-box}html{scrollbar-gutter:stable}html,body{background:var(--bg);color:var(--fg);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.65}a{color:var(--accent);text-decoration:none;transition:color .15s}a:hover{color:var(--accent-hover);text-decoration:underline}.container{max-width:var(--max);margin:0 auto;padding:0 1.5rem}header.site{border-bottom:1px solid var(--rule);background:var(--header-bg);backdrop-filter:blur(8px);z-index:50;position:sticky;top:0}header.site .container{justify-content:space-between;align-items:center;padding-top:1.1rem;padding-bottom:1.1rem;display:flex}.brand{flex-direction:column;text-decoration:none;display:flex}.brand:hover{text-decoration:none}.brand-title{color:var(--fg-bold);letter-spacing:-.025em;font-size:1.05rem;font-weight:700}.brand-sub{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6875rem}header.site nav{gap:1.25rem;display:flex}header.site nav a{color:var(--muted);font-size:.9rem;font-weight:500}header.site nav a:hover{color:var(--fg-bold);text-decoration:none}header.site nav a[aria-current=page]{color:var(--accent);font-weight:600}footer.site{border-top:1px solid var(--rule);color:var(--muted);z-index:10;margin-top:4.5rem;padding:2rem 0;font-size:.8125rem;position:relative}.footer-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer-links{align-items:center;gap:.5rem;display:flex}.sep{color:var(--rule)}main{z-index:10;padding-top:2.5rem;padding-bottom:4rem;position:relative}h1,h2,h3,h4{color:var(--fg-bold);letter-spacing:-.025em;margin-top:2.25rem;margin-bottom:.75rem;font-weight:700;line-height:1.25}h1{letter-spacing:-.03em;margin-top:0;font-size:2rem}h2{border-bottom:1px solid var(--rule);padding-bottom:.4rem;font-size:1.35rem}h3{font-size:1.15rem}h4{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);font-size:.95rem}p{margin:1rem 0}.muted{color:var(--muted)}.hero{border-bottom:1px solid var(--rule);margin-bottom:2.5rem;padding:1rem 0 2rem}.hero-title{color:var(--fg-bold);letter-spacing:-.03em;margin-bottom:.75rem;font-size:1.75rem;font-weight:700;line-height:1.25}.bio{max-width:42rem;color:var(--fg);margin-bottom:0;font-size:1.05rem;line-height:1.65}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border:none;margin-bottom:1.25rem;padding:0;font-size:.8125rem;font-weight:600}ul.posts{margin:0;padding:0;list-style:none}.post-item{border-bottom:1px dashed var(--rule);grid-template-columns:7.5rem 1fr;align-items:baseline;gap:1.25rem;padding:1.1rem 0;display:grid}@media (width<=600px){.post-item{grid-template-columns:1fr;gap:.35rem}}.post-meta time{color:var(--muted);font-feature-settings:"tnum";font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem}.post-content-col{flex-direction:column;gap:.3rem;display:flex}.post-header-line{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.post-link{color:var(--fg-bold);letter-spacing:-.015em;font-size:1.05rem;font-weight:600;line-height:1.35}.post-link:hover{color:var(--accent);text-decoration:underline}.post-desc{color:var(--muted);margin:0;font-size:.875rem;line-height:1.5}.tags-row{gap:.35rem;display:inline-flex}.badge{background:var(--tag-bg);border:1px solid var(--tag-border);color:var(--tag-fg);border-radius:3px;padding:.1rem .4rem;font-family:ui-monospace,monospace;font-size:.6875rem}.view-all{margin-top:1.75rem;font-size:.9rem}.view-all a{font-weight:600}.resume-header{border-bottom:1px solid var(--rule);margin-bottom:2.5rem;padding:1rem 0 2rem}.tagline{color:var(--fg);margin-bottom:0;font-size:1.05rem;line-height:1.65}.contact-links{color:var(--muted);gap:.75rem;margin-top:.5rem;font-size:.9rem;display:flex}.resume-section{margin-bottom:2.5rem}.resume-item{margin-bottom:1.5rem}.item-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;display:flex}.item-head h3{color:var(--fg-bold);margin:0;font-size:1.1rem}.item-head .date{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem}.resume-item .role{color:var(--fg);margin:.25rem 0 .5rem;font-size:.9rem;font-weight:500}.bullet-list{color:var(--fg);margin:.5rem 0 .5rem 1.25rem;padding:0}.bullet-list li{margin-bottom:.35rem;line-height:1.6}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem;display:grid}.skill-group{background:var(--bg-surface);border:1px solid var(--rule);border-radius:6px;padding:1rem 1.25rem}.skill-group h4{color:var(--accent);margin-top:0;margin-bottom:.5rem}.skill-group p{color:var(--muted);margin:0;font-size:.875rem;line-height:1.5}article h1{margin-top:.5rem;margin-bottom:.5rem;font-size:2.1rem}article .post-meta{color:var(--muted);align-items:center;gap:.75rem;margin-bottom:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem;display:flex}article table{border-collapse:collapse;width:100%;margin:1.5rem 0;font-size:.875rem}article th,article td{border:1px solid var(--rule);text-align:left;padding:.625rem .75rem}article th{background:var(--bg-surface);color:var(--fg-bold);font-weight:600}article tr:nth-child(2n){background:#ffffff04}pre{background:var(--code-bg);border:1px solid var(--rule);border-radius:6px;margin:1.5rem 0;padding:1.1rem 1.25rem;overflow-x:auto}code{color:var(--fg-bold);background:#ffffff0d;border-radius:3px;padding:.15rem .35rem;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875em}pre code{background:0 0;padding:0}blockquote{border-left:2px solid var(--accent);color:var(--muted);margin:1.5rem 0;padding-left:1rem;font-style:italic}article .katex{letter-spacing:normal;color:var(--fg-bold)}article .katex-display{margin:1.25rem 0;padding:.25rem 0;overflow:auto hidden}article .katex-display>.katex{max-width:100%}
