*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-gutter:stable}body{min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-muted);font-family:var(--font-body);color:var(--fg)}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;overflow-wrap:break-word}p{overflow-wrap:break-word}ul,ol,menu{list-style:none;padding:0}a{color:inherit;text-decoration:none}img,picture,video,canvas,svg{display:block;max-width:100%}img,video{height:auto}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none;padding:0}fieldset{border:none;padding:0}table{border-collapse:collapse;border-spacing:0}[hidden]{display:none!important}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./sora-latin-ext-wght-normal.CawQDOvP.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./sora-latin-wght-normal.DdqRvwsR.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@keyframes overlay-in{0%{opacity:0}}@keyframes overlay-out{to{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:scale(.97)}}@keyframes dialog-out{to{opacity:0;transform:scale(.97)}}:root{--animate-fade-in-up: fade-in-up .35s ease-in-out forwards;--animate-fade-in-up-lg: fade-in-up-lg .6s ease-out both;--animate-fade-in: fade-in .3s ease-out forwards;--animate-scale-in: scale-in .2s ease-out forwards;--animate-accordion-down: accordion-down .2s ease-out;--animate-accordion-up: accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--bits-accordion-content-height)}}@keyframes accordion-up{0%{height:var(--bits-accordion-content-height)}to{height:0}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-up-lg{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes nav-scale-in{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes nav-scale-out{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(-4px)}}@keyframes nav-enter-from-left{0%{opacity:0;transform:translate(-80px)}to{opacity:1;transform:translate(0)}}@keyframes nav-enter-from-right{0%{opacity:0;transform:translate(80px)}to{opacity:1;transform:translate(0)}}@keyframes nav-exit-to-left{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-80px)}}@keyframes nav-exit-to-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(80px)}}@keyframes drawer-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes drawer-slide-out{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes dropdown-in{0%{opacity:0;transform:scale(.96) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes dropdown-out{to{opacity:0;transform:scale(.96) translateY(-4px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stagger-delay{transition-delay:calc(var(--i, 0) * 35ms)}.animate-stagger{opacity:0;animation:fade-in-up .35s ease-in-out forwards;animation-delay:calc(var(--i, 0) * 35ms)}.animate-appear{opacity:0;animation:fade-in-up .35s ease-in-out forwards}.animate-in{animation:fade-in-up-lg .7s ease forwards}.delay-100{animation-delay:.1s;opacity:0}.delay-200{animation-delay:.2s;opacity:0}.delay-300{animation-delay:.3s;opacity:0}.delay-400{animation-delay:.4s;opacity:0}.delay-500{animation-delay:.5s;opacity:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--primary-50: #eff6ff;--primary-100: #dbeafe;--primary-200: #bfdbfe;--primary-300: hsl(217 100% 70%);--primary-400: #3b82f6;--primary-500: #2563eb;--primary-600: #1d4ed8;--primary-700: #1e40af;--primary-800: #1e3a8a;--primary-900: #172554;--primary-950: #0f172a;--primary-link: hsl(217 100% 70%);--secondary-50: #eef2ff;--secondary-100: #e0e7ff;--secondary-200: #c7d2fe;--secondary-300: #a5b4fc;--secondary-400: #818cf8;--secondary-500: #6366f1;--secondary-600: #4f46e5;--secondary-700: #4338ca;--secondary-800: #3730a3;--secondary-900: #312e81;--secondary-950: #1e1b4b;--success-50: #f0fdf4;--success-100: #dcfce7;--success-200: #bbf7d0;--success-300: #86efac;--success-400: #4ade80;--success-500: #22c55e;--success-600: #16a34a;--success-700: #15803d;--success-800: #166534;--success-900: #14532d;--success-950: #052e16;--warning-50: #fffbeb;--warning-100: #fef3c7;--warning-200: #fde68a;--warning-300: #fcd34d;--warning-400: #fbbf24;--warning-500: #f59e0b;--warning-600: #d97706;--warning-700: #b45309;--warning-800: #92400e;--warning-900: #78350f;--warning-950: #451a03;--error-50: #fef2f2;--error-100: #fee2e2;--error-200: #fecaca;--error-300: #fca5a5;--error-400: #f87171;--error-500: #ef4444;--error-600: #dc2626;--error-700: #b91c1c;--error-800: #991b1b;--error-900: #7f1d1d;--error-950: #450a0a;--info-50: #ecfeff;--info-100: #cffafe;--info-200: #a5f3fc;--info-300: #67e8f9;--info-400: #22d3ee;--info-500: #06b6d4;--info-600: #0891b2;--info-700: #0e7490;--info-800: #155e75;--info-900: #164e63;--info-950: #083344;--bg-subtle: hsl(220 40% 7%);--bg-muted: hsl(217 43% 12%);--bg: hsl(219 34% 15%);--bg-accent: hsl(222 31% 17%);--bg-bold: hsl(223 32% 23%);--fg-subtle: hsl(221 15% 35%);--fg-muted: hsl(223 23% 70%);--fg: hsl(225 11% 93%);--fg-accent: hsl(0 0% 96%);--fg-bold: hsl(0 0% 98%);--fg-inverted: hsl(217 43% 12%);--border-subtle: color-mix(in srgb, rgb(180, 200, 230) 5%, transparent);--border-muted: color-mix(in srgb, rgb(180, 200, 230) 10%, transparent);--border: hsl(221 24% 20%);--border-accent: hsl(221 24% 25%);--border-bold: hsl(221 20% 32%);--overlay: hsl(217 43% 12% / .8);--focus-ring: var(--primary-500);--ring-focus: 0 0 0 3px color-mix(in srgb, var(--primary-500) 20%, transparent);--ring-offset: var(--bg-muted);--opacity-disabled: .5;--opacity-placeholder: .5;--chart-1: var(--primary-500);--chart-2: var(--secondary-400);--chart-3: var(--success-500);--chart-4: var(--warning-500);--chart-5: var(--error-500);--background-image-vignette-top: radial-gradient( 120% 120% at 50% 0%, transparent 45%, hsl(220 40% 7%) 82% );--background-image-vignette-center: radial-gradient( circle at 50% 50%, transparent 0%, hsl(220 40% 7%) 70% );--background-image-vignette-hero: radial-gradient( 128% 240% at 50% -88%, transparent 0%, hsl(217 43% 12%) 75% );color-scheme:dark}.banner-overlay{background:linear-gradient(to top,var(--bg-muted) 0%,hsl(217 43% 12% / .98) 25%,hsl(217 43% 12% / .92) 45%,hsl(217 43% 12% / .85) 60%,hsl(217 43% 12% / .8) 75%,hsl(217 43% 12% / .85) 100%)}.prose{font-size:1.0625rem;color:var(--fg-muted);line-height:1.9}.prose h2{font-size:1.25rem;font-weight:800;color:var(--fg-bold);margin:1.75rem 0 .75rem}.prose h3{font-size:1.1875rem;font-weight:800;color:var(--fg-bold);margin:1.75rem 0 .75rem}.prose h4{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--fg-bold);margin:var(--spacing-4) 0 .375rem}.prose h2:first-child,.prose h3:first-child{margin-top:0}.prose p{margin-bottom:1.25rem}.prose p:last-child{margin-bottom:0}.prose a{color:var(--primary-400);text-decoration:underline;text-underline-offset:3px;transition:color var(--duration-fast)}.prose a:hover{color:var(--primary-300)}.prose h2 a,.prose h3 a,.prose h4 a{color:inherit;text-decoration:none}:is(.prose h2 a,.prose h3 a,.prose h4 a):hover{color:inherit;text-decoration:none}.prose strong{color:var(--fg-bold);font-weight:700}.prose em{font-style:italic}.prose ul,.prose ol{padding-left:1.25rem;margin-bottom:1.25rem}.prose ul{list-style-type:disc}.prose ol{list-style-type:decimal}.prose li{margin-bottom:.375rem}.prose li>ul,.prose li>ol{margin-block:.125rem}.prose code:not(pre code){background:var(--bg-accent);color:var(--fg-bold);border-radius:var(--radius-sm);padding:.125rem .375rem;font-size:var(--text-sm);font-family:var(--font-mono)}.prose code.promo-code{background:color-mix(in srgb,var(--primary-500) 15%,transparent);color:var(--primary-400);border:1px solid color-mix(in srgb,var(--primary-500) 30%,transparent);border-radius:var(--radius-md);padding:.125rem .5rem;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:.05em}.prose pre{background:var(--bg);border:1px solid var(--border-muted);margin-block:var(--spacing-4);overflow-x:auto;border-radius:var(--radius-lg);padding:var(--spacing-4)}.prose pre code{background:transparent;padding:0;font-size:var(--text-sm)}.prose blockquote{border-left:2px solid var(--primary-500);color:var(--fg);padding-left:var(--spacing-3);font-style:italic;margin-block:var(--spacing-4)}.prose blockquote p{margin-block:.375rem}.prose img{margin-block:var(--spacing-4);border-radius:var(--radius-lg)}.prose hr{border-color:var(--border-muted);margin-block:var(--spacing-6)}.prose table{width:100%;border-collapse:separate;border-spacing:0;margin:1.5rem 0;font-size:.9375rem;border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden}@media(max-width:768px){.prose table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}.prose th{background:var(--bg-accent);padding:.75rem 1rem;font-size:.8125rem;font-weight:700;color:var(--fg-muted);text-align:left;border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.03em}.prose td{padding:.6875rem 1rem;border-bottom:1px solid var(--border-muted);color:var(--fg-muted)}.prose tr:last-child td{border-bottom:none}.prose tbody tr:hover td{background:color-mix(in srgb,var(--primary-500) 2%,transparent)}.prose .val-cell{font-weight:700;color:var(--fg-bold)}.prose .icon-cell{text-align:center}.prose .icon-cell .yes{color:var(--success-400);font-weight:700}.prose .icon-cell .no{color:var(--error-500);opacity:.5}.prose .callout{padding:1.125rem 1.375rem;border-radius:var(--radius-lg);font-size:1rem;line-height:1.7;display:flex;gap:.75rem;align-items:flex-start;margin:1.5rem 0}.prose .callout.success{background:color-mix(in srgb,var(--success-500) 10%,transparent);border:1px solid color-mix(in srgb,var(--success-500) 12%,transparent)}.prose .callout.info{background:color-mix(in srgb,var(--primary-500) 10%,transparent);border:1px solid color-mix(in srgb,var(--primary-500) 12%,transparent)}.prose .callout strong{color:var(--fg-bold)}.prose h2+p,.prose h3+p,.prose h4+p{margin-top:0}:root{--shadow-floating: 0px 2px 4px 0px hsl(240 12% 8% / .04), 0px 5px 8px 0px hsl(240 12% 8% / .04), 0px 10px 18px 0px hsl(240 12% 8% / .03), 0px 24px 48px 0px hsl(240 12% 8% / .03), 0px 0px 0px 1px hsl(240 12% 8% / .1);--shadow-card: 0 2px 1px hsl(0 0% 0% / .05), 0 0 1px hsl(0 0% 0% / .25);--shadow-box: 0 1px 3px hsl(240 4% 26% / .15), 0 0 0 1px hsl(240 4% 26% / .05);--shadow-modal: 0px 0px 1px hsl(0 0% 0% / .2), 0px 26px 80px hsl(0 0% 0% / .2);--shadow-xs: 0 1px 2px oklch(0 0 0 / .04);--shadow-sm: 0 1px 3px oklch(0 0 0 / .06), 0 1px 2px oklch(0 0 0 / .04);--shadow-md: 0 4px 6px -1px oklch(0 0 0 / .06), 0 2px 4px -2px oklch(0 0 0 / .04);--shadow-lg: 0 10px 15px -3px oklch(0 0 0 / .07), 0 4px 6px -4px oklch(0 0 0 / .04);--shadow-xl: 0 20px 25px -5px oklch(0 0 0 / .08), 0 8px 10px -6px oklch(0 0 0 / .04);--shadow-2xl: 0 25px 50px -12px oklch(0 0 0 / .2);--shadow-inner: inset 0 2px 4px oklch(0 0 0 / .04)}:root{--radius: .625rem;--radius-xs: calc(var(--radius) * .2);--radius-sm: calc(var(--radius) * .4);--radius-md: calc(var(--radius) * .6);--radius-lg: var(--radius);--radius-xl: calc(var(--radius) * 1.2);--radius-2xl: calc(var(--radius) * 1.6);--radius-full: 9999px;--spacing-0: 0;--spacing-px: 1px;--spacing-0-5: .125rem;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-7: 1.75rem;--spacing-8: 2rem;--spacing-9: 2.25rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-14: 3.5rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--spacing-page: clamp(1rem, 4vw, 2rem);--container-xs: 20rem;--container-sm: 24rem;--container-md: 28rem;--container-lg: 32rem;--container-xl: 36rem;--container-2xl: 42rem;--container-3xl: 48rem;--container-4xl: 56rem;--container-5xl: 64rem;--container-6xl: 72rem;--container-7xl: 80rem;--container-8xl: 84rem;--max-width-page-lg: calc(75rem + var(--spacing-page) * 2);--max-width-page-2xl: calc(96rem + var(--spacing-page) * 2);--grid-template-columns-article: repeat(auto-fill, minmax(300px, 1fr));--border-width: 1px;--border-width-thick: 2px;--aspect-video: 16 / 9;--aspect-square: 1;--aspect-card: 16 / 10;--blur-sm: 4px;--blur-md: 8px;--blur-lg: 16px;--blur-xl: 24px;--scrollbar-size: 6px;--header-height: 4rem}.container{width:100%;max-width:var(--container-7xl);margin-inline:auto;padding-inline:var(--spacing-page)}:root{--font-sans: "Sora Variable", system-ui, sans-serif;--font-mono: ui-monospace, "Cascadia Code", "Fira Code", monospace;--font-body: var(--font-sans);--font-heading: var(--font-sans);--text-2xs: .8125rem;--text-2xs--line-height: 1.125rem;--text-xs: .75rem;--text-xs--line-height: 1rem;--text-2sm: .9375rem;--text-2sm--line-height: 1.375rem;--text-sm: .875rem;--text-sm--line-height: 1.25rem;--text-base: 1rem;--text-base--line-height: 1.5rem;--text-lg: 1.125rem;--text-lg--line-height: 1.75rem;--text-xl: 1.25rem;--text-xl--line-height: 1.75rem;--text-2xl: 1.5rem;--text-2xl--line-height: 2rem;--text-3xl: 1.875rem;--text-3xl--line-height: 2.25rem;--text-4xl: 2.25rem;--text-4xl--line-height: 2.5rem;--text-5xl: 3rem;--text-5xl--line-height: 1;--text-6xl: 3.75rem;--text-6xl--line-height: 1;--text-7xl: 4.5rem;--text-7xl--line-height: 1;--text-8xl: 6rem;--text-8xl--line-height: 1;--text-9xl: 8rem;--text-9xl--line-height: 1;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-none: 1;--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 1.7;--leading-spacious: 1.75;--tracking-tighter: -.025em;--tracking-tight: -.01em;--tracking-wide: .05em}:root{--duration-instant: 75ms;--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-linear: linear;--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-spring: cubic-bezier(.22, 1.2, .36, 1)}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;line-clamp:2;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;line-clamp:3;-webkit-line-clamp:3}.scrollbar-none{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-none::-webkit-scrollbar{display:none}.scrollbar-styled{scrollbar-width:thin;scrollbar-color:var(--bg-bold) transparent}.scrollbar-styled::-webkit-scrollbar{width:var(--scrollbar-size)}.scrollbar-styled::-webkit-scrollbar-track{background:transparent}.scrollbar-styled::-webkit-scrollbar-thumb{background:var(--bg-bold);border-radius:var(--radius-full)}.scrollbar-styled::-webkit-scrollbar-thumb:hover{background:var(--border-accent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.press:active:not(:disabled){transform:scale(.98)}.ring{outline:2px solid transparent;outline-offset:2px;transition:outline-color var(--duration-fast)}.ring:hover:not(:disabled){outline-color:var(--ring-color, color-mix(in srgb, var(--fg) 15%, transparent))}:root{--z-below: -1;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-header: 300;--z-overlay: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--z-max: 999}
