.vk-landing{--cream:#faf7e9;--paper:#fffefa;--rule:#ded8c6;--rule-soft:#ebe6d6;--ink:#1b1916;--ink-mid:#4a453c;--ink-soft:#6e675c;--brand:#ac3b35;--brand-soft:rgba(172,59,53,.1);--gut:clamp(20px,5vw,48px)}.vk-landing,.vk-landing *{box-sizing:border-box;margin:0;padding:0}.vk-landing{scroll-behavior:smooth}.vk-landing{background:var(--cream);color:var(--ink-mid);font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;-webkit-font-smoothing:antialiased;overflow-x:hidden}.vk-landing a{color:inherit}.vk-landing :focus-visible{outline:2px solid var(--brand);outline-offset:3px}.vk-landing .skip{position:absolute;left:-9999px;top:0;background:var(--brand);color:var(--cream);padding:10px 16px;font-size:11px;letter-spacing:2px;text-transform:uppercase;z-index:99;font-weight:600}.vk-landing .skip:focus{left:0}.vk-landing nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:22px;padding:14px var(--gut);background:#faf7e9ed;border-bottom:1px solid var(--rule)}.vk-landing .nav-mark{display:block;flex-shrink:0;fill:var(--brand)}.vk-landing .nav-logo{font-family:Bebas Neue,Impact,sans-serif;font-size:20px;letter-spacing:6px;color:var(--ink);margin-right:auto;line-height:1}.vk-landing .nav-links{display:flex;gap:26px;list-style:none}.vk-landing .nav-links a{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;transition:color .18s}.vk-landing .nav-links a:hover{color:var(--ink)}.vk-landing .nav-cta{font-family:inherit;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--brand);background:transparent;border:1px solid var(--brand);border-radius:0;padding:9px 16px;cursor:pointer;transition:background .18s,color .18s}.vk-landing .nav-cta:hover{background:var(--brand);color:var(--cream)}.vk-landing #hero{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,72px);padding:clamp(48px,7vw,88px) var(--gut) clamp(60px,8vw,104px);border-bottom:1px solid var(--rule)}.vk-landing .mesh-stage{position:relative;display:flex;align-items:center;justify-content:center}.vk-landing .mesh-stage:before{content:"";position:absolute;width:56%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--brand-soft) 0%,transparent 68%);pointer-events:none}.vk-landing .mesh{position:relative;width:min(100%,600px);height:auto;opacity:0;animation:vk-meshIn .8s cubic-bezier(.2,.7,.2,1) .1s forwards}.vk-landing .ring{fill:none;stroke:var(--rule);stroke-width:1}.vk-landing .spoke{stroke:var(--rule);stroke-width:1}.vk-landing .node-box{fill:var(--paper);stroke:var(--rule);stroke-width:1}.vk-landing .node-dot{fill:var(--brand)}.vk-landing .node-label{fill:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:8px;letter-spacing:1.5px}.vk-landing .core-mark{fill:var(--brand)}.vk-landing .pkt{fill:var(--brand);animation:vk-dialIn 2.6s linear infinite}.vk-landing .pkt.d1{animation-delay:0s}.vk-landing .pkt.d2{animation-delay:.43s}.vk-landing .pkt.d3{animation-delay:.86s}.vk-landing .pkt.d4{animation-delay:1.3s}.vk-landing .pkt.d5{animation-delay:1.73s}.vk-landing .pkt.d6{animation-delay:2.16s}.vk-landing .mesh-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--ink-soft)}.vk-landing .mesh-caption b{color:var(--brand);font-weight:600}.vk-landing .hero-copy{position:relative;z-index:1;min-width:0}.vk-landing .hero-eyebrow{font-size:10px;letter-spacing:3.5px;text-transform:uppercase;color:var(--brand);margin-bottom:20px}.vk-landing .hero-headline{font-family:Bebas Neue,Impact,sans-serif;font-size:clamp(56px,7.8vw,108px);line-height:.9;letter-spacing:1.5px;color:var(--ink);margin-bottom:24px}.vk-landing .hero-headline .accent{color:var(--brand)}.vk-landing .hero-sub{font-size:13.5px;line-height:1.85;color:var(--ink-mid);max-width:44ch;margin-bottom:30px}.vk-landing .hero-proof{display:flex;flex-wrap:wrap;gap:10px}.vk-landing .proof{border:1px solid var(--rule);background:var(--paper);padding:8px 13px;font-size:9.5px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-mid)}.vk-landing .proof b{color:var(--brand);font-weight:600}.vk-landing .section-label{font-size:10px;letter-spacing:5px;text-transform:uppercase;color:var(--brand);margin-bottom:14px}.vk-landing .section-title{font-family:Bebas Neue,Impact,sans-serif;font-size:clamp(40px,5.5vw,74px);letter-spacing:2px;line-height:1;color:var(--ink);margin-bottom:14px}.vk-landing .section-desc{font-size:12.5px;line-height:1.85;color:var(--ink-soft);max-width:52ch}.vk-landing #capabilities,.vk-landing #roadmap{padding:clamp(64px,8vw,100px) var(--gut);border-bottom:1px solid var(--rule)}.vk-landing .cap-header{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:56px}.vk-landing .cap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}.vk-landing .cap-card{background:var(--paper);padding:36px 32px;position:relative;overflow:hidden;transition:background .22s}.vk-landing .cap-card:hover{background:var(--cream)}.vk-landing .cap-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:0;background:var(--brand);transition:height .3s}.vk-landing .cap-card:hover:before{height:100%}.vk-landing .cap-title{font-family:Bebas Neue,Impact,sans-serif;font-size:27px;letter-spacing:1.5px;color:var(--ink);margin-bottom:12px}.vk-landing .cap-body{font-size:12px;line-height:1.85;color:var(--ink-mid)}.vk-landing .roadmap-list{margin-top:52px;border-top:1px solid var(--rule)}.vk-landing .roadmap-item{display:grid;grid-template-columns:150px 1fr;gap:28px;padding:26px 0;border-bottom:1px solid var(--rule);opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}.vk-landing .roadmap-item.visible{opacity:1;transform:none}.vk-landing .roadmap-phase{font-size:9.5px;letter-spacing:3px;text-transform:uppercase;color:var(--ink-soft);display:flex;align-items:flex-start;gap:9px}.vk-landing .roadmap-dot{width:7px;height:7px;margin-top:3px;flex-shrink:0;background:var(--rule)}.vk-landing .roadmap-item.done .roadmap-phase{color:var(--ink)}.vk-landing .roadmap-item.done .roadmap-dot{background:var(--ink)}.vk-landing .roadmap-item.active .roadmap-phase{color:var(--brand)}.vk-landing .roadmap-item.active .roadmap-dot{background:var(--brand);animation:vk-beat 1.8s ease-in-out infinite}.vk-landing .roadmap-title{font-family:Bebas Neue,Impact,sans-serif;font-size:25px;letter-spacing:1.2px;color:var(--ink);margin-bottom:8px}.vk-landing .roadmap-desc{font-size:12px;line-height:1.8;color:var(--ink-mid);max-width:62ch}.vk-landing footer{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;padding:34px var(--gut)}.vk-landing .footer-logo{font-family:Bebas Neue,Impact,sans-serif;font-size:20px;letter-spacing:6px;color:var(--ink-soft)}.vk-landing .footer-copy,.vk-landing .footer-version{font-size:10px;letter-spacing:2px;color:var(--ink-soft)}@keyframes vk-meshIn{0%{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}@keyframes vk-beat{0%,to{opacity:1}50%{opacity:.35}}@keyframes vk-dialIn{0%{transform:translate(146px);opacity:0}12%{opacity:1}88%{opacity:1}to{transform:translate(96px);opacity:0}}@media(prefers-reduced-motion:reduce){.vk-landing{scroll-behavior:auto}.vk-landing,.vk-landing *,.vk-landing *:before,.vk-landing *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.vk-landing .mesh{opacity:1}.vk-landing .roadmap-item{opacity:1;transform:none}.vk-landing .pkt{display:none}}@media(max-width:900px){.vk-landing #hero{grid-template-columns:1fr;padding-top:36px}.vk-landing .mesh-stage{order:-1}.vk-landing .mesh{width:min(100%,420px)}.vk-landing .cap-header{grid-template-columns:1fr;gap:22px}.vk-landing .roadmap-item{grid-template-columns:1fr;gap:12px}.vk-landing nav{gap:14px}.vk-landing .nav-links{display:none}}.vk-landing .nav-cta-ghost{text-decoration:none;display:inline-block}.vk-landing .nav-cta-primary{background:var(--brand);color:var(--cream);border-color:var(--brand)}.vk-landing .nav-cta-primary:hover{filter:brightness(1.08)}.vk-landing .auth-error{margin:0 var(--gut);margin-top:14px;padding:11px 15px;border:1px solid var(--brand);background:var(--brand-soft);color:var(--brand);font-size:12px;line-height:1.6}.vk-landing{min-height:100vh}/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility,.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}
