CINXE.COM
Project IDX Blog
<!DOCTYPE html><html lang="en"><head><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="none"><meta charset="UTF-8"><meta name="description" content="Project IDX is an entirely web-based workspace for full-stack application development, complete with the latest generative AI from Gemini, and full-fidelity app previews, powered by cloud emulators."><meta name="viewport" content="width=device-width"><meta name="generator" content="Astro v4.10.1"><link rel="sitemap" href="/sitemap-index.xml"><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"><link rel="manifest" href="/site.webmanifest"><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#a87ffb"><meta name="apple-mobile-web-app-title" content="Project IDX"><meta name="application-name" content="Project IDX"><meta name="msapplication-TileColor" content="#10151d"><meta name="theme-color" content="#10151d"><meta property="og:type" content="website"><meta property="og:url" content="https://idx.dev"><meta property="og:title" content="Project IDX Blog"><meta property="og:description" content="Project IDX is an entirely web-based workspace for full-stack application development, complete with the latest generative AI from Gemini, and full-fidelity app previews, powered by cloud emulators."><meta property="og:image" content="https://cdn.raster.app/google/idx/AfEGWyeSKl?ixlib=js-3.7.0&width=1200&height=630&compress=false&q=85&s=9da0a8f7e17838c341fe30f15b699317"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Google+Sans+Display:wght@400;500;700&display=swap"><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Google+Sans+Text:wght@300;400;500;600;700&display=swap"><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Google+Sans+Mono:wght@400;500;600;700&display=swap"><link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"><title>Project IDX Blog</title><script type="text/partytown" src="https://www.googletagmanager.com/gtag/js?id=G-GMNGFBDXTR"></script><script type="text/partytown">window.dataLayer = window.dataLayer || [] function gtag() { dataLayer.push(arguments) } gtag('js', new Date()) gtag('config', 'G-GMNGFBDXTR')</script><link rel="stylesheet" href="/_astro/_page_.DLtxn820.css"><style>.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.menu-to-close[data-astro-cid-zdwhra5n]{--size: 16px;display:flex;width:var(--size);height:var(--size);overflow:hidden}.menu-to-close[data-astro-cid-zdwhra5n] svg[data-astro-cid-zdwhra5n]{flex:0 0 auto;width:auto;height:var(--size);transition:transform .3s steps(30,start)}.menu-to-close[data-astro-cid-zdwhra5n][data-close] svg[data-astro-cid-zdwhra5n]{transform:translate(calc(-100% + var(--size)))}.site-footer[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{display:flex;align-items:center}.site-footer[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{--tw-text-opacity: 1;color:rgb(200 170 255 / var(--tw-text-opacity))}.site-footer[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{gap:8px}.site-footer-row[data-astro-cid-sz7xmlte]{display:flex;align-items:center}@media (max-width: 1023px){.site-footer-row[data-astro-cid-sz7xmlte]{justify-content:center}}@media (min-width: 1024px){.site-footer-row[data-astro-cid-sz7xmlte].is-end{flex:1 1 0%;justify-content:flex-end}}.footer-separator[data-astro-cid-sz7xmlte]{margin-left:12px;margin-right:12px;width:12px;--tw-bg-opacity: 1;background-color:rgb(137 100 232 / var(--tw-bg-opacity))}@media (max-width: 1023px){.footer-separator[data-astro-cid-sz7xmlte]{margin-left:8px;margin-right:8px;width:8px}}.footer-separator[data-astro-cid-sz7xmlte]{height:1px} @keyframes slideIndicatorTo{0%{height:40px;opacity:0}50%{height:40px;opacity:0}to{height:40px;opacity:1}}@keyframes slideIndicatorFrom{0%{opacity:1;height:40px}25%{opacity:0;height:40px}to{opacity:0;height:40px}}html{scroll-behavior:auto} @keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0}}@keyframes astroFadeOut{to{opacity:0}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}lite-youtube{background-color:#000;position:relative;display:block;contain:content;background-position:center center;background-size:cover;cursor:pointer;max-width:720px}lite-youtube:before{content:attr(data-title);display:block;position:absolute;top:0;background-image:linear-gradient(180deg,#000000ab,#0000008a 14%,#00000026 54%,#0000000d 72%,#0000 94%);height:99px;width:100%;font-family:YouTube Noto,Roboto,Arial,Helvetica,sans-serif;color:#eee;text-shadow:0 0 2px rgba(0,0,0,.5);font-size:18px;padding:25px 20px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box}lite-youtube:hover:before{color:#fff}lite-youtube:after{content:"";display:block;padding-bottom:56.25%}lite-youtube>iframe{width:100%;height:100%;position:absolute;top:0;left:0;border:0}lite-youtube>.lty-playbtn{display:block;width:100%;height:100%;background:no-repeat center/68px 48px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 68 48"><path d="M66.52 7.74c-.78-2.93-2.49-5.41-5.42-6.19C55.79.13 34 0 34 0S12.21.13 6.9 1.55c-2.93.78-4.63 3.26-5.42 6.19C.06 13.05 0 24 0 24s.06 10.95 1.48 16.26c.78 2.93 2.49 5.41 5.42 6.19C12.21 47.87 34 48 34 48s21.79-.13 27.1-1.55c2.93-.78 4.64-3.26 5.42-6.19C67.94 34.95 68 24 68 24s-.06-10.95-1.48-16.26z" fill="red"/><path d="M45 24 27 14v20" fill="white"/></svg>');position:absolute;cursor:pointer;z-index:1;filter:grayscale(100%);transition:filter .1s cubic-bezier(0,0,.2,1);border:0}lite-youtube:hover>.lty-playbtn,lite-youtube .lty-playbtn:focus{filter:none}lite-youtube.lyt-activated{cursor:unset}lite-youtube.lyt-activated:before,lite-youtube.lyt-activated>.lty-playbtn{opacity:0;pointer-events:none}.lyt-visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}lite-youtube>iframe{all:unset!important;width:100%!important;height:100%!important;position:absolute!important;inset:0!important;border:0!important}</style><script type="module" src="/_astro/hoisted.Cb3Z4Zhd.js"></script><script type="module" src="/_astro/page.C66G14YQ.js"></script><script>!(function(w,p,f,c){if(!window.crossOriginIsolated && !navigator.serviceWorker) return;c=w[p]=Object.assign(w[p]||{},{"lib":"/~partytown/","debug":false});c[f]=(c[f]||[]).concat(["dataLayer.push"])})(window,'partytown','forward');/* Partytown 0.10.2 - MIT builder.io */ const t={preserveBehavior:!1},e=e=>{if("string"==typeof e)return[e,t];const[n,r=t]=e;return[n,{...t,...r}]},n=Object.freeze((t=>{const e=new Set;let n=[];do{Object.getOwnPropertyNames(n).forEach((t=>{"function"==typeof n[t]&&e.add(t)}))}while((n=Object.getPrototypeOf(n))!==Object.prototype);return Array.from(e)})());!function(t,r,o,i,a,s,c,d,l,p,u=t,f){function h(){f||(f=1,"/"==(c=(s.lib||"/~partytown/")+(s.debug?"debug/":""))[0]&&(l=r.querySelectorAll('script[type="text/partytown"]'),i!=t?i.dispatchEvent(new CustomEvent("pt1",{detail:t})):(d=setTimeout(v,1e4),r.addEventListener("pt0",w),a?y(1):o.serviceWorker?o.serviceWorker.register(c+(s.swPath||"partytown-sw.js"),{scope:c}).then((function(t){t.active?y():t.installing&&t.installing.addEventListener("statechange",(function(t){"activated"==t.target.state&&y()}))}),console.error):v())))}function y(e){p=r.createElement(e?"script":"iframe"),t._pttab=Date.now(),e||(p.style.display="block",p.style.width="0",p.style.height="0",p.style.border="0",p.style.visibility="hidden",p.setAttribute("aria-hidden",!0)),p.src=c+"partytown-"+(e?"atomics.js?v=0.10.2":"sandbox-sw.html?"+t._pttab),r.querySelector(s.sandboxParent||"body").appendChild(p)}function v(n,o){for(w(),i==t&&(s.forward||[]).map((function(n){const[r]=e(n);delete t[r.split(".")[0]]})),n=0;n<l.length;n++)(o=r.createElement("script")).innerHTML=l[n].innerHTML,o.nonce=s.nonce,r.head.appendChild(o);p&&p.parentNode.removeChild(p)}function w(){clearTimeout(d)}s=t.partytown||{},i==t&&(s.forward||[]).map((function(r){const[o,{preserveBehavior:i}]=e(r);u=t,o.split(".").map((function(e,r,o){var a;u=u[o[r]]=r+1<o.length?u[o[r]]||(a=o[r+1],n.includes(a)?[]:{}):(()=>{let e=null;if(i){const{methodOrProperty:n,thisObject:r}=((t,e)=>{let n=t;for(let t=0;t<e.length-1;t+=1)n=n[e[t]];return{thisObject:n,methodOrProperty:e.length>0?n[e[e.length-1]]:void 0}})(t,o);"function"==typeof n&&(e=(...t)=>n.apply(r,...t))}return function(){let n;return e&&(n=e(arguments)),(t._ptf=t._ptf||[]).push(o,arguments),n}})()}))})),"complete"==r.readyState?h():(t.addEventListener("DOMContentLoaded",h),t.addEventListener("load",h))}(window,document,navigator,top,window.crossOriginIsolated);;((d,s)=>(s=d.currentScript,d.addEventListener('astro:before-swap',()=>s.remove(),{once:true})))(document);</script><style>[data-astro-transition-scope="astro-bwq7iixi-1"] { view-transition-name: introducing-idx-templates-article-icon; }@layer astro { ::view-transition-old(introducing-idx-templates-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(introducing-idx-templates-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(introducing-idx-templates-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(introducing-idx-templates-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-1"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-1"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-1"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-1"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-1"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-1"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-1"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-1"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-bwq7iixi-2"] { view-transition-name: meet-elijah-article-icon; }@layer astro { ::view-transition-old(meet-elijah-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(meet-elijah-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(meet-elijah-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(meet-elijah-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-2"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-2"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-2"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-2"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-2"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-2"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-2"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-2"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-bwq7iixi-3"] { view-transition-name: a-year-of-project-idx-article-icon; }@layer astro { ::view-transition-old(a-year-of-project-idx-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(a-year-of-project-idx-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(a-year-of-project-idx-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(a-year-of-project-idx-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-3"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-3"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-3"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-3"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-3"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-3"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-3"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-3"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-bwq7iixi-4"] { view-transition-name: ai-tools-templates-and-android-studio-article-icon; }@layer astro { ::view-transition-old(ai-tools-templates-and-android-studio-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(ai-tools-templates-and-android-studio-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(ai-tools-templates-and-android-studio-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(ai-tools-templates-and-android-studio-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-4"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-4"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-4"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-4"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-4"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-4"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-4"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-4"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-bwq7iixi-5"] { view-transition-name: insiders-look-at-gemini-in-idx-article-icon; }@layer astro { ::view-transition-old(insiders-look-at-gemini-in-idx-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(insiders-look-at-gemini-in-idx-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(insiders-look-at-gemini-in-idx-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(insiders-look-at-gemini-in-idx-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-5"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-5"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-5"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-5"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-5"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-5"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-5"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-5"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-bwq7iixi-6"] { view-transition-name: start-building-with-project-idx-today-article-icon; }@layer astro { ::view-transition-old(start-building-with-project-idx-today-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(start-building-with-project-idx-today-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(start-building-with-project-idx-today-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(start-building-with-project-idx-today-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-6"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-6"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-6"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-6"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-6"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-6"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-6"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-6"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-bwq7iixi-7"] { view-transition-name: build-with-gemini-in-idx-article-icon; }@layer astro { ::view-transition-old(build-with-gemini-in-idx-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(build-with-gemini-in-idx-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(build-with-gemini-in-idx-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(build-with-gemini-in-idx-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-7"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-7"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-7"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-7"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-7"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-7"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-7"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-7"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-bwq7iixi-8"] { view-transition-name: nix-on-idx-article-icon; }@layer astro { ::view-transition-old(nix-on-idx-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(nix-on-idx-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(nix-on-idx-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(nix-on-idx-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-8"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-8"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-8"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-8"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-8"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-8"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-8"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-8"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-bwq7iixi-9"] { view-transition-name: introducing-android-emulators-ios-simulators-and-other-product-updates-from-article-icon; }@layer astro { ::view-transition-old(introducing-android-emulators-ios-simulators-and-other-product-updates-from-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(introducing-android-emulators-ios-simulators-and-other-product-updates-from-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(introducing-android-emulators-ios-simulators-and-other-product-updates-from-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(introducing-android-emulators-ios-simulators-and-other-product-updates-from-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-9"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-9"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-9"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-9"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-9"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-9"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-9"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-9"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-bwq7iixi-10"] { view-transition-name: how-we-built-project-idx-a-high-level-overview-article-icon; }@layer astro { ::view-transition-old(how-we-built-project-idx-a-high-level-overview-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(how-we-built-project-idx-a-high-level-overview-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(how-we-built-project-idx-a-high-level-overview-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(how-we-built-project-idx-a-high-level-overview-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-10"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-10"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-10"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-10"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-10"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-10"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-10"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-10"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-bwq7iixi-11"] { view-transition-name: welcome-to-the-idx-blog-article-icon; }@layer astro { ::view-transition-old(welcome-to-the-idx-blog-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(welcome-to-the-idx-blog-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(welcome-to-the-idx-blog-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(welcome-to-the-idx-blog-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-11"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-11"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-11"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-11"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-11"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-11"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-11"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-11"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-bwq7iixi-12"] { view-transition-name: full-stack-development-in-project-idx-article-icon; }@layer astro { ::view-transition-old(full-stack-development-in-project-idx-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(full-stack-development-in-project-idx-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(full-stack-development-in-project-idx-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(full-stack-development-in-project-idx-article-icon) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-12"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-12"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-12"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-12"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-bwq7iixi-12"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-bwq7iixi-12"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-bwq7iixi-12"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-bwq7iixi-12"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-75u3bcp5-13"] { view-transition-name: filter-btn-color-All; }@layer astro { ::view-transition-old(filter-btn-color-All) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(filter-btn-color-All) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(filter-btn-color-All) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(filter-btn-color-All) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-75u3bcp5-13"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-75u3bcp5-13"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-75u3bcp5-13"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-75u3bcp5-13"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-75u3bcp5-13"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-75u3bcp5-13"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-75u3bcp5-13"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-75u3bcp5-13"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-6pb524rx-14"] { view-transition-name: filter-btn-bg; }@layer astro { ::view-transition-old(filter-btn-bg) { animation-duration: .01s; animation-timing-function: ease; animation-fill-mode: both; animation-name: slideIndicatorFrom; }::view-transition-new(filter-btn-bg) { animation-duration: .01s; animation-timing-function: ease; animation-fill-mode: both; animation-name: slideIndicatorTo; }[data-astro-transition=back]::view-transition-old(filter-btn-bg) { animation-duration: .01s; animation-timing-function: ease; animation-fill-mode: both; animation-name: slideIndicatorFrom; }[data-astro-transition=back]::view-transition-new(filter-btn-bg) { animation-duration: .01s; animation-timing-function: ease; animation-fill-mode: both; animation-name: slideIndicatorTo; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-6pb524rx-14"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-6pb524rx-14"] { animation-duration: .01s; animation-timing-function: ease; animation-fill-mode: both; animation-name: slideIndicatorFrom; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-6pb524rx-14"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-6pb524rx-14"] { animation-duration: .01s; animation-timing-function: ease; animation-fill-mode: both; animation-name: slideIndicatorTo; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-6pb524rx-14"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-6pb524rx-14"] { animation-duration: .01s; animation-timing-function: ease; animation-fill-mode: both; animation-name: slideIndicatorFrom; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-6pb524rx-14"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-6pb524rx-14"] { animation-duration: .01s; animation-timing-function: ease; animation-fill-mode: both; animation-name: slideIndicatorTo; }</style><style>[data-astro-transition-scope="astro-75u3bcp5-15"] { view-transition-name: filter-btn-color-Posts; }@layer astro { ::view-transition-old(filter-btn-color-Posts) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(filter-btn-color-Posts) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(filter-btn-color-Posts) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(filter-btn-color-Posts) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-75u3bcp5-15"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-75u3bcp5-15"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-75u3bcp5-15"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-75u3bcp5-15"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-75u3bcp5-15"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-75u3bcp5-15"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-75u3bcp5-15"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-75u3bcp5-15"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-75u3bcp5-16"] { view-transition-name: filter-btn-color-Articles; }@layer astro { ::view-transition-old(filter-btn-color-Articles) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(filter-btn-color-Articles) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(filter-btn-color-Articles) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(filter-btn-color-Articles) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-75u3bcp5-16"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-75u3bcp5-16"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-75u3bcp5-16"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-75u3bcp5-16"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-75u3bcp5-16"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-75u3bcp5-16"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-75u3bcp5-16"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-75u3bcp5-16"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-75u3bcp5-17"] { view-transition-name: filter-btn-color-Release_20Notes; }@layer astro { ::view-transition-old(filter-btn-color-Release_20Notes) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(filter-btn-color-Release_20Notes) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(filter-btn-color-Release_20Notes) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(filter-btn-color-Release_20Notes) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-75u3bcp5-17"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-75u3bcp5-17"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-75u3bcp5-17"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-75u3bcp5-17"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-75u3bcp5-17"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-75u3bcp5-17"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-75u3bcp5-17"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-75u3bcp5-17"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-lax2adv2-18"] { view-transition-name: author-avatar-dev-nix-postgres; }@layer astro { ::view-transition-old(author-avatar-dev-nix-postgres) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-avatar-dev-nix-postgres) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-avatar-dev-nix-postgres) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-avatar-dev-nix-postgres) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-lax2adv2-18"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-lax2adv2-18"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-lax2adv2-18"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-lax2adv2-18"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-lax2adv2-18"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-lax2adv2-18"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-lax2adv2-18"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-lax2adv2-18"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-ya7hjo4y-19"] { view-transition-name: author-name-dev-nix-postgres; }@layer astro { ::view-transition-old(author-name-dev-nix-postgres) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-name-dev-nix-postgres) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-name-dev-nix-postgres) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-name-dev-nix-postgres) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-ya7hjo4y-19"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-ya7hjo4y-19"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-ya7hjo4y-19"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-ya7hjo4y-19"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-ya7hjo4y-19"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-ya7hjo4y-19"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-ya7hjo4y-19"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-ya7hjo4y-19"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-etyaxime-20"] { view-transition-name: author-title-dev-nix-postgres; }@layer astro { ::view-transition-old(author-title-dev-nix-postgres) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-title-dev-nix-postgres) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-title-dev-nix-postgres) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-title-dev-nix-postgres) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-etyaxime-20"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-etyaxime-20"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-etyaxime-20"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-etyaxime-20"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-etyaxime-20"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-etyaxime-20"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-etyaxime-20"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-etyaxime-20"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-rhsclbw6-21"] { view-transition-name: dev-nix-postgres5A070ZBGxCBu3riIYqLPagdev-nix-postgres; }@layer astro { ::view-transition-old(dev-nix-postgres5A070ZBGxCBu3riIYqLPagdev-nix-postgres) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(dev-nix-postgres5A070ZBGxCBu3riIYqLPagdev-nix-postgres) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(dev-nix-postgres5A070ZBGxCBu3riIYqLPagdev-nix-postgres) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(dev-nix-postgres5A070ZBGxCBu3riIYqLPagdev-nix-postgres) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-21"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-21"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-21"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-21"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-21"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-21"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-21"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-21"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-rhsclbw6-22"] { view-transition-name: introducing-idx-templates1dP2fBmufvPOLVoAF6667rintroducing-idx-templates; }@layer astro { ::view-transition-old(introducing-idx-templates1dP2fBmufvPOLVoAF6667rintroducing-idx-templates) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(introducing-idx-templates1dP2fBmufvPOLVoAF6667rintroducing-idx-templates) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(introducing-idx-templates1dP2fBmufvPOLVoAF6667rintroducing-idx-templates) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(introducing-idx-templates1dP2fBmufvPOLVoAF6667rintroducing-idx-templates) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-22"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-22"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-22"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-22"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-22"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-22"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-22"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-22"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-rhsclbw6-23"] { view-transition-name: meet-elijahHx7iOpO572eKdLeCzQi6Dmeet-elijah; }@layer astro { ::view-transition-old(meet-elijahHx7iOpO572eKdLeCzQi6Dmeet-elijah) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(meet-elijahHx7iOpO572eKdLeCzQi6Dmeet-elijah) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(meet-elijahHx7iOpO572eKdLeCzQi6Dmeet-elijah) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(meet-elijahHx7iOpO572eKdLeCzQi6Dmeet-elijah) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-23"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-23"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-23"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-23"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-23"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-23"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-23"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-23"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-rhsclbw6-24"] { view-transition-name: a-year-of-project-idx3mnGqaeUOzsZWe1brlyifka-year-of-project-idx; }@layer astro { ::view-transition-old(a-year-of-project-idx3mnGqaeUOzsZWe1brlyifka-year-of-project-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(a-year-of-project-idx3mnGqaeUOzsZWe1brlyifka-year-of-project-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(a-year-of-project-idx3mnGqaeUOzsZWe1brlyifka-year-of-project-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(a-year-of-project-idx3mnGqaeUOzsZWe1brlyifka-year-of-project-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-24"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-24"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-24"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-24"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-24"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-24"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-24"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-24"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-lax2adv2-25"] { view-transition-name: author-avatar-gitlab-bitbucket-preview-announcement; }@layer astro { ::view-transition-old(author-avatar-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-avatar-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-avatar-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-avatar-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-lax2adv2-25"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-lax2adv2-25"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-lax2adv2-25"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-lax2adv2-25"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-lax2adv2-25"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-lax2adv2-25"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-lax2adv2-25"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-lax2adv2-25"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-ya7hjo4y-26"] { view-transition-name: author-name-gitlab-bitbucket-preview-announcement; }@layer astro { ::view-transition-old(author-name-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-name-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-name-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-name-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-ya7hjo4y-26"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-ya7hjo4y-26"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-ya7hjo4y-26"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-ya7hjo4y-26"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-ya7hjo4y-26"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-ya7hjo4y-26"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-ya7hjo4y-26"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-ya7hjo4y-26"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-etyaxime-27"] { view-transition-name: author-title-gitlab-bitbucket-preview-announcement; }@layer astro { ::view-transition-old(author-title-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-title-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-title-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-title-gitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-etyaxime-27"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-etyaxime-27"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-etyaxime-27"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-etyaxime-27"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-etyaxime-27"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-etyaxime-27"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-etyaxime-27"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-etyaxime-27"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-rhsclbw6-28"] { view-transition-name: gitlab-bitbucket-preview-announcement2ksbekCzvhFX2KxlMKVO2sgitlab-bitbucket-preview-announcement; }@layer astro { ::view-transition-old(gitlab-bitbucket-preview-announcement2ksbekCzvhFX2KxlMKVO2sgitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(gitlab-bitbucket-preview-announcement2ksbekCzvhFX2KxlMKVO2sgitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(gitlab-bitbucket-preview-announcement2ksbekCzvhFX2KxlMKVO2sgitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(gitlab-bitbucket-preview-announcement2ksbekCzvhFX2KxlMKVO2sgitlab-bitbucket-preview-announcement) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-28"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-28"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-28"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-28"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-28"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-28"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-28"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-28"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-rhsclbw6-29"] { view-transition-name: ai-tools-templates-and-android-studio1QzPPSqzRPCUJF27Ai6qoyai-tools-templates-and-android-studio; }@layer astro { ::view-transition-old(ai-tools-templates-and-android-studio1QzPPSqzRPCUJF27Ai6qoyai-tools-templates-and-android-studio) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(ai-tools-templates-and-android-studio1QzPPSqzRPCUJF27Ai6qoyai-tools-templates-and-android-studio) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(ai-tools-templates-and-android-studio1QzPPSqzRPCUJF27Ai6qoyai-tools-templates-and-android-studio) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(ai-tools-templates-and-android-studio1QzPPSqzRPCUJF27Ai6qoyai-tools-templates-and-android-studio) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-29"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-29"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-29"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-29"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-29"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-29"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-29"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-29"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-rhsclbw6-30"] { view-transition-name: insiders-look-at-gemini-in-idxeZbL71CLI4C0iyGdoQ5zLinsiders-look-at-gemini-in-idx; }@layer astro { ::view-transition-old(insiders-look-at-gemini-in-idxeZbL71CLI4C0iyGdoQ5zLinsiders-look-at-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(insiders-look-at-gemini-in-idxeZbL71CLI4C0iyGdoQ5zLinsiders-look-at-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(insiders-look-at-gemini-in-idxeZbL71CLI4C0iyGdoQ5zLinsiders-look-at-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(insiders-look-at-gemini-in-idxeZbL71CLI4C0iyGdoQ5zLinsiders-look-at-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-30"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-30"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-30"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-30"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-30"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-30"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-30"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-30"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-lax2adv2-31"] { view-transition-name: author-avatar-tips-and-tricks-enabling-docker; }@layer astro { ::view-transition-old(author-avatar-tips-and-tricks-enabling-docker) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-avatar-tips-and-tricks-enabling-docker) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-avatar-tips-and-tricks-enabling-docker) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-avatar-tips-and-tricks-enabling-docker) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-lax2adv2-31"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-lax2adv2-31"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-lax2adv2-31"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-lax2adv2-31"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-lax2adv2-31"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-lax2adv2-31"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-lax2adv2-31"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-lax2adv2-31"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-ya7hjo4y-32"] { view-transition-name: author-name-tips-and-tricks-enabling-docker; }@layer astro { ::view-transition-old(author-name-tips-and-tricks-enabling-docker) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-name-tips-and-tricks-enabling-docker) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-name-tips-and-tricks-enabling-docker) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-name-tips-and-tricks-enabling-docker) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-ya7hjo4y-32"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-ya7hjo4y-32"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-ya7hjo4y-32"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-ya7hjo4y-32"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-ya7hjo4y-32"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-ya7hjo4y-32"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-ya7hjo4y-32"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-ya7hjo4y-32"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-etyaxime-33"] { view-transition-name: author-title-tips-and-tricks-enabling-docker; }@layer astro { ::view-transition-old(author-title-tips-and-tricks-enabling-docker) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-title-tips-and-tricks-enabling-docker) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-title-tips-and-tricks-enabling-docker) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-title-tips-and-tricks-enabling-docker) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-etyaxime-33"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-etyaxime-33"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-etyaxime-33"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-etyaxime-33"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-etyaxime-33"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-etyaxime-33"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-etyaxime-33"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-etyaxime-33"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-rhsclbw6-34"] { view-transition-name: tips-and-tricks-enabling-docker5A2MF5OKfRArgJmLnyLaDEtips-and-tricks-enabling-docker; }@layer astro { ::view-transition-old(tips-and-tricks-enabling-docker5A2MF5OKfRArgJmLnyLaDEtips-and-tricks-enabling-docker) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(tips-and-tricks-enabling-docker5A2MF5OKfRArgJmLnyLaDEtips-and-tricks-enabling-docker) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(tips-and-tricks-enabling-docker5A2MF5OKfRArgJmLnyLaDEtips-and-tricks-enabling-docker) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(tips-and-tricks-enabling-docker5A2MF5OKfRArgJmLnyLaDEtips-and-tricks-enabling-docker) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-34"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-34"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-34"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-34"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-34"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-34"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-34"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-34"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-lax2adv2-35"] { view-transition-name: author-avatar-tips-and-tricks-building-with-gemini-in-idx; }@layer astro { ::view-transition-old(author-avatar-tips-and-tricks-building-with-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-avatar-tips-and-tricks-building-with-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-avatar-tips-and-tricks-building-with-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-avatar-tips-and-tricks-building-with-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-lax2adv2-35"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-lax2adv2-35"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-lax2adv2-35"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-lax2adv2-35"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-lax2adv2-35"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-lax2adv2-35"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-lax2adv2-35"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-lax2adv2-35"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-ya7hjo4y-36"] { view-transition-name: author-name-tips-and-tricks-building-with-gemini-in-idx; }@layer astro { ::view-transition-old(author-name-tips-and-tricks-building-with-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-name-tips-and-tricks-building-with-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-name-tips-and-tricks-building-with-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-name-tips-and-tricks-building-with-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-ya7hjo4y-36"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-ya7hjo4y-36"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-ya7hjo4y-36"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-ya7hjo4y-36"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-ya7hjo4y-36"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-ya7hjo4y-36"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-ya7hjo4y-36"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-ya7hjo4y-36"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-etyaxime-37"] { view-transition-name: author-title-tips-and-tricks-building-with-gemini-in-idx; }@layer astro { ::view-transition-old(author-title-tips-and-tricks-building-with-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-title-tips-and-tricks-building-with-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-title-tips-and-tricks-building-with-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-title-tips-and-tricks-building-with-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-etyaxime-37"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-etyaxime-37"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-etyaxime-37"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-etyaxime-37"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-etyaxime-37"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-etyaxime-37"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-etyaxime-37"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-etyaxime-37"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-rhsclbw6-38"] { view-transition-name: tips-and-tricks-building-with-gemini-in-idx1bpNWqQnmIQ3IZMTA5SCKMtips-and-tricks-building-with-gemini-in-idx; }@layer astro { ::view-transition-old(tips-and-tricks-building-with-gemini-in-idx1bpNWqQnmIQ3IZMTA5SCKMtips-and-tricks-building-with-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(tips-and-tricks-building-with-gemini-in-idx1bpNWqQnmIQ3IZMTA5SCKMtips-and-tricks-building-with-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(tips-and-tricks-building-with-gemini-in-idx1bpNWqQnmIQ3IZMTA5SCKMtips-and-tricks-building-with-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(tips-and-tricks-building-with-gemini-in-idx1bpNWqQnmIQ3IZMTA5SCKMtips-and-tricks-building-with-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-38"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-38"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-38"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-38"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-38"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-38"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-38"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-38"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-rhsclbw6-39"] { view-transition-name: start-building-with-project-idx-today47DgA853YwxlFxWWZwUnqdstart-building-with-project-idx-today; }@layer astro { ::view-transition-old(start-building-with-project-idx-today47DgA853YwxlFxWWZwUnqdstart-building-with-project-idx-today) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(start-building-with-project-idx-today47DgA853YwxlFxWWZwUnqdstart-building-with-project-idx-today) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(start-building-with-project-idx-today47DgA853YwxlFxWWZwUnqdstart-building-with-project-idx-today) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(start-building-with-project-idx-today47DgA853YwxlFxWWZwUnqdstart-building-with-project-idx-today) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-39"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-39"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-39"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-39"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-39"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-39"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-39"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-39"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-rhsclbw6-40"] { view-transition-name: build-with-gemini-in-idx5DLNE2TnyhZ58jTKcvRFtQbuild-with-gemini-in-idx; }@layer astro { ::view-transition-old(build-with-gemini-in-idx5DLNE2TnyhZ58jTKcvRFtQbuild-with-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(build-with-gemini-in-idx5DLNE2TnyhZ58jTKcvRFtQbuild-with-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(build-with-gemini-in-idx5DLNE2TnyhZ58jTKcvRFtQbuild-with-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(build-with-gemini-in-idx5DLNE2TnyhZ58jTKcvRFtQbuild-with-gemini-in-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-40"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-40"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-40"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-40"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-40"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-40"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-40"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-40"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-lax2adv2-41"] { view-transition-name: author-avatar-ios-simulator-video; }@layer astro { ::view-transition-old(author-avatar-ios-simulator-video) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-avatar-ios-simulator-video) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-avatar-ios-simulator-video) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-avatar-ios-simulator-video) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-lax2adv2-41"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-lax2adv2-41"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-lax2adv2-41"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-lax2adv2-41"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-lax2adv2-41"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-lax2adv2-41"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-lax2adv2-41"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-lax2adv2-41"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-ya7hjo4y-42"] { view-transition-name: author-name-ios-simulator-video; }@layer astro { ::view-transition-old(author-name-ios-simulator-video) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-name-ios-simulator-video) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-name-ios-simulator-video) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-name-ios-simulator-video) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-ya7hjo4y-42"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-ya7hjo4y-42"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-ya7hjo4y-42"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-ya7hjo4y-42"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-ya7hjo4y-42"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-ya7hjo4y-42"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-ya7hjo4y-42"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-ya7hjo4y-42"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-etyaxime-43"] { view-transition-name: author-title-ios-simulator-video; }@layer astro { ::view-transition-old(author-title-ios-simulator-video) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-title-ios-simulator-video) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-title-ios-simulator-video) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-title-ios-simulator-video) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-etyaxime-43"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-etyaxime-43"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-etyaxime-43"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-etyaxime-43"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-etyaxime-43"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-etyaxime-43"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-etyaxime-43"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-etyaxime-43"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-rhsclbw6-44"] { view-transition-name: ios-simulator-video1BTqYD8BzvXhAyc1qNjq51ios-simulator-video; }@layer astro { ::view-transition-old(ios-simulator-video1BTqYD8BzvXhAyc1qNjq51ios-simulator-video) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(ios-simulator-video1BTqYD8BzvXhAyc1qNjq51ios-simulator-video) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(ios-simulator-video1BTqYD8BzvXhAyc1qNjq51ios-simulator-video) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(ios-simulator-video1BTqYD8BzvXhAyc1qNjq51ios-simulator-video) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-44"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-44"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-44"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-44"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-44"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-44"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-44"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-44"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-rhsclbw6-45"] { view-transition-name: nix-on-idx4D8K9RkxuSVtHLaLZiuE2enix-on-idx; }@layer astro { ::view-transition-old(nix-on-idx4D8K9RkxuSVtHLaLZiuE2enix-on-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(nix-on-idx4D8K9RkxuSVtHLaLZiuE2enix-on-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(nix-on-idx4D8K9RkxuSVtHLaLZiuE2enix-on-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(nix-on-idx4D8K9RkxuSVtHLaLZiuE2enix-on-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-45"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-45"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-45"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-45"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-45"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-45"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-45"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-45"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-lax2adv2-46"] { view-transition-name: author-avatar-jan-update-thread; }@layer astro { ::view-transition-old(author-avatar-jan-update-thread) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-avatar-jan-update-thread) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-avatar-jan-update-thread) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-avatar-jan-update-thread) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-lax2adv2-46"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-lax2adv2-46"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-lax2adv2-46"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-lax2adv2-46"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-lax2adv2-46"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-lax2adv2-46"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-lax2adv2-46"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-lax2adv2-46"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-ya7hjo4y-47"] { view-transition-name: author-name-jan-update-thread; }@layer astro { ::view-transition-old(author-name-jan-update-thread) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-name-jan-update-thread) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-name-jan-update-thread) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-name-jan-update-thread) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-ya7hjo4y-47"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-ya7hjo4y-47"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-ya7hjo4y-47"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-ya7hjo4y-47"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-ya7hjo4y-47"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-ya7hjo4y-47"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-ya7hjo4y-47"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-ya7hjo4y-47"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-etyaxime-48"] { view-transition-name: author-title-jan-update-thread; }@layer astro { ::view-transition-old(author-title-jan-update-thread) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-title-jan-update-thread) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-title-jan-update-thread) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-title-jan-update-thread) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-etyaxime-48"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-etyaxime-48"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-etyaxime-48"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-etyaxime-48"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-etyaxime-48"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-etyaxime-48"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-etyaxime-48"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-etyaxime-48"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-rhsclbw6-49"] { view-transition-name: jan-update-thread5GOPLXcSyfQOrrcm3OpVnyjan-update-thread; }@layer astro { ::view-transition-old(jan-update-thread5GOPLXcSyfQOrrcm3OpVnyjan-update-thread) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(jan-update-thread5GOPLXcSyfQOrrcm3OpVnyjan-update-thread) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(jan-update-thread5GOPLXcSyfQOrrcm3OpVnyjan-update-thread) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(jan-update-thread5GOPLXcSyfQOrrcm3OpVnyjan-update-thread) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-49"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-49"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-49"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-49"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-49"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-49"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-49"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-49"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-rhsclbw6-50"] { view-transition-name: introducing-android-emulators-ios-simulators-and-other-product-updates-from3wFy4cTqDJY86YEwWzB5bCintroducing-android-emulators-ios-simulators-and-other-product-updates-from; }@layer astro { ::view-transition-old(introducing-android-emulators-ios-simulators-and-other-product-updates-from3wFy4cTqDJY86YEwWzB5bCintroducing-android-emulators-ios-simulators-and-other-product-updates-from) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(introducing-android-emulators-ios-simulators-and-other-product-updates-from3wFy4cTqDJY86YEwWzB5bCintroducing-android-emulators-ios-simulators-and-other-product-updates-from) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(introducing-android-emulators-ios-simulators-and-other-product-updates-from3wFy4cTqDJY86YEwWzB5bCintroducing-android-emulators-ios-simulators-and-other-product-updates-from) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(introducing-android-emulators-ios-simulators-and-other-product-updates-from3wFy4cTqDJY86YEwWzB5bCintroducing-android-emulators-ios-simulators-and-other-product-updates-from) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-50"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-50"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-50"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-50"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-50"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-50"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-50"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-50"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-rhsclbw6-51"] { view-transition-name: how-we-built-project-idx-a-high-level-overviewZZ4fTmJM5faQeDE9bioschow-we-built-project-idx-a-high-level-overview; }@layer astro { ::view-transition-old(how-we-built-project-idx-a-high-level-overviewZZ4fTmJM5faQeDE9bioschow-we-built-project-idx-a-high-level-overview) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(how-we-built-project-idx-a-high-level-overviewZZ4fTmJM5faQeDE9bioschow-we-built-project-idx-a-high-level-overview) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(how-we-built-project-idx-a-high-level-overviewZZ4fTmJM5faQeDE9bioschow-we-built-project-idx-a-high-level-overview) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(how-we-built-project-idx-a-high-level-overviewZZ4fTmJM5faQeDE9bioschow-we-built-project-idx-a-high-level-overview) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-51"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-51"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-51"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-51"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-51"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-51"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-51"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-51"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-lax2adv2-52"] { view-transition-name: author-avatar-new-gemini-template; }@layer astro { ::view-transition-old(author-avatar-new-gemini-template) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-avatar-new-gemini-template) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-avatar-new-gemini-template) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-avatar-new-gemini-template) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-lax2adv2-52"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-lax2adv2-52"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-lax2adv2-52"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-lax2adv2-52"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-lax2adv2-52"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-lax2adv2-52"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-lax2adv2-52"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-lax2adv2-52"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-ya7hjo4y-53"] { view-transition-name: author-name-new-gemini-template; }@layer astro { ::view-transition-old(author-name-new-gemini-template) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-name-new-gemini-template) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-name-new-gemini-template) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-name-new-gemini-template) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-ya7hjo4y-53"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-ya7hjo4y-53"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-ya7hjo4y-53"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-ya7hjo4y-53"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-ya7hjo4y-53"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-ya7hjo4y-53"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-ya7hjo4y-53"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-ya7hjo4y-53"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-etyaxime-54"] { view-transition-name: author-title-new-gemini-template; }@layer astro { ::view-transition-old(author-title-new-gemini-template) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-title-new-gemini-template) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-title-new-gemini-template) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-title-new-gemini-template) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-etyaxime-54"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-etyaxime-54"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-etyaxime-54"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-etyaxime-54"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-etyaxime-54"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-etyaxime-54"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-etyaxime-54"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-etyaxime-54"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-rhsclbw6-55"] { view-transition-name: new-gemini-template76Uudgp95UDR69TMhjKB9hnew-gemini-template; }@layer astro { ::view-transition-old(new-gemini-template76Uudgp95UDR69TMhjKB9hnew-gemini-template) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(new-gemini-template76Uudgp95UDR69TMhjKB9hnew-gemini-template) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(new-gemini-template76Uudgp95UDR69TMhjKB9hnew-gemini-template) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(new-gemini-template76Uudgp95UDR69TMhjKB9hnew-gemini-template) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-55"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-55"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-55"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-55"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-55"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-55"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-55"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-55"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-lax2adv2-56"] { view-transition-name: author-avatar-generate-ts-types; }@layer astro { ::view-transition-old(author-avatar-generate-ts-types) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-avatar-generate-ts-types) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-avatar-generate-ts-types) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-avatar-generate-ts-types) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-lax2adv2-56"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-lax2adv2-56"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-lax2adv2-56"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-lax2adv2-56"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-lax2adv2-56"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-lax2adv2-56"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-lax2adv2-56"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-lax2adv2-56"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-ya7hjo4y-57"] { view-transition-name: author-name-generate-ts-types; }@layer astro { ::view-transition-old(author-name-generate-ts-types) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-name-generate-ts-types) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-name-generate-ts-types) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-name-generate-ts-types) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-ya7hjo4y-57"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-ya7hjo4y-57"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-ya7hjo4y-57"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-ya7hjo4y-57"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-ya7hjo4y-57"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-ya7hjo4y-57"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-ya7hjo4y-57"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-ya7hjo4y-57"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-etyaxime-58"] { view-transition-name: author-title-generate-ts-types; }@layer astro { ::view-transition-old(author-title-generate-ts-types) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(author-title-generate-ts-types) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(author-title-generate-ts-types) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(author-title-generate-ts-types) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-etyaxime-58"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-etyaxime-58"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-etyaxime-58"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-etyaxime-58"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-etyaxime-58"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-etyaxime-58"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-etyaxime-58"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-etyaxime-58"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-rhsclbw6-59"] { view-transition-name: generate-ts-types1rCm8jo8O3YD6xB8BTmWrogenerate-ts-types; }@layer astro { ::view-transition-old(generate-ts-types1rCm8jo8O3YD6xB8BTmWrogenerate-ts-types) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(generate-ts-types1rCm8jo8O3YD6xB8BTmWrogenerate-ts-types) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(generate-ts-types1rCm8jo8O3YD6xB8BTmWrogenerate-ts-types) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(generate-ts-types1rCm8jo8O3YD6xB8BTmWrogenerate-ts-types) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-59"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-59"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-59"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-59"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-59"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-59"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-59"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-59"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-rhsclbw6-60"] { view-transition-name: welcome-to-the-idx-blog54h6Ww82vdofKbhR5kWPndwelcome-to-the-idx-blog; }@layer astro { ::view-transition-old(welcome-to-the-idx-blog54h6Ww82vdofKbhR5kWPndwelcome-to-the-idx-blog) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(welcome-to-the-idx-blog54h6Ww82vdofKbhR5kWPndwelcome-to-the-idx-blog) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(welcome-to-the-idx-blog54h6Ww82vdofKbhR5kWPndwelcome-to-the-idx-blog) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(welcome-to-the-idx-blog54h6Ww82vdofKbhR5kWPndwelcome-to-the-idx-blog) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-60"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-60"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-60"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-60"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-60"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-60"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-60"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-60"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-rhsclbw6-61"] { view-transition-name: full-stack-development-in-project-idx3k2e1PVsuRiiy4gxGO7OyAfull-stack-development-in-project-idx; }@layer astro { ::view-transition-old(full-stack-development-in-project-idx3k2e1PVsuRiiy4gxGO7OyAfull-stack-development-in-project-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }::view-transition-new(full-stack-development-in-project-idx3k2e1PVsuRiiy4gxGO7OyAfull-stack-development-in-project-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(full-stack-development-in-project-idx3k2e1PVsuRiiy4gxGO7OyAfull-stack-development-in-project-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(full-stack-development-in-project-idx3k2e1PVsuRiiy4gxGO7OyAfull-stack-development-in-project-idx) { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-61"], [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-61"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-61"], [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-61"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-rhsclbw6-61"], [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-rhsclbw6-61"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-rhsclbw6-61"], [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-rhsclbw6-61"] { animation-duration: 180ms; animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); animation-fill-mode: both; animation-name: astroFadeIn; }</style></head><body><nav id="nav"><div class="nav-items"><a href="https://idx.google.com" title="Project IDX" class="nav-item max-md:py-3 gap-2 z-50"><svg viewBox="0 0 192 192" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-7 max-md:w-6"><rect x="28" y="156" width="88" height="24" rx="12" class="fill-purple-500"></rect><rect x="104" y="120" width="36" height="24" rx="12" class="fill-green-400"></rect><rect x="56" y="120" width="36" height="24" rx="12" class="fill-green-400"></rect><rect x="84" y="84" width="52" height="24" rx="12" class="fill-yellow-400"></rect><rect x="148" y="84" width="24" height="24" rx="12" class="fill-yellow-400"></rect><rect x="56" y="48" width="88" height="24" rx="12" class="fill-blue-400"></rect><rect x="64" y="12" width="52" height="24" rx="12" class="fill-purple-500"></rect><rect x="28" y="12" width="24" height="24" rx="12" class="fill-purple-500"></rect></svg> <span class="sr-only">Project IDX</span> </a><label tabindex="0" for="nav-mobile-menu-trigger" class="nav-item"><div class="menu-icon-animation menu-to-close" data-astro-cid-zdwhra5n><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 496 16" width="496" height="16" data-astro-cid-zdwhra5n><path d="M0 4h16v1H0zm0 4h16v1H0zm0 4h16v1H0zm16-7.957h16v1H16zM16 8h16v1H16zm0 3.957h16v1H16zM32 4.2h16v1H32zM32 8h16v1H32zm0 3.8h16v1H32zm16-7.264h16v1H48zM48 8h16v1H48zm0 3.464h16v1H48zm16-6.352h16v1H64zM64 8h16v1H64zm0 2.888h16v1H64zm16-5.059h16v1H80zM80 8h16v1H80zm0 2.171h16v1H80zm16-3.717h16v1H96zM96 8h16v1H96zm0 1.546h16v1H96zm16-2.626h16v1h-16zM112 8h16v1h-16zm0 1.08h16v1h-16zm16-1.822h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M128 8h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M128 8.742h16v1h-16zm16-1.238h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M144 8h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M144 8.496h16v1h-16zm16-.813h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M160 8h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M160 8.317h16v1h-16z" data-astro-cid-zdwhra5n></path><g data-astro-cid-zdwhra5n><path d="M176 7.812h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M176 8h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M176 8.188h16v1h-16z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="M192 7.901h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M192 8h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M192 8.099h16v1h-16z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="M208 7.959h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M208 8h16v1h-16z" fill-opacity=".939" data-astro-cid-zdwhra5n></path><path d="M208 8.041h16v1h-16z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="M224 7.99h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M224 8h16v1h-16z" fill-opacity=".147" data-astro-cid-zdwhra5n></path><path d="M224 8.01h16v1h-16z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="M240 8h16v1h-16z" data-astro-cid-zdwhra5n></path><path d="M240 8h16v1h-16z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m256.013 7.933 15.982.134-.008 1-15.982-.134z" data-astro-cid-zdwhra5n></path><path d="m256.005 8.067 15.982-.134.008 1-15.982.134z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m272.066 7.688 15.908.624-.04 1-15.908-.624z" data-astro-cid-zdwhra5n></path><path d="m272.026 8.312 15.908-.624.04 1-15.908.624z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m288.203 7.174 15.699 1.658-.105.994-15.699-1.658z" data-astro-cid-zdwhra5n></path><path d="m288.098 8.832 15.699-1.658.105.994-15.699 1.658z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m304.515 6.327 15.186 3.37-.216.976-15.186-3.37z" data-astro-cid-zdwhra5n></path><path d="m304.299 9.697 15.186-3.37.216.976-15.186 3.37z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m321.029 5.349 14.294 5.366-.352.936-14.294-5.366z" data-astro-cid-zdwhra5n></path><path d="m320.677 10.715 14.294-5.366.352.936-14.294 5.366z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m337.578 4.577 13.308 6.96-.464.886-13.308-6.96z" data-astro-cid-zdwhra5n></path><path d="m337.114 11.537 13.308-6.96.464.886-13.308 6.96z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m354.041 4.057 12.46 8.046-.542.84-12.46-8.046z" data-astro-cid-zdwhra5n></path><path d="m353.499 12.103 12.46-8.046.542.84-12.46 8.046z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m370.403 3.712 11.791 8.773-.597.803-11.791-8.773z" data-astro-cid-zdwhra5n></path><path d="m369.806 12.485 11.791-8.773.597.803-11.791 8.773z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m386.679 3.479 11.277 9.27-.635.772-11.277-9.27z" data-astro-cid-zdwhra5n></path><path d="m386.044 12.749 11.277-9.27.635.772-11.277 9.27z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m402.885 3.318 10.891 9.614-.661.75-10.891-9.614z" data-astro-cid-zdwhra5n></path><path d="m402.224 12.932 10.89-9.614.662.75-10.89 9.614z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m419.037 3.208 10.607 9.85-.68.734-10.608-9.85z" data-astro-cid-zdwhra5n></path><path d="m418.356 13.059 10.607-9.85.68.732-10.606 9.85z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m435.143 3.135 10.407 10.01-.693.72-10.407-10.01z" data-astro-cid-zdwhra5n></path><path d="m434.45 13.145 10.407-10.01.693.72-10.407 10.01z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="M451.212 3.088 461.49 13.2l-.701.713L450.51 3.8z" data-astro-cid-zdwhra5n></path><path d="m450.511 13.2 10.277-10.112.7.713-10.276 10.11z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m467.25 3.063 10.205 10.166-.706.708-10.204-10.166z" data-astro-cid-zdwhra5n></path><path d="m466.545 13.229 10.204-10.166.706.708-10.204 10.166z" data-astro-cid-zdwhra5n></path></g><g data-astro-cid-zdwhra5n><path d="m483.262 3.055 10.183 10.183-.707.707-10.183-10.183z" data-astro-cid-zdwhra5n></path><path d="m482.555 13.238 10.183-10.183.707.707-10.183 10.183z" data-astro-cid-zdwhra5n></path></g></svg></div><span class="sr-only">Menu</span></label> <input tabindex="-1" type="checkbox" id="nav-mobile-menu-trigger"><div class="nav-list"><a href="https://idx.google.com" class="nav-item"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 6.08447V13H14V6.08447L8.49075 2.98148C8.18608 2.80988 7.81392 2.80988 7.50925 2.98148L2 6.08447ZM1 6.08447V13C1 13.5523 1.44772 14 2 14H14C14.5523 14 15 13.5523 15 13V6.08447C15 5.7234 14.8054 5.39036 14.4907 5.21317L8.98149 2.11018C8.37216 1.76699 7.62784 1.76699 7.01851 2.11018L1.50925 5.21317C1.19465 5.39036 1 5.7234 1 6.08447Z" fill="currentColor"></path></svg> <span>Home</span> </a><a href="/blog" class="nav-item selected"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.01333 13.0133C5.01333 12.4444 4.81778 11.9644 4.42667 11.5733C4.03556 11.1822 3.55556 10.9867 2.98667 10.9867V13.0133H5.01333ZM2.98667 2.98667C4.8 2.98667 6.47111 3.44889 8 4.37333C9.52889 5.26222 10.7378 6.47111 11.6267 8C12.5511 9.52889 13.0133 11.2 13.0133 13.0133H12C12 11.3778 11.5911 9.86667 10.7733 8.48C9.99111 7.09333 8.90667 6.00889 7.52 5.22667C6.13333 4.40889 4.62222 4 2.98667 4V2.98667ZM2.98667 6.98667C4.08889 6.98667 5.08444 7.27111 5.97333 7.84C6.89778 8.37333 7.62667 9.10222 8.16 10.0267C8.72889 10.9156 9.01333 11.9111 9.01333 13.0133H8C8 12.0889 7.76889 11.2533 7.30667 10.5067C6.88 9.72444 6.27556 9.12 5.49333 8.69333C4.74667 8.23111 3.91111 8 2.98667 8V6.98667Z" fill="currentColor"></path></svg> <span>Blog</span> </a><a href="https://developers.google.com/idx" target="_blank" rel="noopener" class="nav-item"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.01333 12V10.9867H10.0267V12H1.01333ZM1.01333 6.98667H14.9867V8H1.01333V6.98667ZM12 2.98667V4H1.01333V2.98667H12Z" fill="currentColor"></path></svg> <span>Docs</span> </a><a href="https://developers.google.com/idx/support/help" target="_blank" rel="noopener" class="nav-item"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.01333 6.98667L4.96 4.96L6.98667 9.01333L11.04 11.04L9.01333 6.98667ZM9.44 9.44L7.52 8.48L6.56 6.56L8.48 7.52L9.44 9.44ZM13.9733 8.48H13.0133V7.52H13.9733C13.9022 6.56 13.6178 5.67111 13.12 4.85333C12.6222 4.03556 11.9644 3.37778 11.1467 2.88C10.3289 2.38222 9.44 2.09778 8.48 2.02667V2.98667H7.52V2.02667C6.56 2.09778 5.67111 2.38222 4.85333 2.88C4.07111 3.37778 3.41333 4.03556 2.88 4.85333C2.38222 5.63556 2.09778 6.50667 2.02667 7.46667H2.98667V8.48H2.02667C2.09778 9.44 2.38222 10.3289 2.88 11.1467C3.37778 11.9289 4.03556 12.5867 4.85333 13.12C5.67111 13.6178 6.56 13.9022 7.52 13.9733V13.0133H8.48V13.9733C9.44 13.9022 10.3289 13.6178 11.1467 13.12C11.9644 12.6222 12.6222 11.9644 13.12 11.1467C13.6178 10.3289 13.9022 9.44 13.9733 8.48ZM8 14.9867C6.72 14.9867 5.54667 14.6844 4.48 14.08C3.41333 13.44 2.56 12.5867 1.92 11.52C1.31556 10.4533 1.01333 9.28 1.01333 8C1.01333 6.72 1.31556 5.54667 1.92 4.48C2.56 3.41333 3.41333 2.57778 4.48 1.97333C5.54667 1.33333 6.72 1.01333 8 1.01333C9.28 1.01333 10.4533 1.33333 11.52 1.97333C12.5867 2.57778 13.4222 3.41333 14.0267 4.48C14.6667 5.54667 14.9867 6.72 14.9867 8C14.9867 9.28 14.6667 10.4533 14.0267 11.52C13.4222 12.5867 12.5867 13.44 11.52 14.08C10.4533 14.6844 9.28 14.9867 8 14.9867Z" fill="currentColor"></path></svg> <span>Support</span></a></div></div><a href="https://developers.google.com" title="Made by Google" class="max-md:hidden group p-3 md:p-4 flex justify-center" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 21" class="w-5 h-5 text-gray-300 group-hover:text-gray-400 transition-colors duration-500"><path class="fill-current" d="M20 11.04c0-.72-.063-1.436-.19-2.144h-9.597v3.929h5.532a4.727 4.727 0 0 1-2.05 3.163v2.548h3.284C18.899 16.761 20 14.139 20 11.039Z"></path><path class="fill-current" d="M13.69 15.988c-.916.617-2.094.977-3.477.977-2.66 0-4.926-1.792-5.735-4.207H1.086v2.628a10.201 10.201 0 0 0 3.766 4.098A10.228 10.228 0 0 0 10.212 21c2.76 0 5.079-.906 6.765-2.464l-3.287-2.548Z"></path><path class="fill-current" d="M4.16 10.807c0-.663.107-1.322.318-1.95V6.229H1.086a10.193 10.193 0 0 0 0 9.156l3.394-2.627a6.13 6.13 0 0 1-.32-1.95Z"></path><path class="fill-current" d="M10.213 4.65c1.505 0 2.854.516 3.92 1.528L17.05 3.27C15.28 1.624 12.97.615 10.213.615c-1.893 0-3.75.524-5.361 1.516a10.2 10.2 0 0 0-3.766 4.098L4.48 8.857c.81-2.415 3.073-4.208 5.733-4.208Z"></path></svg></a></nav><main class="md:relative min-h-screen flex flex-col justify-between overflow-x-clip md:grow"><div class="shine -z-10 absolute inset-0" role="presentation"></div><div id="blog-filter-bar"><div class="blog-container flex gap-0.5 sm:gap-2 justify-between items-center max-sm:pr-2.5 max-sm:pl-4"><nav class="relative max-sm:w-full flex sm:gap-1 py-2 md:border border-gray-300 md:rounded-full md:py-1.5 md:px-2 md:bg-gray-100 z-30"><a href="/blog/" class="filter-button text-yellow selected max-sm:aspect-square" data-astro-cid-abisfh57 data-astro-transition-scope="astro-75u3bcp5-13"><div class="absolute inset-0 rounded-full -z-10 bg-current transition-colors" data-astro-cid-abisfh57 data-astro-transition-scope="astro-6pb524rx-14"></div><span class="filter-button-label" data-astro-cid-abisfh57>All</span> </a><a href="/blog/posts" class="filter-button text-purple" data-astro-cid-abisfh57 data-astro-transition-scope="astro-75u3bcp5-15"><svg class="w-4" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 22V4c0-.55.196-1.02.587-1.413A1.926 1.926 0 0 1 4 2h16c.55 0 1.02.196 1.413.587C21.803 2.98 22 3.45 22 4v12c0 .55-.196 1.02-.587 1.413A1.926 1.926 0 0 1 20 18H6l-4 4Zm3.15-6H20V4H4v13.125L5.15 16Z" fill="currentColor"></path></svg> <span class="filter-button-label" data-astro-cid-abisfh57>Posts</span> </a><a href="/blog/articles" class="filter-button text-blue" data-astro-cid-abisfh57 data-astro-transition-scope="astro-75u3bcp5-16"><svg xmlns="http://www.w3.org/2000/svg" class="w-4" viewBox="0 0 24 24" fill="none"><path d="M7 17h7v-2H7v2Zm0-4h10v-2H7v2Zm0-4h10V7H7v2ZM5 21c-.55 0-1.02-.196-1.413-.587A1.926 1.926 0 0 1 3 19V5c0-.55.196-1.02.587-1.413A1.926 1.926 0 0 1 5 3h14c.55 0 1.02.196 1.413.587C20.803 3.98 21 4.45 21 5v14c0 .55-.196 1.02-.587 1.413A1.926 1.926 0 0 1 19 21H5Zm0-2h14V5H5v14Z" fill="currentColor"></path></svg> <span class="filter-button-label" data-astro-cid-abisfh57>Articles</span> </a><a href="/blog/release-notes" class="filter-button text-green disabled" data-astro-cid-abisfh57 data-astro-transition-scope="astro-75u3bcp5-17"><svg class="w-4" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7 20.333V15H5.667a2.568 2.568 0 0 1-1.884-.783A2.568 2.568 0 0 1 3 12.333V9.667c0-.734.261-1.361.783-1.884A2.568 2.568 0 0 1 5.667 7H11l6.667-4v16L11 15H9.312v5.333H7Zm9-4.833V7l-4.5 2H5v4h6.5l4.5 2.5Zm3-.033V6.533a6.09 6.09 0 0 1 1.45 1.95c.367.767.55 1.606.55 2.517 0 .911-.183 1.75-.55 2.517a6.091 6.091 0 0 1-1.45 1.95Z" fill="currentColor"></path></svg> <span class="filter-button-label" data-astro-cid-abisfh57><span class="sm:hidden">Releases</span><span class="max-sm:hidden">Release Notes</span></span></a></nav><style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event("astro:load"));})();;(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="Z1yzIdA" component-url="/_astro/FilterTags.DyDB2XGd.js" component-export="default" renderer-url="/_astro/client.Cx1FBVJX.js" props="{"tags":[1,[[0,{"sys":[0,{"id":[0,"qRYXmHXSlwvOzwncXmTJP"]}],"name":[0,"AI"],"slug":[0,"ai"],"linkedFrom":[0,{"contentTypeEntryCollection":[0,{"total":[0,7],"items":[1,[[0,{"parent":[0,null]}],[0,{"parent":[0,null]}],[0,{"parent":[0,null]}],[0,{"parent":[0,null]}],[0,{"parent":[0,null]}],[0,{"parent":[0,null]}],[0,{"parent":[0,null]}]]]}]}]}],[0,{"sys":[0,{"id":[0,"122Owvv3CspsdQhog2n0Cm"]}],"name":[0,"Nix"],"slug":[0,"nix"],"linkedFrom":[0,{"contentTypeEntryCollection":[0,{"total":[0,5],"items":[1,[[0,{"parent":[0,null]}],[0,{"parent":[0,null]}],[0,{"parent":[0,null]}],[0,{"parent":[0,null]}],[0,{"parent":[0,null]}]]]}]}]}],[0,{"sys":[0,{"id":[0,"3PSbKRNwmXhelzoYEZSDBT"]}],"name":[0,"Video"],"slug":[0,"video"],"linkedFrom":[0,{"contentTypeEntryCollection":[0,{"total":[0,4],"items":[1,[[0,{"parent":[0,null]}],[0,{"parent":[0,null]}],[0,{"parent":[0,null]}],[0,{"parent":[0,null]}]]]}]}]}],[0,{"sys":[0,{"id":[0,"vEukKDIYqSB8fEkTAg7Sx"]}],"name":[0,"Launch"],"slug":[0,"launch"],"linkedFrom":[0,{"contentTypeEntryCollection":[0,{"total":[0,4],"items":[1,[[0,{"parent":[0,null]}],[0,{"parent":[0,null]}],[0,{"parent":[0,null]}],[0,{"parent":[0,null]}]]]}]}]}],[0,{"sys":[0,{"id":[0,"70PYIPEAVc1jeq8W0Zc3nK"]}],"name":[0,"Docker"],"slug":[0,"docker"],"linkedFrom":[0,{"contentTypeEntryCollection":[0,{"total":[0,2],"items":[1,[[0,{"parent":[0,null]}],[0,{"parent":[0,null]}]]]}]}]}],[0,{"sys":[0,{"id":[0,"2RtuzXGMQ539Ck34h0upCy"]}],"name":[0,"TypeScript"],"slug":[0,"typescript"],"linkedFrom":[0,{"contentTypeEntryCollection":[0,{"total":[0,2],"items":[1,[[0,{"parent":[0,null]}],[0,{"parent":[0,null]}]]]}]}]}],[0,{"sys":[0,{"id":[0,"63mWWG2FvoaMJ5WzealYPG"]}],"name":[0,"Podcast"],"slug":[0,"podcast"],"linkedFrom":[0,{"contentTypeEntryCollection":[0,{"total":[0,2],"items":[1,[[0,{"parent":[0,null]}],[0,{"parent":[0,null]}]]]}]}]}],[0,{"sys":[0,{"id":[0,"72xjwxrF6V8Sb7VxItjwow"]}],"name":[0,"Templates"],"slug":[0,"introducing-idx-templates"],"linkedFrom":[0,{"contentTypeEntryCollection":[0,{"total":[0,1],"items":[1,[[0,{"parent":[0,null]}]]]}]}]}],[0,{"sys":[0,{"id":[0,"6YDNPmiJftn3mXeXbBndJd"]}],"name":[0,"Flask"],"slug":[0,"flask"],"linkedFrom":[0,{"contentTypeEntryCollection":[0,{"total":[0,1],"items":[1,[[0,{"parent":[0,null]}]]]}]}]}],[0,{"sys":[0,{"id":[0,"2sFYvkDG7yguCelnkJ6y3e"]}],"name":[0,"Firebase"],"slug":[0,"firebase"],"linkedFrom":[0,{"contentTypeEntryCollection":[0,{"total":[0,1],"items":[1,[[0,{"parent":[0,null]}]]]}]}]}],[0,{"sys":[0,{"id":[0,"3RWO0twK8xXls1vkUt750g"]}],"name":[0,"Express.js"],"slug":[0,"express-js"],"linkedFrom":[0,{"contentTypeEntryCollection":[0,{"total":[0,1],"items":[1,[[0,{"parent":[0,null]}]]]}]}]}],[0,{"sys":[0,{"id":[0,"Vh7HWUUqVGTJv0agVl2l9"]}],"name":[0,"Gemini"],"slug":[0,"gemini"],"linkedFrom":[0,{"contentTypeEntryCollection":[0,{"total":[0,1],"items":[1,[[0,{"parent":[0,null]}]]]}]}]}],[0,{"sys":[0,{"id":[0,"xnVZJDpJs7w07GHkxQ671"]}],"name":[0,"iOS Simulator"],"slug":[0,"ios-simulator"],"linkedFrom":[0,{"contentTypeEntryCollection":[0,{"total":[0,1],"items":[1,[[0,{"parent":[0,null]}]]]}]}]}],[0,{"sys":[0,{"id":[0,"4WaPOFYJDKyDBt50jZoieU"]}],"name":[0,"Android Emulator"],"slug":[0,"android-emulator"],"linkedFrom":[0,{"contentTypeEntryCollection":[0,{"total":[0,1],"items":[1,[[0,{"parent":[0,null]}]]]}]}]}],[0,{"sys":[0,{"id":[0,"1KOvqt3f7DGnAo2Sgtvf87"]}],"name":[0,"Architecture"],"slug":[0,"IDX Architecture"],"linkedFrom":[0,{"contentTypeEntryCollection":[0,{"total":[0,1],"items":[1,[[0,{"parent":[0,null]}]]]}]}]}],[0,{"sys":[0,{"id":[0,"6uT96Arjz1pJmHdqNZAVS5"]}],"name":[0,"php"],"slug":[0,"php"],"linkedFrom":[0,{"contentTypeEntryCollection":[0,{"total":[0,1],"items":[1,[[0,{"parent":[0,null]}]]]}]}]}],[0,{"sys":[0,{"id":[0,"3DiDUIDAfL54G6m3Wejfba"]}],"name":[0,"Angular"],"slug":[0,"angular"],"linkedFrom":[0,{"contentTypeEntryCollection":[0,{"total":[0,1],"items":[1,[[0,{"parent":[0,null]}]]]}]}]}],[0,{"sys":[0,{"id":[0,"7fqIczl9hBK65Ty9zXx2oJ"]}],"name":[0,"Interview"],"slug":[0,"interview"],"linkedFrom":[0,{"contentTypeEntryCollection":[0,{"total":[0,1],"items":[1,[[0,{"parent":[0,null]}]]]}]}]}],[0,{"sys":[0,{"id":[0,"4AO1XOZruGCup5WR6NHx26"]}],"name":[0,"Node.js"],"slug":[0,"node-js"],"linkedFrom":[0,{"contentTypeEntryCollection":[0,{"total":[0,1],"items":[1,[[0,{"parent":[0,null]}]]]}]}]}]]],"slug":[0]}" ssr="" client="load" opts="{"name":"FilterTags","value":true}" await-children=""><button class="rounded-full bg-gray-100 border-gray-300 hover:bg-gray-200 active:bg-gray-300 border aspect-square flex justify-center items-center max-md:h-10 h-14 px-2 max-md:w-10 w-14 transition-colors z-30" aria-label="Filter by tag"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="12" viewBox="0 0 18 12" fill="none" class="min-w-[16px]"><path d="M8 12H10C10.55 12 11 11.55 11 11C11 10.45 10.55 10 10 10H8C7.45 10 7 10.45 7 11C7 11.55 7.45 12 8 12ZM0 1C0 1.55 0.45 2 1 2H17C17.55 2 18 1.55 18 1C18 0.45 17.55 0 17 0H1C0.45 0 0 0.45 0 1ZM4 7H14C14.55 7 15 6.55 15 6C15 5.45 14.55 5 14 5H4C3.45 5 3 5.45 3 6C3 6.55 3.45 7 4 7Z" fill="currentColor"></path></svg></button><div class="filter-tags"><div class="blog-container relative z-10 flex flex-wrap gap-1"><a href="/blog/tag/ai" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy hover:bg-gray-200 hover:text-white hover:border-gray-400 transition-colors duration-300 bg-gray-100">AI</a> <a href="/blog/tag/nix" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy hover:bg-gray-200 hover:text-white hover:border-gray-400 transition-colors duration-300 bg-gray-100">Nix</a> <a href="/blog/tag/video" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy hover:bg-gray-200 hover:text-white hover:border-gray-400 transition-colors duration-300 bg-gray-100">Video</a> <a href="/blog/tag/launch" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy hover:bg-gray-200 hover:text-white hover:border-gray-400 transition-colors duration-300 bg-gray-100">Launch</a> <a href="/blog/tag/docker" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy hover:bg-gray-200 hover:text-white hover:border-gray-400 transition-colors duration-300 bg-gray-100">Docker</a> <a href="/blog/tag/typescript" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy hover:bg-gray-200 hover:text-white hover:border-gray-400 transition-colors duration-300 bg-gray-100">TypeScript</a> <a href="/blog/tag/podcast" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy hover:bg-gray-200 hover:text-white hover:border-gray-400 transition-colors duration-300 bg-gray-100">Podcast</a> <a href="/blog/tag/introducing-idx-templates" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy hover:bg-gray-200 hover:text-white hover:border-gray-400 transition-colors duration-300 bg-gray-100">Templates</a> <a href="/blog/tag/flask" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy hover:bg-gray-200 hover:text-white hover:border-gray-400 transition-colors duration-300 bg-gray-100">Flask</a> <a href="/blog/tag/firebase" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy hover:bg-gray-200 hover:text-white hover:border-gray-400 transition-colors duration-300 bg-gray-100">Firebase</a> <a href="/blog/tag/express-js" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy hover:bg-gray-200 hover:text-white hover:border-gray-400 transition-colors duration-300 bg-gray-100">Express.js</a> <a href="/blog/tag/gemini" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy hover:bg-gray-200 hover:text-white hover:border-gray-400 transition-colors duration-300 bg-gray-100">Gemini</a> <a href="/blog/tag/ios-simulator" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy hover:bg-gray-200 hover:text-white hover:border-gray-400 transition-colors duration-300 bg-gray-100">iOS Simulator</a> <a href="/blog/tag/android-emulator" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy hover:bg-gray-200 hover:text-white hover:border-gray-400 transition-colors duration-300 bg-gray-100">Android Emulator</a> <a href="/blog/tag/IDX Architecture" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy hover:bg-gray-200 hover:text-white hover:border-gray-400 transition-colors duration-300 bg-gray-100">Architecture</a> <a href="/blog/tag/php" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy hover:bg-gray-200 hover:text-white hover:border-gray-400 transition-colors duration-300 bg-gray-100">php</a> <a href="/blog/tag/angular" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy hover:bg-gray-200 hover:text-white hover:border-gray-400 transition-colors duration-300 bg-gray-100">Angular</a> <a href="/blog/tag/interview" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy hover:bg-gray-200 hover:text-white hover:border-gray-400 transition-colors duration-300 bg-gray-100">Interview</a> <a href="/blog/tag/node-js" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy hover:bg-gray-200 hover:text-white hover:border-gray-400 transition-colors duration-300 bg-gray-100">Node.js</a></div></div></astro-island></div></div><ul class="blog-container feed-list"><li class="feed-item"><a data-is-feed-link class="feed-item-link-overlay" href="/blog/post/dev-nix-postgres"><span class="sr-only">Read package.json for your development environment</span></a><div class="item-content-container type-post p-6 feed" data-astro-transition-scope="astro-rhsclbw6-21"><a href="/blog/author/david-east" class="flex items-center gap-4 hover:bg-gray-200 p-2 -m-2 pr-4 rounded-xl transition-colors duration-300"><img src="/_astro/image_Z19njjq.webp" class="rounded-lg overflow-hidden w-12 h-12 flex-shrink-0" alt="David East's Avatar'" data-astro-transition-scope="astro-lax2adv2-18" width="399" height="399" loading="lazy" decoding="async"><div class="mt-[1px] flex flex-col"><span class="text-gray-500" data-astro-transition-scope="astro-ya7hjo4y-19">David East </span><span class="" data-astro-transition-scope="astro-etyaxime-20">DevRel Lead</span></div></a><div class="flex items-stretch gap-4 self-stretch mt-4"><div class="feed-series-indicator" aria-hidden="true"></div><div class="flex-1 flex flex-col gap-4"><div class="rich-text-content feed text-gray-500 text-base"><p>What if you had a package.json for your entire development environment? That's dev.nix.</p><p>We use Nix in IDX so in one file you can declare the needed runtimes and tools and most importantly their versions. This file is checked into source so anyone contributing to the project has everything they need when the workstation boots up.</p><p>Let's dive in.</p></div><lite-youtube videoid="fCHkj-56L8o" class="rounded-lg overflow-hidden" data-youtube-video data-intercept-link-clicks style="background-image: url('https://i.ytimg.com/vi/fCHkj-56L8o/hqdefault.jpg');"></lite-youtube><time datetime="2024-10-18T00:00:00.000-04:00" class="font-mono-fancy text-xs">October 2024</time></div></div></div></li><li class="feed-item"><a data-is-feed-link class="feed-item-link-overlay" href="/blog/article/introducing-idx-templates"><span class="sr-only">Read Introducing Custom Templates</span></a><div class="item-content-container type-article feed" data-astro-transition-scope="astro-rhsclbw6-22"><img src="/_astro/templates-header_OU2NI.webp" alt="templates-header" class="w-full object-cover aspect-[16/5]" width="2880" height="1804" loading="lazy" decoding="async"><div class="flex gap-4 p-4 md:p-6 md:gap-8"><div class="max-sm:hidden"><div class="w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center" data-astro-transition-scope="astro-bwq7iixi-1"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div></div><div class="max-w-full"><p class="title mb-4 text-2xl md:text-3xl md:leading-8">Introducing Custom Templates</p><div class="mt-6 mb-6 flex flex-wrap gap-2"><a href="/blog/tag/introducing-idx-templates" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy null null null transition-colors duration-300 bg-gray-100">Templates</a></div><div class="flex items-center gap-4"><div class="sm:hidden w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div><div class="flex flex-wrap"><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/vova-kyrachko">Vova Kyrachko,</a><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/prakhar-srivastav">Prakhar Srivastav,</a><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/david-east">David East</a><time datetime="2024-09-24T00:00:00.000-04:00" class="font-mono-fancy text-xs">September 2024</time></div></div></div></div></div></li><li class="feed-item"><a data-is-feed-link class="feed-item-link-overlay" href="/blog/article/meet-elijah"><span class="sr-only">Read Meet Elijah: The Intern Behind IDX's New Voice Control Feature</span></a><div class="item-content-container type-article feed" data-astro-transition-scope="astro-rhsclbw6-23"><div class="flex gap-4 p-4 md:p-6 md:gap-8"><div class="max-sm:hidden"><div class="w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center" data-astro-transition-scope="astro-bwq7iixi-2"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div></div><div class="max-w-full"><p class="title mb-4 text-2xl md:text-3xl md:leading-8">Meet Elijah: The Intern Behind IDX's New Voice Control Feature</p><div class="flex items-center gap-4"><div class="sm:hidden w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div><div class="flex flex-wrap"><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/elijah-okoroh">Elijah Okoroh</a><time datetime="2024-09-12T00:00:00.000-07:00" class="font-mono-fancy text-xs">September 2024</time></div></div></div></div></div></li><li class="feed-item"><a data-is-feed-link class="feed-item-link-overlay" href="/blog/article/a-year-of-project-idx"><span class="sr-only">Read A Year of Project IDX</span></a><div class="item-content-container type-article feed" data-astro-transition-scope="astro-rhsclbw6-24"><img src="/_astro/MainVideoThumbnail_IDX_KrGGr.webp" alt="a year of project idx thumbnail " class="w-full object-cover aspect-[16/5]" width="1920" height="1080" loading="lazy" decoding="async"><div class="flex gap-4 p-4 md:p-6 md:gap-8"><div class="max-sm:hidden"><div class="w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center" data-astro-transition-scope="astro-bwq7iixi-3"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div></div><div class="max-w-full"><p class="title mb-4 text-2xl md:text-3xl md:leading-8">A Year of Project IDX</p><div class="flex items-center gap-4"><div class="sm:hidden w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div><div class="flex flex-wrap"><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/david-east">David East,</a><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/yasmin-gehman">Yasmin Gehman,</a><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/the-project-idx-team">The Project IDX Team</a><time datetime="2024-08-22T00:00:00.000-07:00" class="font-mono-fancy text-xs">August 2024</time></div></div></div></div></div></li><li class="feed-item"><a data-is-feed-link class="feed-item-link-overlay" href="/blog/post/gitlab-bitbucket-preview-announcement"><span class="sr-only">Read this 📢 Post</span></a><div class="item-content-container type-post p-6 feed" data-astro-transition-scope="astro-rhsclbw6-28"><a href="/blog/author/kirupa" class="flex items-center gap-4 hover:bg-gray-200 p-2 -m-2 pr-4 rounded-xl transition-colors duration-300"><img src="/_astro/5rawT6gI_400x400_nAhR8.webp" class="rounded-lg overflow-hidden w-12 h-12 flex-shrink-0" alt="Kirupa Chinnathambi's Avatar'" data-astro-transition-scope="astro-lax2adv2-25" width="400" height="400" loading="lazy" decoding="async"><div class="mt-[1px] flex flex-col"><span class="text-gray-500" data-astro-transition-scope="astro-ya7hjo4y-26">Kirupa Chinnathambi </span><span class="" data-astro-transition-scope="astro-etyaxime-27">Product Lead on Project IDX</span></div></a><div class="flex items-stretch gap-4 self-stretch mt-4"><div class="feed-series-indicator" aria-hidden="true"></div><div class="flex-1 flex flex-col gap-4"><div class="rich-text-content feed text-gray-500 text-base"><p>Project IDX has always supported working with Github-based projects, but<a href="https://idx.uservoice.com/forums/953956-general/suggestions/46962415-add-gitlab-and-bitbucket-support"> we’ve heard from many of you</a> that you'd also like to see us support both Gitlab and Bitbucket-based repos.</p><p></p><p>That’s why we're launching our early preview of Gitlab and Bitbucket support, now available to all IDX users. Watch the video below for walkthroughs and details.</p><p></p></div><lite-youtube videoid="SmpTu888hPc" class="rounded-lg overflow-hidden" data-youtube-video data-intercept-link-clicks style="background-image: url('https://i.ytimg.com/vi/SmpTu888hPc/hqdefault.jpg');"></lite-youtube><time datetime="2024-08-08T16:00:00.000-07:00" class="font-mono-fancy text-xs">August 2024</time></div></div></div></li><li class="feed-item"><a data-is-feed-link class="feed-item-link-overlay" href="/blog/article/ai-tools-templates-and-android-studio"><span class="sr-only">Read Introducing new AI tools, more templates, and soon, Android Studio in-browser</span></a><div class="item-content-container type-article feed" data-astro-transition-scope="astro-rhsclbw6-29"><img src="/_astro/1600x836_Z1u3zL3.webp" alt="header image bengaluru" class="w-full object-cover aspect-[16/5]" width="1600" height="836" loading="lazy" decoding="async"><div class="flex gap-4 p-4 md:p-6 md:gap-8"><div class="max-sm:hidden"><div class="w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center" data-astro-transition-scope="astro-bwq7iixi-4"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div></div><div class="max-w-full"><p class="title mb-4 text-2xl md:text-3xl md:leading-8">Introducing new AI tools, more templates, and soon, Android Studio in-browser</p><div class="flex items-center gap-4"><div class="sm:hidden w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div><div class="flex flex-wrap"><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/erin-kidwell">Erin Kidwell,</a><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/the-project-idx-team">The Project IDX Team</a><time datetime="2024-07-16T22:00:00.000-07:00" class="font-mono-fancy text-xs">July 2024</time></div></div></div></div></div></li><li class="feed-item"><a data-is-feed-link class="feed-item-link-overlay" href="/blog/article/insiders-look-at-gemini-in-idx"><span class="sr-only">Read An Insider’s Look at Gemini in IDX</span></a><div class="item-content-container type-article feed" data-astro-transition-scope="astro-rhsclbw6-30"><img src="/_astro/Frame_182_copy_Z1t8kJe.webp" alt="gemini in idx 3" class="w-full object-cover aspect-[16/5]" width="1600" height="836" loading="lazy" decoding="async"><div class="flex gap-4 p-4 md:p-6 md:gap-8"><div class="max-sm:hidden"><div class="w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center" data-astro-transition-scope="astro-bwq7iixi-5"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div></div><div class="max-w-full"><p class="title mb-4 text-2xl md:text-3xl md:leading-8">An Insider’s Look at Gemini in IDX</p><div class="flex items-center gap-4"><div class="sm:hidden w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div><div class="flex flex-wrap"><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/kaushik-sathupadi">Kaushik Sathupadi,</a><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/ali-satter">Ali Satter</a><time datetime="2024-06-27T11:00:00.000-06:00" class="font-mono-fancy text-xs">June 2024</time></div></div></div></div></div></li><li class="feed-item"><a data-is-feed-link class="feed-item-link-overlay" href="/blog/post/tips-and-tricks-enabling-docker"><span class="sr-only">Read Tips & Tricks for Using IDX: Enabling Docker</span></a><div class="item-content-container type-post p-6 feed" data-astro-transition-scope="astro-rhsclbw6-34"><a href="/blog/author/ashwin-raghav-mohan-ganesh" class="flex items-center gap-4 hover:bg-gray-200 p-2 -m-2 pr-4 rounded-xl transition-colors duration-300"><img src="/_astro/image_Z1AUhEM.webp" class="rounded-lg overflow-hidden w-12 h-12 flex-shrink-0" alt="Ashwin Raghav Mohan Ganesh's Avatar'" data-astro-transition-scope="astro-lax2adv2-31" width="600" height="600" loading="lazy" decoding="async"><div class="mt-[1px] flex flex-col"><span class="text-gray-500" data-astro-transition-scope="astro-ya7hjo4y-32">Ashwin Raghav Mohan Ganesh </span><span class="" data-astro-transition-scope="astro-etyaxime-33">Engineering Lead</span></div></a><div class="flex items-stretch gap-4 self-stretch mt-4"><div class="feed-series-indicator" aria-hidden="true"></div><div class="flex-1 flex flex-col gap-4"><div class="rich-text-content feed text-gray-500 text-base"><p>Learn how Project IDX allows you to enable Docker support with just one line of code so you can quickly and easily customize your workspace.</p></div><lite-youtube videoid="_l-y4edAmFU" class="rounded-lg overflow-hidden" data-youtube-video data-intercept-link-clicks style="background-image: url('https://i.ytimg.com/vi/_l-y4edAmFU/hqdefault.jpg');"></lite-youtube><time datetime="2024-06-07T16:20:00.000-04:00" class="font-mono-fancy text-xs">June 2024</time></div></div></div></li><li class="feed-item"><a data-is-feed-link class="feed-item-link-overlay" href="/blog/post/tips-and-tricks-building-with-gemini-in-idx"><span class="sr-only">Read Tips & tricks for using IDX: Building with Gemini in IDX</span></a><div class="item-content-container type-post p-6 feed" data-astro-transition-scope="astro-rhsclbw6-38"><a href="/blog/author/david-east" class="flex items-center gap-4 hover:bg-gray-200 p-2 -m-2 pr-4 rounded-xl transition-colors duration-300"><img src="/_astro/image_Z19njjq.webp" class="rounded-lg overflow-hidden w-12 h-12 flex-shrink-0" alt="David East's Avatar'" data-astro-transition-scope="astro-lax2adv2-35" width="399" height="399" loading="lazy" decoding="async"><div class="mt-[1px] flex flex-col"><span class="text-gray-500" data-astro-transition-scope="astro-ya7hjo4y-36">David East </span><span class="" data-astro-transition-scope="astro-etyaxime-37">DevRel Lead</span></div></a><div class="flex items-stretch gap-4 self-stretch mt-4"><div class="feed-series-indicator" aria-hidden="true"></div><div class="flex-1 flex flex-col gap-4"><div class="rich-text-content feed text-gray-500 text-base"><p>Learn how to use some of Project IDX's built-in Al-assistance features to help speed up and refine your developer workflow, all backed by Gemini, Google's latest and most capable Al model.</p></div><lite-youtube videoid="-3S36NPWuQY" class="rounded-lg overflow-hidden" data-youtube-video data-intercept-link-clicks style="background-image: url('https://i.ytimg.com/vi/-3S36NPWuQY/hqdefault.jpg');"></lite-youtube><time datetime="2024-06-03T12:00:00.000-04:00" class="font-mono-fancy text-xs">June 2024</time></div></div></div></li><li class="feed-item"><a data-is-feed-link class="feed-item-link-overlay" href="/blog/article/start-building-with-project-idx-today"><span class="sr-only">Read Start Building with Project IDX Today</span></a><div class="item-content-container type-article feed" data-astro-transition-scope="astro-rhsclbw6-39"><img src="/_astro/1600x836_Clean2_Z2rLtbm.webp" alt="I/O blog header" class="w-full object-cover aspect-[16/5]" width="1600" height="836" loading="lazy" decoding="async"><div class="flex gap-4 p-4 md:p-6 md:gap-8"><div class="max-sm:hidden"><div class="w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center" data-astro-transition-scope="astro-bwq7iixi-6"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div></div><div class="max-w-full"><p class="title mb-4 text-2xl md:text-3xl md:leading-8">Start Building with Project IDX Today</p><div class="flex items-center gap-4"><div class="sm:hidden w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div><div class="flex flex-wrap"><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/erin-kidwell">Erin Kidwell,</a><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/the-project-idx-team">The Project IDX Team</a><time datetime="2024-05-14T13:00:00.000-07:00" class="font-mono-fancy text-xs">May 2024</time></div></div></div></div></div></li><li class="feed-item"><a data-is-feed-link class="feed-item-link-overlay" href="/blog/article/build-with-gemini-in-idx"><span class="sr-only">Read Build with Gemini models in Project IDX</span></a><div class="item-content-container type-article feed" data-astro-transition-scope="astro-rhsclbw6-40"><img src="/_astro/IDX_Gemini_BlogHeader_J_1600x836_Z1vKBR9.webp" alt="Gemini API on IDX header" class="w-full object-cover aspect-[16/5]" width="1600" height="836" loading="lazy" decoding="async"><div class="flex gap-4 p-4 md:p-6 md:gap-8"><div class="max-sm:hidden"><div class="w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center" data-astro-transition-scope="astro-bwq7iixi-7"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div></div><div class="max-w-full"><p class="title mb-4 text-2xl md:text-3xl md:leading-8">Build with Gemini models in Project IDX</p><div class="mt-6 mb-6 flex flex-wrap gap-2"><a href="/blog/tag/ai" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy null null null transition-colors duration-300 bg-gray-100">AI</a></div><div class="flex items-center gap-4"><div class="sm:hidden w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div><div class="flex flex-wrap"><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/ali-satter">Ali Satter,</a><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/roman-nurik">Roman Nurik,</a><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/kaushik-sathupadi">Kaushik Sathupadi</a><time datetime="2024-02-15T00:00:00.000-05:00" class="font-mono-fancy text-xs">February 2024</time></div></div></div></div></div></li><li class="feed-item"><a data-is-feed-link class="feed-item-link-overlay" href="/blog/post/ios-simulator-video"><span class="sr-only">Read this 📢 Post</span></a><div class="item-content-container type-post p-6 feed" data-astro-transition-scope="astro-rhsclbw6-44"><a href="/blog/author/kirupa" class="flex items-center gap-4 hover:bg-gray-200 p-2 -m-2 pr-4 rounded-xl transition-colors duration-300"><img src="/_astro/5rawT6gI_400x400_nAhR8.webp" class="rounded-lg overflow-hidden w-12 h-12 flex-shrink-0" alt="Kirupa Chinnathambi's Avatar'" data-astro-transition-scope="astro-lax2adv2-41" width="400" height="400" loading="lazy" decoding="async"><div class="mt-[1px] flex flex-col"><span class="text-gray-500" data-astro-transition-scope="astro-ya7hjo4y-42">Kirupa Chinnathambi </span><span class="" data-astro-transition-scope="astro-etyaxime-43">Product Lead on Project IDX</span></div></a><div class="flex items-stretch gap-4 self-stretch mt-4"><div class="feed-series-indicator" aria-hidden="true"></div><div class="flex-1 flex flex-col gap-4"><div class="rich-text-content feed text-gray-500 text-base"><p>Giving you in-browser access to an iOS simulator is definitely one of the bigger features we announced with Project IDX last week!</p><p>This simulator isn't just for mobile apps, it's great for web apps too. Check out the video below that shows how easy it is to test a web app across desktop and mobile devices!</p></div><lite-youtube videoid="061N87L2Oi0" class="rounded-lg overflow-hidden" data-youtube-video data-intercept-link-clicks style="background-image: url('https://i.ytimg.com/vi/061N87L2Oi0/hqdefault.jpg');"></lite-youtube><time datetime="2024-02-01T00:00:00.000-05:00" class="font-mono-fancy text-xs">February 2024</time></div></div></div></li><li class="feed-item"><a data-is-feed-link class="feed-item-link-overlay" href="/blog/article/nix-on-idx"><span class="sr-only">Read Nix + IDX: Flexibility + extensibility in your workspace</span></a><div class="item-content-container type-article feed" data-astro-transition-scope="astro-rhsclbw6-45"><img src="/_astro/Idx.preview_-_01_-_visual_2sc9xz.webp" alt="IDX Previews on Nix" class="w-full object-cover aspect-[16/5]" width="2400" height="1350" loading="lazy" decoding="async"><div class="flex gap-4 p-4 md:p-6 md:gap-8"><div class="max-sm:hidden"><div class="w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center" data-astro-transition-scope="astro-bwq7iixi-8"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div></div><div class="max-w-full"><p class="title mb-4 text-2xl md:text-3xl md:leading-8">Nix + IDX: Flexibility + extensibility in your workspace</p><div class="flex items-center gap-4"><div class="sm:hidden w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div><div class="flex flex-wrap"><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/vova-kyrachko">Vova Kyrachko,</a><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/alex-chen">Alex Chen,</a><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/ashwin-raghav-mohan-ganesh">Ashwin Raghav Mohan Ganesh</a><time datetime="2024-01-31T00:00:00.000-05:00" class="font-mono-fancy text-xs">January 2024</time></div></div></div></div></div></li><li class="feed-item"><a data-is-feed-link class="feed-item-link-overlay" href="/blog/post/jan-update-thread"><span class="sr-only">Read this 📢 Post</span></a><div class="item-content-container type-post p-6 has-series feed" data-astro-transition-scope="astro-rhsclbw6-49"><a href="/blog/author/david-east" class="flex items-center gap-4 hover:bg-gray-200 p-2 -m-2 pr-4 rounded-xl transition-colors duration-300"><img src="/_astro/image_Z19njjq.webp" class="rounded-lg overflow-hidden w-12 h-12 flex-shrink-0" alt="David East's Avatar'" data-astro-transition-scope="astro-lax2adv2-46" width="399" height="399" loading="lazy" decoding="async"><div class="mt-[1px] flex flex-col"><span class="text-gray-500" data-astro-transition-scope="astro-ya7hjo4y-47">David East </span><span class="" data-astro-transition-scope="astro-etyaxime-48">DevRel Lead</span></div></a><div class="flex items-stretch gap-4 self-stretch mt-4"><div class="feed-series-indicator" aria-hidden="true"></div><div class="flex-1 flex flex-col gap-4 md:pr-4"><div class="rich-text-content feed text-gray-500 text-base"><p>Yesterday we announced new features in Project IDX</p><ul><li><p>📱 Android Emulator & iOS Simulator in browser</p></li><li><p>💻 A template gallery ready for your new projects</p></li><li><p>🐳 Docker in a single line of code</p></li><li><p>🌎 AI in 15 new regions</p></li><li><p>⚡ Instantly run CLI tools</p></li></ul><p>⬇️ Here's a wrap up of everything you need to know</p></div><img src="/_astro/og_blog_2alj8G.webp" alt="IDX Jan SOcial" class="w-full object-cover rounded-lg overflow-hidden border border-gray-200" width="1200" height="630" loading="lazy" decoding="async"> <time datetime="2024-01-30T00:00:00.000-05:00" class="font-mono-fancy text-xs">January 2024</time></div></div></div><footer class="text-purple bg-gray-100 border font-mono-fancy text-xs border-gray-300 rounded-2xl py-2 px-5 border-t-0 rounded-t-none w-[96%] mx-auto">8 posts</footer></li><li class="feed-item"><a data-is-feed-link class="feed-item-link-overlay" href="/blog/article/introducing-android-emulators-ios-simulators-and-other-product-updates-from"><span class="sr-only">Read Introducing Android emulators, iOS simulators, and other product updates from Project IDX</span></a><div class="item-content-container type-article feed" data-astro-transition-scope="astro-rhsclbw6-50"><img src="/_astro/Frame_35_h0dRL.webp" alt="Jan 25 Updates Hero Image" class="w-full object-cover aspect-[16/5]" width="1600" height="836" loading="lazy" decoding="async"><div class="flex gap-4 p-4 md:p-6 md:gap-8"><div class="max-sm:hidden"><div class="w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center" data-astro-transition-scope="astro-bwq7iixi-9"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div></div><div class="max-w-full"><p class="title mb-4 text-2xl md:text-3xl md:leading-8">Introducing Android emulators, iOS simulators, and other product updates from Project IDX</p><div class="mt-6 mb-6 flex flex-wrap gap-2"><a href="/blog/tag/launch" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy null null null transition-colors duration-300 bg-gray-100">Launch</a> <a href="/blog/tag/android-emulator" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy null null null transition-colors duration-300 bg-gray-100">Android Emulator</a> <a href="/blog/tag/ios-simulator" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy null null null transition-colors duration-300 bg-gray-100">iOS Simulator</a> <a href="/blog/tag/docker" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy null null null transition-colors duration-300 bg-gray-100">Docker</a> <a href="/blog/tag/nix" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy null null null transition-colors duration-300 bg-gray-100">Nix</a></div><div class="flex items-center gap-4"><div class="sm:hidden w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div><div class="flex flex-wrap"><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/the-project-idx-team">The Project IDX Team</a><time datetime="2024-01-25T00:00:00.000-05:00" class="font-mono-fancy text-xs">January 2024</time></div></div></div></div></div></li><li class="feed-item"><a data-is-feed-link class="feed-item-link-overlay" href="/blog/article/how-we-built-project-idx-a-high-level-overview"><span class="sr-only">Read How we built Project IDX: A high-level overview</span></a><div class="item-content-container type-article feed" data-astro-transition-scope="astro-rhsclbw6-51"><img src="/_astro/twitter-card-how-we-built-lefter-title__4__Z2cC4FW.webp" alt="How we built Project IDX Header" class="w-full object-cover aspect-[16/5]" width="1600" height="836" loading="lazy" decoding="async"><div class="flex gap-4 p-4 md:p-6 md:gap-8"><div class="max-sm:hidden"><div class="w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center" data-astro-transition-scope="astro-bwq7iixi-10"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div></div><div class="max-w-full"><p class="title mb-4 text-2xl md:text-3xl md:leading-8">How we built Project IDX: A high-level overview</p><div class="mt-6 mb-6 flex flex-wrap gap-2"><a href="/blog/tag/IDX Architecture" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy null null null transition-colors duration-300 bg-gray-100">Architecture</a></div><div class="flex items-center gap-4"><div class="sm:hidden w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div><div class="flex flex-wrap"><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/prakhar-srivastav">Prakhar Srivastav,</a><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/kaushik-sathupadi">Kaushik Sathupadi</a><time datetime="2024-01-09T00:00:00.000-05:00" class="font-mono-fancy text-xs">January 2024</time></div></div></div></div></div></li><li class="feed-item"><a data-is-feed-link class="feed-item-link-overlay" href="/blog/post/new-gemini-template"><span class="sr-only">Read New Gemini template</span></a><div class="item-content-container type-post p-6 feed" data-astro-transition-scope="astro-rhsclbw6-55"><a href="/blog/author/roman-nurik" class="flex items-center gap-4 hover:bg-gray-200 p-2 -m-2 pr-4 rounded-xl transition-colors duration-300"><img src="/_astro/image_12w7Y9.webp" class="rounded-lg overflow-hidden w-12 h-12 flex-shrink-0" alt="Roman Nurik's Avatar'" data-astro-transition-scope="astro-lax2adv2-52" width="400" height="400" loading="lazy" decoding="async"><div class="mt-[1px] flex flex-col"><span class="text-gray-500" data-astro-transition-scope="astro-ya7hjo4y-53">Roman Nurik </span><span class="" data-astro-transition-scope="astro-etyaxime-54">Design Lead</span></div></a><div class="flex items-stretch gap-4 self-stretch mt-4"><div class="feed-series-indicator" aria-hidden="true"></div><div class="flex-1 flex flex-col gap-4"><div class="rich-text-content feed text-gray-500 text-base"><p>💜 Rolling out soon and already available for some in Project IDX: a new multimodal Gemini template (<code>gemini-pro-vision</code>) in JS and Python!<i> (Attached video skips a couple steps, e.g. getting your API key from Google AI Studio).</i></p><p>Want to try out Project IDX? <a href="https://idx.dev/#waitlist">Join the waitlist</a></p></div><lite-youtube videoid="vV1td7ZEJ5Y" class="rounded-lg overflow-hidden" data-youtube-video data-intercept-link-clicks style="background-image: url('https://i.ytimg.com/vi/vV1td7ZEJ5Y/hqdefault.jpg');"></lite-youtube><time datetime="2023-12-13T00:00:00.000-05:00" class="font-mono-fancy text-xs">December 2023</time></div></div></div></li><li class="feed-item"><a data-is-feed-link class="feed-item-link-overlay" href="/blog/post/generate-ts-types"><span class="sr-only">Read Generate TypeScript Types</span></a><div class="item-content-container type-post p-6 feed" data-astro-transition-scope="astro-rhsclbw6-59"><a href="/blog/author/david-east" class="flex items-center gap-4 hover:bg-gray-200 p-2 -m-2 pr-4 rounded-xl transition-colors duration-300"><img src="/_astro/image_Z19njjq.webp" class="rounded-lg overflow-hidden w-12 h-12 flex-shrink-0" alt="David East's Avatar'" data-astro-transition-scope="astro-lax2adv2-56" width="399" height="399" loading="lazy" decoding="async"><div class="mt-[1px] flex flex-col"><span class="text-gray-500" data-astro-transition-scope="astro-ya7hjo4y-57">David East </span><span class="" data-astro-transition-scope="astro-etyaxime-58">DevRel Lead</span></div></a><div class="flex items-stretch gap-4 self-stretch mt-4"><div class="feed-series-indicator" aria-hidden="true"></div><div class="flex-1 flex flex-col gap-4"><div class="rich-text-content feed text-gray-500 text-base"><p>🔮 <b>IDX AI + TypeScript tip!</b></p><p>Take a nested JSON object and prompt for the types. You'll get the parent type with all the children types specified as well.</p><p></p></div><img class="w-full object-cover rounded-lg overflow-hidden border border-gray-200" src="https://images.ctfassets.net/um5csblqkmvt/6WVh0E4VP570m3MbIqzyOt/101250aec072b633e866e6f369e07b29/idx-ai-types-l.gif" alt="IDX AI Generate TypeScript Types" width="1920" height="1080"> <time datetime="2023-11-30T01:00:00.000-05:00" class="font-mono-fancy text-xs">November 2023</time></div></div></div></li><li class="feed-item"><a data-is-feed-link class="feed-item-link-overlay" href="/blog/article/welcome-to-the-idx-blog"><span class="sr-only">Read Welcome to the IDX Blog!</span></a><div class="item-content-container type-article feed" data-astro-transition-scope="astro-rhsclbw6-60"><img src="/_astro/welcome-main_2sFmx4.webp" alt="welcome-main" class="w-full object-cover aspect-[16/5]" width="1200" height="675" loading="lazy" decoding="async"><div class="flex gap-4 p-4 md:p-6 md:gap-8"><div class="max-sm:hidden"><div class="w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center" data-astro-transition-scope="astro-bwq7iixi-11"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div></div><div class="max-w-full"><p class="title mb-4 text-2xl md:text-3xl md:leading-8">Welcome to the IDX Blog!</p><div class="mt-6 mb-6 flex flex-wrap gap-2"><a href="/blog/tag/launch" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy null null null transition-colors duration-300 bg-gray-100">Launch</a></div><div class="flex items-center gap-4"><div class="sm:hidden w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div><div class="flex flex-wrap"><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/david-east">David East,</a><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/laura-willis">Laura Willis</a><time datetime="2023-11-30T00:00:00.000-05:00" class="font-mono-fancy text-xs">November 2023</time></div></div></div></div></div></li><li class="feed-item"><a data-is-feed-link class="feed-item-link-overlay" href="/blog/article/full-stack-development-in-project-idx"><span class="sr-only">Read Full-stack development in Project IDX</span></a><div class="item-content-container type-article feed" data-astro-transition-scope="astro-rhsclbw6-61"><img src="/_astro/image_HQKjp.webp" alt="Full-stack development hero image" class="w-full object-cover aspect-[16/5]" width="1600" height="476" loading="lazy" decoding="async"><div class="flex gap-4 p-4 md:p-6 md:gap-8"><div class="max-sm:hidden"><div class="w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center" data-astro-transition-scope="astro-bwq7iixi-12"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div></div><div class="max-w-full"><p class="title mb-4 text-2xl md:text-3xl md:leading-8">Full-stack development in Project IDX</p><div class="mt-6 mb-6 flex flex-wrap gap-2"><a href="/blog/tag/node-js" class="text-link border border-gray-300 text-gray-400 bg-gray-100 rounded p-2 uppercase text-xs font-mono-fancy null null null transition-colors duration-300 bg-gray-100">Node.js</a></div><div class="flex items-center gap-4"><div class="sm:hidden w-12 h-12 rounded-lg bg-gray-200 shrink-0 p-1 flex justify-center items-center"><img src="/_astro/code-chevron.baLPjOK9_8yIad.svg" class="w-8 h-8" alt="Code Chevron" width="200" height="150" loading="lazy" decoding="async"></div><div class="flex flex-wrap"><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/kaushik-sathupadi">Kaushik Sathupadi,</a><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/prakhar-srivastav">Prakhar Srivastav,</a><a class="font-mono-fancy text-link mr-2 text-xs" href="/blog/author/ashwin-raghav-mohan-ganesh">Ashwin Raghav Mohan Ganesh</a><time datetime="2023-11-16T00:00:00.000-05:00" class="font-mono-fancy text-xs">November 2023</time></div></div></div></div></div></li></ul><div class="blog-container flex justify-between items-center my-10"><div class="w-14"></div><p>1 of 2</p><a href="/blog/2" class="button button-outline p-0 h-14 w-14 flex justify-center items-center"><svg xmlns="http://www.w3.org/2000/svg" height="26" viewBox="0 -960 960 960" width="24"><path fill="#BFC7D2" d="M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z"></path></svg></a></div><footer class="site-footer mt-10 mb-10 text-xs" data-astro-cid-sz7xmlte><div class="container flex gap-2 max-lg:flex-col" data-astro-cid-sz7xmlte><div class="site-footer-row is-start" data-astro-cid-sz7xmlte><a href="/status" target="_blank" rel="noopener" data-astro-cid-sz7xmlte><script>(()=>{var l=(s,i,o)=>{let r=async()=>{await(await s())()},t=typeof i.value=="object"?i.value:void 0,c={rootMargin:t==null?void 0:t.rootMargin},n=new IntersectionObserver(e=>{for(let a of e)if(a.isIntersecting){n.disconnect(),r();break}},c);for(let e of o.children)n.observe(e)};(self.Astro||(self.Astro={})).visible=l;window.dispatchEvent(new Event("astro:visible"));})();</script><astro-island uid="Z1WJNS1" component-url="/_astro/ServiceStatusDot.CHS8dBLT.js" component-export="default" renderer-url="/_astro/client.Cx1FBVJX.js" props="{"data-astro-cid-sz7xmlte":[0,true]}" ssr="" client="visible" opts="{"name":"ServiceStatusDot","value":true}" await-children=""><div class="w-2 h-2 rounded-full bg-gray-300"></div></astro-island>Status</a><div class="footer-separator" data-astro-cid-sz7xmlte></div><a href="https://community.idx.dev/" target="_blank" rel="noopener" data-astro-cid-sz7xmlte>Discussion Forum</a><div class="footer-separator" data-astro-cid-sz7xmlte></div><a href="https://idx.uservoice.com/" target="_blank" rel="noopener" data-astro-cid-sz7xmlte>Feature Requests</a></div><div class="site-footer-row is-end" data-astro-cid-sz7xmlte><a href="/" data-astro-cid-sz7xmlte>About IDX</a><div class="footer-separator" data-astro-cid-sz7xmlte></div><a href="/blog/rss.xml" target="_blank" rel="noopener" data-astro-cid-sz7xmlte><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.01333 13.0133C5.01333 12.4444 4.81778 11.9644 4.42667 11.5733C4.03556 11.1822 3.55556 10.9867 2.98667 10.9867V13.0133H5.01333ZM2.98667 2.98667C4.8 2.98667 6.47111 3.44889 8 4.37333C9.52889 5.26222 10.7378 6.47111 11.6267 8C12.5511 9.52889 13.0133 11.2 13.0133 13.0133H12C12 11.3778 11.5911 9.86667 10.7733 8.48C9.99111 7.09333 8.90667 6.00889 7.52 5.22667C6.13333 4.40889 4.62222 4 2.98667 4V2.98667ZM2.98667 6.98667C4.08889 6.98667 5.08444 7.27111 5.97333 7.84C6.89778 8.37333 7.62667 9.10222 8.16 10.0267C8.72889 10.9156 9.01333 11.9111 9.01333 13.0133H8C8 12.0889 7.76889 11.2533 7.30667 10.5067C6.88 9.72444 6.27556 9.12 5.49333 8.69333C4.74667 8.23111 3.91111 8 2.98667 8V6.98667Z" fill="currentColor"></path></svg></a><div class="footer-separator" data-astro-cid-sz7xmlte></div><a href="https://policies.google.com/terms" target="_blank" rel="noopener" data-astro-cid-sz7xmlte>Terms</a><div class="footer-separator" data-astro-cid-sz7xmlte></div><a href="https://policies.google.com/privacy" target="_blank" rel="noopener" data-astro-cid-sz7xmlte>Privacy</a></div></div></footer></main></body></html>