@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.woff2)format("woff2");font-weight:400;font-display:block}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Medium.woff2)format("woff2");font-weight:500;font-display:block}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Bold.woff2)format("woff2");font-weight:700;font-display:block}:root{--bg:#0d1424;--panel:#141e33;--well:#090e1a;--drop:#04070e;--fg:#e9edf5;--dim:#7f8ba3;--faint:#3a4660;--accent:#f6c6d4;--ok:#8fe3b0;--danger:#ff9a9a;--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--dither:repeating-conic-gradient(var(--dim) 0 25%, transparent 0 50%) 0 0 / 3px 3px;--vocs-font-family:var(--mono);--vocs-font-family-mono:var(--mono);--vocs-color-gray1:#070b15;--vocs-color-gray2:#0d1424;--vocs-color-gray3:#101828;--vocs-color-gray4:#141e33;--vocs-color-gray5:#1a2540;--vocs-color-gray6:#3a4660;--vocs-color-gray7:#56627c;--vocs-color-gray8:#7f8ba3;--vocs-color-gray9:#97a2b8;--vocs-color-gray10:#aeb7c9;--vocs-color-gray11:#c9d0dd;--vocs-color-gray12:#e9edf5;--vocs-color-gray13:#f1f4f9;--vocs-color-gray14:#f8fafc;--vocs-color-green:var(--ok);--vocs-color-red:var(--danger);--vocs-color-iris:var(--accent);--vocs-color-blue:#9fb4d9;--vocs-color-yellow:#f2d38a;--vocs-background-color-primary:var(--bg);--vocs-background-color-surface:var(--panel);--vocs-background-color-code-block:var(--well);--vocs-background-color-inline-code:var(--panel);--vocs-text-color-primary:var(--fg);--vocs-text-color-secondary:var(--dim);--vocs-text-color-heading:var(--fg);--vocs-text-color-link:var(--accent);--vocs-text-color-link-hover:var(--fg);--vocs-border-color-primary:var(--faint)}html,body{background:var(--bg);color:var(--fg)}body{-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}:root{--rule:2px;--fs-sm:13px;--fs-md:15px;--fs-lg:28px;--vocs-text-h1:var(--fs-lg);--vocs-text-h2:20px;--vocs-text-h3:16px;--vocs-text-h4:var(--fs-md);--vocs-text-td:var(--fs-sm);--vocs-text-th:var(--fs-sm);--vocs-text-callout:var(--fs-sm);--vocs-text-code-block:var(--fs-sm);--vocs-text-subtitle:var(--fs-md)}h1{letter-spacing:-.04em;text-wrap:balance;font-weight:500;line-height:1.15}h2,h3{letter-spacing:-.02em;font-weight:500}#vocs-content article{font-size:var(--fs-md);line-height:1.6}.frank-figure{margin:24px 12px 36px 0}.frank-figure img{border:2px solid var(--fg);width:100%;height:auto;box-shadow:10px 10px 0 0 var(--drop);display:block}.frank-figure figcaption{color:var(--dim);margin-top:14px;font-size:13px}.chip{border:1px solid var(--faint);color:var(--dim);white-space:nowrap;border-radius:2px;padding:1px 8px;font-size:13px;line-height:1.4;display:inline-block}.chip-live{border-color:var(--accent);color:var(--accent)}.chip-ok{border-color:var(--ok);color:var(--ok)}.chip-bad{border-color:var(--danger);color:var(--danger)}.cursor{color:var(--accent);animation:1.1s step-end infinite frank-blink}@keyframes frank-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.cursor{animation:none}}.frank-box,[data-v-table-wrapper],aside[data-v-callout],.frank-cards a{z-index:0;isolation:isolate;position:relative;border:var(--rule) solid var(--fg)!important;box-shadow:none!important;background:0 0!important;border-radius:0!important}.frank-box:before,[data-v-table-wrapper]:before,aside[data-v-callout]:before,.frank-cards a:before{content:"";background:var(--bg);z-index:-1;position:absolute;inset:0}.frank-box:after,[data-v-table-wrapper]:after,aside[data-v-callout]:after,.frank-cards a:after{content:"";background:var(--dither);opacity:.6;z-index:-2;pointer-events:none;position:absolute;inset:10px -12px -12px 10px}.frank-box{margin:32px 12px 40px 0;padding:28px 24px 24px}.frank-box-title{top:calc(-.8em - var(--rule) / 2);background:var(--bg);font-size:var(--fs-md);margin:0;padding:0 8px;font-weight:700;line-height:1.6;position:absolute;left:18px}.frank-box-foot{background:var(--panel);border-top:1px solid var(--faint);color:var(--dim);font-size:var(--fs-sm);margin:24px -24px -24px;padding:16px 24px 20px}.frank-box>p{margin:0 0 12px}.frank-rows{font-size:var(--fs-sm);grid-template-columns:auto minmax(0,1fr);gap:10px 0;margin:0;display:grid}.frank-rows dt{color:var(--dim);white-space:nowrap}.frank-rows dd{text-align:right;margin:0;padding-left:20px}.frank-btn{border:1.5px solid var(--accent);background:var(--accent);box-shadow:3px 3px 0 var(--drop);border-radius:3px;padding:9px 18px;font-weight:500;display:inline-block;color:var(--bg)!important;text-decoration:none!important}.frank-btn:hover{box-shadow:4px 4px 0 var(--drop);transform:translate(-1px,-1px)}.frank-btn:active{box-shadow:1px 1px 0 var(--drop);transform:translate(2px,2px)}[data-v-surface-bg]{background:var(--bg)!important;border-color:var(--faint)!important;border-radius:0!important}[data-v-main],[data-v-content]{border-radius:0!important}[data-v-topnav] a{font-size:var(--fs-sm);color:var(--dim)}[data-v-topnav] a:hover{color:var(--fg)}[data-v-sidebar] a{font-size:var(--fs-sm);color:var(--dim);border-radius:0!important}[data-v-sidebar] a:hover{color:var(--fg);background:0 0!important}[data-v-sidebar] a[data-active]{box-shadow:inset 2px 0 0 var(--accent);color:var(--fg)!important;background:0 0!important}[data-v-sidebar-section-header]{font-size:var(--fs-sm);color:var(--fg);font-weight:700}#vocs-content article h2{border-color:var(--faint)!important}[data-v-table-wrapper]{margin:28px 12px 36px 0!important;overflow:visible!important}[data-v-table-wrapper] table{width:100%;background:0 0!important;border:0!important;border-radius:0!important}[data-v-table-wrapper] thead,[data-v-table-wrapper] th{background:0 0!important}[data-v-table-wrapper] th{text-align:left;color:var(--dim)!important;border:0!important;border-bottom:1px solid var(--faint)!important;padding:14px 18px 10px!important;font-weight:400!important}[data-v-table-wrapper] td{vertical-align:top;border:0!important;border-bottom:1px solid var(--faint)!important;padding:10px 18px!important}[data-v-table-wrapper] tr:last-child td{border-bottom:0!important}[data-v-table-wrapper] tr{background:0 0!important}@media (width<=640px){[data-v-table-wrapper] table{display:block;overflow-x:auto}}aside[data-v-callout]{font-size:var(--fs-sm);color:var(--fg)!important;margin:32px 12px 40px 0!important;padding:22px 24px 20px!important;display:block!important}aside[data-v-callout]:has([data-v-callout-title]){padding-top:28px!important}aside[data-v-callout] [data-v-callout-icon]{display:none!important}aside[data-v-callout] [data-v-callout-title]{top:calc(-.8em - var(--rule) / 2);background:var(--bg);font-size:var(--fs-md);color:var(--fg);padding:0 8px;font-weight:700;line-height:1.6;position:absolute;left:18px;margin:0!important}aside[data-v-callout][data-v-context=tip]{border-color:var(--accent)!important}aside[data-v-callout][data-v-context=tip] [data-v-callout-title]{color:var(--accent)}aside[data-v-callout][data-v-context=warning]{border-color:#f2d38a!important}aside[data-v-callout][data-v-context=warning] [data-v-callout-title]{color:#f2d38a}aside[data-v-callout][data-v-context=danger]{border-color:var(--danger)!important}aside[data-v-callout] p,aside[data-v-callout] li{color:var(--fg)!important}[data-v-code-container],[data-v-code-container] pre,#vocs-content pre{border-color:var(--faint)!important;background:var(--well)!important;border-radius:0!important}#vocs-content :not(pre)>code{border-color:var(--faint)!important;background:var(--panel)!important;border-radius:2px!important}.frank-cards>div{margin:24px 12px 12px 0;gap:28px 32px!important}.frank-cards a{padding:20px 22px!important}.frank-cards a:hover{border-color:var(--accent)!important}.frank-cards a>div:first-child{border-color:var(--faint)!important;background:var(--bg)!important;border-radius:0!important}#vocs-content details{border:1px solid var(--faint)!important;background:var(--bg)!important;border-radius:0!important;margin:12px 0!important;padding:14px 18px!important}#vocs-content details[open]{border-color:var(--fg)!important}#vocs-content details summary{cursor:pointer;color:var(--fg);font-weight:500}#vocs-content details summary::marker{color:var(--accent)}#vocs-content details>:not(summary){color:var(--fg);font-size:var(--fs-sm);margin-top:10px}[data-v-steps] [data-v-step-title]:before{border-radius:0!important}[data-v-steps]>div{border-color:var(--faint)!important}aside[data-v-callout]>:not([data-v-callout-icon]):not([data-v-callout-title]){margin-left:0!important;padding-left:0!important}aside[data-v-callout]>*+*{margin-top:8px}.fd{margin:32px 0 40px}.fd-scroll{overflow-x:auto}.fd svg{width:100%;min-width:560px;height:auto;font-family:var(--mono);display:block}.fd figcaption{color:var(--dim);font-size:var(--fs-sm);margin-top:12px}.fd text{font-family:var(--mono);font-size:13px}.fd-dot{fill:var(--dim)}.fd-dither{fill:url(#fd-dither);opacity:.6}.fd-bg{fill:var(--bg)}.fd-arrowhead{fill:var(--dim)}.fd-node .fd-drop{fill:var(--drop)}.fd-node .fd-face{fill:var(--panel);stroke:var(--fg);stroke-width:1.5px}.fd-node .fd-title{fill:var(--fg);font-weight:500}.fd-node .fd-sub{fill:var(--dim)}.fd-accent .fd-face{fill:var(--accent);stroke:var(--accent)}.fd-accent .fd-title,.fd-accent .fd-sub{fill:var(--bg)}.fd-ghost .fd-face{fill:var(--bg);stroke:var(--faint);stroke-dasharray:4 3}.fd-ghost .fd-title{fill:var(--dim);font-weight:400}.fd-group .fd-rule{fill:var(--bg);stroke:var(--fg);stroke-width:2px}.fd-group-accent .fd-rule{stroke:var(--accent)}.fd-group-dashed .fd-rule{stroke:var(--faint);stroke-dasharray:5 4}.fd-group-title{fill:var(--fg);font-weight:700}.fd-group-accent .fd-group-title{fill:var(--accent)}.fd-edge{fill:none;stroke:var(--dim);stroke-width:1.5px}.fd-edge-dashed{stroke-dasharray:5 4}.fd-label{fill:var(--dim)}.fd-rail{fill:none;stroke:var(--fg);stroke-width:2px}.fd-rail-future{stroke:var(--faint);stroke-dasharray:5 4}.fd-stage .fd-marker{fill:var(--bg);stroke:var(--faint);stroke-width:2px}.fd-stage .fd-stage-box{fill:var(--bg);stroke:var(--faint);stroke-width:1px;stroke-dasharray:5 4}.fd-stage-now .fd-marker{fill:var(--accent);stroke:var(--accent)}.fd-stage-now .fd-stage-box{stroke:var(--accent);stroke-width:2px;stroke-dasharray:none}.fd-stage-n{fill:var(--dim);font-weight:700}.fd-stage-name{fill:var(--fg);font-weight:700}.fd-stage-line{fill:var(--fg)}.fd-stage-line.fd-dim{fill:var(--dim)}.fd-chip{fill:var(--bg);stroke:var(--accent);stroke-width:1px}.fd-chip-text{fill:var(--accent)}
