.bp{--nav-h:var(--ui-header-height,64px);--gutter:40px;--maxw:1360px;--r:8px;--display:"Archivo", ui-sans-serif, system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--cellfont:-apple-system, BlinkMacSystemFont, "Segoe UI", Calibri, Arial, sans-serif;--ease:cubic-bezier(.16, 1, .3, 1);--code-bg:#071510;--code-ink:#d6eadd;--code-dim:#5d7a6a;--code-line:#cdf0dc14;--code-danger:#ff7a7a;--t-str:#ecc879;--t-kw:#5ee8a0;--t-key:#9dc8b1;--t-fn:#f4fbf7;--t-num:#ecc879;--t-com:#56715f;--t-tag:#7fd3b0;--t-attr:#9dc8b1;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#edf3ef;--bg-2:#e4ece7;--panel:#f8fbf9;--panel-2:#eef4f0;--grid:#0a46280f;--grid-major:#0a46281c;--ink:#0a1f15;--ink-2:#3b5a49;--ink-3:#5f7a6b;--line:#0a1f158c;--line-faint:#0a1f152e;--line-ghost:#0a1f1514;--accent:#07844a;--accent-ink:#fff;--accent-soft:#07844a1c;--accent-line:#07844a99;--hatch:#0a1f150f;--shadow:0 40px 80px -28px #103c2452;--ground:#103c2438;--n-top:#fbfdfc;--n-r:#d9e5de;--n-l:#e9f1ec;isolation:isolate;color:var(--ink);font-family:var(--display);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5;position:relative;overflow-x:clip}.dark .bp{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#06110c;--bg-2:#091811;--panel:#0b1c14;--panel-2:#0f2419;--grid:#78e6aa0d;--grid-major:#78e6aa18;--ink:#e3f2e8;--ink-2:#a1bdac;--ink-3:#6a8878;--line:#cdf0dc80;--line-faint:#cdf0dc2b;--line-ghost:#cdf0dc14;--accent:#3ee38c;--accent-ink:#03140a;--accent-soft:#3ee38c1f;--accent-line:#3ee38c9e;--hatch:#cdf0dc13;--shadow:0 40px 90px -24px #000000bf;--ground:#0000008c;--n-top:#10291d;--n-r:#0a1c14;--n-l:#0d2218}@media (width<=767px){.bp{--gutter:16px}}html:has(.bp){--ui-bg:#edf3ef;--ui-primary:#07844a}html.dark:has(.bp){--ui-bg:#06110c;--ui-primary:#3ee38c}.bp:before{z-index:-2;background-image:linear-gradient(var(--grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--grid-major) 1px,transparent 1px),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-position:-1px -1px;background-size:120px 120px,120px 120px,24px 24px,24px 24px}.bp:after,.bp:before{content:"";pointer-events:none;position:fixed;inset:0}.bp:after{z-index:-1;background:radial-gradient(130% 90% at 65% 15%,transparent 35%,var(--bg) 100%)}.bp a{color:inherit;text-decoration:none}.bp button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.bp .mono,.bp code,.bp-land .mono,.bp-land code{font-family:var(--mono)}.bp .t-str{color:var(--t-str)}.bp .t-kw{color:var(--t-kw)}.bp .t-key{color:var(--t-key)}.bp .t-fn{color:var(--t-fn)}.bp .t-num{color:var(--t-num)}.bp .t-com{color:var(--t-com);font-style:italic}.bp .t-tag{color:var(--t-tag)}.bp .t-attr{color:var(--t-attr)}@media (prefers-reduced-motion:reduce){.bp *,.bp :after,.bp :before{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.bp-land .wrap{max-width:var(--maxw);padding:0 var(--gutter);margin:0 auto}.bp-land .h2{font-variation-settings:"wdth" 108;letter-spacing:-.028em;text-wrap:balance;font-size:calc(clamp(34px,4.2vw,60px));font-weight:800;line-height:.98}.bp-land .lede{color:var(--ink-2);text-wrap:pretty;max-width:34em;margin-top:18px;font-size:18px;line-height:1.55}.bp-land .accent{color:var(--accent)}.bp-land .sec{padding:150px 0 40px}.bp-land .reveal{opacity:0;transition:opacity .9s var(--ease),transform .9s var(--ease);transform:translateY(22px)}.bp-land .reveal.in{opacity:1;transform:none}.bp-land .btn{border-radius:var(--r);height:50px;font:650 15.5px/1 var(--display);white-space:nowrap;border:1px solid #0000;align-items:center;gap:10px;padding:0 22px;transition:transform .15s,filter .2s,border-color .2s,background-color .2s;display:inline-flex}.bp-land .btn:active{transform:translateY(1px)scale(.98)}.bp-land .btn-primary{background:var(--accent);color:var(--accent-ink)}.bp-land .btn-primary:hover{filter:brightness(1.08)}.bp-land .btn-ghost{border-color:var(--line-faint);color:var(--ink);background:color-mix(in oklab,var(--bg) 70%,transparent);font:500 14.5px/1 var(--mono)}.bp-land .btn-ghost:hover{border-color:var(--line)}.bp-land .btn-ghost .ph,.bp-land .btn-ghost .ph-bold,.bp-land .dim{color:var(--ink-3)}.bp-land .hero{min-height:calc(100dvh - var(--nav-h));padding:20px var(--gutter) 40px;grid-template-columns:minmax(0,44fr) minmax(0,56fr);align-items:center;gap:12px;display:grid}.bp-land .hero h1{font-variation-settings:"wdth" 104;letter-spacing:-.034em;font-size:calc(clamp(44px,4.85vw,72px));font-weight:800;line-height:.93}.bp-land .hero h1 .accent{display:block}.bp-land .dim{max-width:540px;font:500 12px/1 var(--mono);letter-spacing:.03em;align-items:center;gap:10px;margin-top:28px;display:flex}.bp-land .dim .tick{background:var(--line);flex:none;width:1px;height:20px}.bp-land .dim .bar{background:var(--line);transform-origin:50%;height:1px;animation:bp-grow 1.1s .45s var(--ease) both;flex:1;position:relative}.bp-land .dim .bar.l:before,.bp-land .dim .bar.r:after{content:"";border-top:4.5px solid #0000;border-bottom:4.5px solid #0000;position:absolute;top:-4px}.bp-land .dim .bar.l:before{border-right:8px solid var(--line);left:0}.bp-land .dim .bar.r:after{border-left:8px solid var(--line);right:0}.bp-land .dim b{color:var(--ink);white-space:nowrap;font-weight:500}.bp-land .hero .lede{margin-top:24px;font-size:19px}.bp-land .ctas{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.bp-land .rise{animation:bp-rise 1s var(--ease) both;animation-delay:var(--d,0s)}@keyframes bp-rise{0%{opacity:0;transform:translateY(18px)}}@keyframes bp-grow{0%{transform:scaleX(0)}}.bp-land .stage{perspective:2400px;perspective-origin:38% 18%;height:660px;margin-right:calc(-1 * var(--gutter));position:relative}.bp-land .stage:before{content:"";background:radial-gradient(closest-side,color-mix(in oklab,var(--accent) 15%,transparent),transparent 75%);pointer-events:none;width:78%;height:76%;position:absolute;top:14%;left:0}.bp-land .iso{left:var(--iso-left,24px);width:480px;height:260px;transform-style:preserve-3d;transform:scale(var(--s,.86)) rotateX(var(--rx,52deg)) rotateZ(var(--rz,-36deg));--gap:52px;--c-text:var(--ink);--c-dim:var(--ink-3);--c-grid:var(--line-ghost);--c-border:var(--line-faint);--c-plate:color-mix(in oklab, var(--accent) 4%, transparent);--c-edge:color-mix(in oklab, var(--accent) 24%, transparent);--c-head-bg:transparent;--c-group-bg:transparent;--c-head:var(--accent);--c-hb:var(--accent-line);--c-sum-bg:transparent;--c-sum-line:var(--accent);--c-frz:var(--accent);--c-spark:var(--accent);--cd:0s;position:absolute;top:300px}.bp-land .ground{background:radial-gradient(closest-side,var(--ground),transparent);opacity:.9;transition:opacity 1s;position:absolute;inset:-40px;transform:translateZ(-46px)}.bp-land .is-assembled .ground{opacity:.55}.bp-land .slab{transform-style:preserve-3d;transform:translateZ(calc(var(--i) * var(--gap) + var(--lift,0px)));transition:transform 1.05s cubic-bezier(.7,0,.2,1),opacity .45s;transition-delay:calc(var(--i) * 55ms);position:absolute;inset:0}.bp-land .iso.is-assembled .slab{transition-delay:calc(45ms * (5 - var(--i)))}.bp-land .iso.no-tr .slab,.bp-land .iso.no-tr .slab *{transition:none!important}.bp-land .iso.is-assembled{--gap:.6px;--c-text:#13241a;--c-dim:#7d9186;--c-grid:#e1e9e4;--c-border:transparent;--c-plate:transparent;--c-edge:transparent;--c-head-bg:#17603d;--c-group-bg:#0e3b26;--c-head:#f1fbf5;--c-hb:transparent;--c-sum-bg:#e7f4ec;--c-sum-line:#17603d;--c-frz:#8fa398;--c-spark:#15803d;--cd:.55s}.bp-land .iso.is-assembled .slab[data-i="0"]{--c-plate:#fbfdfc;--c-border:#c3d3c9;--c-edge:#b3c6bb}.bp-land .face{border:1px solid var(--c-border);background-color:var(--c-plate);transition:background-color .5s var(--cd),border-color .5s var(--cd);grid-template-rows:16px 20px 22px repeat(7,25px) 25px;grid-template-columns:22px 128px 70px 40px 72px 80px 66px;display:grid;position:absolute;inset:0}.bp-land .slab[data-i="0"] .face{background-image:repeating-linear-gradient(45deg,var(--hatch) 0 1px,transparent 1px 8px)}.bp-land .is-assembled .slab[data-i="0"] .face{background-image:none}.bp-land .edge{background-color:var(--c-edge);transition:background-color .5s var(--cd);position:absolute}.bp-land .edge-b{transform-origin:bottom;width:100%;height:7px;bottom:0;left:0;transform:rotateX(90deg)}.bp-land .edge-l{transform-origin:0;width:7px;height:100%;top:0;left:0;transform:rotateY(90deg)}.bp-land .c{font:500 10.5px/1 var(--cellfont);color:var(--c-text);white-space:nowrap;transition:color .5s var(--cd),background-color .5s var(--cd),border-color .5s var(--cd);align-items:center;padding:0 6px;display:flex;position:relative;overflow:hidden}.bp-land .c.r{justify-content:flex-end}.bp-land .c.lt,.bp-land .c.rn{font:500 8.5px/1 var(--mono);color:var(--c-dim);justify-content:center;padding:0}.bp-land .c.gc{border-right:1px solid var(--c-grid);border-bottom:1px solid var(--c-grid)}.bp-land .c.gh{background-color:var(--c-group-bg);letter-spacing:.06em;text-transform:uppercase;justify-content:center;margin:1px;font-size:9.5px}.bp-land .c.gh,.bp-land .c.hd{color:var(--c-head);border:1px solid var(--c-hb);font-weight:700}.bp-land .c.hd{background-color:var(--c-head-bg);margin:1px 1px 0}.bp-land .c.sm{background-color:var(--c-sum-bg);border-top:1.5px solid var(--c-sum-line);font-weight:800}.bp-land .bdg{border:1px solid var(--accent-line);color:var(--accent);border-radius:2px;justify-content:center;margin:4px 5px;font-size:9.5px;font-weight:700}.bp-land .is-assembled .bdg{border-color:#0000}.bp-land .is-assembled .bdg.paid{color:#166534;background:#dcfce7}.bp-land .is-assembled .bdg.due{color:#92400e;background:#fef3c7}.bp-land .is-assembled .bdg.overdue{color:#991b1b;background:#fee2e2}.bp-land .spark{width:54px;height:15px;overflow:visible}.bp-land .spark polyline{fill:none;stroke:var(--c-spark);stroke-width:1.4px;stroke-linejoin:round;transition:stroke .5s var(--cd)}.bp-land .spark circle{fill:var(--c-spark);transition:fill .5s var(--cd)}.bp-land .fcell{justify-content:flex-end}.bp-land .fcell .ff,.bp-land .fcell .fv{transition:opacity .4s var(--cd);position:absolute;right:6px}.bp-land .fcell .ff{font:500 8.4px/1 var(--mono);color:var(--accent);opacity:1}.bp-land .fcell .fv,.bp-land .is-assembled .fcell .ff{opacity:0}.bp-land .is-assembled .fcell .fv{opacity:1}.bp-land .is-assembled .fcell.hi{color:#14532d;background-color:#dcfce7;font-weight:700}.bp-land .frz{background-color:var(--c-frz);transition:background-color .5s var(--cd);position:absolute}.bp-land .frz-h{height:1.5px;top:58px;left:22px;right:0}.bp-land .frz-v{width:1.5px;top:16px;bottom:0;left:150px}.bp-land .anc{width:2px;height:2px;margin:-1px 0 0 -1px;position:absolute}.bp-land .scan{opacity:0;pointer-events:none;background:linear-gradient(#0000,#3ee38c52,#0000);height:34px;position:absolute;top:0;left:0;right:0}.bp-land .is-assembled .slab[data-i="0"] .scan{animation:1.3s ease-out .75s both bp-scan}@keyframes bp-scan{0%{opacity:0;transform:translateY(-34px)}15%{opacity:1}to{opacity:0;transform:translateY(262px)}}.bp-land .iso[data-focus] .slab{opacity:.22}.bp-land .iso[data-focus="0"] .slab[data-i="0"],.bp-land .iso[data-focus="1"] .slab[data-i="1"],.bp-land .iso[data-focus="2"] .slab[data-i="2"],.bp-land .iso[data-focus="3"] .slab[data-i="3"],.bp-land .iso[data-focus="4"] .slab[data-i="4"],.bp-land .iso[data-focus="5"] .slab[data-i="5"]{opacity:1;--lift:24px}.bp-land .iso[data-focus="0"] .slab[data-i="0"] .face,.bp-land .iso[data-focus="1"] .slab[data-i="1"] .face,.bp-land .iso[data-focus="2"] .slab[data-i="2"] .face,.bp-land .iso[data-focus="3"] .slab[data-i="3"] .face,.bp-land .iso[data-focus="4"] .slab[data-i="4"] .face,.bp-land .iso[data-focus="5"] .slab[data-i="5"] .face{border-color:var(--accent)}.bp-land svg.leaders{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.bp-land svg.leaders path{fill:none;stroke:var(--line);stroke-width:1px;transition:stroke .25s,opacity .5s}.bp-land svg.leaders circle{fill:var(--bg);stroke:var(--line);stroke-width:1px}.bp-land svg.leaders g{transition:opacity .5s}.bp-land svg.leaders g.on circle,.bp-land svg.leaders g.on path{stroke:var(--accent)}.bp-land svg.leaders.dim g{opacity:.35}.bp-land .dwg{right:var(--gutter);border:1px solid var(--line);background:color-mix(in oklab,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(6px);width:256px;font-family:var(--mono);position:absolute;bottom:10px}.bp-land .parts-h{letter-spacing:.14em;color:var(--ink-3);border-bottom:1px solid var(--line);grid-template-columns:40px 1fr;font-size:10px;display:grid}.bp-land .parts-h span{padding:9px 12px}.bp-land .parts-h span:first-child{text-align:center;border-right:1px solid var(--line);padding:9px 0}.bp-land .pr{text-align:left;width:100%;animation:bp-pr-in .35s var(--ease) both;animation-delay:calc(80ms + var(--i,0) * 50ms);grid-template-columns:40px 1fr;transition:background-color .2s;display:grid}@keyframes bp-pr-in{0%{opacity:0;transform:translate(6px)}}@media (prefers-reduced-motion:reduce){.bp-land .pr{animation:none}}.bp-land .pr+.pr{border-top:1px solid var(--line-faint)}.bp-land .pr .no{border-right:1px solid var(--line);font:500 12px/1 var(--mono);color:var(--ink-2);place-items:center;transition:background-color .2s,color .2s;display:grid}.bp-land .pr .pt{min-width:0;padding:8px 12px 9px}.bp-land .pr b{font:650 13px/1.2 var(--display);color:var(--ink);display:block}.bp-land .pr code{color:var(--accent);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:10.5px;display:block;overflow:hidden}.bp-land .pr.on,.bp-land .pr:hover{background:var(--accent-soft)}.bp-land .pr.on .no{background:var(--accent);color:var(--accent-ink)}.bp-land svg.leaders circle.b{fill:var(--line);stroke:none}.bp-land svg.leaders g.on circle.b{fill:var(--accent)}.bp-land .tblock{border-top:1px solid var(--line)}.bp-land .tblock .tt{font:800 16px/1 var(--display);font-variation-settings:"wdth" 125;letter-spacing:.09em;border-bottom:1px solid var(--line);padding:12px 14px 11px}.bp-land .tblock dl{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr;gap:7px 14px;padding:12px 14px;font-size:11px;display:grid}.bp-land .tblock dt{color:var(--ink-3)}.bp-land .tblock dd{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bp-land .tb-act{color:var(--ink-3);justify-content:space-between;align-items:center;padding:8px 8px 8px 14px;font-size:11px;display:flex}.bp-land .tb-act button{border:1px solid var(--line-faint);border-radius:var(--r);height:30px;font:500 11.5px/1 var(--mono);align-items:center;gap:8px;padding:0 12px;display:inline-flex}.bp-land .tb-act button:hover{border-color:var(--accent);color:var(--accent)}.bp-land .scale{height:400vh}.bp-land .scale-pin{top:var(--nav-h);height:calc(100dvh - var(--nav-h));position:sticky;overflow:hidden}.bp-land .scale-pin>.wrap{height:100%;position:relative}.bp-land svg.pipe{width:calc(100% - 2 * var(--gutter));height:94%;top:3%;overflow:visible}.bp-land .counter,.bp-land svg.pipe{left:var(--gutter);position:absolute}.bp-land .counter{z-index:2;top:7%}.bp-land .counter h2{font-variation-settings:"wdth" 108;letter-spacing:-.015em;color:var(--ink);font-size:calc(clamp(22px,2.1vw,30px));font-weight:750}.bp-land .rows{font-variation-settings:"wdth" 112;letter-spacing:-.045em;font-variant-numeric:tabular-nums;color:var(--ink);margin-top:14px;font-size:calc(clamp(64px,9.2vw,150px));font-weight:800;line-height:.84;display:block}.bp-land .rows-sub{font:500 13px/1.4 var(--mono);color:var(--ink-3);align-items:baseline;gap:18px;margin-top:16px;display:flex}.bp-land .rows-sub b{color:var(--accent);font-weight:500}.bp-land .builder{font:13px/1 var(--mono);gap:7px;margin-top:26px;display:grid}.bp-land .bl{color:var(--ink-3);align-items:center;gap:12px;transition:color .3s;display:flex}.bp-land .bl code{border:1px solid var(--line-ghost);border-radius:var(--r);padding:7px 10px;transition:border-color .3s,background-color .3s,color .3s}.bp-land .bl span{letter-spacing:.06em;font-size:11.5px}.bp-land .bl.on{color:var(--ink)}.bp-land .bl.on code{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.bp-land .bs{color:var(--ink-2);align-items:center;gap:10px;margin-top:6px;font-size:12.5px;display:flex}.bp-land .bs .ph-bold{color:var(--accent)}.bp-land .stats{right:var(--gutter);z-index:2;width:min(470px,40%);position:absolute;bottom:6%}.bp-land .stats .st-h{font:500 11.5px/1.4 var(--mono);color:var(--ink-3);letter-spacing:.06em;margin-bottom:14px}.bp-land .st{grid-template-columns:1fr auto;align-items:baseline;gap:12px;padding:12px 0;transition:opacity .4s;display:grid}.bp-land .st+.st{border-top:1px solid var(--line-ghost)}.bp-land .st .k{font:500 13px/1.3 var(--mono);color:var(--ink-2)}.bp-land .st .v{font-variation-settings:"wdth" 110;letter-spacing:-.03em;color:var(--ink);text-align:right;font-size:34px;font-weight:800;line-height:1}.bp-land .st .v small{color:var(--ink-3);letter-spacing:0;margin-left:4px;font-size:14px;font-weight:600}.bp-land .st.wait{opacity:.32}.bp-land .st.hit .v{color:var(--accent)}.bp-land .st-note{font:400 11px/1.5 var(--mono);color:var(--ink-3);margin-top:12px}.bp-land svg.pipe .f-t{fill:var(--n-top)}.bp-land svg.pipe .f-l,.bp-land svg.pipe .f-r,.bp-land svg.pipe .f-t{stroke:var(--line);stroke-width:1px;stroke-linejoin:round}.bp-land svg.pipe .f-r{fill:var(--n-r)}.bp-land svg.pipe .f-l{fill:var(--n-l)}.bp-land svg.pipe .node{transition:opacity .4s}.bp-land svg.pipe .node.off{opacity:.3}.bp-land svg.pipe .node.hot .f-t{fill:color-mix(in oklab,var(--accent) 28%,var(--n-top));stroke:var(--accent)}.bp-land svg.pipe .pk .f-t{fill:var(--accent);stroke:none}.bp-land svg.pipe .pk .f-r{fill:color-mix(in oklab,var(--accent) 55%,#000);stroke:none}.bp-land svg.pipe .pk .f-l{fill:color-mix(in oklab,var(--accent) 72%,#000);stroke:none}.bp-land svg.pipe .ch .f-t{fill:var(--ink);stroke:none}.bp-land svg.pipe .ch .f-r{fill:color-mix(in oklab,var(--ink) 55%,var(--bg));stroke:none}.bp-land svg.pipe .ch .f-l{fill:color-mix(in oklab,var(--ink) 75%,var(--bg));stroke:none}.bp-land svg.pipe .wire{fill:none;stroke:var(--line-faint);stroke-width:1.3px;stroke-dasharray:5 7;animation:.9s linear infinite bp-flow}.bp-land svg.pipe .wire.on{stroke:var(--accent-line)}@keyframes bp-flow{to{stroke-dashoffset:-24px}}.bp-land svg.pipe text{font-family:var(--mono);fill:var(--ink);font-size:13px}.bp-land svg.pipe text.cap{fill:var(--ink-3);letter-spacing:.12em;font-size:10.5px}.bp-land svg.pipe .lead{stroke:var(--line-faint);stroke-width:1px}.bp-land svg.pipe .out.hit .f-t{fill:var(--accent)}.bp-land .render-grid{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:40px;margin-top:56px;display:grid}.bp-land .findex{top:calc(24px + var(--nav-h));position:sticky}.bp-land .fgroup+.fgroup{border-top:1px solid var(--line-ghost);margin-top:20px;padding-top:18px}.bp-land .fgroup h3{font:500 11.5px/1 var(--mono);color:var(--ink-3);letter-spacing:.08em;margin-bottom:8px}.bp-land .fitem{border-radius:var(--r);text-align:left;width:100%;color:var(--ink-2);align-items:center;gap:12px;margin-left:-8px;padding:6px 8px;font-size:15px;font-weight:550;transition:color .2s,background-color .2s;display:flex}.bp-land .fitem .n{border:1px solid var(--line-faint);width:24px;height:24px;font:500 10px/1 var(--mono);color:var(--ink-3);border-radius:50%;flex:none;place-items:center;transition:all .2s;display:grid}.bp-land .fitem:hover{color:var(--ink)}.bp-land .fitem.on{color:var(--ink);background:var(--accent-soft)}.bp-land .fitem.on .n{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.bp-land .spec-wrap{perspective:2200px;padding:8px 0 230px;position:relative}.bp-land .spec-stack{transform-style:preserve-3d;transform-origin:50% 0;transition:transform .9s var(--ease);position:relative;transform:rotateX(5deg)rotateY(-7deg)}.bp-land .spec-wrap:hover .spec-stack{transform:rotateX(2deg)rotateY(-2deg)}.bp-land .ghost{border:1px solid var(--line-faint);background:color-mix(in oklab,var(--panel) 70%,transparent);position:absolute;inset:0}.bp-land .ghost.g1{transform:translate3d(22px,-18px,-60px)}.bp-land .ghost.g2{opacity:.6;transform:translate3d(44px,-36px,-120px)}.bp-land .spec{color:#13241a;width:986px;max-width:100%;box-shadow:var(--shadow);font:12.5px/1 var(--cellfont);background:#fbfdfc;border:1px solid #c3d3c9;position:relative}.bp-land .sfbar{background:#f3f7f5;border-bottom:1px solid #d8e3dc;align-items:center;height:32px;font-size:12px;display:flex}.bp-land .sfbar .ref{width:72px;height:100%;font-family:var(--mono);border-right:1px solid #d8e3dc;align-items:center;padding:0 10px;font-size:11.5px;display:flex}.bp-land .sfbar .fxs{color:#7d9186;padding:0 10px;font-family:Georgia,serif;font-style:italic}.bp-land .sfbar .val{font-family:var(--mono);color:#13241a;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.bp-land .sgrid{grid-template-columns:var(--cols);grid-template-rows:var(--rows);display:grid}.bp-land .s,.bp-land .sgrid{position:relative;overflow:hidden}.bp-land .s{white-space:nowrap;border-bottom:1px solid #e3eae6;border-right:1px solid #e3eae6;align-items:center;padding:0 8px;display:flex}.bp-land .s.lt,.bp-land .s.rn{color:#6e8277;font:500 10.5px/1 var(--mono);background:#eef3f0;justify-content:center;padding:0}.bp-land .s.r{font-variant-numeric:tabular-nums;justify-content:flex-end}.bp-land .s.badge,.bp-land .s.ctr,.bp-land .s.gh{justify-content:center}.bp-land .s.gh{color:#e9f7ef;letter-spacing:.08em;text-transform:uppercase;background:#0e3b26;border-color:#0b2f1f;font-size:11px;font-weight:700}.bp-land .s.hd{color:#fff;background:#17603d;border-color:#124d31;font-weight:700}.bp-land .s.sm{background:#e7f4ec;border-top:1.5px solid #17603d;font-weight:800}.bp-land .s.link{color:#0563c1;text-underline-offset:2px;text-decoration:underline}.bp-land .s.neg{color:#b42318;font-weight:650}.bp-land .s.pos{color:#15803d;font-weight:650}.bp-land .s.badge{margin:0;font-size:11.5px;font-weight:700}.bp-land .badge.renewed{color:#166534;background:#dcfce7}.bp-land .badge.risk{color:#92400e;background:#fef3c7}.bp-land .badge.churned{color:#991b1b;background:#fee2e2}.bp-land .badge.pending{color:#334155;background:#e2e8f0}.bp-land .logo{width:20px;height:20px;font:700 8.5px/1 var(--cellfont);color:#fff;border-radius:3px;place-items:center;display:grid}.bp-land .s .ph,.bp-land .s .ph-bold{font-size:16px}.bp-land .s .chk{color:#15803d}.bp-land .s .unchk{color:#9aaba1}.bp-land .s .lock{color:#7d9186;opacity:0;font-size:11px;transition:opacity .3s;position:absolute;left:6px}.bp-land .spec[data-feat=protection] .s .lock{opacity:1}.bp-land .s .dd{color:#7d9186;opacity:0;font-size:11px;transition:opacity .3s;position:absolute;right:4px}.bp-land .spec[data-feat=validation] .s .dd{opacity:1}.bp-land .sfrz{background:#7f958a;transition:background-color .3s,box-shadow .3s;position:absolute}.bp-land .spec[data-feat=freeze] .sfrz{background:var(--accent);box-shadow:0 0 0 1px var(--accent)}.bp-land .stabs{background:#f3f7f5;border-top:1px solid #d8e3dc;align-items:stretch;height:30px;font-size:12px;display:flex}.bp-land .stabs span{color:#6e8277;border-right:1px solid #d8e3dc;align-items:center;padding:0 16px;display:flex}.bp-land .stabs span.on{color:#17603d;background:#fbfdfc;font-weight:700;box-shadow:inset 0 -2px #17603d}.bp-land .sel{transition:all .35s var(--ease);border:2px solid #17603d}.bp-land .region,.bp-land .sel{pointer-events:none;position:absolute}.bp-land .region{outline:1.5px dashed var(--accent);outline-offset:2px;background:color-mix(in oklab,var(--accent) 12%,transparent);transition:all .45s var(--ease)}html:not(.dark) .bp-land .region{outline-color:#07844a}.bp-land .rnum{background:var(--accent);width:26px;height:26px;color:var(--accent-ink);font:500 11px/1 var(--mono);transition:all .45s var(--ease);border-radius:50%;place-items:center;margin:-13px 0 0 -13px;display:grid;position:absolute;box-shadow:0 0 0 4px #fbfdfc}.bp-land .ddlist{z-index:3;background:#fff;border:1px solid #b9cbbf;min-width:120px;font-size:12px;display:none;position:absolute;box-shadow:0 10px 24px #103c242e}.bp-land .ddlist div{padding:6px 10px}.bp-land .ddlist div.on{background:#e7f4ec;font-weight:700}.bp-land .spec[data-feat=validation] .ddlist{display:block}.bp-land .ccard{background:var(--code-bg);width:410px;color:var(--code-ink);border-radius:var(--r);font:12.5px/1.65 var(--mono);transition:left .45s var(--ease),top .45s var(--ease),opacity .25s;z-index:4;border:1px solid #cdf0dc29;position:absolute;box-shadow:0 24px 50px -12px #0000008c}.bp-land .ccard .ct{border-bottom:1px solid var(--code-line);height:32px;color:var(--code-dim);justify-content:space-between;align-items:center;padding:0 12px;font-size:11px;display:flex}.bp-land .ccard .ct b{color:var(--t-kw);font-weight:500}.bp-land .ccard pre{white-space:pre;font:inherit;padding:10px 12px 12px;overflow:hidden}.bp-land .cline{pointer-events:none;z-index:3;position:absolute;overflow:visible}.bp-land .cline path{fill:none;stroke:var(--accent);stroke-width:1.2px;stroke-dasharray:3 4}.bp-land .t-kw{color:var(--t-kw)}.bp-land .t-key{color:var(--t-key)}.bp-land .t-fn{color:var(--t-fn)}.bp-land .t-num{color:var(--t-num)}.bp-land .t-com{color:var(--t-com);font-style:italic}.bp-land .types-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:64px;margin-top:56px;display:grid;position:relative}.bp-land .editor{background:var(--code-bg);border-radius:var(--r);box-shadow:var(--shadow);font:13.5px/1.78 var(--mono);color:var(--code-ink);border:1px solid #cdf0dc24;position:relative}.bp-land .ed-top{border-bottom:1px solid var(--code-line);height:40px;color:var(--code-dim);align-items:center;gap:10px;padding:0 14px;font-size:12px;display:flex}.bp-land .ed-top .file{color:var(--code-ink)}.bp-land .ed-top .ts{margin-left:auto;font-size:11px}.bp-land .ed-body{counter-reset:ln;padding:14px 0 16px;overflow:hidden}.bp-land .ln{white-space:pre;padding-right:16px;display:block}.bp-land .ln:before{counter-increment:ln;content:counter(ln);text-align:right;color:#38503f;width:44px;padding-right:18px;display:inline-block}.bp-land .ln.act{background:#5ee8a00d}.bp-land .typed{position:relative}.bp-land .editor.err .typed{-webkit-text-decoration:underline wavy var(--code-danger);-webkit-text-decoration:underline wavy var(--code-danger);text-decoration:underline wavy var(--code-danger);text-underline-offset:5px;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:1.5px}.bp-land .caret{background:var(--t-kw);vertical-align:-3px;width:2px;height:1.15em;margin-left:1px;animation:1s step-end infinite bp-blink;display:inline-block}@keyframes bp-blink{50%{opacity:0}}.bp-land .tip{border-radius:var(--r);color:#f3d4d4;opacity:0;pointer-events:none;z-index:3;background:#0e1f17;border:1px solid #ff7a7a73;max-width:470px;padding:10px 12px;font-size:12px;line-height:1.55;transition:opacity .25s,transform .25s;position:absolute;transform:translateY(6px);box-shadow:0 18px 40px -10px #0009}.bp-land .tip b{color:var(--code-danger);font-weight:500}.bp-land .editor.err .tip{opacity:1;transform:none}.bp-land .ac{border-radius:var(--r);opacity:0;pointer-events:none;z-index:3;background:#0e1f17;border:1px solid #cdf0dc2e;min-width:230px;padding:4px;font-size:12.5px;transition:opacity .2s;position:absolute;box-shadow:0 18px 40px -10px #0009}.bp-land .ac div{color:var(--code-ink);border-radius:5px;justify-content:space-between;padding:4px 8px;display:flex}.bp-land .ac div span{color:var(--code-dim);font-size:11px}.bp-land .ac div.on{background:#5ee8a029}.bp-land .editor.ac-open .ac{opacity:1}.bp-land .ed-status{border-top:1px solid var(--code-line);height:34px;color:var(--code-dim);align-items:center;gap:16px;padding:0 14px;font-size:11.5px;display:flex}.bp-land .ed-status .bad{color:var(--code-danger);align-items:center;gap:6px;display:none}.bp-land .ed-status .good{color:var(--t-kw);align-items:center;gap:6px;display:none}.bp-land .editor.err .ed-status .bad,.bp-land .editor.ok .ed-status .good{display:flex}.bp-land .xl{position:relative}.bp-land .xl-h{font:500 11.5px/1 var(--mono);color:var(--ink-3);letter-spacing:.08em;margin-bottom:14px}.bp-land .mini{color:#13241a;box-shadow:var(--shadow);font:12.5px/1 var(--cellfont);background:#fbfdfc;border:1px solid #c3d3c9;transition:filter .4s,opacity .4s}.bp-land .mini .sgrid{--cols:28px 1.6fr .7fr 1fr 1.1fr;--rows:22px 28px repeat(4, 30px) 30px}.bp-land .xl.blocked .mini{filter:grayscale();opacity:.45}.bp-land .blocked-note{background:var(--bg);border:1px solid var(--code-danger);color:var(--ink);font:500 12.5px/1.4 var(--mono);border-radius:var(--r);white-space:nowrap;opacity:0;padding:10px 14px;transition:opacity .3s;position:absolute;top:58%;left:50%;transform:translate(-50%,-50%)}.bp-land .xl.blocked .blocked-note{opacity:1}.bp-land .mini .s.col-hi{color:#0f5132;background:#dff3e7;font-weight:700}.bp-land .ref-a,.bp-land .ref-b{border-radius:3px;transition:background-color .3s,box-shadow .3s}.bp-land .editor.ok .ref-a{background:#5ee8a026;box-shadow:inset 0 -2px #5ee8a0}.bp-land .editor.ok .ref-b{background:#ecc87926;box-shadow:inset 0 -2px #ecc879}.bp-land .rbox{pointer-events:none;opacity:0;transition:opacity .35s;position:absolute}.bp-land .xl.ok .rbox{opacity:1}.bp-land .rbox.a{background:#16a34a12;border:2px solid #16a34a}.bp-land .rbox.b{background:#d9770612;border:2px solid #d97706}.bp-land .xl.ok .mini-fx .ra{color:#15803d;font-weight:700}.bp-land .xl.ok .mini-fx .rb{color:#b45309;font-weight:700}.bp-land .mod2{grid-template-columns:minmax(0,470px) minmax(0,1fr);align-items:stretch;gap:36px;margin-top:56px;display:grid}.bp-land .mcode{background:var(--code-bg);border-radius:var(--r);font:12.5px/1.72 var(--mono);color:var(--code-ink);box-shadow:var(--shadow);border:1px solid #cdf0dc24;overflow:hidden}.bp-land .mcode .ct{border-bottom:1px solid var(--code-line);height:42px;color:var(--code-dim);justify-content:space-between;align-items:center;gap:10px;padding:0 8px 0 14px;font-size:11.5px;display:flex}.bp-land .mcode .ct .hint{color:var(--t-kw);align-items:center;gap:7px;display:inline-flex}.bp-land .mcode .ct .r{align-items:center;gap:10px;display:flex}.bp-land .mcode .ct button{height:28px;font:500 11px/1 var(--mono);color:var(--code-ink);border:1px solid #cdf0dc29;border-radius:6px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.bp-land .mcode .ct button:hover{border-color:var(--t-kw);color:var(--t-kw)}.bp-land .mcode pre{font:inherit;padding:12px 0 16px;overflow-x:auto}.bp-land .mcode .l{white-space:pre;min-height:1.78em;padding:0 16px;display:block}.bp-land .mcode .l.chg{animation:1.5s ease-out bp-chg}@keyframes bp-chg{0%{background:#5ee8a042}to{background:0 0}}.bp-land .tok{font:inherit;color:inherit;cursor:pointer;background:#5ee8a01a;border-radius:5px;padding:1px 6px;transition:background-color .15s,opacity .15s;box-shadow:inset 0 0 0 1px #5ee8a06b}.bp-land .tok:hover{background:#5ee8a03d}.bp-land .tok.off{opacity:.45;text-decoration:line-through}.bp-land .tok.off,.bp-land .tok.seg{background:0 0;box-shadow:inset 0 0 0 1px #cdf0dc29}.bp-land .tok.seg{color:var(--code-dim)}.bp-land .tok.seg.on{color:#04140b;background:var(--t-kw);box-shadow:none}.bp-land .tok .sw{vertical-align:0;border-radius:2px;width:9px;height:9px;margin-right:6px;display:inline-block}.bp-land .tok .ph-bold{opacity:.7;margin-left:6px;font-size:9.5px}.bp-land .mright{min-width:0;min-height:440px;position:relative}.bp-land .msheet{flex-direction:column;width:auto;max-width:none;display:flex;position:absolute;inset:0}.bp-land .mright .mcap{margin:0;position:absolute;bottom:-32px;left:0;right:0}.bp-land .msheet .sfbar,.bp-land .msheet .stabs{flex:none}.bp-land .msheet .sgrid{flex:1;align-content:start;min-height:0;overflow:hidden}.bp-land .msheet .s{height:auto}.bp-land .msheet .s.title{background:var(--tt);color:#fff;border-color:var(--tt);grid-column:2/-1;font-size:13.5px;font-weight:800}.bp-land .msheet .s.hd{background:var(--th);border-color:var(--th);gap:6px}.bp-land .msheet .s.hd .ht{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bp-land .fbtn,.bp-land .msheet .s.hd.r .ht{margin-left:auto}.bp-land .fbtn{color:#334155;background:#fffffff0;border-radius:3px;flex:none;place-items:center;width:16px;height:16px;font-size:9px;display:grid}.bp-land .msheet .s.hd.r .fbtn{margin-left:6px}.bp-land .msheet .s.band{background:var(--band)}.bp-land .msheet .s.ft{background:var(--sum);border-top:1.5px solid var(--th);font-weight:800}.bp-land .msheet .s.badge{margin:0}.bp-land .msheet .s.won{color:#166534;background:#dcfce7}.bp-land .msheet .s.prop{color:#92400e;background:#fef3c7}.bp-land .msheet .s.nego{color:#3730a3;background:#e0e7ff}.bp-land .msheet .s.selc{box-shadow:inset 0 0 0 2px var(--th)}.bp-land .msheet .newcol{animation:bp-colin .55s var(--ease) both}@keyframes bp-colin{0%{opacity:0;transform:translateY(-8px)}}.bp-land .mcap{font:500 11.5px/1.4 var(--mono);color:var(--ink-3);justify-content:space-between;gap:16px;margin-top:14px;display:flex}.bp-land .mcap b{color:var(--ink-2);font-weight:500}.bp-land .rail{scroll-snap-type:x mandatory;padding:40px var(--gutter) 30px;margin:20px calc(-1 * var(--gutter)) 0;perspective:1800px;scrollbar-width:none;gap:56px;display:flex;overflow-x:auto}.bp-land .rail::-webkit-scrollbar{display:none}.bp-land .card{scroll-snap-align:start;flex:none;width:calc(min(580px,84vw))}.bp-land .plate{border:1px solid var(--line);background:var(--panel);transform-origin:0;transition:transform .7s var(--ease);box-shadow:var(--shadow);padding:10px;position:relative;transform:perspective(1600px)rotateY(-10deg)rotateX(3deg)}.bp-land .card:hover .plate{transform:perspective(1600px)rotateY(0)translateY(-6px)}.bp-land .plate img{aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover;-o-object-position:top left;object-position:top left;cursor:zoom-in;width:100%;display:block}.bp-land .plate .corner{border:1.5px solid var(--accent);width:14px;height:14px;position:absolute}.bp-land .plate .corner.tl{border-bottom:0;border-right:0;top:-6px;left:-6px}.bp-land .plate .corner.br{border-top:0;border-left:0;bottom:-6px;right:-6px}.bp-land .cap{grid-template-columns:1fr auto;align-items:end;gap:6px 20px;margin-top:22px;display:grid}.bp-land .cap h3{font-variation-settings:"wdth" 104;letter-spacing:-.015em;font-size:22px;font-weight:750}.bp-land .cap p{color:var(--ink-2);grid-column:1;font-size:15px;line-height:1.5}.bp-land .cap a{font:500 13px/1 var(--mono);color:var(--accent);white-space:nowrap;grid-area:1/2/3;align-items:center;gap:8px;display:inline-flex}.bp-land .cap a:hover{text-underline-offset:4px;text-decoration:underline}.bp-land .engine{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:40px;min-height:86vh;display:grid}.bp-land .install{border:1px solid var(--accent-line);border-radius:var(--r);background:var(--accent-soft);max-width:520px;font:500 calc(clamp(20px,2.2vw,28px))/1 var(--mono);justify-content:space-between;align-items:center;gap:20px;margin-top:40px;padding:18px 18px 18px 22px;display:flex}.bp-land .install .prompt{color:var(--ink-3);margin-right:12px}.bp-land .install button{border-radius:var(--r);width:44px;height:44px;color:var(--ink-2);border:1px solid var(--line-faint);place-items:center;font-size:20px;display:grid}.bp-land .install button:hover{color:var(--accent);border-color:var(--accent)}.bp-land .engine .ctas{margin-top:22px}.bp-land .arch{perspective:2400px;perspective-origin:50% 10%;height:620px;position:relative}@property --g{syntax:"<length>";inherits:true;initial-value:42px}.bp-land .arch-iso{width:330px;height:210px;transform-style:preserve-3d;--g:42px;margin-left:-165px;animation:5s ease-in-out infinite alternate bp-breathe;position:absolute;top:370px;left:50%;transform:rotateX(57deg)rotate(-38deg)}@keyframes bp-breathe{0%{--g:48px}to{--g:64px}}.bp-land .fs{transform-style:preserve-3d;transform:translateZ(calc(var(--i) * var(--g)));position:absolute;inset:0}.bp-land .fs .face{background-color:color-mix(in oklab,var(--accent) 4%,transparent);border-color:var(--line-faint);grid-template-rows:none;grid-template-columns:none;padding:12px 14px;display:block}.bp-land .fs .edge{background-color:color-mix(in oklab,var(--accent) 20%,transparent)}.bp-land .fs .path{font:500 12px/1 var(--mono);color:var(--accent)}.bp-land .fs .xml{font:400 9.5px/1.7 var(--mono);color:var(--ink-3);white-space:pre;margin-top:12px}.bp-land .fs.zip .face{background-color:var(--accent);border-color:var(--accent);justify-content:center;align-items:center;display:flex}.bp-land .fs.zip .path{color:var(--accent-ink);font-size:20px;font-weight:700}.bp-land .fs.zip .edge{background-color:color-mix(in oklab,var(--accent) 60%,#000)}.bp-land .fs.zip .edge-b{height:22px}.bp-land .fs.zip .edge-l{width:22px}.bp-land .arch .ground{transform:translateZ(-30px)}@media (width<=1180px){.bp-land .hero{grid-template-columns:minmax(0,1fr);padding-top:48px}.bp-land .stage{height:620px;margin-right:0}.bp-land .render-grid{grid-template-columns:minmax(0,1fr)}.bp-land .findex{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid;position:static}.bp-land .fgroup+.fgroup{border-top:0;margin-top:0;padding-top:0}.bp-land .spec-wrap{overflow-x:auto}.bp-land .engine,.bp-land .mod2,.bp-land .types-grid{grid-template-columns:minmax(0,1fr)}.bp-land .msheet .s.fill{display:none}.bp-land .mright{min-height:0;position:static}.bp-land .msheet{position:static}.bp-land .mright .mcap{margin-top:14px;position:static}}@media (width<=767px){.bp-land .sec{padding:96px 0 24px}.bp-land .stage{flex-direction:column;justify-content:flex-end;height:560px;margin-top:28px;display:flex}.bp-land .ed-body{overflow-x:auto}.bp-land .iso{top:120px}.bp-land .builder,.bp-land .parts,.bp-land .parts-h,.bp-land svg.leaders{display:none}.bp-land .dwg{width:100%;position:relative;bottom:auto;right:auto}.bp-land .counter{top:4%}.bp-land .rows{font-size:15vw}.bp-land .stats{left:var(--gutter);right:var(--gutter);width:auto;bottom:3%}.bp-land .st .v{font-size:24px}.bp-land svg.pipe{height:44%;top:24%}.bp-land .findex{grid-template-columns:1fr}.bp-land .spec-stack{transform:none}.bp-land .ccard{width:300px}.bp-land .arch{height:440px}.bp-land .arch-iso{top:220px;transform:scale(.7)rotateX(57deg)rotate(-38deg)}}.bp-pg .mono,.bp-pg code{font-family:var(--mono)}.bp-pg .wrap{max-width:var(--maxw);padding:0 var(--gutter);margin:0 auto}.bp-pg .accent{color:var(--accent)}.bp-pg .lede{color:var(--ink-2);text-wrap:pretty;max-width:36em;margin-top:18px;font-size:18px;line-height:1.55}.bp-pg .btn{border-radius:var(--r);height:48px;font:650 15px/1 var(--display);white-space:nowrap;border:1px solid #0000;align-items:center;gap:10px;padding:0 20px;transition:transform .15s,filter .2s,border-color .2s;display:inline-flex}.bp-pg .btn:active{transform:translateY(1px)scale(.98)}.bp-pg .btn-primary{background:var(--accent);color:var(--accent-ink)}.bp-pg .btn-primary:hover{filter:brightness(1.08)}.bp-pg .btn-ghost{border-color:var(--line-faint);color:var(--ink);background:color-mix(in oklab,var(--bg) 70%,transparent);font:500 14px/1 var(--mono)}.bp-pg .btn-ghost:hover{border-color:var(--line)}.bp-pg .btn.sm{gap:8px;height:36px;padding:0 14px;font-size:13px}.bp-pg .btn .dim{opacity:.6;font-family:var(--mono);font-size:12px}.bp-pg .view{display:none}.bp-pg[data-view=detail] #v-detail,.bp-pg[data-view=index] #v-index{display:block}.bp-pg .pg-head{padding:64px var(--gutter) 0}.bp-pg .h1{font-variation-settings:"wdth" 106;letter-spacing:-.034em;font-size:calc(clamp(42px,5vw,76px));font-weight:800;line-height:.93}.bp-pg .feat{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:32px;margin-top:8px;display:grid}.bp-pg .deck-stage{perspective:2400px;perspective-origin:45% 15%;height:540px;position:relative}.bp-pg .deck-stage:before{content:"";background:radial-gradient(closest-side,color-mix(in oklab,var(--accent) 14%,transparent),transparent 75%);pointer-events:none;width:85%;height:70%;position:absolute;top:20%;left:5%}.bp-pg .deck{width:310px;height:196px;transform-style:preserve-3d;margin-left:-190px;position:absolute;top:300px;left:50%;transform:rotateX(57deg)rotate(-40deg)}.bp-pg .deck .ground{background:radial-gradient(closest-side,var(--ground),transparent);position:absolute;inset:-50px;transform:translateZ(-30px)}.bp-pg .plate{transform-style:preserve-3d;transform:translateZ(calc(var(--i) * 15px + var(--pull,0) * 40px)) translateX(calc(var(--pull,0) * 190px));transition:transform .7s var(--ease);position:absolute;inset:0}.bp-pg .plate .pf{border:1px solid var(--line-faint);background-color:color-mix(in oklab,var(--panel) 92%,transparent);transition:background-color .4s,border-color .4s;position:absolute;inset:0;overflow:hidden}.bp-pg .plate .pf:before{content:"";background-image:linear-gradient(var(--line-ghost) 1px,transparent 1px),linear-gradient(90deg,var(--line-ghost) 1px,transparent 1px);background-size:100% 20px,52px 100%;position:absolute;inset:36px 0 18px}.bp-pg .plate .band{background:var(--tc);opacity:.7;height:18px;position:absolute;top:18px;left:0;right:0}.bp-pg .plate .lbl{font:500 9.5px/1 var(--mono);color:var(--ink-2);white-space:nowrap;position:absolute;bottom:3px;left:10px}.bp-pg .plate .edge{background-color:color-mix(in oklab,var(--accent) 16%,var(--panel));position:absolute}.bp-pg .plate .edge-b{transform-origin:bottom;width:100%;height:5px;bottom:0;left:0;transform:rotateX(90deg)}.bp-pg .plate .edge-l{transform-origin:0;width:5px;height:100%;top:0;left:0;transform:rotateY(90deg)}.bp-pg .plate.on .pf{border-color:var(--accent);background-color:#fbfdfc}.bp-pg .plate.on .pf:before{background-image:linear-gradient(#e3eae6 1px,#0000 0),linear-gradient(90deg,#e3eae6 1px,#0000 0)}.bp-pg .plate.on .band{opacity:1}.bp-pg .plate.on .lbl{color:#13241a;font-weight:700}.bp-pg .plate .ttl{font:700 9.5px/1 var(--mono);color:var(--ink-3);opacity:0;transition:opacity .3s;position:absolute;top:4px;left:10px}.bp-pg .plate.on .ttl{opacity:1;color:#13241a}.bp-pg .dwg2{border:1px solid var(--line);background:color-mix(in oklab,var(--bg) 86%,transparent);font-family:var(--mono)}.bp-pg .dwg2 .tt{font:800 19px/1 var(--display);font-variation-settings:"wdth" 125;letter-spacing:.08em;padding:14px 16px 13px}.bp-pg .dwg2 .fdesc,.bp-pg .dwg2 .tt,.bp-pg .tablist{border-bottom:1px solid var(--line)}.bp-pg .dwg2 .fdesc{font:400 15px/1.5 var(--display);color:var(--ink-2);padding:14px 16px}.bp-pg .tablist{grid-template-columns:1fr 1fr;list-style:none;display:grid}.bp-pg .tablist li{color:var(--ink-2);cursor:pointer;align-items:center;gap:9px;padding:7px 14px;font-size:12px;transition:background-color .2s,color .2s;display:flex}.bp-pg .tablist li:nth-child(odd){border-right:1px solid var(--line-faint)}.bp-pg .tablist li .sq{background:var(--tc);border-radius:2px;flex:none;width:8px;height:8px}.bp-pg .tablist li b{color:var(--ink-3);width:18px;font-weight:500}.bp-pg .tablist li.on,.bp-pg .tablist li:hover{background:var(--accent-soft);color:var(--ink)}.bp-pg .tablist li.on b{color:var(--accent)}.bp-pg .dwg2 dl{grid-template-columns:repeat(3,1fr);display:grid}.bp-pg .dwg2 dl div{padding:11px 16px}.bp-pg .dwg2 dl div+div{border-left:1px solid var(--line-faint)}.bp-pg .dwg2 dt{letter-spacing:.1em;color:var(--ink-3);font-size:10.5px}.bp-pg .dwg2 dd{color:var(--ink);margin-top:4px;font-size:13px}.bp-pg .feat .ctas{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.bp-pg .cat{padding-top:48px;padding-bottom:40px}.bp-pg .tour-h{margin-top:40px;margin-bottom:20px}.bp-pg .feat:last-child{margin-bottom:96px}.bp-pg .cat-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px;display:flex}.bp-pg .h3{font-variation-settings:"wdth" 106;letter-spacing:-.025em;font-size:calc(clamp(28px,3vw,40px));font-weight:800;line-height:1}.bp-pg .filters{flex-wrap:wrap;gap:6px;display:flex}.bp-pg .filters button{border:1px solid var(--line-faint);border-radius:var(--r);height:34px;font:500 12.5px/1 var(--mono);color:var(--ink-2);align-items:center;gap:8px;padding:0 13px;display:inline-flex}.bp-pg .filters button span{color:var(--ink-3)}.bp-pg .filters button.on{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.bp-pg .filters button.on span{color:var(--accent)}.bp-pg .agrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;display:grid}.bp-pg .acard{flex-direction:column;transition:opacity .35s,transform .35s;display:flex}.bp-pg .acard.hide{opacity:.18;transform:scale(.98)}.bp-pg .thumb{border:1px solid var(--line-faint);background:var(--panel);transition:transform .45s var(--ease),border-color .3s;box-shadow:var(--shadow);padding:10px;position:relative}.bp-pg .acard:hover .thumb{border-color:var(--accent-line);transform:translateY(-6px)}.bp-pg .thumb .corner{border:1.5px solid var(--accent);opacity:0;width:12px;height:12px;transition:opacity .3s;position:absolute}.bp-pg .thumb .tl{border-bottom:0;border-right:0;top:-5px;left:-5px}.bp-pg .thumb .br{border-top:0;border-left:0;bottom:-5px;right:-5px}.bp-pg .acard:hover .corner{opacity:1}.bp-pg .mini{color:#13241a;height:188px;font:9.5px/1.2 var(--cellfont);background:#fbfdfc;overflow:hidden}.bp-pg .mini table{border-collapse:collapse;width:100%}.bp-pg .mini td,.bp-pg .mini th{text-align:left;white-space:nowrap;border:1px solid #e3eae6;padding:4px 5px}.bp-pg .mini th{color:#fff;background:var(--h);font-weight:700}.bp-pg .mini .rn{color:#6e8277;text-align:center;width:18px;font-family:var(--mono);background:#eef3f0;padding:4px 2px;font-size:7.5px}.bp-pg .mini .r{text-align:right}.bp-pg .mini .c{text-align:center}.bp-pg .mini .ttl td{background:var(--h2,var(--h));color:#fff;font-size:10px;font-weight:800}.bp-pg .mini .ft td{background:var(--ft,#e7f4ec);border-top:1.5px solid var(--h);font-weight:800}.bp-pg .mini .band td{background:var(--band)}.bp-pg .mini .neg{color:#b42318;font-weight:700}.bp-pg .mini .pos{color:#15803d;font-weight:700}.bp-pg .mini .bdg{text-align:center;font-weight:700}.bp-pg .mini .inp{background:#fffbeb}.bp-pg .mini .lk{color:#7d9186}.bp-pg .mini .fb{color:#334155;float:right;background:#fff;border-radius:2px;width:11px;height:11px;margin-left:4px}.bp-pg .mini .fb,.bp-pg .mini .img{place-items:center;font-size:7px;display:inline-grid}.bp-pg .mini .img{color:#fff;border-radius:3px;width:16px;height:16px;font-weight:700}.bp-pg .mini .link{color:#0563c1;text-decoration:underline}.bp-pg .mini .gap td{background:#fbfdfc;border:0;height:8px}.bp-pg .ameta{padding:16px 2px 0}.bp-pg .ameta .kind{font:500 11.5px/1 var(--mono);color:var(--accent)}.bp-pg .ameta h3{font-variation-settings:"wdth" 104;letter-spacing:-.012em;margin-top:9px;font-size:18px;font-weight:750;line-height:1.2}.bp-pg .ameta p{color:var(--ink-2);margin-top:6px;font-size:14px;line-height:1.5}.bp-pg .ameta .af{font:500 11.5px/1 var(--mono);color:var(--ink-3);justify-content:space-between;align-items:center;margin-top:12px;display:flex}.bp-pg .ameta .af i{color:var(--accent);font-size:14px;transition:transform .3s}.bp-pg .acard:hover .af i{transform:translate(4px)}.bp-pg .wb{flex-direction:column;min-height:700px;display:flex}.bp-pg .wb-top{padding:12px var(--gutter);flex-wrap:wrap;justify-content:space-between;gap:12px}.bp-pg .crumbs,.bp-pg .wb-actions,.bp-pg .wb-top{align-items:center;display:flex}.bp-pg .crumbs{font:500 13px/1 var(--mono);color:var(--ink-3);gap:10px}.bp-pg .crumbs a:hover,.bp-pg .crumbs span{color:var(--ink)}.bp-pg .crumbs .ph{font-size:11px}.bp-pg .wb-actions{gap:8px}.bp-pg .wb-tb{margin:0 var(--gutter);border:1px solid var(--line);font-family:var(--mono);background:color-mix(in oklab,var(--bg) 86%,transparent);grid-template-columns:minmax(0,2.2fr) repeat(5,minmax(0,1fr));display:grid}.bp-pg .wb-tb>div{min-width:0;padding:9px 14px}.bp-pg .wb-tb>div+div{border-left:1px solid var(--line)}.bp-pg .wb-tb span{letter-spacing:.12em;color:var(--ink-3);font-size:10px;display:block}.bp-pg .wb-tb b{font:800 15px/1 var(--display);font-variation-settings:"wdth" 122;letter-spacing:.07em}.bp-pg .wb-tb b,.bp-pg .wb-tb code{white-space:nowrap;text-overflow:ellipsis;margin-top:5px;display:block;overflow:hidden}.bp-pg .wb-tb code{color:var(--ink);font-size:13px}.bp-pg .wb-tb code.ac{color:var(--accent)}.bp-pg .wb-main{min-height:0;margin:14px var(--gutter) 16px;border:1px solid var(--line-faint);border-radius:var(--r);box-shadow:var(--shadow);flex:1;grid-template-columns:232px minmax(0,1fr) minmax(0,1.18fr);display:grid;position:relative;overflow:hidden}.bp-pg .wb-main[data-mode=code]{grid-template-columns:232px minmax(0,1fr) 0}.bp-pg .wb-main[data-mode=sheet]{grid-template-columns:232px 0 minmax(0,1fr)}.bp-pg .wb-main[data-mode=code] .wb-sheet,.bp-pg .wb-main[data-mode=sheet] .wb-code{visibility:hidden}.bp-pg .wb-files{background:color-mix(in oklab,var(--panel) 94%,var(--bg));border-right:1px solid var(--line-faint);font:12.5px/1 var(--mono);padding:12px 8px;overflow:auto}.bp-pg .wb-files h4{font:500 10px/1 var(--mono);letter-spacing:.14em;color:var(--ink-3);padding:12px 8px 8px}.bp-pg .wb-files h4:first-child{padding-top:4px}.bp-pg .fi{width:100%;color:var(--ink-2);text-align:left;border-radius:6px;align-items:center;gap:9px;padding:7px 8px;display:flex}.bp-pg .fi .ph{color:var(--ink-3);flex:none;font-size:15px}.bp-pg .fi span,.bp-pg .fname span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bp-pg .fi small{color:var(--ink-3);margin-left:auto;font-size:10.5px}.bp-pg .fi.on,.bp-pg .fi:hover{color:var(--ink);background:var(--accent-soft)}.bp-pg .fi.on{box-shadow:inset 2px 0 0 var(--accent)}.bp-pg .fi.on .ph{color:var(--accent)}.bp-pg .fi.more{color:var(--ink-3);font-size:11.5px}.bp-pg .pane-h{flex:none;justify-content:space-between;gap:12px;height:44px;padding:0 10px 0 14px}.bp-pg .fname,.bp-pg .pane-h{align-items:center;display:flex}.bp-pg .fname{gap:9px;min-width:0;font-size:13px}.bp-pg .fname .ph{font-size:16px}.bp-pg .fname b{font:600 13px/1 var(--mono);white-space:nowrap}.bp-pg .fname span{font:400 11.5px/1 var(--mono)}.bp-pg .seg{border-radius:var(--r);border:1px solid #cdf0dc24;gap:3px;padding:3px;display:flex}.bp-pg .seg button{height:26px;font:500 11.5px/1 var(--mono);color:var(--code-dim);border-radius:5px;padding:0 10px}.bp-pg .seg button.on{color:var(--t-kw);background:#5ee8a029}.bp-pg .wb-code{background:var(--code-bg);min-width:0;min-height:0;color:var(--code-ink);flex-direction:column;display:flex}.bp-pg .wb-code .pane-h{border-bottom:1px solid var(--code-line)}.bp-pg .wb-code .fname .ph{color:var(--t-kw)}.bp-pg .wb-code .fname span{color:var(--code-dim)}.bp-pg .code-body{font:12.5px/1.8 var(--mono);flex:1;padding:10px 0 24px;overflow:auto}.bp-pg .cl{white-space:pre;cursor:default;padding-right:16px;display:flex}.bp-pg .cl[data-col]{cursor:pointer}.bp-pg .cl .ln{text-align:right;color:#38503f;-webkit-user-select:none;user-select:none;flex:none;width:52px;padding-right:16px}.bp-pg .cl:hover[data-col]{background:#5ee8a00a}.bp-pg .cl.sel{box-shadow:inset 2px 0 0 var(--t-kw);background:#5ee8a017}.bp-pg .cl.sel .ln{color:var(--t-kw)}.bp-pg .cl.fold .tx{color:var(--code-dim);font-style:italic}.bp-pg .t-kw{color:var(--t-kw)}.bp-pg .t-key{color:var(--t-key)}.bp-pg .t-fn{color:var(--t-fn)}.bp-pg .t-num{color:var(--t-num)}.bp-pg .t-com{color:var(--t-com);font-style:italic}.bp-pg .t-tag{color:var(--t-tag)}.bp-pg .t-attr{color:var(--t-attr)}.bp-pg .wb-sheet{color:#13241a;border-left:1px solid var(--line-faint);background:#fbfdfc;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.bp-pg .wb-sheet .pane-h{background:#f3f7f5;border-bottom:1px solid #d8e3dc}.bp-pg .wb-sheet .fname .ph{color:#17603d}.bp-pg .wb-sheet .fname span{color:#6e8277}.bp-pg .wb-sheet .hint{font:500 11px/1 var(--mono);color:#6e8277;align-items:center;gap:6px;display:flex}.bp-pg .mseg{border-color:#c9d6ce;display:none}.bp-pg .mseg button{color:#6e8277}.bp-pg .mseg button.on{color:#17603d;background:#dff3e7}.bp-pg .sfb{background:#fff;border-bottom:1px solid #d8e3dc;flex:none;height:32px;font-size:12px}.bp-pg .sfb,.bp-pg .sfb .ref{align-items:center;display:flex}.bp-pg .sfb .ref{width:70px;height:100%;font:500 11.5px/1 var(--mono);border-right:1px solid #d8e3dc;padding:0 10px}.bp-pg .sfb .fxs{color:#7d9186;padding:0 10px;font-family:Georgia,serif;font-style:italic}.bp-pg .sfb .val{font:12px/1 var(--mono);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bp-pg .gscroll{flex:1;min-height:0;position:relative;overflow:auto}.bp-pg .xgrid{width:max-content;font:12.5px/1.3 var(--cellfont);color:#13241a;grid-template-rows:22px 34px 32px repeat(13,46px);grid-template-columns:36px 112px 148px 168px 270px 270px 86px 92px;display:grid}.bp-pg .x{cursor:cell;background:#fbfdfc;border-bottom:1px solid #e3eae6;border-right:1px solid #e3eae6;align-items:center;padding:0 9px;display:flex;position:relative;overflow:hidden}.bp-pg .x.lt,.bp-pg .x.rn{color:#6e8277;font:500 10.5px/1 var(--mono);cursor:default;background:#eef3f0;justify-content:center;padding:0}.bp-pg .x.lt{z-index:3;cursor:pointer;position:sticky;top:0}.bp-pg .x.rn{z-index:2;position:sticky;left:0}.bp-pg .x.corner{z-index:6;position:sticky;top:0;left:0}.bp-pg .x.fr1{z-index:3;position:sticky;top:22px}.bp-pg .x.fr2{z-index:3;border-bottom:2px solid #8a9d93;position:sticky;top:56px}.bp-pg .x.fa{z-index:2;position:sticky;left:36px}.bp-pg .x.fb{z-index:2;border-right:2px solid #8a9d93;position:sticky;left:148px}.bp-pg .x.fr2.fa,.bp-pg .x.fr2.fb{z-index:4}.bp-pg .x.rn.fr1,.bp-pg .x.rn.fr2{z-index:5}.bp-pg .x.title{border-color:#0f172a;font-size:14px;font-weight:800}.bp-pg .x.hd,.bp-pg .x.title{color:#fff;background:#0f172a}.bp-pg .x.hd{border-color:#1e293b;font-weight:700}.bp-pg .x.wrapc{white-space:normal;align-items:flex-start;padding-top:6px;font-size:11.5px;line-height:1.35}.bp-pg .x.bdg{justify-content:center;font-weight:700}.bp-pg .x.link{color:#0563c1;text-underline-offset:2px;text-decoration:underline}.bp-pg .x.ctr{justify-content:center}.bp-pg .x .ph-bold{color:#15803d;font-size:17px}.bp-pg .x.csel{box-shadow:inset 0 0 0 999px #17603d12}.bp-pg .x.lt.on,.bp-pg .x.rn.on{color:#0f5132;background:#cfe9da;font-weight:700}.bp-pg .x.sel{box-shadow:inset 0 0 0 2px #17603d}.bp-pg .xtabs{scrollbar-width:none;background:#f3f7f5;border-top:1px solid #d8e3dc;flex:none;align-items:stretch;height:32px;font-size:12px;display:flex;overflow-x:auto}.bp-pg .xtabs::-webkit-scrollbar{display:none}.bp-pg .xtabs button{color:#6e8277;white-space:nowrap;cursor:pointer;border-right:1px solid #d8e3dc;align-items:center;padding:0 14px;display:flex}.bp-pg .xtabs button.on{color:#17603d;background:#fbfdfc;font-weight:700;box-shadow:inset 0 -2px #17603d}.bp-pg .drawer{background:var(--code-bg);max-height:0;color:var(--code-ink);transition:max-height .45s var(--ease);flex:none;overflow:hidden}.bp-pg .dr-h{border-bottom:1px solid var(--code-line);height:40px;font:500 12px/1 var(--mono);color:var(--code-dim);justify-content:space-between;align-items:center;padding:0 10px 0 14px;display:flex}.bp-pg .dr-h b{color:var(--t-kw);font-weight:500}.bp-pg .dr-h button{width:28px;height:28px;color:var(--code-dim);border-radius:6px;place-items:center;display:grid}.bp-pg .dr-h button:hover{color:var(--code-ink);background:#cdf0dc14}.bp-pg .dr-b{font:12px/1.65 var(--mono);grid-template-columns:150px minmax(0,1fr);gap:4px 14px;padding:10px 14px 14px;display:grid}.bp-pg .dr-b .k{color:var(--code-dim);white-space:nowrap}.bp-pg .dr-b .v{white-space:pre;text-overflow:ellipsis;overflow:hidden}.bp-pg .dr-b .v a{color:var(--t-kw);text-underline-offset:3px;text-decoration:underline}.bp-pg svg.wb-link{pointer-events:none;z-index:8;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.bp-pg svg.wb-link path{fill:none;stroke:var(--accent);stroke-width:1.4px;stroke-dasharray:4 4}.bp-pg svg.wb-link circle{fill:var(--accent)}html:not(.dark) .bp-pg svg.wb-link path{stroke:#0e9f5a}@media (width<=1180px){.bp-pg .feat{grid-template-columns:1fr}.bp-pg .agrid{grid-template-columns:repeat(2,minmax(0,1fr))}.bp-pg .wb-tb{grid-template-columns:repeat(3,minmax(0,1fr))}.bp-pg .wb-tb>div:nth-child(4){border-left:0}.bp-pg .wb-tb>div:nth-child(n+4){border-top:1px solid var(--line)}}@media (width<=900px){.bp-pg .wb-main,.bp-pg .wb-main[data-mode]{grid-template-columns:minmax(0,1fr);height:720px}.bp-pg .wb-files,.bp-pg .wb-main[data-mode=code] .wb-sheet,.bp-pg .wb-main[data-mode=sheet] .wb-code,.bp-pg .wb-main[data-mode=split] .wb-code,.bp-pg svg.wb-link{display:none}.bp-pg .mseg{display:flex}.bp-pg .btn .dim,.bp-pg .wb-sheet .hint{display:none}}@media (width<=767px){.bp-pg .agrid,.bp-pg .tablist{grid-template-columns:1fr}.bp-pg .deck-stage{height:420px}.bp-pg .deck{margin-left:-170px;top:220px;transform:scale(.72)rotateX(57deg)rotate(-40deg)}.bp-pg .tablist li:nth-child(odd){border-right:0}.bp-pg .wb-tb{grid-template-columns:1fr 1fr}.bp-pg .wb-tb>div:nth-child(n+3){border-top:1px solid var(--line)}.bp-pg .wb-tb>div:nth-child(odd){border-left:0}}.bp .ic{flex:none;width:1.05em;height:1.05em}.bp svg.ico{vertical-align:-.125em;flex:none;width:1em;height:1em;display:inline-block}.bp-land .sgrid-wrap,.bp-pg .code-body,.bp-pg .mini{position:relative}.bp-land .s svg.chk,.bp-land .s svg.unchk{font-size:16px}.bp-land .fitem,.bp-pg .code-body .line.blk,.bp-pg .dr-b .v a{cursor:pointer}.bp-land .st .v .v2{margin-left:.38em}.bp-land .plate-link{display:block}.bp-land .tok svg.swap{opacity:.7;margin-left:6px;font-size:10px}.bp-land .fbtn svg{font-size:9px}.bp-land .editor,.bp-land .xl{min-width:0}.bp-pg .icon-btn{border-radius:var(--r);width:36px;height:36px;color:var(--ink-2);place-items:center;font-size:18px;display:grid}.bp-pg .icon-btn:hover{color:var(--ink);background:var(--accent-soft)}.bp-pg .crumbs .ic{font-size:12px}.bp-pg .wb{height:calc(100dvh - var(--nav-h));min-height:720px}.bp-pg .wb-sum{margin:10px var(--gutter) 0;color:var(--ink-2);max-width:72em;font-size:14.5px;line-height:1.5}.bp-pg .fi .ic{color:var(--ink-3);font-size:15px}.bp-pg .fi.on .ic{color:var(--accent)}.bp-pg .fi small{text-overflow:ellipsis;white-space:nowrap;max-width:90px;overflow:hidden}.bp-pg .fname .ic{flex:none;font-size:16px}.bp-pg .wb-code .fname .ic{color:var(--t-kw)}.bp-pg .wb-sheet .fname .ic{color:#17603d}.bp-pg .wb-sheet .hint .ic{font-size:13px}.bp-pg .xtabs button{font:inherit;background:0 0;flex:none}.bp-pg .code-body pre{font:12.5px/1.8 var(--mono);counter-reset:ln;margin:0;padding:0;overflow:visible;background:0 0!important}.bp-pg .code-body pre code{min-width:max-content;display:block}.bp-pg .code-body .line{white-space:pre;min-width:100%;padding-right:16px;display:inline-block}.bp-pg .code-body .line:before{counter-increment:ln;content:counter(ln);text-align:right;color:#38503f;-webkit-user-select:none;user-select:none;width:52px;padding-right:16px;display:inline-block}.bp-pg .code-body .line.blk:hover{background:#5ee8a00d}.bp-pg .code-body .line.sel{box-shadow:inset 2px 0 0 var(--t-kw);background:#5ee8a01a}.bp-pg .code-body .line.sel:before{color:var(--t-kw)}.bp-pg .xml-pre{color:var(--code-ink)}.bp-pg .code-loading{height:100%;min-height:200px;font:500 12px/1 var(--mono);color:var(--code-dim);place-items:center;display:grid}.bp-pg .wb-sheet .code-loading{color:#6e8277}.bp-pg .gscroll{background:#fff}.bp-pg .drawer.open{max-height:300px;overflow:auto}.bp-pg .dr-b .v{white-space:pre-wrap;word-break:break-word}@media (width<=1100px){.bp-pg .hide-sm{display:none}}@media (width<=900px){.bp-pg .wb{height:auto;min-height:0}}.bp-pg .pg-head.wrap{padding-top:64px}.bp-pg .tablist li{padding:0}.bp-pg .tablist li a{width:100%;color:inherit;align-items:center;gap:9px;padding:7px 14px;display:flex}.bp-pg .ameta .af .ic{color:var(--accent);font-size:14px;transition:transform .3s}.bp-pg .acard:hover .af .ic{transform:translate(4px)}.bp-pg .btn .ic{font-size:1.05em}html.dark .bp-pg .code-body .shiki .line.blk:hover{background-color:#5ee8a00d!important}html.dark .bp-pg .code-body .shiki .line.sel{background-color:#5ee8a01a!important}.bp-land .bw{margin-top:56px}.bp-land .bw-stage{grid-template-columns:minmax(0,420px) 96px minmax(0,1fr);align-items:center;display:grid;position:relative}.bp-land .bw-server{z-index:2;background:var(--code-bg);border-radius:var(--r);box-shadow:var(--shadow);font:12.5px/1.72 var(--mono);color:var(--code-ink);transition:filter .8s var(--ease),opacity .8s var(--ease),transform .8s var(--ease);border:1px solid #cdf0dc24;position:relative;overflow:hidden;font-size:12px!important}.bp-land .bw-server .ct{border-bottom:1px solid var(--code-line);height:42px;color:var(--code-dim);align-items:center;gap:9px;padding:0 14px;font-size:12px;display:flex}.bp-land .bw-server .ct .file{color:var(--code-ink)}.bp-land .bw-server .ct .where{margin-left:auto;font-size:11px}.bp-land .bw-server pre{font:inherit;padding:12px 0 14px;overflow-x:auto}.bp-land .bw-server .l{white-space:pre;min-height:1.72em;padding:0 14px;display:block}.bp-land .bw-server .l.bk{background:#e0a92b0f;box-shadow:inset 2px 0 #e0a92b}.bp-land .bw-server .l.wr{background:#3ee38c0d;box-shadow:inset 2px 0 #3ee38c}.bp-land .bw-status{border-top:1px solid var(--code-line);align-items:center;height:40px;padding:0 14px;font-size:11.5px;display:flex}.bp-land .bw-status .run{color:#5ee8a0;align-items:center;gap:8px;display:inline-flex}.bp-land .bw-status .led{background:#5ee8a0;border-radius:50%;width:7px;height:7px;animation:1.6s infinite nxpulse;box-shadow:0 0 10px #5ee8a0}.bp-land .bw-status .gone{color:#8fa99a;align-items:center;gap:8px;display:none}.bp-land .bw.off .bw-server{border-color:#cdf0dc14}.bp-land .bw.off .bw-server .ct .file{color:var(--code-dim)}.bp-land .bw.off .bw-status .run{display:none}.bp-land .bw.off .bw-status .gone{display:inline-flex}.bp-land .bw-conduit{width:100%;height:100%;transition:opacity .6s;display:block;overflow:visible}.bp-land .bw-conduit path{fill:none;stroke-width:1.5px;stroke-dasharray:3 5}.bp-land .bw-conduit .ca{stroke:#e0a92b}.bp-land .bw-conduit .cw{stroke:var(--accent)}.bp-land .bw.off .bw-conduit{opacity:.12}.bp-land .bw-book{z-index:1;position:relative}.bp-land .bw-book .spec{width:100%}.bp-land .bw-book .sgrid{--cols:28px minmax(118px, 1.25fr) minmax(58px, .5fr) minmax(80px, .7fr) minmax(128px, 1fr) minmax(128px, 1fr);--rows:22px 32px repeat(3, 38px) 38px}.bp-land .s .hic{flex:none;width:14px;height:14px;margin-right:7px}.bp-land .s.hd .hic.bk{color:#f5c561}.bp-land .s.hd .hic.wr{color:#86f0b8}.bp-land .s.bk{background:#fffaeb}.bp-land .s.wr{background:#f0faf4}.bp-land .s.wr .fx{font:500 11.5px/1 var(--mono);color:#15803d}.bp-land .s.wr.hi{color:#0f5132;background:#c9f2d9;font-weight:700}.bp-land .s.pick{z-index:2;box-shadow:inset 0 0 0 2px #17603d}.bp-land .s.editing:after{content:"";background:#13241a;width:1.5px;height:15px;margin-left:2px;animation:1s step-end infinite bwcaret}.bp-land .s .pop{animation:bwpop .45s var(--ease);display:inline-block}@keyframes bwpop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}.bp-land .bw-wires{pointer-events:none;z-index:3;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.bp-land .bw-wires path{fill:none;stroke:#15803d;stroke-width:1.6px;stroke-dasharray:4 4;opacity:0;transition:opacity .6s}.bp-land .bw.wired .bw-wires path{opacity:.6}.bp-land .bw-wires .pulse{fill:#22c55e;stroke:#fff;stroke-width:1.6px;filter:drop-shadow(0 0 4px #22c55e)}.bp-land .bw-stamp{z-index:4;color:#a16207;font:800 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;opacity:0;pointer-events:none;background:#fffaebe6;border:2px solid #b7791f;border-radius:4px;align-items:center;gap:6px;padding:4px 8px;display:flex;position:absolute;transform:rotate(-7deg)}.bp-land .bw-stamp.on{animation:bwstamp .5s var(--ease) forwards}.bp-land .bw-stamp.still{opacity:1}@keyframes bwstamp{0%{opacity:0;transform:rotate(-7deg)scale(1.9)}60%{opacity:1}to{opacity:1;transform:rotate(-7deg)scale(1)}}.bp-land .bw-cursor{z-index:6;opacity:0;pointer-events:none;width:20px;height:20px;transition:left .9s var(--ease),top .9s var(--ease),opacity .3s;filter:drop-shadow(0 2px 3px #00000059);position:absolute;top:0;left:0}.bp-land .bw-cursor.on{opacity:1}.bp-land .bw-chips{z-index:8;pointer-events:none;position:absolute;inset:0}.bp-land .bw-chip{font:700 11.5px/1 var(--mono);white-space:nowrap;will-change:transform;border-radius:5px;padding:5px 9px;position:absolute;top:0;left:0;box-shadow:0 8px 18px -6px #0000008c}.bp-land .bw-chip.bk{color:#2b1d00;background:#e0a92b}.bp-land .bw-chip.wr{color:#03140a;background:#3ee38c}.bp-land .bw-steps{border-top:1px solid var(--line-faint);counter-reset:st;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:34px;list-style:none;display:grid}.bp-land .bw-steps.three{grid-template-columns:repeat(3,minmax(0,1fr))}.bp-land .bw-steps li{cursor:pointer;counter-increment:st;padding:16px 22px 0 0;position:relative}.bp-land .bw-steps li:before{content:counter(st,decimal-leading-zero);font:600 11px/1 var(--mono);letter-spacing:.1em;color:var(--ink-3);margin-bottom:8px;display:block}.bp-land .bw-steps li:after{content:"";background:var(--accent);width:0;height:2px;position:absolute;top:-1px;left:0}.bp-land .bw-steps li.done:after{width:100%}.bp-land .bw-steps li.on:after{width:var(--w,100%);transition:width var(--dur,0s) linear}.bp-land .bw-steps li b{font:700 16px/1.2 var(--display);margin-bottom:5px}.bp-land .bw-steps li b,.bp-land .bw-steps li span{color:var(--ink-3);transition:color .3s;display:block}.bp-land .bw-steps li span{max-width:28ch;font-size:13.5px;line-height:1.45}.bp-land .bw-steps li.done b,.bp-land .bw-steps li.on b{color:var(--ink)}.bp-land .bw-steps li.on span{color:var(--ink-2)}.bp-land .bw-steps li:hover b{color:var(--accent)}.bp-land .nx-eyebrow{font:600 11.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);align-items:center;gap:10px;margin-bottom:22px;display:flex}.bp-land .nx-eyebrow .nx-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:2.2s infinite nxpulse}@keyframes nxpulse{0%{box-shadow:0 0 0 0 var(--accent-line)}70%{box-shadow:0 0 0 9px #0000}to{box-shadow:0 0 #0000}}.bp-land .nx2{grid-template-columns:minmax(0,440px) minmax(0,1fr);align-items:start;gap:40px;margin-top:56px;display:grid}.bp-land .nx2 .mcode{position:relative}.bp-land .nx2 .mcode .ct{padding-right:14px}.bp-land .nx2 .l{transition:opacity .4s,background-color .4s}.bp-land .nx2 .l.act{background:#5ee8a012;box-shadow:inset 2px 0 #5ee8a0}.bp-land .nx2 .tok{color:var(--t-key)}.bp-land .nx2 .tok.bad{-webkit-text-decoration:underline wavy var(--code-danger);-webkit-text-decoration:underline wavy var(--code-danger);text-decoration:underline wavy var(--code-danger);-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-underline-offset:4px}.bp-land .nx2 .caret{vertical-align:-2px;background:var(--t-kw);width:1.5px;height:1.05em;margin-left:1px;animation:1s step-end infinite bwcaret;display:inline-block}.bp-land .nx2-tip{z-index:3;font:12px/1.5 var(--mono);color:#f1d2d2;opacity:0;pointer-events:none;background:#1d0e0e;border:1px solid #ff7a7a80;border-radius:6px;padding:10px 12px;transition:opacity .25s,transform .25s;position:absolute;left:18px;right:18px;transform:translateY(4px)}.bp-land .nx2-tip.on{opacity:1;transform:none}.bp-land .nx2-tip b{color:var(--code-danger)}.bp-land .nx2-tip code{color:#ecc879;font:inherit}.bp-land .nx2-fit{position:relative}.bp-land .nx2-stage{transform-origin:0 0;width:760px;height:470px;font:12px/1 var(--cellfont);color:#13241a;position:absolute;top:0;left:0}.bp-land .nx2-card{box-shadow:var(--shadow)}.bp-land .nx2-card,.bp-land .nx2-card .tab{background:#fbfdfc;border:1px solid #c3d3c9;position:absolute}.bp-land .nx2-card .tab{height:26px;font:700 11.5px/1 var(--cellfont);color:#17603d;border-bottom:0;align-items:center;gap:7px;padding:0 12px;display:flex;top:-26px;left:-1px}.bp-land .nx2-card .tab svg{width:13px;height:13px}.bp-land .nx2-card .tab em{font:500 10.5px/1 var(--mono);color:#7d9186;font-style:normal}.bp-land .nx2-cell{white-space:nowrap;border-bottom:1px solid #e3eae6;border-right:1px solid #e3eae6;align-items:center;padding:0 8px;transition:background-color .3s,color .3s,opacity .5s;display:flex;position:absolute;overflow:hidden}.bp-land .nx2-cell.n{font-variant-numeric:tabular-nums;justify-content:flex-end}.bp-land .nx2-cell.h{color:#fff;background:#17603d;border-color:#124d31;font-weight:700}.bp-land .nx2-cell.bad{color:#991b1b;background:#fde2e2}.bp-land .nx2-cell.good{color:#14532d;background:#dcfce7;font-weight:700}.bp-land .nx2-cell.lbl{color:#0f5132;background:#e9f3ed;font-weight:700}.bp-land .nx2-cell.gt{background:#dff1e6;border-top:1.5px solid #17603d;font-weight:800}.bp-land .nx2-shake{animation:.45s nxshake}@keyframes nxshake{0%,to{transform:none}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.bp-land .nx2-layer{opacity:0;transition:opacity .6s var(--ease);position:absolute;inset:0}.bp-land .nx2-layer.on{opacity:1}.bp-land .nx2-chip{font:600 12px/1 var(--cellfont);font-variant-numeric:tabular-nums;color:#13241a;transition:left .85s var(--ease),top .85s var(--ease),width .85s var(--ease),height .85s var(--ease),background-color .4s,color .4s,border-radius .4s,box-shadow .4s,opacity .4s;z-index:4;border-radius:0;justify-content:flex-end;align-items:center;padding:0 8px;display:flex;position:absolute}.bp-land .nx2-chip.fly{color:#03140a;z-index:6;background:#3ee38c;border-radius:5px;box-shadow:0 10px 20px -8px #00000080}.bp-land .nx2-chip.sum{font-weight:700}.bp-land .nx2-chip.gone{opacity:0}.bp-land .nx2-bar{font:700 10.5px/1 var(--mono);color:#fff;opacity:0;transition:left .9s var(--ease),top .9s var(--ease),width .9s var(--ease),height .9s var(--ease),opacity .3s,background-color .5s;z-index:5;justify-content:center;align-items:flex-start;padding-top:5px;display:flex;position:absolute;overflow:hidden}.bp-land .nx2-bar.on{opacity:1}.bp-land .nx2-links{pointer-events:none;z-index:3;width:760px;height:470px;position:absolute;inset:0;overflow:visible}.bp-land .nx2-links path{fill:none;stroke:var(--accent);stroke-width:1.4px;stroke-dasharray:4 5;opacity:0;transition:opacity .6s}.bp-land .nx2-links path.on{opacity:.75}.bp-land .nx2-links text{font:600 10px/1 var(--mono);fill:var(--accent);letter-spacing:.08em;opacity:0;transition:opacity .6s}.bp-land .nx2-links text.on{opacity:1}.bp-land .nx-points{font:12.5px/1.4 var(--mono);color:var(--ink-2);flex-wrap:wrap;gap:10px 22px;margin-top:26px;display:flex}.bp-land .nx-points span{align-items:center;gap:8px;display:inline-flex}.bp-land .nx-points .ic{color:var(--accent);width:15px;height:15px}.bp-land .nx-note{color:var(--ink-3);margin-top:12px;font-size:13.5px}@media (width<=1100px){.bp-land .nx2{grid-template-columns:minmax(0,1fr)}}@media (width<=1000px){.bp-land .bw-stage{grid-template-columns:minmax(0,1fr);gap:18px}.bp-land .bw-conduit{display:none}.bp-land .bw-book{overflow-x:auto}.bp-land .bw-book .spec{min-width:640px}.bp-land .bw-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:18px}.bp-land .bw-steps.three{grid-template-columns:minmax(0,1fr)}}@media (width<=767px){.bp-land .bw-steps{grid-template-columns:minmax(0,1fr)}.bp-land .bw-steps li span{max-width:none}}@keyframes bwcaret{50%{opacity:0}}.bp-land .nx2-instant .nx2-bar,.bp-land .nx2-instant .nx2-chip,.bp-land .nx2-stage.nx2-instant{transition:none!important}.bp-land .nx2-fit.narrow{overflow:hidden}.bp-land .nx2-fit.narrow .nx2-stage{transition:transform 1.3s var(--ease)}.bp-land .nx2-card.piv{background-color:#fbfdfc;background-image:linear-gradient(90deg,#e4ebe7 1px,#0000 0),linear-gradient(#e4ebe7 1px,#0000 0);background-position:-1px -1px;background-size:80px 28px}.bp-land .nx2-empty,.bp-land .nx2-pbg{background:#fbfdfc;position:absolute}.bp-land .nx2-empty{font:500 11px/1 var(--mono);letter-spacing:.06em;color:#7d9186;white-space:nowrap;border:1px dashed #b9cbbf;padding:9px 14px;transition:opacity .4s,border-color .3s,color .3s;top:50%;left:50%;transform:translate(-50%,-50%)}.bp-land .nx2-empty .e,.bp-land .nx2-empty.err .w{display:none}.bp-land .nx2-empty.err{color:#991b1b;background:#fff5f5;border-color:#e9a3a3}.bp-land .nx2-empty.err .e{display:inline}.bp-land .nx2-empty b{margin-right:6px;font-weight:700}.bp-land .nx2-empty.off{opacity:0}.bp-land .nx2-cell.rev{color:#13241a;font:600 12px/1 var(--cellfont)}.bp-land .nx2-chip:not(.fly){background:#fbfdfc;box-shadow:inset 0 -1px #e3eae6}.bp-land .nx2-chip.sum{background:#fbfdfc}@media (width<=700px){.bp-land .bw-book{overflow:visible}.bp-land .bw-book .spec{min-width:0;font-size:11.5px}.bp-land .bw-book .sgrid{--cols:20px minmax(0, 1fr) 30px 58px 74px 74px;--rows:20px 30px repeat(3, 34px) 34px}.bp-land .bw-book .s{padding:0 6px}.bp-land .bw-book .s .hic{width:12px;height:12px;margin-right:4px}.bp-land .bw-book .s .fx{font-size:10px}.bp-land .bw-book .lg{display:none}.bp-land .bw-stamp{gap:4px;padding:4px 6px;font-size:8.5px}}.bp-land .bw-server .ct .ic{width:14px;height:14px}.bp-land .bw-stamp .ic,.bp-land .bw-status .gone .ic{width:12px;height:12px}.bp-land .nx2 .mcode .ct .r{margin-left:auto}.bp-land .wb{border:1px solid var(--line-faint);border-radius:var(--r);background:var(--panel);box-shadow:var(--shadow);margin-top:48px;overflow:hidden}.bp-land .wb-bar{border-bottom:1px solid var(--line-ghost);height:44px;font:500 12.5px/1 var(--mono);color:var(--ink-2);align-items:center;gap:14px;padding:0 16px;display:flex}.bp-land .wb-file{color:var(--ink);align-items:center;gap:8px;font-weight:600;display:inline-flex}.bp-land .wb-file .ic{width:15px;height:15px;color:var(--accent)}.bp-land .wb-sheet{color:var(--ink-3)}.bp-land .wb-sheet:before{content:"›";color:var(--ink-3);margin-right:10px}.bp-land .wb-open{color:var(--accent);align-items:center;gap:6px;margin-left:auto;font-weight:600;display:inline-flex}.bp-land .wb-open .ic{width:14px;height:14px}.bp-land .wb-body{grid-template-columns:minmax(0,1fr) 264px;height:540px;display:grid}.bp-land .wb-grid{overscroll-behavior:contain;background:#fff;position:relative;overflow:auto}.bp-land .wb-grid.busy{opacity:.6}.bp-land .wb-loading{height:100%;font:500 12px/1 var(--mono);color:#7d9186;place-items:center;display:grid}.bp-land .wb-side{border-left:1px solid var(--line-ghost);flex-direction:column;gap:10px;padding:22px 22px 20px;display:flex}.bp-land .wb-side h3{font:700 19px/1.2 var(--display);color:var(--ink)}.bp-land .wb-side p{color:var(--ink-2);font-size:13.5px;line-height:1.5}.bp-land .wb-side ul{color:var(--ink);gap:7px;margin-top:4px;padding-left:16px;font-size:13.5px;line-height:1.4;display:grid}.bp-land .wb-side li::marker{color:var(--accent)}.bp-land .wb-cta{color:var(--accent);align-items:center;gap:8px;margin-top:auto;font-weight:600;display:inline-flex}.bp-land .wb-cta .ic{width:15px;height:15px}.bp-land .wb-tabs{border-top:1px solid var(--line-ghost);background:var(--panel-2);scrollbar-width:none;align-items:stretch;display:flex;overflow-x:auto}.bp-land .wb-tabs::-webkit-scrollbar{display:none}.bp-land .wb-tabs button{border-right:1px solid var(--line-ghost);font:500 13px/1 var(--cellfont);color:var(--ink-2);cursor:pointer;flex:none;padding:11px 18px;transition:background-color .2s,color .2s}.bp-land .wb-tabs button:hover{color:var(--ink);background:var(--panel)}.bp-land .wb-tabs button.on{color:var(--accent);box-shadow:inset 0 2px 0 var(--accent);background:#fff;font-weight:700}.bp-land .wb-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.bp-land .wb-all{font:500 12.5px/1 var(--mono);color:var(--ink-3);flex:none;align-items:center;margin-left:auto;padding:0 18px;display:flex}.bp-land .wb-all:hover{color:var(--accent)}@media (width<=900px){.bp-land .wb{flex-direction:column;display:flex}.bp-land .wb-bar{order:-2}.bp-land .wb-tabs{border-top:0;border-bottom:1px solid var(--line-ghost);order:-1}.bp-land .wb-tabs button.on{box-shadow:inset 0 -2px 0 var(--accent)}.bp-land .wb-all,.bp-land .wb-open{display:none}.bp-land .wb-body{grid-template-columns:minmax(0,1fr);height:auto}.bp-land .wb-grid{height:420px}.bp-land .wb-side{border-left:0;border-top:1px solid var(--line-ghost)}}.bp-land .nx-note a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}
