@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-latin-500-normal.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin-600-normal.woff2) format("woff2")}@font-face{font-family:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-tight-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-tight-latin-500-normal.woff2) format("woff2")}@font-face{font-family:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-tight-latin-600-normal.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2")}:root{color-scheme:dark;--bg: #131311;--bg-elev-1: #1b1b18;--bg-elev-2: #252521;--bg-elev-3: #31312c;--border: #2a2a26;--border-strong: #3f3f3a;--border-control: #63635d;--border-subtle: rgba(255, 255, 255, .045);--text: #f5f5f2;--text-2: #dcdcd7;--text-muted: #aaaaa3;--text-dim: #97978f;--text-disabled: #6e6e68;--blue1: #1d3f79;--blue2: #245ca9;--blue3: #2d72d2;--blue4: #4c8de4;--blue5: #8db8ef;--green3: #3f8f63;--orange3: #b3803a;--red3: #bd5257;--violet3: #8a5099;--accent: var(--blue3);--accent-hot: var(--blue4);--accent-dim: rgba(45, 114, 210, .13);--accent-faint: rgba(45, 114, 210, .055);--link: var(--blue5);--focus-ring: #6ea8f5;--success: var(--green3);--warning: var(--orange3);--danger: var(--red3);--font-sans: "Inter", "Segoe UI Variable", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Inter Tight", "Inter", "Segoe UI Variable", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;--fluid-q: 1vw;--fs-display: clamp(44px, calc(6 * var(--fluid-q)), 88px);--fs-h1: clamp(32px, calc(4.2 * var(--fluid-q)), 58px);--fs-h2: clamp(26px, calc(2.8 * var(--fluid-q)), 38px);--fs-h3: clamp(18px, calc(1.5 * var(--fluid-q)), 22px);--fs-lead: clamp(16px, calc(1.1 * var(--fluid-q)), 18px);--fs-body: 16px;--fs-small: 13.5px;--fs-label: 12px;--container: 1320px;--container-tight: 960px;--gutter: clamp(20px, 3.2vw, 44px);--nav-h: 68px;--announce-h: 34px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--sp-9: 96px;--sp-10: 128px;--r-0: 0px;--r-1: 2px;--r-2: 4px;--r-3: 6px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-in: cubic-bezier(.3, 0, .8, .15);--ease-release: cubic-bezier(.34, 1.4, .64, 1);--dur-fast: .15s;--dur-base: .24s;--dur-slow: .42s;--dur-press: 70ms;--dur-release: .38s;--dur-reveal: .28s;--ease-out-quint: cubic-bezier(.23, 1, .32, 1);--stagger-step: 60ms;--scroll-offset: calc(var(--nav-h) + 8px);--frame-outside: clamp(12px, 2.4vw, 40px);--frame-inside: clamp(16px, 2vw, 28px);--shadow-overlay: 0 24px 48px -16px rgba(0, 0, 0, .5)}.k-site{--accent: var(--blue5);--accent-hot: #3d82dc;--container: 1200px;--container-tight: 960px}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}html{scroll-behavior:smooth;scroll-padding-top:var(--scroll-offset)}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","cv11";text-rendering:optimizeLegibility;overflow-x:hidden}h1,h2,h3,h4,h5,p,figure,blockquote,dl,dd{margin:0}h1,h2,h3,h4{font-family:var(--font-display)}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}button{font-family:inherit;background:none;border:0;padding:0;color:inherit;cursor:pointer}img,svg,video{display:block;max-width:100%}.skip-link{position:fixed;top:10px;left:10px;z-index:999;padding:10px 14px;border-radius:var(--r-2);color:#fff;background:var(--blue3);border:1px solid var(--blue3);transform:translateY(-160%)}.skip-link:focus{transform:none}.not-found{min-height:100svh;display:grid;place-items:center;padding:var(--gutter);background:var(--bg);color:var(--text)}.not-found__inner{width:min(680px,100%)}.not-found__code{color:var(--text-dim);font-size:var(--fs-label);letter-spacing:.04em;text-transform:uppercase}.not-found h1{margin:18px 0;font-family:var(--font-display);font-size:var(--fs-h1);font-weight:500;letter-spacing:-.028em;line-height:1.08}.not-found p{max-width:52ch;color:var(--text-2);line-height:1.62}.not-found__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.concept-note{margin-top:10px;color:var(--text-dim);font-size:12px;letter-spacing:.01em;text-align:right}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}h1[tabindex="-1"]:focus-visible,h2[tabindex="-1"]:focus-visible{outline-offset:8px}[id]{scroll-margin-top:var(--scroll-offset)}::selection{background:var(--blue3);color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--bg);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.display{font-family:var(--font-display);font-size:var(--fs-display);font-weight:500;line-height:1.04;letter-spacing:-.035em;color:var(--text)}.h1{font-family:var(--font-display);font-size:var(--fs-h1);font-weight:500;line-height:1.08;letter-spacing:-.028em}.h2{font-family:var(--font-display);font-size:var(--fs-h2);font-weight:500;line-height:1.15;letter-spacing:-.02em}.h3{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:600;line-height:1.32;letter-spacing:-.008em}.lead{font-size:var(--fs-lead);line-height:1.6;color:var(--text-2);font-weight:400;max-width:60ch}.eyebrow{display:inline-block;font-family:var(--font-mono);font-size:var(--fs-label);font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);letter-spacing:.02em;font-variant-numeric:tabular-nums}.muted{color:var(--text-muted)}.dim{color:var(--text-dim)}.container{width:100%;max-width:var(--container);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}.container--tight{max-width:var(--container-tight)}.section{position:relative;padding:clamp(80px,9vw,128px) 0;border-top:1px solid var(--border)}.section--dense{padding:clamp(48px,5.5vw,76px) 0}.section--noborder{border-top:0}.section-index{display:flex;align-items:baseline;gap:16px;margin-bottom:clamp(32px,3.6vw,48px)}.section-index__num,.section-index__tag{font-family:var(--font-mono);font-size:var(--fs-label);font-weight:500;letter-spacing:.04em;color:var(--text-dim);text-transform:uppercase;font-variant-numeric:tabular-nums}.section-index__line{flex:1;height:1px;background:var(--border);align-self:center}.section-title{margin:0;text-wrap:balance}.section-title .muted{display:block;margin-top:.4em;max-width:40ch;font-size:.52em;font-weight:400;letter-spacing:-.012em;line-height:1.3}.spec{margin:0;border-top:1px solid var(--border)}.spec__row{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}.spec__label{padding-top:2px;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.02em;color:var(--text-dim);transition:color var(--dur-fast) var(--ease-out)}.spec__row:hover .spec__label{color:var(--text-muted)}.spec__body{margin:0;font-size:14.5px;line-height:1.55;color:var(--text-2);max-width:56ch}@media(max-width:480px){.spec__row{grid-template-columns:1fr;gap:4px}}.btn{--btn-bg: transparent;--btn-color: var(--text);--btn-border: var(--border-control);display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 18px;font-family:var(--font-sans);font-size:13.5px;font-weight:500;letter-spacing:.005em;color:var(--btn-color);background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:var(--r-2);box-shadow:var(--btn-inset, none);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-release) var(--ease-out);white-space:nowrap;cursor:pointer}.btn:hover{background:var(--btn-bg-hover, var(--bg-elev-2));border-color:var(--btn-border-hover, var(--border-control));color:var(--btn-color-hover, var(--text))}.btn--primary{--btn-bg: var(--blue3);--btn-border: var(--blue3);--btn-color: #ffffff;--btn-bg-hover: var(--blue4);--btn-border-hover: var(--blue4);--btn-color-hover: #ffffff;--btn-inset: inset 0 1px 0 rgba(255, 255, 255, .14)}.btn--primary:hover{--btn-inset: inset 0 1px 0 rgba(255, 255, 255, .08)}.btn--primary:active{background:var(--btn-bg-active, var(--blue2));--btn-inset: none}.btn:active{transform:translateY(1px);transition-duration:var(--dur-press)}.btn:disabled,.btn[aria-disabled=true]{--btn-inset: none;opacity:.55;cursor:not-allowed;transform:none}.btn:disabled:hover,.btn[aria-disabled=true]:hover{background:var(--btn-bg);border-color:var(--btn-border);color:var(--btn-color)}.btn:disabled svg,.btn[aria-disabled=true] svg{transform:none}.btn svg{transition:transform var(--dur-base) var(--ease-out)}.btn:hover svg{transform:translate(2px)}.btn__spinner{width:14px;height:14px;flex:none;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:btn-spin .7s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn--ghost{--btn-bg: transparent;--btn-border: transparent;--btn-color: var(--text-2);--btn-bg-hover: var(--bg-elev-2);--btn-border-hover: transparent;padding:0 12px}.btn--lg{height:50px;padding:0 24px;font-size:14.5px}.btn--xl{height:56px;padding:0 28px;font-size:15px}.btn svg{width:15px;height:15px;flex:none}.link-arrow{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:var(--text);border-bottom:1px solid var(--border-control);padding-bottom:6px;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.link-arrow:hover{color:var(--link);border-color:var(--link)}.link-arrow svg{width:14px;height:14px;transition:transform var(--dur-base) var(--ease-out)}.link-arrow:hover svg{transform:translate(3px)}.link-arrow:active svg{transform:translate(1px)}.text-link{color:var(--text);border-bottom:1px solid var(--border-control);transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.text-link:hover{color:var(--link);border-color:var(--link)}.chip{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 11px;border:1px solid var(--border-strong);border-radius:var(--r-2);font-family:var(--font-sans);font-size:12.5px;font-weight:500;letter-spacing:.01em;color:var(--text-2);background:var(--bg-elev-2)}.chip__dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}.stack-sm>*+*{margin-top:var(--sp-3)}.stack-md>*+*{margin-top:var(--sp-5)}.stack-lg>*+*{margin-top:var(--sp-7)}.grid{display:grid;gap:var(--sp-5)}.row{display:flex;gap:var(--sp-5);align-items:center;flex-wrap:wrap}.reveal{transition:opacity var(--dur-reveal) var(--ease-out),transform var(--dur-reveal) var(--ease-out);transition-delay:var(--layer-delay, 0ms)}html.js-reveal .reveal{opacity:0;transform:translateY(8px)}html.js-reveal .reveal.is-visible,html.js-reveal .reveal--draw{opacity:1;transform:none}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.mask-line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}.mask-line>span{display:block;will-change:transform}@supports (animation-timeline: view()){.mask-line>span{animation:line-up .7s var(--ease-out) both;animation-timeline:view();animation-range:entry 0% cover 28%}@keyframes line-up{0%{transform:translateY(112%)}to{transform:none}}}@supports (font-size: 1cqi){.cq{container-type:inline-size}.cq>*{--fluid-q: calc(1cqi * var(--cq-gain, 1))}}@media(max-width:720px){:root{--nav-h: 58px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}html.js-reveal .reveal{transform:none;transition:opacity .15s linear;transition-delay:0ms}.mask-line>span{animation:none}.btn:active{transform:none;transition-duration:var(--dur-fast)}.btn__spinner{display:none}.btn:hover svg,.link-arrow:hover svg{transform:none}}
