:root{--c-bg:#fbfbf9;--c-surface:#ffffff;--c-subtle:#f3f4f1;--c-ink:#141b1a;--c-text:#37433f;--c-muted:#6a7672;--c-faint:#a2aba7;--c-line:#e6e9e4;--c-line-strong:#d3d9d3;--c-accent:#1d6b64;--c-accent-hover:#14524c;--c-accent-soft:#e7f0ec;--c-accent-ink:#ffffff;--c-warm:#b85b33;--c-warm-soft:#f7ece4;--r-sm:8px;--r-md:12px;--r-lg:18px;--shadow-sm:0 1px 2px rgb(20 27 26 / 0.04);--shadow-md:0 12px 32px -18px rgb(20 27 26 / 0.28);--ease:cubic-bezier(0.2, 0.7, 0.2, 1);--container:1080px;--text-col:680px;--font:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:ui-monospace, "SF Mono", Menlo, monospace;--color-background:var(--c-bg)}html.dark{--c-bg:#0f1413;--c-surface:#151c1b;--c-subtle:#1a2221;--c-ink:#edf2f0;--c-text:#c9d3d0;--c-muted:#92a09b;--c-faint:#5f6d69;--c-line:#243130;--c-line-strong:#33423f;--c-accent:#7fc8ba;--c-accent-hover:#a3dbcf;--c-accent-soft:#1b3330;--c-accent-ink:#0f1413;--c-warm:#e59b77;--c-warm-soft:#33261f;--shadow-md:0 12px 32px -18px rgb(0 0 0 / 0.7);--color-background:var(--c-bg)}body{font-family:var(--font);color:var(--c-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--c-accent-soft);color:var(--c-ink)}#page-bg{display:none}.s-container{max-width:var(--container);margin:0 auto;padding:0 1.5rem}.s-kicker{display:inline-flex;align-items:center;gap:.45rem;margin:0 0 .75rem;color:var(--c-muted);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.s-kicker svg{width:15px;height:15px;color:var(--c-accent)}.s-icon{display:inline-block;width:20px;height:20px;flex:none}.s-icon svg{width:100%;height:100%}.s-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--c-accent);font-weight:550;text-decoration:none}.s-link:hover{color:var(--c-accent-hover)}.s-link .s-arrow{transition:transform .2s var(--ease)}.s-link:hover .s-arrow{transform:translateX(3px)}.s-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.12rem .55rem;border-radius:999px;background:var(--c-subtle);color:var(--c-text);font-size:.75rem;font-weight:550;line-height:1.5;white-space:nowrap}.s-pill--accent{background:var(--c-accent-soft);color:var(--c-accent)}.s-card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}a.s-card{color:inherit;text-decoration:none;display:block}a.s-card:hover{border-color:var(--c-line-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}:where(a,button,summary,input,select,textarea):focus-visible{outline:2px solid var(--c-accent);outline-offset:3px;border-radius:6px}.hbb-section:has(>.hs){padding:0!important}.hbb-section{scroll-margin-top:64px}.hs{display:grid;grid-template-columns:12.5rem minmax(0,1fr);gap:2.5rem;padding-top:clamp(2.75rem,5vw,4rem);padding-bottom:clamp(2.75rem,5vw,4rem);background:linear-gradient(var(--c-line),var(--c-line))no-repeat 50% 0/calc(100% - 3rem)1px}.hs-head{position:sticky;top:88px;align-self:start}.hs-icon{display:grid;place-items:center;width:34px;height:34px;margin-bottom:.9rem;border-radius:10px;background:var(--c-accent-soft);color:var(--c-accent)}.hs-icon svg{width:19px;height:19px}.hs-title{margin:0;color:var(--c-ink);font-size:1.3rem;font-weight:650;line-height:1.25;letter-spacing:-.015em}.hs-badge{display:inline-block;margin-top:.6rem;padding:.1rem .5rem;border:1px solid var(--c-warm);border-radius:999px;color:var(--c-warm);font-size:.66rem;font-weight:650;letter-spacing:.08em;line-height:1.5;text-transform:uppercase;white-space:nowrap;cursor:help}.hs-sub{margin:.55rem 0 0;color:var(--c-muted);font-size:.875rem;line-height:1.55}.hs-body{min-width:0;max-width:46rem}.fy-lead{margin:0;color:var(--c-ink);font-size:clamp(1.1rem,1.9vw,1.28rem);font-weight:450;line-height:1.55;letter-spacing:-.01em}.fy-lead a{color:inherit;text-decoration:underline;text-decoration-color:var(--c-line-strong);text-underline-offset:.2em}.fy-links{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin:1.75rem 0 0;font-size:.92rem}.fy-page-head{padding-top:clamp(3rem,7vw,5rem);padding-bottom:.5rem}.fy-page-title{margin:0;color:var(--c-ink);font-size:clamp(2.1rem,4.4vw,2.75rem);font-weight:680;line-height:1.1;letter-spacing:-.03em}.fy-page-intro{max-width:40rem;margin:.8rem 0 0;color:var(--c-muted);font-size:1.08rem;line-height:1.6}.hs--first{background:0 0}.hs-prose{max-width:var(--text-col);font-size:1rem;line-height:1.72}.hs-prose>:first-child{margin-top:0}.hs-prose h3{font-size:1.1rem;margin-top:1.8em}@media(max-width:860px){.hs{grid-template-columns:minmax(0,1fr);gap:1.4rem}.hs-head{position:static;display:flex;flex-wrap:wrap;align-items:center;column-gap:.8rem}.hs-icon{margin-bottom:0}.hs-sub{flex-basis:100%}.hs-badge{margin-top:0}}#site-header.header{--color-header-fg:var(--c-ink);padding-top:0;padding-bottom:0;background:color-mix(in srgb,var(--c-bg) 86%,transparent);backdrop-filter:saturate(160%)blur(12px);-webkit-backdrop-filter:saturate(160%)blur(12px);border-bottom:1px solid var(--c-line);box-shadow:none}#site-header .navbar{max-width:var(--container);margin:0 auto;padding:0 1.5rem;min-height:60px;align-items:center}#site-header .navbar-brand{font-size:1rem;font-weight:650;letter-spacing:-.01em;color:var(--c-ink)}#site-header .nav-link{color:var(--c-muted);font-size:.875rem;font-weight:500;padding:.4rem .15rem;border-bottom:1.5px solid transparent;transition:color .15s,border-color .15s}#site-header .nav-link:hover,#site-header .nav-link.active{color:var(--c-ink);border-bottom-color:var(--c-accent)}#site-header [data-search-toggle],#site-header .theme-toggle{color:var(--c-muted)}#site-header [data-search-toggle]:hover,#site-header .theme-toggle:hover{color:var(--c-ink)}@media(min-width:1024px){#site-header .navbar-nav{gap:1.6rem;margin-right:1.2rem}#site-header .navbar-nav.lg\:space-x-2>:not(:last-child),#site-header .navbar-nav.xl\:space-x-8>:not(:last-child){margin-right:0}}@media(max-width:1023px){#site-header #nav-menu{padding-top:.5rem}#site-header #nav-menu .nav-link{display:block;font-size:1rem;padding:.55rem 0;border-bottom:1px solid var(--c-line)}}.page-footer footer{max-width:var(--container);margin:4rem auto 0;padding:2.5rem 1.5rem 2rem;border-top:1px solid var(--c-line);color:var(--c-muted);font-size:.8rem}.page-footer footer a{color:var(--c-muted)}.page-footer footer a:hover{color:var(--c-ink)}.page-footer .footer-license-icons svg{width:18px;height:18px}.clustrmaps-footer{height:auto!important;max-width:220px;margin:0 auto 1.6rem!important;border-radius:var(--r-md);overflow:hidden;opacity:.55;filter:grayscale(1);transition:opacity .3s,filter .3s}.clustrmaps-footer:hover{opacity:1;filter:none}.clustrmaps-footer>*{transform:scale(.85)!important;transform-origin:center top!important}.prose{--tw-prose-body:var(--c-text);--tw-prose-headings:var(--c-ink);--tw-prose-links:var(--c-accent);--tw-prose-bold:var(--c-ink);--tw-prose-bullets:var(--c-faint);--tw-prose-hr:var(--c-line);--tw-prose-quotes:var(--c-text);--tw-prose-counters:var(--c-muted);--tw-prose-invert-body:var(--c-text);--tw-prose-invert-headings:var(--c-ink);--tw-prose-invert-links:var(--c-accent);--tw-prose-invert-bold:var(--c-ink);--tw-prose-invert-bullets:var(--c-faint);--tw-prose-invert-hr:var(--c-line)}.prose a{text-decoration-thickness:1px;text-underline-offset:.2em}.prose a:hover{color:var(--c-accent-hover)}.prose :where(h1,h2,h3){letter-spacing:-.015em;font-weight:650}.hb-sidebar-container{border-color:var(--c-line)!important}.hb-sidebar-container a{color:var(--c-muted)}.hb-sidebar-container a:hover{color:var(--c-ink)}.sidebar-active-item{background:var(--c-accent-soft)!important;color:var(--c-accent)!important}.page-body>section,.page-body .landing-section{scroll-margin-top:72px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.blox-resume-experience .rounded-xl{background:var(--c-surface);border-color:var(--c-line);box-shadow:none}.blox-resume-experience .rounded-xl:hover{background:var(--c-surface);border-color:var(--c-line-strong)}.blox-resume-experience .text-3xl{font-size:clamp(2.1rem,4.4vw,2.75rem);font-weight:680;letter-spacing:-.03em;color:var(--c-ink)}.blox-resume-experience .text-xl{font-size:1.1rem;font-weight:640}