@font-face{font-family: "Inter";font-style: normal;font-weight: 100 900;font-display: swap;src: url("/fonts/inter-latin.woff2") format("woff2");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}@font-face{font-family: "Inter";font-style: normal;font-weight: 100 900;font-display: swap;src: url("/fonts/inter-latin-ext.woff2") format("woff2");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: "Montserrat";font-style: normal;font-weight: 800;font-display: swap;src: url("/fonts/montserrat-800-latin.woff2") format("woff2");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}@font-face{font-family: "Montserrat";font-style: normal;font-weight: 800;font-display: swap;src: url("/fonts/montserrat-800-latin-ext.woff2") format("woff2");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: "Inter Fallback";font-style: normal;font-weight: 100 500;src: local("Arial"), local("ArialMT"), local("Liberation Sans"), local("LiberationSans");size-adjust: 107.48%;ascent-override: 90.14%;descent-override: 22.44%;line-gap-override: 0%}@font-face{font-family: "Inter Fallback";font-style: normal;font-weight: 600 900;src: local("Arial Bold"), local("Arial-BoldMT"), local("Liberation Sans Bold"), local("LiberationSans-Bold");size-adjust: 102.35%;ascent-override: 94.65%;descent-override: 23.57%;line-gap-override: 0%}@font-face{font-family: "Montserrat Fallback";font-style: normal;font-weight: 800;src: local("Arial Bold"), local("Arial-BoldMT"), local("Liberation Sans Bold"), local("LiberationSans-Bold");size-adjust: 113.28%;ascent-override: 85.45%;descent-override: 22.16%;line-gap-override: 0%}@font-face{font-family: "Instrument Serif Fallback";font-style: italic;font-weight: 400;src: local("Georgia Italic"), local("Georgia-Italic");size-adjust: 79.53%;ascent-override: 124.49%;descent-override: 38.98%;line-gap-override: 0%}@font-face{font-family: "JetBrains Mono Fallback";font-style: normal;font-weight: 100 500;src: local("Courier New"), local("CourierNewPSMT"), local("Liberation Mono"), local("LiberationMono");size-adjust: 99.98%;ascent-override: 102.02%;descent-override: 30%;line-gap-override: 0%}@font-face{font-family: "JetBrains Mono Fallback";font-style: normal;font-weight: 600 900;src: local("Courier New Bold"), local("CourierNewPS-BoldMT"), local("Liberation Mono Bold"), local("LiberationMono-Bold");size-adjust: 99.98%;ascent-override: 102.02%;descent-override: 30%;line-gap-override: 0%}@font-face{font-family: "Instrument Serif";font-style: italic;font-weight: 400;font-display: swap;src: url("/fonts/instrument-serif-italic-latin.woff2") format("woff2");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}@font-face{font-family: "Instrument Serif";font-style: italic;font-weight: 400;font-display: swap;src: url("/fonts/instrument-serif-italic-latin-ext.woff2") format("woff2");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: "JetBrains Mono";font-style: normal;font-weight: 100 800;font-display: swap;src: url("/fonts/jetbrains-mono-latin.woff2") format("woff2");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}@font-face{font-family: "JetBrains Mono";font-style: normal;font-weight: 100 800;font-display: swap;src: url("/fonts/jetbrains-mono-latin-ext.woff2") format("woff2");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}:root{color-scheme: dark;--bg-page: #101214;--bg-band: #16191d;--bg-footer: #16191d;--surface-card: #1c1f24;--surface-raised: #24282e;--surface-sunken: #0b0d10;--line: #2c3036;--line-strong: #3a3f47;--line-on-dark: rgb(255 255 255 / 0.12);--text-head: #f5f6f8;--text-body: #b6bcc6;--text-muted: #80878f;--text-quiet: #8d949e;--text-dim: #6e7580;--teal: #15ead6;--cyan: #35c8e4;--indigo: #6c74e8;--violet: #a322e0;--coral: #ff7a59;--paper: #f3f1ec;--ink: #121417;--ink-body: #2a2e34;--ink-muted: #4a4f57;--selection: #8a8ff5;--lavender: #b7a9ff;--success: #3ddc97;--warning: #f5b84b;--danger: #f06a6a;--link: var(--cyan);--focus: var(--cyan);--brand-gradient: linear-gradient(90deg, #15ead6 0%, #35c8e4 34%, #6c74e8 68%, #a322e0 100%);--brand-gradient-diagonal: linear-gradient(135deg, #15ead6 0%, #35c8e4 34%, #6c74e8 68%, #a322e0 100%);--agent-gradient: linear-gradient(90deg, #6c74e8, #a322e0);--font-display: "Montserrat", "Montserrat Fallback", "Segoe UI", system-ui, sans-serif;--font-body: "Inter", "Inter Fallback", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-serif: "Instrument Serif", "Instrument Serif Fallback", Georgia, "Times New Roman", serif;--font-mono: "JetBrains Mono", "JetBrains Mono Fallback", "Cascadia Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--size-display: clamp(2.875rem, 1.2rem + 5.9vw, 6.25rem);--size-cta: clamp(2.5rem, 1.1rem + 4.6vw, 5rem);--size-h1: clamp(2.5rem, 1.6rem + 2.8vw, 4rem);--size-h2: clamp(2.125rem, 1.3rem + 2.7vw, 3.75rem);--size-h3: clamp(1.25rem, 1.1rem + 0.4vw, 1.4375rem);--size-lead: clamp(1rem, 0.9rem + 0.45vw, 1.25rem);--size-body: 1rem;--size-small: 0.875rem;--size-label: 0.75rem;--radius-control: 8px;--radius-card: 12px;--radius-panel: 16px;--radius-media: 20px;--radius-band: 28px;--radius-pill: 999px;--shadow-raised: 0 16px 48px rgb(0 0 0 / 0.4);--shadow-sticker: 0 6px 16px rgb(0 0 0 / 0.25);--container: 1200px;--gutter: clamp(1.5rem, 0.2rem + 5.6vw, 7.5rem);--section-y: clamp(4rem, 2.4rem + 5vw, 7rem);--nav-height: 80px;--dur-instant: 90ms;--dur-quick: 140ms;--dur-base: 220ms;--dur-move: 420ms;--dur-draw: 520ms;--dur-reveal: 560ms;--dur-glide: 700ms;--ease-out: cubic-bezier(0.22, 1, 0.36, 1);--ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);--ease-snap: cubic-bezier(0.34, 1.4, 0.64, 1);--ease-in: cubic-bezier(0.55, 0, 1, 0.45);--stagger: 60ms;--rise: 16px;--settle: 24px}@media (max-width: 720px){:root{--dur-instant: 76ms;--dur-quick: 120ms;--dur-base: 188ms;--dur-move: 360ms;--dur-draw: 440ms;--dur-reveal: 480ms;--dur-glide: 600ms;--stagger: 40ms;--rise: 12px}}*, *::before, *::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;text-size-adjust: 100%;scroll-padding-top: calc(var(--nav-height) + 1rem)}body{margin: 0;min-height: 100vh;background: var(--bg-page);color: var(--text-body);font-family: var(--font-body);font-size: var(--size-body);line-height: 1.625;font-feature-settings: "cv11", "ss01";-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-rendering: optimizeLegibility}img, svg, video, picture{display: block;max-width: 100%}img{height: auto}button, input, select, textarea{font: inherit;color: inherit}button{cursor: pointer}h1, h2, h3, h4, p, ul, ol, figure, blockquote, dl, dd{margin: 0}ul[role="list"], ol[role="list"]{list-style: none;padding: 0}table{border-collapse: collapse}h1, h2, h3, h4{color: var(--text-head);font-family: var(--font-display);font-weight: 800;text-wrap: balance}p{text-wrap: pretty}a{color: var(--link);text-decoration: none}a:hover{text-decoration: underline;text-underline-offset: 3px}:focus-visible{outline: 2px solid var(--focus);outline-offset: 3px;border-radius: 4px}:is(h1, h2, h3, h4, h5, h6)[tabindex="-1"]:focus-visible{outline: none}::selection{background: rgb(108 116 232 / 0.45);color: #fff}code, kbd, samp, pre{font-family: var(--font-mono);font-size: 0.95em}.t-display{font-size: var(--size-display);line-height: 1.04;letter-spacing: -0.03em}.t-cta{font-size: var(--size-cta);line-height: 1.05;letter-spacing: -0.032em}.t-h1{font-size: var(--size-h1);line-height: 1.06;letter-spacing: -0.03em}.t-h2{font-size: var(--size-h2);line-height: 1.07;letter-spacing: -0.03em}.t-h3{font-size: var(--size-h3);line-height: 1.3;letter-spacing: -0.02em}.t-lead{font-size: var(--size-lead);line-height: 1.6;color: var(--text-body)}.t-small{font-size: var(--size-small);line-height: 1.45}.t-mono{font-family: var(--font-mono)}.t-label{font-family: var(--font-mono);font-size: var(--size-label);font-weight: 500;line-height: 1.33;letter-spacing: 0.08em;text-transform: uppercase;color: var(--text-muted)}.dim{color: var(--text-dim)}.accent{font-family: var(--font-serif);font-style: italic;font-weight: 400;font-size: 1.1em;letter-spacing: -0.01em;line-height: 0.9;padding-inline-end: 0.04em}.accent--teal{color: var(--teal)}.accent--coral{color: var(--coral)}.accent--indigo{color: var(--indigo)}.accent--lavender{color: var(--lavender)}.accent--yellow{color: #ffd23f}.accent--ink{color: var(--ink)}.accent--white{color: #fff}.accent--amber{color: var(--warning)}.gradient-text{background: var(--brand-gradient);-webkit-background-clip: text;background-clip: text;color: transparent}.container{width: min(100% - 2 * var(--gutter), var(--container));margin-inline: auto}.section{padding-block: var(--section-y);position: relative}.stack > * + *{margin-top: var(--stack-gap, 1rem)}.dot-grid{background-color: var(--bg-page);background-image: radial-gradient(circle at center, #2a2e35 1.1px, transparent 1.6px);background-size: 24px 24px;background-position: -12px -12px}.dot-grid--fade{position: relative}.dot-grid--fade::after{content: "";position: absolute;inset: auto 0 0 0;height: 160px;background: linear-gradient(to bottom, transparent, var(--bg-page));pointer-events: none}.glow{position: absolute;pointer-events: none;border-radius: 50%;filter: blur(110px);opacity: 0.22;z-index: 0}.glow--teal{background: var(--teal)}.glow--violet{background: var(--violet)}.glow--indigo{background: var(--indigo)}.sr-only{position: absolute !important;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;border: 0}.skip-link{position: absolute;left: 1rem;top: -100px;z-index: 100;padding: 0.75rem 1rem;border-radius: var(--radius-control);background: var(--teal);color: var(--ink);font-weight: 600}.skip-link:focus{top: 1rem}@media (prefers-reduced-motion: reduce){*, *::before, *::after{animation-duration: 0.01ms !important;animation-delay: 0ms !important;animation-iteration-count: 1 !important;transition: none !important;scroll-behavior: auto !important}}@keyframes mo-rise{from{opacity: 0;translate: 0 var(--rise)}}@keyframes mo-fade{from{opacity: 0}}@keyframes mo-pop{from{opacity: 0;scale: 0.6}}@keyframes mo-land{from{opacity: 0;scale: 0.98}}@keyframes mo-grow-x{from{scale: 0 1}}@keyframes mo-grow-y{from{scale: 1 0}}@keyframes mo-draw{from{stroke-dashoffset: 1.01}}@keyframes mo-draw-len{from{opacity: 1;stroke-dasharray: var(--len) calc(2 * var(--len));stroke-dashoffset: calc(1.01 * var(--len))}to{opacity: 1;stroke-dasharray: var(--len) calc(2 * var(--len));stroke-dashoffset: 0}}@keyframes mo-glide-x{from{translate: var(--gx, 0) 0}}@keyframes mo-glide-y{from{opacity: 0;translate: 0 var(--gy, 0)}30%{opacity: 1}}@keyframes mo-tick-out{from{opacity: 1}to{opacity: 0;translate: 0 -6px}}@keyframes mo-tick-in{from{opacity: 0;translate: 0 6px}}@keyframes mo-badge{from{opacity: 0;translate: 0 6px}}@keyframes mo-slap{from{opacity: 0;scale: 1.12;rotate: var(--past, 6deg)}}@keyframes mo-press{from{scale: 0.92}}@keyframes mo-open{from{opacity: 0;translate: 0 8px}}.p8-size:empty{display: none}.p8-badge{position: absolute;left: 50%;top: calc(100% + 10px);z-index: 3;padding: 0 8px;border-radius: 4px;background: #1f6fdb;color: #fff;font: 600 11px/22px var(--font-mono);white-space: nowrap;pointer-events: none;opacity: 0;translate: -50% 0}.p8-label .p8-size::before{content: " · "}.p5{position: absolute;z-index: 2;pointer-events: none;--c: #4f9eff}.p5 em{position: absolute;background: var(--c);transform-origin: 0 0}.p5 em:nth-of-type(1){left: 0;top: 0;width: 100%;height: 1.5px}.p5 em:nth-of-type(2){right: 0;top: 0;width: 1.5px;height: 100%}.p5 em:nth-of-type(3){left: 0;bottom: 0;width: 100%;height: 1.5px}.p5 em:nth-of-type(4){left: 0;top: 0;width: 1.5px;height: 100%}.p5 i{position: absolute;width: 9px;height: 9px;margin: -5.25px 0 0 -5.25px;border: 1.5px solid var(--c);background: #fff}.p5 i:nth-of-type(1){left: 0;top: 0;--h: 0}.p5 i:nth-of-type(2){left: 50%;top: 0;--h: 1}.p5 i:nth-of-type(3){left: 100%;top: 0;--h: 2}.p5 i:nth-of-type(4){left: 100%;top: 50%;--h: 3}.p5 i:nth-of-type(5){left: 100%;top: 100%;--h: 4}.p5 i:nth-of-type(6){left: 50%;top: 100%;--h: 5}.p5 i:nth-of-type(7){left: 0;top: 100%;--h: 6}.p5 i:nth-of-type(8){left: 0;top: 50%;--h: 7}@media (prefers-reduced-motion: no-preference){.mo-wait .p5 em{scale: 0}.mo-wait .p5 i{opacity: 0}.is-in .p5 em:nth-of-type(odd), .p5.mo-select-now em:nth-of-type(odd){animation: mo-grow-x 180ms var(--ease-out) var(--p5-at, 0ms) backwards}.is-in .p5 em:nth-of-type(even), .p5.mo-select-now em:nth-of-type(even){animation: mo-grow-y 180ms var(--ease-out) var(--p5-at, 0ms) backwards}.is-in .p5 i, .p5.mo-select-now i{animation: mo-pop var(--dur-base) var(--ease-snap) calc(var(--p5-at, 0ms) + 180ms + var(--h) * 15ms) backwards}}@media (hover: hover) and (pointer: fine){.p8{outline: 1.5px solid transparent;outline-offset: 4px;transition: outline-color 120ms linear}.p8-host:hover .p8{outline-color: #4f9eff}.p8-badge{transition: opacity 120ms linear}.p8-host:hover .p8-badge{opacity: 1}.p8-label, .p8-hash{transition: color 120ms linear}.p8-host:hover .p8-label{color: var(--p8-label-on, var(--text-head))}.p8-host:hover .p8-hash{color: var(--p8-hash-on, var(--teal))}}@media (prefers-reduced-motion: no-preference){.mo-wait .mo-rise{opacity: 0;translate: 0 var(--rise)}.is-in .mo-rise{--mo-stagger: calc(min(var(--i, 0), 5) * var(--stagger));animation: mo-rise min(var(--dur-reveal), calc(700ms - var(--mo-stagger))) var(--ease-out) calc(var(--d, 0ms) + var(--mo-stagger)) backwards}}.field{display: grid;gap: 0.4rem}.field + .field{margin-top: 1rem}.field__label{color: var(--text-head);font-size: var(--size-small);font-weight: 600}.field__hint{color: var(--text-muted);font-size: 0.8125rem}.field__error, .validation-message{color: var(--danger);font-size: 0.8125rem}.input{width: 100%;min-height: 48px;padding: 0.75rem 1rem;border: 1px solid var(--line-strong);border-radius: var(--radius-control);background: var(--surface-sunken);color: var(--text-head);font-size: 1rem;transition: border-color 120ms ease, box-shadow 120ms ease}.input::placeholder{color: #5d646d}.input:hover{border-color: #4a505a}.input:focus{outline: none;border-color: var(--cyan);box-shadow: 0 0 0 3px rgb(53 200 228 / 0.25)}.input[aria-invalid="true"], .input.invalid{border-color: var(--danger)}.form-actions{margin-top: 1.5rem}.pw{position: relative}.pw .input{padding-right: 48px}.checkbox{display: flex;gap: 0.625rem;align-items: flex-start;font-size: var(--size-small);line-height: 1.5}.checkbox input{width: 18px;height: 18px;margin-top: 2px;accent-color: var(--teal);flex: none}.alert{padding: 0.875rem 1rem;border-radius: var(--radius-control);border: 1px solid var(--line-strong);background: var(--surface-card);color: var(--text-head);font-size: var(--size-small)}.alert--error{border-color: rgb(240 106 106 / 0.5);background: rgb(240 106 106 / 0.08)}.alert--success{border-color: rgb(61 220 151 / 0.45);background: rgb(61 220 151 / 0.08)}.alert--info{border-color: rgb(53 200 228 / 0.4);background: rgb(53 200 228 / 0.07)}#blazor-error-ui{display: none;position: fixed;inset: auto 1rem 1rem 1rem;z-index: 1000;padding: 1rem 1.25rem;border-radius: var(--radius-card);background: var(--surface-raised);border: 1px solid var(--danger);color: var(--text-head);box-shadow: var(--shadow-raised)}#blazor-error-ui .reload{color: var(--cyan);margin-left: 0.5rem}#blazor-error-ui .dismiss{float: right;cursor: pointer}@media (max-width: 1080px){html:has(.mobile-menu[open]){overflow: hidden}}.dl-page:not(.js-tabs):has(#windows:target, #windows :target) [data-for]:not([data-for="windows"]), .dl-page:not(.js-tabs):has(#macos:target, #macos :target) [data-for]:not([data-for="macos"]), .dl-page:not(.js-tabs):has(#linux:target, #linux :target) [data-for]:not([data-for="linux"]){display: none}.dl-page:not(.js-tabs):has(#windows:target, #windows :target) [data-for="windows"], .dl-page:not(.js-tabs):has(#macos:target, #macos :target) [data-for="macos"], .dl-page:not(.js-tabs):has(#linux:target, #linux :target) [data-for="linux"]{display: block}.dl-page:not(.js-tabs):has(#windows:target, #windows :target) .dl-panel[data-for="windows"], .dl-page:not(.js-tabs):has(#macos:target, #macos :target) .dl-panel[data-for="macos"], .dl-page:not(.js-tabs):has(#linux:target, #linux :target) .dl-panel[data-for="linux"]{display: grid}.dl-page:not(.js-tabs):has(#windows:target, #windows :target, #macos:target, #macos :target, #linux:target, #linux :target) .dl-tab{background: none;color: #b6bcc6}.dl-page:not(.js-tabs):has(#windows:target, #windows :target) .dl-tab[data-tab="windows"], .dl-page:not(.js-tabs):has(#macos:target, #macos :target) .dl-tab[data-tab="macos"], .dl-page:not(.js-tabs):has(#linux:target, #linux :target) .dl-tab[data-tab="linux"]{background: var(--paper);color: var(--ink)}