@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2)format("woff2");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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0wkzw~je483f-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2)format("woff2");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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.08e28id.o-okb.woff2)format("woff2");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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@font-face{font-family:Inconsolata;font-style:normal;font-weight:200 900;font-stretch:100%;font-display:swap;src:url(../media/fa5aae2beadb79bb-s.0wmljci~j6.yy.woff2)format("woff2");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:Inconsolata;font-style:normal;font-weight:200 900;font-stretch:100%;font-display:swap;src:url(../media/28de84e0e7d4cb57-s.0nrd6q_b.qkot.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inconsolata;font-style:normal;font-weight:200 900;font-stretch:100%;font-display:swap;src:url(../media/c50f3c9c65fbdb75-s.p.0q9vn6c7d6pvt.woff2)format("woff2");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:Inconsolata Fallback;src:local(Arial);ascent-override:76.59%;descent-override:16.94%;line-gap-override:0.0%;size-adjust:112.16%}.inconsolata_672fe9cb-module__t1E6xq__className{font-family:Inconsolata,Inconsolata Fallback;font-style:normal}.inconsolata_672fe9cb-module__t1E6xq__variable{--font-inconsolata:"Inconsolata", "Inconsolata Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-mono:var(--font-inconsolata);--color-red-500:#fb2c36;--color-zinc-100:#f4f4f5;--color-zinc-300:#d4d4d8;--color-zinc-400:#9f9fa9;--color-zinc-500:#71717b;--color-zinc-600:#52525c;--color-zinc-700:#3f3f46;--color-zinc-800:#27272a;--color-zinc-900:#18181b;--spacing:.25rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-inconsolata)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-500:lab(55.4814% 75.0732 48.8528);--color-zinc-100:lab(96.1634% .0993311 -.364041);--color-zinc-300:lab(84.9837% .601262 -2.17986);--color-zinc-400:lab(65.6464% 1.53497 -5.42429);--color-zinc-500:lab(47.8878% 1.65477 -5.77283);--color-zinc-600:lab(35.1166% 1.78212 -6.1173);--color-zinc-700:lab(26.8019% 1.35387 -4.68303);--color-zinc-800:lab(15.7305% .613764 -2.16959);--color-zinc-900:lab(8.30603% .618205 -2.16572)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}body{background-color:var(--background);color:var(--foreground);font-family:var(--font-mono), monospace;border-color:#9f9fa9;border-color:lab(65.6464% 1.53497 -5.42429);font-weight:600}h1{font-size:1.25rem;line-height:1.25}@media (min-width:1024px){h1{font-size:1.5rem}}h2{font-size:1.25rem;line-height:1.375}@media (min-width:1024px){h2{font-size:1.5rem}}h3{font-size:1rem;line-height:1.375}@media (min-width:1024px){h3{font-size:1.125rem}}h4{font-size:.875rem;line-height:1.375}@media (min-width:1024px){h4{font-size:1rem}}h5{font-size:.875rem;line-height:1.5}h6{text-transform:uppercase;letter-spacing:.025em;font-size:.75rem;line-height:1.5}p{font-size:.875rem;line-height:1.625}@media (min-width:1024px){p{font-size:1rem}}.readme-content h1,.readme-content h2,.readme-content h3{margin-top:1.5rem!important;margin-bottom:.5rem!important}.readme-content p,.readme-content ul,.readme-content ol,.readme-content pre,.readme-content table{margin-top:.75rem!important;margin-bottom:.75rem!important}.readme-content li{margin-top:.25rem!important;margin-bottom:.25rem!important}.readme-content h1:first-child{margin-top:0!important}@media (max-width:1023px){.readme-content{font-size:.8125rem!important}.readme-content h1{font-size:1.125rem!important}.readme-content h2{font-size:1rem!important}.readme-content h3{font-size:.9375rem!important}.readme-content p,.readme-content ul,.readme-content ol,.readme-content pre,.readme-content table,.readme-content li{font-size:.8125rem!important}.readme-content code{font-size:.75rem!important}}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1{top:calc(var(--spacing) * 1)}.right-0{right:calc(var(--spacing) * 0)}.right-2{right:calc(var(--spacing) * 2)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.left-0\.5{left:calc(var(--spacing) * .5)}.z-10{z-index:10}.order-1{order:1}.order-2{order:2}.float-left{float:left}.clear-both{clear:both}.mx-auto{margin-inline:auto}.my-4{margin-block:calc(var(--spacing) * 4)}.my-5{margin-block:calc(var(--spacing) * 5)}.my-6{margin-block:calc(var(--spacing) * 6)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-video{aspect-ratio:var(--aspect-video)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-40{height:calc(var(--spacing) * 40)}.h-50{height:calc(var(--spacing) * 50)}.h-80{height:calc(var(--spacing) * 80)}.h-auto{height:auto}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-70{max-height:calc(var(--spacing) * 70)}.max-h-80{max-height:calc(var(--spacing) * 80)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-20{min-height:calc(var(--spacing) * 20)}.min-h-60{min-height:calc(var(--spacing) * 60)}.min-h-\[70dvh\]{min-height:70dvh}.min-h-\[80dvh\]{min-height:80dvh}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-16{width:calc(var(--spacing) * 16)}.w-32{width:calc(var(--spacing) * 32)}.w-38{width:calc(var(--spacing) * 38)}.w-70{width:calc(var(--spacing) * 70)}.w-80{width:calc(var(--spacing) * 80)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-full{max-width:100%}.max-w-none{max-width:none}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-70{min-width:calc(var(--spacing) * 70)}.flex-1{flex:1}.flex-none{flex:none}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.resize-y{resize:vertical}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-center{scroll-snap-align:center}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-20{gap:calc(var(--spacing) * 20)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-10{column-gap:calc(var(--spacing) * 10)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overscroll-x-contain{overscroll-behavior-x:contain}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-transparent{border-color:#0000}.border-zinc-100{border-color:var(--color-zinc-100)}.border-zinc-600{border-color:var(--color-zinc-600)}.border-zinc-700{border-color:var(--color-zinc-700)}.border-zinc-700\/60{border-color:#3f3f4699}@supports (color:color-mix(in lab, red, red)){.border-zinc-700\/60{border-color:color-mix(in oklab, var(--color-zinc-700) 60%, transparent)}}.bg-background-secondary{background-color:var(--background-secondary)}.bg-foreground{background-color:var(--foreground)}.bg-transparent{background-color:#0000}.bg-zinc-700{background-color:var(--color-zinc-700)}.bg-zinc-900{background-color:var(--color-zinc-900)}.fill-foreground{fill:var(--foreground)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-left{object-position:left}.object-top{object-position:top}.p-1{padding:calc(var(--spacing) * 1)}.p-3{padding:calc(var(--spacing) * 3)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-10{padding-inline:calc(var(--spacing) * 10)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-14{padding-top:calc(var(--spacing) * 14)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-inconsolata)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words,.wrap-break-word{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.text-background{color:var(--background)}.text-foreground-mute{color:var(--mute)}.text-red-500{color:var(--color-red-500)}.text-zinc-100{color:var(--color-zinc-100)}.text-zinc-300{color:var(--color-zinc-300)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-600{color:var(--color-zinc-600)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.group-hover\:h-full:is(:where(.group):hover *){height:100%}.group-hover\:w-full:is(:where(.group):hover *){width:100%}.group-hover\:border-zinc-300:is(:where(.group):hover *){border-color:var(--color-zinc-300)}.group-hover\:bg-foreground:is(:where(.group):hover *){background-color:var(--foreground)}.group-hover\:underline:is(:where(.group):hover *){text-decoration-line:underline}.hover\:bg-background-secondary:hover{background-color:var(--background-secondary)}.hover\:bg-zinc-800:hover{background-color:var(--color-zinc-800)}.hover\:text-zinc-900:hover{color:var(--color-zinc-900)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:border-foreground:focus{border-color:var(--foreground)}.focus-visible\:underline:focus-visible{text-decoration-line:underline}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.disabled\:opacity-40:disabled{opacity:.4}@media (min-width:360px){.min-\[360px\]\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:380px){.min-\[380px\]\:w-34{width:calc(var(--spacing) * 34)}}@media (min-width:40rem){.sm\:order-1{order:1}.sm\:order-2{order:2}.sm\:aspect-video{aspect-ratio:var(--aspect-video)}.sm\:w-36{width:calc(var(--spacing) * 36)}.sm\:w-auto{width:auto}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-col{flex-direction:column}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:gap-x-6{column-gap:calc(var(--spacing) * 6)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:py-2{padding-block:calc(var(--spacing) * 2)}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (min-width:48rem){.md\:flex{display:flex}.md\:hidden{display:none}.md\:gap-10{gap:calc(var(--spacing) * 10)}.md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}@media (min-width:64rem){.lg\:relative{position:relative}.lg\:top-0{top:calc(var(--spacing) * 0)}.lg\:right-0{right:calc(var(--spacing) * 0)}.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:float-none{float:none}.lg\:my-4{margin-block:calc(var(--spacing) * 4)}.lg\:my-6{margin-block:calc(var(--spacing) * 6)}.lg\:mt-0{margin-top:calc(var(--spacing) * 0)}.lg\:mt-5{margin-top:calc(var(--spacing) * 5)}.lg\:mr-0{margin-right:calc(var(--spacing) * 0)}.lg\:mb-0{margin-bottom:calc(var(--spacing) * 0)}.lg\:contents{display:contents}.lg\:flex{display:flex}.lg\:size-48{width:calc(var(--spacing) * 48);height:calc(var(--spacing) * 48)}.lg\:size-52{width:calc(var(--spacing) * 52);height:calc(var(--spacing) * 52)}.lg\:h-80{height:calc(var(--spacing) * 80)}.lg\:h-100{height:calc(var(--spacing) * 100)}.lg\:min-h-52{min-height:calc(var(--spacing) * 52)}.lg\:w-100{width:calc(var(--spacing) * 100)}.lg\:w-full{width:100%}.lg\:max-w-4xl{max-width:var(--container-4xl)}.lg\:max-w-100{max-width:calc(var(--spacing) * 100)}.lg\:min-w-0{min-width:calc(var(--spacing) * 0)}.lg\:shrink-0{flex-shrink:0}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-col{flex-direction:column}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-start{align-items:flex-start}.lg\:items-stretch{align-items:stretch}.lg\:justify-between{justify-content:space-between}.lg\:justify-center{justify-content:center}.lg\:justify-start{justify-content:flex-start}.lg\:gap-3{gap:calc(var(--spacing) * 3)}.lg\:gap-4{gap:calc(var(--spacing) * 4)}.lg\:gap-6{gap:calc(var(--spacing) * 6)}.lg\:gap-10{gap:calc(var(--spacing) * 10)}.lg\:gap-14{gap:calc(var(--spacing) * 14)}.lg\:border{border-style:var(--tw-border-style);border-width:1px}.lg\:p-0{padding:calc(var(--spacing) * 0)}.lg\:px-0{padding-inline:calc(var(--spacing) * 0)}.lg\:px-3{padding-inline:calc(var(--spacing) * 3)}.lg\:px-5{padding-inline:calc(var(--spacing) * 5)}.lg\:py-0{padding-block:calc(var(--spacing) * 0)}.lg\:py-4{padding-block:calc(var(--spacing) * 4)}.lg\:py-6{padding-block:calc(var(--spacing) * 6)}.lg\:py-10{padding-block:calc(var(--spacing) * 10)}.lg\:text-right{text-align:right}.lg\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.lg\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.lg\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.lg\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.lg\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.lg\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.lg\:font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}}}.blog-article{overflow-wrap:anywhere;max-width:70ch;line-height:1.7}.blog-article p{white-space:pre-line;margin:0 0 1rem}.blog-article :is(h1,h2,h3,h4){margin:1.5rem 0 .75rem;font-weight:700}.blog-article ul{margin-bottom:1rem;padding-left:1.5rem;list-style:outside}.blog-article ol{margin-bottom:1rem;padding-left:1.5rem;list-style:decimal}.blog-article a{text-underline-offset:3px;text-decoration:underline}.blog-article blockquote{opacity:.8;border-left:2px solid;padding-left:1rem}.blog-article pre{background:#18181b;padding:1rem;overflow-x:auto}.blog-article :not(pre)>code{background:#18181b;padding:.1rem .3rem}.blog-list-link{border-bottom:1px solid #3f3f46;padding:1.25rem 0;display:block}.blog-list-card{flex-direction:column;align-items:flex-start;gap:.65rem;min-width:0;display:flex}.blog-list-excerpt{color:#a1a1aa;overflow-wrap:anywhere}.public-map-section{flex-direction:column;gap:1rem;display:flex}.public-map-frame{border:1px solid #52525b;padding:.75rem;position:relative}.public-world-map{width:100%;height:auto;display:block}.public-map-grid{fill:none;stroke:#27272a;stroke-width:.7px;stroke-dasharray:2 5}.public-map-country{stroke:#52525b;stroke-width:.7px;vector-effect:non-scaling-stroke}.public-map-level-0{fill:#27272a}.public-map-level-1{fill:#52525b}.public-map-level-2{fill:#71717a}.public-map-level-3{fill:#a1a1aa}.public-map-level-4{fill:#e4e4e7}.public-map-singapore{stroke:#09090b;stroke-width:1.8px}.public-map-empty{color:#a1a1aa;text-align:center;margin:0 0 .75rem}.public-country-section{flex-direction:column;gap:.5rem;display:flex}.public-country-heading,.public-country-pages{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.public-country-heading{border-bottom:1px solid #52525b;padding-bottom:.65rem}.public-country-heading h3{font-size:1rem}.public-country-heading span,.public-country-pages>span,.public-country-rank{color:#a1a1aa;font-size:.75rem}.public-country-list{margin:0;padding:0;list-style:none}.public-country-row{border-bottom:1px solid #27272a;grid-template-columns:2rem minmax(7rem,1fr) minmax(4rem,2fr) 3rem;align-items:center;gap:.75rem;padding:.65rem .25rem;font-size:.875rem;display:grid}.public-country-name{overflow-wrap:anywhere}.public-country-row strong{text-align:right;font-weight:600}.public-country-bar{background:#27272a;height:.5rem}.public-country-bar>span{background:#e4e4e7;height:100%;display:block}.public-country-pages{padding-top:.5rem}.public-country-pages>div{gap:.5rem;display:flex}.public-country-pages button{cursor:pointer;border:1px solid #71717a;min-height:2.5rem;padding:.35rem .65rem}.public-country-pages button:hover:not(:disabled),.public-country-pages button:focus-visible{background:var(--background-secondary);color:#18181b}.public-country-pages button:disabled{cursor:not-allowed;opacity:.4}@media (max-width:639px){.public-country-row{grid-template-columns:1.5rem minmax(5rem,1fr) minmax(2rem,1fr) 2rem;gap:.4rem;font-size:.75rem}}.project-carousel-track{scrollbar-width:none;touch-action:pan-x pan-y}.project-carousel-track::-webkit-scrollbar{display:none}:root{--background:#0a0b10;--background-secondary:#f0f0f0;--foreground:#d8d8d8;--muted:#555462;--accent:#3d2a5a}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--background-secondary:#f0f0f0;--foreground:#ededed;--accent:#3d2a5a;--muted:#555462}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes pulse{50%{opacity:.5}}
