@font-face{font-family:Inter;src:url(/fonts/inter-latin.woff2)format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2");font-weight:400 600;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--bg:#08090a;--bg-subtle:#0b0c0e;--surface:#0f1113;--surface-2:#15181b;--surface-hover:#1a1e22;--border:#1d2126;--border-strong:#2a2f36;--border-accent:#333a6b;--text:#f1f3f5;--text-muted:#9aa1aa;--text-faint:#79818b;--on-accent:#08090a;--accent:#7c8cf8;--accent-bright:#9aa6ff;--accent-dim:#4a55a8;--accent-wash:#7c8cf81a;--accent-wash-strong:#7c8cf82e;--signal:#3ddc97;--signal-wash:#3ddc971f;--amber:#e2b649;--amber-wash:#e2b6491f;--rose:#f2718c;--rose-wash:#f2718c1f;--grid-dot:#ffffff09;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 20px -4px #00000080;--shadow-lg:0 16px 48px -12px #0009;--step--2:clamp(.72rem, .7rem + .1vw, .78rem);--step--1:clamp(.82rem, .79rem + .14vw, .9rem);--step-0:clamp(.94rem, .9rem + .2vw, 1.04rem);--step-1:clamp(1.1rem, 1.03rem + .34vw, 1.3rem);--step-2:clamp(1.32rem, 1.19rem + .62vw, 1.7rem);--step-3:clamp(1.58rem, 1.35rem + 1.05vw, 2.22rem);--step-4:clamp(1.9rem, 1.5rem + 1.8vw, 3rem);--step-5:clamp(2.25rem, 1.6rem + 2.9vw, 4.05rem);--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--measure:68ch;--page-max:1120px;--page-pad:clamp(1.15rem, 4vw, 2.5rem);--ease:cubic-bezier(.22, 1, .36, 1);--dur:.22s}:root[data-theme=light]{color-scheme:light;--bg:#fcfcfd;--bg-subtle:#f7f8fa;--surface:#fff;--surface-2:#f4f5f7;--surface-hover:#eef0f3;--border:#e4e7eb;--border-strong:#d0d5db;--border-accent:#c3caf5;--text:#0d0f12;--text-muted:#565e68;--text-faint:#69717b;--on-accent:#fff;--accent:#4b57c8;--accent-bright:#3a45b0;--accent-dim:#8b95e8;--accent-wash:#4b57c812;--accent-wash-strong:#4b57c821;--signal:#0c8151;--signal-wash:#0c81511a;--amber:#926909;--amber-wash:#9269091a;--rose:#c2344f;--rose-wash:#c2344f17;--grid-dot:#0000000b;--shadow-sm:0 1px 2px #0f141e0d;--shadow-md:0 4px 16px -4px #0f141e1a;--shadow-lg:0 16px 40px -12px #0f141e24}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--step-0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis-weight:none;text-rendering:optimizelegibility;line-height:1.65;overflow-x:hidden}img,picture,svg,video,canvas{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4{letter-spacing:-.021em;text-wrap:balance;font-weight:620;line-height:1.15}a{color:inherit;text-decoration:none}ul,ol{padding:0}hr{border:0;border-top:1px solid var(--border)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}:focus:not(:focus-visible){outline:none}.skip-link{z-index:200;background:var(--accent);color:var(--on-accent);border-radius:var(--radius);font-weight:600;font-size:var(--step--1);transition:translate var(--dur) var(--ease);padding:.6rem 1.1rem;position:absolute;top:.5rem;left:50%;translate:-50% -200%}.skip-link:focus{translate:-50%}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;overflow:hidden;position:absolute!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.wrap{width:100%;max-width:var(--page-max);padding-inline:var(--page-pad);margin-inline:auto}.wrap-narrow{width:100%;max-width:780px;padding-inline:var(--page-pad);margin-inline:auto}.section{padding-block:clamp(3.5rem,8vw,6.5rem);position:relative}.section+.section{border-top:1px solid var(--border)}.section-last{padding-bottom:clamp(4rem,9vw,7rem)}.eyebrow{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);align-items:center;gap:.5rem;margin-bottom:.9rem;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);border-radius:1px;flex:none;width:6px;height:6px}.section-title{font-size:var(--step-3);max-width:24ch}.section-lede{color:var(--text-muted);font-size:var(--step-1);text-wrap:pretty;max-width:58ch;margin-top:1rem}.grid-bg{background-image:radial-gradient(var(--grid-dot) 1px, transparent 1px);pointer-events:none;z-index:0;background-size:22px 22px;position:absolute;inset:0;mask-image:radial-gradient(80% 60% at 50% 0,#000 40%,#0000 100%)}.btn{border-radius:var(--radius);font-size:var(--step--1);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), translate var(--dur) var(--ease);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.05rem;font-weight:560;line-height:1.3;display:inline-flex}.btn:hover{translate:0 -1px}.btn-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}.btn-primary:hover{background:var(--accent-bright);border-color:var(--accent-bright);color:var(--on-accent)}.btn-secondary{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--accent-dim)}.btn-ghost{border-color:var(--border);color:var(--text-muted);background:0 0}.btn-ghost:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);position:relative}.panel-hover{transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease), translate var(--dur) var(--ease)}.panel-hover:hover{border-color:var(--border-strong);background:var(--surface-2);translate:0 -2px}.tag{font-family:var(--font-mono);font-size:var(--step--2);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);white-space:nowrap;align-items:center;gap:.35rem;padding:.2rem .5rem;line-height:1.5;display:inline-flex}.tag-accent{border-color:var(--border-accent);background:var(--accent-wash);color:var(--accent-bright)}:root[data-theme=light] .tag-accent{color:var(--accent)}.tag-signal{border-color:color-mix(in srgb, var(--signal) 35%, transparent);background:var(--signal-wash);color:var(--signal)}.tag-amber{border-color:color-mix(in srgb, var(--amber) 35%, transparent);background:var(--amber-wash);color:var(--amber)}.link{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-underline-offset:3px;transition:text-decoration-color var(--dur) var(--ease), color var(--dur) var(--ease)}.link:hover{color:var(--accent-bright);text-decoration-color:currentColor}[data-reveal]{opacity:1}html.js [data-reveal]{opacity:0;transition:opacity .6s var(--ease), translate .6s var(--ease);translate:0 14px}html.js [data-reveal].is-visible{opacity:1;translate:0}@media (prefers-reduced-motion:reduce){html.js [data-reveal]{opacity:1;transition:none;translate:none}}::selection{background:var(--accent-wash-strong);color:var(--text)}@supports selector(::-webkit-scrollbar){::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid var(--bg);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}}.theme-toggle[data-astro-cid-l6lhmie6]{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text-muted);cursor:pointer;transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease), background var(--dur) var(--ease);justify-content:center;align-items:center;display:inline-flex;position:relative}.theme-toggle[data-astro-cid-l6lhmie6]:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-2)}.icon[data-astro-cid-l6lhmie6]{transition:opacity .2s var(--ease), rotate .32s var(--ease), scale .32s var(--ease);position:absolute}:root[data-theme=dark] .icon-moon[data-astro-cid-l6lhmie6]{opacity:0;rotate:-60deg;scale:.6}:root[data-theme=dark] .icon-sun[data-astro-cid-l6lhmie6]{opacity:1;rotate:0deg;scale:1}:root[data-theme=light] .icon-sun[data-astro-cid-l6lhmie6]{opacity:0;rotate:60deg;scale:.6}:root[data-theme=light] .icon-moon[data-astro-cid-l6lhmie6]{opacity:1;rotate:0deg;scale:1}.nav[data-astro-cid-wpvy4v7s]{z-index:100;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:saturate(150%)blur(16px);transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);border-bottom:1px solid #0000;position:sticky;top:0}.nav[data-astro-cid-wpvy4v7s][data-scrolled]{border-bottom-color:var(--border);background:color-mix(in srgb, var(--bg) 97%, transparent)}@supports not (backdrop-filter:blur(1px)){.nav[data-astro-cid-wpvy4v7s]{background:var(--bg)}}.nav-inner[data-astro-cid-wpvy4v7s]{align-items:center;gap:1rem;height:62px;display:flex}.brand[data-astro-cid-wpvy4v7s]{align-items:center;gap:.65rem;min-width:0;margin-right:auto;display:flex}.brand-mark[data-astro-cid-wpvy4v7s]{flex:none;grid-template-columns:repeat(2,1fr);gap:2px;width:18px;height:18px;display:grid}.px[data-astro-cid-wpvy4v7s]{background:var(--accent);transition:background var(--dur) var(--ease), opacity var(--dur) var(--ease);border-radius:1.5px}.px[data-astro-cid-wpvy4v7s]:nth-child(2){opacity:.55}.px[data-astro-cid-wpvy4v7s]:nth-child(3){opacity:.35}.px[data-astro-cid-wpvy4v7s]:nth-child(4){background:var(--signal)}.brand[data-astro-cid-wpvy4v7s]:hover .px[data-astro-cid-wpvy4v7s]:nth-child(2),.brand[data-astro-cid-wpvy4v7s]:hover .px[data-astro-cid-wpvy4v7s]:nth-child(3){opacity:1}.brand-text[data-astro-cid-wpvy4v7s]{flex-direction:column;min-width:0;line-height:1.15;display:flex}.brand-name[data-astro-cid-wpvy4v7s]{font-weight:600;font-size:var(--step--1);letter-spacing:-.012em}.brand-role[data-astro-cid-wpvy4v7s]{font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.02em;font-size:.66rem}.nav-links[data-astro-cid-wpvy4v7s]{align-items:center;gap:.15rem;display:flex}.nav-link[data-astro-cid-wpvy4v7s]{border-radius:var(--radius-sm);font-size:var(--step--1);color:var(--text-muted);transition:color var(--dur) var(--ease), background var(--dur) var(--ease);padding:.4rem .7rem}.nav-link[data-astro-cid-wpvy4v7s]:hover,.nav-link[data-astro-cid-wpvy4v7s][aria-current=page]{color:var(--text);background:var(--surface-2)}.nav-actions[data-astro-cid-wpvy4v7s]{align-items:center;gap:.5rem;display:flex}.nav-resume[data-astro-cid-wpvy4v7s]{padding:.4rem .8rem}.menu-btn[data-astro-cid-wpvy4v7s]{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text-muted);cursor:pointer;transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease);justify-content:center;align-items:center;display:none}.menu-btn[data-astro-cid-wpvy4v7s]:hover{color:var(--text);border-color:var(--border-strong)}.mobile-menu[data-astro-cid-wpvy4v7s]{border-top:1px solid var(--border);background:var(--bg);animation:menu-in .18s var(--ease)}@keyframes menu-in{0%{opacity:0;translate:0 -6px}to{opacity:1;translate:0}}.mobile-menu-inner[data-astro-cid-wpvy4v7s]{flex-direction:column;padding-block:.5rem 1rem;display:flex}.mobile-link[data-astro-cid-wpvy4v7s]{font-size:var(--step-0);color:var(--text-muted);border-bottom:1px solid var(--border);padding:.8rem .25rem}.mobile-link[data-astro-cid-wpvy4v7s]:last-child{border-bottom:0}.mobile-link[data-astro-cid-wpvy4v7s]:hover{color:var(--text)}.mobile-link-accent[data-astro-cid-wpvy4v7s]{color:var(--accent);font-weight:560}@media (width<=860px){.nav-links[data-astro-cid-wpvy4v7s],.nav-resume[data-astro-cid-wpvy4v7s]{display:none}.menu-btn[data-astro-cid-wpvy4v7s]{display:inline-flex}}@media (width>=861px){.mobile-menu[data-astro-cid-wpvy4v7s]{display:none!important}}.footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);background:var(--bg-subtle);margin-top:0;padding-top:clamp(2.5rem,6vw,4rem)}.footer-inner[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:space-between;gap:2.5rem;padding-bottom:2.5rem;display:flex}.footer-brand[data-astro-cid-jo6i4kqk]{align-items:flex-start;gap:.7rem;display:flex}.brand-mark[data-astro-cid-jo6i4kqk]{flex:none;grid-template-columns:repeat(2,1fr);gap:2px;width:16px;height:16px;margin-top:.2rem;display:grid}.px[data-astro-cid-jo6i4kqk]{background:var(--accent);border-radius:1.5px}.px[data-astro-cid-jo6i4kqk]:nth-child(2){opacity:.55}.px[data-astro-cid-jo6i4kqk]:nth-child(3){opacity:.35}.px[data-astro-cid-jo6i4kqk]:nth-child(4){background:var(--signal)}.footer-name[data-astro-cid-jo6i4kqk]{font-weight:600;font-size:var(--step--1)}.footer-role[data-astro-cid-jo6i4kqk]{font-family:var(--font-mono);font-size:var(--step--2);color:var(--text-faint);margin-top:.15rem}.footer-links[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:2rem 3rem;display:flex}.footer-col[data-astro-cid-jo6i4kqk]{flex-direction:column;gap:.5rem;display:flex}.footer-col-title[data-astro-cid-jo6i4kqk]{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);margin-bottom:.1rem;font-weight:400}.footer-col[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{font-size:var(--step--1);color:var(--text-muted);transition:color var(--dur) var(--ease);align-items:center;gap:.45rem;display:inline-flex}.footer-col[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent)}.footer-bottom[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;padding-block:1.1rem;display:flex}.footer-bottom[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{font-size:var(--step--2);color:var(--text-faint)}.colophon[data-astro-cid-jo6i4kqk]{text-align:right}@media (width<=560px){.colophon[data-astro-cid-jo6i4kqk]{text-align:left}}
