:root,.ns-root{--color-primary:#4f46e5;--color-on-primary:#fff;--color-surface:#fff;--color-text:#111827;--space-4:16px}.ns-dark,.dark{--color-surface:#0f172a;--color-text:#f8fafc}.vx-view,.vx-row{display:flex}.vx-view{flex-direction:column}.vx-row{flex-direction:row}.vx-pressable{-webkit-user-select:none;user-select:none;flex-direction:column;display:flex}.vx-pressable:active{opacity:.85}.vx-pressable:pressed{opacity:.85}.vx-textarea{resize:none}.flex-1{flex-grow:1}.items-center{align-items:center}.justify-center{justify-content:center}.gap-4{gap:16px}.text-xl{font-size:20px}.font-bold{font-weight:700}.bg-primary{background-color:var(--color-primary)}.text-onprimary{color:var(--color-on-primary)}.bg-danger{background-color:#dc2626}.shadow-2{box-shadow:0 4px 12px #00000040}.btn{border-radius:8px;padding:12px 20px}.vx-app{background-color:var(--color-surface);color:var(--color-text);padding:24px}.vx-app .text-xl,.vx-app Text,.vx-app label{color:var(--color-text)}.input{border-width:1px;border-color:#94a3b8;border-radius:6px;padding:10px;font-size:16px}.chip{background-color:var(--color-primary);color:var(--color-on-primary);border-radius:12px;padding:4px 10px;font-size:13px}.cell{border-bottom-width:1px;border-bottom-color:#e2e8f0;padding:12px}.vx-list{flex-grow:1}.gap-2{gap:8px}:root{--nb-bg:#fffdf5;--nb-ink:#000;--nb-red:#ff6b6b;--nb-yellow:#ffd93d;--nb-violet:#c4b5fd;--nb-panel:#fff;--nb-gridline:#00000012;--nb-onblock:#000;--nb-sh-s:4px 4px 0 0 var(--nb-ink);--nb-sh-m:8px 8px 0 0 var(--nb-ink);--nb-sh-l:12px 12px 0 0 var(--nb-ink)}.dark{--nb-bg:#101010;--nb-ink:#fffdf5;--nb-panel:#1a1a1a;--nb-gridline:#fffdf514}body{background-color:var(--nb-bg);margin:0;font-family:Space Grotesk,system-ui,-apple-system,sans-serif}.shell{background-color:var(--nb-bg);height:100dvh;color:var(--nb-ink);flex-direction:column;display:flex}.shell Text{color:var(--nb-ink)}.topbar{border-bottom-width:4px;border-bottom-color:var(--nb-ink);border-bottom-style:solid}.brand-block{background-color:var(--nb-red);border-right-width:4px;border-right-color:var(--nb-ink);border-right-style:solid;flex-direction:row;align-items:center;gap:14px;padding:14px 28px 14px 14px}.logo-tile{background-color:var(--nb-panel);border-width:4px;border-color:var(--nb-ink);width:44px;height:50px;box-shadow:var(--nb-sh-s);border-style:solid;justify-content:center;align-items:center;transform:rotate(-2deg)}.logo-flame{width:22px;height:29px;image-rendering:pixelated;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 13' shape-rendering='crispEdges'><rect x='4' y='0' width='1' height='1' fill='%23FF6B6B'/><rect x='4' y='1' width='1' height='1' fill='%23FF6B6B'/><rect x='5' y='1' width='1' height='1' fill='%23FF6B6B'/><rect x='3' y='2' width='1' height='1' fill='%23FF6B6B'/><rect x='4' y='2' width='1' height='1' fill='%23FF6B6B'/><rect x='5' y='2' width='1' height='1' fill='%23FF6B6B'/><rect x='0' y='3' width='1' height='1' fill='%23FF6B6B'/><rect x='3' y='3' width='1' height='1' fill='%23FF6B6B'/><rect x='4' y='3' width='1' height='1' fill='%23FF6B6B'/><rect x='5' y='3' width='1' height='1' fill='%23FF6B6B'/><rect x='2' y='4' width='1' height='1' fill='%23FF6B6B'/><rect x='3' y='4' width='1' height='1' fill='%23FF6B6B'/><rect x='4' y='4' width='1' height='1' fill='%23FF6B6B'/><rect x='5' y='4' width='1' height='1' fill='%23FF6B6B'/><rect x='9' y='4' width='1' height='1' fill='%23FF6B6B'/><rect x='2' y='5' width='1' height='1' fill='%23FF6B6B'/><rect x='3' y='5' width='1' height='1' fill='%23FF6B6B'/><rect x='4' y='5' width='1' height='1' fill='%23FF6B6B'/><rect x='5' y='5' width='1' height='1' fill='%23FF6B6B'/><rect x='8' y='5' width='1' height='1' fill='%23FF6B6B'/><rect x='9' y='5' width='1' height='1' fill='%23FF6B6B'/><rect x='1' y='6' width='1' height='1' fill='%23FF6B6B'/><rect x='2' y='6' width='1' height='1' fill='%23FF6B6B'/><rect x='3' y='6' width='1' height='1' fill='%23FF6B6B'/><rect x='4' y='6' width='1' height='1' fill='%23FF6B6B'/><rect x='5' y='6' width='1' height='1' fill='%23FF6B6B'/><rect x='6' y='6' width='1' height='1' fill='%23FF6B6B'/><rect x='8' y='6' width='1' height='1' fill='%23FF6B6B'/><rect x='9' y='6' width='1' height='1' fill='%23FF6B6B'/><rect x='1' y='7' width='1' height='1' fill='%23FF6B6B'/><rect x='2' y='7' width='1' height='1' fill='%23FF6B6B'/><rect x='3' y='7' width='1' height='1' fill='%23FF6B6B'/><rect x='4' y='7' width='1' height='1' fill='%23FF6B6B'/><rect x='5' y='7' width='1' height='1' fill='%23FF6B6B'/><rect x='6' y='7' width='1' height='1' fill='%23FF6B6B'/><rect x='7' y='7' width='1' height='1' fill='%23FF6B6B'/><rect x='8' y='7' width='1' height='1' fill='%23FF6B6B'/><rect x='9' y='7' width='1' height='1' fill='%23FF6B6B'/><rect x='0' y='8' width='1' height='1' fill='%23FF6B6B'/><rect x='1' y='8' width='1' height='1' fill='%23FF6B6B'/><rect x='2' y='8' width='1' height='1' fill='%23FFD93D'/><rect x='3' y='8' width='1' height='1' fill='%23FFD93D'/><rect x='4' y='8' width='1' height='1' fill='%23FFD93D'/><rect x='5' y='8' width='1' height='1' fill='%23FFD93D'/><rect x='6' y='8' width='1' height='1' fill='%23FF6B6B'/><rect x='7' y='8' width='1' height='1' fill='%23FF6B6B'/><rect x='8' y='8' width='1' height='1' fill='%23FF6B6B'/><rect x='9' y='8' width='1' height='1' fill='%23FF6B6B'/><rect x='0' y='9' width='1' height='1' fill='%23FF6B6B'/><rect x='1' y='9' width='1' height='1' fill='%23FF6B6B'/><rect x='2' y='9' width='1' height='1' fill='%23FFD93D'/><rect x='3' y='9' width='1' height='1' fill='%23FFD93D'/><rect x='4' y='9' width='1' height='1' fill='%23FFD93D'/><rect x='5' y='9' width='1' height='1' fill='%23FFD93D'/><rect x='6' y='9' width='1' height='1' fill='%23FFD93D'/><rect x='7' y='9' width='1' height='1' fill='%23FF6B6B'/><rect x='8' y='9' width='1' height='1' fill='%23FF6B6B'/><rect x='9' y='9' width='1' height='1' fill='%23FF6B6B'/><rect x='0' y='10' width='1' height='1' fill='%23FF6B6B'/><rect x='1' y='10' width='1' height='1' fill='%23FF6B6B'/><rect x='2' y='10' width='1' height='1' fill='%23FF6B6B'/><rect x='3' y='10' width='1' height='1' fill='%23FFD93D'/><rect x='4' y='10' width='1' height='1' fill='%23FFD93D'/><rect x='5' y='10' width='1' height='1' fill='%23FFD93D'/><rect x='6' y='10' width='1' height='1' fill='%23FF6B6B'/><rect x='7' y='10' width='1' height='1' fill='%23FF6B6B'/><rect x='8' y='10' width='1' height='1' fill='%23FF6B6B'/><rect x='1' y='11' width='1' height='1' fill='%23FF6B6B'/><rect x='2' y='11' width='1' height='1' fill='%23FF6B6B'/><rect x='3' y='11' width='1' height='1' fill='%23FF6B6B'/><rect x='4' y='11' width='1' height='1' fill='%23FF6B6B'/><rect x='5' y='11' width='1' height='1' fill='%23FF6B6B'/><rect x='6' y='11' width='1' height='1' fill='%23FF6B6B'/><rect x='7' y='11' width='1' height='1' fill='%23FF6B6B'/><rect x='2' y='12' width='1' height='1' fill='%23FF6B6B'/><rect x='3' y='12' width='1' height='1' fill='%23FF6B6B'/><rect x='4' y='12' width='1' height='1' fill='%23FF6B6B'/><rect x='5' y='12' width='1' height='1' fill='%23FF6B6B'/><rect x='6' y='12' width='1' height='1' fill='%23FF6B6B'/></svg>");background-repeat:no-repeat;background-size:contain}.brand{color:var(--nb-onblock);letter-spacing:2px;text-transform:uppercase;font-family:Silkscreen,monospace;font-size:24px;font-weight:700}.topbar-mid{flex-direction:row;flex-grow:1;align-items:center;gap:18px;padding:18px 24px}.disc-chip{background-color:var(--nb-violet);border-width:3px;border-color:var(--nb-ink);box-shadow:var(--nb-sh-s);border-style:solid;padding:5px 10px;transform:rotate(-2deg)}.disc-text{color:var(--nb-onblock);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:900}.tagline{opacity:.7;text-transform:uppercase;letter-spacing:.2em;font-size:13px;font-weight:700}.github-link{background-color:var(--nb-yellow);border-left-width:4px;border-left-color:var(--nb-ink);min-height:56px;box-shadow:var(--nb-sh-s);color:#000;text-transform:uppercase;letter-spacing:.12em;border-left-style:solid;flex-direction:row;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:900;text-decoration:none;transition:transform .1s linear,box-shadow .1s linear;display:flex;position:relative}.github-link:before{content:"";background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23000' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.084-.729.084-.729 1.205.084 1.84 1.237 1.84 1.237 1.07 1.835 2.809 1.305 3.495.998.108-.776.418-1.305.762-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/></svg>");background-repeat:no-repeat;background-size:contain;flex-shrink:0;width:21px;height:21px;display:block}.github-label{color:#000;letter-spacing:.12em;font-size:12px;font-weight:900}.github-link:active{box-shadow:none;transform:translate(4px,4px)}.mode-block{background-color:var(--nb-yellow);border-left-width:4px;border-left-color:var(--nb-ink);box-shadow:var(--nb-sh-s);cursor:pointer;-webkit-user-select:none;user-select:none;border-left-style:solid;justify-content:center;padding:18px 24px;transition:transform .1s linear,box-shadow .1s linear}.mode-block:active{box-shadow:none;transform:translate(4px,4px)}.mode-text{color:var(--nb-onblock);text-transform:uppercase;letter-spacing:.15em;font-size:13px;font-weight:900}.body{flex-direction:row;flex-grow:1;min-height:0}.side-head{text-transform:uppercase;letter-spacing:.25em;color:var(--nb-ink);padding:18px 18px 8px;font-size:12px;font-weight:900}.side{border-right-width:4px;border-right-color:var(--nb-ink);border-right-style:solid;width:240px;overflow-y:auto}.side-item{border-bottom-width:2px;border-bottom-color:var(--nb-ink);cursor:pointer;border-bottom-style:solid;padding:14px 20px;transition:background-color .1s linear}.side-item:hover{background-color:var(--nb-violet)}.side-item.active{background-color:var(--nb-red);box-shadow:var(--nb-sh-s)}.side-item.active .side-text,.side-item.active Text{color:var(--nb-onblock)}.side-text{text-transform:uppercase;letter-spacing:.08em;font-size:14px;font-weight:700}.side-item.active .side-text{font-weight:900}.content{background-image:linear-gradient(to right, var(--nb-gridline) 1px, transparent 1px), linear-gradient(to bottom, var(--nb-gridline) 1px, transparent 1px);background-size:40px 40px;flex-grow:1;min-height:0}.doc{max-width:860px;padding:40px 56px}.h1{text-transform:uppercase;letter-spacing:-.02em;border-bottom-width:4px;border-bottom-color:var(--nb-ink);background-image:linear-gradient(to top, var(--nb-yellow) 22%, transparent 22%);border-bottom-style:solid;margin-bottom:28px;padding-bottom:14px;font-size:40px;font-weight:900;line-height:1}.h2{text-transform:uppercase;letter-spacing:.02em;background-color:var(--nb-violet);color:#000;border-width:4px;border-color:var(--nb-ink);box-shadow:var(--nb-sh-s);border-style:solid;margin-top:32px;margin-bottom:18px;padding:8px 14px;font-size:22px;font-weight:900;transform:rotate(-1deg)}.h3,.h4{text-transform:uppercase;letter-spacing:.06em;border-left-width:8px;border-left-color:var(--nb-red);border-left-style:solid;margin-top:24px;margin-bottom:12px;padding-left:14px;font-size:17px;font-weight:900}.p{flex-wrap:wrap;margin-top:12px;font-size:15px;font-weight:500;line-height:1.6}.li{flex-direction:row;gap:10px;margin-top:6px;font-size:15px;font-weight:500;line-height:1.55}.li-marker{text-align:right;white-space:nowrap;flex-shrink:0;min-width:1.5em}.li-text{flex:1;min-width:0}.doc>:not(.li)+.li{margin-top:12px}.dim{opacity:.7}.bold{font-weight:700}.link{color:var(--nb-ink);text-decoration:underline;text-decoration-thickness:3px;-webkit-text-decoration-color:var(--nb-red);text-decoration-color:var(--nb-red);text-underline-offset:2px;font-weight:700}.mono{background-color:var(--nb-yellow);color:#000;border-width:2px;border-color:var(--nb-ink);border-style:solid;padding:0 5px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.92em;font-weight:700}.code{border-width:4px;border-color:var(--nb-ink);box-shadow:var(--nb-sh-m);white-space:pre-wrap;background-color:#111;border-style:solid;margin-top:16px;margin-bottom:12px;padding:18px 20px}.code .mono,.code Text{color:#e8e8e0;background-color:#0000;border-width:0;font-size:13px;font-weight:500;line-height:1.55}.quote{border-width:4px;border-color:var(--nb-ink);background-color:var(--nb-violet);color:#000;box-shadow:var(--nb-sh-s);border-style:solid;margin-top:14px;margin-bottom:10px;padding:12px 16px}.quote Text,.quote .dim{color:#000;opacity:1}.callout{border-width:4px;border-color:var(--nb-ink);box-shadow:var(--nb-sh-s);background-color:var(--nb-panel);border-style:solid;margin-top:16px;margin-bottom:12px;padding:12px 16px 14px}.callout-tag{border-width:3px;border-color:var(--nb-ink);border-style:solid;align-self:flex-start;margin-bottom:8px;padding:2px 10px;transform:rotate(-1deg)}.callout-note .callout-tag,.callout-tip .callout-tag{background-color:var(--nb-violet)}.callout-important .callout-tag{background-color:var(--nb-yellow)}.callout-warning .callout-tag,.callout-caution .callout-tag{background-color:var(--nb-red)}.callout-tagtext{color:var(--nb-onblock);text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:900}.callout-line{flex-wrap:wrap;margin-top:4px;font-size:14px;font-weight:500;line-height:1.55}.hr{border-top-width:8px;border-top-color:var(--nb-ink);border-top-style:solid;margin-top:24px;margin-bottom:16px}.table{border-width:4px;border-color:var(--nb-ink);width:100%;box-shadow:var(--nb-sh-m);background-color:var(--nb-panel);border-style:solid;margin-top:16px;margin-bottom:12px;display:table}.tr{display:table-row}.tr+.tr .td{border-top-width:2px;border-top-color:var(--nb-ink);border-top-style:solid}.tr-head .td{background-color:var(--nb-yellow);border-bottom-width:4px;border-bottom-color:var(--nb-ink);border-bottom-style:solid}.tr-head .td,.tr-head Text{color:var(--nb-onblock);text-transform:uppercase;letter-spacing:.08em;font-weight:900}.td{vertical-align:top;overflow-wrap:break-word;padding:10px 14px;font-size:14px;font-weight:500;display:table-cell}@media (width<=720px){.brand-block{gap:10px;padding:10px 16px 10px 10px}.logo-tile{border-width:3px;width:34px;height:40px}.logo-flame{width:17px;height:23px}.brand{font-size:18px}.tagline{display:none}.topbar-mid{padding:10px 14px}.disc-chip{padding:4px 8px}.disc-text{letter-spacing:.08em;font-size:9px}.github-link{min-height:44px;padding:0 12px}.github-label{display:none}.github-link:before{width:19px;height:19px}.mode-block{padding:10px 14px}.mode-text{font-size:12px}.body{flex-direction:column}.side{border-bottom-width:4px;border-right-width:0;flex-direction:row;flex-shrink:0;align-items:center;width:100%;overflow:auto hidden}.side .vx-list{flex-direction:row;flex-grow:0;flex-shrink:0;display:flex}.side-head{flex-shrink:0;padding:10px 6px 10px 12px;font-size:10px}.side-item{white-space:nowrap;border-bottom-width:0;border-right-width:2px;flex-shrink:0;padding:14px 16px}.doc{padding:24px 18px 72px}.h1{font-size:26px}.h2{margin-top:26px;font-size:19px}.h3{font-size:16px}.p,.li,.callout-line{font-size:14px}.code{padding:12px 14px}.code .mono,.code Text{font-size:12px}.callout{padding:10px 12px 12px}.td{padding:8px 10px;font-size:12px}}@media (width<=400px){.brand{font-size:15px}.logo-tile{width:30px;height:36px}.disc-chip{padding:3px 7px}.disc-text{font-size:8px}.topbar-mid{gap:10px;padding:8px}.github-link{padding:0 9px}.mode-block{padding:8px 10px}}@media (width>=721px) and (width<=1100px){.side{width:190px}.side-item{padding:11px 16px}.doc{padding:32px 36px}.h1{font-size:32px}.brand-block{padding:14px 20px 14px 14px}.tagline{letter-spacing:.12em}}
