@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-vietnamese-wght-normal.D0rl6rjA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-ext-wght-normal.D9tNdqV9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0b0d14;--surface:#121624;--surface-2:#181d30;--fg:#e8ecf6;--muted:#8b93ad;--faint:#5a6280;--line:#222842;--lane:#0f1220;--hover:#1c2238;--recomp:#7cf0c5;--port:#ffb35c;--accent:#ff4f7b;--sans:"Space Grotesk Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:radial-gradient(1200px 600px at 15% -10%, #7cf0c512, transparent 60%), radial-gradient(900px 500px at 100% 0%, #ff4f7b0d, transparent 60%), var(--bg);color:var(--fg);font:16px/1.6 var(--sans);min-height:100vh;margin:0}body:before{content:"";pointer-events:none;z-index:100;background:repeating-linear-gradient(#ffffff05 0 1px,#0000 1px 3px);position:fixed;inset:0}::selection{background:#7cf0c54d}a{color:inherit;text-decoration-color:var(--faint);text-underline-offset:3px}a:hover{text-decoration-color:var(--recomp)}:focus-visible{outline:2px solid var(--recomp);outline-offset:2px}main,.site-header,.site-footer{max-width:1200px;margin:0 auto;padding:0 1.5rem}.site-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;padding-top:1.25rem;padding-bottom:1.25rem;display:flex}.brand{font-family:var(--mono);letter-spacing:-.02em;font-size:1.15rem;font-weight:700;text-decoration:none}.brand span{color:var(--recomp);text-shadow:0 0 12px #7cf0c580}.brand:after{content:"";vertical-align:-.3em;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%2096%2024'%3e%3cdefs%3e%3cclipPath%20id='c'%3e%3cpath%20d='M2%2022%207.4%208.6%2015.4%2016.6Z'/%3e%3c/clipPath%3e%3cg%20id='cone'%3e%3cpath%20d='M2%2022%207.4%208.6%2015.4%2016.6Z'%20fill='%23ffb35c'/%3e%3cg%20clip-path='url(%23c)'%20stroke='%23e0702e'%20stroke-width='1.7'%3e%3cpath%20d='M-2%2012%2012%2026M1%209%2015%2023M4%206%2018%2020'/%3e%3c/g%3e%3cellipse%20cx='11.4'%20cy='12.6'%20rx='5.7'%20ry='1.5'%20transform='rotate(45%2011.4%2012.6)'%20fill='%23ffe066'/%3e%3c/g%3e%3c/defs%3e%3cuse%20href='%23cone'%20xlink:href='%23cone'/%3e%3cuse%20href='%23cone'%20xlink:href='%23cone'%20x='24'/%3e%3cuse%20href='%23cone'%20xlink:href='%23cone'%20x='48'/%3e%3cuse%20href='%23cone'%20xlink:href='%23cone'%20x='72'/%3e%3cg%20fill='none'%20stroke-linecap='round'%20stroke-width='1.4'%20transform='translate(24)'%3e%3ccircle%20cx='14.5'%20cy='8'%20r='1'%20fill='%237cf0c5'%20stroke='none'/%3e%3ccircle%20cx='17'%20cy='11'%20r='0.9'%20fill='%23ff6ad5'%20stroke='none'/%3e%3crect%20x='12'%20y='6'%20width='1.6'%20height='1.6'%20fill='%23ffe066'%20stroke='none'%20transform='rotate(30%2012.8%206.8)'/%3e%3cg%20transform='translate(24)'%3e%3cpath%20d='M12%209c1-2%200-3%202-4.5s3%200%204-2'%20stroke='%237cf0c5'/%3e%3cpath%20d='M15.5%2013c2-.5%202.5%201.5%204.5%201'%20stroke='%23ff6ad5'/%3e%3ccircle%20cx='11'%20cy='3.5'%20r='1'%20fill='%23ff6ad5'%20stroke='none'/%3e%3ccircle%20cx='20'%20cy='9'%20r='1'%20fill='%23ffe066'%20stroke='none'/%3e%3crect%20x='16.5'%20y='2'%20width='1.6'%20height='1.6'%20fill='%23ffe066'%20stroke='none'%20transform='rotate(20%2017.3%202.8)'/%3e%3crect%20x='18.5'%20y='17'%20width='1.6'%20height='1.6'%20fill='%237cf0c5'%20stroke='none'%20transform='rotate(40%2019.3%2017.8)'/%3e%3c/g%3e%3cg%20transform='translate(48)'%3e%3cpath%20d='M12%209c1-3-1-4%201-6.5s3.5%200%204.5-1.6'%20stroke='%237cf0c5'/%3e%3cpath%20d='M15.5%2013c2.5-1%203%202%205.5%20.5s1-2.2%201.8-2.6'%20stroke='%23ff6ad5'/%3e%3cpath%20d='M14%2011c2-3%204-2%205-4.5'%20stroke='%23ffe066'/%3e%3ccircle%20cx='7'%20cy='2.5'%20r='1'%20fill='%23ff6ad5'%20stroke='none'/%3e%3ccircle%20cx='22.5'%20cy='4'%20r='1'%20fill='%237cf0c5'%20stroke='none'/%3e%3ccircle%20cx='21'%20cy='20'%20r='1'%20fill='%23ffe066'%20stroke='none'/%3e%3ccircle%20cx='9.5'%20cy='5.5'%20r='0.8'%20fill='%23f4f4ff'%20stroke='none'/%3e%3crect%20x='20'%20y='0.5'%20width='1.6'%20height='1.6'%20fill='%23ffe066'%20stroke='none'%20transform='rotate(25%2020.8%201.3)'/%3e%3crect%20x='17'%20y='17.5'%20width='1.6'%20height='1.6'%20fill='%23ff6ad5'%20stroke='none'%20transform='rotate(50%2017.8%2018.3)'/%3e%3crect%20x='22'%20y='13'%20width='1.6'%20height='1.6'%20fill='%23ffb35c'%20stroke='none'%20transform='rotate(15%2022.8%2013.8)'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") 0 0/400% 100% no-repeat;width:1.45em;height:1.45em;margin:-.25em 0 -.25em .2em;animation:1.1s steps(4,end) infinite pop;display:inline-block}.brand[data-pop=disco]:after{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2096%2024'%3e%3cdefs%3e%3cclipPath%20id='f'%3e%3crect%20width='24'%20height='24'/%3e%3c/clipPath%3e%3cradialGradient%20id='b'%20cx='0.35'%20cy='0.3'%20r='0.8'%3e%3cstop%20offset='0'%20stop-color='%23f4f6ff'/%3e%3cstop%20offset='0.45'%20stop-color='%23a9b2c8'/%3e%3cstop%20offset='1'%20stop-color='%234a5270'/%3e%3c/radialGradient%3e%3cclipPath%20id='ball'%3e%3ccircle%20cx='12'%20cy='13.5'%20r='8.5'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20transform='translate(0)'%3e%3cg%20clip-path='url(%23f)'%3e%3cpath%20d='M12%200V5.0'%20stroke='%238a90a6'%20stroke-width='0.8'/%3e%3ccircle%20cx='12'%20cy='13.5'%20r='8.5'%20fill='url(%23b)'/%3e%3cg%20clip-path='url(%23ball)'%20stroke='%233a4058'%20stroke-width='0.55'%20fill='none'%3e%3cpath%20d='M0%206.14H24'/%3e%3cpath%20d='M0%208.50H24'/%3e%3cpath%20d='M0%2011.73H24'/%3e%3cpath%20d='M0%2015.27H24'/%3e%3cpath%20d='M0%2018.50H24'/%3e%3cpath%20d='M0%2020.86H24'/%3e%3cpath%20d='M12%205.0A7.36%208.5%200%200%200%2012%2022.0'/%3e%3cpath%20d='M12%205.0A4.25%208.5%200%200%200%2012%2022.0'/%3e%3cpath%20d='M12%205.0V22.0'/%3e%3cpath%20d='M12%205.0A4.25%208.5%200%200%201%2012%2022.0'/%3e%3cpath%20d='M12%205.0A7.36%208.5%200%200%201%2012%2022.0'/%3e%3c/g%3e%3cpath%20d='M4.00%204.00L4.56%205.44L6.00%206.00L4.56%206.56L4.00%208.00L3.44%206.56L2.00%206.00L3.44%205.44Z'%20fill='%237cf0c5'/%3e%3cpath%20d='M20.50%2018.40L20.95%2019.55L22.10%2020.00L20.95%2020.45L20.50%2021.60L20.05%2020.45L18.90%2020.00L20.05%2019.55Z'%20fill='%23ff6ad5'/%3e%3c/g%3e%3c/g%3e%3cg%20transform='translate(24)'%3e%3cg%20clip-path='url(%23f)'%3e%3cpath%20d='M12%200V5.0'%20stroke='%238a90a6'%20stroke-width='0.8'/%3e%3ccircle%20cx='12'%20cy='13.5'%20r='8.5'%20fill='url(%23b)'/%3e%3cg%20clip-path='url(%23ball)'%20stroke='%233a4058'%20stroke-width='0.55'%20fill='none'%3e%3cpath%20d='M0%206.14H24'/%3e%3cpath%20d='M0%208.50H24'/%3e%3cpath%20d='M0%2011.73H24'/%3e%3cpath%20d='M0%2015.27H24'/%3e%3cpath%20d='M0%2018.50H24'/%3e%3cpath%20d='M0%2020.86H24'/%3e%3cpath%20d='M12%205.0A8.43%208.5%200%200%200%2012%2022.0'/%3e%3cpath%20d='M12%205.0A6.74%208.5%200%200%200%2012%2022.0'/%3e%3cpath%20d='M12%205.0A3.25%208.5%200%200%200%2012%2022.0'/%3e%3cpath%20d='M12%205.0A1.11%208.5%200%200%201%2012%2022.0'/%3e%3cpath%20d='M12%205.0A5.17%208.5%200%200%201%2012%2022.0'/%3e%3cpath%20d='M12%205.0A7.85%208.5%200%200%201%2012%2022.0'/%3e%3c/g%3e%3cpath%20d='M20.00%204.50L20.56%205.94L22.00%206.50L20.56%207.06L20.00%208.50L19.44%207.06L18.00%206.50L19.44%205.94Z'%20fill='%23ffe066'/%3e%3cpath%20d='M3.50%2017.40L3.95%2018.55L5.10%2019.00L3.95%2019.45L3.50%2020.60L3.05%2019.45L1.90%2019.00L3.05%2018.55Z'%20fill='%237cf0c5'/%3e%3c/g%3e%3c/g%3e%3cg%20transform='translate(48)'%3e%3cg%20clip-path='url(%23f)'%3e%3cpath%20d='M12%200V5.0'%20stroke='%238a90a6'%20stroke-width='0.8'/%3e%3ccircle%20cx='12'%20cy='13.5'%20r='8.5'%20fill='url(%23b)'/%3e%3cg%20clip-path='url(%23ball)'%20stroke='%233a4058'%20stroke-width='0.55'%20fill='none'%3e%3cpath%20d='M0%206.14H24'/%3e%3cpath%20d='M0%208.50H24'/%3e%3cpath%20d='M0%2011.73H24'/%3e%3cpath%20d='M0%2015.27H24'/%3e%3cpath%20d='M0%2018.50H24'/%3e%3cpath%20d='M0%2020.86H24'/%3e%3cpath%20d='M12%205.0A8.21%208.5%200%200%200%2012%2022.0'/%3e%3cpath%20d='M12%205.0A6.01%208.5%200%200%200%2012%2022.0'/%3e%3cpath%20d='M12%205.0A2.20%208.5%200%200%200%2012%2022.0'/%3e%3cpath%20d='M12%205.0A2.20%208.5%200%200%201%2012%2022.0'/%3e%3cpath%20d='M12%205.0A6.01%208.5%200%200%201%2012%2022.0'/%3e%3cpath%20d='M12%205.0A8.21%208.5%200%200%201%2012%2022.0'/%3e%3c/g%3e%3cpath%20d='M5.00%207.40L5.45%208.55L6.60%209.00L5.45%209.45L5.00%2010.60L4.55%209.45L3.40%209.00L4.55%208.55Z'%20fill='%23ff6ad5'/%3e%3cpath%20d='M21.00%2010.00L21.56%2011.44L23.00%2012.00L21.56%2012.56L21.00%2014.00L20.44%2012.56L19.00%2012.00L20.44%2011.44Z'%20fill='%237cf0c5'/%3e%3c/g%3e%3c/g%3e%3cg%20transform='translate(72)'%3e%3cg%20clip-path='url(%23f)'%3e%3cpath%20d='M12%200V5.0'%20stroke='%238a90a6'%20stroke-width='0.8'/%3e%3ccircle%20cx='12'%20cy='13.5'%20r='8.5'%20fill='url(%23b)'/%3e%3cg%20clip-path='url(%23ball)'%20stroke='%233a4058'%20stroke-width='0.55'%20fill='none'%3e%3cpath%20d='M0%206.14H24'/%3e%3cpath%20d='M0%208.50H24'/%3e%3cpath%20d='M0%2011.73H24'/%3e%3cpath%20d='M0%2015.27H24'/%3e%3cpath%20d='M0%2018.50H24'/%3e%3cpath%20d='M0%2020.86H24'/%3e%3cpath%20d='M12%205.0A7.85%208.5%200%200%200%2012%2022.0'/%3e%3cpath%20d='M12%205.0A5.17%208.5%200%200%200%2012%2022.0'/%3e%3cpath%20d='M12%205.0A1.11%208.5%200%200%200%2012%2022.0'/%3e%3cpath%20d='M12%205.0A3.25%208.5%200%200%201%2012%2022.0'/%3e%3cpath%20d='M12%205.0A6.74%208.5%200%200%201%2012%2022.0'/%3e%3cpath%20d='M12%205.0A8.43%208.5%200%200%201%2012%2022.0'/%3e%3c/g%3e%3cpath%20d='M19.00%202.90L19.45%204.05L20.60%204.50L19.45%204.95L19.00%206.10L18.55%204.95L17.40%204.50L18.55%204.05Z'%20fill='%237cf0c5'/%3e%3cpath%20d='M4.50%2019.00L5.06%2020.44L6.50%2021.00L5.06%2021.56L4.50%2023.00L3.94%2021.56L2.50%2021.00L3.94%2020.44Z'%20fill='%23ffe066'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e")}.brand[data-pop=fireworks]:after{background-image:url(/_astro/fireworks.CDwDurj1.svg)}.brand[data-pop=bubbly]:after{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2096%2024'%3e%3cdefs%3e%3cclipPath%20id='f'%3e%3crect%20width='24'%20height='24'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20transform='translate(0)'%3e%3cg%20clip-path='url(%23f)'%3e%3cg%20transform='translate(-3%203)%20rotate(40%2012%2014)'%3e%3cpath%20d='M9.5%2024V14.5Q9.5%2011%2011%209.5V5H13V9.5Q14.5%2011%2014.5%2014.5V24Z'%20fill='%232f6b4f'/%3e%3cpath%20d='M10.8%205H13.2V9.3H10.8Z'%20fill='%23ffe066'/%3e%3crect%20x='9.5'%20y='16'%20width='5'%20height='4'%20fill='%23f4f4ff'%20opacity='0.9'/%3e%3cpath%20d='M10.3%2013Q10.6%2011.5%2011.4%2010.6'%20stroke='%237fbf9f'%20stroke-width='0.6'%20fill='none'%20stroke-linecap='round'/%3e%3crect%20x='10.8'%20y='2.6'%20width='2.4'%20height='3'%20rx='0.6'%20fill='%23c8925a'%20transform='rotate(0%2012%204.1)'/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3cg%20transform='translate(24)'%3e%3cg%20clip-path='url(%23f)'%3e%3cg%20transform='translate(-3%203)%20rotate(40%2012%2014)'%3e%3cpath%20d='M9.5%2024V14.5Q9.5%2011%2011%209.5V5H13V9.5Q14.5%2011%2014.5%2014.5V24Z'%20fill='%232f6b4f'/%3e%3cpath%20d='M10.8%205H13.2V9.3H10.8Z'%20fill='%23ffe066'/%3e%3crect%20x='9.5'%20y='16'%20width='5'%20height='4'%20fill='%23f4f4ff'%20opacity='0.9'/%3e%3cpath%20d='M10.3%2013Q10.6%2011.5%2011.4%2010.6'%20stroke='%237fbf9f'%20stroke-width='0.6'%20fill='none'%20stroke-linecap='round'/%3e%3crect%20x='10.8'%20y='0.2'%20width='2.4'%20height='3'%20rx='0.6'%20fill='%23c8925a'%20transform='rotate(15%2012%201.7)'/%3e%3ccircle%20cx='12'%20cy='4.3'%20r='0.9'%20fill='%23f4f4ff'%20opacity='0.9'/%3e%3c/g%3e%3cpath%20d='M19.00%202.40L19.45%203.55L20.60%204.00L19.45%204.45L19.00%205.60L18.55%204.45L17.40%204.00L18.55%203.55Z'%20fill='%23ffe066'/%3e%3c/g%3e%3c/g%3e%3cg%20transform='translate(48)'%3e%3cg%20clip-path='url(%23f)'%3e%3cg%20transform='translate(-3%203)%20rotate(40%2012%2014)'%3e%3cpath%20d='M9.5%2024V14.5Q9.5%2011%2011%209.5V5H13V9.5Q14.5%2011%2014.5%2014.5V24Z'%20fill='%232f6b4f'/%3e%3cpath%20d='M10.8%205H13.2V9.3H10.8Z'%20fill='%23ffe066'/%3e%3crect%20x='9.5'%20y='16'%20width='5'%20height='4'%20fill='%23f4f4ff'%20opacity='0.9'/%3e%3cpath%20d='M10.3%2013Q10.6%2011.5%2011.4%2010.6'%20stroke='%237fbf9f'%20stroke-width='0.6'%20fill='none'%20stroke-linecap='round'/%3e%3ccircle%20cx='12'%20cy='4'%20r='1.2'%20fill='%23f4f4ff'%20opacity='0.95'/%3e%3ccircle%20cx='11.2'%20cy='2'%20r='1'%20fill='%23f4f4ff'%20opacity='0.9'/%3e%3ccircle%20cx='12.8'%20cy='0.3'%20r='0.9'%20fill='%23f4f4ff'%20opacity='0.8'/%3e%3ccircle%20cx='11.5'%20cy='-1.6'%20r='0.7'%20fill='%23f4f4ff'%20opacity='0.7'/%3e%3c/g%3e%3crect%20x='19'%20y='1'%20width='2.4'%20height='3'%20rx='0.6'%20fill='%23c8925a'%20transform='rotate(60%2020.2%202.5)'/%3e%3cpath%20d='M21.50%206.60L21.89%207.61L22.90%208.00L21.89%208.39L21.50%209.40L21.11%208.39L20.10%208.00L21.11%207.61Z'%20fill='%237cf0c5'/%3e%3cpath%20d='M15.00%200.60L15.34%201.46L16.20%201.80L15.34%202.14L15.00%203.00L14.66%202.14L13.80%201.80L14.66%201.46Z'%20fill='%23ff6ad5'/%3e%3c/g%3e%3c/g%3e%3cg%20transform='translate(72)'%3e%3cg%20clip-path='url(%23f)'%3e%3cg%20transform='translate(-3%203)%20rotate(40%2012%2014)'%3e%3cpath%20d='M9.5%2024V14.5Q9.5%2011%2011%209.5V5H13V9.5Q14.5%2011%2014.5%2014.5V24Z'%20fill='%232f6b4f'/%3e%3cpath%20d='M10.8%205H13.2V9.3H10.8Z'%20fill='%23ffe066'/%3e%3crect%20x='9.5'%20y='16'%20width='5'%20height='4'%20fill='%23f4f4ff'%20opacity='0.9'/%3e%3cpath%20d='M10.3%2013Q10.6%2011.5%2011.4%2010.6'%20stroke='%237fbf9f'%20stroke-width='0.6'%20fill='none'%20stroke-linecap='round'/%3e%3ccircle%20cx='12'%20cy='4'%20r='1.2'%20fill='%23f4f4ff'%20opacity='0.95'/%3e%3ccircle%20cx='11'%20cy='1.8'%20r='1.1'%20fill='%23f4f4ff'%20opacity='0.9'/%3e%3ccircle%20cx='13'%20cy='0'%20r='1'%20fill='%23f4f4ff'%20opacity='0.85'/%3e%3ccircle%20cx='11.4'%20cy='-2.2'%20r='0.9'%20fill='%23f4f4ff'%20opacity='0.8'/%3e%3ccircle%20cx='13.4'%20cy='-4'%20r='0.7'%20fill='%23f4f4ff'%20opacity='0.7'/%3e%3c/g%3e%3ccircle%20cx='21'%20cy='3'%20r='0.6'%20fill='%23f4f4ff'%20opacity='0.7'/%3e%3ccircle%20cx='19.5'%20cy='7.5'%20r='0.5'%20fill='%23f4f4ff'%20opacity='0.6'/%3e%3ccircle%20cx='22.5'%20cy='10'%20r='0.5'%20fill='%23f4f4ff'%20opacity='0.5'/%3e%3cpath%20d='M20.00%2011.10L20.39%2012.11L21.40%2012.50L20.39%2012.89L20.00%2013.90L19.61%2012.89L18.60%2012.50L19.61%2012.11Z'%20fill='%23ff6ad5'/%3e%3cpath%20d='M16.00%201.80L16.34%202.66L17.20%203.00L16.34%203.34L16.00%204.20L15.66%203.34L14.80%203.00L15.66%202.66Z'%20fill='%237cf0c5'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e")}.brand[data-pop=robot]:after{background-image:url(/_astro/robot.D6MKb38G.svg)}@keyframes pop{to{background-position-x:133.333%}}@media (prefers-reduced-motion:reduce){.brand:after{background-position-x:100%;animation:none}}.pills{align-items:center;gap:.4rem;margin-right:auto;display:flex}.scan,.fresh,.review,.gh-star-btn{border:1px solid var(--line);font-family:var(--mono);color:var(--faint);white-space:nowrap;border-radius:999px;align-items:center;gap:.5rem;padding:.2rem .6rem .2rem .45rem;font-size:.7rem;text-decoration:none;display:inline-flex}.review{padding:.2rem .6rem}.review[hidden]{display:none}.review-n{color:var(--port);font-variant-numeric:tabular-nums}.scan:hover,.fresh:hover,.review:hover,.gh-star-btn:hover{color:var(--muted);border-color:#7cf0c559}.scan-t{color:var(--recomp);font-variant-numeric:tabular-nums;text-shadow:0 0 8px #7cf0c573}.radar{background:radial-gradient(circle,#7cf0c5e6 0 1.5px,#0000 2px);border:1px solid #7cf0c573;border-radius:50%;flex:none;width:.95rem;height:.95rem;position:relative;overflow:hidden}.radar:after{content:"";background:conic-gradient(#7cf0c5bf,#0000 28%);border-radius:50%;animation:2.4s linear infinite sweep;position:absolute;inset:0}.scan.running .radar:after{animation-duration:.8s}.scan.running .scan-label,.scan.due .scan-label{display:none}.scan.due .scan-t{color:var(--muted);text-shadow:none}.scan.due .radar:after{animation-duration:6s}@keyframes sweep{to{rotate:1turn}}@media (prefers-reduced-motion:reduce){.radar:after{animation:none}}.fresh{padding:.2rem .6rem}.gh-star-btn{color:var(--muted);gap:.35rem;padding:.2rem .6rem .2rem .5rem}.gh-star-btn svg{fill:#e3b341;width:.8rem;height:.8rem;transition:rotate .4s ease-out,scale .4s ease-out}.gh-star-btn:hover svg{rotate:72deg;scale:1.2}.star-n{border-left:1px solid var(--line);color:var(--fg);font-variant-numeric:tabular-nums;padding-left:.4rem}.fresh-t{color:var(--muted);font-variant-numeric:tabular-nums}.fresh.stale .fresh-t{color:var(--port)}@media (width<=560px){.scan-label,.review-label{display:none}.pills{justify-content:space-evenly;width:100%;margin-right:0}}.site-header nav{font-family:var(--mono);gap:1.4rem;font-size:.85rem;display:flex}.site-header nav a{color:var(--muted);text-decoration:none}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--fg)}.site-header nav a[aria-current=page]{box-shadow:0 2px 0 var(--recomp)}.nav-count{color:var(--faint);margin-left:.25rem}@media (width<=560px){.site-header nav{flex-wrap:wrap;justify-content:space-between;gap:.4rem .6rem;width:100%;font-size:.8rem}.nav-long{display:none}}@media (width>=561px){.nav-short{display:none}}.site-footer{border-top:1px solid var(--line);color:var(--muted);margin-top:5rem;padding-top:1.5rem;padding-bottom:3rem;font-size:.85rem}h1,h2,h3{font-family:var(--sans);letter-spacing:-.02em}h1{margin:2.5rem 0 1rem;font-size:clamp(2rem,5vw,3.2rem);font-weight:700;line-height:1.05}h2{font-size:1.3rem;font-weight:650}.glow{color:var(--recomp);text-shadow:0 0 18px #7cf0c573,0 0 2px #7cf0c599}.eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.78rem}.lede{color:var(--muted);font-size:1.1rem}section{margin-top:3.5rem}.mono{font-family:var(--mono)}.badge{font-family:var(--mono);letter-spacing:.03em;text-transform:uppercase;border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:4px;padding:.05rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.badge.recomp{color:var(--recomp);background:#7cf0c50f;border-color:#7cf0c559}.badge.port{color:var(--port);background:#ffb35c0f;border-color:#ffb35c59}.badge.tool{color:#a9b4ff;background:#a9b4ff0f;border-color:#a9b4ff59}.badge.pre{color:var(--accent);border-color:#ff4f7b59}.muted{color:var(--muted)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.logo-img{filter:brightness(0)invert();opacity:.85}.cover-ph{background:var(--surface-2) url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MCA4MCI+PGcgZmlsbD0iIzViNjI4MCIgc3Ryb2tlPSIjNWI2MjgwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIHRyYW5zZm9ybT0icm90YXRlKC02IDMwIDIzKSI+PHBhdGggZD0iTTMwIDEwLjVWMTUiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iMS40Ii8+PGNpcmNsZSBjeD0iMzAiIGN5PSI5LjUiIHI9IjIuMiIgc3Ryb2tlPSJub25lIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9Im5vbmUiIGQ9Ik0yMyAxNWgxNGE0IDQgMCAwIDEgNCA0djdhNCA0IDAgMCAxLTQgNEgyM2E0IDQgMCAwIDEtNC00di03YTQgNCAwIDAgMSA0LTRabTEuNSAzLjVhMS41IDEuNSAwIDAgMC0xLjUgMS41djVhMS41IDEuNSAwIDAgMCAxLjUgMS41aDExYTEuNSAxLjUgMCAwIDAgMS41LTEuNXYtNWExLjUgMS41IDAgMCAwLTEuNS0xLjVaIi8+PHBhdGggZD0iTTI1LjIgMjFsMi42LS43TTMyLjIgMjAuM2wyLjYuN00yNi42IDIyLjl2LjlNMzMuNCAyMi45di45IiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjEuMiIvPjxlbGxpcHNlIGN4PSIzMCIgY3k9IjI1LjQiIHJ4PSIxLjMiIHJ5PSIwLjkiIHN0cm9rZT0ibm9uZSIvPjwvZz48cmVjdCB4PSIyMS41IiB5PSIzMiIgd2lkdGg9IjE3IiBoZWlnaHQ9IjE2IiByeD0iNCIgc3Ryb2tlPSJub25lIi8+PHBhdGggZD0iTTIyLjUgMzQuNSAxNy4yIDQ0LjIgMTIgMzQuOE0zNy41IDM0LjUgNDIuOCA0NC4yIDQ4IDM0LjgiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iMy4yIi8+PHBhdGggZD0iTTEyLjYgMzUuNkM5LjYgMzUuNCA2LjYgMzQgNSAzMS42IDcuMiAzMSAxMCAzMS44IDExLjQgMzMuMkwxMS4yIDMwLjZDMTIuNCAzMSAxMy4yIDMyLjYgMTMuNCAzNC42Wk00Ny40IDM1LjZDNTAuNCAzNS40IDUzLjQgMzQgNTUgMzEuNiA1Mi44IDMxIDUwIDMxLjggNDguNiAzMy4yTDQ4LjggMzAuNkM0Ny42IDMxIDQ2LjggMzIuNiA0Ni42IDM0LjZaIiBzdHJva2Utd2lkdGg9IjAuOCIvPjxwYXRoIGQ9Ik0yNi41IDQ4djYuNU0zMy41IDQ4djYuNSIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIzIi8+PC9nPjx0ZXh0IHg9IjMwIiB5PSI2OSIgZmlsbD0iIzViNjI4MCIgZm9udC1mYW1pbHk9InN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iOS41IiBmb250LXdlaWdodD0iNzAwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5ObyBpbWFnZTwvdGV4dD48L3N2Zz4K) center / 100% auto no-repeat}.cover-ph.icon{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cg%20fill='%235b6280'%20stroke='%235b6280'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cg%20transform='rotate(-6%2012%207)'%3e%3cpath%20fill-rule='evenodd'%20stroke='none'%20d='M9%203.5h6a2%202%200%200%201%202%202v3a2%202%200%200%201-2%202H9a2%202%200%200%201-2-2v-3a2%202%200%200%201%202-2Zm.6%201.8a.6.6%200%200%200-.6.6v2.2a.6.6%200%200%200%20.6.6h4.8a.6.6%200%200%200%20.6-.6V5.9a.6.6%200%200%200-.6-.6Z'/%3e%3c/g%3e%3crect%20x='8.3'%20y='11.5'%20width='7.4'%20height='7'%20rx='1.8'%20stroke='none'/%3e%3cpath%20d='M8.8%2012.6%206.4%2017%204.2%2012.6M15.2%2012.6l2.4%204.4%202.2-4.4'%20fill='none'%20stroke-width='1.5'/%3e%3cpath%20d='M4.6%2013%201.6%2011.6M19.4%2013l3-1.4'%20fill='none'%20stroke-width='1.8'/%3e%3cpath%20d='M10.5%2018.5v2.5M13.5%2018.5v2.5'%20fill='none'%20stroke-width='1.6'/%3e%3c/g%3e%3c/svg%3e");background-size:72%}.v-anthropic{--mc:#d97757}.v-openai{--mc:#e8ecf6}.v-google{--mc:#8e75b2}.v-github,.v-cursor{--mc:#c9d1e0}.v-other{--mc:var(--muted)}.to-top{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:50;border:1px solid var(--line);backdrop-filter:blur(6px);width:2.9rem;height:2.9rem;color:var(--fg);cursor:pointer;opacity:0;pointer-events:none;background:#121624d9;border-radius:50%;place-items:center;padding:0;transition:opacity .3s,translate .3s,border-color .2s;display:grid;position:fixed;translate:0 .8rem;box-shadow:0 6px 20px #00000073}.to-top.on{opacity:1;pointer-events:auto;translate:0}.to-top:hover{border-color:#7cf0c580}.to-top svg{width:100%;height:100%;rotate:-90deg}.to-top circle{fill:none;stroke-width:2px}.tt-track{stroke:#ffffff0f}.tt-ring{stroke:var(--recomp);stroke-dasharray:100;stroke-linecap:round;filter:drop-shadow(0 0 3px #7cf0c580)}.tt-arrow{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;transform-origin:18px 18px;transition:translate .2s;rotate:90deg}.to-top:hover .tt-arrow{translate:-2px}@media (prefers-reduced-motion:reduce){.to-top{transition:opacity .2s;translate:none}}
